@font-face { font-family: "Cormorant Garamond Variable"; font-style: normal; font-display: swap; font-weight: 300 700; src: url("assets/fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond Variable"; font-style: italic; font-display: swap; font-weight: 300 700; src: url("assets/fonts/cormorant-garamond-latin-wght-italic.woff2") format("woff2"); }
@font-face { font-family: "Manrope Variable"; font-style: normal; font-display: swap; font-weight: 200 800; src: url("assets/fonts/manrope-latin-wght-normal.woff2") format("woff2"); }

:root {
  --bg: #090909;
  --bg-soft: #10100f;
  --surface: #151513;
  --surface-2: #1a1916;
  --ivory: #f4f0e7;
  --muted: #a7a297;
  --gold: #d5ad64;
  --gold-light: #edd69c;
  --gold-dark: #8b672d;
  --line: rgba(223, 190, 121, .18);
  --line-soft: rgba(255,255,255,.08);
  --shadow: 0 28px 70px rgba(0,0,0,.45);
  --serif: "Cormorant Garamond Variable", "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope Variable", Manrope, system-ui, sans-serif;
}

/* Cuenta de cliente */
.account-button{position:relative}.account-dot{position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--gold,#c6a15b);box-shadow:0 0 0 2px #0a0a09}.mobile-nav button{appearance:none;border:0;border-top:1px solid rgba(255,255,255,.08);background:none;color:inherit;font:inherit;text-align:left;width:100%;padding:16px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.auth-layer{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.auth-layer-open{opacity:1;visibility:visible}.auth-backdrop{position:absolute;inset:0;border:0;background:rgba(3,3,3,.78);backdrop-filter:blur(8px);cursor:pointer}.auth-modal{position:relative;width:min(440px,100%);max-height:min(720px,calc(100vh - 32px));overflow:auto;padding:38px;border:1px solid rgba(201,164,92,.34);border-radius:18px;background:linear-gradient(145deg,#171613,#0c0c0b 72%);box-shadow:0 30px 90px rgba(0,0,0,.58);color:#f5efe2;transform:translateY(14px) scale(.98);transition:transform .25s ease}.auth-layer-open .auth-modal{transform:none}.auth-close{position:absolute;right:15px;top:12px;width:36px;height:36px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:transparent;color:#f5efe2;font-size:25px;line-height:1;cursor:pointer}.auth-modal h2{margin:6px 0 8px;font-family:var(--font-display,"Cormorant Garamond",serif);font-size:40px;font-weight:500}.auth-modal h3{text-align:center;margin:12px 0 4px;font-family:var(--font-display,"Cormorant Garamond",serif);font-size:28px}.auth-intro,.auth-email{color:rgba(245,239,226,.65);line-height:1.6}.auth-email{text-align:center;margin:0 0 24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 20px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#090908}.auth-tabs button{border:0;border-radius:7px;padding:11px 8px;background:transparent;color:rgba(245,239,226,.55);cursor:pointer}.auth-tabs button.active{background:rgba(198,161,91,.16);color:#e6c47d}.auth-modal form{display:grid;gap:15px}.auth-modal label{display:grid;gap:7px;color:#dfd7c8;font-size:13px}.auth-modal input{width:100%;height:48px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.045);padding:0 14px;color:#fff;font:inherit;outline:none}.auth-modal input:focus{border-color:#c6a15b;box-shadow:0 0 0 3px rgba(198,161,91,.1)}.auth-modal input:disabled,.auth-modal button:disabled{opacity:.55;cursor:wait}.auth-message{min-height:20px;margin:0;font-size:13px;line-height:1.5}.auth-message-error{color:#ef9b91}.auth-message-success{color:#a8d7ab}.auth-profile-mark{width:76px;height:76px;margin:25px auto 0;display:grid;place-items:center;border:1px solid rgba(198,161,91,.55);border-radius:50%;background:rgba(198,161,91,.11);color:#e6c47d;font-family:var(--font-display,"Cormorant Garamond",serif);font-size:34px}@media(max-width:600px){.auth-modal{padding:32px 22px}.auth-modal h2{font-size:34px}}
.auth-admin-link{margin-bottom:10px}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; color: var(--ivory); background: radial-gradient(circle at 15% 6%, rgba(182,137,59,.07), transparent 28rem), linear-gradient(180deg, #090909, #0d0d0c 48%, #090909); font-family: var(--sans); overflow-x: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
::selection { color: #090909; background: var(--gold-light); }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }

.shell { width: min(100% - 32px, 1240px); margin-inline: auto; }
.section-pad { padding: 88px 0; }
.eyebrow { margin: 0; color: var(--gold); font-size: .7rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 4px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease; }
.btn:hover { transform: translateY(-2px); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.btn-gold { color: #15110a; background: linear-gradient(135deg, #f0dda8, #c49543 68%, #9a6d2a); border-color: rgba(255,231,175,.35); box-shadow: 0 10px 32px rgba(193,139,47,.16), inset 0 1px rgba(255,255,255,.35); }
.btn-gold:hover { box-shadow: 0 14px 40px rgba(193,139,47,.25), inset 0 1px rgba(255,255,255,.45); }
.btn-outline { color: var(--ivory); background: rgba(255,255,255,.025); border-color: rgba(255,255,255,.18); }
.btn-outline:hover { border-color: var(--line); background: rgba(218,173,93,.05); }
.btn-quiet { min-height: 42px; color: #c9c3b7; border-color: transparent; background: transparent; text-transform: none; letter-spacing: 0; }
.btn-quiet:hover { color: var(--gold-light); }
.btn-full { width: 100%; }
.text-button { padding: 7px 0; color: var(--gold-light); border: 0; background: none; cursor: pointer; text-decoration: underline; text-underline-offset: 5px; }
.icon-button { width: 42px; height: 42px; display: inline-grid; place-items: center; border: 1px solid var(--line-soft); border-radius: 50%; background: rgba(13,13,12,.58); cursor: pointer; transition: border-color .2s, background .2s; }
.icon-button:hover { border-color: var(--line); background: rgba(213,173,100,.08); }

/* Navigation */
.navbar { position: fixed; inset: 0 0 auto; z-index: 50; height: 78px; transition: background .35s, border-color .35s, backdrop-filter .35s; border-bottom: 1px solid transparent; }
.navbar-scrolled { background: rgba(8,8,8,.82); backdrop-filter: blur(18px); border-color: var(--line-soft); }
.nav-inner { width: min(100% - 24px, 1320px); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand-lockup { display: flex; align-items: center; gap: 9px; }
.brand-lockup img { width: 39px; height: 39px; object-fit: contain; padding: 3px; border: 1px solid rgba(221,181,103,.2); border-radius: 50%; background: radial-gradient(circle, rgba(197,146,56,.12), rgba(11,11,10,.2)); filter: drop-shadow(0 6px 10px rgba(0,0,0,.45)); }
.brand-lockup span { display: flex; flex-direction: column; line-height: .9; }
.brand-lockup strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.brand-lockup small { margin-top: 5px; color: var(--gold); font-size: .45rem; letter-spacing: .34em; text-transform: uppercase; }
.desktop-nav { display: none; }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.cart-button { position: relative; }
.cart-count { position: absolute; top: -4px; right: -3px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; color: #15110a; background: var(--gold-light); border: 2px solid #0b0b0a; border-radius: 12px; font-size: .6rem; font-weight: 800; }
.mobile-nav { position: absolute; top: 76px; left: 12px; right: 12px; display: grid; padding: 8px 18px; background: rgba(12,12,11,.97); border: 1px solid var(--line); box-shadow: var(--shadow); backdrop-filter: blur(20px); transform: translateY(-12px); opacity: 0; visibility: hidden; transition: .25s ease; }
.mobile-nav-open { transform: translateY(0); opacity: 1; visibility: visible; }
.mobile-nav a { display: flex; justify-content: space-between; padding: 16px 2px; color: #d5d0c6; border-bottom: 1px solid var(--line-soft); font-family: var(--serif); font-size: 1.35rem; }
.mobile-nav a svg { width: 18px; height: 18px; color: var(--gold); }
.mobile-nav a:last-child { border: 0; }

/* Hero */
.hero { position: relative; min-height: 820px; display: grid; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line-soft); }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(108deg, rgba(8,8,8,.3), rgba(8,8,8,.72)), linear-gradient(180deg, transparent 58%, #0b0b0a); }
.grain { position: absolute; inset: 0; opacity: .045; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.hero-ambient { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .22; }
.hero-ambient-one { width: 360px; height: 360px; top: 7%; right: -130px; background: #b47b24; }
.hero-ambient-two { width: 260px; height: 260px; bottom: 4%; left: -130px; background: #6c4c22; }
.hero-content { position: relative; z-index: 2; display: grid; gap: 28px; padding-top: 100px; padding-bottom: 80px; }
.hero-copy { order: 2; text-align: center; }
.hero-eyebrow { animation: fadeUp .75s .12s both; }
.hero h1 { margin: 16px 0 12px; font-family: var(--serif); font-size: clamp(3.35rem, 14vw, 6.8rem); font-weight: 400; line-height: .82; letter-spacing: -.035em; animation: fadeBlur .9s .18s both; }
.hero h1 em { display: inline-block; color: var(--gold-light); font-weight: 400; }
.hero-lead { margin: 24px auto 8px; max-width: 560px; font-family: var(--serif); font-size: clamp(1.35rem, 4.7vw, 2rem); line-height: 1.12; }
.hero-text { max-width: 540px; margin: 0 auto; color: var(--muted); font-size: .92rem; line-height: 1.75; }
.hero-actions { display: grid; gap: 10px; margin-top: 28px; }
.signature-line { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 25px; color: #8f8a80; font-family: var(--serif); font-size: 1rem; font-style: italic; }
.signature-line span { width: 24px; height: 1px; background: var(--gold-dark); }
.hero-brand-visual { position: relative; order: 1; height: 300px; display: grid; place-items: center; animation: fadeBlur 1.1s .1s both; }
.gold-halo { position: absolute; width: 280px; aspect-ratio: 1; border: 1px solid rgba(215,172,91,.22); border-radius: 50%; box-shadow: 0 0 90px rgba(185,124,34,.16), inset 0 0 60px rgba(185,124,34,.08); }
.logo-stage { position: relative; z-index: 1; width: min(82vw, 410px); aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(226,187,108,.16); border-radius: 50%; background: radial-gradient(circle at 50% 38%, rgba(204,150,58,.09), rgba(10,10,9,.18) 62%, rgba(10,10,9,.04)); box-shadow: inset 0 0 70px rgba(211,161,72,.04); filter: drop-shadow(0 26px 45px rgba(0,0,0,.7)); }
.logo-stage img { width: 94%; height: 94%; display: block; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(0,0,0,.52)); }
.scroll-cue { display: none; }

/* Home */
.trust-strip { border-bottom: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.trust-grid { display: grid; }
.trust-grid > div { min-height: 88px; display: flex; align-items: center; gap: 14px; padding: 15px 10px; border-bottom: 1px solid var(--line-soft); color: var(--gold); }
.trust-grid > div:last-child { border-bottom: 0; }
.trust-grid span { display: grid; gap: 3px; color: #8f8a80; font-size: .72rem; }
.trust-grid strong { color: var(--ivory); font-size: .78rem; font-weight: 600; }
.brands-section { position: relative; background: radial-gradient(circle at 92% 20%, rgba(179,125,43,.07), transparent 30rem); }
.section-heading { display: grid; gap: 18px; margin-bottom: 38px; }
.section-heading h2, .editorial-copy h2 { margin: 8px 0 0; font-family: var(--serif); font-size: clamp(2.7rem, 10vw, 5rem); font-weight: 400; line-height: .95; }
.section-heading > p { max-width: 420px; margin: 0; color: var(--muted); line-height: 1.7; }
.brand-grid { display: grid; gap: 14px; }
.brand-card { position: relative; min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 24px; border: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.01)); transition: .35s ease; }
.brand-active { border-color: rgba(218,173,93,.28); background: radial-gradient(circle at 76% 15%, rgba(208,159,72,.15), transparent 14rem), linear-gradient(145deg, #171611, #0d0d0c); }
.brand-active:hover { transform: translateY(-5px); border-color: rgba(231,193,118,.55); box-shadow: 0 26px 60px rgba(0,0,0,.32); }
.brand-card::after { content: ""; position: absolute; inset: auto -12% -42% auto; width: 200px; aspect-ratio: 1; border: 1px solid rgba(222,181,101,.12); border-radius: 50%; }
.brand-number { color: var(--gold-dark); font-family: var(--serif); font-size: 1rem; }
.brand-card div > p { margin: 0 0 7px; color: var(--gold); font-size: .6rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.brand-card h3 { margin: 0 0 8px; overflow-wrap: anywhere; font-family: var(--serif); font-size: clamp(2.25rem, 8vw, 3.8rem); font-weight: 400; line-height: .92; }
.brand-card div > span { display: block; max-width: 340px; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.brand-arrow { position: absolute; top: 21px; right: 21px; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-light); transition: transform .3s; }
.brand-active:hover .brand-arrow { transform: rotate(45deg); }
.brand-upcoming { opacity: .7; }
.brand-upcoming h3 { font-size: 2.35rem; }
.brand-upcoming small { width: fit-content; padding: 7px 10px; border: 1px solid var(--line-soft); color: #918b80; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.brand-sheen { position: absolute; inset: -100% auto auto -40%; width: 35%; height: 260%; transform: rotate(22deg); background: linear-gradient(90deg, transparent, rgba(255,226,164,.035), transparent); transition: left .8s; }
.brand-active:hover .brand-sheen { left: 130%; }
.editorial-section { border-top: 1px solid var(--line-soft); background: #0c0c0b; }
.editorial-grid { display: grid; gap: 48px; align-items: center; }
.editorial-visual { position: relative; min-height: 320px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle, rgba(181,130,49,.14), transparent 54%); }
.editorial-visual img { position: relative; z-index: 2; width: 250px; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(0,0,0,.5)); }
.ui-icon { display: block; flex: 0 0 auto; }
.trust-grid > div > .ui-icon { width: 22px; height: 22px; color: var(--gold); }
.brand-arrow .ui-icon { width: 20px; height: 20px; }
.btn .ui-icon { width: 16px; height: 16px; }
.editorial-ring { position: absolute; width: 270px; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 0 0 36px rgba(214,172,92,.015), 0 0 0 72px rgba(214,172,92,.01); }
.editorial-copy h2 em { color: var(--gold-light); font-weight: 400; }
.editorial-copy > p:not(.eyebrow) { max-width: 580px; color: var(--muted); line-height: 1.9; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 15px; padding-bottom: 6px; color: var(--gold-light); border-bottom: 1px solid var(--gold-dark); font-size: .78rem; font-weight: 650; letter-spacing: .04em; }

/* Catalog */
.catalog-page { min-height: 100vh; background: radial-gradient(circle at 10% 6%, rgba(178,124,43,.08), transparent 26rem); }
.catalog-hero { position: relative; min-height: 410px; display: flex; align-items: end; padding: 130px 0 56px; overflow: hidden; border-bottom: 1px solid var(--line-soft); }
.catalog-hero::before { content: "LUXURY"; position: absolute; right: -24px; bottom: -35px; color: rgba(255,255,255,.018); font-family: var(--serif); font-size: 8rem; letter-spacing: -.03em; }
.catalog-hero-glow { position: absolute; width: 380px; height: 380px; right: -140px; top: -110px; border-radius: 50%; background: rgba(188,135,50,.11); filter: blur(70px); }
.catalog-hero-content { position: relative; z-index: 1; }
.back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 38px; color: #9c978c; font-size: .73rem; }
.back-link:hover { color: var(--gold-light); }
.catalog-title-row { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.catalog-title-row h1 { margin: 7px 0 6px; font-family: var(--serif); font-size: clamp(4.5rem, 20vw, 8rem); font-weight: 400; line-height: .78; }
.catalog-title-row p:not(.eyebrow) { max-width: 540px; margin: 20px 0 0; color: var(--muted); line-height: 1.7; }
.brand-monogram { display: none; }
.catalog-section { padding-top: 45px; }
.catalog-toolbar { display: grid; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line-soft); }
.catalog-search, .catalog-sort { height: 52px; display: flex; align-items: center; gap: 10px; padding: 0 15px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.018); color: #837f76; transition: border-color .2s; }
.catalog-search:focus-within, .catalog-sort:focus-within { border-color: var(--line); }
.catalog-search input { flex: 1; min-width: 0; color: var(--ivory); border: 0; outline: 0; background: transparent; }
.catalog-search input::placeholder { color: #6f6b63; }
.catalog-sort span { font-size: .74rem; }
.catalog-sort select { flex: 1; min-width: 0; color: var(--ivory); border: 0; outline: 0; background: transparent; cursor: pointer; }
.catalog-sort option { color: #111; background: #fff; }
.catalog-count { margin: 22px 0; color: #7e796f; font-size: .75rem; }
.catalog-count span { color: var(--gold-light); font-weight: 700; }
.product-grid { display: grid; gap: 18px; }
.product-card { overflow: hidden; border: 1px solid var(--line-soft); background: linear-gradient(160deg, rgba(255,255,255,.033), rgba(255,255,255,.012)); box-shadow: 0 12px 38px rgba(0,0,0,.2); transition: transform .35s, border-color .35s, box-shadow .35s; }
.product-card:hover { transform: translateY(-5px); border-color: rgba(213,173,100,.32); box-shadow: 0 26px 55px rgba(0,0,0,.38); }
.product-image-frame { position: relative; aspect-ratio: 1; overflow: hidden; border-bottom: 1px solid rgba(49,169,209,.24); background: radial-gradient(circle at 50% 42%, #0a3d53, #031722 80%); isolation: isolate; }
.product-image-frame::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; box-shadow: inset 0 -22px 32px rgba(72,49,19,.08); }
.product-image { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; filter: saturate(1.02) contrast(1.015); transition: transform .45s ease, filter .45s ease; }
.product-card:hover .product-image { transform: scale(1.012); filter: saturate(1.035) contrast(1.02); }
.product-placeholder { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 8px; padding: 20px; text-align: center; }
.product-placeholder img { width: 142px; opacity: .55; mix-blend-mode: screen; filter: grayscale(.18); transition: transform .4s, opacity .4s; }
.product-card:hover .product-placeholder img { transform: scale(1.035); opacity: .65; }
.placeholder-orbit { position: absolute; width: 210px; aspect-ratio: 1; border: 1px solid rgba(215,172,91,.1); border-radius: 50%; box-shadow: 0 0 0 28px rgba(215,172,91,.012); }
.product-placeholder p { z-index: 1; margin: 4px 0 0; color: #aaa398; font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; }
.product-placeholder small { z-index: 1; max-width: 100%; overflow: hidden; color: #5f5b54; font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; }
.product-card-body { padding: 20px; }
.product-brand { margin: 0 0 7px; color: var(--gold); font-size: .59rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.product-card h3 { min-height: 2.5rem; margin: 0; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; line-height: 1.05; }
.product-price { margin: 14px 0 20px; color: var(--gold-light); font-size: 1.05rem; font-weight: 600; }
.product-price-pending .product-price { color: #c8b992; font-size: .9rem; letter-spacing: .04em; }
.product-actions { display: grid; gap: 8px; }
.product-actions .btn { width: 100%; }
.catalog-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 8px; color: #827d73; text-align: center; border: 1px dashed var(--line-soft); }
.catalog-empty h2 { margin: 8px 0 0; color: var(--ivory); font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.catalog-empty p { margin: 0; }

/* Footer */
.footer { position: relative; padding: 78px 0 28px; overflow: hidden; border-top: 1px solid var(--line-soft); background: #080808; }
.footer-glow { position: absolute; top: -200px; left: 12%; width: 420px; height: 300px; border-radius: 50%; background: rgba(178,124,43,.07); filter: blur(80px); }
.footer-grid { position: relative; display: grid; gap: 38px; }
.footer-brand h2 { margin: 12px 0 15px; font-family: var(--serif); font-size: 2.6rem; font-weight: 400; line-height: .95; }
.footer-brand > p:last-child { max-width: 390px; color: #7f7a71; line-height: 1.7; }
.footer-grid > div:not(.footer-brand) { display: grid; align-content: start; gap: 10px; }
.footer-grid h3 { margin: 0 0 6px; color: var(--gold); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.footer-grid a, .footer-grid span { color: #8e897f; font-size: .76rem; line-height: 1.6; }
.footer-grid a:hover { color: var(--ivory); }
.footer-bottom { display: flex; flex-direction: column; gap: 8px; margin-top: 54px; padding-top: 23px; border-top: 1px solid var(--line-soft); color: #5e5a54; font-size: .64rem; }

/* Drawer */
.drawer-layer { position: fixed; inset: 0; z-index: 90; pointer-events: none; visibility: hidden; transition: visibility .35s; }
.drawer-layer-open { pointer-events: auto; visibility: visible; }
.drawer-backdrop { position: absolute; inset: 0; border: 0; background: rgba(0,0,0,.7); backdrop-filter: blur(4px); opacity: 0; transition: opacity .35s; }
.drawer-layer-open .drawer-backdrop { opacity: 1; }
.cart-drawer { position: absolute; inset: 0 0 0 auto; width: min(100%, 460px); display: flex; flex-direction: column; background: #10100f; border-left: 1px solid var(--line); box-shadow: -30px 0 80px rgba(0,0,0,.42); transform: translateX(100%); transition: transform .4s cubic-bezier(.22,.8,.24,1); }
.drawer-layer-open .cart-drawer { transform: translateX(0); }
.drawer-head { min-height: 100px; display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--line-soft); }
.drawer-head h2 { margin: 4px 0 0; font-family: var(--serif); font-size: 2.2rem; font-weight: 400; }
.drawer-body { flex: 1; overflow-y: auto; padding: 8px 20px 20px; }
.empty-cart { min-height: 65vh; display: grid; place-items: center; align-content: center; gap: 11px; color: #777269; text-align: center; }
.empty-cart h3 { margin: 8px 0 0; color: var(--ivory); font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.empty-cart p { max-width: 300px; margin: 0 0 14px; font-size: .78rem; line-height: 1.7; }
.cart-line { position: relative; display: grid; grid-template-columns: 76px 1fr 32px; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line-soft); }
.mini-product-art { width: 76px; height: 88px; display: grid; place-items: center; color: var(--gold-dark); border: 1px solid var(--line-soft); background: radial-gradient(circle, rgba(201,153,67,.12), #151513 62%); font-family: var(--serif); font-size: 2rem; }
.mini-product-art img { width: 100%; height: 100%; display: block; object-fit: contain; padding: 5px; filter: drop-shadow(0 8px 8px rgba(0,0,0,.45)); }
.cart-line-info > p { margin: 0 0 3px; color: var(--gold); font-size: .52rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.cart-line-info h3 { margin: 0 0 5px; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.cart-line-info > strong { color: #bdb6aa; font-size: .73rem; }
.quantity-control { width: 104px; height: 34px; display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; margin-top: 11px; border: 1px solid var(--line-soft); }
.quantity-control button { height: 100%; display: grid; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.quantity-control span { text-align: center; font-size: .73rem; }
.remove-line { align-self: start; width: 31px; height: 31px; display: grid; place-items: center; color: #7e786e; border: 0; background: transparent; cursor: pointer; }
.remove-line:hover { color: #e7c98d; }
.drawer-summary { padding: 20px; border-top: 1px solid var(--line); background: #0d0d0c; }
.drawer-summary > div { display: flex; justify-content: space-between; }
.drawer-summary > div strong { color: var(--gold-light); font-size: 1.15rem; }
.drawer-summary p { margin: 8px 0 18px; color: #706c64; font-size: .64rem; }
.summary-row { min-height: 28px; align-items: center; color: #918b81; font-size: .7rem; }
.summary-row strong { font-size: .82rem !important; }
.summary-discount { color: #6f6b64; }
.summary-discount strong { color: #777269 !important; }
.summary-discount-active, .summary-discount-active strong { color: #d8ba79 !important; }
.summary-total { margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--line-soft); }
.summary-total strong { font-size: 1.2rem !important; }
.summary-pyg { display: grid !important; gap: 3px; margin-top: 10px; padding: 11px 12px; border: 1px solid rgba(217,177,98,.18); background: rgba(209,160,74,.045); }
.summary-pyg span { color: #817b72; font-size: .61rem; }
.summary-pyg strong { color: var(--gold-light); font-size: 1.12rem !important; }
.summary-pyg small { color: #666159; font-size: .54rem; }
.drawer-summary .bulk-note { margin: 10px 0 17px; line-height: 1.55; }
.drawer-summary .bulk-note-active { color: #c7aa6f; }

/* Checkout */
.checkout-layer { position: fixed; inset: 0; z-index: 100; display: grid; place-items: end center; pointer-events: none; visibility: hidden; transition: visibility .3s; }
.checkout-layer-open { pointer-events: auto; visibility: visible; }
.checkout-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.82); backdrop-filter: blur(7px); opacity: 0; transition: opacity .3s; }
.checkout-layer-open .checkout-backdrop { opacity: 1; }
.checkout-modal { position: relative; width: 100%; max-height: 94dvh; overflow-y: auto; padding: 22px 16px 32px; background: #11110f; border: 1px solid var(--line); border-bottom: 0; box-shadow: 0 -30px 90px rgba(0,0,0,.5); transform: translateY(105%); transition: transform .4s cubic-bezier(.22,.8,.24,1); }
.checkout-layer-open .checkout-modal { transform: translateY(0); }
.checkout-close { position: absolute; right: 12px; top: 12px; z-index: 3; }
.checkout-progress { max-width: 720px; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 auto 28px; padding: 7px 38px 19px 0; border-bottom: 1px solid var(--line-soft); }
.checkout-progress > div { position: relative; display: grid; justify-items: center; gap: 7px; color: #625f58; }
.checkout-progress > div:not(:last-child)::after { content: ""; position: absolute; left: calc(50% + 20px); top: 15px; width: calc(100% - 40px); height: 1px; background: var(--line-soft); }
.checkout-progress > div.done:not(:last-child)::after { background: var(--gold-dark); }
.checkout-progress span { z-index: 1; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line-soft); border-radius: 50%; background: #11110f; font-size: .66rem; }
.checkout-progress p { display: none; margin: 0; font-size: .62rem; }
.checkout-progress .current { color: var(--gold-light); }
.checkout-progress .current span, .checkout-progress .done span { color: #141009; border-color: var(--gold); background: var(--gold); }
.checkout-content { width: min(100%, 900px); margin: auto; }
.checkout-step { width: min(100%, 760px); margin: auto; }
.step-heading { margin-bottom: 25px; }
.step-heading h2, .success-step h2 { margin: 9px 0 7px; font-family: var(--serif); font-size: clamp(2.2rem, 9vw, 3.5rem); font-weight: 400; line-height: .95; }
.step-heading > p:last-child, .success-step > p { color: var(--muted); font-size: .78rem; line-height: 1.65; }
.form-grid { display: grid; gap: 17px; margin-bottom: 24px; }
.field-group { display: grid; gap: 7px; }
.field-group label { color: #bdb7ac; font-size: .71rem; }
.field-group label span { color: var(--gold); }
.field-group > input, .combobox { width: 100%; min-height: 50px; padding: 0 14px; color: var(--ivory); border: 1px solid var(--line-soft); border-radius: 0; outline: 0; background: rgba(255,255,255,.025); transition: border-color .2s; }
.field-group > input:focus, .combobox:focus-within { border-color: rgba(222,184,108,.48); }
.field-group input::placeholder { color: #615e58; }
.field-invalid { border-color: rgba(224,111,91,.66) !important; }
.field-error { margin: 0; color: #e18d7d; font-size: .65rem; }
.city-field { position: relative; }
.combobox { position: relative; display: flex; align-items: center; gap: 10px; padding-left: 14px; }
.combobox > input { flex: 1; min-width: 0; height: 48px; color: var(--ivory); border: 0; outline: 0; background: transparent; }
.combobox > svg { flex: 0 0 auto; color: #777269; }
.chevron-open { transform: rotate(180deg); }
.combobox-results { position: absolute; z-index: 10; top: calc(100% + 7px); left: -1px; right: -1px; max-height: min(330px, 45dvh); overflow-y: auto; padding: 8px; border: 1px solid var(--line); background: #171714; box-shadow: var(--shadow); }
.city-group > p { position: sticky; top: -8px; z-index: 1; margin: 0; padding: 9px 7px 6px; color: var(--gold); background: #171714; font-size: .54rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.city-group button { width: 100%; display: grid; grid-template-columns: 22px 1fr 20px; align-items: center; padding: 10px 7px; color: #c8c2b8; border: 0; border-bottom: 1px solid rgba(255,255,255,.04); background: transparent; text-align: left; cursor: pointer; }
.city-group button:hover, .city-group .option-active { background: rgba(214,172,92,.08); }
.city-group button > span { display: grid; gap: 2px; }
.city-group small { color: #777269; font-size: .57rem; }
.no-results { padding: 28px 16px; color: #847f76; font-size: .72rem; text-align: center; }
.payment-options { display: grid; gap: 12px; }
.payment-card { display: grid; gap: 15px; padding: 18px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.018); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.payment-card:hover { border-color: var(--line); }
.payment-selected { border-color: rgba(225,187,110,.55); background: rgba(205,158,76,.055); }
.payment-top { display: grid; grid-template-columns: 40px 1fr 22px; gap: 11px; align-items: center; }
.payment-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--gold-light); border: 1px solid var(--line); }
.payment-top h3 { margin: 0 0 3px; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.payment-top p { margin: 0; color: #78746c; font-size: .62rem; line-height: 1.4; }
.radio-mark { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid var(--line-soft); border-radius: 50%; }
.payment-selected .radio-mark { color: #161109; border-color: var(--gold); background: var(--gold); }
.payment-data { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; padding: 12px; background: rgba(0,0,0,.2); }
.payment-data > span { color: #777269; font-size: .6rem; text-transform: uppercase; }
.payment-data strong { grid-column: 1; color: var(--gold-light); letter-spacing: .05em; }
.payment-data button { grid-column: 2; grid-row: 1 / 3; display: flex; align-items: center; gap: 5px; padding: 8px; color: #b9b3a8; border: 1px solid var(--line-soft); background: transparent; cursor: pointer; font-size: .62rem; }
.payment-card > small { color: #777269; line-height: 1.55; }
.payment-error { margin-top: 10px; }
.checkout-actions { display: grid; grid-template-columns: 1fr 1.6fr; gap: 10px; margin-top: 24px; }
.review-grid { display: grid; gap: 12px; }
.review-card { padding: 17px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.018); }
.review-card > h3 { margin: 0 0 14px; color: var(--gold); font-size: .61rem; letter-spacing: .15em; text-transform: uppercase; }
.summary-line { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.summary-line > div { display: grid; gap: 4px; }
.summary-line strong { font-size: .72rem; font-weight: 600; }
.summary-line span { color: #777269; font-size: .6rem; }
.review-total { display: flex; align-items: center; justify-content: space-between; padding-top: 15px; }
.review-total strong { color: var(--gold-light); font-size: 1.08rem; }
.order-totals { display: grid; gap: 7px; padding-top: 13px; }
.order-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #817c73; font-size: .67rem; }
.order-totals > div > strong { color: #b9b2a6; font-size: .75rem; }
.order-totals .discount-line, .order-totals .discount-line strong { color: #d1af6c; }
.order-totals .review-total { padding-top: 10px; border-top: 1px solid var(--line-soft); }
.order-totals .review-total strong { color: var(--gold-light); font-size: 1.08rem; }
.order-totals .pyg-total { display: grid; grid-template-columns: 1fr auto; padding: 10px; border: 1px solid rgba(217,177,98,.16); background: rgba(209,160,74,.035); }
.order-totals .pyg-total strong { color: var(--gold-light); font-size: .9rem; }
.order-totals .pyg-total small { grid-column: 1 / -1; color: #625e57; font-size: .53rem; }
.review-side { display: grid; gap: 12px; }
.review-card > p { margin: 0; color: #8e897f; font-size: .72rem; line-height: 1.75; }
.review-card > p strong { color: var(--ivory); }
.review-card > p span { color: var(--gold); }
.trust-note { display: flex; align-items: center; gap: 9px; margin-top: 14px; color: #827e75; font-size: .65rem; }
.success-step { width: min(100%, 680px); margin: auto; padding: 16px 0; text-align: center; }
.success-icon { width: 82px; height: 82px; display: grid; place-items: center; margin: 0 auto 20px; color: #141009; border-radius: 50%; background: linear-gradient(135deg, var(--gold-light), #b58032); box-shadow: 0 0 0 10px rgba(211,170,93,.07), 0 0 60px rgba(211,170,93,.17); }
.order-code { display: grid; gap: 7px; margin: 24px 0 14px; padding: 18px; border: 1px solid var(--line); background: rgba(213,173,100,.045); }
.order-code span { color: #777269; font-size: .62rem; text-transform: uppercase; }
.order-code strong { color: var(--gold-light); font-family: var(--serif); font-size: 1.6rem; letter-spacing: .08em; }
.order-code small { width: fit-content; margin: auto; padding: 5px 8px; color: #d5b773; border: 1px solid var(--line); font-size: .54rem; text-transform: uppercase; }
.success-summary { margin-bottom: 14px; padding: 9px 16px 15px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); text-align: left; }
.success-summary > p { margin: 14px 0 0; color: #7f7a71; font-size: .68rem; }
.btn-whatsapp { color: #07130c; background: linear-gradient(135deg, #bdf2ce, #5ccb85); border-color: rgba(255,255,255,.18); }
.manual-note { max-width: 540px; margin: 12px auto !important; color: #736f67 !important; font-size: .62rem !important; }
.spin { animation: spin 1s linear infinite; }
.animate-in { animation: fadeUp .35s both; }

/* Toast */
.toast { position: fixed; z-index: 130; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 9px; max-width: calc(100% - 28px); padding: 11px 15px; color: #ede8de; border: 1px solid var(--line); background: rgba(19,19,17,.95); box-shadow: 0 16px 50px rgba(0,0,0,.44); backdrop-filter: blur(14px); font-size: .7rem; transform: translate(-50%, 25px); opacity: 0; pointer-events: none; transition: .3s ease; }
.toast-visible { transform: translate(-50%, 0); opacity: 1; }
.toast-mark { width: 20px; height: 20px; display: grid; place-items: center; color: #141009; border-radius: 50%; background: var(--gold-light); font-size: .65rem; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes fadeBlur { from { opacity: 0; filter: blur(8px); transform: translateY(18px); } to { opacity: 1; filter: none; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (min-width: 680px) {
  .shell { width: min(100% - 48px, 1240px); }
  .hero-actions { display: flex; justify-content: center; }
  .trust-grid { grid-template-columns: repeat(3, 1fr); }
  .trust-grid > div { justify-content: center; border-right: 1px solid var(--line-soft); border-bottom: 0; }
  .trust-grid > div:last-child { border-right: 0; }
  .section-heading { grid-template-columns: 1.2fr .8fr; align-items: end; }
  .section-heading > p { justify-self: end; }
  .brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-grid > :first-child { grid-column: auto; }
  .brand-card { min-height: 380px; padding: 30px; }
  .editorial-grid { grid-template-columns: .85fr 1.15fr; }
  .catalog-toolbar { grid-template-columns: minmax(280px, 1fr) auto; }
.catalog-sort { min-width: 285px; }
.catalog-brand { min-width: 220px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 4; }
  .footer-bottom { flex-direction: row; justify-content: space-between; }
  .checkout-layer { place-items: center; }
  .checkout-modal { width: min(94%, 980px); max-height: 92dvh; padding: 28px 34px 36px; border-bottom: 1px solid var(--line); transform: translateY(35px) scale(.98); opacity: 0; }
  .checkout-layer-open .checkout-modal { transform: none; opacity: 1; }
  .checkout-progress p { display: block; }
  .form-grid { grid-template-columns: 1fr 1fr; }
  .city-field { grid-column: 1 / -1; }
  .payment-card { padding: 21px; }
  .review-grid { grid-template-columns: 1.25fr .75fr; }
}

@media (min-width: 980px) {
  .section-pad { padding: 120px 0; }
  .navbar { height: 86px; }
  .nav-inner { width: min(100% - 64px, 1320px); }
  .brand-lockup img { width: 46px; height: 46px; }
  .desktop-nav { display: flex; align-items: center; gap: 36px; }
  .desktop-nav a { position: relative; color: #aaa49a; font-size: .67rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
  .desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--gold); transition: right .25s; }
  .desktop-nav a:hover { color: var(--ivory); }
  .desktop-nav a:hover::after { right: 0; }
  .menu-button { display: none; }
  .hero { min-height: 810px; height: 100svh; max-height: 980px; }
  .hero-content { grid-template-columns: 1.02fr .98fr; align-items: center; gap: 30px; padding-top: 100px; padding-bottom: 55px; }
  .hero-copy { order: 1; text-align: left; }
  .hero h1 { font-size: clamp(5.1rem, 7.1vw, 7.3rem); }
  .hero-lead, .hero-text { margin-left: 0; }
  .hero-actions { justify-content: flex-start; }
  .signature-line { justify-content: flex-start; }
  .hero-brand-visual { order: 2; height: 590px; }
  .gold-halo { width: 520px; }
  .logo-stage { width: 580px; }
  .scroll-cue { position: absolute; z-index: 2; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 8px; color: #68645d; font-size: .54rem; letter-spacing: .16em; text-transform: uppercase; transform: translateX(-50%); }
  .brand-card { min-height: 440px; }
  .brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .brand-grid > :first-child { grid-column: auto; }
  .editorial-visual { min-height: 500px; }
  .editorial-visual img { width: 360px; }
  .editorial-ring { width: 390px; }
  .catalog-hero { min-height: 500px; padding-bottom: 70px; }
  .catalog-hero::before { font-size: 16rem; right: 3%; bottom: -75px; }
  .brand-monogram { flex: 0 0 auto; width: 132px; height: 132px; display: grid; place-items: center; align-content: center; gap: 6px; color: var(--gold); border: 1px solid var(--line); border-radius: 50%; }
  .brand-monogram span { font-family: var(--serif); font-size: 1.5rem; }
  .catalog-toolbar { grid-template-columns: minmax(300px, 1fr) minmax(220px, .55fr) minmax(250px, .65fr); }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 2.2fr repeat(3, 1fr); }
  .footer-grid > div:last-child { grid-column: auto; }
}

@media (min-width: 1260px) {
  .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Ajustes de la versión estática */
[hidden] { display: none !important; }
.fade-up { animation: fadeUp .45s both; }
.feature-symbol { min-width: 22px; color: var(--gold-light) !important; font-family: var(--serif); font-size: 1.35rem !important; }
.large-symbol { color: var(--gold); font-family: var(--serif); font-size: 2.4rem; }
.cart-button { font-family: var(--serif); font-size: 1.45rem; }
.checkout-close, .drawer-head .icon-button { font-size: 1.35rem; }
.success-icon { font-size: 2rem; font-weight: 800; }
.brand-arrow { font-family: var(--serif); font-size: 1.4rem; }
.catalog-search > span:first-child, .catalog-sort > span:first-child { font-family: var(--serif); font-size: 1.35rem; }
.product-card.product-sold-out{opacity:.72}.product-card.product-sold-out .product-image{filter:grayscale(.65)}.sold-out-badge{position:absolute;z-index:3;top:14px;left:14px;padding:7px 10px;background:#751f1b;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.12em}.product-card button:disabled{cursor:not-allowed;opacity:.5}
