:root{
  --bg:#ffffff;
  --card:#ffffff;
  --card-2:#f7f8ff;
  --text:#0b1220;
  --muted:#52607a;
  --border:rgba(11,18,32,0.10);
  --primary:#0a2a66;
  --primary-2:#0a2a66;
  --accent:#ff7a00;
  --danger:#e11d48;
  --shadow:0 14px 34px rgba(11,18,32,0.12);
  --radius:16px;
  --radius-sm:12px;
  --container:1200px;
  --transition:180ms cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(var(--container), calc(100% - 32px)); margin:0 auto}
.section{padding:64px 0}
.section-alt{padding:64px 0; background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0))}

.section-fade{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(107,77,255,0.08), rgba(255,255,255,0) 60%),
    radial-gradient(700px 380px at 90% 20%, rgba(18,182,255,0.07), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0));
}

main{display:block}
.hero, .section, .section-alt{position:relative}
section.hero + section.section,
section.hero + section.section-alt,
section.section + section.section,
section.section + section.section-alt,
section.section-alt + section.section,
section.section-alt + section.section-alt{margin-top:18px}

/* Fallback spacing when blocks are not <section> (ex: <main class="section"> on other pages) */
.section + .section,
.section + .section-alt,
.section-alt + .section,
.section-alt + .section-alt{margin-top:18px}

/* Ensure normal document flow inside main */
main > *{position:relative}
main > * + *{margin-top:18px}
main > *:first-child{margin-top:0}
.muted{color:var(--muted)}
.link{color:rgba(11,18,32,0.92); text-decoration:underline; text-decoration-color:rgba(11,18,32,0.25); text-underline-offset:3px}

.site-header{
  position:relative;
  z-index:50;
  backdrop-filter: blur(12px);
  background:rgba(255,255,255,0.72);
  border-bottom:1px solid var(--border);
  overflow:visible;
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:0.2px}
.brand-mark{
  width:34px; height:34px; border-radius:12px;
  display:grid; place-items:center;
  background:var(--primary);
  box-shadow:0 10px 20px rgba(109,94,252,0.25);
  font-size:14px;
}
.brand-logo{
  height:34px;
  width:auto;
}
.brand-text{font-size:15px}
.nav{display:flex; align-items:center; gap:14px}
.nav-link{padding:10px 12px; border-radius:12px; color:rgba(11,18,32,0.78); transition:background var(--transition), color var(--transition)}
.nav-link:hover{background:rgba(11,18,32,0.05); color:var(--text)}
.nav-link.active{background:rgba(107,77,255,0.10); color:var(--text)}

.header-top{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:14px 0;
}

.header-bottom{
  border-top:1px solid rgba(11,18,32,0.08);
  background:rgba(255,255,255,0.92);
}

.header-menu{
  display:flex;
  justify-content:center;
  gap:26px;
  padding:12px 0;
  font-weight:700;
  letter-spacing:0.2px;
  font-size:12px;
  text-transform:uppercase;
}

 .header-menu-dropdown{position:relative; display:inline-flex; align-items:center}
 .header-menu-dropdown-panel{
   position:absolute;
   left:50%;
   top:calc(100% + 10px);
   transform:translateX(-50%) translateY(6px);
   min-width:260px;
   padding:10px;
   border-radius:14px;
   border:1px solid rgba(11,18,32,0.10);
   background:rgba(255,255,255,0.98);
   box-shadow:0 18px 46px rgba(11,18,32,0.14);
   opacity:0;
   visibility:hidden;
   transition:opacity var(--transition), transform var(--transition), visibility var(--transition);
   z-index:120;
 }
 .header-menu-dropdown-item{
   display:block;
   padding:10px 12px;
   border-radius:12px;
   font-weight:900;
   font-size:12px;
   text-transform:none;
   letter-spacing:0;
   color:rgba(11,18,32,0.88);
 }
 .header-menu-dropdown-item:hover{background:rgba(11,18,32,0.06)}
 .header-menu-dropdown:hover .header-menu-dropdown-panel,
 .header-menu-dropdown:focus-within .header-menu-dropdown-panel{
   opacity:1;
   visibility:visible;
   transform:translateX(-50%) translateY(0);
 }

.header-search{
  display:flex;
  align-items:center;
  border:1px solid rgba(11,18,32,0.12);
  border-radius:999px;
  background:#fff;
  padding:8px 12px;
  gap:10px;
  max-width:720px;
  margin:0 auto;
}

.header-search input{
  border:0;
  outline:none;
  background:transparent;
  width:100%;
  font-size:14px;
}

.header-search button{
  width:42px;
  height:38px;
  border:0;
  border-radius:999px;
  background:transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
  color:rgba(11,18,32,0.78);
  transition:background var(--transition), color var(--transition);
}

.header-search button:hover{
  background:rgba(11,18,32,0.06);
  color:var(--text);
}

.header-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.account{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,0.10);
  background:#fff;
}

.account-label{font-weight:800; font-size:12px}
.account-sub{font-size:12px; color:var(--muted)}
.account-caret{width:14px; height:14px; color:rgba(11,18,32,0.55)}

.cart-mini{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,0.10);
  background:#fff;
}

.cart-mini .cart-top{display:flex; align-items:center; gap:8px; font-weight:800; font-size:12px}
.cart-mini .cart-sub{font-size:12px; color:var(--muted)}
.cart-badge{display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 6px; border-radius:999px; background:var(--primary); color:#fff; font-size:11px; font-weight:900}

.cart-mini-wrap{position:relative; display:inline-flex}
.cart-mini-wrap .mini-cart{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(360px, calc(100vw - 24px));
  background:#fff;
  border:1px solid rgba(11,18,32,0.10);
  border-radius:16px;
  box-shadow:0 16px 40px rgba(11,18,32,0.16);
  padding:14px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity var(--transition), transform var(--transition), visibility var(--transition);
  z-index:80;
}

.cart-mini-wrap:hover .mini-cart,
.cart-mini-wrap:focus-within .mini-cart{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.mini-cart-head{font-weight:950; letter-spacing:-0.2px; margin-bottom:10px}
.mini-cart-list{display:grid; gap:10px; max-height:280px; overflow:auto; padding-right:4px}
.mini-cart-empty{padding:8px 0}

.mini-cart-row{display:grid; grid-template-columns:1fr auto; gap:6px 12px; padding:10px; border:1px solid rgba(11,18,32,0.08); border-radius:14px; background:rgba(11,18,32,0.02)}
.mini-cart-name{font-weight:850; font-size:13px; color:rgba(11,18,32,0.92); line-height:1.25}
.mini-cart-meta{grid-column:1 / 2; font-size:12px; color:var(--muted)}
.mini-cart-price{grid-column:2 / 3; grid-row:1 / span 2; align-self:center; font-weight:900; font-size:12px; color:rgba(11,18,32,0.82)}

.mini-cart-foot{display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid rgba(11,18,32,0.08); padding-top:12px; margin-top:12px}
.mini-cart-total{font-size:12px}
.mini-cart-cta{white-space:nowrap}


.site-header .nav-search{display:none !important}

.nav-search{
  display:none;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(11,18,32,0.10);
  background:rgba(255,255,255,0.70);
}

.nav-search input{
  border:0;
  outline:none;
  background:transparent;
  color:var(--text);
  width:170px;
  font-size:14px;
}

.nav-search button{
  border:0;
  background:transparent;
  color:rgba(11,18,32,0.78);
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:6px;
  border-radius:999px;
  transition:background var(--transition), color var(--transition);
}

.nav-search button:hover{
  background:rgba(11,18,32,0.06);
  color:var(--text);
}

.nav-search svg{width:18px; height:18px; display:block}

.nav-search-mobile input{width:100%}

.icon-btn{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.70);
  color:var(--text);
  border-radius:14px;
  padding:10px 12px;
  cursor:pointer;
  transition:transform var(--transition), background var(--transition), border-color var(--transition);
}
.icon-btn:hover{transform:translateY(-1px); background:rgba(255,255,255,0.90)}

.nav-toggle{display:none; width:46px; height:42px; padding:10px 12px}
.nav-toggle-bar{display:block; height:2px; width:100%; background:rgba(11,18,32,0.78); border-radius:2px}
.nav-toggle-bar + .nav-toggle-bar{margin-top:6px}
.mobile-nav{
  position:fixed;
  top:72px;
  left:50%;
  bottom:auto;
  width:min(560px, calc(100vw - 24px));
  max-height:70vh;
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
  border:1px solid rgba(11,18,32,0.10);
  box-shadow:0 18px 46px rgba(11,18,32,0.14);
  border-radius:0 0 18px 18px;
  overflow:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:manipulation;
  transform:translateX(-50%);
  transform-origin: top center;
  animation: mmDropdownIn 160ms cubic-bezier(.2,.8,.2,1);
  z-index:1000;
}
.mobile-nav[hidden]{display:none}

@supports (height: 100dvh){
  .mobile-nav{max-height:70dvh}
}
.mobile-nav-link{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:10px 10px !important;
  min-height:38px;
  line-height:1.2;
  border-radius:12px;
  background:transparent;
  border:0;
  font-weight:800;
  font-size:13px !important;
  color:rgba(11,18,32,0.86);
}
.mobile-nav-link:hover{background:rgba(11,18,32,0.04)}
.mobile-nav-link.is-active{background:rgba(10,42,102,0.10); color:var(--primary)}
.mobile-nav-link:active{transform:scale(0.99)}

.mobile-nav-top{display:grid; gap:8px; margin-bottom:6px; flex:0 0 auto}
.mobile-nav-top .header-search{max-width:100%; margin:0; width:100%}
.mobile-nav-action{width:100%}

.mobile-nav-list{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:4px;
  padding-top:0;
  overflow:auto;
  flex:1;
  min-height:0;
}
.mobile-nav-ico{width:22px; height:22px; display:grid; place-items:center; color:rgba(11,18,32,0.55)}
.mobile-nav-link.is-active .mobile-nav-ico{color:var(--primary)}
.mobile-nav-ico svg{width:20px; height:20px; display:block}
.mobile-nav-txt{flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

/* Make the main menu links extra compact (Maison / Nos types / À propos / Contact) */
.mobile-nav-list .mobile-nav-link{
  padding:8px 10px !important;
  min-height:36px;
  font-size:13px !important;
  border-radius:10px;
}
.mobile-nav-list .mobile-nav-ico{width:20px; height:20px}
.mobile-nav-list .mobile-nav-ico svg{width:18px; height:18px}

/* Compact the cloned header blocks inside the mobile drawer */
.mobile-nav-top .account,
.mobile-nav-top .cart-mini{
  width:100%;
  padding:10px 12px !important;
  min-height:54px;
  border-radius:12px;
}
.mobile-nav-top .account-label{font-size:12px}
.mobile-nav-top .account-sub{font-size:11.5px}
.mobile-nav-top .cart-mini .cart-top{font-size:12px}
.mobile-nav-top .cart-mini .cart-sub{font-size:11.5px}

.nav-overlay{
  position:fixed;
  inset:0;
  background:rgba(11,18,32,0.35);
  backdrop-filter: blur(2px);
  z-index:999;
}
.nav-overlay[hidden]{display:none}

@keyframes mmDropdownIn{
  from{opacity:0; transform:translateY(-6px) scaleY(0.96)}
  to{opacity:1; transform:translateY(0) scaleY(1)}
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(107,77,255,0.10);
  border:1px solid rgba(107,77,255,0.22);
  color:rgba(11,18,32,0.88);
  font-size:13px;
}

.toast-host{position:fixed; inset:auto 14px 14px 14px; display:flex; justify-content:center; pointer-events:none; z-index:200}
.toast{pointer-events:none; max-width:min(520px, calc(100vw - 28px)); background:rgba(11,18,32,0.92); border:1px solid rgba(255,255,255,0.14); color:rgba(255,255,255,0.95); padding:10px 14px; border-radius:14px; box-shadow:0 16px 30px rgba(0,0,0,0.25); font-size:14px; transform:translateY(10px); opacity:0; animation:toastIn 160ms cubic-bezier(.2,.8,.2,1) forwards}
.toast.out{animation:toastOut 180ms cubic-bezier(.2,.8,.2,1) forwards}
@keyframes toastIn{to{transform:translateY(0); opacity:1}}
@keyframes toastOut{to{transform:translateY(10px); opacity:0}}

body.modal-open{overflow:hidden}
.modal-open .wa-float{display:none}
.modal-overlay{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(11,18,32,0.45); backdrop-filter: blur(2px); z-index:1200}
.modal-overlay[hidden]{display:none}
.modal{width:min(520px, 100%); background:rgba(255,255,255,0.98); border:1px solid var(--border); border-radius:18px; box-shadow:0 30px 70px rgba(0,0,0,0.28); padding:14px}
.modal-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 6px 10px}
.modal-title{font-weight:900; font-size:16px}
.modal-close{width:38px; height:38px; border-radius:12px; border:1px solid var(--border); background:rgba(255,255,255,0.9); color:rgba(11,18,32,0.85)}
.modal-body{padding:0 6px 10px}
.modal-text{color:rgba(11,18,32,0.82)}
.modal-actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; padding:0 6px 6px}

.hero{
  padding:52px 0 34px;
  overflow:hidden;
  background:
    radial-gradient(900px 420px at 15% 0%, rgba(107,77,255,0.14), rgba(255,255,255,0) 60%),
    radial-gradient(700px 380px at 90% 10%, rgba(18,182,255,0.12), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0));
}

.hero-banner{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:380px;
  background:#0b1220;
}

.hero-banner img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(0.95);
  transition:opacity 360ms ease;
}

.hero-banner img.is-fading{opacity:0.18}

.hero-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,0.60), rgba(0,0,0,0.15) 55%, rgba(0,0,0,0.0));
}

.hero-banner-content{
  position:relative;
  z-index:1;
  padding:44px 44px;
  max-width:720px;
  color:#fff;
}

.hero-banner-content{text-align:left}
.hero-banner-content h1,.hero-banner-content p{text-align:left}
.hero-kicker{font-size:13px; opacity:0.90; margin:0 0 12px}
.hero-title{text-transform:uppercase; font-size:clamp(30px, 4.6vw, 58px); line-height:1.04; margin:0 0 10px; font-weight:950; letter-spacing:-0.2px}
.hero-link{display:inline-block; margin-top:6px; font-size:12px; color:rgba(255,255,255,0.85); text-decoration:none}
.hero-link:hover{text-decoration:underline; text-underline-offset:3px}

.hero-slider{position:absolute; inset:0; z-index:2; pointer-events:none}
.hero-arrow{
  pointer-events:auto;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(11,18,32,0.45);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:950;
  font-size:22px;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(11,18,32,0.18);
  transition:transform var(--transition), background var(--transition), border-color var(--transition);
}
.hero-arrow:hover{background:rgba(11,18,32,0.60); border-color:rgba(255,255,255,0.30); transform:translateY(-50%) scale(1.04)}
.hero-arrow:focus-visible{outline:none; box-shadow:0 0 0 4px rgba(85,214,255,0.18), 0 14px 34px rgba(11,18,32,0.18)}
.hero-prev{left:14px}
.hero-next{right:14px}

.hero-dots{
  pointer-events:auto;
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(11,18,32,0.35);
}
.hero-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.55);
  background:transparent;
  opacity:0.9;
  cursor:pointer;
  padding:0;
}
.hero-dot.active{background:#fff; opacity:1}
.hero-link:hover{text-decoration:underline; text-underline-offset:4px; color:#fff}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,0.12);
  cursor:pointer;
  font-weight:800;
  transition:transform var(--transition), background var(--transition), border-color var(--transition);
}

.btn-primary{background:var(--primary); color:#fff; border-color:rgba(10,42,102,0.35)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,0.90)}
.btn-ghost:hover{transform:translateY(-1px)}

.pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.20);
  font-weight:800;
  font-size:12px;
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.category-card{
  display:grid;
  grid-template-columns: 104px 1fr;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(11,18,32,0.10);
  transition:transform var(--transition), border-color var(--transition);
}

.category-card:hover{transform:translateY(-1px); border-color:rgba(10,42,102,0.22)}

.category-card .category-thumb{width:104px; height:74px; border-radius:10px; overflow:hidden; background:#f3f6fb; display:grid; place-items:center}
.category-card .category-thumb img{width:100%; height:100%; object-fit:cover}
.category-card .category-title{font-weight:950; letter-spacing:0.2px; font-size:12px}
.category-body{min-width:0}
.category-meta{margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px}
.category-card .category-link{font-weight:950; font-size:10px; letter-spacing:0.6px; color:var(--primary); text-transform:uppercase}
.category-arrow{font-weight:950; color:rgba(11,18,32,0.70)}

.scroller{
  border:2px solid rgba(10,42,102,0.85);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}

.scroller[data-variant="capture"]{
  border:0;
  border-radius:0;
  background:transparent;
}

.scroller-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  border-bottom:2px solid rgba(10,42,102,0.85);
}

.scroller[data-variant="capture"] .scroller-head{
  padding:0 0 12px;
  border-bottom:0;
  border-top:2px solid rgba(10,42,102,0.85);
  padding-top:12px;
}

.scroller-title{font-weight:950; letter-spacing:0.3px; font-size:13px; text-transform:uppercase}
.scroller-arrow{font-weight:950; color:rgba(11,18,32,0.78); text-decoration:none}
.scroller-arrow:hover{opacity:0.85}

.scroller[data-variant="capture"] .scroller-arrow{font-size:12px}

.scroller-row{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  padding:16px;
}

.scroller[data-variant="capture"] .scroller-row{padding:16px 0 0; gap:22px}
.scroller[data-variant="capture"][data-cols="5"] .scroller-row{grid-template-columns:repeat(5, minmax(0, 1fr))}

.scroller[data-cols="5"] .scroller-row{grid-template-columns:repeat(5, minmax(0, 1fr))}

@media (max-width: 980px){
  .scroller-row{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .scroller[data-cols="5"] .scroller-row{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .scroller[data-variant="capture"][data-cols="5"] .scroller-row{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

@media (max-width: 560px){
  .scroller-row{grid-template-columns:1fr}
  .scroller[data-cols="5"] .scroller-row{grid-template-columns:1fr}
  .scroller[data-variant="capture"][data-cols="5"] .scroller-row{grid-template-columns:1fr}
}

.product-mini{
  border-radius:0;
  border:0;
  background:#fff;
  overflow:hidden;
  box-shadow:none;
  position:relative;
  transition:transform var(--transition), box-shadow var(--transition);
}

.product-mini{border:1px solid rgba(11,18,32,0.08)}

 .scroller .product-mini{overflow:visible}

.scroller[data-variant="capture"] .product-mini{
  border:1px solid rgba(11,18,32,0.10);
  background:#fff;
  overflow:visible;
  box-shadow:none;
}

.scroller .product-mini:hover,
.scroller .product-mini:focus-within{
  transform:none;
  z-index:2;
  box-shadow:0 10px 24px rgba(11,18,32,0.10);
}

@media (prefers-reduced-motion: reduce){
  .scroller .product-mini:hover,
  .scroller .product-mini:focus-within{transform:none}
}

.product-mini .thumb{height:110px; background:#fff; border-radius:12px; overflow:hidden; border:1px solid rgba(11,18,32,0.08); margin:14px 14px 0}
.product-mini .thumb img{width:100%; height:100%; object-fit:cover}
.product-mini .body{padding:12px 14px 16px}

.scroller[data-variant="capture"] .product-mini .thumb{
  height:110px;
  margin:14px 14px 0;
  border-radius:12px;
  border:1px solid rgba(11,18,32,0.08);
}

.scroller[data-variant="capture"] .product-mini .body{padding:12px 14px 16px}
.product-mini .name{
  font-weight:900;
  font-size:11px;
  line-height:1.25;
  display:-webkit-box;
  line-clamp:2;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:34px;
}
.product-mini .price{margin-top:10px; font-weight:950}
.stock{display:flex; align-items:center; gap:8px; margin-top:10px; font-size:11px; color:#0a8f55; font-weight:800}
.stock-dot{width:10px; height:10px; border-radius:999px; background:#15b86a; box-shadow:0 0 0 2px rgba(21,184,106,0.15)}

.mini-cta{margin-top:12px; display:flex; justify-content:flex-start}
.mini-add{
  appearance:none;
  border:1px solid rgba(10,42,102,0.22);
  background:rgba(10,42,102,0.06);
  color:rgba(11,18,32,0.92);
  border-radius:999px;
  padding:10px 14px;
  font-weight:950;
  font-size:12px;
  cursor:pointer;
  transition:transform var(--transition), background var(--transition), border-color var(--transition), opacity var(--transition);
}
.mini-add:hover{transform:translateY(-1px); background:rgba(10,42,102,0.10); border-color:rgba(10,42,102,0.30)}

/* Hover section inside the same card (expands on hover) */
.scroller .mini-hover{
  margin-top:0;
  padding-top:0;
  border-top:0;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(4px);
  transition:max-height var(--transition), opacity var(--transition), transform var(--transition);
}
.scroller .product-mini:hover .mini-hover,
.scroller .product-mini:focus-within .mini-hover{
  margin-top:12px;
  padding:12px 14px 16px;
  border-top:1px solid rgba(11,18,32,0.10);
  max-height:360px;
  opacity:1;
  transform:none;
}

.scroller .mini-hover .mini-cta{margin-top:14px; display:flex; justify-content:stretch}
.scroller .mini-hover .mini-add{width:100%; justify-content:center; padding:14px 18px; font-size:14px; background:var(--primary); color:#fff; border-color:rgba(10,42,102,0.35)}
.scroller .mini-hover .mini-add:hover{background:var(--primary); filter:brightness(0.96); transform:none}

.mini-details{
  font-size:12px;
  line-height:1.35;
  color:rgba(11,18,32,0.82);
  margin-top:0;
  padding:0;
}

 .scroller-row{overflow:visible}

@media (hover: none){
  .scroller .mini-hover{max-height:none; opacity:1; transform:none; overflow:visible}
}

/* Hard overrides in scrollers to avoid any global card styles affecting mini cards */
.scroller .product-mini{display:flex; flex-direction:column; justify-content:flex-start; min-height:230px}
.scroller .product-mini .body{display:flex !important; flex-direction:column; flex:1 1 auto; color:rgba(11,18,32,0.92)}
.scroller .product-mini .name,.scroller .product-mini .price,.scroller .product-mini .stock{display:block !important}
.scroller .product-mini .thumb{display:block}

.testimonials{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.testimonial-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(11,18,32,0.08);
  box-shadow:0 12px 26px rgba(11,18,32,0.10);
  padding:18px;
  position:relative;
}

.testimonial-card::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:var(--accent);
}

.testimonial-stars{color:var(--accent); font-weight:950; letter-spacing:1px}
.testimonial-name{font-weight:950; margin-top:10px}

#temoignages .testimonials{gap:18px}
#temoignages .testimonial-card{
  border:1px solid rgba(11,18,32,0.08);
  background:#fff;
  border-radius:18px;
  padding:20px;
  box-shadow:0 14px 34px rgba(11,18,32,0.10);
  position:relative;
}

#temoignages .testimonial-card::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:#f97316;
}

#temoignages .testimonial-name{margin-top:12px; font-weight:950; letter-spacing:-0.2px; color:rgba(11,18,32,0.92)}
#temoignages .testimonial-meta{font-size:12px}

#temoignages .testimonial-stars{color:#f59e0b; margin:0 0 10px; letter-spacing:1px}
#temoignages .testimonial-text{margin:0; color:rgba(11,18,32,0.70); line-height:1.55; font-style:italic}
#temoignages .testimonial-text::before{content:"\201C"; color:rgba(11,18,32,0.25); margin-right:6px; font-weight:950}
#temoignages .testimonial-text::after{content:"\201D"; color:rgba(11,18,32,0.25); margin-left:6px; font-weight:950}

.site-footer{
  background:#f5f7fb;
  border-top:1px solid rgba(11,18,32,0.08);
}

.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap:18px;
  padding:48px 0;
}

.footer-col-title{font-weight:950; font-size:12px; letter-spacing:0.2px; text-transform:uppercase}
.footer-list{margin-top:12px; display:grid; gap:8px}
.footer-list a{color:rgba(11,18,32,0.82)}
.footer-bottom{border-top:1px solid rgba(11,18,32,0.08); padding:16px 0; color:rgba(11,18,32,0.55); font-size:12px}

.wa-float{
  position:fixed;
  left:18px;
  bottom:18px;
  width:54px;
  height:54px;
  border-radius:999px;
  background:#25D366;
  display:grid;
  place-items:center;
  box-shadow:0 18px 34px rgba(0,0,0,0.22);
  z-index:3000;
}

.wa-float svg{width:26px; height:26px; color:#fff}

@media (max-width: 980px){
  .header-top{grid-template-columns:1fr auto; grid-template-rows:auto}
  .header-search{display:none}
  .header-actions{display:none}
  .nav-toggle{grid-column:2; grid-row:1; justify-self:end; align-self:center}
  .header-menu{justify-content:flex-start; overflow:auto; padding:10px 0}
  .nav-toggle{display:inline-flex}
  .header-bottom{display:none}
  .category-grid{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width: 640px){
  .footer-grid{grid-template-columns:1fr;}
  .hero-banner-content{padding:26px 20px}
  .scroller-row{gap:12px; padding:14px}
  .product-mini{flex:0 0 78vw}
  .header-actions{flex-wrap:wrap; justify-content:flex-start}
  .header-actions > a{flex:1 1 auto}
  .header-search input{min-width:0}
}

.hero::before{
  content:"";
  position:absolute;
  inset:auto auto 10% -140px;
  width:420px;
  height:420px;
  border-radius:999px;
  background:radial-gradient(circle at 35% 35%, rgba(107,77,255,0.22), rgba(18,182,255,0.00) 65%);
  filter:blur(2px);
  pointer-events:none;
  z-index:0;
}

.hero::after{
  content:"";
  position:absolute;
  inset:-160px -220px auto auto;
  width:520px;
  height:520px;
  border-radius:999px;
  background:radial-gradient(circle at 40% 40%, rgba(18,182,255,0.18), rgba(107,77,255,0.00) 70%);
  filter:blur(2px);
  pointer-events:none;
  z-index:0;
}
.hero-inner{display:grid; grid-template-columns: 1.1fr 0.9fr; gap:26px; align-items:start; position:relative; z-index:1}
.hero-copy h1{font-size:clamp(28px, 3.3vw, 44px); line-height:1.1; margin:14px 0 12px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}

.trust{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px}
.trust-item{border:1px solid var(--border); background:rgba(255,255,255,0.78); border-radius:var(--radius-sm); padding:14px}
.trust-title{font-size:12px; color:var(--muted)}
.trust-value{font-size:13px; font-weight:650}

.hero-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:rgba(255,255,255,0.86);
  box-shadow:var(--shadow);
  padding:18px;
}
.hero-card-top{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px}
.hero-card-title{font-weight:950; letter-spacing:-0.2px}

.hero-card-top .link{font-weight:800; text-decoration:none}
.hero-card-top .link:hover{text-decoration:underline; text-underline-offset:3px}

/* Featured grid in the hero */
.hero-card .grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}

/* Make cards inside the featured widget more compact */
.hero-card .product-card{
  padding:14px;
  min-height:0;
  box-shadow:0 10px 24px rgba(11,18,32,0.08);
}
.hero-card .thumb{height:92px}
.hero-card .product-card .title{font-size:14px; margin:10px 0 4px}
.hero-card .product-card .meta{font-size:12px}
.hero-card .price{margin-top:8px; font-size:14px}
.hero-card .product-card .actions{gap:8px}
.hero-card .product-card .actions .btn{padding:10px 10px; font-size:13px}

.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
.section-head h2{margin:0}
.page-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
.page-head h1{margin:0}

/* Center headings */
h1, h2, h3{text-align:center}

/* Section headers: usually title + subtitle */
.section-head{flex-direction:column; align-items:center; text-align:center}

/* Category section (home) must match reference: left aligned title */
.category-section .section-head{align-items:flex-start; text-align:left}
.category-section .section-head h2{text-align:left; color:var(--primary); font-weight:950}

/* Page headers: keep right-side action buttons but center the title block */
.page-head{align-items:center}
.page-head > div{flex:1; text-align:center}

.grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}

.category-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.category-card{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.78);
  border-radius:var(--radius);
  padding:18px;
  transition:transform var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(11,18,32,0.08);
}
.category-card::before{
  content:"";
  position:absolute;
  left:-40px;
  top:-40px;
  width:120px;
  height:120px;
  border-radius:40px;
  background:radial-gradient(circle at 30% 30%, rgba(107,77,255,0.25), rgba(18,182,255,0.00) 70%);
  pointer-events:none;
}
.category-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg, rgba(107,77,255,0.95), rgba(18,182,255,0.85));
  opacity:0.9;
  pointer-events:none;
}
.category-card:hover{
  transform:translateY(-4px);
  background:#fff;
  border-color:rgba(107,77,255,0.25);
  box-shadow:0 18px 42px rgba(11,18,32,0.14);
}
.category-card:focus-visible{
  outline:none;
  box-shadow:var(--shadow-focus), 0 18px 42px rgba(11,18,32,0.14);
}
.category-title{font-weight:900; margin-bottom:8px; letter-spacing:-0.2px}
.category-card .muted{color:rgba(11,18,32,0.70)}

.about-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.about-title{font-weight:850; margin-bottom:8px}

.testimonials{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.testimonial-card{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.78);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:0 10px 24px rgba(11,18,32,0.10);
  transition:transform var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.testimonial-card:hover{
  transform:translateY(-4px);
  background:#fff;
  border-color:rgba(107,77,255,0.25);
  box-shadow:0 18px 42px rgba(11,18,32,0.14);
}
.testimonial-stars{
  color:#f59e0b;
  font-weight:950;
  letter-spacing:1px;
  margin-bottom:10px;
}
.testimonial-top{display:flex; align-items:center; gap:12px; margin-bottom:10px}
.avatar{
  width:38px; height:38px;
  border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(107,77,255,0.85), rgba(18,182,255,0.55));
  border:1px solid rgba(11,18,32,0.10);
  font-weight:900;
  color:#fff;
}
.testimonial-name{font-weight:850}
.testimonial-meta{font-size:13px}
.testimonial-text{margin:0; color:rgba(11,18,32,0.88)}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,0.10);
  background:rgba(255,255,255,0.72);
  color:rgba(11,18,32,0.88);
  cursor:pointer;
  transition:transform var(--transition), background var(--transition), border-color var(--transition), filter var(--transition);
  font-weight:650;
  box-shadow:0 10px 24px rgba(11,18,32,0.10);
}
.btn:not(.btn-primary):hover{transform:translateY(-1px); background:rgba(255,255,255,0.92)}
.btn:disabled{opacity:0.65; cursor:not-allowed; transform:none}
.btn-primary{border-color:rgba(107,77,255,0.35); background:var(--primary); color:#fff}
.btn-primary:hover{transform:translateY(-1px); background:var(--primary); filter:brightness(0.96)}
.btn-danger{border-color:rgba(225,29,72,0.35); background:var(--danger); color:#fff}
.btn-danger:hover{transform:translateY(-1px); background:var(--danger); filter:brightness(0.96)}
.btn-ghost{background:rgba(255,255,255,0.60)}

.card{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.78);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:0 10px 28px rgba(0,0,0,0.22);
}
.card-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px}
.card-title{margin:0; font-size:16px}

.product-card{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.78);
  border-radius:var(--radius);
  padding:20px;
  transition:transform var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);
  display:flex; flex-direction:column;
  min-height:210px;
  box-shadow:0 10px 24px rgba(11,18,32,0.08);
}
.product-card:hover{
  transform:translateY(-6px);
  background:#fff;
  border-color:rgba(107,77,255,0.25);
  box-shadow:0 22px 48px rgba(11,18,32,0.14);
}
.product-card .title{font-weight:800; margin:10px 0 6px}
.product-card .meta{font-size:13px; color:var(--muted)}
.price{font-weight:950; margin-top:10px; letter-spacing:-0.2px}
.price .old{color:var(--muted); text-decoration:line-through; margin-left:8px; font-weight:750}
.product-card .actions{margin-top:auto; display:flex; gap:10px; flex-wrap:wrap}

.thumb{
  height:120px;
  border-radius:14px;
  background:rgba(107,77,255,0.10);
  border:1px solid var(--border);
  overflow:hidden;
  position:relative;
}

.thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1);
  transition:transform var(--transition);
}

.product-card:hover .thumb img{transform:scale(1.06)}

.product-card .actions .btn{padding:11px 12px}
.product-card .actions .btn-primary{box-shadow:none}

.filters{display:grid; grid-template-columns:1.2fr 0.8fr auto; gap:12px; margin-bottom:16px; align-items:end}
.filters-actions{display:flex; gap:10px; justify-content:flex-end}

.input label{display:block; margin-bottom:8px; font-size:13px; color:rgba(11,18,32,0.78)}
.input input, .input select, .input textarea{
  width:100%;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.88);
  color:var(--text);
  padding:12px 12px;
  outline:none;
  transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);
  font-size:16px;
}
.input textarea{resize:vertical; min-height:110px}
.input input:focus, .input select:focus, .input textarea:focus{border-color:rgba(85,214,255,0.35); box-shadow:0 0 0 4px rgba(85,214,255,0.12)}

.field-error{min-height:18px; font-size:13px; margin-top:8px; color:rgba(255,92,122,0.95)}
.form-status{margin-top:12px; font-size:14px}
.form-status.ok{color:rgba(85,214,255,0.95)}
.form-status.err{color:rgba(255,92,122,0.95)}

.two-col{display:grid; grid-template-columns:1.15fr 0.85fr; gap:14px; align-items:start}

.cart-layout{display:grid; grid-template-columns:1fr 360px; gap:14px; align-items:start}
.cart-table{width:100%}
.cart-thead{display:grid; grid-template-columns:1fr 140px 160px 140px; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); font-size:12px; font-weight:900; color:rgba(11,18,32,0.70); text-transform:uppercase; letter-spacing:0.6px}
.cart-tbody{display:grid}

.cart-tr{display:grid; grid-template-columns:1fr 140px 160px 140px; gap:12px; padding:14px 0; border-bottom:1px solid var(--border); align-items:center}
.cart-td-product .row-title{font-weight:850}
.cart-td-product .row-meta{font-size:12px; color:var(--muted); margin-top:2px}
.cart-td-price{font-weight:800; font-size:13px; color:rgba(11,18,32,0.82)}
.cart-td-subtotal{font-weight:950; font-size:13px; justify-self:end}

.cart-td-qty{display:flex; align-items:center; justify-content:flex-start; gap:10px}
.qty-stepper{display:inline-flex; align-items:center; border:1px solid rgba(11,18,32,0.12); border-radius:999px; background:#fff; overflow:hidden}
.qty-btn{width:34px; height:32px; border:0; background:transparent; font-weight:950; cursor:pointer; color:rgba(11,18,32,0.82)}
.qty-btn:hover{background:rgba(11,18,32,0.05)}
.qty-value{min-width:34px; text-align:center; font-weight:900; font-size:13px; color:rgba(11,18,32,0.92)}

.cart-remove{width:32px; height:32px; border-radius:10px; border:1px solid rgba(11,18,32,0.10); background:#fff; cursor:pointer; font-weight:950; color:rgba(11,18,32,0.60)}
.cart-remove:hover{background:rgba(11,18,32,0.05); color:rgba(11,18,32,0.85)}

.cart-summary{position:sticky; top:96px}
.cart-summary-box{border:1px solid rgba(11,18,32,0.08); border-radius:16px; padding:14px; background:#fff}
.cart-summary-row{display:flex; align-items:center; justify-content:space-between; gap:12px}

.checkout-coupon{
  border:1px solid rgba(11,18,32,0.08);
  background:rgba(11,18,32,0.02);
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:14px;
}

.checkout-layout{display:grid; grid-template-columns:1fr 380px; gap:16px; align-items:start}
.checkout-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px}

.checkout-additional{margin-top:18px; padding-top:16px; border-top:1px solid rgba(11,18,32,0.08)}
.checkout-additional-title{font-weight:950; font-size:12px; letter-spacing:0.6px; text-transform:uppercase; color:rgba(11,18,32,0.72)}

.checkout-order{display:grid; gap:12px}
.checkout-order-head{display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:900; color:rgba(11,18,32,0.70); text-transform:uppercase; letter-spacing:0.6px; padding-bottom:10px; border-bottom:1px solid rgba(11,18,32,0.08)}
.checkout-order-items{display:grid; gap:10px}
.checkout-order-row{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.checkout-order-name{font-weight:850; font-size:13px; color:rgba(11,18,32,0.92); line-height:1.25}
.checkout-order-price{font-weight:900; font-size:12px; color:rgba(11,18,32,0.82); white-space:nowrap}

.checkout-order-totals{padding-top:12px; border-top:1px solid rgba(11,18,32,0.08)}
.checkout-total-row{display:flex; align-items:center; justify-content:space-between; gap:12px}

.checkout-payment{padding-top:12px; border-top:1px solid rgba(11,18,32,0.08)}
.checkout-payment-title{font-weight:900; font-size:13px; color:rgba(11,18,32,0.90)}

.checkout-terms{display:flex; gap:10px; align-items:flex-start; font-size:12px; color:rgba(11,18,32,0.82); line-height:1.45; padding-top:10px; border-top:1px solid rgba(11,18,32,0.08)}
.checkout-terms input{margin-top:3px}

.checkout-submit{width:100%; margin-top:10px}

.breadcrumb{font-size:12px; margin-bottom:14px}
.breadcrumb .sep{margin:0 6px; color:rgba(11,18,32,0.35)}

.contact-layout{display:grid; grid-template-columns:1.05fr 0.95fr; gap:22px; align-items:start}
.contact-left{padding:6px 0}
.contact-title{margin:0 0 10px; font-size:38px; line-height:1.05; letter-spacing:-0.8px; color:var(--primary); font-weight:950}

.contact-info-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px}
.contact-k{font-size:12px; font-weight:900; color:rgba(11,18,32,0.72); text-transform:uppercase; letter-spacing:0.6px}
.contact-v{margin-top:6px; font-size:13px}

.contact-channels{display:grid; gap:14px; margin-top:22px}
.contact-channel{display:flex; gap:14px; align-items:center}
.contact-icon{width:36px; height:36px; border-radius:999px; border:1px solid rgba(11,18,32,0.10); background:#fff; display:grid; place-items:center; color:rgba(11,18,32,0.65)}
.contact-icon svg{width:18px; height:18px}

.contact-right{border:1px solid var(--border); background:#fff; border-radius:var(--radius); padding:18px; box-shadow:0 10px 24px rgba(11,18,32,0.08)}
.contact-form-head h2{margin:0; text-align:left; color:var(--primary); font-weight:950}
.contact-form-head p{margin:6px 0 0}
.contact-form-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px}

.cart-row{display:grid; grid-template-columns:1fr auto; gap:12px; padding:12px 0; border-top:1px solid var(--border)}
.cart-row:first-child{border-top:0}
.cart-row .row-title{font-weight:750}
.cart-row .row-meta{font-size:13px; color:var(--muted)}
.cart-row .row-price{font-size:13px; color:var(--muted); margin-top:4px}
.cart-right{display:flex; flex-direction:column; gap:8px; align-items:flex-end}
.row-total{font-weight:900}
.cart-total{display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-top:1px solid var(--border); margin-top:6px}
.cart-total strong{font-weight:950}
.qty{display:flex; gap:10px; align-items:center; justify-content:flex-end}
.qty input{width:76px; text-align:center}

.empty{
  border:1px dashed rgba(11,18,32,0.18);
  border-radius:var(--radius);
  padding:18px;
  text-align:center;
  margin-top:10px;
}

.cta{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  background:rgba(107,77,255,0.06);
}

.site-footer{border-top:1px solid var(--border); padding:22px 0; background:rgba(255,255,255,0.70)}
.footer-inner{display:flex; justify-content:space-between; gap:14px; align-items:center}
.footer-links{display:flex; gap:14px}
.brand-footer{margin-bottom:8px}

.skeleton-card, .skeleton{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(90deg, rgba(255,255,255,0.04), rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  background-size:200% 100%;
  animation:skeleton 1.1s infinite linear;
  min-height:210px;
}
.hero-card .skeleton-card{min-height:170px}
.product-skeleton{min-height:340px}
@keyframes skeleton{0%{background-position:0% 0}100%{background-position:-200% 0}}

.product-layout{display:grid; grid-template-columns:0.95fr 1.05fr; gap:16px}
.product-hero{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:rgba(107,77,255,0.10);
  height:320px;
  overflow:hidden;
}

.product-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-info h1{margin:0 0 8px}
.pills{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 14px}
.pill{font-size:12px; padding:7px 10px; border-radius:999px; border:1px solid var(--border); background:rgba(11,18,32,0.05); color:rgba(11,18,32,0.86)}

@media (max-width: 920px){
  .nav{display:none}
  .nav-toggle{display:inline-flex}
  .header-tagline{display:none}
  .hero-inner{grid-template-columns:1fr;}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .testimonials{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-col{grid-template-columns:1fr}
  .cart-layout{grid-template-columns:1fr}
  .cart-summary{position:static; top:auto}
  .cart-thead{display:none}
  .cart-tr{grid-template-columns:1fr auto; grid-template-areas:
    "prod sub"
    "price price"
    "qty qty";
    align-items:start}
  .cart-td-product{grid-area:prod}
  .cart-td-subtotal{grid-area:sub; justify-self:end}
  .cart-td-price{grid-area:price}
  .cart-td-qty{grid-area:qty; justify-content:space-between}
  .filters{grid-template-columns:1fr 1fr}
  .filters-actions{grid-column:1 / -1; justify-content:flex-start}
  .product-layout{grid-template-columns:1fr}
  .product-hero{height:260px}
  .checkout-layout{grid-template-columns:1fr}
  .checkout-grid-2{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr; gap:16px}
  .contact-title{font-size:32px}
  .contact-info-grid{grid-template-columns:1fr}
  .contact-form-grid-2{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .header-inner{gap:12px}
  .hero-inner{gap:18px}
  .grid{grid-template-columns:1fr}
  .category-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}
  .section{padding:36px 0}
  .section-alt{padding:36px 0}
  .hero{padding:30px 0 22px}

  .filters{grid-template-columns:1fr}
  .filters-actions{grid-column:auto; justify-content:stretch}
  .filters-actions .btn{width:100%}

  .product-card{padding:16px}
  .thumb{height:160px}
  .product-card .actions{flex-direction:column}
  .product-card .actions .btn{width:100%; justify-content:center}

  .hero-card .grid{grid-template-columns:1fr}
  .hero-card .thumb{height:140px}
  .footer-inner{flex-direction:column; align-items:flex-start}
}
