:root {
  --accent: #e5002b;
  --glass: rgba(255, 255, 255, .62);
  --glass-strong: rgba(255, 255, 255, .88);
  --glass-line: rgba(255, 255, 255, .72);
  --shadow-soft: 0 18px 55px rgba(34, 25, 21, .16);
}

body { background: #fff; }

.announcement {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .5rem 3.25rem;
  background: var(--accent);
  color: #fff;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .055em;
  position: relative;
  z-index: 32;
}

.site-header {
  width: min(1120px, calc(100% - 48px));
  height: 76px;
  margin: 18px auto -94px;
  padding: 0 18px 0 24px;
  grid-template-columns: 1fr auto 1fr;
  border: 1px solid var(--glass-line);
  border-radius: 999px;
  background: var(--glass);
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter: blur(24px) saturate(155%);
  -webkit-backdrop-filter: blur(24px) saturate(155%);
  position: sticky;
  top: 14px;
  z-index: 30;
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.site-header::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255,255,255,.42), transparent 38%, rgba(255,255,255,.12));
}

.brand {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.brand img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 52px;
  object-fit: contain;
}

.desktop-nav {
  grid-column: 1;
  justify-self: start;
  gap: 1.3rem;
  z-index: 2;
}

.desktop-nav a {
  position: relative;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -.42rem;
  height: 1px;
  background: #111;
  transition: right .22s ease;
}

.desktop-nav a:hover::after { right: 0; }

.header-actions {
  grid-column: 3;
  z-index: 2;
}

.icon-button,
.bag-button {
  min-width: 44px;
  height: 44px;
  justify-content: center;
  border: 1px solid rgba(17,17,17,.13);
  background: rgba(255,255,255,.48);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.icon-button:hover,
.bag-button:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.92);
  border-color: rgba(17,17,17,.28);
}

.bag-button > span:not(.cart-count) { display: none; }
.cart-count { width: 19px; height: 19px; font-size: .68rem; }

.search-panel {
  width: min(920px, calc(100% - 48px));
  margin: 106px auto -94px;
  top: 100px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 24px;
  background: var(--glass-strong);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
}

.cover-hero { border-bottom: 0; }
.cover-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.16), transparent 43%, rgba(0,0,0,.08));
}

.cover-hero > img {
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

.cover-actions {
  justify-content: center;
  padding-inline: 1rem;
  z-index: 3;
}

.glass-shop-button {
  min-width: 168px;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(255,255,255,.76);
  color: #111;
  box-shadow: 0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
}

.glass-shop-button:hover {
  color: #111;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 #fff;
}

button,
.glass-shop-button {
  --mx: 50%;
  --my: 50%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: transform .22s cubic-bezier(.22,1,.36,1), background .22s ease, color .22s ease, box-shadow .22s ease, border-color .22s ease;
}

button::before,
.glass-shop-button::before {
  content: "";
  display: block;
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  background: radial-gradient(circle 90px at var(--mx) var(--my), rgba(255,255,255,.72), rgba(255,255,255,.18) 45%, transparent 72%);
  transition: opacity .22s ease;
}

button:hover,
.glass-shop-button:hover {
  transform: translateY(-3px) scale(1.015);
  box-shadow: 0 13px 30px rgba(25,20,18,.16), inset 0 1px 0 rgba(255,255,255,.82);
}

button:hover::before,
.glass-shop-button:hover::before { opacity: 1; }

button:active,
.glass-shop-button:active { transform: translateY(-1px) scale(.99); }

.hero-glass-card {
  position: absolute;
  right: clamp(1.5rem, 7vw, 7.5rem);
  bottom: clamp(1.5rem, 4vw, 4rem);
  width: min(320px, calc(100% - 3rem));
  padding: 1.5rem;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 28px;
  color: #fff;
  background: rgba(38, 31, 29, .36);
  box-shadow: 0 22px 56px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  z-index: 3;
}

.hero-card-kicker {
  display: block;
  margin-bottom: .65rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.hero-glass-card h1 {
  margin: 0 0 .55rem;
  font-family: var(--display);
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
  line-height: 1.03;
  letter-spacing: -.045em;
}

.hero-glass-card p { margin: 0 0 1rem; color: rgba(255,255,255,.8); line-height: 1.5; }
.hero-glass-card strong { display: block; margin-bottom: 1.15rem; font-size: 1.08rem; }
.hero-glass-card a { color: #fff; font-size: .84rem; font-weight: 700; text-decoration: none; }
.hero-glass-card a span { margin-left: .55rem; }

.video-hero,
.collection-cover,
.shop-section {
  overflow-anchor: none;
}

.shop-section { background: #fff; }
.section-heading h2 { font-weight: 500; }
.product-image { border-radius: 22px; }
.product-badge { border-radius: 999px; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.product-info { padding: 1rem .15rem 0; }

.category-filter {
  border: 1px solid rgba(17,17,17,.08);
  background: #f7f7f7;
}

.category-filter.active { background: #111; border-color: #111; }

.about {
  margin: 0 clamp(1rem, 3vw, 3rem) clamp(1rem, 3vw, 3rem);
  border-radius: 32px;
  overflow: hidden;
  background: linear-gradient(135deg, #111, #292725);
}

.oreliya-site-footer {
  position: relative;
  isolation: isolate;
  width: calc(100% - clamp(24px, 4vw, 64px));
  margin: clamp(18px, 3vw, 42px) auto clamp(18px, 3vw, 42px);
  padding: clamp(36px, 5vw, 72px);
  border: 1px solid rgba(17, 17, 17, .09);
  border-radius: clamp(28px, 3.4vw, 54px);
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 12%, rgba(225, 239, 227, .92), transparent 30%),
    radial-gradient(circle at 92% 92%, rgba(238, 228, 244, .8), transparent 27%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,247,245,.96));
  box-shadow: 0 24px 70px rgba(40, 34, 30, .08), inset 0 1px 0 rgba(255,255,255,.9);
}

.oreliya-site-footer::before,
.oreliya-site-footer::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  filter: blur(2px);
  pointer-events: none;
}

.oreliya-site-footer::before { left: -90px; top: -105px; background: rgba(189, 218, 195, .32); }
.oreliya-site-footer::after { right: -88px; bottom: -112px; background: rgba(219, 202, 230, .34); }
.oreliya-site-footer .footer-brand { gap: 24px; align-content: start; }
.oreliya-site-footer .footer-brand > img { width: min(220px, 100%); }
.oreliya-site-footer .footer-socials { display: flex; gap: 10px; }
.oreliya-site-footer .footer-socials a {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 9px 24px rgba(31,28,25,.07);
  transition: transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s ease;
}
.oreliya-site-footer .footer-socials a:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(31,28,25,.12); }
.oreliya-site-footer .footer-socials img { width: 25px; height: 25px; object-fit: contain; }
.oreliya-site-footer .footer-links { gap: 14px; }
.oreliya-site-footer .footer-links strong { margin-bottom: 6px; font-size: 1.05rem; color: #171412; }
.oreliya-site-footer .footer-links a { width: max-content; color: #6d6762; transition: color .18s ease, transform .18s ease; }
.oreliya-site-footer .footer-links a:hover { color: #111; transform: translateX(4px); }
.oreliya-site-footer .footer-copyright {
  justify-self: end;
  padding: 12px 18px;
  border: 1px solid rgba(17,17,17,.07);
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: #514c48;
  font-size: .9rem;
  white-space: nowrap;
}

/* Contact page */
.contact-site-header { position: relative; top: auto; grid-template-columns:1fr auto 1fr; }
.contact-header-shop {
  grid-column: 3;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 18px;
  border-radius: 999px;
  color: #fff;
  background: #151311;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 650;
}
.contact-header-shop span { font-size: 1.05rem; }
.contact-mobile-nav { display: none; }
.oreliya-contact-page { padding: clamp(20px, 3vw, 48px); background: #fff; }
.contact-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  min-height: 570px;
  padding: clamp(42px, 6vw, 90px);
  border: 1px solid rgba(17,17,17,.08);
  border-radius: clamp(34px, 4vw, 62px);
  background:
    radial-gradient(circle at 12% 15%, rgba(214,235,218,.95), transparent 34%),
    radial-gradient(circle at 91% 88%, rgba(232,218,241,.85), transparent 31%),
    linear-gradient(135deg,#fbfaf8,#fff);
  box-shadow: 0 26px 80px rgba(35,29,25,.08);
}
.contact-hero::after { content:""; position:absolute; width:330px; height:330px; border-radius:50%; right:-165px; top:-175px; background:rgba(255,255,255,.62); border:1px solid rgba(17,17,17,.05); }
.contact-kicker { margin: 0 0 20px; color:#77706a; font-size:.72rem; font-weight:700; letter-spacing:.18em; }
.contact-hero-copy h1 { margin:0; font-family:var(--display); font-size:clamp(4rem,8vw,8.8rem); font-weight:500; line-height:.82; letter-spacing:-.075em; }
.contact-hero-copy > p:last-child { max-width:540px; margin:34px 0 0; color:#68615b; font-size:clamp(1rem,1.25vw,1.22rem); line-height:1.75; }
.contact-quick-grid { display:grid; gap:14px; position:relative; z-index:1; }
.contact-quick-card { position:relative; display:grid; gap:7px; min-height:140px; padding:28px 72px 26px 28px; border:1px solid rgba(17,17,17,.08); border-radius:28px; color:#171412; background:rgba(255,255,255,.78); box-shadow:0 14px 42px rgba(34,29,26,.06); text-decoration:none; transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease; }
.contact-quick-card:hover { transform:translateY(-4px); box-shadow:0 22px 48px rgba(34,29,26,.1); }
.contact-quick-card > span { color:#8b847e; font-size:.78rem; }
.contact-quick-card strong { overflow-wrap:anywhere; font-family:var(--display); font-size:clamp(1.25rem,2vw,1.75rem); font-weight:600; }
.contact-quick-card small { color:#746e69; }
.contact-quick-card i { position:absolute; right:24px; top:50%; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#f3f1ef; transform:translateY(-50%); font-style:normal; font-size:1.1rem; }
.contact-phone-card strong { display:grid; gap:3px; }
.contact-phone-card strong a { width:max-content; color:inherit; text-decoration:none; }
.contact-phone-card strong a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.contact-whatsapp-card { color:#fff; background:linear-gradient(135deg,#181715,#262420); }
.contact-whatsapp-card > span,.contact-whatsapp-card small { color:rgba(255,255,255,.64); }
.contact-whatsapp-card i { color:#111; background:#9ee7b7; }
.contact-main-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); gap:clamp(20px,3vw,40px); margin-top:clamp(20px,3vw,40px); }
.contact-form-card,.contact-details-card { border:1px solid rgba(17,17,17,.09); border-radius:clamp(30px,3vw,48px); }
.contact-form-card { padding:clamp(32px,5vw,72px); background:#fff; }
.contact-section-heading > span { color:#918a84; font-size:.8rem; }
.contact-section-heading h2,.contact-details-card h2 { margin:10px 0 36px; font-family:var(--display); font-size:clamp(2.4rem,4vw,4.4rem); font-weight:500; line-height:.98; letter-spacing:-.055em; }
.oreliya-contact-form { display:grid; gap:22px; }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.oreliya-contact-form label { display:grid; gap:9px; color:#4d4945; font-size:.83rem; font-weight:600; }
.oreliya-contact-form label > span { color:#c83d39; }
.oreliya-contact-form input,.oreliya-contact-form select,.oreliya-contact-form textarea { width:100%; border:1px solid rgba(17,17,17,.12); border-radius:20px; outline:none; color:#171412; background:#faf9f8; padding:16px 18px; font-weight:400; transition:border-color .18s,box-shadow .18s,background .18s; }
.oreliya-contact-form input,.oreliya-contact-form select { min-height:58px; }
.oreliya-contact-form textarea { resize:vertical; min-height:160px; }
.oreliya-contact-form input:focus,.oreliya-contact-form select:focus,.oreliya-contact-form textarea:focus { border-color:#171412; background:#fff; box-shadow:0 0 0 4px rgba(17,17,17,.055); }
.contact-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-submit-row { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.contact-submit-row p { margin:0; color:#8b8580; font-size:.8rem; }
.contact-submit-row button { min-width:190px; min-height:58px; border:0; border-radius:999px; color:#fff; background:#171412; cursor:pointer; font-weight:700; }
.contact-submit-row button span { margin-left:16px; }
.contact-notice { display:grid; gap:4px; margin:0 0 26px; padding:17px 20px; border-radius:18px; font-size:.88rem; }
.contact-notice.success { color:#185c34; background:#e9f8ee; }
.contact-notice.error { color:#8e2929; background:#fff0f0; }
.contact-mail-toast { min-width:min(340px,calc(100vw - 32px)); padding:15px 22px; border-radius:999px; font-weight:700; text-align:center; }
.contact-details-card { align-self:start; position:sticky; top:120px; padding:clamp(32px,4vw,58px); color:#fff; background:linear-gradient(145deg,#151412,#282522); box-shadow:0 28px 70px rgba(30,24,20,.14); }
.contact-details-card .contact-kicker { color:rgba(255,255,255,.5); }
.contact-details-card h2 { margin-bottom:42px; }
.contact-details-card dl { display:grid; margin:0; }
.contact-details-card dl > div { display:grid; gap:8px; padding:22px 0; border-top:1px solid rgba(255,255,255,.14); }
.contact-details-card dt { color:rgba(255,255,255,.5); font-size:.75rem; }
.contact-details-card dd { margin:0; line-height:1.6; overflow-wrap:anywhere; }
.contact-details-card a { color:inherit; text-decoration:none; }
.contact-social-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:32px; }
.contact-social-row a { padding:10px 13px; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:rgba(255,255,255,.76); font-size:.75rem; }
.contact-page-footer { display:flex; align-items:center; justify-content:space-between; gap:28px; width:calc(100% - clamp(40px,6vw,96px)); margin:0 auto clamp(20px,3vw,44px); padding:28px 34px; border:1px solid rgba(17,17,17,.09); border-radius:30px; background:#faf9f7; }
.contact-page-footer img { width:128px; }
.contact-page-footer p { margin:0; color:#817b76; font-size:.82rem; }
.contact-page-footer a { color:#171412; text-decoration:none; font-size:.85rem; font-weight:650; }

@media(max-width:980px){
  .contact-hero { grid-template-columns:1fr; min-height:0; }
  .contact-quick-grid { grid-template-columns:1fr 1fr; }
  .contact-whatsapp-card { grid-column:1/-1; }
  .contact-main-grid { grid-template-columns:1fr; }
  .contact-details-card { position:relative; top:auto; }
}

@media(max-width:620px){
  .contact-site-header { width:calc(100% - 24px); margin:12px auto 0; }
  .contact-site-header .desktop-nav { display:none; }
  .contact-header-shop { grid-column:3; width:42px; height:42px; justify-content:center; padding:0; font-size:0; }
  .contact-header-shop span { font-size:1.05rem; }
  .contact-mobile-nav { display:block; position:relative; z-index:3; }
  .contact-mobile-nav summary { display:grid; place-content:center; gap:4px; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.72); list-style:none; cursor:pointer; }
  .contact-mobile-nav summary::-webkit-details-marker { display:none; }
  .contact-mobile-nav summary span { display:block; width:16px; height:1.5px; background:#171412; }
  .contact-mobile-nav nav { position:absolute; top:52px; left:0; display:grid; min-width:190px; padding:10px; border:1px solid rgba(17,17,17,.1); border-radius:20px; background:#fff; box-shadow:0 20px 44px rgba(0,0,0,.13); }
  .contact-mobile-nav nav a { padding:11px 12px; border-radius:12px; color:#171412; text-decoration:none; }
  .oreliya-contact-page { padding:12px; }
  .contact-hero { gap:36px; padding:44px 24px 24px; border-radius:32px; }
  .contact-hero-copy h1 { font-size:clamp(3.7rem,21vw,5.7rem); }
  .contact-hero-copy > p:last-child { margin-top:24px; }
  .contact-quick-grid { grid-template-columns:1fr; }
  .contact-whatsapp-card { grid-column:auto; }
  .contact-quick-card { min-height:128px; padding:24px 64px 22px 22px; border-radius:24px; }
  .contact-main-grid { margin-top:12px; gap:12px; }
  .contact-form-card,.contact-details-card { padding:30px 22px; border-radius:30px; }
  .contact-form-row { grid-template-columns:1fr; }
  .contact-submit-row { align-items:stretch; flex-direction:column; }
  .contact-submit-row button { width:100%; }
  .contact-page-footer { align-items:flex-start; flex-direction:column; width:calc(100% - 24px); margin-top:0; padding:26px 24px 80px; border-radius:28px; }
}

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr 1fr; }
  .brand { left: 50%; transform: translate(-50%, -50%); width: 124px; height: 52px; }
  .header-actions { grid-column: 2; }
  .hero-glass-card { width: 290px; }
  .oreliya-site-footer { grid-template-columns: 1.15fr 1fr 1fr; }
  .oreliya-site-footer .footer-copyright { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 620px) {
  .announcement { min-height: 34px; padding-inline: 1rem; font-size: .62rem; }
  .site-header {
    width: calc(100% - 24px);
    height: 66px;
    margin-top: 12px;
    margin-bottom: -78px;
    padding: 0 10px 0 16px;
    border-radius: 999px;
    top: 10px;
  }
  .brand { left: 50%; transform: translate(-50%, -50%); width: 108px; height: 46px; }
  .icon-button, .bag-button { min-width: 40px; height: 40px; padding: .55rem; }
  .cover-hero > img { width: 100%; height: auto; min-height: 0; object-fit: contain; object-position: center; }
  .cover-hero::after { background: linear-gradient(180deg, rgba(0,0,0,.04), transparent 40%, rgba(0,0,0,.48)); }
  .hero-glass-card {
    display: none;
  }
  .cover-actions { left: 1rem; right: 1rem; bottom: .85rem; padding: 0; }
  .glass-shop-button { width: min(180px, 100%); }
  .search-panel { width: calc(100% - 24px); margin-top: 90px; margin-bottom: -78px; top: 88px; }
  .product-image { border-radius: 16px; }
  .about { border-radius: 26px; }
  .oreliya-site-footer {
    width: calc(100% - 24px);
    grid-template-columns: 1fr 1fr;
    gap: 34px 22px;
    padding: 34px 24px 82px;
    border-radius: 30px;
  }
  .oreliya-site-footer .footer-brand { grid-column: 1 / -1; }
  .oreliya-site-footer .footer-brand > img { width: 170px; }
  .oreliya-site-footer .footer-copyright {
    grid-column: 1 / -1;
    justify-self: stretch;
    white-space: normal;
    text-align: center;
    line-height: 1.5;
    font-weight: 500;
  }
}

/* Checkout v1.3 — centered landscape glass panel with mobile breathing room. */
.checkout-dialog {
  width: min(1420px, calc(100vw - 64px)) !important;
  height: min(860px, calc(100dvh - 64px)) !important;
  max-width: none !important;
  max-height: none !important;
  inset: 0 !important;
  margin: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  border-radius: 34px !important;
  background: rgba(91,76,71,.94) !important;
  box-shadow: 0 36px 110px rgba(22,16,14,.46) !important;
}
.checkout-dialog::backdrop { background: rgba(30,23,20,.64) !important; backdrop-filter: blur(13px) !important; }
.checkout-popup-head { height: 92px !important; padding: 0 30px 0 38px !important; border-bottom: 1px solid rgba(255,255,255,.15) !important; background: rgba(76,63,59,.92) !important; color: #fff !important; }
.checkout-popup-head span { color: rgba(255,255,255,.62) !important; }
.checkout-popup-head h2 { color: #fff !important; font-size: clamp(1.45rem,2vw,2rem) !important; }
.checkout-popup-head .dialog-close {
  position: static !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: #282321 !important;
  font-size: 1.6rem !important;
  line-height: 1 !important;
  box-shadow: 0 9px 24px rgba(22,16,14,.24) !important;
  transform: none !important;
  transition: transform .26s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s !important;
}
.checkout-popup-head .dialog-close:hover { background: #171412 !important; transform: rotate(90deg) scale(1.06) !important; box-shadow: 0 13px 28px rgba(22,16,14,.34) !important; }
.checkout-frame-shell { height: calc(100% - 92px) !important; background: linear-gradient(135deg,#a8938a,#645551) !important; }
.checkout-frame { display: block; width: 100% !important; height: 100% !important; border: 0 !important; }

@media (max-width: 760px) {
  .checkout-dialog {
    width: calc(100vw - 18px) !important;
    height: calc(100dvh - 18px) !important;
    border-radius: 25px !important;
  }
  .checkout-popup-head { height: 78px !important; padding: 0 14px 0 20px !important; }
  .checkout-popup-head h2 { font-size: 1.24rem !important; }
  .checkout-popup-head .dialog-close { width: 42px !important; height: 42px !important; min-width: 42px !important; }
  .checkout-frame-shell { height: calc(100% - 78px) !important; }
}

/* Oreliya WooCommerce checkout popup */
.checkout-dialog{width:min(1180px,calc(100% - 36px));height:min(900px,calc(100vh - 36px));max-width:none;max-height:none;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:34px;background:#f5f0ec;color:#171412;overflow:hidden;box-shadow:0 32px 100px rgba(28,18,13,.42);opacity:0;transform:translateY(22px) scale(.97);transition:opacity .28s ease,transform .38s cubic-bezier(.22,1,.36,1)}
.checkout-dialog.is-visible{opacity:1;transform:none}
.checkout-dialog::backdrop{background:rgba(35,25,20,.62);backdrop-filter:blur(12px);opacity:0;transition:opacity .28s ease}
.checkout-dialog.is-visible::backdrop{opacity:1}
.checkout-popup-head{height:88px;padding:0 28px 0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,20,18,.1);background:rgba(255,255,255,.7)}
.checkout-popup-head span{display:block;margin-bottom:4px;color:#a48e80;font-size:.68rem;font-weight:700;letter-spacing:.22em}
.checkout-popup-head h2{margin:0;font-size:1.55rem;letter-spacing:-.035em}
.checkout-popup-head .dialog-close{position:static;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:1.7rem;transition:transform .2s,background .2s}
.checkout-popup-head .dialog-close:hover{transform:rotate(6deg) scale(1.05);background:#f0e8e3}
.checkout-frame-shell{position:relative;height:calc(100% - 88px);background:linear-gradient(145deg,#f7f3f0,#eee7e2)}
.checkout-frame{width:100%;height:100%;border:0;background:transparent;opacity:1;transition:opacity .25s ease}
.checkout-loader{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(145deg,#f7f3f0,#eee7e2);opacity:0;visibility:hidden;transition:opacity .2s}
.checkout-dialog.is-loading .checkout-loader{opacity:1;visibility:visible}
.checkout-dialog.is-loading .checkout-frame{opacity:0}
.checkout-loader i{width:36px;height:36px;border:3px solid #ddcec5;border-top-color:#171412;border-radius:50%;animation:oreliyaSpin .75s linear infinite}
.checkout-loader span{color:#75685f;font-size:.85rem}
@keyframes oreliyaSpin{to{transform:rotate(360deg)}}
@media(max-width:620px){.checkout-dialog{width:100%;height:100%;max-height:100%;border:0;border-radius:0}.checkout-popup-head{height:76px;padding:0 15px 0 20px}.checkout-popup-head h2{font-size:1.2rem}.checkout-popup-head .dialog-close{width:40px;height:40px}.checkout-frame-shell{height:calc(100% - 76px)}}

/* Oreliya legal pages — neutral clothing-editorial treatment. */
.legal-site-header{position:sticky!important;top:18px!important;z-index:12000!important;margin-bottom:18px!important;box-shadow:0 16px 46px rgba(30,25,22,.1)!important}
.oreliya-legal-page{padding:clamp(12px,3vw,48px);background:#fff;color:#171412;overflow-anchor:none}
.legal-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);align-items:end;gap:clamp(32px,7vw,110px);min-height:480px;padding:clamp(44px,7vw,104px);border:1px solid rgba(17,17,17,.09);border-radius:clamp(34px,4vw,64px);background:linear-gradient(140deg,#f4f0ec 0%,#fcfbfa 58%,#e7dfd8 100%);box-shadow:0 28px 86px rgba(44,35,29,.09)}
.legal-hero::before{content:"";position:absolute;z-index:-1;top:-190px;right:-130px;width:430px;height:430px;border:1px solid rgba(17,17,17,.07);border-radius:50%;background:rgba(255,255,255,.34)}
.legal-kicker{margin:0 0 24px;color:#766e68;font-size:.7rem;font-weight:750;letter-spacing:.2em}
.legal-hero h1{max-width:900px;margin:0;font-family:var(--display);font-size:clamp(3.8rem,8.2vw,9.2rem);font-weight:500;line-height:.84;letter-spacing:-.075em}
.legal-hero>div>p:last-child{max-width:650px;margin:34px 0 0;color:#5f5853;font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.75}
.legal-hero>aside{display:grid;gap:10px;padding:28px;border:1px solid rgba(17,17,17,.09);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:0 18px 46px rgba(38,30,25,.07);backdrop-filter:blur(14px)}
.legal-hero>aside span,.legal-hero>aside small{color:#807872;font-size:.75rem}.legal-hero>aside strong{font-size:1.2rem}.legal-hero>aside small{line-height:1.55}
.legal-switcher{position:sticky;top:118px;z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(548px,calc(100% - 24px));margin:22px auto;padding:7px;border:1px solid rgba(17,17,17,.09);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 12px 38px rgba(28,23,20,.08);backdrop-filter:blur(18px);--legal-tab-index:0}
.legal-switcher::before{content:"";position:absolute;z-index:0;top:7px;bottom:7px;left:7px;width:calc((100% - 30px)/3);border-radius:999px;background:#171412;box-shadow:0 8px 22px rgba(23,20,18,.18);transform:translateX(calc(var(--legal-tab-index) * (100% + 8px)));transition:transform .36s cubic-bezier(.22,1,.36,1)}
.legal-switcher a{position:relative;z-index:1;display:grid;place-items:center;padding:12px 10px;border-radius:999px;color:#625b56;text-align:center;text-decoration:none;font-size:.78rem;font-weight:700;white-space:nowrap;transition:color .22s ease,transform .18s}.legal-switcher a:hover{color:#111;transform:translateY(-1px)}.legal-switcher a.active{color:#fff}.legal-switcher a.active:hover{color:#fff}
.legal-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:clamp(18px,3vw,38px);align-items:start}
.legal-policy-card{overflow:hidden;border:1px solid rgba(17,17,17,.09);border-radius:clamp(30px,3vw,48px);background:#fff}
.legal-policy-measure{position:absolute!important;left:-100000px!important;top:0!important;visibility:hidden!important;pointer-events:none!important;width:calc((100% - clamp(18px,3vw,38px)) * .775)!important;min-height:0!important}
.legal-policy-card.is-changing{animation:legalContentIn .18s ease both}@keyframes legalContentIn{from{opacity:.68}to{opacity:1}}
.legal-policy-card>section{display:grid;grid-template-columns:52px minmax(0,1fr);gap:clamp(16px,3vw,42px);padding:clamp(30px,4vw,60px);border-bottom:1px solid rgba(17,17,17,.08)}.legal-policy-card>section:last-child{border-bottom:0}
.legal-policy-card>section>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(17,17,17,.12);border-radius:50%;color:#756d67;font-size:.72rem;font-weight:750}
.legal-policy-card h2{margin:4px 0 15px;font-family:var(--display);font-size:clamp(1.65rem,2.6vw,2.8rem);font-weight:550;line-height:1;letter-spacing:-.045em}.legal-policy-card p{max-width:840px;margin:0;color:#625b56;font-size:.96rem;line-height:1.85}.legal-policy-card strong{color:#171412}.legal-policy-card a{color:#171412;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}
.legal-help-card{position:sticky;top:205px;display:grid;gap:18px;padding:clamp(30px,4vw,54px);border-radius:clamp(30px,3vw,44px);color:#fff;background:linear-gradient(145deg,#111,#2b2826);box-shadow:0 28px 70px rgba(27,22,19,.16)}
.legal-help-card>p{margin:0;color:rgba(255,255,255,.5);font-size:.68rem;font-weight:750;letter-spacing:.2em}.legal-help-card h2{margin:6px 0 3px;font-family:var(--display);font-size:clamp(2.1rem,3vw,3.5rem);font-weight:500;line-height:.95;letter-spacing:-.055em}.legal-help-card>span{margin-bottom:8px;color:rgba(255,255,255,.67);line-height:1.65}.legal-help-card a{padding:14px 17px;border:1px solid rgba(255,255,255,.17);border-radius:999px;color:#fff;text-align:center;text-decoration:none;font-size:.8rem;font-weight:700;transition:background .18s,color .18s,transform .18s}.legal-help-card a:hover{color:#111;background:#fff;transform:translateY(-2px)}
.legal-page-footer{margin-top:0}
@media(max-width:900px){.legal-hero{grid-template-columns:1fr;min-height:0}.legal-content-grid{grid-template-columns:1fr}.legal-help-card{position:relative;top:auto}.legal-switcher{top:96px}.legal-policy-measure{width:100%!important}}
@media(max-width:620px){.legal-site-header{top:10px!important;margin-bottom:10px!important}.oreliya-legal-page{padding:12px}.legal-hero{gap:34px;padding:48px 24px 24px;border-radius:32px}.legal-hero h1{font-size:clamp(3.4rem,18vw,5.5rem)}.legal-hero>div>p:last-child{margin-top:24px}.legal-hero>aside{padding:22px;border-radius:22px}.legal-switcher{top:88px;width:calc(100% - 4px);margin:12px 2px;padding:6px;gap:4px}.legal-switcher::before{top:6px;bottom:6px;left:6px;width:calc((100% - 20px)/3);transform:translateX(calc(var(--legal-tab-index) * (100% + 4px)))}.legal-switcher a{padding:11px 4px;font-size:.68rem}.legal-policy-card{border-radius:30px}.legal-policy-card>section{grid-template-columns:38px minmax(0,1fr);gap:14px;padding:28px 20px}.legal-policy-card>section>span{width:36px;height:36px}.legal-policy-card h2{font-size:1.6rem}.legal-policy-card p{font-size:.9rem;line-height:1.75}.legal-help-card{padding:30px 23px;border-radius:30px}.legal-page-footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.checkout-dialog,.checkout-dialog::backdrop,.checkout-frame{transition-duration:.01ms!important}}

/* Video-led storefront layout */
.video-hero {
  position: relative;
  min-height: clamp(690px, 55vw, 850px);
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: #15110f;
  box-shadow: none;
  isolation: isolate;
}

.hero-video {
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.006);
  z-index: 0;
}

.video-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, .48);
  pointer-events: none;
}

.featured-product-card {
  position: absolute;
  top: 50%;
  right: clamp(1.5rem, 4.6vw, 5rem);
  width: min(318px, calc(100% - 3rem));
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 38px;
  background: rgba(28, 22, 20, .38);
  color: #fff;
  box-shadow: 0 26px 64px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
  transform: translateY(-50%);
  z-index: 2;
}

.featured-image {
  aspect-ratio: 4 / 4.25;
  overflow: hidden;
  border-radius: 27px;
  background: rgba(255,255,255,.12);
}

.featured-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.22,1,.36,1);
}

.featured-product-card:hover .featured-image img { transform: translateY(-4px) scale(1.065); }
.featured-details { padding: 1rem .2rem .15rem; }

.featured-kicker {
  display: block;
  margin-bottom: .45rem;
  color: rgba(255,255,255,.64);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.featured-details h1 {
  margin: 0 0 .35rem;
  font-family: var(--display);
  font-size: 1.15rem;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.featured-price { margin: 0 0 .85rem; color: rgba(255,255,255,.82); }
.featured-size-picker { display: flex; gap: .45rem; margin-bottom: .85rem; }

.featured-size {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
  font-size: .75rem;
  font-weight: 650;
}

.featured-size.active {
  background: rgba(255,255,255,.92);
  color: #111;
  border-color: rgba(255,255,255,.92);
}

.featured-add-button {
  width: 100%;
  min-height: 45px;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #111;
  cursor: pointer;
  font-weight: 700;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.collection-cover {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: #e5c6b3;
  box-shadow: none;
  transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease;
}

.collection-cover:hover {
  transform: scale(1.002);
  box-shadow: none;
}

.collection-cover img {
  display: block;
  width: 100%;
  height: auto;
}

.collection-cover-actions {
  position: absolute;
  inset: auto 0 clamp(1rem, 10%, 4rem);
  display: flex;
  justify-content: center;
  padding: 0 1rem;
}

.collection-cover .glass-shop-button {
  min-width: 174px;
  min-height: 50px;
}

@media (max-width: 980px) {
  .video-hero { min-height: 690px; }
  .featured-product-card { top: 50%; right: 1.5rem; width: 280px; border-radius: 32px; }
  .featured-image { border-radius: 23px; }
}

@media (max-width: 620px) {
  .video-hero {
    min-height: 690px;
    margin-inline: 0;
    border-radius: 0;
  }
  .featured-product-card {
    top: auto;
    right: .9rem;
    bottom: .9rem;
    left: .9rem;
    width: auto;
    padding: .8rem;
    border-radius: 26px;
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: .8rem;
    align-items: center;
    transform: none;
  }
  .featured-image { border-radius: 20px; }
  .featured-details { padding: .2rem .1rem; }
  .featured-details h1 { font-size: 1rem; }
  .featured-size { width: 31px; height: 31px; }
  .featured-add-button { min-height: 41px; }
  .collection-cover { margin: 0; border-radius: 0; }
  .collection-cover .glass-shop-button { min-width: 142px; min-height: 44px; padding: .75rem 1rem; }
}

button::before,
.glass-shop-button::before { display: none !important; }

@media (max-width: 620px) {
  .site-header { width: calc(100% - 48px); }
}

.toast {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, calc(100% + 5rem));
  transition: transform .25s ease, opacity .2s ease, visibility .2s ease;
  border-radius: 999px;
}

.toast:empty { display: none; }

.toast.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.product-card.reveal-visible:hover .product-image img,
.product-card:hover .product-image img { transform: translateY(-3px) scale(1.065); }

.search-panel {
  color: #fff;
  background: rgba(28, 22, 20, .76);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 24px 64px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter: blur(24px) saturate(135%);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
}

.search-panel label { color: rgba(255,255,255,.68); }
.search-field input { color: #fff; background: transparent; border-bottom-color: rgba(255,255,255,.48); }
.search-field input::placeholder { color: rgba(255,255,255,.48); }
.search-close { color: #fff; }

.search-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  padding-top: 1rem;
}

.search-result {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: .8rem;
  align-items: center;
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: rgba(255,255,255,.09);
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.search-result img { width: 58px; height: 70px; border-radius: 13px; object-fit: cover; }
.search-result span { display: grid; gap: .3rem; min-width: 0; }
.search-result strong { font-size: .84rem; line-height: 1.25; }
.search-result small { color: rgba(255,255,255,.65); }
.search-empty { grid-column: 1 / -1; margin: 0; padding: .8rem 0; color: rgba(255,255,255,.72); }

.drawer-backdrop { background: rgba(10,8,7,.5); backdrop-filter: blur(3px); }
.cart-drawer {
  color: #fff;
  background: rgba(28,22,20,.9);
  border-left: 1px solid rgba(255,255,255,.18);
  border-radius: 34px 0 0 34px;
  box-shadow: -24px 0 70px rgba(0,0,0,.28), inset 1px 0 0 rgba(255,255,255,.1);
  backdrop-filter: blur(28px) saturate(135%);
  -webkit-backdrop-filter: blur(28px) saturate(135%);
}

.drawer-header,
.cart-item,
.cart-footer { border-color: rgba(255,255,255,.16); }
.drawer-close,
.cart-item button,
.cart-empty a { color: #fff; }
.cart-item p,
.cart-footer p { color: rgba(255,255,255,.62); }
.cart-item img { border-radius: 16px; }
.checkout-button { border-radius: 999px; background: rgba(255,255,255,.9); color: #111; }

@media (max-width: 620px) {
  .search-results { grid-template-columns: 1fr; }
  .cart-drawer { border-radius: 28px 0 0 28px; }
}

/* Final interaction and checkout polish */
[hidden] { display: none !important; }

.drawer-close,
.dialog-close,
.search-close {
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: 50% !important;
  line-height: 1;
}

.search-field input { font-size: 1rem; }
.search-field input::placeholder { font-size: .9rem; }

.category-filters {
  padding-top: .7rem;
  padding-right: .55rem;
  padding-left: .55rem;
  margin-right: -.55rem;
  margin-left: -.55rem;
}

html {
  scrollbar-width: thin;
  scrollbar-color: #4a403c #f1eeeb;
}

::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #f1eeeb; }
::-webkit-scrollbar-thumb {
  background: #6f6763;
  border: 3px solid #f1eeeb;
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover { background: #211b19; }

.cart-item button {
  align-self: center;
  padding: .46rem .72rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: #fff;
  text-decoration: none;
  line-height: 1;
}

.cart-item button:hover {
  background: rgba(255,255,255,.18);
  transform: translateY(-1px);
}

.checkout-dialog {
  color: #fff;
  background: rgba(28,22,20,.93);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 32px;
  box-shadow: 0 28px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(28px) saturate(135%);
  -webkit-backdrop-filter: blur(28px) saturate(135%);
}

.checkout-dialog::backdrop {
  background: rgba(10,8,7,.62);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.checkout-dialog input,
.checkout-dialog textarea {
  color: #fff;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 15px;
  outline: none;
}

.checkout-dialog input::placeholder,
.checkout-dialog textarea::placeholder { color: rgba(255,255,255,.46); }

.checkout-dialog input:focus,
.checkout-dialog textarea:focus {
  border-color: rgba(255,255,255,.5);
  box-shadow: 0 0 0 3px rgba(255,255,255,.09);
}

.checkout-dialog fieldset {
  border-color: rgba(255,255,255,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
}

.checkout-dialog .muted,
.checkout-dialog .checkout-note { color: rgba(255,255,255,.62); }

.checkout-summary {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
  border-radius: 18px;
}

.checkout-dialog form > button {
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #111;
}

.checkout-dialog .dialog-close {
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.1);
}

@media (max-width: 620px) {
  .drawer-close,
  .dialog-close,
  .search-close {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }

  .checkout-dialog { border-radius: 26px; }
}

/* Compact white-glass checkout */
.checkout-dialog {
  width: min(520px, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  padding: 1.45rem 1.6rem 1.55rem;
  color: #171412;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(24,18,15,.25), inset 0 1px 0 rgba(255,255,255,.95);
  scrollbar-width: none;
}

.checkout-dialog::-webkit-scrollbar { display: none; }
.checkout-dialog h2 { margin: .2rem 0 1rem; font-size: 1.65rem; }
.checkout-dialog form { gap: .7rem; }

.checkout-dialog input,
.checkout-dialog textarea {
  color: #171412;
  background: rgba(247,245,243,.94);
  border-color: rgba(35,28,24,.14);
  border-radius: 13px;
  padding: .68rem .78rem;
}

.checkout-dialog textarea { min-height: 68px; }
.checkout-dialog input::placeholder,
.checkout-dialog textarea::placeholder { color: rgba(23,20,18,.42); }

.checkout-dialog input:focus,
.checkout-dialog textarea:focus {
  border-color: rgba(25,20,18,.42);
  box-shadow: 0 0 0 3px rgba(25,20,18,.07);
}

.checkout-dialog fieldset {
  padding: .72rem .85rem;
  gap: .5rem;
  border-color: rgba(35,28,24,.13);
  border-radius: 15px;
  background: rgba(247,245,243,.9);
}

.checkout-dialog .muted,
.checkout-dialog .checkout-note { color: rgba(23,20,18,.58); }

.checkout-summary {
  padding: .72rem .85rem;
  border-color: rgba(35,28,24,.12);
  background: rgba(247,245,243,.92);
  border-radius: 15px;
}

.checkout-dialog form > button {
  padding: .82rem 1rem;
  background: #171412;
  color: #fff;
}

.checkout-dialog .dialog-close {
  top: .8rem;
  right: .8rem;
  width: 38px;
  height: 38px;
  min-width: 38px;
  color: #171412;
  border-color: rgba(35,28,24,.12);
  background: rgba(247,245,243,.94);
}

@media (max-width: 620px) {
  .category-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    overflow: visible;
    padding: .65rem 0 1.35rem;
    margin: 0;
  }

  .category-filter {
    width: 100%;
    min-width: 0;
    padding: .65rem .35rem;
    font-size: .72rem;
    line-height: 1.2;
    white-space: normal;
  }

  .checkout-dialog {
    width: calc(100% - 1rem);
    max-height: calc(100dvh - 1rem);
    padding: 1.2rem 1rem 1.25rem;
    border-radius: 23px;
  }

  .checkout-dialog h2 { font-size: 1.45rem; padding-right: 2.4rem; }
  .checkout-dialog form { gap: .58rem; }
  .checkout-dialog label:not(.radio-row) { gap: .25rem; }
  .checkout-dialog .checkout-note { font-size: .7rem; }
}

/* Mobile navigation, Android touch and product quick view */
html,
body,
a,
button,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}

button:focus:not(:focus-visible),
a:focus:not(:focus-visible) { outline: none; }

.mobile-menu-toggle,
.mobile-menu { display: none; }

.product-quickview {
  width: min(760px, calc(100% - 2rem));
  padding: 1rem;
  overflow: visible;
  color: #fff;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 34px;
  background: rgba(28,22,20,.9);
  box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter: blur(28px) saturate(135%);
  -webkit-backdrop-filter: blur(28px) saturate(135%);
}

.product-quickview::backdrop {
  background: rgba(10,8,7,.62);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.quickview-layout {
  display: grid;
  grid-template-columns: minmax(230px, .92fr) 1fr;
  gap: 1.3rem;
  align-items: center;
}

.quickview-image {
  width: 100%;
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  border-radius: 25px;
  background: rgba(255,255,255,.1);
}

.quickview-details { padding: 1rem 1rem 1rem .2rem; }
.quickview-kicker {
  color: rgba(255,255,255,.62);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.quickview-title { margin: .55rem 0 .35rem; font-size: clamp(1.5rem, 3vw, 2.35rem); line-height: 1.06; }
.quickview-price { margin: 0 0 1rem; color: rgba(255,255,255,.74); font-size: 1.1rem; }
.quickview-sizes { display: flex; gap: .55rem; margin-bottom: 1rem; }
.quickview-size {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.08);
  cursor: pointer;
}
.quickview-size.active { color: #171412; background: #fff; border-color: #fff; }
.quickview-add {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #171412;
  font-weight: 700;
  cursor: pointer;
}
.quickview-close {
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 2;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: #fff;
  background: rgba(28,22,20,.46);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 620px) {
  .site-header {
    width: calc(100% - 24px);
    padding: 0 8px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    column-gap: 4px;
  }

  .mobile-menu-toggle {
    grid-column: 1;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: .62rem;
    border: 1px solid rgba(17,17,17,.13);
    border-radius: 50%;
    background: rgba(255,255,255,.48);
    z-index: 3;
    cursor: pointer;
  }

  .mobile-menu-toggle svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
  }

  .brand {
    position: relative;
    left: auto;
    top: auto;
    grid-column: 2;
    justify-self: center;
    width: 92px;
    height: 44px;
    transform: none;
  }

  .brand img { max-height: 40px; }
  .header-actions { grid-column: 3; gap: 3px; }
  .icon-button,
  .bag-button { min-width: 39px; width: 39px; height: 39px; padding: .48rem; }
  .icon-button svg,
  .bag-button svg { width: 20px; height: 20px; }

  .mobile-menu {
    position: fixed;
    top: 88px;
    left: 12px;
    right: 12px;
    z-index: 29;
    padding: .65rem;
    display: grid;
    gap: .25rem;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 24px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 20px 52px rgba(34,25,21,.2), inset 0 1px 0 #fff;
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
  }

  .mobile-menu[hidden] { display: none !important; }
  .mobile-menu a {
    padding: .78rem 1rem;
    border-radius: 16px;
    color: #171412;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 600;
  }
  .mobile-menu a:active { background: rgba(20,16,14,.07); }

  .product-info h3 {
    min-height: 2.4em;
    line-height: 1.2;
  }

  .product-quickview {
    width: calc(100% - 20px);
    padding: .75rem;
    border-radius: 27px;
  }

  .quickview-layout {
    grid-template-columns: minmax(118px, .82fr) 1.18fr;
    gap: .8rem;
  }

  .quickview-image { border-radius: 20px; }
  .quickview-details { padding: .65rem .35rem .65rem 0; }
  .quickview-kicker { font-size: .62rem; }
  .quickview-title { padding-right: 1.5rem; font-size: 1.06rem; line-height: 1.12; }
  .quickview-price { margin-bottom: .75rem; font-size: .92rem; }
  .quickview-sizes { gap: .35rem; margin-bottom: .75rem; }
  .quickview-size { width: 34px; height: 34px; font-size: .76rem; }
  .quickview-add { min-height: 43px; }
  .quickview-close { top: .65rem; right: .65rem; width: 34px; height: 34px; min-width: 34px; }
}

/* Search reset flow, portrait quick view and final mobile alignment */
.cart-drawer:not(.open) {
  visibility: hidden;
  pointer-events: none;
  box-shadow: none;
}

.cart-drawer.open {
  visibility: visible;
  pointer-events: auto;
}

.product-quickview {
  width: min(420px, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  opacity: 0;
  transform: translateY(14px) scale(.975);
  transition: opacity .22s ease, transform .22s cubic-bezier(.22,1,.36,1);
  scrollbar-width: none;
}

.product-quickview::-webkit-scrollbar { display: none; }
.product-quickview.is-visible { opacity: 1; transform: translateY(0) scale(1); }

.quickview-layout {
  grid-template-columns: 1fr;
  gap: .8rem;
}

.quickview-image {
  aspect-ratio: 4 / 4.8;
  max-height: 52dvh;
}

.quickview-details { padding: .25rem .55rem .65rem; }
.quickview-title { padding-right: 2.5rem; font-size: 1.45rem; }

@media (max-width: 620px) {
  html,
  body {
    overflow-x: hidden;
    scrollbar-width: none;
  }

  html::-webkit-scrollbar,
  body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .site-header {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    padding: 0 7px;
  }

  .mobile-menu-toggle {
    width: 42px;
    height: 42px;
    padding: 0;
  }

  .mobile-menu-toggle svg {
    width: 22px;
    height: 22px;
    display: block;
    stroke-width: 2;
  }

  .brand {
    position: absolute;
    left: 50%;
    top: 50%;
    grid-column: auto;
    width: clamp(82px, 24vw, 96px);
    height: 42px;
    transform: translate(-50%, -50%);
  }

  .brand img { max-height: 38px; }
  .header-actions { gap: 3px; }

  .icon-button {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: .5rem;
    flex: 0 0 40px;
  }

  .bag-button {
    width: 58px;
    min-width: 58px;
    height: 40px;
    padding: .4rem .45rem;
    gap: .25rem;
    flex: 0 0 58px;
  }

  .bag-button svg { width: 19px; height: 19px; flex: 0 0 19px; }
  .bag-button .cart-count { width: 18px; height: 18px; flex: 0 0 18px; }

  .product-quickview {
    width: min(360px, calc(100% - 18px));
    max-height: calc(100dvh - 18px);
    padding: .75rem;
  }

  .quickview-layout {
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .quickview-image {
    width: 100%;
    aspect-ratio: 4 / 4.5;
    max-height: 49dvh;
  }

  .quickview-details { padding: .15rem .45rem .55rem; }
  .quickview-title { padding-right: 0; font-size: 1.12rem; }
  .quickview-close { z-index: 4; }
}

/* Overlay search, modal motion and touch-safe button states */
.search-panel {
  position: fixed;
  top: 104px;
  left: 50%;
  z-index: 39;
  max-height: calc(100dvh - 120px);
  margin: 0;
  overflow-y: auto;
  transform: translateX(-50%);
}

.checkout-dialog {
  opacity: 0;
  transform: translateY(14px) scale(.975);
  transition: opacity .22s ease, transform .22s cubic-bezier(.22,1,.36,1);
}

.checkout-dialog.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.product-quickview { overflow: visible; }

.quickview-close,
.quickview-close:hover {
  top: -16px;
  right: -16px;
  width: 42px;
  height: 42px;
  min-width: 42px;
  color: #171412;
  border: 2px solid rgba(28,22,20,.12);
  background: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
}

@media (max-width: 620px) {
  .search-panel {
    top: 86px;
    width: calc(100% - 24px);
    max-height: calc(100dvh - 98px);
    margin: 0;
  }

  .quickview-close,
  .quickview-close:hover {
    top: -12px;
    right: -8px;
    width: 38px;
    height: 38px;
    min-width: 38px;
  }
}

/* Stable mobile header, touch product reveal and compact bag quantity controls */
.cart-item-controls {
  display: grid;
  justify-items: end;
  align-content: center;
  gap: .55rem;
}

.qty-stepper {
  display: grid;
  grid-template-columns: 32px auto 32px;
  align-items: center;
  gap: .28rem;
}

.qty-stepper span {
  min-width: 42px;
  color: rgba(255,255,255,.82);
  font-size: .78rem;
  text-align: center;
  white-space: nowrap;
}

.cart-item .qty-stepper button {
  width: 32px;
  min-width: 32px;
  height: 32px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 1rem;
}

.cart-item .cart-remove { justify-self: end; }

@media (max-width: 620px) {
  .site-header {
    position: fixed;
    top: 10px;
    right: 12px;
    left: 12px;
    width: auto;
    margin: 0;
    isolation: isolate;
    transform: translate3d(0,0,0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: rgba(255,255,255,.84);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .site-header::after { z-index: 0; }
  .mobile-menu-toggle,
  .site-header .brand,
  .site-header .header-actions { z-index: 3; }

  .cart-item {
    grid-template-columns: 72px minmax(0,1fr);
    gap: .8rem;
  }

  .cart-item img {
    width: 72px;
    height: 94px;
  }

  .cart-item-controls {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
  }

  .qty-stepper {
    grid-template-columns: 29px auto 29px;
    gap: .2rem;
  }

  .cart-item .qty-stepper button {
    width: 29px;
    min-width: 29px;
    height: 29px;
  }
}

/* Latest Collection controls: compact floating buttons inside the image */
.product-image .card-actions {
  position: absolute;
  z-index: 3;
  bottom: .75rem;
  left: 50%;
  width: min(184px, calc(100% - 1rem));
  display: grid;
  grid-template-columns: 1fr;
  gap: .42rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity .3s ease, transform .3s ease;
}

.product-image .size-picker {
  display: flex;
  justify-content: center;
  gap: .24rem;
}

.product-image .card-actions .size-option {
  width: 34px;
  min-width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: #fff;
  background: rgba(18,14,13,.62);
  box-shadow: 0 5px 14px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(10px) saturate(135%);
  -webkit-backdrop-filter: blur(10px) saturate(135%);
}

.product-image .card-actions .size-option:hover {
  color: #fff;
  border-color: rgba(255,255,255,.55);
  background: rgba(18,14,13,.8);
}

.product-image .card-actions .size-option.active,
.product-image .card-actions .size-option.active:hover {
  color: #171412;
  border-color: rgba(255,255,255,.95);
  background: rgba(255,255,255,.95);
}

.product-image .card-actions .add-bag-button,
.product-image .card-actions .add-bag-button:hover {
  width: 132px;
  height: 36px;
  justify-self: center;
  padding: 0 .8rem;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 999px;
  color: #171412;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 24px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.product-card:hover .product-image .card-actions,
.product-card:focus-within .product-image .card-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

@media (max-width: 620px) {
  .product-image .card-actions {
    bottom: .5rem;
    width: min(142px, calc(100% - .7rem));
    gap: .34rem;
  }

  .product-image .size-picker { gap: .12rem; }

  .product-image .card-actions .size-option {
    width: 27px;
    min-width: 27px;
    height: 27px;
    font-size: .72rem;
  }

  .product-image .card-actions .add-bag-button,
  .product-image .card-actions .add-bag-button:hover {
    width: 112px;
    height: 34px;
    font-size: .78rem;
  }
}

@media (max-width: 620px) and (hover: none), (max-width: 620px) and (pointer: coarse) {
  .product-card:not(.touch-active):hover .product-image .card-actions,
  .product-card:not(.touch-active):focus-within .product-image .card-actions,
  .product-image .card-actions {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 10px);
    transition: opacity .3s ease, transform .3s ease;
  }

  .product-card.touch-active .product-image .card-actions {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }

  .product-card.touch-active .product-image img {
    transform: translateY(-2px) scale(1.055) !important;
  }
}

/* Shopping bag shortcut beside the product preview close control. */
.quickview-cart-button {
  position: absolute;
  top: .78rem;
  right: 3.72rem;
  z-index: 4;
  min-width: 70px;
  height: 40px;
  padding: 0 .4rem 0 .72rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .52rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #171412;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter: blur(14px) saturate(125%);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  cursor: pointer;
  transition: transform .18s cubic-bezier(.22,1,.36,1), background .18s ease;
}

.quickview-cart-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.quickview-cart-count {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #171412;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: inset 0 1px 0 #fff;
}

.quickview-cart-button:hover,
.quickview-cart-button:active {
  transform: translateY(-2px) scale(1.025);
  background: #fff;
}

@media (max-width: 620px) {
  .quickview-cart-button {
    top: .78rem;
    right: 3.58rem;
    min-width: 66px;
    height: 40px;
    padding: 0 .34rem 0 .62rem;
    gap: .44rem;
  }

  .quickview-cart-count {
    width: 26px;
    height: 26px;
  }
}

@media (hover: none), (pointer: coarse) {
  button:hover,
  .glass-shop-button:hover {
    transform: none;
    box-shadow: none;
  }

  .card-actions .add-bag-button:hover { background: #111; }
  .card-actions .size-option:hover {
    background: #f0eeeb;
    color: #4c4742;
    transform: none;
  }
  .card-actions .size-option.active:hover { background: #111; color: #fff; }
  .product-card:hover .product-image img,
  .product-card.reveal-visible:hover .product-image img { transform: none; }
  .quickview-add:hover { background: rgba(255,255,255,.92); color: #171412; }
  .quickview-close:hover { box-shadow: 0 10px 28px rgba(0,0,0,.2); }
}

/* Larger landscape search result card */
.product-quickview {
  width: min(720px, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
}

.quickview-layout {
  grid-template-columns: minmax(250px, .92fr) 1.08fr;
  gap: 1.25rem;
  align-items: center;
}

.quickview-image {
  aspect-ratio: 4 / 4.8;
  max-height: 66dvh;
}

.quickview-details { padding: 1rem 1rem 1rem .15rem; }
.quickview-title { font-size: clamp(1.5rem, 3vw, 2.2rem); }

@media (max-width: 620px) {
  .product-quickview {
    width: calc(100% - 16px);
    max-height: calc(100dvh - 20px);
    padding: .78rem;
  }

  .quickview-layout {
    grid-template-columns: minmax(124px, .88fr) 1.12fr;
    gap: .8rem;
  }

  .quickview-image {
    aspect-ratio: 4 / 5;
    max-height: 62dvh;
  }

  .quickview-details { padding: .8rem .4rem .8rem 0; }
  .quickview-title { padding-right: 1.5rem; font-size: 1.12rem; }
}

/* Stable dark search field, in-frame close button and transparent scroll tracks */
.search-field input,
.search-field input:focus {
  color: #fff;
  caret-color: #fff;
  color-scheme: dark;
  -webkit-appearance: none;
  appearance: none;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 14px;
  padding: .72rem .85rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.search-field input:-webkit-autofill,
.search-field input:-webkit-autofill:hover,
.search-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  caret-color: #fff;
  box-shadow: 0 0 0 1000px #302724 inset;
  transition: background-color 9999s ease-out 0s;
}

.search-field input::-webkit-search-cancel-button,
.search-field input::-webkit-search-decoration {
  display: none;
  -webkit-appearance: none;
}

.quickview-close,
.quickview-close:hover {
  top: .78rem;
  right: .78rem;
  width: 40px;
  height: 40px;
  min-width: 40px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(28,22,20,.68);
  box-shadow: 0 10px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html {
  scrollbar-color: rgba(65,56,52,.46) transparent;
}

::-webkit-scrollbar-track {
  background: transparent !important;
}

::-webkit-scrollbar-thumb {
  background: rgba(65,56,52,.46);
  border: 2px solid transparent;
  background-clip: padding-box;
}

.search-panel,
.cart-items,
.product-quickview,
.checkout-dialog {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.26) transparent;
}

.search-panel::-webkit-scrollbar,
.cart-items::-webkit-scrollbar,
.product-quickview::-webkit-scrollbar,
.checkout-dialog::-webkit-scrollbar { width: 5px; }

.search-panel::-webkit-scrollbar-track,
.cart-items::-webkit-scrollbar-track,
.product-quickview::-webkit-scrollbar-track,
.checkout-dialog::-webkit-scrollbar-track { background: transparent !important; }

.search-panel::-webkit-scrollbar-thumb,
.cart-items::-webkit-scrollbar-thumb,
.product-quickview::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.25);
  border: 0;
  border-radius: 999px;
}

.checkout-dialog {
  scrollbar-color: rgba(28,22,20,.2) transparent;
}

.checkout-dialog::-webkit-scrollbar-thumb {
  background: rgba(28,22,20,.2);
  border: 0;
  border-radius: 999px;
}

@media (max-width: 620px) {
  .quickview-close,
  .quickview-close:hover {
    top: .62rem;
    right: .62rem;
    width: 36px;
    height: 36px;
    min-width: 36px;
  }

  .search-panel,
  .cart-items,
  .product-quickview,
  .checkout-dialog {
    scrollbar-width: none;
  }

  .search-panel::-webkit-scrollbar,
  .cart-items::-webkit-scrollbar,
  .product-quickview::-webkit-scrollbar,
  .checkout-dialog::-webkit-scrollbar {
    display: none;
    width: 0;
  }
}

/* Unified product preview, quantity controls and quick-view entry points */
.quantity-selector {
  display: inline-grid;
  grid-template-columns: 30px minmax(24px, auto) 30px;
  align-items: center;
  justify-content: center;
  gap: .3rem;
}

.quantity-selector > span {
  color: #fff;
  font-size: .86rem;
  font-weight: 700;
  text-align: center;
}

.quantity-selector > button,
.quantity-selector > button:hover {
  width: 30px;
  min-width: 30px;
  height: 30px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 50%;
  color: #fff;
  background: rgba(12,10,9,.88);
  box-shadow: 0 5px 14px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.1);
  font-size: 1rem;
  line-height: 1;
}

.featured-buy-row,
.quickview-buy-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .65rem;
  align-items: center;
}

.featured-buy-row .featured-add-button { min-width: 0; }
.card-buy-row { display: grid; justify-items: center; gap: .35rem; }

.product-view-button,
.product-view-button:hover {
  position: absolute;
  z-index: 4;
  top: .7rem;
  right: .7rem;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 50%;
  color: #171412;
  background: rgba(255,255,255,.92);
  box-shadow: 0 9px 24px rgba(0,0,0,.16);
  opacity: 0;
  transform: translateY(-7px);
  transition: opacity .25s ease, transform .25s cubic-bezier(.22,1,.36,1), background .2s ease;
}

.product-view-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.product-card:hover .product-view-button,
.product-card:focus-within .product-view-button {
  opacity: 1;
  transform: translateY(0);
}

.product-image .card-actions { width: min(210px, calc(100% - 1rem)); }

.product-quickview {
  width: min(900px, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 1.15rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.product-quickview::backdrop {
  background: rgba(8,6,5,.77);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.quickview-layout {
  grid-template-columns: minmax(330px, 1fr) minmax(300px, 1fr);
  gap: 1.75rem;
}

.quickview-image-shell {
  --pan-x: 0%;
  --pan-y: 0%;
  width: 100%;
  aspect-ratio: 4 / 5;
  max-height: 72dvh;
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255,255,255,.08);
}

.quickview-image {
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  border-radius: inherit;
  object-fit: cover;
  transform: translate(var(--pan-x,0%), var(--pan-y,0%)) scale(1);
  transition: transform .5s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

.quickview-image-shell.gallery-animating .quickview-image {
  position:absolute;
  inset:0;
  will-change:transform,opacity;
}
.quickview-image-shell.gallery-animating .quickview-image-exit{z-index:2;pointer-events:none}
.quickview-image-shell.gallery-animating>.quickview-image:not(.quickview-image-exit){z-index:1}
.quickview-image-shell.gallery-dragging .quickview-image{transition:none!important;will-change:transform}
.quickview-image-shell.gallery-dragging .quickview-drag-incoming{z-index:2;pointer-events:none}
.quickview-image.gallery-exit-left{animation:oreliyaGalleryOutLeft .64s cubic-bezier(.22,1,.36,1) both}
.quickview-image.gallery-exit-right{animation:oreliyaGalleryOutRight .64s cubic-bezier(.22,1,.36,1) both}
.quickview-image.gallery-enter-right{animation:oreliyaGalleryInRight .64s cubic-bezier(.22,1,.36,1) both}
.quickview-image.gallery-enter-left{animation:oreliyaGalleryInLeft .64s cubic-bezier(.22,1,.36,1) both}
@keyframes oreliyaGalleryOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:1;transform:translateX(-102%)}}
@keyframes oreliyaGalleryOutRight{from{opacity:1;transform:translateX(0)}to{opacity:1;transform:translateX(102%)}}
@keyframes oreliyaGalleryInRight{from{opacity:1;transform:translateX(102%)}to{opacity:1;transform:translateX(0)}}
@keyframes oreliyaGalleryInLeft{from{opacity:1;transform:translateX(-102%)}to{opacity:1;transform:translateX(0)}}
@media (hover: hover) and (pointer: fine) {
  .quickview-image-shell:is(:hover,.is-hovering):not(.gallery-animating) .quickview-image {
    transform: translate(var(--pan-x,0%), var(--pan-y,0%)) scale(1.65);
    transition: transform .08s linear;
  }
}

.quickview-details { padding: 1.25rem 1.2rem 1.25rem 0; }
.quickview-size {
  color: #fff;
  border-color: rgba(255,255,255,.32);
  background: rgba(10,8,7,.66);
  box-shadow: 0 6px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter: blur(11px) saturate(135%);
  -webkit-backdrop-filter: blur(11px) saturate(135%);
}

.quickview-size:hover {
  color: #fff;
  background: rgba(10,8,7,.82);
}

.quickview-size.active,
.quickview-size.active:hover {
  color: #171412;
  border-color: #fff;
  background: #fff;
}

.quickview-buy-row {
  min-height: 58px;
  padding: .38rem .48rem;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(0,0,0,.2);
}

.quickview-buy-row .quantity-selector > span { color: #171412; }
.quickview-buy-row .quickview-add,
.quickview-buy-row .quickview-add:hover {
  min-height: 44px;
  padding: 0 1rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 620px) {
  .product-view-button,
  .product-view-button:hover {
    top: .5rem;
    right: .5rem;
    width: 35px;
    min-width: 35px;
    height: 35px;
    opacity: 1;
    transform: none;
  }

  .product-view-button svg { width: 18px; height: 18px; }
  .product-image .card-actions { width: min(142px, calc(100% - .7rem)); }

  .product-quickview {
    width: min(390px, calc(100% - 16px));
    max-height: calc(100dvh - 16px);
    padding: .55rem;
    overflow-y: auto;
    border-radius: 0;
  }

  .quickview-layout {
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .quickview-image-shell {
    aspect-ratio: 4 / 5;
    max-height: 58dvh;
    border-radius: 22px;
    touch-action: pan-y;
    overscroll-behavior-x: contain;
    user-select: none;
    -webkit-user-select: none;
  }

  .quickview-image-shell .quickview-image {
    transform:none;
    -webkit-user-drag:none;
  }

  .quickview-details { padding: .2rem .45rem .55rem; }
  .quickview-title { padding-right: 2.2rem; font-size: 1.2rem; }
  .quickview-sizes { margin-bottom: .75rem; }
  .quickview-buy-row { grid-template-columns: auto minmax(0,1fr); gap: .55rem; }
  .quickview-add { min-height: 44px; }
  .featured-buy-row { gap: .4rem; }
  .featured-buy-row .quantity-selector { grid-template-columns: 27px 20px 27px; gap: .15rem; }
  .featured-buy-row .quantity-selector > button { width: 27px; min-width: 27px; height: 27px; }
}

/* Quantity controls belong inside one continuous Add to bag pill. */
.featured-buy-row,
.card-buy-row,
.quickview-buy-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  justify-items: stretch;
  gap: .45rem;
  width: 100%;
  min-height: 52px;
  padding: .3rem .42rem;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.featured-buy-row .quantity-selector > span,
.card-buy-row .quantity-selector > span,
.quickview-buy-row .quantity-selector > span {
  color: #171412;
}

.featured-buy-row .featured-add-button,
.featured-buy-row .featured-add-button:hover,
.card-buy-row .add-bag-button,
.card-buy-row .add-bag-button:hover,
.quickview-buy-row .quickview-add,
.quickview-buy-row .quickview-add:hover {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 .7rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
}

.product-quickview .quickview-close:hover,
.product-quickview .quickview-close:active {
  color: #fff;
  border-color: rgba(255,82,102,.48);
  background: rgba(174,0,32,.56);
  box-shadow: 0 10px 30px rgba(56,0,10,.38), inset 0 1px 0 rgba(255,255,255,.15);
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
}

@media (max-width: 620px) {
  .card-buy-row {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .25rem;
    min-height: 44px;
    padding: .22rem .3rem;
  }

  .card-buy-row .quantity-selector {
    grid-template-columns: 24px 17px 24px;
    gap: .1rem;
  }

  .card-buy-row .quantity-selector > button {
    width: 24px;
    min-width: 24px;
    height: 24px;
  }
}

/* Compact shopping controls and click-to-preview affordances. */
.product-image,
.product-info,
.featured-image {
  cursor: zoom-in;
}

.featured-image {
  position: relative;
}

.featured-view-button,
.featured-view-button:hover {
  opacity: 1;
  transform: none;
}

.featured-buy-row,
.card-buy-row,
.quickview-buy-row {
  grid-template-columns: auto minmax(96px, 1fr);
  gap: .3rem;
  min-height: 48px;
  padding: .25rem .34rem;
}

.featured-buy-row .quantity-selector,
.card-buy-row .quantity-selector,
.quickview-buy-row .quantity-selector {
  grid-template-columns: 28px 20px 28px;
  gap: .15rem;
}

.featured-buy-row .quantity-selector > button,
.card-buy-row .quantity-selector > button,
.quickview-buy-row .quantity-selector > button {
  width: 28px;
  min-width: 28px;
  height: 28px;
}

.featured-buy-row .featured-add-button,
.featured-buy-row .featured-add-button:hover,
.card-buy-row .add-bag-button,
.card-buy-row .add-bag-button:hover,
.quickview-buy-row .quickview-add,
.quickview-buy-row .quickview-add:hover {
  min-height: 38px;
  padding-inline: .45rem;
  font-size: .9rem;
  white-space: nowrap;
}

.product-image .card-actions {
  width: min(250px, calc(100% - 1rem));
}

@media (max-width: 620px) {
  .product-image .card-actions {
    width: min(230px, calc(100% - .6rem));
  }

  .featured-view-button,
  .featured-view-button:hover {
    top: .55rem;
    right: .55rem;
  }
}

@media (min-width: 621px) {
  .featured-buy-row,
  .card-buy-row,
  .quickview-buy-row {
    border-color: rgba(255,255,255,.62);
    background: rgba(255,255,255,.48);
    box-shadow: 0 12px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.38);
    backdrop-filter: blur(14px) saturate(125%);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
  }

  .featured-buy-row .featured-add-button,
  .featured-buy-row .featured-add-button:hover,
  .product-image .card-actions .add-bag-button,
  .product-image .card-actions .add-bag-button:hover,
  .quickview-buy-row .quickview-add,
  .quickview-buy-row .quickview-add:hover {
    color: #171412;
    background: rgba(255,255,255,.97);
    box-shadow: 0 7px 18px rgba(0,0,0,.12), inset 0 1px 0 #fff;
  }
}

/* Compact quick-view purchase control and top-layer bag confirmation. */
.quickview-buy-row {
  width: min(320px, 100%);
  justify-self: start;
}

.quickview-buy-row .quickview-add,
.quickview-buy-row .quickview-add:hover {
  width: min(190px, 100%);
  justify-self: center;
}

.toast {
  top: auto;
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 2147483647;
  color: #fff;
  border: 1px solid rgba(143,211,255,.72);
  background: rgba(18,103,164,.58);
  box-shadow: 0 14px 38px rgba(3,24,42,.5), 0 0 22px rgba(71,173,238,.2), inset 0 1px 0 rgba(255,255,255,.24);
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  transform: translate(-50%, calc(100% + 3rem));
}

.toast[popover] {
  right: auto;
  margin: 0;
}

.toast.is-cart-toast {
  z-index: 2147483647 !important;
  left: 50%;
  right: auto;
  top: auto;
  bottom: max(1rem, env(safe-area-inset-bottom));
  width: max-content;
  max-width: min(430px, calc(100vw - 3rem));
  text-align: center;
  transform: translate(-50%, calc(100% + 3rem));
}

.toast.is-cart-toast.show {
  transform: translate(-50%, 0);
}

.toast.show {
  transform: translate(-50%, 0);
}

.toast.is-error {
  border-color: rgba(255,145,155,.82);
  background: rgba(164,18,34,.72);
  box-shadow: 0 14px 38px rgba(60,0,8,.5), 0 0 22px rgba(230,45,66,.24), inset 0 1px 0 rgba(255,255,255,.24);
}

@media (max-width: 620px) {
  .quickview-buy-row {
    width: 100%;
    max-width: none;
    border-color: rgba(255,255,255,.62);
    background: rgba(255,255,255,.46);
    box-shadow: 0 12px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.38);
    backdrop-filter: blur(14px) saturate(125%);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
  }

  .quickview-buy-row .quickview-add,
  .quickview-buy-row .quickview-add:hover {
    width: min(220px, 100%);
    justify-self: center;
    color: #171412;
    background: rgba(255,255,255,.97);
    box-shadow: 0 7px 18px rgba(0,0,0,.12), inset 0 1px 0 #fff;
  }

  .toast,
  .toast.is-cart-toast {
    top: max(.75rem, env(safe-area-inset-top));
    bottom: auto;
    max-width: calc(100% - 2rem);
    text-align: center;
    white-space: nowrap;
    transform: translate(-50%, calc(-100% - 3rem));
  }

  .toast.show,
  .toast.is-cart-toast.show {
    transform: translate(-50%, 0);
  }
}

@media (min-width: 621px) {
  .quickview-buy-row {
    width: min(266px, 100%);
    grid-template-columns: 74px 174px;
    justify-content: start;
    gap: .45rem;
    padding: .25rem .35rem;
  }

  .quickview-buy-row .quantity-selector {
    grid-template-columns: 26px 16px 26px;
    gap: .18rem;
  }

  .quickview-buy-row .quantity-selector > button {
    width: 26px;
    min-width: 26px;
    height: 26px;
  }

  .quickview-buy-row .quickview-add,
  .quickview-buy-row .quickview-add:hover {
    width: 174px;
  }
}

/* Keep the glass edge even around every Add to bag button. */
.featured-buy-row .featured-add-button,
.featured-buy-row .featured-add-button:hover,
.product-image .card-actions .card-buy-row .add-bag-button,
.product-image .card-actions .card-buy-row .add-bag-button:hover,
.quickview-buy-row .quickview-add,
.quickview-buy-row .quickview-add:hover {
  width: 100%;
  justify-self: stretch;
}

.cart-item .cart-remove,
.cart-item .cart-remove:hover {
  justify-self: end;
  min-height: 32px;
  padding: .38rem .72rem;
  border: 1px solid rgba(255,104,122,.5);
  border-radius: 999px;
  color: #fff;
  background: rgba(151,10,33,.58);
  box-shadow: 0 8px 22px rgba(64,0,12,.28), inset 0 1px 0 rgba(255,255,255,.14);
  text-decoration: none;
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
}

@media (max-width: 620px) and (hover: none), (max-width: 620px) and (pointer: coarse) {
  .featured-add-button,
  .add-bag-button,
  .quickview-add {
    transition: transform .16s cubic-bezier(.22,1,.36,1), box-shadow .16s ease;
  }

  .featured-add-button:active,
  .add-bag-button:active,
  .quickview-add:active {
    transform: translateY(-3px) scale(1.035);
    box-shadow: 0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 #fff;
  }
}

/* Keep the mobile preview controls level and equal in height. */
@media (max-width: 620px) {
  .product-quickview .quickview-close,
  .product-quickview .quickview-close:hover {
    top: .78rem;
    right: .78rem;
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
}

/* Women navigation category with a nested T-Shirts destination. */
.desktop-nav .nav-category {
  position: relative;
  color: #171412;
}

.desktop-nav .nav-category summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: .36rem;
  list-style: none;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.desktop-nav .nav-category summary::-webkit-details-marker { display: none; }
.desktop-nav .nav-category summary::before {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  order: 2;
  transition: transform .2s ease;
}

.desktop-nav .nav-category[open] summary::before { transform: translateY(1px) rotate(225deg); }

.desktop-nav .nav-submenu {
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  min-width: 310px;
  padding: .45rem;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(34,25,21,.18), inset 0 1px 0 #fff;
  backdrop-filter: blur(20px) saturate(145%);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  transform: translateX(-50%);
}
.desktop-nav .nav-submenu { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; }
.desktop-nav .nav-submenu > a { grid-column: 1 / -1; font-weight: 700; }
.nav-category-group { padding: .35rem; }
.nav-category-group strong { display: block; padding: .35rem .45rem; color: rgba(23,20,18,.42); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.nav-category-group a { font-size: .72rem !important; }

.desktop-nav .nav-submenu a {
  display: block;
  padding: .7rem .8rem;
  border-radius: 12px;
  white-space: nowrap;
}

.desktop-nav .nav-submenu a::after { display: none; }
.desktop-nav .nav-submenu a:hover { background: rgba(20,16,14,.07); }

@media (max-width: 620px) {
  .mobile-menu .nav-category { color: #171412; }
  .mobile-menu .nav-category summary {
    padding: .78rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 16px;
    list-style: none;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
  }

  .mobile-menu .nav-category summary::-webkit-details-marker { display: none; }
  .mobile-menu .nav-category summary::after {
    content: "+";
    font-size: 1.1rem;
    font-weight: 400;
  }

  .mobile-menu .nav-category[open] summary::after { content: "−"; }
  .mobile-menu .nav-submenu {
    margin: 0 .45rem .35rem;
    padding: .3rem;
    border-radius: 14px;
    background: rgba(20,16,14,.055);
  }
  .mobile-menu .nav-category-group { display: grid; grid-template-columns: 1fr 1fr; }
  .mobile-menu .nav-category-group strong { grid-column: 1 / -1; }

  .mobile-menu .nav-submenu a {
    display: block;
    padding: .68rem .8rem;
    font-size: .85rem;
  }
}

/* Admin profile shortcut beside search. */
.profile-button {
  color: #171412;
  text-decoration: none;
  border-radius: 50%;
}

.profile-button:hover {
  background: rgba(255,255,255,.56);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}

@media (max-width: 620px) {
  .header-actions { gap: 1px; }
  .profile-button {
    width: 39px;
    min-width: 39px;
    height: 39px;
    padding: .48rem;
  }
}

/* Catalog hierarchy, multi-photo products and stable centered previews */
@media (min-width: 981px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.25rem; }
}

.product-image { aspect-ratio: 4 / 5; background: #f5f3f1; }
.product-image > img { object-fit: contain; object-position: center; }
.catalog-filters { display: grid; gap: .9rem; margin-bottom: 2rem; }
.filter-line { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 1rem; align-items: start; }
.filter-line > span { padding-top: .72rem; color: rgba(23,20,18,.48); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.model-filters,.color-filters,.extra-colors { display: flex; flex-wrap: wrap; gap: .5rem; }
.color-filter,.more-color-filter { min-height: 42px; padding: 0 .9rem; display: inline-flex; align-items: center; gap: .5rem; border: 1px solid rgba(17,17,17,.08); border-radius: 999px; background: #f7f7f7; color: #171412; cursor: pointer; }
.color-filter i { width: 18px; height: 18px; border: 1px solid rgba(0,0,0,.14); border-radius: 50%; background: var(--swatch); }
.color-filter.active { border-color: #111; background: #111; color: #fff; }
.more-color-filter { font-weight: 700; }
.extra-colors[hidden] { display: none; }

.gallery-arrow { position: absolute; top: 50%; z-index: 7; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; color: #171412; background: rgba(255,255,255,.82); box-shadow: 0 8px 22px rgba(0,0,0,.14); backdrop-filter: blur(12px); transform: translateY(-50%); cursor: pointer; font-size: 1.45rem; line-height: 1; }
.gallery-prev { left: .65rem; }.gallery-next { right: .65rem; }
.product-image .gallery-arrow,.featured-image .gallery-arrow { opacity: 0; transform: translateY(-50%) scale(.96); transition: opacity .16s ease, transform .16s ease; }
.product-image:hover .gallery-arrow,.featured-image:hover .gallery-arrow,.product-image:focus-within .gallery-arrow,.featured-image:focus-within .gallery-arrow { opacity: 1; }

.product-quickview[open] { position: fixed; inset: 0; margin: auto; }
.quickview-image-shell { position: relative; }
.quickview-image-shell .gallery-arrow[hidden] { display: none; }
.gallery-dots { position: absolute; z-index: 8; left: 50%; bottom: .8rem; display: flex; gap: .35rem; transform: translateX(-50%); }
.gallery-dots[hidden] { display: none; }
.gallery-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.5); }
.gallery-dots button.active { width: 20px; border-radius: 999px; background: #fff; }

@media (max-width: 620px) {
  .shop-section { padding-inline: .75rem; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem .7rem; }
  .filter-line { grid-template-columns: 1fr; gap: .35rem; }
  .filter-line > span { padding-top: 0; }
  .catalog-filters { overflow: hidden; }
  .model-filters,.color-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: none; }
  .model-filters::-webkit-scrollbar,.color-filters::-webkit-scrollbar { display:none; }
  .category-filter,.color-filter,.more-color-filter { flex: 0 0 auto; }
  .extra-colors { flex-wrap: nowrap; }
  .product-image .gallery-arrow,.featured-image .gallery-arrow { width: 32px; height: 32px; opacity: 1; }
  .product-quickview[open] { inset: 0; margin: auto; }
  .profile-button { position: absolute; left: 54px; top: 50%; z-index: 4; transform: translateY(-50%); }
  .profile-button:hover { transform: translateY(-50%); }
}

/* Desktop collection sidebar and edge-to-edge product photography */
.product-image > img { object-fit: cover; object-position: center; }
.collection-layout { display: grid; grid-template-columns: minmax(210px, 240px) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
.collection-products { min-width: 0; }
.catalog-filters { position: sticky; top: 108px; display: grid; gap: 0; margin: 0; border-top: 1px solid rgba(23,20,18,.14); }
.filter-panel { border-bottom: 1px solid rgba(23,20,18,.14); }
.filter-accordion-toggle { width: 100%; min-height: 66px; padding: 0; display: flex; align-items: center; justify-content: space-between; border: 0; background: transparent; color: #171412; cursor: pointer; font-size: .94rem; font-weight: 700; letter-spacing: .075em; text-align: left; text-transform: uppercase; }
.filter-accordion-toggle b { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(23,20,18,.12); border-radius: 50%; font-size: 1.1rem; font-weight: 400; }
.filter-panel:not(.is-open) .filter-content { display: none; }
.filter-content { padding: .1rem 0 1.1rem; }
.catalog-filters .model-filters,.catalog-filters .color-filters,.catalog-filters .extra-colors { display: grid; grid-template-columns: 1fr; gap: .35rem; padding: 0; margin: 0; }
.catalog-filters .category-filter,.catalog-filters .color-filter,.catalog-filters .more-color-filter { width: 100%; min-height: 42px; justify-content: flex-start; padding: .55rem .75rem; border: 0; border-radius: 12px; background: transparent; text-align: left; }
.catalog-filters .category-filter:hover,.catalog-filters .color-filter:hover,.catalog-filters .more-color-filter:hover { background: #f4f2f0; }
.catalog-filters .category-filter.active,.catalog-filters .color-filter.active { background: #171412; color: #fff; }
.catalog-filters .extra-colors[hidden] { display: none; }
.clear-filters-button { width: 100%; min-height: 42px; margin-top: 1rem; border: 0; border-radius: 999px; color: #fff; background: #171412; cursor: pointer; font-size: .8rem; font-weight: 700; letter-spacing: .04em; }
.clear-filters-button[hidden] { display: none; }

@media (min-width: 981px) {
  .collection-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap-inline: 1rem; }
  .product-quickview { width: min(900px, calc(100% - 2rem)); }
  .quickview-layout { grid-template-columns: minmax(440px, 1.22fr) minmax(280px, .78fr); gap: 1.3rem; }
  .quickview-image-shell { max-height: 78dvh; }
  .catalog-filters .category-filter,.catalog-filters .color-filter,.catalog-filters .more-color-filter { min-height: 38px; padding: .42rem .1rem; border-radius: 0; font-size: .91rem; }
  .catalog-filters .category-filter:hover,.catalog-filters .color-filter:hover,.catalog-filters .more-color-filter:hover { background: transparent; color: rgba(23,20,18,.58); transform: none; }
  .catalog-filters .category-filter.active,.catalog-filters .color-filter.active { background: transparent; color: #171412; font-weight: 800; }
  .catalog-filters .category-filter.active::after,.catalog-filters .color-filter.active::after { content: ""; width: 5px; height: 5px; margin-left: auto; border-radius: 50%; background: #171412; }
}

@media (max-width: 620px) {
  .collection-layout { display: block; }
  .catalog-filters { position: static; display: grid; gap: .85rem; overflow: visible; border: 0; margin-bottom: 1.4rem; }
  .filter-panel { border: 0; }
  .filter-accordion-toggle { display: none; }
  .filter-panel .filter-content,.filter-panel:not(.is-open) .filter-content { display: block; padding: 0; }
  .filter-panel:first-child .filter-content::before,.filter-panel:nth-child(2) .filter-content::before { display: block; margin-bottom: .45rem; color: rgba(23,20,18,.48); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .filter-panel:first-child .filter-content::before { content: "T-shirt model"; }
  .filter-panel:nth-child(2) .filter-content::before { content: "Color"; }
  .catalog-filters .model-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; overflow: visible; padding: 0; }
  .catalog-filters .color-filters { display: flex; flex-wrap: wrap; gap: .4rem; overflow: visible; padding: 0; }
  .catalog-filters .category-filter,.catalog-filters .color-filter,.catalog-filters .more-color-filter { width: auto; min-width: 0; justify-content: center; border: 1px solid rgba(17,17,17,.08); border-radius: 999px; background: #f7f7f7; text-align: center; }
  .catalog-filters .category-filter { width: 100%; padding-inline: .3rem; }
  .catalog-filters .extra-colors:not([hidden]) { display: contents; }
  .clear-filters-button { width: auto; min-height: 38px; padding: 0 1.15rem; margin-top: 0; justify-self: start; }
}

/* Revision polish: calm gallery controls and normal product cursors. */
.product-image,.product-info,.featured-image { cursor: default; }
.product-image .gallery-arrow:hover,.product-image .gallery-arrow:active,.featured-image .gallery-arrow:hover,.featured-image .gallery-arrow:active { transform: translateY(-50%) scale(1) !important; }
.product-image:hover .gallery-arrow,.featured-image:hover .gallery-arrow,.product-image:focus-within .gallery-arrow,.featured-image:focus-within .gallery-arrow { transform: translateY(-50%) scale(1); }
.product-image:has(.gallery-arrow:hover) > img,.featured-image:has(.gallery-arrow:hover) > img { transform: none !important; }

@media (hover: hover) and (pointer: fine) {
  .quickview-image-shell:not(.gallery-animating):has(.gallery-arrow:hover) .quickview-image { transform: none !important; }
}

/* Taller portrait product viewer with calm, stationary gallery controls. */
.quickview-image-shell {
  width: 100%;
  height: min(82dvh, 760px);
  max-height: none;
  aspect-ratio: 3 / 4;
}

.quickview-image-shell .gallery-arrow,
.quickview-image-shell .gallery-arrow:hover,
.quickview-image-shell .gallery-arrow:focus,
.quickview-image-shell .gallery-arrow:active {
  transform: translateY(-50%) !important;
  transition: none !important;
  animation: none !important;
}

@media (min-width: 981px) {
  .product-quickview { width: min(1040px, calc(100% - 2rem)); }
  .quickview-layout {
    grid-template-columns: minmax(480px, 560px) minmax(300px, 1fr);
    justify-content: center;
  }
}

@media (max-width: 620px) {
  .quickview-image-shell {
    height: auto;
    min-height: 0;
    max-height: 58dvh;
    aspect-ratio: 4 / 5;
  }
}

/* Reference-style filter accordions and removable selected-filter tags. */
.catalog-filters {
  border: 1px solid rgba(38,53,78,.14);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 28px rgba(20,24,32,.035);
}
.filter-panel { border: 0; border-bottom: 1px solid rgba(38,53,78,.14); }
.filter-panel:last-child { border-bottom: 0; }
.filter-accordion-toggle {
  min-height: 60px;
  padding: 0 16px;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: 0;
}
.filter-accordion-toggle b {
  width: 10px;
  height: 10px;
  margin-right: 3px;
  border: 0;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  border-radius: 0;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}
.filter-panel.is-open .filter-accordion-toggle b { transform: translateY(2px) rotate(225deg); }
.filter-content { padding: 0 12px 12px; }
.active-filter-tags {
  min-height: 62px;
  margin-bottom: 1.1rem;
  padding: 12px 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid rgba(38,53,78,.12);
  border-bottom: 1px solid rgba(38,53,78,.12);
}
.active-filter-tags.is-empty { visibility: hidden; pointer-events: none; }
.active-filter-tags button {
  min-height: 32px;
  padding: 3px 5px 3px 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 999px;
  color: #171412;
  background: #ececec;
  font-family: inherit;
  font-size: .86rem;
  font-weight: 600;
  cursor: pointer;
}
.active-filter-tags b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #171412; font-size: 1rem; font-weight: 400; line-height: 1; }
.catalog-filters .category-filter.active::after,.catalog-filters .color-filter.active::after { content: none; display: none; }
.product-card.is-filtered-out { visibility: hidden; pointer-events: none; }

@media (max-width: 620px) {
  .catalog-filters { position: static; display: grid; gap: 0; margin-bottom: 1rem; border: 1px solid rgba(38,53,78,.14); overflow: hidden; }
  .filter-panel { border-bottom: 1px solid rgba(38,53,78,.14); }
  .filter-panel:last-child { border-bottom: 0; }
  .filter-accordion-toggle { display: flex; min-height: 56px; padding: 0 15px; font-size: .86rem; }
  .filter-panel .filter-content,.filter-panel:not(.is-open) .filter-content { display: none; padding: 0 10px 11px; }
  .filter-panel.is-open .filter-content { display: block; }
  .filter-panel:first-child .filter-content::before,.filter-panel:nth-child(2) .filter-content::before { display: none; }
  .catalog-filters .model-filters { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
  .active-filter-tags { min-height: 52px; margin-bottom: 1rem; padding: 9px 0; gap: 8px; }
  .active-filter-tags button { min-height: 30px; font-size: .8rem; }
}

/* Final checkout layout overrides. */
.checkout-dialog{width:min(1420px,calc(100vw - 64px))!important;height:min(860px,calc(100dvh - 64px))!important;max-width:none!important;max-height:none!important;inset:0!important;margin:auto!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.58)!important;border-radius:34px!important;background:rgba(91,76,71,.94)!important;box-shadow:0 36px 110px rgba(22,16,14,.46)!important}
.checkout-dialog::backdrop{background:rgba(30,23,20,.64)!important;backdrop-filter:blur(13px)!important}
.checkout-popup-head{height:92px!important;padding:0 30px 0 38px!important;border-bottom:1px solid rgba(255,255,255,.15)!important;background:rgba(76,63,59,.92)!important;color:#fff!important}
.checkout-popup-head span{color:rgba(255,255,255,.62)!important}.checkout-popup-head h2{color:#fff!important;font-size:clamp(1.45rem,2vw,2rem)!important}
.checkout-popup-head .dialog-close{position:static!important;width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:50%!important;color:#fff!important;background:#282321!important;font-size:1.6rem!important;line-height:1!important;box-shadow:0 9px 24px rgba(22,16,14,.24)!important;transform:none!important;transition:transform .26s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s!important}
.checkout-popup-head .dialog-close:hover{background:#171412!important;transform:rotate(90deg) scale(1.06)!important;box-shadow:0 13px 28px rgba(22,16,14,.34)!important}
.checkout-frame-shell{height:calc(100% - 92px)!important;background:linear-gradient(135deg,#a8938a,#645551)!important}.checkout-frame{display:block;width:100%!important;height:100%!important;border:0!important}
@media(max-width:760px){.checkout-dialog{width:calc(100vw - 18px)!important;height:calc(100dvh - 18px)!important;border-radius:25px!important}.checkout-popup-head{height:78px!important;padding:0 14px 0 20px!important}.checkout-popup-head h2{font-size:1.24rem!important}.checkout-popup-head .dialog-close{width:42px!important;height:42px!important;min-width:42px!important}.checkout-frame-shell{height:calc(100% - 78px)!important}}

/* v1.4 exact storefront popup treatment. */
.checkout-dialog{border:1px solid rgba(255,255,255,.52)!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(66,53,49,.98),rgba(79,64,59,.96))!important;box-shadow:0 30px 90px rgba(0,0,0,.36)!important}
.checkout-dialog::backdrop{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}
.checkout-popup-head{background:rgba(42,32,29,.46)!important;border-bottom:1px solid rgba(255,255,255,.16)!important}
.checkout-frame-shell,.checkout-loader{background:#493b37!important}
.checkout-loader{color:#fff!important}.checkout-loader i{border-color:rgba(255,255,255,.22)!important;border-top-color:#fff!important}.checkout-loader span{color:rgba(255,255,255,.74)!important}
.checkout-frame{background:#493b37!important;color-scheme:dark!important}
.checkout-popup-head .dialog-close{border-color:rgba(255,255,255,.28)!important;background:#272220!important;color:#fff!important}

/* v1.5: black 40% modal glass, no rose/brown fill. */
.checkout-dialog{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}
.checkout-dialog::backdrop{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.checkout-popup-head{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.checkout-frame-shell,.checkout-loader,.checkout-frame{background:rgba(0,0,0,.4)!important}
.checkout-frame-shell,.checkout-loader{backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}

/* v1.6 final glass composition: only the parent surface supplies black 40%. */
.checkout-dialog{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}
.checkout-dialog::backdrop{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}
.checkout-popup-head{background:rgba(0,0,0,.24)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.checkout-frame-shell{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.checkout-frame{background:transparent!important;color-scheme:light!important}
.checkout-loader{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}

/* v1.7 title rhythm, dark loader and red glass close hover. */
.checkout-popup-head>div{display:grid!important;gap:1px!important;align-content:center!important}.checkout-popup-head span{margin:0!important;line-height:1.1!important}.checkout-popup-head h2{margin:0!important;line-height:1.12!important}
.checkout-popup-head .dialog-close:hover{border-color:rgba(255,110,120,.62)!important;background:rgba(210,25,38,.45)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;transform:rotate(90deg) scale(1.06)!important}
.checkout-loader{background:rgba(0,0,0,.4)!important}.checkout-loader span{font-size:.95rem!important;color:rgba(255,255,255,.78)!important}

/* v1.9 white-glass checkout shell. Opacity, blur, sizing and motion match the black edition. */
.checkout-dialog{background:rgba(255,255,255,.4)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;border-color:rgba(255,255,255,.72)!important}
.checkout-dialog::backdrop{background:rgba(0,0,0,.4)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}
.checkout-popup-head{background:rgba(255,255,255,.24)!important;border-bottom-color:rgba(23,20,18,.14)!important;color:#171412!important}
.checkout-popup-head span{color:rgba(23,20,18,.58)!important}.checkout-popup-head h2{color:#171412!important}
.checkout-popup-head .dialog-close{border-color:rgba(23,20,18,.18)!important;background:rgba(255,255,255,.4)!important;color:#171412!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}
.checkout-popup-head .dialog-close:hover{border-color:rgba(210,25,38,.4)!important;background:rgba(210,25,38,.18)!important;color:#a50f1a!important}
.checkout-frame-shell,.checkout-frame{background:transparent!important}.checkout-frame{color-scheme:light!important}
.checkout-loader{background:rgba(255,255,255,.4)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;color:#171412!important}
.checkout-loader i{border-color:rgba(23,20,18,.18)!important;border-top-color:#171412!important}.checkout-loader span{color:rgba(23,20,18,.68)!important}

/* v1.9.1 increase the white glass surface for stronger text contrast. */
.checkout-dialog{background:rgba(255,255,255,.65)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}
.checkout-popup-head{background:rgba(255,255,255,.65)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}
.checkout-loader{background:rgba(255,255,255,.65)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}

/* v1.9.2 discourage saving the homepage hero video through normal browser UI. */
.hero-video{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}

/* WooCommerce sale presentation: quiet glass badge and clear price hierarchy. */
.offer-badge,.quickview-sale-badge{width:53px!important;height:53px!important;padding:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#000!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:50%!important;box-shadow:0 9px 24px rgba(0,0,0,.16)!important;backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%);line-height:1!important;transform:none;transform-origin:center}
.offer-badge strong,.quickview-sale-badge strong{display:block;width:100%;font-size:1.02rem!important;font-weight:850!important;letter-spacing:-.03em!important;line-height:1!important;text-align:center}.offer-badge small,.quickview-sale-badge small{display:block;width:100%;font-size:.52rem!important;font-weight:800!important;letter-spacing:.13em!important;line-height:1!important;text-align:center;text-indent:.13em}
.featured-image>.offer-badge,.quickview-sale-badge{position:absolute;z-index:9;top:16px;left:16px}
.quickview-sale-badge[hidden]{display:none!important}
.price-stack{display:flex!important;align-items:baseline;flex-wrap:wrap;gap:.5rem!important}
.price-stack .sale-price,.quickview-price .sale-price{color:inherit;font-weight:800}
.price-stack .regular-price,.quickview-price .regular-price{color:inherit;opacity:.48;font-size:.82em;text-decoration-thickness:1.5px;text-decoration-color:currentColor}
.quickview-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.55rem}
.quickview-price .sale-price,.quickview-price .regular-price{display:inline-flex;align-items:baseline;line-height:1.15}
@media(max-width:620px){
  .offer-badge{width:40px!important;height:40px!important;top:8px!important;left:8px!important}
  .offer-badge strong{font-size:.88rem!important}
  .offer-badge small{font-size:.46rem!important}
  .quickview-sale-badge{width:44px!important;height:44px!important;top:4px!important;left:10px!important}
  .price-stack{gap:.35rem!important}
}

/* Make storefront prices crisp and slightly easier to read. */
.product-info .price{color:#000!important;font-size:103%!important}
.product-info .price .regular-price{color:#000!important;opacity:.58}

/* Use one crisp black price colour throughout the entire storefront. */
.featured-price,.featured-price *,.product-info .price,.product-info .price *,.quickview-price,.quickview-price *,.search-result small,.cart-item strong,.cart-total,.checkout-total{color:#000!important}

/* Keep prices readable on the dark selected-product panel. */
.quickview-price,.quickview-price *{color:#fff!important}

/* Product preview portrait refinement — desktop and mobile */
@media (min-width: 621px) {
  .quickview-layout { grid-template-columns: minmax(360px, 540px) minmax(300px, 1fr); align-items: center; }
  .quickview-image-shell {
    width: auto;
    height: min(80dvh, 720px);
    max-height: min(80dvh, 720px);
    aspect-ratio: 3 / 4;
    justify-self: end;
  }
}

@media (max-width: 620px) {
  .product-quickview { overflow-y: auto; }
  .quickview-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-template-areas:
      "kicker"
      "title"
      "image"
      "price"
      "sizes"
      "actions";
    gap: .42rem;
    align-content: start;
  }
  .quickview-details { display: contents; }
  .quickview-kicker { grid-area: kicker; margin: .15rem .45rem 0; }
  .quickview-title { grid-area: title; margin: 0 .45rem .35rem; padding-right: 4.8rem; }
  .quickview-image-shell {
    grid-area: image;
    width: min(100%, calc((100dvh - 285px) * .75));
    height: auto;
    max-height: calc(100dvh - 285px);
    aspect-ratio: 3 / 4;
    justify-self: center;
  }
  .quickview-price { grid-area: price; margin: .25rem .45rem .15rem; }
  .quickview-sizes { grid-area: sizes; margin: 0 .45rem .35rem; }
  .quickview-action-row {
    grid-area: actions;
    position: sticky;
    z-index: 20;
    bottom: .1rem;
    margin: 0 .2rem;
    padding: .35rem .2rem max(.35rem,env(safe-area-inset-bottom));
    background: linear-gradient(180deg,transparent,rgba(18,14,12,.94) 28%);
    align-self: end;
  }
}

/* The featured card sits on a dark glass panel, so its price stays white. */
.featured-price,.featured-price *{color:#fff!important}

/* Bag prices sit on the same dark glass surface. */
.cart-item strong,.cart-total{color:#fff!important}

/* v2.0 category-led home and dedicated shop interface. */
.home-categories{padding:clamp(4rem,7vw,7rem) clamp(1rem,4vw,4.5rem);background:#fff;color:#171412}
.home-category-heading{margin-bottom:2rem}.home-category-heading h2{margin:.35rem 0 0;font-family:var(--display);font-size:clamp(2.3rem,4.5vw,5rem);letter-spacing:-.055em;line-height:.96}
.home-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.5rem)}
.home-category-card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:32px;background:#c7b2a3;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 18px 42px rgba(31,22,18,.12);transform:translateZ(0);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}
.home-category-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .75s cubic-bezier(.22,1,.36,1)}
.home-category-card .category-shade{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.5);transition:background .45s ease}
.home-category-card strong{position:absolute;z-index:2;top:1.35rem;left:1.4rem;font-family:var(--display);font-size:clamp(1.35rem,2vw,2.15rem);font-weight:600;letter-spacing:-.035em}
.home-category-card i{position:absolute;z-index:3;left:50%;top:50%;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#171412;font-style:normal;font-size:2rem;font-weight:300;opacity:0;transform:translate(-50%,-42%) scale(.75);transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.home-category-card:hover{transform:translateY(-9px) scale(1.012);box-shadow:0 28px 60px rgba(31,22,18,.2)}
.home-category-card:hover img{transform:scale(1.065)}.home-category-card:hover .category-shade{background:rgba(0,0,0,.8)}.home-category-card:hover i{opacity:1;transform:translate(-50%,-50%) scale(1)}
.shop-interface{min-height:calc(100vh - 150px);padding-top:clamp(3rem,6vw,6rem);background:#fff}
.shop-interface .section-heading{margin-bottom:2.25rem}.shop-interface .section-heading h2{font-size:clamp(3rem,6vw,6.5rem)}
.store-category-filters,.material-filters{display:grid;gap:.4rem}.store-category-filters button,.material-filters button{width:100%;padding:.75rem .85rem;border:0;border-radius:12px;background:transparent;color:#171412;text-align:left;cursor:pointer;transition:background .2s ease,transform .2s ease}.store-category-filters button:hover,.material-filters button:hover,.store-category-filters button.active,.material-filters button.active{background:rgba(35,53,79,.08);transform:translateX(3px)}
.empty-material-note{margin:.6rem .85rem .35rem;color:rgba(23,20,18,.5);font-size:.78rem;line-height:1.45}
.nav-category-links{min-width:190px!important;display:grid!important;grid-template-columns:1fr!important;gap:.25rem!important}.nav-category-links a{padding:.65rem .75rem;border-radius:10px}.nav-category-links a:hover{background:rgba(255,255,255,.12)}
@media(max-width:760px){.home-categories{padding:3rem .8rem}.home-category-grid{grid-template-columns:1fr;gap:1rem}.home-category-card{aspect-ratio:4/5;border-radius:24px}.home-category-card strong{top:1rem;left:1rem}.home-category-card i{width:52px;height:52px;opacity:1;transform:translate(-50%,-50%) scale(.9)}.home-category-card .category-shade{background:rgba(0,0,0,.55)}.shop-interface{padding-inline:.75rem}.shop-interface .section-heading{display:block}.shop-interface .collection-count{text-align:left;margin-top:.65rem}}
@media(prefers-reduced-motion:reduce){.home-category-card,.home-category-card img,.home-category-card .category-shade,.home-category-card i{transition:none!important}}

/* v2.0.1: Alfphabet category typography, search contrast, and storefront cookie glass. */
@font-face{font-family:"Alfphabet IV";src:url("fonts/Alfphabet-IV.ttf") format("truetype");font-display:swap;font-style:normal;font-weight:400}
.home-category-card strong{inset:50% auto auto 50%;top:50%;left:50%;width:92%;text-align:center;transform:translate(-50%,-50%);font-family:"Alfphabet IV",var(--display);font-size:clamp(2rem,4vw,4.35rem);font-weight:400;line-height:.95;letter-spacing:.035em;text-transform:uppercase;transition:opacity .28s ease,transform .42s cubic-bezier(.22,1,.36,1)}
.home-category-card:hover strong{opacity:0;transform:translate(-50%,-58%) scale(.92)}
.shop-interface .section-heading h2{font-family:"Alfphabet IV",var(--display);font-weight:400;letter-spacing:.025em}
.search-result small,.search-result .price,.search-result .price *{color:#fff!important}

#surecookie-public-root .surecookie-banner-overlay{background:rgba(0,0,0,.34)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}
#surecookie-public-root .surecookie-banner,
#surecookie-public-root .surecookie-banner-container,
#surecookie-public-root .surecookie-banner-inner{border:1px solid rgba(255,255,255,.75)!important;border-radius:26px!important;background:rgba(255,255,255,.50)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;box-shadow:0 24px 70px rgba(31,22,18,.20)!important;color:#171412!important}
#surecookie-public-root .surecookie-banner-container .surecookie-banner-container,
#surecookie-public-root .surecookie-banner-inner .surecookie-banner-inner{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#surecookie-public-root .surecookie-banner-description,
#surecookie-public-root .surecookie-banner-heading,
#surecookie-public-root .surecookie-branding{color:#171412!important}
#surecookie-public-root .surecookie-btn-base,
#surecookie-public-root .surecookie-btn-primary,
#surecookie-public-root .surecookie-btn-outline,
#surecookie-public-root .surecookie-btn-transparent{border:1px solid rgba(255,255,255,.92)!important;border-radius:13px!important;background:#fff!important;color:#171412!important;opacity:1!important;box-shadow:0 8px 22px rgba(31,22,18,.10)!important}
#surecookie-public-root .surecookie-btn-base:hover,
#surecookie-public-root .surecookie-btn-primary:hover,
#surecookie-public-root .surecookie-btn-outline:hover,
#surecookie-public-root .surecookie-btn-transparent:hover{background:#fff!important;color:#000!important;transform:translateY(-1px)}

@media(max-width:760px){.home-category-card strong{top:50%;left:50%;font-size:clamp(2rem,12vw,3.25rem)}.home-category-card:hover strong{opacity:0}}

/* v2.0.2: single-line category labels and one clean cookie glass surface. */
.home-category-card strong{font-size:clamp(1.55rem,2.55vw,2.8rem);white-space:nowrap}
#surecookie-public-root .surecookie-banner{border:1px solid rgba(255,255,255,.78)!important;border-radius:26px!important;background:rgba(255,255,255,.50)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;box-shadow:0 24px 70px rgba(31,22,18,.20)!important}
#surecookie-public-root .surecookie-banner-container,
#surecookie-public-root .surecookie-banner-inner,
#surecookie-public-root .surecookie-banner-content{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#surecookie-public-root .surecookie-btn-base,
#surecookie-public-root .surecookie-btn-primary,
#surecookie-public-root .surecookie-btn-outline,
#surecookie-public-root .surecookie-btn-transparent{border-color:#b9dcff!important}
#surecookie-public-root .surecookie-btn-base:focus,
#surecookie-public-root .surecookie-btn-base:focus-visible,
#surecookie-public-root .surecookie-btn-primary:focus,
#surecookie-public-root .surecookie-btn-primary:focus-visible,
#surecookie-public-root .surecookie-btn-outline:focus,
#surecookie-public-root .surecookie-btn-outline:focus-visible{outline:2px solid #b9dcff!important;outline-offset:2px!important;box-shadow:0 0 0 4px rgba(185,220,255,.28)!important}
#surecookie-public-root .surecookie-branding,
#surecookie-public-root .surecookie-branding-mobile{display:flex!important;align-items:center!important;gap:7px!important;min-height:30px!important;color:#171412!important;font-size:0!important;opacity:1!important;white-space:nowrap}
#surecookie-public-root .surecookie-branding>*,
#surecookie-public-root .surecookie-branding-mobile>*{display:none!important}
#surecookie-public-root .surecookie-branding::before,
#surecookie-public-root .surecookie-branding-mobile::before{content:"Powered by";display:block;color:#171412;font-family:Manrope,sans-serif;font-size:12px;font-weight:500}
#surecookie-public-root .surecookie-branding::after,
#surecookie-public-root .surecookie-branding-mobile::after{content:"";display:block;width:82px;height:30px;background:url("assets/logo.png") center/contain no-repeat}
@media(max-width:760px){.home-category-card strong{font-size:clamp(1.6rem,8vw,2.45rem);white-space:nowrap}#surecookie-public-root .surecookie-branding::after,#surecookie-public-root .surecookie-branding-mobile::after{width:68px;height:26px}}

/* v2.0.3: larger desktop labels, mobile single-card carousel and single cookie glass frame. */
.home-category-slider{position:relative}
.category-slide-button{display:none}
.home-category-card strong{font-size:clamp(1.9rem,3.05vw,3.25rem)}
#surecookie-public-root .surecookie-banner{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#surecookie-public-root .surecookie-banner-container{border:1px solid rgba(255,255,255,.88)!important;border-radius:28px!important;background:rgba(255,255,255,.65)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;box-shadow:0 24px 70px rgba(31,22,18,.18)!important}
#surecookie-public-root .surecookie-banner-inner,
#surecookie-public-root .surecookie-banner-content{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

@media(max-width:760px){
  .home-category-slider{margin-inline:auto;max-width:100%;overflow:visible}
  .home-category-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:0;touch-action:pan-x pan-y}
  .home-category-grid.is-button-sliding{scroll-snap-type:none}
  .home-category-grid::-webkit-scrollbar{display:none}
  .home-category-card{flex:0 0 100%;width:100%;scroll-snap-align:center;scroll-snap-stop:always;opacity:1;transition:transform .12s cubic-bezier(.22,1,.36,1),box-shadow .12s ease}
  .home-category-card strong{font-size:clamp(2rem,10vw,2.8rem)}
  .home-category-card i{display:none!important}
  .home-category-card:hover{transform:none;box-shadow:0 18px 42px rgba(31,22,18,.12)}
  .home-category-card:hover img{transform:none}
  .home-category-card:hover .category-shade{background:rgba(0,0,0,.55)}
  .home-category-card:hover strong{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .home-category-card:active{transform:scale(.985);box-shadow:0 26px 54px rgba(31,22,18,.22)}
  .home-category-card:active img{transform:scale(1.065)}
  .home-category-card:active .category-shade{background:rgba(0,0,0,.8)}
  .home-category-card:active strong{opacity:0;transform:translate(-50%,-56%) scale(.94)}
  .category-slide-button{position:absolute;top:50%;z-index:5;display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid rgba(23,20,18,.10);border-radius:50%;background:#fff;color:#171412;font-size:1.65rem;line-height:1;box-shadow:0 10px 28px rgba(31,22,18,.16);transform:translateY(-50%)}
  .category-slide-button:hover{transform:translateY(-50%)}
  .category-slide-button:active{transform:translateY(-50%) scale(.9)!important;box-shadow:0 5px 14px rgba(31,22,18,.22),0 0 0 7px rgba(255,255,255,.28)!important}
  .category-slide-prev{left:10px}.category-slide-next{right:10px}
}
