/* Maison Aurevia — Search + Detail Polish */
.search-trigger{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--line,rgba(0,0,0,.12));border-radius:999px;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);color:var(--ink,#1a1a1a);font:inherit;font-size:14px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.search-trigger:hover{transform:translateY(-1px);background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.search-trigger kbd{font-family:ui-monospace,monospace;font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--line,rgba(0,0,0,.12));background:#f5f3ee;color:#6b6b6b}
@media (max-width:720px){.search-trigger span,.search-trigger kbd{display:none}}
.search-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:start center;padding-top:10vh}
.search-modal[hidden]{display:none}
.search-modal__backdrop{position:absolute;inset:0;background:rgba(15,15,15,.45);backdrop-filter:blur(6px);opacity:0;transition:opacity .28s ease}
.search-modal.is-open .search-modal__backdrop{opacity:1}
.search-modal__panel{position:relative;width:min(720px,92vw);max-height:78vh;display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden;opacity:0;transform:translateY(-12px) scale(.98);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
.search-modal.is-open .search-modal__panel{opacity:1;transform:translateY(0) scale(1)}
.search-modal__input-wrap{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid rgba(0,0,0,.08)}
.search-modal__input-wrap svg{flex-shrink:0;opacity:.55}
#searchInput{flex:1;border:0;outline:0;font-size:18px;background:transparent;color:#1a1a1a;font-family:inherit}
#searchInput::placeholder{color:#b6b0a6}
.search-modal__close{border:0;background:transparent;font-size:26px;line-height:1;color:#8a8a8a;cursor:pointer;padding:0 4px;border-radius:8px;transition:background .2s ease,color .2s ease}
.search-modal__close:hover{background:#f2efe9;color:#1a1a1a}
.search-modal__results{overflow-y:auto;padding:14px}
.search-modal__hint{text-align:center;color:#9b9b9b;padding:40px 20px;font-size:14px}
.search-result{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;text-decoration:none;color:inherit;transition:background .18s ease,transform .18s ease}
.search-result:hover,.search-result.is-active{background:#f7f4ee;transform:translateX(2px)}
.search-result img{width:56px;height:56px;border-radius:10px;object-fit:cover;background:#f0ede6}
.search-result__name{font-weight:600;font-size:15px;color:#1a1a1a}
.search-result__name mark{background:#f6e6b6;color:inherit;border-radius:3px;padding:0 2px}
.search-result__meta{font-size:12px;color:#8a8a8a;margin-top:2px}
.search-result__price{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;color:#1a1a1a}
.read-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,#c9a24a,#e6c877);z-index:10000;transition:width .1s linear}
header.site-header{position:sticky;top:0;z-index:500;transition:box-shadow .25s ease,background .25s ease}
header.site-header.is-scrolled{box-shadow:0 8px 24px rgba(0,0,0,.06);background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px)}
.card,.product-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s cubic-bezier(.2,.8,.2,1)}
.card:hover,.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(0,0,0,.10)}
.btn-primary{position:relative;overflow:hidden;isolation:isolate}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-100%);transition:transform .7s ease}
.btn-primary:hover::after{transform:translateX(100%)}
.trust-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:22px 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);margin:40px 0}
.trust-strip__item{display:flex;align-items:center;gap:10px;font-size:13px;color:#4a4a4a}
.trust-strip__item svg{color:#c9a24a}
.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #1a1a1a;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease,
              background .25s ease, visibility .3s ease;
  z-index: 9998;
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
  pointer-events: none;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.back-to-top:hover {
  background: #c9a24a;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201,162,74,.35);
}
.back-to-top:active { transform: translateY(0); }
.back-to-top svg {
  width: 20px;
  height: 20px;
  stroke-width: 2.5;
}
@media (max-width: 720px) {
  .back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }
}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ============================================================
   Header inline search bar
   ============================================================ */
.header-search{position:relative;display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:rgba(255,255,255,.75);backdrop-filter:blur(10px);transition:box-shadow .25s ease,background .25s ease,border-color .25s ease;min-width:200px;max-width:300px}
.header-search:focus-within{background:#fff;border-color:#c9a24a;box-shadow:0 0 0 3px rgba(201,162,74,.15),0 6px 20px rgba(0,0,0,.06)}
.header-search__icon{flex-shrink:0;opacity:.5;transition:opacity .2s ease}
.header-search:focus-within .header-search__icon{opacity:.9}
.header-search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:#1a1a1a;min-width:0}
.header-search input::placeholder{color:#b6b0a6}
.header-search__results{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:340px;background:#fff;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.15);overflow:hidden;z-index:1000;max-height:400px;overflow-y:auto}
.header-search__results[hidden]{display:none}
.header-search__results .search-result{grid-template-columns:44px 1fr auto;padding:10px 12px;border-radius:0}
.header-search__results .search-result img{width:44px;height:44px}
.header-search__results .search-result__name{font-size:14px}
.header-search__results .search-result__price{font-size:13px}
.header-search__empty{padding:20px;text-align:center;color:#9b9b9b;font-size:13px}
@media (max-width:860px){.header-search{display:none}}




/* ============================================================
   SHOP — CLEAN LAYOUT
   ============================================================ */

.shop {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

/* ── Sidebar ── */
.shop__side {
  position: sticky;
  top: calc(var(--header-h, 72px) + 24px);
  align-self: start;
  z-index: 10;
  background: transparent;
  padding-right: 8px;
}

.shop__side .facets,
.shop__side [class*="facet"] {
  background: transparent;
}

.shop__side .facet__h {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #8a8172;
  margin: 0 0 14px;
  font-weight: 600;
}

.shop__side .facet__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.shop__side .facet__list a,
.shop__side .facet__list button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 14px;
  border-radius: 10px;
  font-size: 14px;
  color: #3a3530;
  text-decoration: none;
  border: 0;
  background: transparent;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.shop__side .facet__list a:hover,
.shop__side .facet__list button:hover {
  background: rgba(0,0,0,.035);
}
.shop__side .facet__list a[aria-current],
.shop__side .facet__list button[aria-current],
.shop__side .facet__list .is-active {
  background: #14110d;
  color: #f7f4ee;
  font-weight: 500;
}
.shop__side .facet__list a[aria-current] *,
.shop__side .facet__list .is-active * {
  color: #f7f4ee;
}

/* ── Products grid ── */
.grid-products {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 22px;
}

/* ── Product card — clean, premium ── */
.grid-products .pcard,
.grid-products > article {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  transition: transform .35s cubic-bezier(.2,.8,.2,1),
              box-shadow .35s cubic-bezier(.2,.8,.2,1);
  position: relative;
}
.grid-products .pcard:hover,
.grid-products > article:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
  z-index: 2;
}

/* Hide old compare_at strikethrough if any remain */
.grid-products .price__was,
.grid-products .pcard__discount,
.grid-products [class*="save"] {
  display: none !important;
}

/* Price row cleanup */
.grid-products .price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
}
.grid-products .price__now {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: -.01em;
}
.grid-products .price__cur {
  font-size: 11px;
  color: #9b958a;
  letter-spacing: .06em;
}

/* Floating "+" button — make it subtle */
.grid-products .pcard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 18px;
  border-top: 1px solid rgba(0,0,0,.04);
}
.grid-products .pcard__add,
.grid-products .pcard__foot button,
.grid-products button[aria-label*="Add"] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #14110d;
  color: #fff;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  transition: background .2s ease, transform .2s ease;
  flex-shrink: 0;
}
.grid-products .pcard__add:hover,
.grid-products .pcard__foot button:hover,
.grid-products button[aria-label*="Add"]:hover {
  background: #c9a24a;
  transform: scale(1.06);
}

/* ── Mobile ── */
@media (max-width: 860px) {
  .shop {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .shop__side {
    position: static;
    top: auto;
  }
  .grid-products {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
  }
}


/* ============================================================
   PDP BULLETPROOF FIX — cannot be overridden by pages.css
   ============================================================ */

/* Force 2-column grid on desktop */
@media (min-width: 861px) {
  .pdp {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) !important;
    gap: 56px !important;
    align-items: start !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 40px 24px 80px !important;
  }
}

/* Media column — cap height so image can't run away */
.pdp__media {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  max-height: 640px !important;
}

/* If a .pdp__frame wrapper exists inside media */
.pdp__frame {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  max-height: 640px !important;
  background: #faf7f2 !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Any img inside media — hard cap */
.pdp__media img,
.pdp__frame img,
.pdp img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 640px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Info column */
.pdp__info {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.pdp__title,
.pdp__info h1 {
  font-size: clamp(26px, 3vw, 40px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
}

.pdp__price {
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin: 0 !important;
}

.pdp__price .price__now {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
}

/* Buy box */
.pdp__buy {
  display: grid !important;
  gap: 16px !important;
  padding: 24px !important;
  background: #faf7f2 !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 18px !important;
}

/* Sticky media on desktop only when there's room */
@media (min-width: 1100px) {
  .pdp__media {
    position: sticky !important;
    top: calc(var(--header-h, 72px) + 24px) !important;
  }
}

/* Mobile — single column, smaller image */
@media (max-width: 860px) {
  .pdp {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 24px 16px 60px !important;
  }
  .pdp__media,
  .pdp__frame {
    max-height: 420px !important;
  }
  .pdp__media img,
  .pdp__frame img,
  .pdp img {
    max-height: 420px !important;
  }
}
