/* Óleo Accesorios — estilo tipo Apple: tipografía grande, mucho aire y efectos al hacer scroll */
:root{
  --espresso:#15100c;
  --espresso-2:#1f1813;
  --cream:#f4efe7;
  --sand:#e9e0d3;
  --terra:#9c6b52;
  --gold:#c9a45c;
  --gold-2:#ecd29b;
  --ink:#1d1611;
  --muted:#7d6e62;
  --muted-light:#b9ab9c;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", system-ui, -apple-system, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(16px, 4vw, 56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
body{background:var(--espresso);color:var(--cream);font-family:var(--sans);font-weight:400;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
em{font-style:italic}
::selection{background:var(--gold);color:var(--espresso)}

.spark{width:18px;height:18px;fill:var(--gold)}

/* ---------- Intro ---------- */
.intro{position:fixed;inset:0;z-index:100;background:var(--cream);display:grid;place-items:center;color:var(--terra)}
.intro__mark{text-align:center}
.intro__mark .spark{width:30px;height:30px;fill:var(--gold);margin:0 auto 6px;opacity:0;transform:scale(0) rotate(-90deg)}
.intro__word{font-family:var(--serif);font-weight:400;font-size:clamp(72px,14vw,150px);line-height:.9;letter-spacing:-.02em;display:flex;justify-content:center;overflow:hidden}
.intro__word span{display:inline-block;transform:translateY(110%)}
.intro__sub{font-size:12px;letter-spacing:.5em;margin-top:10px;opacity:0;padding-left:.5em}

/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--gutter);transition:background .5s,backdrop-filter .5s,padding .5s,border-color .5s;border-bottom:1px solid transparent}
.nav.is-solid{background:rgba(21,16,12,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom-color:rgba(236,210,155,.12);padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:6px}
.brand .spark{width:12px;height:12px;margin-top:-14px}
.brand__word{font-family:var(--serif);font-size:30px;line-height:1;color:var(--cream);letter-spacing:-.01em}
.nav__links{display:flex;gap:32px;font-size:13px;letter-spacing:.02em;color:var(--muted-light)}
.nav__links a{position:relative;transition:color .3s}
.nav__links a:hover{color:var(--cream)}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
@media (max-width:820px){.nav__links{display:none}}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.01em;padding:15px 28px;border-radius:999px;transition:transform .4s var(--ease),box-shadow .4s,background .3s,color .3s;will-change:transform;position:relative;overflow:hidden;cursor:pointer;white-space:nowrap}
.btn .ico{width:19px;height:19px;fill:currentColor}
.btn--sm{padding:10px 20px;font-size:13px}
.btn--lg{padding:20px 40px;font-size:17px}
.btn--gold{background:linear-gradient(120deg,#b8914b,var(--gold-2) 45%,#c9a45c 60%,#a9813f);background-size:200% 100%;color:#1a120c;box-shadow:0 10px 40px -10px rgba(201,164,92,.6)}
.btn--gold:hover{background-position:100% 0;box-shadow:0 18px 60px -12px rgba(236,210,155,.75)}
.btn--ghost{border:1px solid rgba(236,210,155,.35);color:var(--cream)}
.btn--ghost:hover{background:rgba(236,210,155,.08);border-color:var(--gold-2)}
.btn--light{background:var(--cream);color:var(--ink)}
.btn--dark{background:var(--ink);color:var(--cream)}
.btn--dark:hover{background:#000}
/* brillo que cruza el botón */
.btn--gold::after,.btn--dark::after,.btn--light::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .9s var(--ease)}
.btn:hover::after{left:130%}

/* ---------- Textos comunes ---------- */
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:22px}
.eyebrow--dark{color:var(--terra)}
.display{font-family:var(--serif);font-weight:300;font-size:clamp(48px,7.4vw,112px);line-height:.95;letter-spacing:-.025em;color:var(--ink)}
.display em{color:var(--terra)}
.display--light{color:var(--cream)}
.display--light em{color:var(--gold-2)}
.section-head{max-width:980px;margin:0 auto;text-align:center;padding:0 var(--gutter)}
.section-lead{font-size:clamp(17px,1.5vw,21px);color:var(--muted);max-width:620px;margin:28px auto 0;font-weight:300}
.shimmer{background:linear-gradient(100deg,#b98d47 0%,#f6e3b4 25%,#c9a45c 45%,#f6e3b4 65%,#a87d3b 90%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 6s linear infinite}
@keyframes shimmer{to{background-position:-250% 0}}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px var(--gutter) 80px;background:radial-gradient(120% 90% at 80% 20%,#2a1f17 0%,var(--espresso) 60%)}
.hero__dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9}
.hero__glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(201,164,92,.22),transparent 60%);left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;filter:blur(10px)}
.hero__inner{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,90px);align-items:center}
.hero__title{font-family:var(--serif);font-weight:300;font-size:clamp(58px,8.6vw,140px);line-height:.9;letter-spacing:-.03em}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .line>span{display:inline-block;transform:translateY(110%)}
.hero__lead{font-size:clamp(17px,1.4vw,20px);color:var(--muted-light);max-width:470px;margin-top:30px;font-weight:300}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero__facts{list-style:none;display:flex;gap:28px;margin-top:40px;font-size:13px;color:var(--muted-light)}
.hero__facts strong{color:var(--gold-2);font-weight:500}
.hero__visual{position:relative;height:min(78vh,720px);display:grid;place-items:center}
.arch{position:relative;width:min(100%,460px);aspect-ratio:3/4;border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.8),0 0 0 1px rgba(236,210,155,.25);clip-path:inset(100% 0 0 0 round 999px 999px 28px 28px)}
.arch img{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
.arch::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(21,16,12,.35))}
.orb{position:absolute;width:clamp(96px,11vw,150px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 0 4px rgba(21,16,12,.9),0 0 0 5px rgba(236,210,155,.4);opacity:0}
.orb img{width:100%;height:100%;object-fit:cover}
.orb--1{left:-2%;top:12%}
.orb--2{right:-2%;bottom:10%}
.hero__badge{position:absolute;left:2%;bottom:5%;width:120px;height:120px;display:grid;place-items:center;opacity:0;border-radius:50%;background:rgba(21,16,12,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(236,210,155,.25)}
.badge-ring{position:absolute;inset:0;animation:spin 18s linear infinite}
.badge-ring text{font-size:10px;letter-spacing:.12em;fill:var(--gold-2);font-family:var(--sans)}
.hero__badge .spark{width:22px;height:22px}
@keyframes spin{to{transform:rotate(360deg)}}
.scroll-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:24px;height:40px;border:1px solid rgba(236,210,155,.4);border-radius:20px;z-index:3}
.scroll-hint span{position:absolute;left:50%;top:8px;width:3px;height:8px;border-radius:3px;background:var(--gold-2);transform:translateX(-50%);animation:wheel 2s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}

@media (max-width:900px){
  .hero{padding-top:110px;align-items:flex-start}
  .hero__inner{grid-template-columns:1fr}
  .hero__visual{height:auto;padding:10px 0 40px;order:-1}
  .arch{width:min(76%,340px)}
  .hero__badge{width:92px;height:92px;left:3%;bottom:8%}
  .orb--1{left:0;top:30%}
  .orb--2{right:0;bottom:12%}
  .hero__facts{flex-direction:column;gap:8px}
  .scroll-hint{display:none}
}

/* ---------- Cinta ---------- */
.marquee{background:var(--cream);color:var(--ink);overflow:hidden;padding:26px 0;border-block:1px solid var(--sand)}
.marquee__track{display:flex;align-items:center;gap:42px;width:max-content;animation:marquee 26s linear infinite;font-family:var(--serif);font-style:italic;font-size:clamp(34px,4.6vw,64px);font-weight:300;line-height:1}
.marquee__track i{font-style:normal;color:var(--gold);font-size:.45em}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Escena zoom ---------- */
.zoom{height:280vh;position:relative;background:var(--espresso)}
.zoom__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.zoom__bg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(40px) brightness(.55) saturate(1.1);opacity:0;transform:scale(1.1)}
.zoom__frame{position:relative;width:min(34vw,300px);aspect-ratio:3/4;border-radius:200px 200px 24px 24px;overflow:hidden;box-shadow:0 60px 120px -30px rgba(0,0,0,.9);will-change:transform,width}
.zoom__frame img{width:100%;height:100%;object-fit:cover}
.zoom__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(15,10,7,.78) 100%);opacity:var(--scrim,0)}
.zoom__text{position:absolute;left:0;right:0;text-align:center;padding:0 var(--gutter);pointer-events:none}
.zoom__text h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,92px);line-height:.98;letter-spacing:-.02em;text-shadow:0 10px 40px rgba(0,0,0,.6)}
.zoom__text em{color:var(--gold-2)}
.zoom__text--a{top:12vh}
.zoom__text--b{bottom:12vh;opacity:0}
.zoom__text--b .btn{margin-top:30px;pointer-events:auto}

/* ---------- Colección (bento) ---------- */
.collection{background:var(--cream);color:var(--ink);padding:clamp(100px,14vw,180px) 0 clamp(80px,10vw,140px)}
.bento{max-width:1320px;margin:clamp(56px,7vw,96px) auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(260px,26vw,380px);grid-auto-flow:dense;gap:18px}
.tile{position:relative;border-radius:28px;overflow:hidden;background:var(--sand);isolation:isolate;transform-style:preserve-3d;transition:transform .6s var(--ease),box-shadow .6s;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 30%,rgba(20,14,10,.55) 60%,rgba(20,14,10,.9))}
.tile::after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(255,240,210,.28),transparent 45%);opacity:0;transition:opacity .4s}
.tile:hover{box-shadow:0 40px 80px -30px rgba(60,35,20,.45)}
.tile:hover img{transform:scale(1.07)}
.tile:hover::after{opacity:1}
.tile--tall{grid-row:span 2}
.tile--wide{grid-column:span 2}
.tile__tag{position:absolute;top:18px;left:18px;z-index:3;background:rgba(244,239,231,.9);backdrop-filter:blur(8px);color:var(--ink);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:7px 12px;border-radius:999px;font-weight:600}
.tile__info{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:24px;color:var(--cream)}
.tile__info h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,42px);line-height:1}
.tile__info p{font-size:14px;color:rgba(244,239,231,.78);margin-top:6px;font-weight:300}
.tile__cta{display:inline-block;margin-top:12px;font-size:13px;font-weight:500;color:var(--gold-2);transform:translateY(8px);opacity:0;transition:.5s var(--ease)}
.tile:hover .tile__cta{transform:none;opacity:1}
@media (hover:none){.tile__cta{opacity:1;transform:none}}
@media (max-width:980px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(220px,52vw,340px)}}
@media (max-width:560px){.bento{gap:12px}.tile{border-radius:20px}.tile__info{padding:16px}.tile__info p{display:none}.tile--wide{grid-column:span 2}}

/* ---------- Lookbook ---------- */
.lookbook{background:var(--espresso);position:relative}
.lookbook__pin{height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:90px 0 40px}
.lookbook__head{padding:0 var(--gutter);margin-bottom:clamp(26px,4vh,48px)}
.lookbook__head .display{font-size:clamp(44px,6vw,92px)}
.lookbook__track{display:flex;gap:clamp(16px,2vw,28px);padding:0 var(--gutter);width:max-content;will-change:transform}
.look{position:relative;flex:0 0 auto;height:min(58vh,560px);aspect-ratio:3/4;border-radius:26px;overflow:hidden;background:var(--espresso-2)}
.look img{width:100%;height:100%;object-fit:cover;transform:scale(1.15)}
.look figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(10,7,5,.85));font-size:14px;color:var(--cream)}
.look figcaption span{font-family:var(--serif);font-style:italic;color:var(--gold-2);font-size:20px;margin-right:8px}
.look--end{display:grid;place-items:center;text-align:center;background:linear-gradient(160deg,#2a1f17,#15100c);border:1px solid rgba(236,210,155,.2)}
.look--end p{font-family:var(--serif);font-size:clamp(34px,3vw,46px);line-height:1;margin-bottom:28px;padding:0 20px}
.lookbook__bar{margin:clamp(24px,4vh,40px) var(--gutter) 0;height:2px;background:rgba(236,210,155,.15);border-radius:2px;overflow:hidden}
.lookbook__bar span{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
/* en el teléfono el lookbook se desliza con el dedo */
@media (max-width:820px){
  .lookbook__pin{height:auto;padding:90px 0 70px}
  .lookbook__track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px}
  .lookbook__track::-webkit-scrollbar{display:none}
  .look{height:auto;width:72vw;scroll-snap-align:center}
  .look img{transform:none}
  .lookbook__bar{display:none}
}

/* ---------- Manifiesto ---------- */
.manifesto{background:var(--cream);color:var(--ink);padding:clamp(120px,16vw,220px) var(--gutter)}
.manifesto__text{max-width:1150px;margin:0 auto;font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.6vw,72px);line-height:1.12;letter-spacing:-.015em;text-align:center}
.manifesto__text .w{opacity:.14;transition:opacity .2s}
.manifesto__text em .w,.manifesto__text .w.em{color:var(--terra)}

/* ---------- Regalo ---------- */
.gift{background:var(--sand);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,100px);padding:clamp(80px,10vw,140px) var(--gutter);overflow:hidden}
.gift__media{border-radius:32px;overflow:hidden;aspect-ratio:4/5;max-height:80vh;justify-self:end;width:min(100%,560px);box-shadow:0 50px 100px -40px rgba(60,35,20,.5)}
.gift__media img{width:100%;height:118%;object-fit:cover}
.gift__copy .section-lead{margin-left:0}
.gift__copy .display{font-size:clamp(46px,6vw,92px)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 36px}
.chips li{border:1px solid rgba(156,107,82,.35);color:var(--terra);border-radius:999px;padding:9px 16px;font-size:14px}
@media (max-width:860px){.gift{grid-template-columns:1fr}.gift__media{justify-self:center}}

/* ---------- Pasos ---------- */
.steps{background:var(--espresso);padding:clamp(100px,13vw,180px) 0}
.steps__grid{max-width:1200px;margin:clamp(56px,7vw,90px) auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(236,210,155,.14);border-radius:28px;padding:38px 32px;transition:transform .6s var(--ease),border-color .4s}
.step:hover{transform:translateY(-6px);border-color:rgba(236,210,155,.4)}
.step__n{font-family:var(--serif);font-style:italic;font-size:56px;line-height:1;color:var(--gold);display:block;margin-bottom:28px}
.step h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.05;margin-bottom:12px}
.step p{color:var(--muted-light);font-weight:300}
.stats{max-width:1200px;margin:70px auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:center}
.stat b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(52px,6vw,86px);line-height:1;color:var(--gold-2)}
.stat span{display:block;margin-top:10px;font-size:14px;color:var(--muted-light)}
@media (max-width:820px){.steps__grid,.stats{grid-template-columns:1fr}.stats{gap:40px}}

/* ---------- Comunidad ---------- */
.community{background:var(--cream);color:var(--ink);padding:clamp(100px,13vw,170px) var(--gutter);text-align:center}
.community .display{font-size:clamp(44px,6vw,92px)}
.stories{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(18px,3vw,40px);margin:60px auto 56px;max-width:1000px}
.story{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:14px;color:var(--muted)}
.story span{width:clamp(84px,9vw,118px);aspect-ratio:1;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--gold),var(--terra),var(--gold-2),var(--gold));transition:transform .5s var(--ease)}
.story img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--cream)}
.story:hover span{transform:scale(1.08) rotate(-4deg)}

/* ---------- Cierre ---------- */
.final{position:relative;overflow:hidden;background:var(--espresso);text-align:center;padding:clamp(130px,17vw,230px) var(--gutter)}
.final__glow{position:absolute;left:50%;top:50%;width:900px;height:900px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(201,164,92,.22),transparent 60%);animation:breathe 6s ease-in-out infinite}
@keyframes breathe{50%{transform:translate(-50%,-50%) scale(1.15);opacity:.7}}
.spark--big{width:40px;height:40px;margin:0 auto 34px;position:relative;animation:spin 14s linear infinite}
.final__title{position:relative;font-family:var(--serif);font-weight:300;font-size:clamp(46px,7vw,112px);line-height:.98;letter-spacing:-.025em;margin-bottom:50px}
.final .btn{position:relative}

/* ---------- Pie ---------- */
.footer{background:#0e0a08;color:var(--muted-light);padding:clamp(60px,8vw,100px) var(--gutter) 40px;font-size:14px;border-top:1px solid rgba(236,210,155,.1)}
.footer__top{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.footer__brand{display:flex;flex-direction:column;line-height:1}
.footer__brand .brand__word{font-size:44px}
.footer__brand small{font-size:9px;letter-spacing:.45em;color:var(--gold);margin-top:8px}
.footer__brand p{margin-top:22px;max-width:260px;line-height:1.6;font-weight:300}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__col h4{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px}
.footer__col a{width:max-content;transition:color .3s}
.footer__col a:hover{color:var(--gold-2)}
.footer__bottom{max-width:1320px;margin:60px auto 0;padding-top:26px;border-top:1px solid rgba(236,210,155,.1);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;opacity:.65}
@media (max-width:820px){.footer__top{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;box-shadow:0 14px 34px -8px rgba(37,211,102,.55);transform:scale(0);transition:transform .5s var(--ease)}
.wa-float.is-on{transform:scale(1)}
.wa-float svg{width:30px;height:30px;fill:#fff}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ping 2.4s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}

/* ---------- Aparición al hacer scroll ---------- */
.reveal-up{opacity:0;transform:translateY(40px)}

/* sin animaciones si la persona lo pidió en su sistema, o si no cargó la librería */
@media (prefers-reduced-motion:reduce){
  .reveal-up,.orb,.hero__badge{opacity:1 !important;transform:none !important}
  .hero__title .line>span{transform:none !important}
  .arch{clip-path:none !important}
  .marquee__track,.shimmer,.badge-ring,.final__glow,.spark--big{animation:none}
  .intro{display:none}
}
.no-motion .reveal-up,.no-motion .orb,.no-motion .hero__badge{opacity:1;transform:none}
.no-motion .hero__title .line>span{transform:none}
.no-motion .arch{clip-path:none}
.no-motion .intro{display:none}
.no-motion .zoom{height:auto}
.no-motion .zoom__stage{position:relative}
.no-motion .zoom__text--b{opacity:1}

/* =====================================================================
   TIENDA: telón, barra con bolsa, menú del celular, tarjetas, filtros,
   ficha de producto, bolsa de compras y contacto
   ===================================================================== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.sin-scroll, html.menu-abierto{overflow:hidden}

/* ---------- Telón entre páginas ---------- */
.telon{display:none;position:fixed;inset:0;z-index:95;background:var(--cream);place-items:center}
.telon .spark{width:34px;height:34px;animation:spin 3s linear infinite}
.js .telon{display:grid;animation:telonSeguro 0s 4s forwards}
@keyframes telonSeguro{to{visibility:hidden}}

/* ---------- Barra: bolsa y menú ---------- */
.nav__links a.is-activo{color:var(--cream)}
.nav__links a.is-activo::after{transform:scaleX(1)}
.nav__acciones{display:flex;align-items:center;gap:6px}
.nav__bolsa,.nav__menu{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:none;border:0;color:var(--cream);cursor:pointer;transition:background .3s}
.nav__bolsa:hover{background:rgba(236,210,155,.1)}
.nav__bolsa svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.nav__cuenta{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gold);color:var(--espresso);font-size:10px;font-weight:600;display:grid;place-items:center;transform:scale(0);transition:transform .4s var(--ease)}
.nav__cuenta.is-on{transform:scale(1)}
.nav__menu{display:none}
.nav__menu span{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .5s var(--ease)}
.nav__menu span:first-child{transform:translateY(-4px)}
.nav__menu span:last-child{transform:translateY(4px)}
.menu-abierto .nav__menu span:first-child{transform:rotate(45deg)}
.menu-abierto .nav__menu span:last-child{transform:rotate(-45deg)}
.menu-abierto .nav{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
@media (max-width:820px){.nav__menu{display:grid}}

.menu-movil{position:fixed;inset:0;z-index:45;background:var(--espresso);display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--gutter) 40px;clip-path:circle(0 at calc(100% - 40px) 36px);transition:clip-path .8s var(--ease);pointer-events:none}
.menu-abierto .menu-movil{clip-path:circle(150% at calc(100% - 40px) 36px);pointer-events:auto}
.menu-movil nav{display:flex;flex-direction:column;gap:6px}
.menu-movil nav a{font-family:var(--serif);font-weight:300;font-size:clamp(44px,12vw,64px);line-height:1.1;color:var(--cream)}
.menu-movil nav a.is-activo{color:var(--gold-2);font-style:italic}
.menu-movil__pie{display:flex;gap:24px;font-size:14px;color:var(--muted-light);letter-spacing:.04em}

/* ---------- Botones extra ---------- */
.btn--outline{border:1px solid rgba(29,22,17,.25);color:var(--ink)}
.btn--outline:hover{border-color:var(--ink);background:rgba(29,22,17,.04)}
.btn--block{display:flex;width:100%}
.btn--grow{flex:1}
.final__ctas{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:14px}

/* ---------- Tarjeta de producto ---------- */
.grid-cards{max-width:1320px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,26px)}
.card{position:relative;color:var(--ink)}
.card__media{position:relative;display:block;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--sand);isolation:isolate}
.card__media img,.linea__foto img,.miniatura img,.lupa img{width:100%;height:100%;object-fit:cover;object-position:var(--fx,50%) var(--fy,50%);transform-origin:var(--fx,50%) var(--fy,50%);transform:scale(var(--z,1))}
.card__media img{transition:transform 1.2s var(--ease)}
.card:hover .card__media img{transform:scale(calc(var(--z,1) * 1.07))}
.card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(20,14,10,.18));pointer-events:none}
.card__tag{position:absolute;top:14px;left:14px;z-index:2;background:rgba(244,239,231,.92);backdrop-filter:blur(8px);color:var(--ink);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:6px 11px;border-radius:999px;font-weight:600}
.card__add{position:absolute;right:12px;top:calc((100% - var(--info-h,92px)) - 58px);z-index:3;height:44px;min-width:44px;padding:0 13px;border-radius:999px;border:0;background:var(--ink);color:var(--cream);display:flex;align-items:center;gap:0;font:500 13px var(--sans);cursor:pointer;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);transition:gap .5s var(--ease),background .3s,transform .3s}
.card__add svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.card__add span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease)}
.card:hover .card__add,.card__add:focus-visible{gap:6px;background:var(--terra)}
.card:hover .card__add span,.card__add:focus-visible span{max-width:80px}
.card__add:active{transform:scale(.94)}
.card__info{padding:16px 4px 0;height:var(--info-h,92px)}
.card__info h3{font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.7vw,25px);line-height:1.1}
.card__cat{font-size:12px;color:var(--muted);margin-top:4px;letter-spacing:.02em}
.card__precio{display:block;margin-top:6px;font-weight:500;font-size:15px}
@media (max-width:980px){.grid-cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:22px 12px}.card__media{border-radius:18px}.card{--info-h:96px}.card__info h3{font-size:19px}}

/* ---------- Favoritas (inicio) ---------- */
.favs{background:var(--sand);padding:clamp(100px,12vw,160px) 0}
.favs .grid-cards{margin-top:clamp(50px,6vw,80px)}
.favs__mas{text-align:center;margin-top:clamp(40px,5vw,64px)}
@media (min-width:981px){.favs .grid-cards .card:nth-child(n+5){display:none}}
@media (max-width:980px) and (min-width:721px){.favs .grid-cards .card:nth-child(n+7){display:none}}
@media (max-width:720px){.favs .grid-cards .card:nth-child(n+5){display:none}}

/* ---------- Portada de página (tienda y contacto) ---------- */
.ph{position:relative;overflow:hidden;background:radial-gradient(110% 120% at 85% 0%,#2a1f17 0%,var(--espresso) 62%);padding:clamp(150px,18vw,210px) var(--gutter) clamp(70px,9vw,110px);text-align:center}
.ph__glow{position:absolute;left:50%;top:60%;width:820px;height:820px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(201,164,92,.16),transparent 60%);animation:breathe 7s ease-in-out infinite;pointer-events:none}
.ph__inner{position:relative;z-index:2;max-width:980px;margin:0 auto}
.ph__title{font-family:var(--serif);font-weight:300;font-size:clamp(60px,10vw,150px);line-height:.92;letter-spacing:-.03em}
.ph__lead{font-size:clamp(17px,1.4vw,20px);color:var(--muted-light);max-width:560px;margin:28px auto 0;font-weight:300}
.split-in .line{display:block;overflow:hidden;padding-bottom:.08em}
.split-in .line>span{display:inline-block;transform:translateY(110%)}

/* ---------- Filtros de la tienda ---------- */
.filtros{position:sticky;top:64px;z-index:30;background:rgba(244,239,231,.88);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(29,22,17,.08)}
.filtros__fila{max-width:1320px;margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}
.filtros__scroll{position:relative;overflow-x:auto;scrollbar-width:none;min-width:0;padding:3px 0}
.filtros__scroll::-webkit-scrollbar{display:none}
.filtros__lista{position:relative;z-index:1;display:flex;gap:4px;width:max-content}
.filtros__lista :is(a,button){border:0;background:none;color:var(--muted);font:500 14px var(--sans);padding:10px 18px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .4s}
.filtros__lista :is(a,button) small{font-size:11px;opacity:.6;margin-left:2px}
.filtros__lista :is(a,button):hover{color:var(--ink)}
.filtros__lista :is(a,button).is-activo{color:var(--cream)}
.filtros__pastilla{position:absolute;left:0;top:3px;bottom:3px;width:0;border-radius:999px;background:var(--ink);box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
.orden select{appearance:none;-webkit-appearance:none;border:1px solid rgba(29,22,17,.16);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231d1611' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center/11px;border-radius:999px;padding:10px 38px 10px 18px;font:500 14px var(--sans);color:var(--ink);cursor:pointer}
@media (max-width:720px){.filtros__fila{flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;padding-bottom:10px}.filtros__scroll{margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter)}.orden{align-self:flex-end}.orden select{padding:7px 34px 7px 14px;font-size:13px}}

.tienda{background:var(--cream);padding:clamp(30px,4vw,50px) 0 clamp(100px,12vw,160px);min-height:60vh}
.tienda__conteo{max-width:1320px;margin:0 auto 22px;padding:0 var(--gutter);color:var(--muted);font-size:13px;letter-spacing:.04em}

/* ---------- Banda «te ayudamos a elegir» ---------- */
.banda{background:var(--espresso);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,90px);padding:clamp(80px,10vw,130px) var(--gutter)}
.banda__media{justify-self:end;width:min(100%,480px);aspect-ratio:4/5;border-radius:30px;overflow:hidden;box-shadow:0 50px 100px -40px rgba(0,0,0,.8)}
.banda__media img{width:100%;height:100%;object-fit:cover}
.banda .display{font-size:clamp(44px,5.6vw,86px)}
.banda__lead{color:var(--muted-light);font-size:clamp(16px,1.3vw,19px);max-width:440px;margin:24px 0 34px;font-weight:300}
@media (max-width:820px){.banda{grid-template-columns:1fr}.banda__media{justify-self:center;width:min(100%,380px)}}

/* ---------- Ficha de producto ---------- */
.pagina-producto{background:var(--cream);color:var(--ink);padding-top:84px}
.migas{max-width:1320px;margin:0 auto;padding:22px var(--gutter);font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.migas a:hover{color:var(--ink)}
.migas b{font-weight:500;color:var(--ink)}
.ficha{max-width:1320px;margin:0 auto;padding:0 var(--gutter) clamp(80px,10vw,130px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:start}
.galeria{position:sticky;top:90px}
.galeria__marco{position:relative;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--sand);cursor:zoom-in}
.lupa{width:100%;height:100%;transition:transform .5s var(--ease)}
.galeria__marco.is-lupa .lupa{transform:scale(2)}
.galeria__badge{position:absolute;top:18px;left:18px;background:rgba(244,239,231,.92);backdrop-filter:blur(8px);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px;border-radius:999px;font-weight:600}
.galeria__texto{position:absolute;left:18px;bottom:18px;background:rgba(21,16,12,.6);backdrop-filter:blur(8px);color:var(--cream);font-size:12px;letter-spacing:.06em;padding:7px 12px;border-radius:999px;pointer-events:none}
.miniaturas{display:flex;gap:12px;margin-top:14px}
.miniatura{width:84px;aspect-ratio:1;border-radius:16px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--sand);opacity:.55;outline:2px solid transparent;outline-offset:3px;transition:opacity .3s,outline-color .3s}
.miniatura:hover{opacity:.85}
.miniatura.is-activa{opacity:1;outline-color:var(--terra)}
.ficha__info{padding-top:10px}
.ficha__nombre{font-family:var(--serif);font-weight:300;font-size:clamp(46px,5.2vw,80px);line-height:.95;letter-spacing:-.025em}
.ficha__precio{font-size:clamp(22px,2vw,28px);font-weight:500;margin-top:18px}
.ficha__corta{color:var(--muted);font-size:17px;font-weight:300;margin-top:14px;max-width:470px}
.significado{display:flex;gap:16px;align-items:flex-start;margin-top:30px;padding:20px 22px;border-radius:20px;background:var(--sand)}
.significado .spark{flex:none;width:20px;height:20px;margin-top:3px}
.significado small{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--terra);font-weight:600;margin-bottom:6px}
.significado p{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.3}
.bloque{margin-top:28px}
.bloque__titulo{font-size:13px;font-weight:500;margin-bottom:12px}
.opciones,.motivos{display:flex;flex-wrap:wrap;gap:8px}
.opcion{border:1px solid rgba(29,22,17,.18);background:transparent;color:var(--ink);border-radius:999px;padding:10px 18px;font:400 14px var(--sans);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.opcion:hover{border-color:var(--ink)}
.opcion.is-activa{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.comprar{display:flex;gap:12px;margin-top:30px}
.cantidad{display:flex;align-items:center;border:1px solid rgba(29,22,17,.18);border-radius:999px;padding:4px}
.cantidad button{width:42px;height:42px;border-radius:50%;border:0;background:none;font-size:20px;color:inherit;cursor:pointer;transition:background .3s}
.cantidad button:hover{background:rgba(29,22,17,.06)}
.cantidad span{min-width:26px;text-align:center;font-weight:500}
.cantidad--sm{padding:2px;margin-top:10px;width:max-content}
.cantidad--sm button{width:30px;height:30px;font-size:16px}
.cantidad--sm span{min-width:20px;font-size:14px}
#comprarYa{margin-top:12px}
.confianza{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}
.confianza li{border-top:1px solid rgba(29,22,17,.12);padding-top:12px;font-size:13px;color:var(--muted);line-height:1.4}
.confianza b{display:block;color:var(--ink);font-weight:600}
.acordeon{margin-top:34px;border-top:1px solid rgba(29,22,17,.12)}
.acordeon details,.pregunta{border-bottom:1px solid rgba(29,22,17,.12)}
.acordeon summary,.pregunta summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:16px}
.acordeon summary::-webkit-details-marker,.pregunta summary::-webkit-details-marker{display:none}
.acordeon summary::after,.pregunta summary::after{content:"+";font-family:var(--serif);font-size:28px;line-height:1;font-weight:300;color:var(--terra);transition:transform .4s var(--ease)}
.acordeon details[open] summary::after,.pregunta[open] summary::after{transform:rotate(45deg)}
.acordeon p,.acordeon ul{padding:0 0 20px;color:var(--muted);font-weight:300;max-width:520px}
.lista-puntos{list-style:none;display:flex;flex-direction:column;gap:6px}
.lista-puntos li::before{content:"✦";color:var(--gold);margin-right:10px;font-size:11px}
.relacionados{background:var(--sand);padding:clamp(90px,11vw,150px) 0}
.relacionados .display{font-size:clamp(40px,5vw,76px);margin-bottom:clamp(44px,5vw,70px)}
.relacionados .grid-cards .card:nth-child(n+5){display:none}
.barra-compra{display:none}
@media (max-width:900px){
  .ficha{grid-template-columns:1fr}
  .galeria{position:relative;top:0}
  .miniaturas{gap:10px}
  .miniatura{width:68px}
  .confianza{grid-template-columns:1fr;gap:0}
  .confianza li{padding:12px 0}
  .barra-compra{position:fixed;left:12px;right:12px;bottom:12px;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 20px;border-radius:999px;background:rgba(21,16,12,.92);backdrop-filter:blur(16px);color:var(--cream);box-shadow:0 20px 40px -12px rgba(0,0,0,.5);transform:translateY(150%);transition:transform .6s var(--ease)}
  .barra-compra div{display:flex;flex-direction:column;line-height:1.2;min-width:0}
  .barra-compra b{font-family:var(--serif);font-weight:400;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .barra-compra span{font-size:13px;color:var(--gold-2)}
  .con-barra .barra-compra{transform:none}
  .con-barra .wa-float{bottom:92px}
}

/* ---------- Bolsa de compras ---------- */
.bolsa{position:fixed;inset:0;z-index:80;pointer-events:none}
.bolsa.is-open{pointer-events:auto}
.bolsa__velo{position:absolute;inset:0;background:rgba(10,7,5,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .5s}
.bolsa.is-open .bolsa__velo{opacity:1}
.bolsa__panel{position:absolute;top:10px;right:10px;bottom:10px;width:min(440px,calc(100% - 20px));background:var(--cream);color:var(--ink);border-radius:28px;display:flex;flex-direction:column;overflow:hidden;transform:translateX(calc(100% + 20px));transition:transform .7s var(--ease);box-shadow:0 40px 80px -20px rgba(0,0,0,.6)}
.bolsa.is-open .bolsa__panel{transform:none}
.bolsa__cabeza{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 16px 28px;border-bottom:1px solid rgba(29,22,17,.08)}
.bolsa__cabeza h2{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1}
.bolsa__cabeza h2 span{font-size:20px;color:var(--muted)}
.bolsa__x{width:42px;height:42px;border-radius:50%;border:0;background:var(--sand);cursor:pointer;display:grid;place-items:center;transition:transform .4s var(--ease)}
.bolsa__x:hover{transform:rotate(90deg)}
.bolsa__x svg{width:18px;height:18px;stroke:var(--ink);stroke-width:1.6;fill:none;stroke-linecap:round}
.bolsa__lista{flex:1;overflow-y:auto;padding:8px 28px;overscroll-behavior:contain}
.linea{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid rgba(29,22,17,.08)}
.linea__foto{width:76px;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--sand)}
.linea__info{display:flex;flex-direction:column;min-width:0}
.linea__info b{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.1}
.linea__info small{font-size:12px;color:var(--muted);margin-top:3px}
.linea__precio{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;font-weight:500;font-size:14px}
.linea__quitar{border:0;background:none;font:400 12px var(--sans);color:var(--muted);text-decoration:underline;cursor:pointer}
.bolsa__vacia{height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.bolsa__vacia .spark{width:30px;height:30px}
.bolsa__vacia p{font-family:var(--serif);font-size:26px}
.bolsa__pie{padding:18px 28px 24px;border-top:1px solid rgba(29,22,17,.08);background:var(--sand)}
.bolsa__total{display:flex;justify-content:space-between;align-items:baseline}
.bolsa__total span{font-size:14px;color:var(--muted)}
.bolsa__total b{font-family:var(--serif);font-weight:500;font-size:30px}
.bolsa__nota{font-size:12px;color:var(--muted);margin:4px 0 14px}
.bolsa__datos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.bolsa__datos input{width:100%;border:1px solid rgba(29,22,17,.14);background:var(--cream);border-radius:14px;padding:12px 14px;font:400 15px var(--sans);color:var(--ink)}
.bolsa__datos input:focus{outline:none;border-color:var(--terra)}

/* aviso y foto que vuela a la bolsa */
.toast{position:fixed;left:50%;bottom:24px;z-index:85;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--cream);padding:10px 10px 10px 18px;border-radius:999px;font-size:14px;box-shadow:0 20px 40px -12px rgba(0,0,0,.55);transform:translate(-50%,150%);opacity:0;transition:transform .6s var(--ease),opacity .4s;max-width:calc(100% - 32px)}
.toast.is-on{transform:translate(-50%,0);opacity:1}
.toast .spark{flex:none;width:14px;height:14px}
.toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast button{flex:none;border:0;background:var(--gold);color:var(--espresso);font:600 12px var(--sans);padding:8px 14px;border-radius:999px;cursor:pointer}
.vuelo{position:fixed;z-index:90;background-size:cover;background-position:center;border-radius:20px;pointer-events:none;box-shadow:0 20px 40px -10px rgba(0,0,0,.5)}

/* ---------- Contacto ---------- */
.canales{background:var(--cream);color:var(--ink);padding:clamp(70px,9vw,120px) var(--gutter) 0;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.canal{position:relative;background:#fbf8f3;border:1px solid rgba(29,22,17,.08);border-radius:28px;padding:34px 30px;transition:transform .6s var(--ease),box-shadow .6s,border-color .4s}
.canal:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(60,35,20,.45);border-color:rgba(156,107,82,.35)}
.canal__ico{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--terra);margin-bottom:26px}
.canal__ico svg{width:24px;height:24px;fill:currentColor}
.canal--wa .canal__ico{background:#25d366;color:#fff}
.canal h2{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1}
.canal p{color:var(--muted);font-weight:300;margin-top:10px}
.canal__cta{display:inline-block;margin-top:22px;font-size:14px;font-weight:500;color:var(--terra)}
main:has(.canales){background:var(--cream)}
.escribenos{background:var(--cream);color:var(--ink);max-width:1320px;margin:0 auto;padding:clamp(80px,10vw,140px) var(--gutter);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}
.escribenos__media{border-radius:200px 200px 28px 28px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 50px 100px -40px rgba(60,35,20,.5)}
.escribenos__media img{width:100%;height:100%;object-fit:cover}
.formulario .display{font-size:clamp(44px,5.4vw,84px)}
.formulario__lead{color:var(--muted);margin:16px 0 28px;font-weight:300}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 24px}
.campo{position:relative;display:block}
.campo--ancho{grid-column:1/-1}
.campo input,.campo textarea{width:100%;border:1px solid rgba(29,22,17,.16);background:#fbf8f3;border-radius:18px;padding:24px 18px 10px;font:400 16px var(--sans);color:var(--ink);resize:vertical;transition:border-color .3s,box-shadow .3s}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 4px rgba(156,107,82,.12)}
.campo span{position:absolute;left:19px;top:17px;font-size:15px;color:var(--muted);pointer-events:none;transform-origin:left top;transition:transform .35s var(--ease),color .3s}
.campo input:focus+span,.campo input:not(:placeholder-shown)+span,.campo textarea:focus+span,.campo textarea:not(:placeholder-shown)+span{transform:translateY(-10px) scale(.75);color:var(--terra)}
.formulario__error,.formulario__ok{display:none;font-size:14px;margin-bottom:16px}
.formulario__error{color:#b0412e}
.formulario__ok{margin:18px 0 0;color:var(--terra)}
.is-error .formulario__error,.is-enviado .formulario__ok{display:block}
.faq{background:var(--espresso);padding:clamp(100px,12vw,160px) var(--gutter)}
.faq__lista{max-width:820px;margin:clamp(50px,6vw,80px) auto 0;border-top:1px solid rgba(236,210,155,.15)}
.faq .pregunta{border-bottom-color:rgba(236,210,155,.15)}
.faq .pregunta summary{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,30px);padding:26px 0}
.faq .pregunta summary::after{color:var(--gold)}
.faq .pregunta p{color:var(--muted-light);font-weight:300;padding:0 0 26px;max-width:640px}
@media (max-width:900px){.canales{grid-template-columns:1fr}.escribenos{grid-template-columns:1fr}.escribenos__media{width:min(100%,360px);justify-self:center}}
@media (max-width:560px){.campos{grid-template-columns:1fr}.bolsa__datos{grid-template-columns:1fr}}

/* sin animaciones */
@media (prefers-reduced-motion:reduce){
  .split-in .line>span{transform:none !important}
  .telon{display:none !important}
}
.no-motion .split-in .line>span{transform:none}
.no-motion .telon{display:none}
.menu-abierto .wa-float{transform:scale(0)}

/* WordPress: con la barra de administración visible, todo baja un poco */
.admin-bar .nav{top:32px}
.admin-bar .filtros{top:96px}
.admin-bar .galeria{top:122px}
@media (max-width:782px){.admin-bar .nav{top:46px}.admin-bar .filtros{top:110px}}

/* =====================================================================
   WOOCOMMERCE: bolsa real, piezas agotadas, páginas de texto, Pagar,
   confirmación y Mi cuenta (fondo crema, letra oscura)
   ===================================================================== */
.card__add{text-decoration:none}
.card__tag--gris{background:rgba(29,22,17,.82);color:var(--cream)}
.card.is-agotada .card__media img{filter:grayscale(.55) brightness(.92)}
.card__precio del,.ficha__precio del{color:var(--muted);font-weight:400;margin-right:6px}
.tienda__vacia{max-width:560px;margin:40px auto;text-align:center;color:var(--muted)}
.tienda__vacia a{color:var(--terra);text-decoration:underline}

/* bolsa */
.bolsa__cargando{display:grid;place-items:center;height:200px}
.bolsa__cargando .spark{width:26px;height:26px;animation:spin 2s linear infinite}
.bolsa__envio{font-size:13px;color:var(--muted);margin-bottom:14px}
.bolsa__envio b{color:var(--ink)}
.riel{height:4px;border-radius:4px;background:rgba(29,22,17,.08);margin-top:8px;overflow:hidden}
.riel i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--terra));border-radius:4px;transition:width .6s var(--ease)}
.bolsa__wa{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.bolsa__wa svg{width:16px;height:16px;fill:#25d366}
.linea button[disabled]{opacity:.4}
.bolsa__pie .btn--block{margin-top:4px}

/* barra: cuenta solo en computador */
.nav__bolsa svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
@media (max-width:820px){.nav__cuenta-btn{display:none}}

/* ficha */
.ficha__quedan{margin-top:18px;font-size:14px;font-weight:600;color:var(--terra)}
.ficha__error{min-height:20px;margin-top:10px;font-size:14px;color:#b0412e}
.ficha__pregunta{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.ficha__pregunta .ico,.btn .ico{width:18px;height:18px;fill:currentColor}
.ficha__pregunta .ico{fill:#25d366}
.acordeon__texto{color:var(--muted);font-weight:300;padding-bottom:20px;max-width:520px}
.acordeon__texto p{margin:0 0 10px}
.galeria__texto:empty{display:none}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* páginas de texto, Pagar y Mi cuenta */
.pagina{background:var(--cream);color:var(--ink);padding:clamp(110px,14vw,150px) var(--gutter) clamp(80px,10vw,130px);min-height:70vh}
.pagina__caja{max-width:1180px;margin:0 auto}
.pagina__cab{margin-bottom:clamp(28px,4vw,48px)}
.pagina__cab h1{font-family:var(--serif);font-weight:300;font-size:clamp(46px,6vw,88px);line-height:.95;letter-spacing:-.025em}
.pagina__cab h1 em{color:var(--terra)}
.pagina__cab p{color:var(--muted);margin-top:12px;font-size:17px;font-weight:300}
.pagina__contenido{font-size:17px;line-height:1.7}
.pagina__contenido > p,.pagina__contenido > h2,.pagina__contenido > ul,.pagina__contenido > ol{max-width:720px}
.pagina__contenido h2{font-family:var(--serif);font-weight:400;font-size:32px;margin:32px 0 8px}
.pagina__contenido a{color:var(--terra)}
.oleo-woo .pagina__contenido{font-size:15px;line-height:1.55}

/* avisos */
.woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-notice{list-style:none;margin:0 0 22px;padding:14px 18px;border-radius:14px;border:1px solid rgba(29,22,17,.12);background:#fbf8f3;color:var(--ink);font-size:15px}
.woocommerce-error{border-color:rgba(176,65,46,.4);background:rgba(176,65,46,.06)}
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a{color:var(--terra);text-decoration:underline;text-underline-offset:3px}
.woocommerce-message .button,.woocommerce-info .button{float:right}

/* formularios */
.woocommerce form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:6px;font-size:13px;color:var(--muted)}
.woocommerce form .form-row label .required{color:var(--terra);text-decoration:none;border:0}
.woocommerce form .form-row label .optional{color:var(--muted-light)}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce form .form-row input.input-text,.woocommerce-page form input[type="email"],.woocommerce-page form input[type="password"]{width:100%;min-height:52px;padding:14px 16px;border-radius:14px;border:1px solid rgba(29,22,17,.16);background:#fbf8f3;color:var(--ink);font:400 16px var(--sans);outline:none;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.woocommerce textarea{min-height:96px;resize:vertical}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{border-color:var(--terra);box-shadow:0 0 0 4px rgba(156,107,82,.12)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid .select2-selection{border-color:#b0412e}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 6px);float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce form .clear,.woocommerce .clear{clear:both}
.woocommerce-input-wrapper{display:block}
.woocommerce-billing-fields h3,#ship-to-different-address,.woocommerce-additional-fields h3,#order_review_heading{font-family:var(--serif);font-weight:400;font-size:28px;margin:0 0 16px}
.woocommerce-additional-fields{margin-top:18px}
.woocommerce form .form-row input[type="checkbox"]{accent-color:var(--terra);width:18px;height:18px;vertical-align:-3px;margin-right:8px}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row .woocommerce-form__label-for-checkbox{display:flex;align-items:center;color:var(--ink);font-size:15px}
#billing_country_field,#shipping_country_field{display:none !important}

/* select de departamento (selectWoo) */
.select2-container .select2-selection--single{height:52px;border-radius:14px;border:1px solid rgba(29,22,17,.16);background:#fbf8f3}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:50px;padding-left:16px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px;right:10px}
.select2-dropdown{background:#fff;border:1px solid rgba(29,22,17,.14);border-radius:14px;overflow:hidden;color:var(--ink)}
.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid rgba(29,22,17,.16);border-radius:10px;padding:8px}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--terra);color:#fff}

/* Pagar: datos a la izquierda, resumen fijo a la derecha */
form.checkout{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto 1fr;column-gap:clamp(24px,5vw,72px);align-items:start}
form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1}
#customer_details{grid-column:1;grid-row:1 / span 2}
#customer_details .col-1,#customer_details .col-2{width:100%;float:none}
#order_review_heading{grid-column:2;grid-row:1;padding:26px 26px 0;margin:0;background:#fff;border:1px solid rgba(29,22,17,.08);border-bottom:0;border-radius:24px 24px 0 0}
#order_review{grid-column:2;grid-row:2;background:#fff;border:1px solid rgba(29,22,17,.08);border-top:0;border-radius:0 0 24px 24px;padding:8px 26px 26px;position:sticky;top:90px}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:15px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:12px 0;border-bottom:1px solid rgba(29,22,17,.08);text-align:left;vertical-align:top}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout-review-order-table thead th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--muted);font-weight:400}
.woocommerce-checkout-review-order-table .variation,.wc-item-meta{margin:4px 0 0;padding:0;list-style:none;font-size:13px;color:var(--muted);display:flex;gap:4px;flex-wrap:wrap}
.woocommerce-checkout-review-order-table .variation dt,.woocommerce-checkout-review-order-table .variation dd,.wc-item-meta p{margin:0}
.woocommerce-checkout-review-order-table tfoot th{color:var(--muted);font-weight:400}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:20px;font-weight:600;border-bottom:0;padding-top:16px;color:var(--ink)}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce-shipping-methods li{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.woocommerce-shipping-methods input{accent-color:var(--terra)}
#payment{margin-top:18px}
#payment ul.payment_methods{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#payment li.wc_payment_method{border:1px solid rgba(29,22,17,.12);border-radius:16px;padding:16px 18px;transition:border-color .25s,background .25s}
#payment li.wc_payment_method:has(input:checked){border-color:var(--terra);background:rgba(156,107,82,.05)}
#payment li.wc_payment_method > input{accent-color:var(--terra);width:18px;height:18px;vertical-align:-3px;margin-right:10px}
#payment li.wc_payment_method > label{font-weight:500;cursor:pointer;display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}
#payment li.wc_payment_method > label img{max-height:26px;width:auto}
#payment .payment_box{margin-top:12px;font-size:14px;color:var(--muted)}
#payment .payment_box p{margin:0}
#payment .place-order{margin-top:20px;padding:0}
.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--muted)}
.woocommerce-privacy-policy-text p{margin:0 0 12px}
#place_order,.woocommerce .button.alt,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:var(--ink);color:var(--cream);font:500 16px var(--sans);border:0;cursor:pointer;text-decoration:none;transition:background .3s,box-shadow .35s}
#place_order{width:100%;min-height:58px;font-size:17px;background:linear-gradient(120deg,#b8914b,var(--gold-2) 45%,#c9a45c 60%,#a9813f);color:#1a120c;box-shadow:0 10px 40px -10px rgba(201,164,92,.6)}
.woocommerce .button:hover{background:#000}
#place_order:hover{box-shadow:0 18px 60px -12px rgba(201,164,92,.75)}
.woocommerce-form-coupon-toggle .woocommerce-info{margin-bottom:14px}
form.checkout_coupon{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px;padding:16px;border:1px solid rgba(29,22,17,.12);border-radius:16px}
form.checkout_coupon p{margin:0}
form.checkout_coupon .form-row-first{flex:1;width:auto;float:none}
form.checkout_coupon .form-row-last{width:auto;float:none}
.blockUI.blockOverlay{background:rgba(244,239,231,.7) !important;border-radius:24px}

/* confirmación del pedido */
.confirmacion{text-align:center}
.confirmacion .sello{width:96px;height:96px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;margin:0 auto 26px}
.confirmacion .sello .spark{width:30px;height:30px;animation:spin 8s linear infinite}
.confirmacion .sello--error{border-color:#b0412e;color:#b0412e;font-size:34px}
.confirmacion h1{font-family:var(--serif);font-weight:300;font-size:clamp(46px,6.4vw,92px);line-height:.95;letter-spacing:-.025em}
.confirmacion h1 em{color:var(--terra)}
.conf-cab p{color:var(--muted);max-width:600px;margin:18px auto 0;font-size:18px;font-weight:300}
.conf-cab b{color:var(--ink);font-weight:600}
.conf-aviso{background:#fff;border:1px solid rgba(29,22,17,.08);border-radius:18px;padding:16px 20px}
.confirmacion .acciones{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:28px 0 40px}
.conf-datos{list-style:none;padding:0;margin:0 auto 40px;max-width:820px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.conf-datos li{background:#fff;border:1px solid rgba(29,22,17,.08);border-radius:16px;padding:16px;text-align:left}
.conf-datos span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.conf-datos b{font-weight:600}
.conf-detalle{max-width:820px;margin:0 auto;text-align:left}
.conf-detalle h2{font-family:var(--serif);font-weight:400;font-size:30px;margin:32px 0 14px}
.conf-detalle table,.woocommerce-MyAccount-content table{width:100%;border-collapse:collapse;font-size:15px}
.conf-detalle th,.conf-detalle td,.woocommerce-MyAccount-content th,.woocommerce-MyAccount-content td{padding:12px 0;border-bottom:1px solid rgba(29,22,17,.08);text-align:left;vertical-align:top}
.conf-detalle td:last-child,.conf-detalle tfoot th + td{text-align:right}
.conf-detalle address,.woocommerce-MyAccount-content address{font-style:normal;color:var(--muted);background:#fff;border:1px solid rgba(29,22,17,.08);border-radius:16px;padding:18px;line-height:1.6}
.conf-detalle .woocommerce-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.conf-detalle .woocommerce-column{width:auto;float:none}
.conf-detalle .woocommerce-order-overview,.conf-detalle .woocommerce-thankyou-order-received{display:none}
.conf-detalle .woocommerce-bacs-bank-details,.conf-detalle > p{white-space:pre-line;background:#fff;border:1px solid rgba(29,22,17,.08);border-radius:16px;padding:18px}
.conf-detalle a{color:var(--terra)}

/* Mi cuenta */
.woocommerce-account .pagina__contenido > .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 16px;border-radius:12px;color:var(--ink)}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:#fff}
.woocommerce-MyAccount-content a{color:var(--terra)}
.woocommerce-form-login,.woocommerce-form-register{max-width:460px}
.u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:48px;grid-column:1 / -1}
.u-columns .u-column1,.u-columns .u-column2{width:auto;float:none}
.woocommerce-account:not(.logged-in) .pagina__contenido > .woocommerce{display:block}
.woocommerce-account h2{font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:14px}
.lost_password a{color:var(--muted);font-size:14px}

@media (max-width:860px){
  form.checkout{grid-template-columns:1fr}
  #customer_details,#order_review_heading,#order_review{grid-column:1;grid-row:auto}
  #order_review_heading{margin-top:24px}
  #order_review{position:static}
  .conf-datos{grid-template-columns:1fr 1fr}
  .conf-detalle .woocommerce-columns,.u-columns.col2-set{grid-template-columns:1fr}
  .woocommerce-account .pagina__contenido > .woocommerce{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;gap:6px}
  .woocommerce-MyAccount-navigation a{white-space:nowrap;border:1px solid rgba(29,22,17,.12)}
}
@media (max-width:600px){
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
  .admin-bar .nav{top:0}
}
/* WooCommerce pone la clase .woocommerce en la tienda: el selector de orden no toma el estilo de los formularios de pago */
body .filtros .orden select{width:auto;min-height:0;border-radius:999px;border:1px solid rgba(29,22,17,.16);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231d1611' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center/11px;padding:10px 38px 10px 18px;font:500 14px var(--sans);box-shadow:none}
@media (max-width:720px){body .filtros .orden select{padding:7px 34px 7px 14px;font-size:13px}}
