/* ============================================================
   INNER PAGES
   ============================================================ */

.page{ padding-top:var(--nav-h) }
.page-hero{ padding-block:clamp(56px,7vw,110px) clamp(30px,3.5vw,54px); position:relative }
.page-hero .sec-num{ margin-bottom:14px }
.page-hero .lede{ margin-top:22px }
.crumb{ font-size:13px; color:var(--muted); margin-bottom:26px }
.crumb a:hover{ color:var(--ink) }
.crumb span{ margin:0 8px; opacity:.5 }

/* ---------- MENU ---------- */
.filters{ display:flex; gap:10px; flex-wrap:wrap; margin:38px 0 0; padding-bottom:34px; border-bottom:1px solid var(--line) }
.grid-prods{
  display:grid; gap:clamp(16px,1.8vw,30px);
  grid-template-columns:repeat(auto-fill, minmax(268px,1fr));
  padding:clamp(34px,4vw,56px) 0 clamp(60px,7vw,110px);
}
.grid-prods .prod__media{ aspect-ratio:1/.84; background:var(--cream-2); border-radius:12px }

.prod__tag{
  position:absolute; top:16px; left:16px; z-index:3;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
  background:var(--ink); color:#fff; padding:5px 11px; border-radius:999px;
}
.empty{ padding:80px 0; text-align:center; color:var(--muted) }

.combo-strip{
  background:var(--ink); color:#fff; border-radius:var(--r-lg);
  padding:clamp(26px,3.4vw,44px); display:flex; align-items:center; gap:28px; flex-wrap:wrap;
  margin-bottom:clamp(40px,5vw,80px);
}
.combo-strip__txt{ flex:1; min-width:240px }
.combo-strip h3{ font-family:var(--f-display); font-size:clamp(22px,2.4vw,32px); font-weight:700 }
.combo-strip p{ color:rgba(255,255,255,.6); margin-top:8px; font-size:14.5px }
.combo-strip img{ width:120px; flex:0 0 auto }

/* ---------- PRODUCT DETAIL ---------- */
.pd{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(34px,4.5vw,86px); padding-bottom:clamp(60px,7vw,110px) }
.pd__gallery{ display:grid; grid-template-columns:88px minmax(0,1fr); gap:18px; align-items:start }
.pd__thumbs{ display:grid; gap:12px; min-width:0 }
.pd__thumbs button{
  aspect-ratio:1; border-radius:12px; background:var(--cream-2);
  border:1px solid transparent; display:grid; place-items:center; padding:8px; transition:.3s;
}
.pd__thumbs button.is-on{ border-color:var(--gold); background:#fff }
.pd__thumbs img{ max-height:100%; max-width:100%; width:auto }
.pd__main{
  border-radius:var(--r-lg); background:var(--cream-2);
  aspect-ratio:1/1; display:grid; place-items:center; padding:clamp(20px,3vw,52px); position:relative; overflow:hidden;
}
.pd__main::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(56% 56% at 50% 52%, rgba(255,193,7,.18), transparent 70%);
}
.pd__main img{ max-height:100%; width:auto; position:relative; z-index:2; filter:drop-shadow(0 34px 34px rgba(120,60,10,.24)) }
.pd__price{ font-family:var(--f-display); font-size:clamp(26px,2.6vw,36px); font-weight:700; color:var(--red); margin-top:14px }
.pd__desc{ color:var(--ink-soft); margin-top:22px; max-width:46ch }
.pd__block{ margin-top:34px }
.pd__block > span{ display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:12px }
.spice{ display:flex; gap:10px; flex-wrap:wrap }
.pd__buy{ display:flex; gap:14px; align-items:center; margin-top:34px; flex-wrap:wrap }
.pd__buy .btn{ flex:1; min-width:220px }
.fact{ text-align:center; width:104px }
.fact i{
  width:64px;height:64px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;margin:0 auto 14px; color:var(--ink-soft);
  transition:.45s var(--ease);
}
.fact:hover i{ border-color:var(--gold); background:#fff; transform:translateY(-4px) }
.fact svg{ width:26px;height:26px }
.fact b{ display:block;font-size:13px;font-weight:500;line-height:1.4 }
.pd__marks{ display:flex; gap:clamp(16px,2.6vw,40px); margin-top:44px; padding-top:32px; border-top:1px solid var(--line); flex-wrap:wrap }
.pd__marks .fact{ width:96px }
.pd__marks .fact i{ width:54px;height:54px }
.pd__marks .fact svg{ width:22px;height:22px }

.related{ padding-bottom:clamp(60px,7vw,110px) }
.related h2{ margin-bottom:34px }

/* ---------- ABOUT ---------- */
.ab-hero{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(30px,4vw,70px); align-items:end }
.ab-hero__img{ border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/3 }
.ab-hero__img img{ width:100%;height:100%;object-fit:cover }
.ab-band{ background:var(--ink); color:#fff; padding:clamp(60px,7vw,110px) 0; margin-top:clamp(60px,7vw,110px) }
.ab-band h2{ color:#fff }
.ab-quote{ font-family:var(--f-display); font-size:clamp(24px,3.4vw,52px); line-height:1.25; max-width:20ch }
.ab-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,4vw,80px); align-items:center; padding:clamp(60px,7vw,110px) 0 }
.ab-split--rev > *:first-child{ order:2 }
.ab-figures{ display:grid; grid-template-columns:1fr 1fr; gap:16px }
.ab-figures figure{ border-radius:var(--r-md); overflow:hidden; aspect-ratio:1 }
.ab-figures figure:first-child{ grid-column:1/3; aspect-ratio:16/9 }
.ab-figures img{ width:100%;height:100%;object-fit:cover }
.values{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,2.6vw,44px); padding-bottom:clamp(60px,7vw,110px) }
.value h3{ font-family:var(--f-display); font-size:22px; font-weight:700; margin:18px 0 10px }
.value p{ font-size:14.5px; color:var(--muted) }
.value svg{ width:30px;height:30px;color:var(--gold-deep) }
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:56px }
.stat b{ display:block; font-family:var(--f-display); font-size:clamp(32px,3.6vw,54px); font-weight:700; color:var(--gold) }
.stat span{ font-size:13px; color:rgba(255,255,255,.55) }

/* ---------- LOCATIONS ---------- */
.loc{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,3.4vw,64px); align-items:start; padding-bottom:clamp(50px,6vw,90px) }
.map{
  position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:16/11;
  background:
    linear-gradient(#F3EADA 0 0) padding-box,
    var(--cream-2);
  border:1px solid var(--line);
}
.map svg{ position:absolute; inset:0; width:100%; height:100% }
.map .rd{ stroke:#E4D6BE; fill:none; stroke-linecap:round }
.map .rd--big{ stroke:#DCCAAC; stroke-width:9 }
.map .blk{ fill:#F6EFE1 }
.map .wtr{ fill:#E4E9DE }
.pin{
  position:absolute; transform:translate(-50%,-100%);
  color:var(--red); filter:drop-shadow(0 6px 8px rgba(0,0,0,.18)); cursor:pointer;
  transition:transform .35s var(--ease);
}
.pin:hover,.pin.is-on{ transform:translate(-50%,-100%) scale(1.18) }
.pin svg{ width:34px;height:34px; fill:currentColor; stroke:#fff; stroke-width:1.4 }
.search-row{ position:relative; margin-bottom:22px }
.search-row .input{ padding-left:48px }
.search-row svg{ position:absolute; left:17px; top:50%; transform:translateY(-50%); width:19px;height:19px; color:var(--muted) }
.store{ padding:24px; border-radius:var(--r-md); border:1px solid var(--line); background:#fff; margin-bottom:14px; transition:.4s var(--ease) }
.store:hover,.store.is-on{ border-color:var(--gold); box-shadow:0 22px 44px -30px rgba(60,40,10,.5) }
.store h3{ font-family:var(--f-display); font-size:20px; font-weight:700 }
.store ul{ margin:14px 0 18px }
.store li{ display:flex; gap:10px; align-items:center; font-size:14px; color:var(--ink-soft); margin-bottom:7px }
.store svg{ width:17px;height:17px;color:var(--muted); flex:0 0 auto }

/* ---------- CART ---------- */
.cart-grid{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr); gap:clamp(28px,3.6vw,66px); padding-bottom:clamp(60px,7vw,110px); align-items:start }
.line{ display:grid; grid-template-columns:88px minmax(0,1fr) auto auto auto; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line) }
.line__img{ width:88px;height:88px;border-radius:12px;background:var(--cream-2);display:grid;place-items:center;padding:8px }
.line__img img{ max-height:100%;width:auto }
.line__name{ font-family:var(--f-display); font-size:18px; font-weight:700 }
.line__meta{ font-size:13px; color:var(--muted); margin-top:4px }
.line__price{ font-weight:500; min-width:70px; text-align:right }
.line__rm{ width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--muted-2);transition:.3s }
.line__rm:hover{ color:var(--red); background:var(--cream-2) }
.line__rm svg{ width:16px;height:16px }
.summary{ background:var(--cream-2); border-radius:var(--r-lg); padding:clamp(24px,2.6vw,36px); position:sticky; top:calc(var(--nav-h) + 20px) }
.summary h3{ font-family:var(--f-display); font-size:22px; font-weight:700; margin-bottom:22px }
.sum-row{ display:flex; justify-content:space-between; font-size:14.5px; padding:9px 0; color:var(--ink-soft) }
.sum-row--total{ border-top:1px solid var(--line); margin-top:12px; padding-top:18px; font-size:19px; font-weight:600; color:var(--ink) }
.sum-row--total b{ font-family:var(--f-display); font-size:24px }
.summary .btn{ margin-top:24px }
.summary .cont{ display:block; text-align:center; margin-top:16px; font-size:13.5px; color:var(--muted) }
.summary .cont:hover{ color:var(--ink) }
.cart-empty{ padding:70px 0; text-align:center }
.cart-empty p{ color:var(--muted); margin:14px 0 26px }

/* ---------- CHECKOUT ---------- */
.co-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr); gap:clamp(26px,3vw,54px); padding-bottom:clamp(60px,7vw,110px); align-items:start }
.co-block h3{ font-family:var(--f-display); font-size:21px; font-weight:700; margin-bottom:22px }
.pay{ display:grid; gap:10px; margin-bottom:22px }
.pay label{
  display:flex; align-items:center; gap:12px; padding:16px 18px;
  border:1px solid var(--line); border-radius:10px; cursor:pointer; transition:.3s; font-size:14.5px;
}
.pay label:has(input:checked){ border-color:var(--gold); background:#fff }
.pay input{ accent-color:var(--gold-deep) }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
.co-note{ font-size:12.5px; color:var(--muted); margin-top:16px; text-align:center }
.co-note a{ color:var(--red) }
.mini-line{ display:flex; gap:12px; align-items:center; padding:11px 0; font-size:14px }
.mini-line .line__img{ width:46px;height:46px;border-radius:9px;padding:5px }
.mini-line b{ font-weight:500 }
.mini-line span{ margin-left:auto; font-weight:500 }

/* ---------- CONTACT ---------- */
.ct-grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(30px,4vw,80px); padding-bottom:clamp(60px,7vw,110px); align-items:start }
.ct-item{ display:flex; gap:16px; align-items:flex-start; padding:22px 0; border-bottom:1px solid var(--line) }
.ct-item i{ width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:0 0 auto;color:var(--ink-soft) }
.ct-item svg{ width:19px;height:19px }
.ct-item small{ display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:5px }
.ct-item b{ font-weight:400; font-size:16px }
.ct-form{ background:var(--cream-2); border-radius:var(--r-lg); padding:clamp(26px,3vw,44px) }
.ct-social{ display:flex; gap:12px; margin-top:28px }
.ct-social a{ width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.3s }
.ct-social a:hover{ background:var(--ink); color:#fff; border-color:var(--ink) }
.ct-social svg{ width:17px;height:17px }
.faq{ padding-bottom:clamp(60px,7vw,110px) }
.faq details{ border-bottom:1px solid var(--line); padding:22px 0 }
.faq summary{ cursor:pointer; font-family:var(--f-display); font-size:19px; font-weight:700; list-style:none; display:flex; justify-content:space-between; gap:20px }
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{ content:"+"; color:var(--gold-deep); font-family:var(--f-body); font-size:22px; line-height:1 }
.faq details[open] summary::after{ content:"–" }
.faq p{ color:var(--muted); margin-top:14px; max-width:70ch; font-size:15px }

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pd,.loc,.cart-grid,.ct-grid,.ab-hero,.ab-split{ grid-template-columns:1fr }
  .ab-split--rev > *:first-child{ order:0 }
  .co-grid{ grid-template-columns:1fr 1fr }
  .values{ grid-template-columns:1fr 1fr }
  .summary{ position:static }
}
@media (max-width:760px){
  .co-grid,.values,.stat-row,.two{ grid-template-columns:1fr }
  .stat-row{ grid-template-columns:1fr 1fr }
  .pd__gallery{ grid-template-columns:minmax(0,1fr); gap:14px }
  .pd__thumbs{ grid-template-columns:repeat(4,minmax(0,1fr)); order:2 }
  .pd__main{ order:1 }
  .line{ grid-template-columns:70px minmax(0,1fr) auto; gap:14px; row-gap:12px }
  .line__img{ width:70px;height:70px }
  .line__price{ grid-column:2/4; text-align:left }
  .grid-prods{ grid-template-columns:repeat(auto-fill,minmax(200px,1fr)) }
  .pd__marks{ display:grid; grid-template-columns:1fr 1fr; gap:22px }
  .pd__marks .fact{ width:auto }
  .combo-strip{ text-align:center; justify-content:center }
  .combo-strip .btn{ width:100% }
  .ab-figures figure:first-child{ grid-column:1/3 }
}
