@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap');

/* ---------- scoped reset & tokeny (dle originálu) ---------- */
.sab-brand{
  --sab-navy:#283B54;
  --sab-dark:#1C2A3A;
  --sab-light:#EFEFEF;
  font-family:'Nunito',sans-serif;
  color:#1C1C1C;
  line-height:1.6;
  max-width:1400px;
  margin:0 auto;
  background:#fff;
}
.sab-brand *,.sab-brand *::before,.sab-brand *::after{box-sizing:border-box;margin:0;padding:0;}
.sab-brand img{max-width:100%;height:auto;display:block;}
.sab-brand a{text-decoration:none;color:inherit;}

/* ---------- hlavička značky ---------- */
.sab-brand .sab-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 28px;flex-wrap:wrap;gap:14px;border-bottom:1px solid #e8e8e8;
}
.sab-brand .sab-header img{width:150px;height:auto;}
.sab-brand .sab-claim{font-size:15px;font-weight:800;color:var(--sab-navy);}
.sab-brand .sab-header-note{font-size:13px;color:#999;}

/* ---------- hero slider (bannery 2000×500, jemný bílý přechod vlevo) ---------- */
.sab-brand .sab-slider{position:relative;width:100%;padding-top:25%;overflow:hidden;background:var(--sab-light);container-type:inline-size;}
.sab-brand .sab-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  animation:sabFade 21s infinite;
}
.sab-brand .sab-slide::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.65) 26%,rgba(255,255,255,0) 52%);
}
.sab-brand .sab-slide:nth-child(1){animation-delay:0s;}
.sab-brand .sab-slide:nth-child(2){animation-delay:7s;}
.sab-brand .sab-slide:nth-child(3){animation-delay:14s;}
@keyframes sabFade{
  0%{opacity:0;visibility:hidden}
  5%{opacity:1;visibility:visible}
  29%{opacity:1;visibility:visible}
  34%{opacity:0;visibility:hidden}
  100%{opacity:0;visibility:hidden}
}
.sab-brand .sab-sl1{background-image:url('/shop-data/campaign/sabatier/Lion_Sabatier_Provencao_Knives.png');}
.sab-brand .sab-sl2{background-image:url('/shop-data/campaign/sabatier/Lion_Sabatier_Provencao_Knife_Block.png');}
.sab-brand .sab-sl3{background-image:url('/shop-data/campaign/sabatier/sab-slide-3-knives.png');}
.sab-brand .sab-slide-text{
  position:absolute;left:4.5%;top:50%;transform:translateY(-50%);width:36%;z-index:1;
}
.sab-brand .sab-slide-text h2{
  font-size:20px;font-size:2.3cqw;font-weight:800;line-height:1.2;
  color:var(--sab-navy);margin-bottom:.7cqw;
}
.sab-brand .sab-slide-text p{font-size:11px;font-size:1.1cqw;color:#44506a;font-weight:600;margin-bottom:1.3cqw;}
.sab-brand .sab-btn{
  display:inline-block;background:var(--sab-navy);color:#fff;font-weight:800;
  font-size:11px;font-size:1cqw;letter-spacing:.1em;text-transform:uppercase;
  padding:.8cqw 2.2cqw;transition:background .25s;
}
.sab-brand .sab-btn:hover{background:var(--sab-dark);}

/* ---------- sekce ---------- */
.sab-brand .sab-section{padding:52px 28px;}
.sab-brand .sab-h2{
  font-size:28px;font-weight:800;color:var(--sab-navy);text-align:center;margin-bottom:8px;
}
.sab-brand .sab-sub{text-align:center;color:#888;font-weight:600;margin-bottom:30px;font-size:15px;}

/* ---------- kategorie (3 oficiální vizuály) ---------- */
.sab-brand .sab-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sab-brand .sab-cat{display:block;background:var(--sab-light);}
.sab-brand .sab-cat-img{aspect-ratio:1/1;overflow:hidden;}
.sab-brand .sab-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.sab-brand .sab-cat:hover .sab-cat-img img{transform:scale(1.05);}
.sab-brand .sab-cat-label{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;font-weight:800;font-size:16px;color:var(--sab-navy);
  background:#fff;border:1px solid #e8e8e8;border-top:0;transition:color .25s;
}
.sab-brand .sab-cat-label::after{content:"→";font-weight:400;transition:transform .3s;}
.sab-brand .sab-cat:hover .sab-cat-label{color:var(--sab-dark);}
.sab-brand .sab-cat:hover .sab-cat-label::after{transform:translateX(4px);}

/* ---------- anatomie nože (SVG s českými popisky) ---------- */
.sab-brand .sab-anatomy{background:var(--sab-light);padding:56px 28px;}
.sab-brand .sab-anatomy-intro{
  max-width:760px;margin:0 auto 30px;text-align:center;font-size:15.5px;color:#44506a;font-weight:600;
}
.sab-brand .sab-anatomy-svg{max-width:960px;margin:0 auto;}
.sab-brand .sab-anatomy-svg svg{width:100%;height:auto;display:block;}

/* ---------- kolekce Provençao (produktové vizuály) ---------- */
.sab-brand .sab-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.sab-brand .sab-prod{
  display:flex;flex-direction:column;background:#fff;border:1px solid #e8e8e8;
  transition:box-shadow .3s;
}
.sab-brand .sab-prod:hover{box-shadow:0 10px 26px rgba(40,59,84,.14);}
.sab-brand .sab-prod-img{aspect-ratio:1/1;overflow:hidden;}
.sab-brand .sab-prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.sab-brand .sab-prod:hover .sab-prod-img img{transform:scale(1.04);}
.sab-brand .sab-prod-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;text-align:center;}
.sab-brand .sab-prod-body h3{font-size:16px;font-weight:800;color:var(--sab-navy);}
.sab-brand .sab-prod-cat{font-size:13px;color:#999;font-weight:600;margin-bottom:10px;}
.sab-brand .sab-prod .sab-btn{margin-top:auto;font-size:12px;padding:11px 16px;text-align:center;}

/* ---------- příběh značky (navy sekce s lifestyle fotografií) ---------- */
.sab-brand .sab-story{display:flex;background:var(--sab-navy);color:#cfd8e6;}
.sab-brand .sab-story-text{flex:1 1 55%;padding:56px 48px;}
.sab-brand .sab-story-eyebrow{
  font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:#8fa5c4;margin-bottom:10px;
}
.sab-brand .sab-story-text h2{color:#fff;font-size:30px;font-weight:800;margin-bottom:18px;}
.sab-brand .sab-story-text p{font-size:15px;margin-bottom:13px;}
.sab-brand .sab-forged{
  display:flex;align-items:center;gap:16px;margin-top:24px;
  border-top:1px solid rgba(255,255,255,.18);padding-top:20px;
}
.sab-brand .sab-forged img{width:92px;height:auto;}
.sab-brand .sab-forged span{font-size:13.5px;color:#aebdd2;font-weight:600;}
.sab-brand .sab-story-img{flex:1 1 45%;min-height:420px;overflow:hidden;}
.sab-brand .sab-story-img img{width:100%;height:100%;object-fit:cover;}

/* ---------- CTA ---------- */
.sab-brand .sab-cta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--sab-dark);color:#fff;padding:32px 40px;
}
.sab-brand .sab-cta h2{color:#fff;font-size:24px;font-weight:800;}
.sab-brand .sab-cta a{
  display:inline-block;background:#fff;color:var(--sab-dark);font-weight:800;font-size:13px;
  letter-spacing:.1em;text-transform:uppercase;padding:14px 36px;
  transition:background .25s,color .25s;
}
.sab-brand .sab-cta a:hover{background:var(--sab-navy);color:#fff;}

/* ---------- responzivita ---------- */
@media (max-width:900px){
  .sab-brand .sab-prods{grid-template-columns:repeat(2,1fr);}
  .sab-brand .sab-story{flex-direction:column;}
  .sab-brand .sab-story-img{min-height:280px;}
  .sab-brand .sab-slide-text{width:46%;}
}
@media (max-width:768px){
  .sab-brand .sab-header{justify-content:center;text-align:center;}
  .sab-brand .sab-h2{font-size:23px;}
  .sab-brand .sab-cats{grid-template-columns:1fr;}
  .sab-brand .sab-story-text{padding:40px 28px;}
}
@media (max-width:520px){
  .sab-brand .sab-prods{grid-template-columns:1fr;}
  .sab-brand .sab-cta{justify-content:center;text-align:center;}
}

.sab-lbl{font-family:'Nunito',sans-serif;font-size:15px;font-weight:700;fill:#283B54;}
        .sab-ln{stroke:#8fa5c4;stroke-width:1.5;}

/* ---------- oprava dodaného CSS ---------- */
/* .sab-cat-img je <span>, tedy INLINE box: `aspect-ratio:1/1` se na něm ignoruje,
   výšku dlaždice určí obrázek a popisek pak vypadne pod ni (mimo světlé pozadí
   dlaždice). Pátý výskyt téže pasti po Hurley kartách, Argo ikonách, Solac a Girmi
   dlaždicích, proto je v runbooku jako varování. */
.sab-brand .sab-cat-img { display: block; }
/* Produktová fotka má stejný problém (obal je <span>). */
.sab-brand .sab-prod-img { display: block; }


/* ---------- 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
   vlastní titulek, takže duplicitní nadpis skryjeme. */
body:has(.sab-brand-wrapper) h1.ph-main,
body:has(.sab-brand-wrapper) h1.ph-page { display: none; }
/* vlastní H1 skrytý jen vizuálně (fragment ho jinak nemá) — brand_nadpis.py */
.sab-brand .sab-sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* Obsahový sloupec šablony je omezený na 640 px, brand page potřebuje plnou šířku. */
.max-w-xl:has(.sab-brand-wrapper) { max-width: none; }
/* Nadpisy: šablona tlačí vlastní font a u diakritiky pak padá na tučný fallback
   (řešeno u Tesly). Vynutíme Nunito i pro nadpisy uvnitř brand page. */
.sab-brand :where(h1, h2, h3, h4, h5, h6) { font-family: 'Nunito', system-ui, sans-serif; }

/* ===== mobil: čitelné písmo a text pod fotkou (scripts/mobil_css.py) ===== */
/* Lion Sabatier na telefonu (do 768 px). Písmo hero bylo v `cqw` bez spodní meze a na
   360 px vycházelo pod 8 px (kontrola_mobil.py, 2026-09-24). Fotka se nahoře ukáže
   v pásu 25 % šířky (všechny tři panoramatické fotky mají přesně tenhle poměr), text jde pod ni na plnou plochu s pevným písmem.
   `cqw` v pravidlech níž je bezpečné: měří šířku slideru, ne písmo. */
@media (max-width:768px){
  .sab-brand .sab-slider{padding-top:calc(25% + 220px);background:#fff;}
  .sab-brand .sab-slide{background-size:100% auto;background-position:center top;}
  /* bílý přechod vlevo byl podklad pro text přes fotku; text je teď pod ní */
  .sab-brand .sab-slide::before{display:none;}
  .sab-brand .sab-slide .sab-slide-text{top:25cqw;bottom:0;left:0;right:0;width:auto;
    transform:none;padding:18px 20px 22px;background:#fff;
    display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
  .sab-brand .sab-slide-text h2{font-size:21px;line-height:1.2;margin-bottom:8px;}
  .sab-brand .sab-slide-text p{font-size:14px;line-height:1.5;margin-bottom:16px;}
  .sab-brand .sab-slide-text .sab-btn{font-size:12.5px;padding:11px 22px;}

  /* SCHÉMA NOŽE. Vodorovný nůž 960×320 se sedmi popisky (15 jednotek) se na telefonu
     smrskl na ~256 px, popisky vycházely na 4 px. Zvětšit jen písmo nejde — popisky
     leží u linek a srazily by se. Schéma má proto na telefonu 600 px (popisky 9,4 px)
     a posouvá se prstem do strany; nápověda pod ním drží na místě i při posouvání.
     Chyba byla dlouho neviditelná: kontrola četla velikost písma SVG v jednotkách
     obrázku (15), ne ve skutečných pixelech (opraveno 2026-09-24). */
  .sab-brand .sab-anatomy-svg{max-width:none;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .sab-brand .sab-anatomy-svg svg{width:600px;max-width:none;}
  .sab-brand .sab-anatomy-svg::after{content:"Posuňte do strany ›";position:sticky;left:0;
    display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:#6a7a96;}
}
/* ===== konec bloku pro mobil ===== */
