@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600&display=swap');
.bel-brand{font-family:'Figtree','Proxima Nova',Arial,sans-serif;color:#1C2530;background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased;margin:0;overflow:hidden;}
.bel-brand *{box-sizing:border-box;}
.bel-brand a{color:inherit;text-decoration:none;}
.bel-brand img{display:block;max-width:100%;}
.bel-brand .bel-wrap{max-width:1400px;margin:0 auto;padding:0 20px;}
.bel-brand .bel-h2{font-size:36px;line-height:40px;font-weight:400;text-align:center;margin:0 0 16px;color:#1C2530;}
.bel-brand .bel-lead{font-size:18px;line-height:24px;color:#6A7788;text-align:center;max-width:800px;margin:0 auto 40px;}
.bel-brand .bel-btn{display:inline-block;font-size:15px;line-height:26px;font-weight:600;padding:8px 52px;border-radius:102px;text-align:center;text-transform:uppercase;letter-spacing:.02em;transition:background .2s,color .2s;}
.bel-brand .bel-btn-white{background:#fff;color:#1C2530;border:1px solid #4A4A49;}
.bel-brand .bel-btn-white:hover{background:#1C2530;color:#fff;border-color:#1C2530;}
.bel-brand .bel-btn-turq{background:#00C7B6;color:#003B36;border:1px solid #00C7B6;}
.bel-brand .bel-btn-turq:hover{background:#00a99a;border-color:#00a99a;}
.bel-brand .bel-btn-dark{background:#1C2530;color:#fff;border:1px solid #1C2530;}
.bel-brand .bel-btn-dark:hover{background:#9E3E76;border-color:#9E3E76;}
.bel-brand .bel-center{text-align:center;margin:0;}

/* header */
.bel-brand .bel-top{background:#1C2530;color:#fff;font-size:15px;line-height:18px;text-align:center;padding:8px 20px;}
.bel-brand .bel-head{background:#fff;border-bottom:1px solid #eee;}
.bel-brand .bel-head-row{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 20px;position:relative;}
.bel-brand .bel-logo{display:block;width:300px;flex:0 0 300px;margin:0 auto;}
.bel-brand .bel-logo-svg{display:block;width:300px;height:35px;}
.bel-brand .bel-count{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:14px;color:rgba(28,37,48,.75);}
.bel-brand .bel-nav{display:flex;justify-content:center;gap:0;list-style:none;margin:0;padding:0 20px;height:44px;}
.bel-brand .bel-nav a{display:block;font-size:15px;line-height:44px;padding:0 20px;color:rgba(28,37,48,.75);}
.bel-brand .bel-nav a:hover{color:#1C2530;text-decoration:underline;text-underline-offset:4px;}

/* hero: text panel left, photo right, like the 1920 x 650 banner of the template */
.bel-brand .bel-hero{display:flex;min-height:488px;background:linear-gradient(135deg,#ececef 0%,#f7f7f8 60%,#ececef 100%);}
.bel-brand .bel-hero-text{flex:0 0 46%;display:flex;flex-direction:column;justify-content:center;padding:56px 5% 56px 9%;}
.bel-brand .bel-hero-text .bel-kicker{font-size:15px;line-height:20px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#9E3E76;margin:0 0 14px;}
.bel-brand .bel-hero h1{font-size:44px;line-height:1.12;font-weight:300;margin:0 0 18px;color:#1C2530;}
.bel-brand .bel-hero h1 strong{font-weight:600;}
.bel-brand .bel-hero p{font-size:20px;line-height:28px;font-weight:400;color:#1C2530;margin:0 0 28px;max-width:460px;}
.bel-brand .bel-hero-img{flex:1 1 54%;position:relative;min-height:488px;overflow:hidden;}
.bel-brand .bel-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 30%;}
.bel-brand .bel-hero-img::before{content:"";position:absolute;left:0;top:0;bottom:0;width:120px;background:linear-gradient(to right,#f1f1f3,rgba(241,241,243,0));z-index:1;}

/* intro (content with slider block) */
.bel-brand .bel-intro{padding:46px 20px 40px;text-align:center;}
.bel-brand .bel-intro h2{font-size:36px;line-height:40px;font-weight:400;margin:0 0 20px;color:#000;}
.bel-brand .bel-intro p{font-size:18px;line-height:24px;color:#6A7788;max-width:800px;margin:0 auto 25px;}

/* category boxes */
.bel-brand .bel-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:0 20px 60px;max-width:1440px;margin:0 auto;}
.bel-brand .bel-cat{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f3e3ea;}
.bel-brand .bel-cat img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.bel-brand .bel-cat:hover img{transform:scale(1.04);}
.bel-brand .bel-cat h3{position:absolute;left:0;right:0;bottom:0;margin:0;padding:24px 20px;font-size:30px;line-height:30px;font-weight:400;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35);background:linear-gradient(to top,rgba(28,37,48,.55),rgba(28,37,48,0));}

/* product cards */
.bel-brand .bel-sec{padding:48px 0 60px;}
.bel-brand .bel-sec-grey{background:#f6f6f7;}
.bel-brand .bel-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px 9px;margin-bottom:36px;}
.bel-brand .bel-cards-3{grid-template-columns:repeat(3,1fr);max-width:1060px;margin-left:auto;margin-right:auto;}
.bel-brand .bel-card{display:block;background:#fff;padding-bottom:20px;}
.bel-brand .bel-card-img{display:block;aspect-ratio:1/1;overflow:hidden;background:#fff;margin-bottom:12px;}
.bel-brand .bel-card-img img{width:100%;height:100%;object-fit:contain;transition:transform .4s;}
.bel-brand .bel-card:hover .bel-card-img img{transform:scale(1.04);}
.bel-brand .bel-card h3{font-size:17px;line-height:23px;font-weight:500;margin:0 16px 6px;color:#000;}
.bel-brand .bel-card:hover h3{text-decoration:underline;text-underline-offset:3px;}
.bel-brand .bel-card p{font-size:14px;line-height:20px;color:#6A7788;margin:0 16px;}

/* banner grid */
.bel-brand .bel-bangrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:9px;padding:0 20px 60px;max-width:1440px;margin:0 auto;}
.bel-brand .bel-ban{position:relative;display:block;overflow:hidden;background:#e9e9ec;}
.bel-brand .bel-ban-big{grid-row:1/3;aspect-ratio:1/1;}
.bel-brand .bel-ban-wide{aspect-ratio:902/446;}
.bel-brand .bel-ban img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s;}
.bel-brand .bel-ban:hover img{transform:scale(1.03);}
.bel-brand .bel-ban-text{position:absolute;left:0;right:0;bottom:0;padding:28px 32px;background:linear-gradient(to top,rgba(28,37,48,.7),rgba(28,37,48,0));color:#fff;}
.bel-brand .bel-ban-text h3{font-size:30px;line-height:30px;font-weight:300;margin:0 0 14px;}
.bel-brand .bel-ban-text span{display:inline-block;font-size:15px;line-height:26px;font-weight:600;text-transform:uppercase;border-bottom:2px solid #fff;}

/* magenta band */
.bel-brand .bel-band{background:#9E3E76;color:#fff;text-align:center;padding:56px 20px;}
.bel-brand .bel-band h2{font-size:36px;line-height:40px;font-weight:400;margin:0 0 12px;}
.bel-brand .bel-band p{font-size:18px;line-height:24px;margin:0 auto 28px;max-width:720px;}

/* story */
.bel-brand .bel-story{padding:64px 20px 0;}
.bel-brand .bel-story-in{max-width:860px;margin:0 auto;}
.bel-brand .bel-story h2{font-size:48px;line-height:1.1;font-weight:300;margin:0 0 32px;}
.bel-brand .bel-story-img{display:block;aspect-ratio:860/576;overflow:hidden;margin:0 0 40px;background:#eee;}
.bel-brand .bel-story-img img{width:100%;height:100%;object-fit:cover;}
.bel-brand .bel-story p{font-size:18px;line-height:24px;margin:0 0 24px;}
.bel-brand .bel-story .bel-claim{font-weight:600;color:#9E3E76;}
.bel-brand .bel-values{padding:56px 20px 64px;max-width:1440px;margin:0 auto;}
.bel-brand .bel-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.bel-brand .bel-val span{display:block;aspect-ratio:522/329;overflow:hidden;background:#eee;margin-bottom:24px;}
.bel-brand .bel-val img{width:100%;height:100%;object-fit:cover;}
.bel-brand .bel-val h3{font-size:17px;line-height:23px;font-weight:500;margin:0 0 6px;color:#000;}
.bel-brand .bel-val p{font-size:14px;line-height:20px;color:#6A7788;margin:0;}
.bel-brand .bel-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-width:1440px;margin:0 auto;padding:0 20px 64px;}
.bel-brand .bel-fact{background:#f6f6f7;text-align:center;padding:28px 12px;}
.bel-brand .bel-fact strong{display:block;font-size:34px;line-height:1.1;font-weight:300;color:#9E3E76;margin-bottom:6px;}
.bel-brand .bel-fact span{font-size:14px;line-height:20px;color:#6A7788;}

/* cta */
.bel-brand .bel-cta{background:#1C2530;color:#fff;text-align:center;padding:60px 20px;}
.bel-brand .bel-cta h2{font-size:36px;line-height:40px;font-weight:400;margin:0 0 12px;}
.bel-brand .bel-cta p{font-size:18px;line-height:24px;color:#cfd4da;margin:0 auto 28px;max-width:720px;}

@media (max-width:1000px){
  .bel-brand .bel-nav a{padding:0 12px;font-size:14px;}
  .bel-brand .bel-hero h1{font-size:34px;}
  .bel-brand .bel-hero-text{padding:40px 5%;}
  .bel-brand .bel-cats,.bel-brand .bel-cards,.bel-brand .bel-values-grid,.bel-brand .bel-facts{grid-template-columns:repeat(2,1fr);}
  .bel-brand .bel-cards-3{grid-template-columns:repeat(3,1fr);}
  .bel-brand .bel-cat h3,.bel-brand .bel-ban-text h3{font-size:24px;line-height:26px;}
}
@media (max-width:760px){
  .bel-brand .bel-count{display:none;}
  .bel-brand .bel-logo{width:220px;flex:0 0 220px;}
  .bel-brand .bel-logo-svg{width:220px;height:26px;}
  .bel-brand .bel-nav{flex-wrap:wrap;height:auto;padding:4px 8px 8px;}
  .bel-brand .bel-nav a{line-height:34px;padding:0 10px;font-size:13px;}
  .bel-brand .bel-hero{flex-direction:column-reverse;min-height:0;}
  .bel-brand .bel-hero-img{flex:none;min-height:0;aspect-ratio:4/3;}
  .bel-brand .bel-hero-img::before{display:none;}
  .bel-brand .bel-hero-text{flex:none;padding:32px 20px 36px;text-align:center;align-items:center;}
  .bel-brand .bel-hero h1{font-size:30px;}
  .bel-brand .bel-hero p{font-size:17px;line-height:24px;}
  .bel-brand .bel-btn{padding:8px 32px;}
  .bel-brand .bel-h2,.bel-brand .bel-intro h2,.bel-brand .bel-band h2,.bel-brand .bel-cta h2{font-size:28px;line-height:34px;}
  .bel-brand .bel-story h2{font-size:34px;}
  .bel-brand .bel-cards,.bel-brand .bel-cards-3{grid-template-columns:repeat(2,1fr);}
  .bel-brand .bel-card h3,.bel-brand .bel-card p{margin-left:8px;margin-right:8px;}
  .bel-brand .bel-card h3{font-size:15px;line-height:20px;}
  .bel-brand .bel-bangrid{grid-template-columns:1fr;grid-template-rows:auto;}
  .bel-brand .bel-ban-big{grid-row:auto;}
  .bel-brand .bel-ban-text{padding:20px;}
  .bel-brand .bel-story{padding-top:48px;}
}
@media (max-width:520px){
  .bel-brand .bel-cats,.bel-brand .bel-values-grid{grid-template-columns:1fr;}
  .bel-brand .bel-facts{grid-template-columns:1fr 1fr;}
  .bel-brand .bel-cat h3{font-size:26px;}
}

/* ---------- guardy šablony Upgates (stejné jako u ostatních brand pages) ---------- */
/* Šablona kategorie vykresluje nad obsahem vlastní H1 s názvem stránky; hero má svůj
   titulek. Selektor míří na `ph-page` i na starší `ph-main`, šablona třídu přejmenovala. */
body:has(.bel-brand-wrapper) h1.ph-main,
body:has(.bel-brand-wrapper) h1.ph-page { display: none; }
/* Obsahový sloupec šablony je úzký, brand page potřebuje plnou šířku. */
.max-w-xl:has(.bel-brand-wrapper) { max-width: none; }
/* Šablona má vlastní pravidlo pro h1–h4 (Myriad) a to přebije dědění z wrapperu. */
.bel-brand :where(h1, h2, h3, h4, h5, h6) { font-family: 'Figtree', 'Proxima Nova', Arial, sans-serif; }

/* ---------- produkty vždy na čistě bílé (pravidlo e-shopu) ---------- */
/* Balíček dal žehličky na šedé #f6f6f7; karty dostanou jemný rámeček. */
.bel-brand .bel-sec-grey { background: #fff; }
.bel-brand .bel-card { border: 1px solid #ececec; }

/* ---------- tlačítka pod sekcemi (doplněná, vedou na skupiny) ---------- */
.bel-brand .bel-btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0; }

/* ---------- mřížky mobile-first (zlomy šablony Upgates 992 / 1204) ---------- */
/* Balíček šel od 4 dolů (1000 / 760 / 520 px, dlaždice kategorií na mobilu po jedné).
   Tady výchozí 2 v řadě: čtyři karty 2 → 4, tři 2 → 3, šest karet péče o tělo 2 → 3 → 6. */
.bel-brand .bel-cards, .bel-brand .bel-cards-3,
.bel-brand .bel-cats, .bel-brand .bel-values-grid, .bel-brand .bel-facts { grid-template-columns: repeat(2, 1fr); }
.bel-brand .bel-cat h3 { font-size: 20px; line-height: 22px; padding: 16px 12px; }
@media (min-width: 992px) {
  .bel-brand .bel-cards, .bel-brand .bel-cats,
  .bel-brand .bel-values-grid, .bel-brand .bel-facts { grid-template-columns: repeat(4, 1fr); }
  .bel-brand .bel-cards-3 { grid-template-columns: repeat(3, 1fr); }
  .bel-brand .bel-cat h3 { font-size: 30px; line-height: 30px; padding: 24px 20px; }
}
@media (min-width: 1204px) {
  .bel-brand .bel-cards-6 { grid-template-columns: repeat(6, 1fr); max-width: none; }
}

/* ---------- bannery na mobilu: text pod fotkou ---------- */
/* Sloupec šablony je na telefonu užší než náhled (~273 px při 360 px) a nadpis přes
   široký banner 902:446 se do výšky 135 px nevešel (kontrola_mobil.py na živé
   /cz/bellissima, 2026-09-29). Pod 760 px proto fotka nahoře a text na tmavém pod ní. */
@media (max-width: 759px) {
  .bel-brand .bel-ban, .bel-brand .bel-ban-big, .bel-brand .bel-ban-wide { aspect-ratio: auto; background: #1C2530; }
  .bel-brand .bel-ban img { position: static; height: auto; aspect-ratio: 902 / 446; }
  .bel-brand .bel-ban-big img { aspect-ratio: 1 / 1; }
  .bel-brand .bel-ban-text { position: static; background: #1C2530; padding: 16px 20px 20px; }
  .bel-brand .bel-ban-text h3 { font-size: 20px; line-height: 24px; margin: 0 0 10px; }
}
