/*
Theme Name: Sahra
Theme URI: https://srv113541.seohost.com.pl
Author: Sahra Art
Author URI: https://srv113541.seohost.com.pl
Description: SAHRA — Ręcznie tkane dywany berberyjskie. Custom WooCommerce theme.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary
Text Domain: sahra
WC requires at least: 8.0
WC tested up to: 9.0
*/

:root{
  --sahra-black:#0a0a0a;
  --sahra-ink:#1a1a1a;
  --sahra-cream:#faf7f2;
  --sahra-sand:#ede4d3;
  --sahra-paper:#f5f0e6;
  --sahra-muted:#8a7f6f;
  --sahra-line:#dcd2bf;
  --sahra-red:#E63312;
  --sahra-gold:#C69420;
  --sahra-gold-light:#FBC205;
  --font-display:'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:'Manrope', -apple-system, sans-serif;
  --ease:cubic-bezier(.22,.9,.28,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--sahra-ink);
  background:var(--sahra-cream);
  font-size:15px;
  line-height:1.6;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ======================== TOPBAR */
.topbar{
  background:var(--sahra-black);
  color:var(--sahra-cream);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:10px 0;
  text-align:center;
  font-weight:300;
  overflow:hidden;white-space:nowrap;
}
.topbar-static{display:inline-block;white-space:nowrap}
.topbar-marquee{display:none}
.topbar .diamond{
  display:inline-block;width:6px;height:6px;
  background:var(--sahra-red);
  transform:rotate(45deg);
  margin:0 14px;
  position:relative;top:-1px;
}
@media(max-width:768px){
  .topbar-static{display:none}
  .topbar-marquee{display:flex;width:100%;overflow:hidden;white-space:nowrap;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}
  .topbar-track{flex-shrink:0;width:max-content;white-space:nowrap;
    animation:sahra-marquee 22s linear infinite}
  .topbar-track > span.topbar-item{display:inline-block;padding:0 22px;white-space:nowrap}
  @keyframes sahra-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
}

/* ======================== HEADER */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(250,247,242,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--sahra-line);
  transition:box-shadow .3s var(--ease);
}
.header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.header-inner{
  max-width:1440px;margin:0 auto;
  padding:10px 48px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;gap:40px;
}
.nav-left,.nav-right{display:flex;gap:22px;align-items:center}
.nav-right{justify-content:flex-end}
.nav-link{
  font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;
  color:var(--sahra-ink);
  transition:color .3s var(--ease);
  position:relative;padding:6px 0;
}
.nav-link:hover{color:var(--sahra-red)}
.nav-link::after{
  content:"";position:absolute;left:0;bottom:0;
  width:0;height:1px;background:var(--sahra-red);
  transition:width .35s var(--ease);
}
.nav-link:hover::after{width:100%}
.logo{display:flex;justify-content:center;align-items:center;padding:4px 12px}
.logo img{height:48px;width:auto;display:block}
.icon-btn{
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--sahra-ink);
  transition:color .3s var(--ease);
}
.icon-btn:hover{color:var(--sahra-red)}
.icon-btn svg{width:18px;height:18px}
.cart-count-wrap{position:relative}
.cart-count-wrap .cart-bubble{
  position:absolute;top:-2px;right:-4px;
  width:14px;height:14px;
  background:var(--sahra-red);color:#fff;
  border-radius:50%;
  font-size:9px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-body);
}

/* Mobile menu button */
.mobile-menu-btn{display:none}
@media(max-width:1024px){
  .mobile-menu-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;padding:0;
    color:var(--sahra-ink);border:none;background:transparent;
    cursor:pointer;line-height:1;transition:color .25s var(--ease);
  }
  .mobile-menu-btn:hover{color:var(--sahra-red)}
  .mobile-menu-btn-icon{
    position:relative;display:inline-block;width:22px;height:16px;
  }
  .mobile-menu-btn-icon span{
    position:absolute;left:0;display:block;height:1.5px;width:100%;
    background:currentColor;border-radius:2px;
    transition:transform .3s var(--ease),opacity .2s var(--ease),top .3s var(--ease);
  }
  .mobile-menu-btn-icon span:nth-child(1){top:0}
  .mobile-menu-btn-icon span:nth-child(2){top:50%;transform:translateY(-50%)}
  .mobile-menu-btn-icon span:nth-child(3){top:100%;transform:translateY(-100%)}
  .mobile-menu-btn[aria-expanded="true"] .mobile-menu-btn-icon span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}
  .mobile-menu-btn[aria-expanded="true"] .mobile-menu-btn-icon span:nth-child(2){opacity:0}
  .mobile-menu-btn[aria-expanded="true"] .mobile-menu-btn-icon span:nth-child(3){top:50%;transform:translateY(-50%) rotate(-45deg)}
  .nav-left .nav-link,.nav-right .nav-link{display:none}
  .nav-right .icon-btn[aria-label="Wyszukaj"]{display:none}
  .header-inner{grid-template-columns:1fr auto 1fr}
  .logo img{height:120px;margin:-24px 0}
}

/* Mobile menu panel */
.mobile-menu-panel{position:fixed;inset:0;z-index:1000;pointer-events:none}
.mobile-menu-panel.is-open{pointer-events:auto}
.mobile-menu-backdrop{position:absolute;inset:0;background:rgba(20,16,12,.45);opacity:0;transition:opacity .3s var(--ease)}
.mobile-menu-panel.is-open .mobile-menu-backdrop{opacity:1}
.mobile-menu-drawer{
  position:absolute;top:0;right:0;bottom:0;
  width:min(86vw,360px);
  background:var(--sahra-cream);
  border-left:1px solid var(--sahra-line);
  box-shadow:-20px 0 60px -20px rgba(0,0,0,.25);
  transform:translateX(100%);
  transition:transform .35s var(--ease);
  display:flex;flex-direction:column;
}
.mobile-menu-panel.is-open .mobile-menu-drawer{transform:translateX(0)}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--sahra-line)}
.mobile-menu-title{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--sahra-ink)}
.mobile-menu-close{background:none;border:none;cursor:pointer;font-size:28px;line-height:1;color:var(--sahra-ink);padding:0 4px;transition:color .25s var(--ease)}
.mobile-menu-close:hover{color:var(--sahra-red)}
.mobile-menu-nav{display:flex;flex-direction:column;padding:12px 0}
.mobile-menu-nav a{display:block;padding:16px 24px;font-size:15px;letter-spacing:.06em;color:var(--sahra-ink);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.05);transition:color .25s var(--ease),background .25s var(--ease)}
.mobile-menu-nav a:hover{color:var(--sahra-red);background:rgba(0,0,0,.02)}

/* ======================== HERO */
.hero{
  position:relative;height:92vh;min-height:720px;
  overflow:hidden;background:var(--sahra-black);
}
.hero-bg{
  position:absolute;inset:-20% 0 -20% 0;
  background-image:url('/wp-content/themes/sahra/img/hero-rug.jpg');
  background-size:cover;background-position:center 45%;
  will-change:transform;
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.5) 50%,rgba(10,10,10,.78) 100%);
}
.hero-content{
  position:relative;z-index:2;max-width:1440px;margin:0 auto;
  padding:0 48px;height:100%;display:flex;flex-direction:column;
  justify-content:flex-end;padding-bottom:100px;color:var(--sahra-cream);
}
.hero-eyebrow{
  font-size:11px;letter-spacing:.4em;text-transform:uppercase;
  margin-bottom:28px;font-weight:400;opacity:.9;
  display:flex;align-items:center;gap:14px;
}
.hero-eyebrow::before{content:"";width:40px;height:1px;background:var(--sahra-red)}
.hero-title{
  font-family:var(--font-display);font-size:clamp(52px,6.5vw,96px);
  font-weight:300;line-height:.98;letter-spacing:-.015em;
  max-width:900px;margin-bottom:32px;
}
.hero-title em{font-style:italic;color:var(--sahra-cream);position:relative}
.hero-title em::before{
  content:"";position:absolute;left:-30px;top:50%;
  width:14px;height:14px;background:var(--sahra-red);
  transform:translateY(-50%) rotate(45deg);opacity:0;
  animation:diamondIn 1.2s .8s var(--ease) forwards;
}
@keyframes diamondIn{to{opacity:1}}
.hero-sub{
  font-family:var(--font-display);font-size:20px;font-style:italic;
  font-weight:300;max-width:560px;line-height:1.5;opacity:.92;margin-bottom:48px;
}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:16px 36px;font-size:11px;letter-spacing:.25em;
  text-transform:uppercase;font-weight:500;
  transition:all .4s var(--ease);border:1px solid transparent;
}
.btn-primary{background:var(--sahra-red);color:#fff}
.btn-primary:hover{background:var(--sahra-black);transform:translateY(-2px);box-shadow:0 12px 30px rgba(230,51,18,.3)}
.btn-ghost{background:transparent;color:var(--sahra-cream);border-color:rgba(250,247,242,.4)}
.btn-ghost:hover{border-color:var(--sahra-cream);background:rgba(250,247,242,.08)}
.btn svg{width:14px;height:14px}
.scroll-indicator{
  position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  color:var(--sahra-cream);font-size:10px;letter-spacing:.3em;
  text-transform:uppercase;opacity:.7;z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:16px;
}
.scroll-line{
  width:1px;height:50px;
  background:linear-gradient(to bottom,transparent,var(--sahra-cream));
  animation:scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%,100%{transform:scaleY(.5);opacity:.4;transform-origin:top}
  50%{transform:scaleY(1);opacity:.9;transform-origin:top}
}

/* ======================== INTRO */
.intro{padding:160px 48px 120px;background:var(--sahra-cream);text-align:center}
.intro-inner{max-width:780px;margin:0 auto}
.intro-diamond{width:16px;height:16px;background:var(--sahra-red);transform:rotate(45deg);margin:0 auto 48px}
.intro h2{font-family:var(--font-display);font-size:clamp(36px,3.8vw,54px);font-weight:300;line-height:1.15;letter-spacing:-.01em;margin-bottom:40px;color:var(--sahra-black)}
.intro h2 em{font-style:italic;color:var(--sahra-red)}
.intro p{font-family:var(--font-display);font-size:21px;font-style:italic;font-weight:300;line-height:1.65;color:var(--sahra-ink);margin-bottom:24px}
.intro p:last-of-type{font-size:17px;color:var(--sahra-muted);margin-top:40px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}

/* ======================== EDITORIAL */
.editorial{padding:40px 48px 120px;background:var(--sahra-cream)}
.editorial-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px}
.edit-card{position:relative;overflow:hidden}
.edit-card.tall{aspect-ratio:3/4}
.edit-card.wide{aspect-ratio:3/4;margin-top:80px}
.edit-card img{position:absolute;top:-20%;left:0;width:100%;height:140%;object-fit:cover;will-change:transform;transform:translate3d(0,0,0)}
.edit-card.wide img{top:0;height:100%;object-fit:cover;object-position:center center}
.edit-meta{position:absolute;bottom:32px;left:32px;right:32px;color:#fff;z-index:2}
.edit-meta small{font-size:10px;letter-spacing:.3em;text-transform:uppercase;display:block;margin-bottom:12px;opacity:.85}
.edit-meta h3{font-family:var(--font-display);font-size:36px;font-weight:400;line-height:1;font-style:italic}
.edit-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.6) 100%);pointer-events:none}

/* ======================== SECTION HEADER */
.section-header{max-width:1440px;margin:0 auto 72px;display:flex;justify-content:space-between;align-items:flex-end;gap:48px}
.section-header-text small{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--sahra-red);font-weight:500;display:flex;align-items:center;gap:12px;margin-bottom:20px}
.section-header-text small::before{content:"";width:8px;height:8px;background:var(--sahra-red);transform:rotate(45deg)}
.section-header-text h2{font-family:var(--font-display);font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.05;letter-spacing:-.015em}
.section-header-text h2 em{font-style:italic;color:var(--sahra-muted)}
.section-link{font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--sahra-black);transition:all .3s var(--ease)}
.section-link:hover{color:var(--sahra-red);border-color:var(--sahra-red);gap:16px}

/* ======================== BESTSELLERS */
.bestsellers{padding:120px 48px;background:var(--sahra-paper);position:relative}
.products{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.bestsellers .products-carousel{position:relative;max-width:1440px;margin:0 auto}
.bestsellers .products-carousel .products{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 4px 24px;scrollbar-width:none}
.bestsellers .products-carousel .products::-webkit-scrollbar{display:none}
.bestsellers .products-carousel .product{flex:0 0 calc((100% - 32px * 3) / 4);scroll-snap-align:start}
.carousel-btn{position:absolute;top:38%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:var(--sahra-cream);color:var(--sahra-black);border:1px solid var(--sahra-black);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:background .3s var(--ease),color .3s var(--ease);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.carousel-btn:hover{background:var(--sahra-black);color:var(--sahra-cream)}
.carousel-btn svg{width:18px;height:18px}
.carousel-btn.prev{left:-22px}
.carousel-btn.next{right:-22px}
.carousel-btn:disabled{opacity:.3;cursor:not-allowed}

/* ======================== PRODUCT CARD */
.product{position:relative;cursor:pointer}
.product-img{aspect-ratio:4/5;overflow:hidden;background:var(--sahra-sand);margin-bottom:18px;position:relative}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.product:hover .product-img img{transform:scale(1.06)}
.product-badge{position:absolute;top:16px;left:16px;background:var(--sahra-cream);color:var(--sahra-black);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px;font-weight:500;z-index:2}
.product-badge.limited{background:var(--sahra-red);color:#fff}
.quick-add{position:absolute;bottom:0;left:0;right:0;background:var(--sahra-black);color:#fff;padding:14px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:500;text-align:center;transform:translateY(100%);transition:transform .4s var(--ease)}
.product:hover .quick-add{transform:translateY(0)}
.product-name{font-family:var(--font-display);font-size:22px;font-weight:500;margin-bottom:4px;letter-spacing:-.005em}
.product-dim{font-size:12px;color:var(--sahra-muted);letter-spacing:.08em;margin-bottom:10px}
.product-price{font-size:14px;font-weight:600;letter-spacing:.02em}

/* ======================== STORY SECTION */
.story{
  background:radial-gradient(ellipse 80% 60% at 20% 20%,#1a1412 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 85% 85%,#1a0f0d 0%,transparent 55%),linear-gradient(135deg,#0a0a0a 0%,#050505 50%,#0a0a0a 100%);
  color:var(--sahra-cream);padding:140px 48px;position:relative;overflow:hidden;
}
.story-diamond{position:absolute;background:var(--sahra-red);transform:rotate(45deg);pointer-events:none;z-index:1}
.story-diamond.d1{width:180px;height:180px;top:8%;left:6%;opacity:.08;filter:blur(2px)}
.story-diamond.d2{width:90px;height:90px;top:62%;left:42%;opacity:.12}
.story-diamond.d3{width:240px;height:240px;top:55%;left:-60px;opacity:.05;filter:blur(3px)}
.story-diamond.d4{width:60px;height:60px;top:18%;right:38%;opacity:.2;border:1px solid var(--sahra-red);background:transparent}
.story-diamond.d5{width:120px;height:120px;bottom:12%;right:8%;opacity:.1}
.story-diamond.d6{width:24px;height:24px;top:30%;left:38%;opacity:.55}
.story-diamond.d7{width:40px;height:40px;bottom:28%;left:52%;opacity:.28;border:1px solid var(--sahra-red);background:transparent}
.story-inner{max-width:1440px;margin:0 auto;position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.story-text small{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--sahra-red);display:flex;align-items:center;gap:14px;margin-bottom:32px}
.story-text small::before{content:"";width:40px;height:1px;background:var(--sahra-red)}
.story-text h2{font-family:var(--font-display);font-size:clamp(40px,4.5vw,64px);font-weight:300;line-height:1.05;margin-bottom:36px;letter-spacing:-.015em}
.story-text h2 em{font-style:italic}
.story-text p{font-size:16px;line-height:1.8;color:rgba(250,247,242,.8);margin-bottom:24px;max-width:520px}
.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:56px;padding-top:40px;border-top:1px solid rgba(250,247,242,.15);max-width:520px}
.story-stat strong{font-family:var(--font-display);font-size:48px;font-weight:300;display:block;color:var(--sahra-cream);line-height:1;margin-bottom:10px}
.story-stat strong em{font-style:italic;color:var(--sahra-red);font-size:.7em;vertical-align:super}
.story-stat span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(250,247,242,.55)}
.story-image{position:relative;aspect-ratio:4/5;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.story-image img{width:100%;height:115%;object-fit:cover;will-change:transform;transition:transform .1s linear}
.story-image::before{content:"";position:absolute;top:-1px;left:-1px;width:80px;height:80px;border-top:1px solid var(--sahra-red);border-left:1px solid var(--sahra-red);z-index:2}
.story-image::after{content:"";position:absolute;bottom:-1px;right:-1px;width:80px;height:80px;border-bottom:1px solid var(--sahra-red);border-right:1px solid var(--sahra-red);z-index:2}

/* ======================== CUSTOM ORDER */
.custom{padding:120px 48px;background:var(--sahra-cream);text-align:center;border-bottom:1px solid var(--sahra-line)}
.custom-inner{max-width:820px;margin:0 auto}
.custom small{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--sahra-red);font-weight:500;display:block;margin-bottom:24px}
.custom h2{font-family:var(--font-display);font-size:clamp(40px,4.5vw,64px);font-weight:300;line-height:1.1;letter-spacing:-.015em;margin-bottom:32px}
.custom h2 em{font-style:italic;color:var(--sahra-red)}
.custom p{font-family:var(--font-display);font-size:20px;font-style:italic;line-height:1.6;color:var(--sahra-ink);font-weight:300;margin-bottom:20px;max-width:640px;margin-left:auto;margin-right:auto}
.custom .btn{margin-top:32px}
.custom-time{margin-top:24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sahra-muted)}

/* ======================== BENEFITS */
.benefits{background:var(--sahra-black);color:var(--sahra-cream);padding:36px 48px}
.benefits-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.benefit{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.08em}
.benefit svg{width:24px;height:24px;color:var(--sahra-red);flex-shrink:0}
.benefit strong{font-weight:500;display:block;margin-bottom:2px;letter-spacing:.12em;text-transform:uppercase;font-size:10px}
.benefit span{font-size:11px;color:rgba(250,247,242,.65);line-height:1.4}

/* ======================== FAQ */
.faq-section{padding:140px 48px;background:var(--sahra-paper)}
.faq-section .section-header{max-width:1100px;margin:0 auto 64px}
.faq-list{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{background:var(--sahra-cream);border:1px solid var(--sahra-line);border-radius:2px;overflow:hidden;transition:border-color .3s var(--ease),background .3s var(--ease)}
.faq-item.is-open{border-color:var(--sahra-ink)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;font-family:var(--font-display);font-size:20px;font-weight:300;color:var(--sahra-ink);letter-spacing:-.005em;text-align:left;background:none;border:none;cursor:pointer;transition:color .3s var(--ease)}
.faq-question:hover{color:var(--sahra-red)}
.faq-question svg{width:22px;height:22px;flex-shrink:0;transition:transform .4s var(--ease),color .3s var(--ease);color:var(--sahra-muted)}
.faq-item.is-open .faq-question svg{transform:rotate(180deg);color:var(--sahra-red)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s var(--ease),padding .4s var(--ease);padding:0 32px}
.faq-item.is-open .faq-answer{max-height:1000px;padding:0 32px 28px}
.faq-answer p,.faq-answer li{font-family:var(--font-body);font-size:15px;line-height:1.75;color:var(--sahra-ink)}
.faq-answer ul{margin:10px 0 10px 20px}
.faq-answer li{margin-bottom:8px}

/* ======================== NEWSLETTER */
.newsletter{padding:120px 48px;background:var(--sahra-sand);text-align:center}
.newsletter-inner{max-width:620px;margin:0 auto}
.newsletter h2{font-family:var(--font-display);font-size:clamp(32px,3.5vw,44px);font-weight:300;line-height:1.15;margin-bottom:20px;letter-spacing:-.01em}
.newsletter h2 em{font-style:italic;color:var(--sahra-red)}
.newsletter p{color:var(--sahra-muted);font-size:15px;line-height:1.65;margin-bottom:40px}
.newsletter-.newsletter-form form{display:flex;gap:0;border-bottom:1px solid var(--sahra-black);padding-bottom:4px}
.newsletter-form .newsletter-form input{flex:1;border:none;background:transparent;padding:14px 4px;font-family:var(--font-body);font-size:14px;color:var(--sahra-ink);outline:none;letter-spacing:.02em}
.newsletter-form input::placeholder{color:var(--sahra-muted)}
.newsletter-form button{padding:14px 24px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:600;color:var(--sahra-black);transition:color .3s var(--ease)}
.newsletter-form button:hover{color:var(--sahra-red)}
.newsletter-consent{font-size:11px;color:var(--sahra-muted);margin-top:16px;letter-spacing:.02em}

/* ======================== FOOTER */
.footer{background:var(--sahra-black);color:var(--sahra-cream);padding:80px 48px 24px}
.footer-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(250,247,242,.1)}
.footer-brand p{font-size:14px;color:rgba(250,247,242,.6);line-height:1.7;max-width:320px;margin-bottom:24px}
.footer-brand .footer-logo{height:32px;margin-bottom:24px;filter:brightness(0) invert(1)}
.socials{display:flex;gap:12px}
.social-btn{width:38px;height:38px;border:1px solid rgba(250,247,242,.2);display:inline-flex;align-items:center;justify-content:center;transition:all .3s var(--ease)}
.social-btn:hover{border-color:var(--sahra-red);background:var(--sahra-red)}
.social-btn svg{width:14px;height:14px}
.footer-col h4{font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:22px;color:var(--sahra-cream);font-weight:600}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.footer-col a{font-size:13px;color:rgba(250,247,242,.6);transition:color .3s var(--ease);letter-spacing:.01em}
.footer-col a:hover{color:var(--sahra-red)}
.payments{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pay-badge{border:1px solid rgba(250,247,242,.2);padding:6px 12px;font-size:10px;letter-spacing:.1em;font-weight:600;color:rgba(250,247,242,.75);display:inline-flex;align-items:center;gap:6px}
.pay-badge.blik{color:#E63312;border-color:rgba(230,51,18,.4)}
.footer-bottom{max-width:1440px;margin:40px auto 0;padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(250,247,242,.4);letter-spacing:.05em;flex-wrap:wrap;gap:16px}
.footer-bottom a{color:rgba(250,247,242,.5);margin:0 8px}
.footer-bottom a:hover{color:var(--sahra-red)}

/* ======================== FADE ANIMATIONS */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* ======================== SHOP PAGE */
.shop-hero{padding:80px 48px 40px;background:var(--sahra-paper);border-bottom:1px solid var(--sahra-line);text-align:center}
.shop-hero-inner{max-width:560px;margin:0 auto}
.shop-hero small{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--sahra-red);font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:24px}
.shop-hero small::before,.shop-hero small::after{content:"";width:28px;height:1px;background:var(--sahra-red)}
.shop-hero h1{font-family:var(--font-display);font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.05;letter-spacing:-.02em;margin-bottom:24px}
.shop-hero h1 em{font-style:italic;color:var(--sahra-muted)}
.shop-hero p{font-size:16px;color:var(--sahra-muted);max-width:460px;margin:0 auto;line-height:1.7}
.shop-layout{max-width:1440px;margin:0 auto;padding:48px 48px 120px;display:flex;align-items:flex-start;gap:56px}
.shop-sidebar{position:sticky;top:96px;flex:0 0 260px;width:260px;border-right:1px solid var(--sahra-line);padding-right:32px;max-height:calc(100vh - 120px);overflow-y:auto}
.shop-sidebar::-webkit-scrollbar{width:4px}
.shop-sidebar::-webkit-scrollbar-thumb{background:var(--sahra-line)}
.sidebar-title{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--sahra-red);font-weight:500;margin-bottom:28px;display:flex;justify-content:space-between;align-items:center}
.sidebar-title button{background:none;border:none;cursor:pointer;font-size:10px;letter-spacing:.18em;color:var(--sahra-muted);text-transform:uppercase}
.sidebar-title button:hover{color:var(--sahra-black)}
.filter-block{border-top:1px solid var(--sahra-line);padding:22px 0}
.filter-block:last-child{border-bottom:1px solid var(--sahra-line)}
.filter-label{font-family:var(--font-display);font-size:18px;font-weight:500;margin-bottom:16px;letter-spacing:-.005em}
.filter-search{width:100%;padding:10px 12px;border:1px solid var(--sahra-line);background:transparent;font-family:inherit;font-size:13px;color:var(--sahra-ink);outline:none;transition:border-color .25s var(--ease)}
.filter-search:focus{border-color:var(--sahra-black)}
.filter-select{width:100%;padding:10px 12px;border:1px solid var(--sahra-line);background:transparent;font-family:inherit;font-size:13px;color:var(--sahra-ink);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23272828' stroke-width='1.5'><path d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;transition:border-color .25s var(--ease)}
.filter-select:focus{border-color:var(--sahra-black)}
.range-row{display:flex;gap:8px;margin-bottom:10px}
.range-row input{width:100%;padding:9px 10px;border:1px solid var(--sahra-line);background:transparent;font-family:inherit;font-size:12px;color:var(--sahra-ink);outline:none;transition:border-color .25s var(--ease)}
.range-row input:focus{border-color:var(--sahra-black)}
.range-hint{font-size:11px;color:var(--sahra-muted);letter-spacing:.05em}
.color-list{display:flex;flex-direction:column;gap:10px}
.color-list label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sahra-ink);cursor:pointer;letter-spacing:.02em}
.color-list input[type="checkbox"],.color-list input[type="radio"]{appearance:none;width:14px;height:14px;border:1px solid var(--sahra-line);background:transparent;cursor:pointer;position:relative;transition:all .2s var(--ease);flex-shrink:0}
.color-list input[type="checkbox"]:checked,.color-list input[type="radio"]:checked{background:var(--sahra-black);border-color:var(--sahra-black)}
.color-list input[type="checkbox"]:checked::after,.color-list input[type="radio"]:checked::after{content:"";position:absolute;left:3px;top:0px;width:5px;height:9px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.shop-main{flex:1 1 auto;min-width:0;width:100%}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:18px;border-bottom:1px solid var(--sahra-line)}
.filter-count{font-size:12px;color:var(--sahra-muted);letter-spacing:.1em}
.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.active-chips:empty{display:none}
.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;border:1px solid var(--sahra-line);background:var(--sahra-paper);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sahra-ink);font-weight:500;cursor:pointer;font-family:inherit;transition:all .25s var(--ease)}
.chip:hover{border-color:var(--sahra-black);background:var(--sahra-black);color:var(--sahra-cream)}
.chip svg{width:10px;height:10px;stroke-width:2}
.chip-clear{border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--sahra-muted)}
.chip-clear:hover{background:transparent;color:var(--sahra-red);border-color:transparent}
.filter-toggle-mobile{display:none;background:none;border:1px solid var(--sahra-line);padding:10px 16px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:var(--sahra-ink);font-family:inherit}
.shop-main .products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:32px;max-width:none !important;margin:0 !important;width:100%}
.no-results{padding:60px 0;text-align:center;color:var(--sahra-muted);font-size:14px;letter-spacing:.05em}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:48px 0 0;flex-wrap:wrap}
.pagination button{min-width:38px;height:38px;padding:0 12px;border:1px solid var(--sahra-line);background:transparent;color:var(--sahra-ink);font-family:inherit;font-size:13px;letter-spacing:.05em;cursor:pointer;border-radius:2px;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.pagination button:hover:not(:disabled){background:var(--sahra-ink);color:var(--sahra-cream);border-color:var(--sahra-ink)}
.pagination button.is-active{background:var(--sahra-ink);color:var(--sahra-cream);border-color:var(--sahra-ink);font-weight:600}
.pagination button:disabled{opacity:.35;cursor:not-allowed}
.pagination .pg-ellipsis{padding:0 6px;color:var(--sahra-muted);font-size:13px}
@keyframes shopFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.shop-main .product.is-animating{animation:shopFadeIn .4s var(--ease) both}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:199}

/* ======================== PRODUCT SINGLE */
.product-page{max-width:1440px;margin:0 auto;padding:60px 48px 100px;display:grid;grid-template-columns:1.4fr 1fr;gap:64px}
.gallery{display:flex;flex-direction:column;gap:12px;position:sticky;top:90px;align-self:start}
.gallery-main{background:var(--sahra-sand);overflow:hidden;position:relative;cursor:default;display:flex;align-items:center;justify-content:center}
.gallery-main img{width:100%;height:auto;max-height:700px;object-fit:contain;transition:none}
.gallery-main:hover img{transform:none}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.gallery-thumb{aspect-ratio:1/1;background:var(--sahra-sand);overflow:hidden;cursor:pointer;border:1px solid transparent;transition:border .25s var(--ease)}
.gallery-thumb.active{border-color:var(--sahra-red)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.product-info{padding-top:12px}
.product-info .breadcrumb{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sahra-muted);margin-bottom:24px}
.product-info .breadcrumb a:hover{color:var(--sahra-red)}
.product-info h1{font-family:var(--font-display);font-size:clamp(36px,3.5vw,52px);font-weight:300;line-height:1.1;letter-spacing:-.015em;margin-bottom:14px}
.product-info h1 em{font-style:italic;color:var(--sahra-muted)}
.product-info .meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sahra-muted);margin-bottom:32px}
.product-info .price{font-family:var(--font-display);font-size:36px;font-weight:400;margin-bottom:8px}
.product-info .price-note{font-size:12px;color:var(--sahra-muted);letter-spacing:.05em;margin-bottom:36px}
.product-info .lead{font-family:var(--font-display);font-style:italic;font-size:18px;line-height:1.7;color:var(--sahra-ink);margin-bottom:36px;font-weight:300}
.qty-row{display:flex;gap:16px;margin-bottom:16px}
.qty{display:flex;align-items:center;border:1px solid var(--sahra-line)}
.qty button{width:44px;height:48px;font-size:16px}
.qty input{width:48px;height:48px;text-align:center;border:none;background:transparent;font-family:var(--font-body);font-size:14px;outline:none}
.add-to-cart{flex:1;background:var(--sahra-black);color:var(--sahra-cream);padding:16px 28px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:600;transition:background .3s var(--ease)}
.add-to-cart:hover{background:var(--sahra-red)}
.wishlist-btn{width:48px;height:48px;border:1px solid var(--sahra-line);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);flex-shrink:0}.wishlist-btn svg{width:22px;height:22px;flex-shrink:0}
.wishlist-btn:hover{border-color:var(--sahra-red);color:var(--sahra-red)}
.shipping-note{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--sahra-muted);letter-spacing:.05em;margin:18px 0 36px}
.shipping-note svg{width:16px;height:16px;color:var(--sahra-red)}
.accordion{border-top:1px solid var(--sahra-line)}
.accordion-item{border-bottom:1px solid var(--sahra-line)}
.accordion-head{width:100%;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--sahra-ink);text-align:left}
.accordion-head .plus{font-size:18px;font-weight:300;transition:transform .3s var(--ease)}
.accordion-item.open .plus{transform:rotate(45deg);color:var(--sahra-red)}
.accordion-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.accordion-body-inner{padding:0 0 24px;font-size:14px;line-height:1.8;color:var(--sahra-muted)}
.accordion-body-inner ul{padding-left:18px;margin-top:8px}
.accordion-body-inner li{margin-bottom:6px}
.accordion-item.open .accordion-body{max-height:600px}

/* ======================== WC OVERRIDES */
.woocommerce-notices-wrapper{max-width:1440px;margin:20px auto;padding:0 48px}
.woocommerce-message,.woocommerce-error,.woocommerce-info{padding:14px 20px;border-left:4px solid var(--sahra-red);background:var(--sahra-paper);font-size:14px;margin-bottom:16px}
.woocommerce-cart .wc-forward,.woocommerce-checkout .wc-forward{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--sahra-black);color:#fff;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-left:12px;transition:background .3s var(--ease)}
.woocommerce-cart .wc-forward:hover,.woocommerce-checkout .wc-forward:hover{background:var(--sahra-red)}

/* ======================== GENERIC PAGE */
.page-content{max-width:900px;margin:80px auto;padding:0 48px 120px}
.page-content h1{font-family:var(--font-display);font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.1;margin-bottom:40px;letter-spacing:-.015em}
.page-content h2{font-family:var(--font-display);font-size:28px;font-weight:300;line-height:1.2;margin:40px 0 20px}
.page-content p{font-size:16px;line-height:1.8;color:var(--sahra-ink);margin-bottom:20px}
.page-content ul,.page-content ol{padding-left:24px;margin-bottom:20px}
.page-content li{font-size:16px;line-height:1.8;color:var(--sahra-ink);margin-bottom:8px}

/* ======================== RESPONSIVE */
@media(max-width:1024px){
  .products{grid-template-columns:repeat(2,1fr)}
  .editorial-grid,.story-inner{grid-template-columns:1fr;gap:48px}.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}
  .edit-card.wide{margin-top:0}
  .benefits-inner{grid-template-columns:repeat(2,1fr);gap:20px}
  .section-header{flex-direction:column;align-items:flex-start}
  .shop-layout{gap:40px;padding:40px 32px 100px}
  .shop-sidebar{flex:0 0 220px;width:220px}
  .shop-main .products{grid-template-columns:repeat(2,1fr) !important;gap:24px}
  .bestsellers .products-carousel .product{flex:0 0 calc((100% - 32px * 2) / 3)}
  .carousel-btn.prev{left:-8px}
  .carousel-btn.next{right:-8px}
}
@media(max-width:768px){
  .hero-content,.intro,.editorial,.bestsellers,.story,.custom,.newsletter,.footer{padding-left:24px;padding-right:24px}
  .products{grid-template-columns:1fr}
  .story-stats{gap:16px}
  .story-stat strong{font-size:32px}
  .hero{height:auto;min-height:0}
  .hero-content{justify-content:flex-start;padding-top:120px;padding-bottom:48px;height:auto;min-height:88vh}
  .hero-actions{flex-direction:column;align-items:stretch;gap:14px;width:100%}
  .hero-actions .btn{width:100%;justify-content:space-between;padding:20px 24px}
  .hero-actions .btn-ghost{display:none}
  .scroll-indicator{display:none}
  .bestsellers .products-carousel .product{flex:0 0 calc((100% - 16px) / 2)}
  .bestsellers .products-carousel .products{gap:16px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px}
  .faq-section{padding:80px 24px}
  .faq-question{padding:18px 20px;font-size:16px}
  .product-page{grid-template-columns:1fr;padding:32px 24px 60px;gap:32px}
  .gallery{position:relative!important;top:auto!important}
  .shop-main .products{grid-template-columns:1fr 1fr !important}
}
@media(max-width:640px){
  .shop-hero{padding-left:12px;padding-right:12px}
  .shop-layout{display:block;gap:0;padding:24px 12px 80px}
  .shop-sidebar{position:fixed;top:0;left:0;bottom:0;width:85%;max-width:320px;flex:none;background:var(--sahra-cream);z-index:200;padding:32px 24px;border-right:none;border-left:1px solid var(--sahra-line);transform:translateX(-100%);transition:transform .35s var(--ease);max-height:100vh}
  .shop-sidebar.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.15)}
  .filter-toggle-mobile{display:inline-block}
  .sidebar-backdrop.open{display:block}
  .shop-main .products{grid-template-columns:repeat(2,1fr) !important;gap:14px}
  .shop-main .product-name{font-size:15px}
  .shop-main .product-dim{font-size:11px;margin-bottom:6px}
  .shop-main .product-price{font-size:13px}
  .shop-main .product-img{margin-bottom:10px}
}
@media(max-width:520px){
  .bestsellers .products-carousel .product{flex:0 0 78%}
  .footer-inner{grid-template-columns:1fr 1fr;gap:24px}
  .shop-main .products{grid-template-columns:repeat(2,1fr) !important;gap:14px}
}

/* ===== BESTSELLERS CAROUSEL (1:1 z oryginału) ===== */
.bestsellers {
  padding: 120px 48px;
  background: var(--sahra-paper);
  position: relative;
}
.bestsellers .section-header {
  max-width: 1440px; margin: 0 auto 72px;
  display: flex; justify-content: space-between; align-items: flex-end; gap: 48px;
}
.bestsellers .products-carousel {
  position: relative; max-width: 1440px; margin: 0 auto;
}
.bestsellers .products-carousel .products {
  display: flex; gap: 32px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; -webkit-overflow-scrolling: touch;
  padding: 4px 4px 24px; scrollbar-width: none;
}
.bestsellers .products-carousel .products::-webkit-scrollbar { display: none; }
.bestsellers .products-carousel .product {
  flex: 0 0 calc((100% - 32px * 3) / 4);
  scroll-snap-align: start;
}
.carousel-btn {
  position: absolute; top: 38%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--sahra-cream); color: var(--sahra-black);
  border: 1px solid var(--sahra-black);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 5;
  transition: background .3s var(--ease), color .3s var(--ease);
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
}
.carousel-btn:hover { background: var(--sahra-black); color: var(--sahra-cream); }
.carousel-btn svg { width: 18px; height: 18px; }
.carousel-btn.prev { left: -22px; }
.carousel-btn.next { right: -22px; }
.carousel-btn:disabled { opacity: .3; cursor: not-allowed; }
@media (max-width: 1100px) {
  .bestsellers .products-carousel .product { flex: 0 0 calc((100% - 32px * 2) / 3); }
  .carousel-btn.prev { left: -8px; }
  .carousel-btn.next { right: -8px; }
}
@media (max-width: 768px) {
  .bestsellers .products-carousel .product { flex: 0 0 calc((100% - 16px) / 2); }
  .bestsellers .products-carousel .products { gap: 16px; }
  .bestsellers { padding: 80px 24px; }
  .carousel-btn { width: 40px; height: 40px; }
}

/* Mobile shop grid — 2 kolumny */
@media (max-width: 768px) {
  .shop-main .products { grid-template-columns: repeat(2,1fr) !important; gap: 14px !important; }
  .shop-main .product-name { font-size: 15px; }
  .shop-main .product-dim { font-size: 11px; }
  .shop-main .product-price { font-size: 13px; }
}


/* ===== MOBILE HEADER ===== */
@media (max-width: 1024px) {
  .header-inner { position: relative; }
}
@media (max-width: 768px) {
  .header-inner {
    padding: 0 16px;
    grid-template-columns: auto 1fr auto;
    gap: 0;
    height: 56px;
    position: relative;
  }
  /* Logo wyśrodkowane absolutnie */
  .logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    z-index: 1;
  }
  .logo img { height: 36px !important; width: auto !important; }

  /* Lewa nav — tylko hamburger */
  .nav-left .nav-link { display: none !important; }
  .nav-left { gap: 0 !important; }

  /* Prawa nav — ukryj Kontakt, ikony bliżej siebie */
  .nav-right .nav-link { display: none !important; }
  .nav-right { gap: 2px !important; justify-content: flex-end !important; }
  .nav-right .icon-btn {
    width: 36px !important;
    height: 36px !important;
    padding: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .nav-right .icon-btn svg { width: 20px; height: 20px; }

  /* Wyszukiwarka — zawsze widoczna na mobile */
  #sahraSearchBtn { display: inline-flex !important; }
}

/* ===== CART DRAWER ===== */
.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100%;
  background:var(--sahra-cream);z-index:1000;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;box-shadow:-4px 0 32px rgba(0,0,0,.12);
}
.cart-drawer.open{transform:translateX(0)}
.cart-drawer-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:999;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.cart-drawer-backdrop.open{opacity:1;pointer-events:all}
.cart-drawer-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}
.cart-drawer-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 28px;border-bottom:1px solid var(--sahra-line);
  font-family:var(--font-display);font-size:20px;letter-spacing:.02em;
}
.cart-drawer-close{
  background:none;border:none;font-size:24px;cursor:pointer;
  color:var(--sahra-ink);line-height:1;padding:4px;
}
.cart-drawer-body{flex:1;overflow-y:auto;padding:20px 28px;display:flex;flex-direction:column;gap:20px}
.cart-drawer-item{display:flex;gap:16px;align-items:flex-start}
.cart-drawer-item img{width:80px;height:80px;object-fit:cover;flex-shrink:0}
.cart-drawer-item-name{font-family:var(--font-display);font-size:15px;margin-bottom:4px}
.cart-drawer-item-dim{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sahra-muted);margin-bottom:6px}
.cart-drawer-item-price{font-size:14px;font-weight:500}
.cart-drawer-empty{color:var(--sahra-muted);font-size:14px;text-align:center;padding:40px 0}
.cart-drawer-footer{padding:20px 28px;border-top:1px solid var(--sahra-line)}
.cart-drawer-total{display:flex;justify-content:space-between;font-size:15px;font-weight:600;margin-bottom:16px}
.cart-drawer-btn{
  display:block;width:100%;padding:16px;text-align:center;
  background:var(--sahra-black);color:var(--sahra-cream);
  font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  text-decoration:none;margin-bottom:12px;
  transition:background .2s;
}
.cart-drawer-btn:hover{background:#333;color:var(--sahra-cream)}
.cart-drawer-link{
  display:block;text-align:center;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--sahra-muted);text-decoration:none;
}
.cart-drawer-link:hover{color:var(--sahra-ink)}

/* ===== CART PAGE ===== */
.sahra-cart-page{max-width:1200px;margin:0 auto;padding:60px 48px 120px}
.sahra-breadcrumb{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sahra-muted);margin-bottom:40px}
.sahra-breadcrumb a{color:var(--sahra-muted);text-decoration:none}
.sahra-breadcrumb span{margin:0 8px}
.sahra-cart-title{font-family:var(--font-display);font-size:56px;font-weight:400;margin-bottom:48px;line-height:1}
.sahra-cart-title em{font-style:italic;color:var(--sahra-ink)}
.sahra-cart-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.sahra-cart-items{display:flex;flex-direction:column}
.sahra-cart-item{
  display:grid;grid-template-columns:90px 1fr auto;gap:24px;
  align-items:center;padding:28px 0;border-bottom:1px solid var(--sahra-line);
}
.sahra-cart-item:first-child{border-top:1px solid var(--sahra-line)}
.sahra-cart-item-img{width:90px;height:90px;object-fit:cover}
.sahra-cart-item-name{font-family:var(--font-display);font-size:18px;font-style:italic;margin-bottom:6px}
.sahra-cart-item-name a{color:inherit;text-decoration:none}
.sahra-cart-item-dim{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sahra-muted);margin-bottom:8px}
.sahra-cart-item-price{font-size:16px;font-weight:500}
.sahra-cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.sahra-qty-pill{
  padding:6px 16px;border:1px solid var(--sahra-line);
  font-size:14px;letter-spacing:.1em;white-space:nowrap;
}
.sahra-cart-remove{
  display:flex;align-items:center;gap:5px;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--sahra-muted);
  text-decoration:none;cursor:pointer;background:none;border:none;
  transition:color .2s;
}
.sahra-cart-remove:hover{color:var(--sahra-red)}
.sahra-cart-summary{
  background:#fff;border:1px solid var(--sahra-line);
  padding:36px;position:sticky;top:100px;
}
.sahra-summary-title{font-family:var(--font-display);font-size:26px;font-weight:400;margin-bottom:28px}
.sahra-summary-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:14px}
.sahra-summary-divider{border-top:1px solid var(--sahra-line);margin:20px 0}
.sahra-summary-total{font-weight:700;font-size:17px;margin-bottom:28px}
.sahra-checkout-btn{
  display:block;width:100%;padding:18px;text-align:center;
  background:var(--sahra-black);color:var(--sahra-cream);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;margin-bottom:16px;
  transition:background .2s;
}
.sahra-checkout-btn:hover{background:#333;color:var(--sahra-cream)}
.sahra-continue-link{
  display:block;text-align:center;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sahra-muted);text-decoration:none;
}
.sahra-continue-link:hover{color:var(--sahra-ink)}
.sahra-cart-empty{text-align:center;padding:80px 0}






/* ===== CHECKOUT PAGE ===== */
/* Outer wrapper — pełna szerokość jak header/footer */
.wp-block-woocommerce-checkout,


/* Cały inner container checkout */



@media (max-width: 768px) {
  
}

/* Wishlist heart */
.wishlist-btn { transition: transform .2s ease; }
.wishlist-btn svg { transition: fill .2s ease, stroke .2s ease; }
.wishlist-btn.wishlisted svg { fill: #c0392b; stroke: #c0392b; }
.wishlist-btn:hover svg { stroke: #c0392b; }

/* ── Wishlist header ── */
.wishlist-header-btn{position:relative}
.wishlist-count{position:absolute;top:-6px;right:-6px;background:#c0392b;color:#fff;font-size:10px;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;line-height:1;pointer-events:none}
/* Wishlist na kartach produktów */
.product-img{position:relative}
.product-wishlist-btn{position:absolute;top:12px;right:12px;z-index:2;background:rgba(255,255,255,0.85);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}
.product-wishlist-btn:hover{background:#fff}
.product-wishlist-btn.wishlisted svg,.wishlist-btn.wishlisted svg{fill:#c0392b;stroke:#c0392b}

.cart-drawer-item-info{flex:1;min-width:0}
.cart-drawer-item-qty{font-size:12px;color:var(--sahra-muted,#7a7268);margin-top:4px}
.cart-drawer-total{display:flex;justify-content:space-between;align-items:center;font-size:15px;margin-bottom:14px;font-weight:500}


/* Reset letter-spacing na wszystkich elementach WC Blocks checkout */

.wc-block-components-order-summary-item__full-name,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__name,
.wc-block-order-summary-totals-block *,
.wp-block-woocommerce-checkout-order-summary-block *,
.wc-block-components-order-summary * {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  letter-spacing: normal !important;
  writing-mode: horizontal-tb !important;
}
.wc-block-components-order-summary-item {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.wc-block-components-order-summary-item__image {
  flex-shrink: 0 !important;
  width: 64px !important;
}
.wc-block-components-order-summary-item__description {
  flex: 1 !important;
  min-width: 0 !important;
}

/* === STOPKA MOBILE 2 KOLUMNY === */
@media (max-width: 1024px) {
  .footer-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  .footer-brand {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 480px) {
  .footer-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important;
  }
  .footer-brand {
    grid-column: 1 / -1 !important;
  }
  .footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* === LUPA MOBILE OBOK HAMBURGERA === */
.search-mobile-btn { display: none; }
@media (max-width: 768px) {
  .search-mobile-btn { display: flex !important; }
  .nav-right #sahraSearchBtn { display: none !important; }
}

/* === LUPA DESKTOP: tylko na nav-right; MOBILE: ukryj z nav-right === */
@media (max-width: 768px) {
  nav.nav-right #sahraSearchBtn { display: none !important; }
}

/* Karuzela bestsellers — override WooCommerce grid */
#bsTrack {
  display: flex !important;
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 32px;
  scroll-snap-type: x mandatory;
  padding: 4px 4px 24px;
}
#bsTrack::-webkit-scrollbar { display: none; }
#bsTrack .product { flex: 0 0 calc((100% - 32px * 3) / 4) !important; scroll-snap-align: start; }
@media (max-width: 1100px) { #bsTrack .product { flex: 0 0 calc((100% - 32px * 2) / 3) !important; } }
@media (max-width: 768px)  { #bsTrack .product { flex: 0 0 calc((100% - 16px) / 2) !important; } #bsTrack { gap: 16px; } }
@media (max-width: 520px)  { #bsTrack .product { flex: 0 0 78% !important; } }

/* Checkbox regulaminu */
.sahra-terms-row { margin: 16px 0 8px !important; }
.sahra-terms-row label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.sahra-terms-row input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; width: 16px; height: 16px; accent-color: #c0392b; }
.sahra-terms-text { font-size: 13px; color: #555; line-height: 1.5; }
.sahra-terms-text a { color: #c0392b; text-decoration: underline; }
.sahra-terms-text a:hover { color: #0a0a0a; }

/* Checkbox regulaminu — koszyk */
.sahra-cart-terms { display:flex; align-items:flex-start; gap:10px; cursor:pointer; margin-bottom:16px; padding:14px; background:#faf7f2; border:1px solid #e8e4dc; }
.sahra-cart-terms input[type="checkbox"] { margin-top:2px; flex-shrink:0; width:16px; height:16px; accent-color:#c0392b; cursor:pointer; }
.sahra-cart-terms span { font-size:13px; color:#555; line-height:1.5; }
.sahra-cart-terms a { color:#c0392b; text-decoration:underline; }
.sahra-cart-terms a:hover { color:#0a0a0a; }

/* ===== STICKY ADD TO CART — MOBILE ===== */
.sahra-sticky-atc{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:9900;
  background:#fff;border-top:1px solid #ece8e1;
  box-shadow:0 -4px 24px rgba(0,0,0,.10);
  transform:translateY(100%);transition:transform .3s ease;
}
.sahra-sticky-atc--visible{transform:translateY(0)}
.sahra-sticky-atc__inner{
  display:flex;align-items:center;gap:12px;
  padding:10px 16px;max-width:100%;
}
.sahra-sticky-atc__thumb{
  width:52px;height:52px;object-fit:cover;flex-shrink:0;border:1px solid #ece8e1;
}
.sahra-sticky-atc__meta{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;
}
.sahra-sticky-atc__name{
  font-size:12px;color:#0a0a0a;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  letter-spacing:.02em;
}
.sahra-sticky-atc__price{
  font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:#0a0a0a;
}
.sahra-sticky-atc__btn{
  flex-shrink:0;
  padding:13px 20px;background:#0a0a0a;color:#faf7f2;
  border:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;cursor:pointer;transition:background .2s;font-family:inherit;
  white-space:nowrap;
}
.sahra-sticky-atc__btn:hover{background:#c0392b}
.sahra-sticky-atc__btn:disabled{opacity:.7;cursor:default}

@media(min-width:769px){
  .sahra-sticky-atc{display:none!important}
}
@media(max-width:768px){
  .sahra-sticky-atc{display:block}
}

.product-badge.badge--promo{background:var(--sahra-red,#c0392b);color:#fff;}
.product-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.price-old{text-decoration:line-through;color:#b5341a;font-weight:400;font-size:12px}

/* Omnibus + sale price na stronie produktu */
.price--promo{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price__old{text-decoration:line-through;color:#b5341a;font-size:18px;font-weight:400}
.price__sale{color:var(--sahra-black);font-size:28px;font-weight:600}
.omnibus-price{font-size:12px;color:#666;margin-top:8px;letter-spacing:.01em;padding:6px 0;border-top:1px solid #e8e0d4}
.omnibus-price strong{color:#444;font-weight:600}
.omnibus-price--warn{color:#b05000;font-size:11px;background:#fff8f0;padding:6px 10px;border:1px solid #f0c080;border-radius:3px}


/* ======================== PRODUCT GALLERY LIGHTBOX */

/* Cursor na głównym zdjęciu */
.gallery-main img { cursor: zoom-in; transition: opacity .2s; }
.gallery-main img:hover { opacity: .93; }
.gallery-thumb { cursor: pointer !important; }

/* Overlay */
.sahra-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(10, 10, 10, .95);
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.sahra-lightbox.open {
  display: flex;
}

/* Zdjęcie */
.sahra-lightbox__wrap {
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sahra-lightbox__wrap img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 2px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  user-select: none;
  -webkit-user-drag: none;
}

/* Przycisk zamknij */
.sahra-lightbox__close {
  position: fixed;
  top: 20px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,.1);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
  z-index: 10001;
}
.sahra-lightbox__close:hover { background: rgba(255,255,255,.2); }

/* Strzałki nawigacji */
.sahra-lightbox__prev,
.sahra-lightbox__next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 80px;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.15);
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
  z-index: 10001;
}
.sahra-lightbox__prev { left: 16px; border-radius: 0 4px 4px 0; }
.sahra-lightbox__next { right: 16px; border-radius: 4px 0 0 4px; }
.sahra-lightbox__prev:hover,
.sahra-lightbox__next:hover { background: rgba(255,255,255,.18); }

/* Licznik */
.sahra-lightbox__counter {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.6);
  font-size: 12px;
  letter-spacing: .1em;
  font-family: var(--font-body);
  z-index: 10001;
}

@media(max-width:768px) {
  .sahra-lightbox__prev,
  .sahra-lightbox__next { display: none; }
  .sahra-lightbox__wrap img { max-height: 85vh; }
}


/* ======================== ARTICLE / PORADNIK PAGES
   Dotyczy page.php z klasą .page-article
   ======================== */

.page-main { background: var(--sahra-cream); }

/* Wrapper artykułu */
.article-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 32px 100px;
}
@media(max-width:768px){
  .article-wrap { padding: 32px 20px 64px; }
}

/* Breadcrumb */
.article-breadcrumb {
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--sahra-muted);
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.article-breadcrumb a {
  color: var(--sahra-muted);
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.article-breadcrumb a:hover {
  color: var(--sahra-gold);
  border-color: var(--sahra-gold);
}
.article-breadcrumb span[aria-hidden] { color: var(--sahra-line); }

/* Tytuł artykułu */
.article-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 500;
  color: var(--sahra-black);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin-bottom: 40px;
}

/* Treść artykułu */
.article-content { color: var(--sahra-ink); }

.article-content h2 {
  font-family: var(--font-display);
  font-size: clamp(22px, 3.5vw, 34px);
  font-weight: 500;
  color: var(--sahra-black);
  margin: 2.8em 0 .6em;
  line-height: 1.2;
  letter-spacing: -.01em;
}

.article-content h3 {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  color: var(--sahra-black);
  margin: 2em 0 .5em;
  letter-spacing: .01em;
}
.article-content h4 {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sahra-muted);
  margin: 1.6em 0 .5em;
}

/* Paragrafy */
.article-content p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--sahra-ink);
  margin-bottom: 1.3em;
}

/* Lead — intro */
.article-content .lead,
.article-content p.lead {
  font-family: var(--font-display);
  font-size: clamp(19px, 2.5vw, 23px);
  font-weight: 400;
  line-height: 1.65;
  color: var(--sahra-ink);
  border-left: 3px solid var(--sahra-gold);
  padding-left: 24px;
  margin-bottom: 2.5em;
}
.article-content .lead strong,
.article-content p.lead strong {
  font-weight: 500;
}

/* Spis treści */
.article-content .spis-tresci {
  background: var(--sahra-paper);
  border: 1px solid var(--sahra-line);
  padding: 28px 32px;
  margin: 0 0 2.5em;
}
.article-content .spis-tresci h2 {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sahra-muted);
  margin: 0 0 16px;
  border: none;
  padding: 0;
}
.article-content .spis-tresci ol {
  margin: 0;
  padding-left: 18px;
}
.article-content .spis-tresci li {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
  color: var(--sahra-ink);
}
.article-content .spis-tresci a {
  color: var(--sahra-ink);
  border-bottom: 1px solid var(--sahra-line);
  transition: color .2s, border-color .2s;
}
.article-content .spis-tresci a:hover {
  color: var(--sahra-gold);
  border-color: var(--sahra-gold);
}

/* Ramka info */
.article-content .ramka {
  border-left: 2px solid var(--sahra-line);
  padding: 4px 20px;
  margin: 28px 0;
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}
.article-content .ramka h4 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sahra-muted);
  margin-bottom: 12px;
}
.article-content .ramka ul { margin: 0; padding-left: 18px; }
.article-content .ramka li { font-size: 15px; line-height: 1.65; margin-bottom: 6px; }

/* Listy */
.article-content ul,
.article-content ol {
  margin: 0 0 1.5em;
  padding-left: 24px;
}
.article-content li {
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 7px;
  color: var(--sahra-ink);
}
.article-content ul > li::marker { color: var(--sahra-gold); }

/* Tabele */
.article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2em 0;
  font-size: 14px;
}
.article-content .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 2em 0; }
.article-content table { margin: 0; }
.article-content thead { background: var(--sahra-black); color: var(--sahra-cream); }
.article-content th {
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.article-content td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--sahra-line);
  vertical-align: top;
  line-height: 1.55;
}
.article-content tbody tr:hover td { background: var(--sahra-paper); }

/* Responsywne tabele — zawijanie na mobile */
@media(max-width:600px){
  .article-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .article-content th, .article-content td { padding: 10px 12px; white-space: nowrap; }
}

/* Zdjęcia */
.article-content figure { margin: 2.5em 0; }
.article-content figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}
.article-content figcaption {
  font-size: 13px;
  color: var(--sahra-muted);
  line-height: 1.5;
  margin-top: 10px;
  font-style: italic;
}

/* CTA bloki */
.article-content .cta-showroom,
.article-content .cta-koncowy {
  background: var(--sahra-black);
  color: var(--sahra-cream);
  padding: 36px 40px;
  margin: 3em 0;
  text-align: center;
}
.article-content .cta-showroom p,
.article-content .cta-koncowy p {
  color: var(--sahra-cream);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: .7em;
}
.article-content .cta-showroom a,
.article-content .cta-koncowy a {
  color: var(--sahra-gold-light);
  border-bottom: 1px solid rgba(251,194,5,.35);
}
.article-content .cta-showroom a:hover,
.article-content .cta-koncowy a:hover { color:#fff; border-color:#fff; }

/* Biogram autorki */
.article-content .autor {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin: 3em 0 1em;
  padding: 24px 28px;
  border: 1px solid var(--sahra-line);
  background: var(--sahra-paper);
}
.article-content .autor h3 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sahra-muted);
  margin: 0 0 8px;
}
.article-content .autor p {
  font-size: 14px;
  color: var(--sahra-muted);
  line-height: 1.6;
  margin-bottom: .4em;
}
.article-content .aktualizacja {
  font-size: 12px;
  color: var(--sahra-muted);
  font-style: italic;
}

/* HR */
.article-content hr { display: none; }

/* FAQ w artykule */
.article-content .product-faq { padding-top: 32px; margin-top: 3em; }
.article-content .product-faq h2 {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  border: none;
  padding: 0;
  margin-top: 0;
  margin-bottom: 24px;
}
.article-content .product-faq h3 { font-size: 16px; margin-top: 1.8em; }

/* Kotwice dla spisu treści */
.article-content [id] { scroll-margin-top: 80px; }


/* ======================== PORADNIK ARCHIVE PAGE */

.poradnik-archive {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 48px 120px;
}
@media(max-width:768px){
  .poradnik-archive { padding: 48px 20px 80px; }
}

/* Header */
.poradnik-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 72px;
}
.poradnik-label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sahra-muted);
  margin-bottom: 16px;
}
.poradnik-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 54px);
  font-weight: 400;
  color: var(--sahra-black);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin-bottom: 20px;
}
.poradnik-title em {
  font-style: italic;
  color: var(--sahra-gold);
}
.poradnik-intro {
  font-size: 16px;
  line-height: 1.7;
  color: var(--sahra-muted);
  max-width: 520px;
  margin: 0 auto;
}

/* Grid kart */
.poradnik-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
}
@media(max-width:1024px){
  .poradnik-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:600px){
  .poradnik-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* Karta artykułu */
.poradnik-card {
  display: flex;
  flex-direction: column;
}
.poradnik-card__img-wrap {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--sahra-sand);
  margin-bottom: 20px;
}
.poradnik-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s var(--ease);
  display: block;
}
.poradnik-card:hover .poradnik-card__img-wrap img {
  transform: scale(1.04);
}

.poradnik-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.poradnik-card__date {
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--sahra-muted);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.poradnik-card__title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 12px;
  letter-spacing: -.01em;
}
.poradnik-card__title a {
  color: var(--sahra-black);
  transition: color .2s;
}
.poradnik-card__title a:hover { color: var(--sahra-gold); }

.poradnik-card__excerpt {
  font-size: 14px;
  line-height: 1.65;
  color: var(--sahra-muted);
  margin-bottom: 18px;
  flex: 1;
}
.poradnik-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--sahra-black);
  border-bottom: 1px solid var(--sahra-black);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
  align-self: flex-start;
  margin-top: auto;
}
.poradnik-card__link:hover {
  color: var(--sahra-gold);
  border-color: var(--sahra-gold);
}
.poradnik-card__link svg { transition: transform .2s; }
.poradnik-card__link:hover svg { transform: translateX(4px); }

/* Pusty stan */
.poradnik-empty {
  text-align: center;
  padding: 80px 0;
  color: var(--sahra-muted);
  font-size: 16px;
}


/* ======================== ARTICLE TWO-COLUMN LAYOUT */

/* Wrapper dwukolumnowy */
.article-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 64px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 64px 48px 120px;
  align-items: start;
}
@media(max-width:1024px) {
  .article-layout {
    grid-template-columns: 1fr 240px;
    gap: 40px;
    padding: 48px 32px 100px;
  }
}
@media(max-width:768px) {
  .article-layout {
    grid-template-columns: 1fr;
    padding: 40px 20px 80px;
    gap: 0;
  }
}

/* Breadcrumb */
.article-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--sahra-muted);
  letter-spacing: .05em;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.article-breadcrumb a {
  color: var(--sahra-muted);
  transition: color .2s;
}
.article-breadcrumb a:hover { color: var(--sahra-black); }

/* Nagłówek artykułu */
.article-header { margin-bottom: 36px; }
.article-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--sahra-black);
}

/* Treść artykułu */
.article-content {
  max-width: 700px;
  font-size: 16px;
  line-height: 1.75;
  color: #333;
}
.article-content h2 {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 500;
  margin: 48px 0 16px;
  letter-spacing: -.01em;
}
.article-content h3 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 500;
  margin: 32px 0 12px;
}
.article-content p { margin-bottom: 20px; }
.article-content ul, .article-content ol {
  margin: 0 0 20px 0;
  padding-left: 1.4em;
}
.article-content li { margin-bottom: 8px; line-height: 1.65; }
.article-content a { color: var(--sahra-black); border-bottom: 1px solid var(--sahra-line); transition: border-color .2s, color .2s; }
.article-content a:hover { color: var(--sahra-gold); border-color: var(--sahra-gold); }
.article-content strong { font-weight: 600; }
.article-content figure { margin: 36px 0; }
.article-content figure img { width: 100%; height: auto; display: block; }
.article-content figcaption {
  font-size: 13px;
  color: var(--sahra-muted);
  font-style: italic;
  margin-top: 10px;
  line-height: 1.5;
}
.article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 15px;
}
.article-content table th {
  background: var(--sahra-black);
  color: #fff;
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .05em;
}
.article-content table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--sahra-line);
  vertical-align: top;
}
.article-content table tr:nth-child(even) td { background: var(--sahra-paper); }
.article-content table tr:hover td { background: var(--sahra-sand); }

/* Ukryj inline spis-tresci w artykule (jest w sidebarze) */
.article-content .spis-tresci { display: none; }

/* STICKY SIDEBAR */
.article-sidebar {
  position: sticky;
  top: 100px;
  height: fit-content;
  border-left: 1px solid var(--sahra-line);
  padding-left: 32px;
}
@media(max-width:768px) {
  .article-sidebar {
    position: static;
    border-left: none;
    border-top: 1px solid var(--sahra-line);
    padding-left: 0;
    padding-top: 24px;
    margin-top: 48px;
    order: -1;
  }
}

/* TOC w sidebarze */
.sidebar-toc {
  background: transparent;
  border: none;
  padding: 0;
}
.sidebar-toc__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sahra-muted);
  margin-bottom: 16px;
}
.sidebar-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc;
}
.sidebar-toc__list li {
  counter-increment: toc;
  margin-bottom: 0;
}
.sidebar-toc__list li a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 8px 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--sahra-muted);
  border-bottom: none;
  transition: color .2s;
}
.sidebar-toc__list li a::before {
  content: counter(toc);
  font-size: 11px;
  color: var(--sahra-line);
  font-weight: 600;
  min-width: 16px;
  flex-shrink: 0;
}
.sidebar-toc__list li a:hover { color: var(--sahra-black); border-bottom: none; }
.sidebar-toc__list li a:hover::before { color: var(--sahra-gold); }

/* Podsekcje H3 w TOC */
.sidebar-toc__sub a {
  padding-left: 26px;
  font-size: 12px;
}
.sidebar-toc__sub a::before { content: '—'; font-weight: 400; }

/* Smooth scroll *//* Smooth scroll */
html { scroll-behavior: smooth; }

/* Ukryj datę publikacji */
.poradnik-card__date,
.article-content .aktualizacja,
.entry-content .aktualizacja,
.entry-date,
.post-date { display: none !important; }
