/* ==========================================================================
   DYREONLAM — main.css
   Sistema de diseño negro & oro · componentes globales · portada
   ========================================================================== */

/* ---------- Fuentes (autoalojadas) ---------- */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/cormorant-garamond-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300;font-display:swap;src:url("../fonts/cormorant-garamond-latin-300-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url("../fonts/cormorant-garamond-latin-600-italic.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/jost-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jost-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jost-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/jost-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Pinyon Script";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/pinyon-script-latin-400-normal.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
  --black:#080808;
  --ink:#0c0c0b;
  --surface:#111110;
  --surface-2:#171614;
  --line:rgba(212,175,55,.16);
  --line-2:rgba(212,175,55,.34);
  --line-soft:rgba(239,232,216,.09);

  --gold-50:#fff6d6;
  --gold-100:#f6e3a1;
  --gold-200:#ecd07a;
  --gold-300:#e0b94f;
  --gold-400:#d4af37;
  --gold-500:#b8892e;
  --gold-600:#8a6a1f;
  --grad-gold:linear-gradient(115deg,#8a6a1f 0%,#d4af37 24%,#fff1b8 46%,#d4af37 66%,#8a6a1f 100%);
  --grad-gold-soft:linear-gradient(115deg,#b8892e,#ecd07a 50%,#b8892e);

  --text:#efe8d8;
  --text-dim:#b4ab98;
  --text-faint:#8a8272;

  --font-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --font-body:"Jost","Helvetica Neue",Arial,system-ui,sans-serif;
  --font-script:"Pinyon Script","Snell Roundhand",cursive;

  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);

  --container:1360px;
  --container-narrow:820px;
  --gutter:clamp(20px,4vw,56px);
  --header-h:84px;
  --announce-h:38px;
  --section-y:clamp(72px,10vw,150px);
  --radius:2px;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--black);color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--black);color:var(--text);font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
body::before{content:"";position:fixed;inset:-50%;z-index:900;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .6  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:screen}
img,svg,video{max-width:100%;height:auto;display:block}
img{-webkit-user-drag:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol{margin:0;padding:0}
h1,h2,h3,h4,h5,h6,p,figure,dl,dd{margin:0}
:focus-visible{outline:2px solid var(--gold-300);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold-400);color:#0a0a0a}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:#2a2518;border:2px solid var(--black);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-600)}
[hidden]{display:none!important}

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;z-index:2000;background:var(--gold-400);color:#0a0a0a;padding:12px 18px;font-weight:500;transition:top .3s}
.skip-link:focus{top:16px}

.icon{width:22px;height:22px;flex:none}

/* ---------- Tipografía ---------- */
.h1,.h2,.h3{font-family:var(--font-display);font-weight:300;letter-spacing:-.012em;color:var(--text)}
.h2{font-size:clamp(2.5rem,5.2vw,4.6rem);line-height:1.02}
.h2 em,.h3 em{font-style:italic;font-weight:400}
.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.7;color:var(--text-dim);font-weight:300}
p{color:var(--text-dim)}
.gold-text{background:var(--grad-gold);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:goldflow 9s linear infinite}
@keyframes goldflow{0%{background-position:0% 0}100%{background-position:240% 0}}

.eyebrow{display:inline-flex;align-items:center;gap:16px;font-size:.74rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-300)}
.eyebrow__line{display:block;width:40px;height:1px;background:var(--grad-gold-soft);transform-origin:left}

/* ---------- Layout ---------- */
.container{width:min(100% - var(--gutter)*2,var(--container));margin-inline:auto}
.container--narrow{width:min(100% - var(--gutter)*2,var(--container-narrow))}
.container--wide{width:min(100% - var(--gutter)*2,1240px)}
.section{position:relative;padding-block:var(--section-y)}
.section__head{display:grid;gap:18px;max-width:46rem;margin-bottom:clamp(36px,5vw,72px)}
.section__head--row{max-width:none;grid-template-columns:1fr auto;align-items:end;gap:24px}
.section__head--row>div:not(.carousel-nav){display:grid;gap:18px}
.section__lead{color:var(--text-dim);font-size:1.08rem;font-weight:300;max-width:38rem}
.site-main{display:block;outline:none}

/* ---------- Botones ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.8em;min-height:54px;padding:0 2.1rem;font-family:var(--font-body);font-size:.76rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1;white-space:nowrap;color:var(--gold-100);background:transparent;border:1px solid var(--gold-500);border-radius:var(--radius);cursor:pointer;overflow:hidden;isolation:isolate;transition:color .5s var(--ease-out),border-color .5s var(--ease-out),transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.btn .icon{width:18px;height:18px;transition:transform .5s var(--ease-out)}
.btn:hover .icon--arrow-right{transform:translateX(5px)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad-gold);background-size:200% 100%;transform:translateY(102%);transition:transform .6s var(--ease-out)}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover,.btn:focus-visible{color:#0a0a0a;border-color:transparent}
.btn--gold{color:#0a0a0a;border-color:transparent;background:var(--grad-gold);background-size:220% 100%;background-position:0 0;box-shadow:0 10px 40px -12px rgba(212,175,55,.45)}
.btn--gold::before{background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:250% 100%;transform:none;opacity:0;background-position:120% 0;transition:background-position .9s var(--ease-out),opacity .3s}
.btn--gold:hover::before,.btn--gold:focus-visible::before{opacity:1;background-position:-20% 0}
.btn--gold:hover{box-shadow:0 14px 48px -10px rgba(236,208,122,.6);transform:translateY(-2px)}
.btn--ghost{border-color:var(--line-2);color:var(--text)}
.btn--block{width:100%}
.btn[disabled],.btn.disabled{opacity:.45;pointer-events:none}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-300);transition:gap .4s var(--ease-out),color .3s}
.link-arrow:hover{gap:16px;color:var(--gold-100)}
.link-arrow .icon{width:18px;height:18px}

.icon-btn{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;color:var(--text);border-radius:50%;transition:color .3s,background .3s,transform .4s var(--ease-out)}
.icon-btn:hover{color:var(--gold-200);background:rgba(212,175,55,.08)}
.round-btn{display:inline-grid;place-items:center;width:52px;height:52px;border:1px solid var(--line-2);border-radius:50%;color:var(--gold-100);background:rgba(8,8,8,.5);transition:background .4s var(--ease-out),color .4s,border-color .4s,transform .4s var(--ease-out)}
.round-btn .icon{width:20px;height:20px}
.round-btn:hover{background:var(--gold-400);color:#0a0a0a;border-color:var(--gold-400)}
.round-btn:disabled{opacity:.35;pointer-events:none}
.chip,.pill{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);transition:all .35s var(--ease-out)}
.chip:hover,.pill:hover{border-color:var(--gold-400);color:var(--gold-100)}
.pill.is-active{background:var(--gold-400);border-color:var(--gold-400);color:#0a0a0a;font-weight:500}

/* ---------- Preloader / cortina / cursor ---------- */
.preloader{position:fixed;inset:0;z-index:1000;display:none;place-items:center;pointer-events:none}
.show-preloader .preloader{display:grid;pointer-events:auto}
.preloader__panel{position:absolute;top:0;bottom:0;width:50.3%;background:var(--black);z-index:0}
.preloader__panel--l{left:0}
.preloader__panel--r{right:0}
.preloader__inner{position:relative;z-index:1;display:grid;justify-items:center;gap:22px}
.preloader__mono{position:relative;width:clamp(120px,15vw,180px)}
.preloader__mono img{width:100%;height:auto;opacity:.9}
.preloader__shine{position:absolute;inset:0;-webkit-mask:var(--mono) center/contain no-repeat;mask:var(--mono) center/contain no-repeat;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.95) 50%,transparent 65%) 220% 0/260% 100% no-repeat;animation:shine 1.7s var(--ease-in-out) .15s infinite}
@keyframes shine{to{background-position:-120% 0}}
.preloader__tag{font-family:var(--font-script);font-size:clamp(1.5rem,3vw,2rem);color:var(--gold-200);letter-spacing:.02em;opacity:0;transform:translateY(8px)}
.preloader__bar{width:170px;height:1px;background:rgba(212,175,55,.2);overflow:hidden}
.preloader__bar span{display:block;height:100%;background:var(--grad-gold);transform:scaleX(0);transform-origin:left}

.curtain{position:fixed;inset:0;z-index:950;background:var(--black);pointer-events:none;opacity:0;visibility:hidden}

.cursor{position:fixed;top:0;left:0;z-index:960;pointer-events:none;display:none;mix-blend-mode:normal}
.has-hover .cursor{display:block}
.cursor__dot,.cursor__ring{position:absolute;top:0;left:0;border-radius:50%;translate:-50% -50%}
.cursor__dot{width:6px;height:6px;background:var(--gold-200)}
.cursor__ring{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(246,227,161,.55);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#0a0a0a;font-weight:500;transition:width .4s var(--ease-out),height .4s var(--ease-out),background .4s,border-color .4s}
.cursor.is-link .cursor__ring{width:62px;height:62px;background:rgba(212,175,55,.14);border-color:var(--gold-300)}
.cursor.has-label .cursor__ring{width:84px;height:84px;background:var(--gold-300);border-color:var(--gold-300)}
.cursor.is-down .cursor__ring{width:30px;height:30px}
.cursor.is-hidden{opacity:0}

/* ---------- Barra superior ---------- */
.announce{position:relative;z-index:60;height:var(--announce-h);background:linear-gradient(90deg,#0b0a07,#14110a 50%,#0b0a07);border-bottom:1px solid var(--line)}
.announce__track{position:relative;height:100%;max-width:var(--container);margin-inline:auto;overflow:hidden}
.announce__item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;font-size:.7rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-100);opacity:0;transform:translateY(100%);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out);pointer-events:none;text-align:center;padding-inline:16px}
.announce__item.is-active{opacity:1;transform:none;pointer-events:auto}
.announce__item.is-leaving{opacity:0;transform:translateY(-100%)}
.announce__star{width:10px;height:10px;color:var(--gold-400);flex:none}

/* ---------- Cabecera ---------- */
.site-header{position:sticky;top:0;z-index:70;background:linear-gradient(180deg,rgba(8,8,8,.96),rgba(8,8,8,.78));backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid transparent;transition:transform .6s var(--ease-out),background .4s,border-color .4s,height .4s}
.admin-bar .site-header,.admin-bar .drawer,.admin-bar .mobile-menu,.admin-bar .search,.admin-bar .scrim{top:32px}
@media (max-width:782px){.admin-bar .site-header,.admin-bar .drawer,.admin-bar .mobile-menu,.admin-bar .search,.admin-bar .scrim{top:46px}}
.site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(8,8,8,.88)}
.site-header.is-hidden{transform:translateY(-102%)}
.site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--header-h);gap:20px;transition:height .4s var(--ease-out)}
.site-header.is-scrolled .site-header__inner{height:68px}
.site-header__left,.site-header__right{display:flex;align-items:center;gap:6px}
.site-header__right{justify-content:flex-end}
.menu-toggle{display:none}

.brand{display:inline-flex;align-items:center;gap:12px}
.brand__mono{height:50px;width:auto;transition:height .4s var(--ease-out),filter .4s}
.brand__word{height:30px;width:auto;transition:height .4s var(--ease-out)}
.site-header.is-scrolled .brand__mono{height:42px}
.site-header.is-scrolled .brand__word{height:26px}
.brand:hover .brand__mono{filter:drop-shadow(0 0 12px rgba(236,208,122,.55))}

.nav .menu{list-style:none;display:flex;align-items:center;gap:clamp(16px,2vw,34px)}
.nav .menu a{position:relative;display:inline-block;padding:10px 0;font-size:.74rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);transition:color .3s}
.nav .menu a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--grad-gold-soft);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.nav .menu a:hover,.nav .menu .current-menu-item>a,.nav .menu .current_page_item>a{color:var(--gold-100)}
.nav .menu a:hover::after,.nav .menu .current-menu-item>a::after{transform:scaleX(1);transform-origin:left}
.nav--secondary{margin-right:8px}

.cart-btn{overflow:visible}
.cart-count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--gold-400);color:#0a0a0a;font-size:.66rem;font-weight:600;line-height:1;transition:transform .5s var(--ease-spring)}
.cart-count[data-count="0"]{transform:scale(0)}
.cart-count.is-bump{animation:bump .6s var(--ease-spring)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.6)}100%{transform:scale(1)}}

@media (max-width:1100px){
  .menu-toggle{display:inline-grid}
  .nav{display:none}
  .site-header__inner{grid-template-columns:1fr auto 1fr}
  .brand__word{display:none}
  .brand__mono{height:46px}
}
@media (max-width:560px){
  :root{--header-h:72px;--announce-h:34px}
  .icon-btn--account{display:none}
  .announce__item{font-size:.62rem;letter-spacing:.18em}
}

/* ---------- Menú móvil, búsqueda, cajón ---------- */
.mobile-menu,.search{position:fixed;inset:0;z-index:200;background:rgba(8,8,8,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease-out),visibility 0s .5s;display:flex;flex-direction:column}
.mobile-menu::before,.search::before{content:"";position:absolute;inset:0;background:radial-gradient(60vmax 60vmax at 80% -10%,rgba(212,175,55,.16),transparent 60%);pointer-events:none}
.mobile-menu.is-open,.search.is-open{opacity:1;visibility:visible;transition-delay:0s}
.mobile-menu__top{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);flex:none}
.mobile-menu__body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding-block:24px 32px;overflow-y:auto}
.mobile-menu__list{list-style:none;display:grid;gap:4px}
.mobile-menu__list a{display:block;padding:8px 0;font-family:var(--font-display);font-size:clamp(2.2rem,9vw,3.6rem);font-weight:300;line-height:1.1;color:var(--text);transition:color .3s,padding-left .4s var(--ease-out)}
.mobile-menu__list a:hover{color:var(--gold-200);padding-left:12px}
.mobile-menu__list li{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out)}
.mobile-menu.is-open .mobile-menu__list li{opacity:1;transform:none}
.mobile-menu.is-open .mobile-menu__list li:nth-child(1){transition-delay:.12s}
.mobile-menu.is-open .mobile-menu__list li:nth-child(2){transition-delay:.18s}
.mobile-menu.is-open .mobile-menu__list li:nth-child(3){transition-delay:.24s}
.mobile-menu.is-open .mobile-menu__list li:nth-child(4){transition-delay:.30s}
.mobile-menu.is-open .mobile-menu__list li:nth-child(5){transition-delay:.36s}
.mobile-menu.is-open .mobile-menu__list li:nth-child(6){transition-delay:.42s}
.mobile-menu__note{margin-top:14px;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}

.search__inner{position:relative;display:flex;flex-direction:column;gap:28px;padding-block:24px 48px;height:100%}
.search__top{display:flex;justify-content:space-between;align-items:center;height:calc(var(--header-h) - 24px)}
.search__form{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--line-2)}
.search__input{flex:1;min-width:0;background:transparent;border:0;outline:0;padding:18px 0;font-family:var(--font-display);font-size:clamp(2rem,6vw,4.4rem);font-weight:300;color:var(--text)}
.search__input::placeholder{color:rgba(239,232,216,.28)}
.search__input::-webkit-search-cancel-button{display:none}
.search__submit{width:56px;height:56px;display:grid;place-items:center;color:var(--gold-300)}
.search__submit .icon{width:30px;height:30px}
.search__results{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-content:start;padding-block:4px}
.search__hint{grid-column:1/-1;color:var(--text-faint);font-size:.9rem}
.search__item{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .3s,background .3s}
.search__item:hover{border-color:var(--gold-500);background:rgba(212,175,55,.05)}
.search__item img{width:76px;height:76px;object-fit:cover;background:#0b0b0b}
.search__item-name{font-family:var(--font-display);font-size:1.15rem;line-height:1.2;color:var(--text)}
.search__item-price{font-size:.85rem;color:var(--gold-300);margin-top:4px}
.search__quick{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.search__quick-label{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-faint);margin-right:8px}

.scrim{position:fixed;inset:0;z-index:180;background:rgba(0,0,0,.66);opacity:0;visibility:hidden;transition:opacity .5s var(--ease-out),visibility 0s .5s;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.scrim.is-open{opacity:1;visibility:visible;transition-delay:0s}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:190;display:flex;flex-direction:column;width:min(460px,100vw);background:linear-gradient(180deg,#0d0c09,#080808);border-left:1px solid var(--line-2);transform:translateX(102%);visibility:hidden;transition:transform .7s var(--ease-out),visibility 0s .7s}
.drawer.is-open{transform:none;visibility:visible;transition-delay:0s}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}
.drawer__title{font-family:var(--font-display);font-size:1.9rem;font-weight:400}
.drawer__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.drawer__foot{padding:14px 26px;border-top:1px solid var(--line)}
.drawer__note{display:flex;align-items:center;gap:10px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.drawer__note .icon{width:18px;height:18px;color:var(--gold-400)}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:28px;z-index:300;transform:translate(-50%,30px);display:flex;align-items:center;gap:12px;max-width:min(92vw,460px);padding:14px 22px;background:rgba(14,13,10,.96);border:1px solid var(--line-2);border-radius:999px;color:var(--text);font-size:.88rem;box-shadow:0 20px 60px -20px #000;opacity:0;visibility:hidden;transition:opacity .4s,transform .6s var(--ease-out),visibility 0s .6s;backdrop-filter:blur(10px)}
.toast.is-show{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.toast .icon{width:18px;height:18px;color:var(--gold-300)}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);z-index:120;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#2fe074,#12a150);color:#fff;box-shadow:0 12px 34px -8px rgba(18,161,80,.65);transition:transform .5s var(--ease-spring)}
.wa-float:hover{transform:scale(1.1) rotate(-6deg)}
.wa-float .icon{width:30px;height:30px}
.wa-float__pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #2fe074;animation:ping 2.6s ease-out infinite;pointer-events:none}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}

/* ==========================================================================
   PORTADA
   ========================================================================== */

/* ---------- Hero ---------- */
.hero{position:relative;display:flex;align-items:center;min-height:calc(100svh - var(--header-h) - var(--announce-h));padding-block:clamp(24px,5vh,64px) clamp(84px,12vh,130px);overflow:clip;isolation:isolate}
.hero__dust{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero__glow{position:absolute;right:-14vmin;top:-16vmin;width:96vmin;height:96vmin;z-index:-1;background:radial-gradient(closest-side,rgba(212,175,55,.26),rgba(212,175,55,.07) 56%,transparent 74%);animation:glow 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes glow{from{transform:scale(.94);opacity:.8}to{transform:scale(1.08);opacity:1}}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(20px,4vw,72px)}
.hero__eyebrow{margin-bottom:6px}
.hero__title{margin:.28em 0 .34em;font-family:var(--font-display);font-weight:300;font-size:clamp(3.7rem,9.6vw,9.4rem);line-height:.9;letter-spacing:-.028em;color:var(--text)}
.hero__line{display:block;overflow:hidden;padding:.06em .04em .1em 0;margin-bottom:-.1em}
.hero__line-in{display:block;will-change:transform}
.hero__line em{font-weight:400;padding-right:.06em}
.hero__dot{color:var(--gold-400)}
.hero__sub{max-width:34rem;font-size:clamp(1rem,1.25vw,1.18rem);font-weight:300;color:var(--text-dim)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(24px,3.4vw,40px)}
.hero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:clamp(28px,4vw,52px);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}
.hero__facts li{display:inline-flex;align-items:center;gap:10px}
.hero__facts .icon{width:20px;height:20px;color:var(--gold-400)}

.hero__stage{position:relative;width:100%;max-width:780px;margin-inline:auto;aspect-ratio:1/1.04}
.hero__layer{position:absolute;will-change:transform;mix-blend-mode:lighten}
.hero__layer img{width:100%;height:auto}
.hero__layer--main{width:94%;left:6%;top:0}
.hero__layer--second{width:56%;left:-8%;bottom:0}
.hero__layer--c1{width:44%;right:-4%;top:-3%}
.hero__layer--c2{width:38%;right:2%;bottom:2%}
.hero__badge{position:absolute;left:42%;bottom:-3%;width:clamp(104px,12.5vw,168px);aspect-ratio:1;z-index:3;will-change:transform}
.hero__badge-ring{position:absolute;inset:0;width:100%;height:100%;fill:var(--gold-200);font-family:var(--font-body);font-size:11.4px;font-weight:500;letter-spacing:.2em;animation:spin 26s linear infinite}
.hero__badge::before{content:"";position:absolute;inset:14%;border-radius:50%;background:rgba(8,8,8,.8);border:1px solid var(--line-2)}
.hero__badge-mono{position:absolute;inset:0;margin:auto;width:42%;height:auto}
@keyframes spin{to{transform:rotate(360deg)}}
.spark{position:absolute;left:var(--x);top:var(--y);width:calc(20px*var(--s));height:calc(20px*var(--s));color:var(--gold-100);opacity:0;pointer-events:none;filter:drop-shadow(0 0 7px rgba(246,227,161,.9));animation:twinkle 3.6s ease-in-out var(--d) infinite;z-index:4}
.spark .icon{width:100%;height:100%}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}

.hero__scroll{position:absolute;left:50%;bottom:26px;z-index:2;display:grid;justify-items:center;gap:10px;translate:-50% 0;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--text-faint);transition:color .3s}
.hero__scroll:hover{color:var(--gold-200)}
.hero__scroll i{position:relative;display:block;width:1px;height:46px;background:var(--line-2);overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--gold-200);animation:drop 2.2s var(--ease-in-out) infinite}
@keyframes drop{to{top:110%}}

@media (max-width:980px){
  .hero{padding-block:16px 96px}
  .hero__grid{grid-template-columns:1fr;gap:12px}
  .hero__copy{order:1;text-align:left}
  .hero__stage{order:2;max-width:560px;margin-top:8px}
  .hero__title{font-size:clamp(3.6rem,17vw,7rem)}
  .hero__scroll{display:none}
}

/* ---------- Marquee ---------- */
.marquee{position:relative;overflow:hidden;padding-block:clamp(18px,2.6vw,34px);border-block:1px solid var(--line);background:linear-gradient(180deg,#0a0a09,#0d0c0a)}
.marquee__track{display:flex;width:max-content;will-change:transform}
.marquee__group{display:flex;align-items:center;flex:none;gap:clamp(24px,3vw,48px);padding-right:clamp(24px,3vw,48px)}
.marquee__item{font-family:var(--font-display);font-size:clamp(2.2rem,5.4vw,4.6rem);font-weight:300;font-style:italic;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--text)}
.marquee__item.is-outline{color:transparent;-webkit-text-stroke:1px var(--gold-400);font-style:normal}
.marquee__star{width:clamp(16px,1.8vw,26px);height:clamp(16px,1.8vw,26px);color:var(--gold-400);flex:none}

/* ---------- Colecciones ---------- */
.collections__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px);align-items:start}
.coll{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#0b0b0a;isolation:isolate;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line)}
.coll:nth-child(2){margin-top:clamp(0px,4vw,64px)}
.coll__media{position:absolute;inset:0;z-index:-2}
.coll__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s var(--ease-out),filter .8s}
.coll:hover .coll__media img{transform:scale(1.08)}
.coll__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,8,8,.1) 30%,rgba(8,8,8,.92) 100%)}
.coll__index{position:absolute;top:22px;left:26px;font-family:var(--font-display);font-size:3.4rem;font-weight:300;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(246,227,161,.5)}
.coll__body{position:absolute;left:0;right:0;bottom:0;display:grid;gap:8px;padding:clamp(20px,2.4vw,34px)}
.coll__count{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-300)}
.coll__title{font-family:var(--font-display);font-size:clamp(2rem,3vw,2.9rem);font-weight:300;line-height:1.05;color:var(--text)}
.coll__cta{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-100);opacity:.0;transform:translateY(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.coll__cta .icon{width:18px;height:18px;transition:transform .5s var(--ease-out)}
.coll:hover .coll__cta,.coll:focus-visible .coll__cta{opacity:1;transform:none}
.coll:hover .coll__cta .icon{transform:translateX(5px)}
.coll__frame{position:absolute;inset:14px;border:1px solid rgba(212,175,55,0);transition:inset .7s var(--ease-out),border-color .7s var(--ease-out);pointer-events:none}
.coll:hover .coll__frame,.coll:focus-visible .coll__frame{inset:10px;border-color:rgba(236,208,122,.7)}
.coll.is-soon .coll__media img{opacity:.85}
@media (hover:none){.coll__cta{opacity:1;transform:none}}
@media (max-width:900px){
  .collections__grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .coll:nth-child(2){margin-top:0}
  .coll{aspect-ratio:5/6}
}

/* ---------- Carrusel de piezas ---------- */
.featured{padding-top:0}
.carousel{position:relative}
.carousel .dy-carousel__track{display:flex;gap:clamp(14px,1.8vw,26px);list-style:none;margin:0;padding:6px max(var(--gutter),calc((100vw - var(--container))/2)) 16px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:max(var(--gutter),calc((100vw - var(--container))/2));scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.carousel .dy-carousel__track::-webkit-scrollbar{display:none}
.carousel .dy-carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.carousel .dy-carousel__track.is-dragging a{pointer-events:none}
.carousel .dy-card{flex:0 0 clamp(250px,24vw,340px);scroll-snap-align:start}
.carousel-nav{display:flex;gap:10px}
.featured__foot{display:flex;justify-content:center;margin-top:clamp(28px,4vw,52px)}
@media (max-width:640px){.section__head--row{grid-template-columns:1fr}.carousel-nav{display:none}}

/* ---------- Historia ---------- */
.story__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,7vw,120px);align-items:center}
.story__visual{position:relative;padding:0 0 0 clamp(0px,3vw,40px)}
.story__frame{position:absolute;top:-22px;left:0;right:clamp(24px,5vw,70px);bottom:clamp(24px,5vw,70px);border:1px solid var(--line-2);pointer-events:none}
.story__img-wrap{position:relative;overflow:hidden;aspect-ratio:1/1.08;background:#0b0b0a;border-radius:var(--radius)}
.story__img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;will-change:transform}
.story__seal{position:absolute;right:clamp(-12px,-1vw,0px);bottom:-30px;display:grid;place-items:center;width:clamp(96px,11vw,148px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#15130d,#080808);border:1px solid var(--line-2);box-shadow:0 20px 50px -14px #000}
.story__seal img{width:54%;height:auto}
.story__copy{display:grid;gap:22px;align-content:center}
.story__copy .btn{justify-self:start;margin-top:10px}
.stats{list-style:none;display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:clamp(18px,3.2vw,44px);margin:10px 0;padding-block:26px;border-block:1px solid var(--line)}
.stats li{display:grid;gap:4px}
.stats b{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.6rem);font-weight:300;line-height:1;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stats b small{font-size:.55em}
.stats span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}
@media (max-width:900px){
  .story__grid{grid-template-columns:1fr}
  .story__visual{padding:0;max-width:560px}
  .stats{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Galería en movimiento ---------- */
.strip{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,110px);background:linear-gradient(180deg,#060606,#0a0908 50%,#060606);border-block:1px solid var(--line)}
.strip__rows{display:grid;gap:clamp(12px,1.6vw,22px)}
.strip__row{display:flex;gap:clamp(12px,1.6vw,22px);width:max-content;will-change:transform}
.strip__tile{position:relative;flex:none;width:clamp(210px,22vw,340px);aspect-ratio:1;overflow:hidden;background:#0b0b0a;border-radius:var(--radius)}
.strip__tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.strip__tile:hover img{transform:scale(1.08)}
.strip__veil{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 52% 60% at 50% 50%,rgba(8,8,8,.97) 0%,rgba(8,8,8,.9) 38%,rgba(8,8,8,.55) 66%,transparent 100%);pointer-events:none}
.strip__center{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;text-align:center;pointer-events:none}
.strip__center>*{pointer-events:auto}
.strip__script{font-family:var(--font-script);font-size:clamp(3rem,7vw,6.4rem);line-height:.8;color:var(--gold-200);margin-bottom:-.08em;text-shadow:0 0 40px rgba(212,175,55,.35)}
.strip__title{font-family:var(--font-display);font-weight:300;font-size:clamp(3.2rem,9vw,8.6rem);line-height:.95;letter-spacing:-.025em;color:var(--text);margin-bottom:clamp(18px,2.6vw,34px)}

/* ---------- Envíos + mapa ---------- */
.shipping__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(36px,6vw,110px);align-items:center}
.shipping__copy{display:grid;gap:22px}
.steps{list-style:none;display:grid;gap:0;margin-block:14px 8px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.step__n{font-family:var(--font-display);font-size:2.6rem;font-weight:300;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-400)}
.step__t{font-family:var(--font-display);font-size:1.6rem;font-weight:400;line-height:1.15;color:var(--text);margin-bottom:4px}
.step p{font-size:.98rem;font-weight:300}
.step a{color:var(--gold-200);border-bottom:1px solid var(--line-2)}
.shipping__cta{margin-top:10px}
.shipping__map{position:relative;display:grid;place-items:center;padding:clamp(8px,2vw,28px)}
.shipping__map::before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(212,175,55,.14),transparent 70%)}
.map{position:relative;width:min(100%,520px);max-height:78vh;overflow:visible}
.map__shape{stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 14px rgba(212,175,55,.25))}
.map__route{stroke:rgba(236,208,122,.55);stroke-width:1;stroke-dasharray:2 5}
.map__dot{fill:var(--gold-200)}
.map__city.is-hub .map__dot{fill:var(--gold-50);filter:drop-shadow(0 0 8px rgba(255,241,184,.95))}
.map__pulse{fill:none;stroke:var(--gold-300);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center;animation:ping 3s ease-out infinite}
.map__city:nth-child(2n) .map__pulse{animation-delay:.7s}
.map__city:nth-child(3n) .map__pulse{animation-delay:1.4s}
.map__city:nth-child(5n) .map__pulse{animation-delay:2.1s}
.map__label{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;fill:var(--text-dim)}
.map__city.is-hub .map__label{fill:var(--gold-100)}
.map__caption{position:absolute;left:50%;bottom:-6px;translate:-50% 0;display:inline-flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-300);white-space:nowrap}
.map__caption .icon{width:18px;height:18px}
@media (max-width:900px){.shipping__grid{grid-template-columns:1fr}.shipping__map{order:-1}.map{max-height:60vh}}

/* ---------- Horario y contacto ---------- */
.hours{background:radial-gradient(70vmax 46vmax at 100% 38%,rgba(212,175,55,.075),transparent 62%),linear-gradient(180deg,#080808,#0b0a08)}
.hours__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:stretch}
.hours__card{display:grid;gap:22px;align-content:start;padding:clamp(28px,4vw,56px);border:1px solid var(--line-2);background:linear-gradient(145deg,rgba(212,175,55,.06),rgba(255,255,255,.01));border-radius:var(--radius)}
.hours__status{display:inline-flex;align-items:center;gap:12px;justify-self:start;padding:10px 20px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}
.hours__dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--gold-500)}
.hours__status.is-open .hours__dot{background:#4be08b}
.hours__status.is-open .hours__dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid #4be08b;animation:ping 2.2s ease-out infinite}
.hours__table{display:grid}
.hours__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);transition:background .4s,padding .4s var(--ease-out)}
.hours__row:first-child{border-top:1px solid var(--line)}
.hours__row dt{font-family:var(--font-display);font-size:1.45rem;color:var(--text)}
.hours__row dd{font-size:.98rem;color:var(--text-dim);text-align:right}
.hours__row.is-today{padding-inline:14px;background:rgba(212,175,55,.08)}
.hours__row.is-today dt,.hours__row.is-today dd{color:var(--gold-100)}
.hours__note{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--text-dim)}
.hours__note .icon{width:22px;height:22px;margin-top:2px;color:var(--gold-400)}
.hours__contact{display:grid;gap:26px;align-content:center;justify-items:start;padding:clamp(8px,2vw,24px) 0}
.hours__phone{display:grid;gap:4px}
.hours__phone-n{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(3rem,6.2vw,5.6rem);line-height:1;letter-spacing:-.01em;background:var(--grad-gold);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:goldflow 9s linear infinite}
.hours__phone-l{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-faint)}
.hours__actions{display:flex;flex-wrap:wrap;gap:12px}
.hours__mail{color:var(--gold-200);border-bottom:1px solid var(--line-2)}
@media (max-width:900px){.hours__grid{grid-template-columns:1fr}}
@media (max-width:520px){.hours__row{flex-direction:column;align-items:flex-start;gap:4px}.hours__row dd{text-align:left}.hours__status{font-size:.72rem;letter-spacing:.1em}}

/* ---------- Pie ---------- */
.site-footer{position:relative;overflow:hidden;padding-top:clamp(64px,9vw,130px);background:linear-gradient(180deg,#080808,#050505);border-top:1px solid var(--line)}
.footer__glow{position:absolute;left:50%;top:-30vmax;width:90vmax;height:60vmax;translate:-50% 0;background:radial-gradient(closest-side,rgba(212,175,55,.12),transparent 70%);pointer-events:none}
.footer__lead{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-bottom:clamp(40px,6vw,80px);border-bottom:1px solid var(--line)}
.footer__script{font-family:var(--font-script);font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:1;color:var(--gold-200);text-shadow:0 0 50px rgba(212,175,55,.3)}
.footer__grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:clamp(24px,4vw,64px);padding-block:clamp(40px,6vw,80px)}
.footer__brand{display:grid;gap:22px;align-content:start}
.footer__logo{width:clamp(150px,16vw,220px);height:auto}
.social{list-style:none;display:flex;gap:6px}
.social .icon-btn{border:1px solid var(--line)}
.footer__title{font-size:.72rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-300);margin-bottom:20px}
.footer__list{list-style:none;display:grid;gap:12px}
.footer__list a{position:relative;display:inline-flex;align-items:center;gap:10px;color:var(--text-dim);font-size:.98rem;transition:color .3s,transform .4s var(--ease-out)}
.footer__list a:hover{color:var(--gold-100);transform:translateX(4px)}
.footer__list .icon{width:18px;height:18px;color:#3ddc84}
.footer__hours{display:flex;flex-direction:column;font-size:.92rem;color:var(--text-dim)}
.footer__hours strong{font-weight:500;color:var(--text);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.footer__online{font-size:.86rem;color:var(--text-faint)}
.footer__bottom{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:26px;margin-top:clamp(8px,2vw,24px);border-top:1px solid var(--line);font-size:.8rem;color:var(--text-faint)}
.footer__bottom p{color:inherit}
.footer__bottom a{color:var(--text-dim)}
.footer__bottom a:hover{color:var(--gold-200)}
.footer__copy{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}
.footer__sep{color:var(--gold-600)}
.footer__credit a{color:var(--gold-300);border-bottom:1px solid var(--line-2);transition:color .3s,border-color .3s}
.footer__credit a:hover{color:var(--gold-50);border-color:var(--gold-300)}
@media (max-width:640px){.footer__sep{display:none}.footer__copy{flex-direction:column;align-items:flex-start;gap:4px}}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}

/* ==========================================================================
   PÁGINAS INTERNAS
   ========================================================================== */
.page-hero{position:relative;padding-block:clamp(56px,9vw,120px) clamp(28px,4vw,56px);text-align:center;background:radial-gradient(60vmax 28vmax at 50% -10%,rgba(212,175,55,.14),transparent 70%)}
.page-hero__eyebrow{justify-content:center}
.page-hero__title{margin:18px 0 22px;font-family:var(--font-display);font-weight:300;font-size:clamp(3rem,7vw,6rem);line-height:1;letter-spacing:-.02em;color:var(--text)}
.orn{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold-400)}
.orn::before,.orn::after{content:"";width:clamp(48px,10vw,120px);height:1px;background:linear-gradient(90deg,transparent,var(--gold-500))}
.orn::after{transform:scaleX(-1)}
.orn .icon{width:16px;height:16px}
.page__content{padding-bottom:var(--section-y)}

.entry-content{color:var(--text-dim);font-size:1.06rem;line-height:1.85;font-weight:300}
.entry-content>*+*{margin-top:1.3em}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--font-display);font-weight:400;line-height:1.15;color:var(--text);margin-top:1.8em}
.entry-content h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.entry-content h3{font-size:clamp(1.6rem,2.4vw,2rem)}
.entry-content a{color:var(--gold-200);border-bottom:1px solid var(--line-2);transition:color .3s,border-color .3s}
.entry-content a:hover{color:var(--gold-50);border-color:var(--gold-300)}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li+li{margin-top:.5em}
.entry-content li::marker{color:var(--gold-400)}
.entry-content blockquote{margin-inline:0;padding:6px 0 6px 26px;border-left:2px solid var(--gold-500);font-family:var(--font-display);font-size:1.5rem;font-style:italic;color:var(--text)}
.entry-content img{border-radius:var(--radius)}
.entry-content hr{border:0;height:1px;background:var(--line);margin-block:2.4em}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}
.entry-content th{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-300);font-weight:500}
.fullwidth-content{min-height:50vh}
.dy-elementor .site-main,.fullwidth-content{--e-global-color-text:var(--text)}

/* Formularios (base global, también los usa WooCommerce) */
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],input[type="search"],input[type="url"],textarea,select{width:100%;min-height:54px;padding:14px 18px;font:inherit;font-size:1rem;font-weight:400;color:var(--text);background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:var(--radius);outline:0;transition:border-color .3s,background .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
textarea{min-height:130px;resize:vertical}
input::placeholder,textarea::placeholder{color:rgba(239,232,216,.28)}
input:focus,textarea:focus,select:focus{border-color:var(--gold-400);background:rgba(212,175,55,.04);box-shadow:0 0 0 3px rgba(212,175,55,.14)}
select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af37' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
select option{background:#111;color:var(--text)}
input[type="checkbox"],input[type="radio"]{width:19px;height:19px;min-height:0;padding:0;accent-color:var(--gold-400);vertical-align:middle}
label{cursor:pointer}
.field{display:grid;gap:8px;margin-bottom:18px}
.field label{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim)}

.wa-form{display:grid;gap:4px;margin-top:3em;padding:clamp(24px,4vw,44px);border:1px solid var(--line-2);background:linear-gradient(145deg,rgba(212,175,55,.06),transparent);border-radius:var(--radius)}
.wa-form__title{font-family:var(--font-display);font-size:2.2rem;font-weight:400;color:var(--text);margin:0!important}
.wa-form__lead{margin-bottom:18px}
.wa-form__hint{margin-top:12px;font-size:.84rem;color:var(--text-faint)}
.wa-form .btn{justify-self:start;margin-top:6px}

.post-list{display:grid;gap:36px}
.post-card{padding-bottom:36px;border-bottom:1px solid var(--line)}
.post-card__title{font-family:var(--font-display);font-size:2.2rem;font-weight:400;margin-bottom:10px}
.post-card__title a:hover{color:var(--gold-200)}
.post-card__excerpt{margin-bottom:14px}
.navigation.pagination{margin-top:48px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.page-numbers{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border:1px solid var(--line);color:var(--text-dim);transition:all .3s}
.page-numbers:hover,.page-numbers.current{background:var(--gold-400);border-color:var(--gold-400);color:#0a0a0a}

.notfound{padding-block:clamp(72px,12vw,160px);text-align:center}
.notfound__code{font-family:var(--font-display);font-size:clamp(8rem,28vw,20rem);font-weight:300;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--gold-500);margin-bottom:12px}
.notfound__title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:300;margin-bottom:14px}
.notfound .lead{max-width:34rem;margin-inline:auto}
.notfound__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:32px}

/* ==========================================================================
   ESTADOS DE ANIMACIÓN (sólo si hay JS y movimiento permitido)
   ========================================================================== */
html.js:not(.reduce-motion) [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(26px)}
html.js:not(.reduce-motion) [data-stagger]>*:not(.is-revealed){opacity:0;transform:translateY(40px)}
html.js:not(.reduce-motion) .hero__line-in{transform:translateY(112%)}
html.js:not(.reduce-motion) .hero [data-hero-in]{opacity:0;transform:translateY(22px)}
html.js:not(.reduce-motion) .hero__layer,
html.js:not(.reduce-motion) .hero__badge{opacity:0}
html.js:not(.reduce-motion) .eyebrow__line{transform:scaleX(0)}
html.js:not(.reduce-motion) html.js:not(.reduce-motion) [data-split]:not(.is-split){visibility:hidden}
html.dy-fallback [data-split]{visibility:visible!important}
html.dy-fallback [data-reveal],html.dy-fallback [data-stagger]>*,html.dy-fallback .hero__line-in,html.dy-fallback .hero [data-hero-in],html.dy-fallback .hero__layer,html.dy-fallback .hero__badge{opacity:1!important;transform:none!important}
html.dy-fallback .eyebrow__line{transform:none!important}

.split-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .marquee__track{transform:none!important}
}
.reduce-motion .marquee{overflow-x:auto}
