/* ============================================================
   MINERVA REVELACIONES TAROT — Sistema de diseño
   Paleta: cosmos púrpura + oro + luz estelar (del logo)
   Autor: sitio estático, mobile-first, optimizado SEO/rendimiento
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  /* Fondo cósmico */
  --void:#0a0518;
  --night:#140a2e;
  --plum:#1e1042;
  --plum-2:#2a1559;
  --panel:#211048;
  /* Acentos */
  --violet:#7c3aed;
  --violet-soft:#9d6bff;
  --magenta:#c026d3;
  --nebula:#b24bf3;
  /* Oro */
  --gold:#d9b45a;
  --gold-bright:#f4dd9a;
  --gold-deep:#b8912e;
  /* Neutros */
  --cream:#f3ecdd;
  --cream-dim:#cfc4b0;
  --parchment:#faf6ec;
  --parchment-2:#f2ead8;
  --ink:#2b2340;
  --ink-soft:#574d6e;
  --star:#ffffff;

  --line-gold:rgba(217,180,90,.32);
  --shadow-lg:0 24px 60px -20px rgba(0,0,0,.65);
  --shadow-md:0 12px 34px -14px rgba(0,0,0,.55);
  --glow-violet:0 0 40px -6px rgba(124,58,237,.55);
  --glow-gold:0 0 30px -4px rgba(217,180,90,.45);

  --radius:18px;
  --radius-sm:12px;
  --maxw:1180px;
  --space:clamp(3.2rem,7vw,6rem);

  --ff-display:"Cinzel",Georgia,"Times New Roman",serif;
  --ff-serif:"Cormorant Garamond",Georgia,serif;
  --ff-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
}

/* ---------- Reset básico ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:1.02rem;
  line-height:1.72;
  color:var(--cream);
  background:var(--void);
  background-image:
    radial-gradient(1200px 700px at 15% -8%, rgba(124,58,237,.28), transparent 60%),
    radial-gradient(1000px 600px at 92% 4%, rgba(192,38,211,.20), transparent 60%),
    radial-gradient(900px 900px at 50% 120%, rgba(124,58,237,.16), transparent 60%);
  background-attachment:fixed;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-bright);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold)}
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;line-height:1.15;color:var(--cream);margin:0 0 .6em;letter-spacing:.01em;overflow-wrap:break-word}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.1em;padding-left:1.2em}
li{margin:.3em 0}
strong{color:var(--gold-bright);font-weight:600}
:focus-visible{outline:3px solid var(--violet-soft);outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* estrellas sutiles */
.stars{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.7), transparent),
    radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,.55), transparent),
    radial-gradient(1px 1px at 40% 70%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.5px 1.5px at 85% 60%, rgba(244,221,154,.6), transparent),
    radial-gradient(1px 1px at 55% 45%, rgba(255,255,255,.45), transparent),
    radial-gradient(1px 1px at 10% 85%, rgba(255,255,255,.4), transparent);
  background-repeat:repeat;background-size:600px 600px;opacity:.6}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.section{padding-block:var(--space)}
.section--tight{padding-block:clamp(2.4rem,5vw,3.6rem)}
.section--parchment{
  background:linear-gradient(180deg,var(--parchment),var(--parchment-2));
  color:var(--ink);
  border-block:1px solid var(--line-gold);
}
.section--parchment h1,.section--parchment h2,.section--parchment h3,.section--parchment h4{color:#3a2b12}
.section--parchment strong{color:var(--gold-deep)}
.section--parchment a{color:var(--gold-deep)}
.section--parchment a:hover{color:#8a6a1f}
.section--parchment p,.section--parchment li{color:#463a55}

.eyebrow{font-family:var(--ff-body);text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;font-weight:700;
  color:var(--gold);margin:0 0 .9rem;display:inline-flex;align-items:center;gap:.6em}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow::after{background:linear-gradient(90deg,var(--gold),transparent)}
.section--parchment .eyebrow{color:var(--gold-deep)}

.headline{font-size:clamp(1.55rem,5vw,3rem);margin-bottom:.4em}
.subhead{font-family:var(--ff-serif);font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:500;color:var(--cream-dim);
  max-width:56ch;line-height:1.5}
.section--parchment .subhead{color:#5a4d33}
.center{text-align:center}
.center .subhead,.center .eyebrow{margin-inline:auto}
.lead{font-family:var(--ff-serif);font-size:1.35rem;line-height:1.55;color:var(--cream)}
.section--parchment .lead{color:#3f3320}

/* divisor ornamental */
.ornament{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.4rem 0;color:var(--gold)}
.ornament::before,.ornament::after{content:"";height:1px;width:min(120px,20vw);background:linear-gradient(90deg,transparent,var(--gold))}
.ornament::after{background:linear-gradient(90deg,var(--gold),transparent)}
.ornament span{font-size:1.1rem}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--ff-body);font-weight:600;font-size:.98rem;
  padding:.85em 1.5em;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:transform .18s,box-shadow .25s,background .25s;
  text-align:center;line-height:1.1}
.btn:hover{transform:translateY(-2px)}
.btn--gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold),var(--gold-deep));color:#2a1e02;
  box-shadow:var(--glow-gold);border-color:rgba(244,221,154,.6)}
.btn--gold:hover{color:#2a1e02;box-shadow:0 0 44px -2px rgba(217,180,90,.7)}
.btn--wa{background:linear-gradient(135deg,#25d366,#128c4a);color:#fff;box-shadow:0 10px 26px -10px rgba(37,211,102,.7)}
.btn--wa:hover{color:#fff}
.btn--outline{background:rgba(255,255,255,.03);border-color:var(--line-gold);color:var(--cream)}
.btn--outline:hover{border-color:var(--gold);color:var(--gold-bright);background:rgba(217,180,90,.08)}
.section--parchment .btn--outline{color:#4a3c1e;border-color:rgba(184,145,46,.5)}
.section--parchment .btn--outline:hover{color:var(--gold-deep);background:rgba(184,145,46,.08)}
.btn--lg{padding:1.05em 1.9em;font-size:1.05rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}
.center .btn-row{justify-content:center}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);
  background:linear-gradient(180deg,rgba(10,5,24,.92),rgba(10,5,24,.72));
  border-bottom:1px solid var(--line-gold)}
.nav{display:flex;align-items:center;gap:1rem;justify-content:space-between;min-height:70px}
.brand{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.brand img{height:46px;width:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
.brand-name{font-family:var(--ff-display);font-weight:700;font-size:1rem;line-height:1.05;color:var(--gold-bright);letter-spacing:.02em}
.brand-name small{display:block;font-size:.6rem;letter-spacing:.32em;color:var(--cream-dim);font-weight:600;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--ff-body);color:var(--cream);font-weight:500;font-size:.92rem;padding:.5em .8em;border-radius:8px;
  position:relative}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--gold-bright);background:rgba(217,180,90,.08)}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.nav-toggle{display:none;background:none;border:1px solid var(--line-gold);border-radius:10px;padding:.5em .6em;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--gold);margin:4px 0;transition:.25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:960px){
  .nav-toggle{display:block}
  .nav-links{position:fixed;inset:70px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:linear-gradient(180deg,var(--night),var(--void));border-bottom:1px solid var(--line-gold);
    padding:.6rem 1rem 1.2rem;transform:translateY(-140%);transition:transform .3s ease;box-shadow:var(--shadow-lg);
    max-height:calc(100vh - 70px);overflow-y:auto}
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:.85em .6em;font-size:1rem;border-bottom:1px solid rgba(217,180,90,.12)}
  .nav-cta .btn--outline{display:none}
}
@media(max-width:560px){
  .brand-name{display:none}
  .nav-cta .btn--wa span{display:none}
  .nav-cta .btn--wa{padding:.7em .8em}
  .nav{gap:.5rem}
  .brand img{height:42px}
}

/* ---------- Hero ---------- */
.hero{position:relative;text-align:center;padding-block:clamp(3rem,8vw,6rem);overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(680px 380px at 50% 22%, rgba(124,58,237,.35), transparent 70%)}
.hero-logo{width:min(560px,86vw);margin:0 auto 1.6rem;border-radius:20px;
  box-shadow:0 30px 80px -24px rgba(124,58,237,.6);border:1px solid var(--line-gold)}
.hero h1{font-size:clamp(1.7rem,6.4vw,3.6rem);margin-bottom:.3em;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold),var(--nebula));-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 30px rgba(178,75,243,.25)}
.hero .subhead{margin-inline:auto;margin-bottom:1.4rem}

/* ---------- Grids / cards ---------- */
.grid{display:grid;gap:1.4rem}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.card{background:linear-gradient(165deg,rgba(42,21,89,.66),rgba(20,10,46,.82));
  border:1px solid var(--line-gold);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-md);transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:var(--shadow-lg),var(--glow-violet)}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.card-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.25rem;margin-bottom:.35em}
.card p{color:var(--cream-dim);font-size:.96rem;margin-bottom:1em}
.card .card-link{margin-top:auto;font-weight:600;color:var(--gold-bright);font-family:var(--ff-body);font-size:.92rem;
  display:inline-flex;align-items:center;gap:.4em}
.card .card-link::after{content:"→";transition:transform .2s}
.card:hover .card-link::after{transform:translateX(4px)}

.section--parchment .card{background:#fff;border-color:rgba(184,145,46,.28);box-shadow:0 14px 34px -20px rgba(80,50,10,.4)}
.section--parchment .card:hover{border-color:var(--gold-deep);box-shadow:0 20px 44px -18px rgba(80,50,10,.5)}
.section--parchment .card h3{color:#3a2b12}
.section--parchment .card p{color:#5a4d33}

/* mini icono/insignia */
.badge{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  background:radial-gradient(circle at 30% 25%,rgba(244,221,154,.9),var(--gold) 55%,var(--gold-deep));
  color:#2a1e02;font-size:1.5rem;margin-bottom:.9rem;box-shadow:var(--glow-gold)}

/* lista con check dorado */
.checklist{list-style:none;padding:0;margin:1rem 0}
.checklist li{position:relative;padding-left:1.9em;margin:.55em 0}
.checklist li::before{content:"✦";position:absolute;left:0;top:0;color:var(--gold);font-size:1em}

/* ---------- Bloque media (imagen + texto) ---------- */
.media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,5vw,3.5rem);align-items:center}
.media--reverse .media-img{order:2}
.media-img{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-gold);box-shadow:var(--shadow-md)}
.media-img img{width:100%;object-fit:cover}
@media(max-width:820px){.media{grid-template-columns:1fr}.media--reverse .media-img{order:0}}

/* ---------- Precios ---------- */
.pricing{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.price-card{background:linear-gradient(170deg,rgba(42,21,89,.7),rgba(20,10,46,.9));border:1px solid var(--line-gold);
  border-radius:var(--radius);padding:2rem 1.7rem;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-md)}
.price-card.featured{border-color:var(--gold);box-shadow:var(--shadow-lg),var(--glow-gold);transform:scale(1.02)}
.price-card .tag{position:absolute;top:-.9rem;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
  color:#2a1e02;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.35em 1em;border-radius:999px;white-space:nowrap}
.price-card h3{font-size:1.35rem;margin-bottom:.2em}
.price-card .price{font-family:var(--ff-display);font-size:2.6rem;color:var(--gold-bright);line-height:1;margin:.3em 0}
.price-card .price small{font-size:.9rem;color:var(--cream-dim);font-family:var(--ff-body)}
.price-card .checklist{flex:1}
.price-card .btn{margin-top:1.2rem}

/* ---------- Tira de confianza / stats ---------- */
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.4rem;text-align:center}
.trust .num{font-family:var(--ff-display);font-size:2.2rem;color:var(--gold-bright);line-height:1}
.trust .lbl{font-size:.82rem;letter-spacing:.06em;color:var(--cream-dim);text-transform:uppercase}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-inline:auto}
.faq details{border:1px solid var(--line-gold);border-radius:var(--radius-sm);margin-bottom:.9rem;
  background:linear-gradient(165deg,rgba(42,21,89,.5),rgba(20,10,46,.7));overflow:hidden}
.section--parchment .faq details{background:#fff;border-color:rgba(184,145,46,.28)}
.faq summary{cursor:pointer;padding:1.05em 1.3em;font-family:var(--ff-display);font-size:1.08rem;color:var(--gold-bright);
  list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.section--parchment .faq summary{color:#5a4210}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--gold);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq-a{padding:0 1.3em 1.2em;color:var(--cream-dim)}
.section--parchment .faq .faq-a{color:#5a4d33}

/* ---------- Cita ---------- */
.quote{font-family:var(--ff-serif);font-size:clamp(1.4rem,3.4vw,2rem);font-style:italic;line-height:1.4;
  text-align:center;max-width:44ch;margin:0 auto;color:var(--cream);position:relative}
.quote::before{content:"“";font-family:var(--ff-display);font-size:3em;color:var(--gold);opacity:.4;display:block;line-height:.4;margin-bottom:.2em}
.section--parchment .quote{color:#3f3320}

/* ---------- Info / contacto ---------- */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}
.info-item{display:flex;gap:.9rem;align-items:flex-start}
.info-item .ico{font-size:1.4rem;flex-shrink:0}
.info-item b{color:var(--gold-bright);display:block;font-family:var(--ff-display);font-weight:600;margin-bottom:.15em}
.section--parchment .info-item b{color:#5a4210}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.5em 0;border-bottom:1px dashed var(--line-gold)}
.hours li span:last-child{color:var(--gold-bright);font-weight:600}

/* mapa */
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-gold);box-shadow:var(--shadow-md);aspect-ratio:16/9}
.map-embed iframe{width:100%;height:100%;border:0}

/* ---------- Breadcrumb ---------- */
.crumbs{font-size:.82rem;color:var(--cream-dim);padding-block:1rem;font-family:var(--ff-body)}
.crumbs a{color:var(--cream-dim)}
.crumbs a:hover{color:var(--gold-bright)}
.crumbs span{color:var(--gold)}

/* ---------- Aviso legal / disclaimer ---------- */
.disclaimer{font-size:.82rem;color:var(--cream-dim);border:1px dashed var(--line-gold);border-radius:var(--radius-sm);
  padding:1rem 1.2rem;background:rgba(255,255,255,.02)}
.disclaimer strong{color:var(--gold)}

/* ---------- CTA banda ---------- */
.cta-band{text-align:center;background:
  radial-gradient(600px 300px at 50% 0%,rgba(178,75,243,.35),transparent 70%),
  linear-gradient(160deg,var(--plum-2),var(--night));
  border:1px solid var(--line-gold);border-radius:var(--radius);padding:clamp(2.4rem,6vw,4rem) 1.5rem;box-shadow:var(--shadow-lg)}
.cta-band h2{font-size:clamp(1.7rem,4vw,2.6rem)}

/* ---------- Prosa (páginas de texto largo) ---------- */
.prose{max-width:74ch;margin-inline:auto}
.prose h2{font-size:1.7rem;margin-top:1.8em}
.prose h3{font-size:1.3rem;margin-top:1.4em}
.prose img{border-radius:var(--radius);border:1px solid var(--line-gold);margin:1.6em 0}
.arcana-list{columns:2;column-gap:2rem}
.arcana-list li{break-inside:avoid}
@media(max-width:640px){.arcana-list{columns:1}}

/* ---------- Footer ---------- */
.site-footer{background:linear-gradient(180deg,var(--night),#070310);border-top:1px solid var(--line-gold);
  padding-block:3.2rem 2rem;margin-top:2rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem}
.footer-grid h4{font-size:1rem;color:var(--gold-bright);letter-spacing:.04em}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:.4em 0}
.footer-grid a{color:var(--cream-dim);font-size:.92rem}
.footer-grid a:hover{color:var(--gold-bright)}
.footer-brand img{height:54px;margin-bottom:.8rem}
.footer-brand p{color:var(--cream-dim);font-size:.9rem;max-width:34ch}
.social-row{display:flex;gap:.6rem;margin-top:.9rem}
.social-row a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-gold);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.social-row a:hover{border-color:var(--gold);background:rgba(217,180,90,.1)}
.footer-bottom{border-top:1px solid var(--line-gold);margin-top:2.4rem;padding-top:1.4rem;
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;font-size:.82rem;color:var(--cream-dim)}
.footer-bottom a{color:var(--cream-dim)}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:.6em;
  background:linear-gradient(135deg,#25d366,#128c4a);color:#fff;font-weight:600;font-family:var(--ff-body);
  padding:.8em 1.15em;border-radius:999px;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:transform .2s,box-shadow .2s}
.wa-float:hover{transform:translateY(-3px) scale(1.03);color:#fff;box-shadow:0 16px 38px -8px rgba(37,211,102,.75)}
.wa-float .wa-ico{font-size:1.3rem;line-height:1}
.wa-float .wa-txt{font-size:.9rem}
@media(max-width:520px){.wa-float .wa-txt{display:none}.wa-float{padding:.95em}}

/* ---------- Animaciones de entrada ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- Utilidades ---------- */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-2{margin-top:1.4rem}.mt-3{margin-top:2rem}
.text-gold{color:var(--gold-bright)}
.maxw-prose{max-width:66ch}
.center-block{margin-inline:auto}
