/* =============================================================
   Presstour Peregrinaciones — Sistema de diseño
   Navy corporativo + dorado + crema · Lora + Source Sans 3
   ============================================================= */

:root{
  --ink:#001b3c;          /* navy corporativo oficial */
  --ink-deep:#00132b;     /* navy profundo */
  --ink-70:rgba(0,27,60,.7);
  --gold:#c1932f;         /* dorado acento */
  --gold-strong:#a97c1e;
  --gold-ink:#8f6218;     /* dorado oscuro para texto pequeño sobre crema (AA 4.5:1) */
  --gold-soft:#e3c67e;
  --sky:#2c9cd6;          /* azul del logo */
  --green:#4aa63f;        /* verde del logo */
  --orange:#ef8a1c;       /* naranja del logo */
  --paper:#faf7f1;        /* crema fondo */
  --paper-2:#f2ece0;      /* crema alt */
  --card:#ffffff;
  --text:#26303a;
  --muted:#556069;
  --line:#e7ded0;
  --shadow:0 2px 6px rgba(58,40,16,.08),0 18px 40px -14px rgba(58,40,16,.22);
  --shadow-sm:0 1px 2px rgba(58,40,16,.06),0 8px 20px -12px rgba(58,40,16,.14);
  --halo-gold:rgba(193,147,47,.30);
  --radius:16px;
  --radius-sm:10px;
  --wrap:1200px;
  --font-serif:"Lora",Georgia,"Times New Roman",serif;
  --font-sans:"Source Sans 3",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --font-script:"Sacramento",cursive;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font-sans);color:var(--text);
  background-color:var(--paper);
  background-image:radial-gradient(120% 60% at 50% -8%,rgba(227,198,126,.16),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  background-repeat:no-repeat,repeat;background-size:100% auto,160px 160px;background-attachment:fixed,fixed;
  line-height:1.65;font-size:18px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-serif);color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.5rem)}
p{margin:0 0 1.1em}
a{color:var(--ink);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-strong)}
img{max-width:100%;display:block}
ul{margin:0 0 1.1em;padding-left:1.1em}
li{margin:.25em 0}
strong{color:var(--ink)}

/* ---------- Layout helpers ---------- */
.wrap{width:min(var(--wrap),92%);margin-inline:auto}
.section{padding:clamp(3.5rem,7vw,6.5rem) 0}
.section--tight{padding:clamp(2.5rem,5vw,4rem) 0}
.section--paper2{background-color:var(--paper-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  background-repeat:repeat;background-size:160px 160px}
.section--ink{background:var(--ink);color:#e9eef4}
.section--ink h1,.section--ink h2,.section--ink h3{color:#fff}
.center{text-align:center}
.lead{font-size:1.16rem;color:var(--muted);max-width:62ch}
.center .lead{margin-inline:auto}

.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-sans);font-weight:600;font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);
  margin-bottom:1rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block}
.center .eyebrow::before{display:none}
.section-head{max-width:64ch}
.center.section-head{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-sans);font-weight:600;font-size:.98rem;
  padding:.85rem 1.6rem;border-radius:999px;border:2px solid transparent;
  cursor:pointer;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,background .28s ease,color .28s ease;
  line-height:1;text-align:center;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--gold{background:var(--gold);color:var(--ink);font-weight:700;box-shadow:0 10px 24px -12px rgba(193,147,47,.9)}
.btn--gold:hover{background:var(--gold-strong);color:var(--ink)}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--ink-deep);color:#fff}
.btn--ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--gold);color:#fff}
.btn--outline-light{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--ink)}
.btn--sm{padding:.6rem 1.15rem;font-size:.9rem}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;background:rgba(250,247,241,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.topbar{background:var(--ink);color:#d7e0ea;font-size:.82rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;flex-wrap:wrap}
.topbar a{color:#d7e0ea}
.topbar a:hover{color:var(--gold-soft)}
.topbar .tb-group{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap}
.topbar .tb-item{display:inline-flex;align-items:center;gap:.4rem}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:.85rem;list-style:none;margin:0;padding:0}
.nav-links a{font-weight:600;font-size:.9rem;color:var(--ink);position:relative;padding:.2rem 0;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--gold);transition:width .25s}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:.7rem}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem;color:var(--ink)}
.nav-toggle svg{width:28px;height:28px}

@media(max-width:1200px){
  .nav-links,.nav-cta .btn--ghost{display:none}
  .nav-toggle{display:inline-flex}
  .mobile-nav{position:fixed;inset:0 0 0 auto;width:min(340px,86%);background:var(--paper);
    box-shadow:-20px 0 60px -30px rgba(0,0,0,.6);transform:translateX(100%);
    transition:transform .3s ease;z-index:80;padding:1.5rem;display:flex;flex-direction:column;gap:.3rem;overflow-y:auto}
  .mobile-nav.open{transform:translateX(0)}
  .mobile-nav a{padding:.85rem .4rem;border-bottom:1px solid var(--line);font-weight:600}
  .mobile-nav .btn{margin-top:1rem}
  .nav-backdrop{position:fixed;inset:0;background:rgba(6,21,36,.5);opacity:0;visibility:hidden;transition:.3s;z-index:70}
  .nav-backdrop.open{opacity:1;visibility:visible}
}
.mobile-nav{display:none}
@media(max-width:1200px){.mobile-nav{display:flex}}
.mobile-nav .mn-close{align-self:flex-end;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ink)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:clamp(560px,80vh,760px);display:flex;align-items:center;
  color:#fff;overflow:hidden;background:var(--ink)}
.hero__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;z-index:0;
  transform-origin:50% 50%;will-change:transform;animation:heroZoom 24s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero__img{z-index:0}
.hero__video{z-index:0}
@media (prefers-reduced-motion:reduce){.hero__video{display:none}}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 85% at 18% 100%,var(--halo-gold),transparent 60%),
    linear-gradient(105deg,rgba(6,21,36,.62) 0%,rgba(6,21,36,.46) 45%,rgba(6,21,36,.34) 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(90% 70% at 14% 108%,rgba(227,198,126,.32),transparent 62%);
  animation:candleBeat 7s ease-in-out infinite}
.hero h1,.hero .lead{text-shadow:0 1px 2px rgba(0,19,43,.35),0 2px 14px rgba(0,19,43,.26)}
.hero .wrap{position:relative;z-index:2;padding-block:4rem}
.hero h1{color:#fff;max-width:16ch}
.hero .lead{color:#e7edf3;max-width:52ch;font-size:1.2rem}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}
.hero__trust{display:flex;gap:1.8rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.18)}
.hero__trust div{font-size:.9rem;color:#cdd8e3}
.hero__trust b{display:block;font-family:var(--font-serif);font-size:1.5rem;color:var(--gold-soft)}

/* page hero (interior) */
.page-hero{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,21,36,.55),rgba(6,21,36,.8))}
.page-hero .wrap{position:relative;z-index:2;padding:clamp(3rem,7vw,5.5rem) 0}
.page-hero h1{color:#fff}
.page-hero p{color:#dfe7ef;max-width:60ch;margin-bottom:0}
.breadcrumb{font-size:.85rem;color:#c7d2dd;margin-bottom:1rem}
.breadcrumb a{color:#c7d2dd}.breadcrumb a:hover{color:var(--gold-soft)}

/* ---------- Cards / grids ---------- */
.grid{display:grid;gap:1.6rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* Trip card */
.trip{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;border:1px solid var(--line);
  transition:transform .34s cubic-bezier(.22,.61,.36,1),box-shadow .34s ease,border-color .34s ease}
.trip:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold-soft)}
.trip__media{position:relative;aspect-ratio:16/10;overflow:hidden}
.trip__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.trip:hover .trip__media img{transform:scale(1.05)}
.trip__tag{position:absolute;top:.9rem;left:.9rem;background:rgba(6,21,36,.85);color:#fff;
  font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px}
.trip__days{position:absolute;top:.9rem;right:.9rem;background:var(--gold);color:var(--ink);
  font-size:.75rem;font-weight:700;padding:.35rem .7rem;border-radius:999px}
.trip__body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.trip__body h3{margin-bottom:.35rem}
.trip__dates{font-size:.86rem;color:var(--muted);display:flex;align-items:center;gap:.4rem;margin-bottom:.9rem}
.trip__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding-top:1rem;border-top:1px solid var(--line)}
.trip__price small{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.trip__price b{font-family:var(--font-serif);font-size:1.5rem;color:var(--ink)}

/* Destination card */
.dest{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;display:block;box-shadow:var(--shadow-sm)}
.dest img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.dest:hover img{transform:scale(1.06)}
.dest::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,21,36,0) 35%,rgba(6,21,36,.85) 100%)}
.dest__label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.2rem;color:#fff}
.dest__label h3{color:#fff;margin:0;font-size:1.25rem}
.dest__label span{font-size:.82rem;color:var(--gold-soft);font-weight:600}

/* Feature / value item */
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;box-shadow:var(--shadow-sm);
  transition:transform .34s cubic-bezier(.22,.61,.36,1),box-shadow .34s ease,border-color .34s ease}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-soft)}
.feature__icon{width:58px;height:58px;border-radius:50%;
  background:radial-gradient(circle at 42% 34%,#f4dc98,#c1932f 80%);
  color:var(--ink);display:inline-flex;align-items:center;justify-content:center;
  position:relative;line-height:0;margin:0 0 1.15rem;
  box-shadow:0 8px 18px -6px rgba(193,147,47,.5),0 0 0 6px rgba(193,147,47,.10)}
.feature__icon::before{display:none}
.feature__icon svg{width:29px;height:29px;stroke-width:1.9;color:var(--ink);vector-effect:non-scaling-stroke}
.feature h3{font-size:1.2rem;margin-bottom:.4rem}
.feature p{margin:0;color:var(--muted);font-size:.96rem}

/* Stat */
.stat{text-align:center}
.stat b{display:block;font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.9rem);color:var(--gold-strong)}
.section--ink .stat b{color:var(--gold-soft)}
.stat span{font-size:.9rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.section--ink .stat span{color:#c3d0dc}

/* Sellos de confianza (chips) */
.seals{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.seal{display:inline-flex;align-items:center;gap:.65rem;padding:.7rem 1.2rem;border:1px solid var(--line);
  border-radius:999px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease}
.seal:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.seal__ic{display:grid;place-items:center;color:var(--gold-strong);flex:none}
.seal__ic svg{width:20px;height:20px}
.seal__t{font-size:.94rem;color:var(--muted);line-height:1.25}
.seal__t b{color:var(--ink);font-weight:700;font-family:var(--font-serif)}

/* Split media */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.split--rev .split__media{order:2}
@media(max-width:860px){.split{grid-template-columns:1fr}.split--rev .split__media{order:0}}
.split__media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:auto}
.split__media{position:relative}
.split__badge{position:absolute;bottom:-18px;right:-10px;background:var(--gold);color:#fff;
  padding:1rem 1.3rem;border-radius:14px;font-family:var(--font-serif);font-size:1.05rem;box-shadow:var(--shadow);max-width:60%}
@media(max-width:520px){.split__badge{position:static;margin-top:1rem;max-width:100%}}

/* Itinerary timeline */
.timeline{position:relative;margin:2rem 0 0;padding-left:0;list-style:none}
.day{position:relative;padding:0 0 1.6rem 3.4rem;border-left:2px dashed rgba(0,27,60,.28);margin-left:1rem}
.day:last-child{border-color:transparent}
.day__num{position:absolute;left:-1.05rem;top:0;width:2.1rem;height:2.1rem;border-radius:50%;
  background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.8rem;font-family:var(--font-sans)}
.day h4{font-family:var(--font-serif);color:var(--ink);font-size:1.1rem;margin:.1rem 0 .4rem}
.day p{margin:0;color:var(--muted);font-size:.96rem}

/* Include / not include */
.incl{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
@media(max-width:720px){.incl{grid-template-columns:1fr}}
.incl__box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.incl__box h3{display:flex;align-items:center;gap:.6rem;font-size:1.15rem}
.incl__box ul{list-style:none;padding:0;margin:0}
.incl__box li{position:relative;padding-left:1.7rem;margin:.55rem 0;font-size:.95rem;color:var(--text)}
.incl--yes li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.incl--no li::before{content:"✕";position:absolute;left:0;color:#c0505a;font-weight:700}

/* Info box / pricing aside */
.book-card{background:var(--ink);color:#fff;border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow);position:sticky;top:110px}
.book-card h3{color:#fff}
.book-card .price{font-family:var(--font-serif);font-size:2.4rem;color:var(--gold-soft);line-height:1}
.book-card .price small{display:block;font-family:var(--font-sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#b9c6d3;margin-bottom:.3rem}
.book-card ul{list-style:none;padding:0;margin:1.2rem 0}
.book-card li{display:flex;gap:.6rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem;color:#dbe4ec}
.book-card li b{color:#fff;margin-left:auto;text-align:right}
.book-card .btn{width:100%;margin-top:.4rem}

.trip-layout{display:grid;grid-template-columns:1fr 360px;gap:2.5rem;align-items:start}
@media(max-width:920px){.trip-layout{grid-template-columns:1fr}.book-card{position:static}}

/* Quote / testimonial */
.quote{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm)}
.quote p{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);font-style:italic}
.quote footer{font-size:.9rem;color:var(--muted);font-style:normal}
.quote .stars{color:var(--gold-strong);letter-spacing:2px;margin-bottom:.6rem}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--ink),#123a63);color:#fff;border-radius:var(--radius);
  padding:clamp(2.2rem,5vw,3.4rem);text-align:center;box-shadow:var(--shadow)}
.cta-band h2{color:#fff}
.cta-band p{color:#dbe4ec;max-width:58ch;margin-inline:auto}
.cta-band .btn{margin:.4rem}

/* Forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{
  font-family:var(--font-sans);font-size:1rem;padding:.8rem .9rem;border:1px solid var(--line);
  width:100%;min-width:0;max-width:100%;box-sizing:border-box;
  border-radius:var(--radius-sm);background:#fff;color:var(--text);transition:border .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(193,147,47,.18)}
.field textarea{resize:vertical;min-height:130px}
.form-note{font-size:.8rem;color:var(--muted)}

/* Prose (legal) */
.prose{max-width:78ch}
.prose h2{margin-top:2rem}
.prose h3{margin-top:1.4rem}
.prose ul{padding-left:1.2rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-deep);color:#b9c6d3;padding:3.5rem 0 1.5rem;font-size:.92rem}
.site-footer a{color:#c8d3de}
.site-footer a:hover{color:var(--gold-soft)}
.footer-grid{display:grid;grid-template-columns:1.7fr .9fr .9fr .9fr 1.1fr;gap:2rem}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{color:#fff;font-family:var(--font-sans);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:.5rem 0}
.footer-brand img{height:56px;margin-bottom:1rem}
.footer-contact div{display:flex;gap:.6rem;margin:.6rem 0;align-items:flex-start}
.footer-contact svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--gold-soft)}
.footer-badges{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.footer-badges span{font-size:.72rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.3rem .7rem;color:#c8d3de}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.3rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:#8ea0b1}
.footer-bottom a{color:#8ea0b1}

/* WhatsApp float */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:90;width:56px;height:56px;border-radius:50%;
  background:var(--ink);display:grid;place-items:center;transition:transform .2s;
  box-shadow:0 10px 26px -10px rgba(0,19,43,.7),inset 0 0 0 1.5px rgba(193,147,47,.55)}
.wa-float:hover{transform:scale(1.08)}
@media (max-width:560px){body:has(.cookie.show) .wa-float{bottom:184px}}
.cal-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.cal-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:640px}
.cal-table th{background:var(--ink);color:#fff;text-align:left;padding:.8rem 1rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.cal-table td{padding:.85rem 1rem;border-top:1px solid var(--line);vertical-align:middle;color:var(--text)}
.cal-table tbody tr:hover{background:var(--paper-2)}
.cal-table a{color:var(--ink);font-weight:600}
.cal-cta .btn--ink{color:#fff}
.cal-sub{color:var(--muted);font-size:.85rem}
.cal-date{font-weight:600;color:var(--ink)}
.cal-ondemand{display:inline-block;font-size:.8rem;color:var(--gold-ink);background:rgba(193,147,47,.12);padding:.2rem .6rem;border-radius:999px}
.cal-cta{text-align:right;white-space:nowrap}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* Cookie banner */
.cookie{position:fixed;left:18px;right:18px;bottom:18px;max-width:520px;margin-inline:auto;z-index:95;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:1.2rem 1.3rem;font-size:.88rem;display:none}
.cookie.show{display:block}
.cookie p{margin:0 0 .8rem;color:var(--muted)}
.cookie .row{display:flex;gap:.6rem;flex-wrap:wrap}

/* Reveal on scroll.
   El revelado se resuelve con una animación de entrada (no con transition),
   de modo que la propiedad transition de las tarjetas queda libre para el
   hover: así el hover conserva su timing propio (.34s) y no hereda ni el
   retardo del stagger ni la duración .7s del revelado. */
.reveal{opacity:0;transform:translateY(24px)}
.reveal.in{opacity:1;transform:none;
  animation:revealIn .7s cubic-bezier(.22,.61,.36,1) backwards}
@keyframes revealIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* Revelado escalonado (stagger) por posición dentro de las rejillas.
   Los elementos de una misma fila entran casi a la vez; el ligero retardo
   incremental aporta cadencia sin recargar. Al vivir en animation-delay,
   este retardo NO afecta al hover de las tarjetas. */
.grid>.reveal:nth-child(2){animation-delay:.08s}
.grid>.reveal:nth-child(3){animation-delay:.16s}
.grid>.reveal:nth-child(4){animation-delay:.24s}
.grid>.reveal:nth-child(5){animation-delay:.32s}
.grid>.reveal:nth-child(6){animation-delay:.40s}
.grid>.reveal:nth-child(7){animation-delay:.48s}
.grid>.reveal:nth-child(8){animation-delay:.56s}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
  .reveal.in{animation:none}
  .grid>.reveal{animation-delay:0s}
  .hero__bg{animation:none}
  html{scroll-behavior:auto}
  .trip,.dest img,.trip__media img,.btn,.seal,.feature{transition:none}}

/* Utilities */
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-0{margin-bottom:0}
.tag-list{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:1rem 0 0}
.tag-list li{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;font-size:.82rem;color:var(--ink);margin:0}
/* Puntos destacados de la ficha de viaje */
.trip-highlights{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.trip-highlights li{margin:0;background:var(--card);padding:1.1rem 1.25rem;display:flex;gap:.85rem;align-items:flex-start}
.trip-highlights .th__ic{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;
  color:var(--gold);background:var(--paper-2);border:1px solid var(--line)}
.trip-highlights .th__ic svg{width:20px;height:20px}
.trip-highlights .th__body{display:flex;flex-direction:column;min-width:0}
.trip-highlights .th__lbl{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}
.trip-highlights .th__val{font-weight:600;color:var(--ink);font-size:.96rem;line-height:1.3}
@media(max-width:720px){.trip-highlights{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.trip-highlights{grid-template-columns:1fr}}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:200}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ---------- Correcciones de refinamiento ---------- */
/* Tamaño por defecto de iconos SVG en línea (los componentes con tamaño propio lo sobreescriben) */
svg{width:1.15em;height:1.15em;flex:none;vertical-align:-.16em}
.topbar svg{width:15px;height:15px}
.tb-item{white-space:nowrap}
.tag-list li svg,.trip__dates svg{width:15px;height:15px}
.btn svg{width:1.05em;height:1.05em}
.incl__box h3 svg{width:1.1em;height:1.1em}
.feature__icon svg{width:26px;height:26px}
.wa-float svg{width:30px;height:30px}
.nav-toggle svg{width:28px;height:28px}
.footer-contact svg{width:18px;height:18px}
.day__num{flex:none}
/* Etiquetas de tarjetas de destino más legibles */
.dest::after{background:linear-gradient(180deg,rgba(6,21,36,0) 28%,rgba(6,21,36,.92) 100%)}
.dest__label{padding:1.3rem 1.2rem 1.15rem}
.dest__label span{display:block;margin-bottom:.15rem;text-shadow:0 1px 4px rgba(0,0,0,.55)}
.dest__label h3{text-shadow:0 2px 6px rgba(0,0,0,.6)}

/* ---------- FAQ (acordeón nativo) ---------- */
.faq{max-width:840px;margin-inline:auto;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-item summary{cursor:pointer;list-style:none;padding:1.05rem 1.3rem;font-weight:600;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.02rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.5rem;color:var(--gold-strong);transition:transform .2s;line-height:1;flex:none}
.faq-item[open] summary::after{content:"\2013"}
.faq-item summary:hover{color:var(--gold-strong)}
.faq-a{padding:0 1.3rem 1.15rem;color:var(--muted);font-size:.97rem}
.faq-a p{margin:0}

/* =====================================================================
   MODERNIZACIÓN v2 — imagen más actual, cálida y muy legible
   (público adulto/mayor y religioso: elegante, con buen contraste)
   ===================================================================== */
body{font-size:18px;line-height:1.72}
h1{letter-spacing:-.015em}
h2{letter-spacing:-.006em;line-height:1.12}
.lead{font-size:1.2rem;line-height:1.7}

/* Subrayado dorado (motivo de marca) automático bajo títulos de sección */
.section-head h2::after,.split h2.acc::after{content:"";display:block;
  width:130px;height:14px;margin:.7rem 0 0;
  background:url("../svg/underline-accent.svg") no-repeat left center/contain}
.center.section-head h2::after{margin-inline:auto;background-position:center}

/* Separador dorado sobrio: línea fina con rombo central (CSS puro) */
/* Separador = motivo "El Camino hacia la luz" (firma de marca) */
.divider{border:0;height:56px;width:min(640px,86%);margin:0 auto;
  background:url("../svg/camino-divider.svg") no-repeat center/contain}
.divider-wrap{padding:1.4rem 0}

/* ---- HERO más cinematográfico ---- */
.hero{min-height:clamp(620px,90vh,840px)}
.hero::after{background:
  radial-gradient(120% 90% at 15% 30%,rgba(6,21,36,.9),rgba(6,21,36,.55) 55%,rgba(8,32,56,.25) 100%),
  linear-gradient(180deg,rgba(6,21,36,.35),rgba(6,21,36,.55))}
.hero .wrap{padding-block:5rem}
.hero__kicker{display:inline-flex;align-items:center;gap:.6rem;color:var(--gold-soft);
  font-family:var(--font-serif);font-style:italic;font-size:1.25rem;margin-bottom:.6rem}
.hero__kicker::before{content:"";width:34px;height:1px;background:var(--gold-soft);opacity:.8}
.hero h1{font-size:clamp(2.7rem,6.4vw,4.7rem);max-width:15ch;line-height:1.04;margin-bottom:.6rem}
.hero .lead{font-size:clamp(1.15rem,1.7vw,1.35rem);max-width:56ch;color:#eef3f8}
.hero__cta{margin-top:2.2rem}
.hero__cta .btn{padding:1rem 1.8rem;font-size:1.02rem}
/* chips de confianza */
.hero__trust{gap:.7rem;border-top:0;padding-top:2.2rem;flex-wrap:wrap}
.hero__trust div{display:flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.18);padding:.6rem 1rem;border-radius:999px;
  font-size:.9rem;color:#eaf1f8;backdrop-filter:blur(4px)}
.hero__trust b{display:inline;font-family:var(--font-sans);font-size:.9rem;color:#fff;font-weight:700}
.hero__trust div::before{content:"";width:8px;height:8px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 3px rgba(193,147,47,.25);flex:none}

/* ---- Banda MANIFIESTO ---- */
.manifesto{position:relative;background:linear-gradient(135deg,#0b2540,#0f3358);color:#fff;overflow:hidden}
.manifesto::before{content:"";position:absolute;inset:0;
  background:url("../svg/path-motif.svg") no-repeat center/cover;opacity:.5}
.manifesto .wrap{position:relative;max-width:960px;text-align:center;padding-block:clamp(3rem,6vw,5rem)}
.manifesto .eyebrow{color:var(--gold-soft);justify-content:center}
.manifesto .eyebrow::before{display:none}
.manifesto p{font-family:var(--font-serif);font-style:italic;color:#fff;
  font-size:clamp(1.3rem,2.5vw,1.85rem);line-height:1.5;margin:0}

/* ---- Tarjetas de viaje más modernas ---- */
.trip{border-radius:20px}
.trip__media{aspect-ratio:3/2}
.trip__body{padding:1.5rem 1.5rem 1.6rem}
.trip__price b{font-size:1.65rem}
.trip__days{background:var(--gold);font-weight:700}

/* ---- Destinos: foto limpia + etiqueta elegante ---- */
.dest{border-radius:20px;aspect-ratio:5/4}
.dest::after{background:linear-gradient(180deg,rgba(6,21,36,0) 40%,rgba(6,21,36,.55) 70%,rgba(6,21,36,.9) 100%)}
.dest__label{padding:1.4rem}
.dest__label h3{font-size:1.4rem}
.dest__label span{color:var(--gold-soft);letter-spacing:.04em;font-size:.8rem;text-transform:uppercase}
.dest__cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;
  font-size:.82rem;font-weight:600;color:#fff;opacity:.9}
.dest__cta::after{content:"→";transition:transform .2s}
.dest:hover .dest__cta::after{transform:translateX(4px)}

/* ---- Tarjetas de valor más limpias ---- */
.feature{border-radius:18px;padding:1.9rem}
.feature__icon{border-radius:50%;background:radial-gradient(circle at 42% 34%,#f4dc98,#c1932f 80%)}
.section--ink .feature{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.section--ink .feature h3{color:#fff}
.section--ink .feature p{color:#c3d2df}

/* ---- Testimonios con comilla de marca ---- */
.quote{border-radius:18px;padding:2.2rem 2rem;position:relative}
.quote::before{content:"";position:absolute;top:1.1rem;right:1.3rem;width:46px;height:46px;
  background:url("../svg/quote-mark.svg") no-repeat center/contain;opacity:.85}
.quote--nomark::before{content:none}
.quote p{font-size:1.12rem;line-height:1.6}
.quote .stars{font-size:1.05rem;letter-spacing:3px}

/* ---- CTA band más presente ---- */
.cta-band{border-radius:22px;background:linear-gradient(135deg,#0b2540 0%,#123a63 100%);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold-soft) 20%,var(--gold) 50%,var(--gold-soft) 80%,transparent);
  opacity:.75}
.cta-band h2{font-size:clamp(1.7rem,3vw,2.4rem)}

/* Botones un punto más generosos (accesibilidad tap) */
.btn{padding:.92rem 1.7rem}
.btn--sm{padding:.62rem 1.2rem}

/* Foco y legibilidad reforzada (el color de p/li se hereda: en secciones oscuras
   toma el color claro de la sección; no se fuerza --text para no romper el pie) */
.footer-brand p{color:#c4d0dc}
.section--paper2{background:#f4eee2}

/* ---------- Arreglo cabecera en MÓVIL ---------- */
@media(max-width:760px){
  /* La barra superior apilaba teléfono/email/dirección/ISO y ocupaba media pantalla:
     se oculta en móvil (los datos están en el menú y en el pie). */
  .topbar{display:none}
  /* El botón dorado competía con la hamburguesa; la acción ya está dentro del menú. */
  .nav-cta .btn--gold{display:none}
  .nav{padding:.5rem 0}
  .brand img{height:40px}
  .nav-toggle{padding:.3rem}
}
/* En pantallas muy pequeñas, compactar aún más el logo */
@media(max-width:380px){ .brand img{height:36px} }

/* =====================================================================
   DIRECCIÓN DE ARTE FOTOGRÁFICA — grado de color común y foto con más
   presencia (solo CSS, sin reprocesar imágenes). Público adulto/religioso:
   tono cálido, sobrio y muy legible; nada estridente.
   ===================================================================== */

/* Grado de color unificado (cálido y cinematográfico, muy contenido) */
.hero__bg,
.page-hero__bg,
/* Grado de color "La Luz": cálido y luminoso, coherente en toda la web */
.hero__bg,.page-hero__bg,
.trip__media img,
.dest img,
.split__media img{
  filter:saturate(.98) contrast(1.03) brightness(1.05) sepia(.09);
}

/* Héroes interiores: foto con más presencia + overlay DIRECCIONAL
   (más oscuro abajo/izquierda, más claro arriba/derecha) manteniendo
   la legibilidad del texto blanco. */
.page-hero__bg{opacity:.6}
.page-hero::after{
  background:
    linear-gradient(to top right,
      rgba(6,21,36,.80) 0%,
      rgba(6,21,36,.50) 50%,
      rgba(6,21,36,.24) 100%),
    linear-gradient(180deg,
      rgba(6,21,36,0) 42%,
      rgba(6,21,36,.42) 100%);
}

/* Scrim reforzado en tarjetas de destino: el texto sobre foto siempre
   con contraste suficiente. */
.dest::after{
  background:linear-gradient(180deg,
    rgba(6,21,36,0) 28%,
    rgba(6,21,36,.34) 54%,
    rgba(6,21,36,.72) 78%,
    rgba(6,21,36,.94) 100%);
}

/* <picture> como wrapper transparente (no altera el layout) */
picture{display:contents}

/* ===== Territorio "El Camino + La Luz" — remates ===== */
/* Hitos del itinerario con halo de luz dorada */
.day__num{box-shadow:0 0 0 4px rgba(193,147,47,.16)}
/* Luz cálida sutil en el hero principal (arriba-derecha), sin perder legibilidad;
   overlay direccional con el navy oficial */
.hero::after{background:
  radial-gradient(55% 45% at 82% 12%, rgba(227,198,126,.16), transparent 62%),
  linear-gradient(105deg, rgba(0,27,60,.86) 0%, rgba(0,27,60,.60) 45%, rgba(0,27,60,.24) 100%)}

/* ============ ALMA: calor, luz, oro y reverencia ============ */
.page-hero{position:relative;overflow:hidden}
.page-hero .wrap{position:relative;z-index:2}
.page-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(110% 70% at 20% 100%,rgba(193,147,47,.22),transparent 58%),
    linear-gradient(0deg,rgba(0,19,43,.5),rgba(0,19,43,.12) 60%)}
.page-hero h1,.page-hero .lead,.page-hero p{text-shadow:0 1px 3px rgba(0,19,43,.5)}
.page-hero .breadcrumb,.page-hero .breadcrumb a{text-shadow:0 1px 3px rgba(0,19,43,.5)}
@media(max-width:600px){.dest{aspect-ratio:4/3}}

@keyframes candleBeat{0%,100%{opacity:.88}50%{opacity:1}}

::selection{background:rgba(193,147,47,.22);color:var(--ink-deep)}
:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px;border-radius:4px;
  box-shadow:0 0 0 4px rgba(193,147,47,.22)}

/* Oro noble: filete superior y halo en cifras/precio */
.feature--lead{border-top:3px solid var(--gold);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}
.book-card{border-top:3px solid var(--gold);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);background-clip:padding-box}
.stat b,.book-card .price{text-shadow:0 0 18px rgba(227,198,126,.30),0 1px 1px rgba(0,0,0,.22)}

/* Friso de garantías sobrio (menos pastilla-fintech) */
.seals--friso{gap:0;flex-wrap:wrap;align-items:center;justify-content:center}
.seals--friso .seal{background:none;box-shadow:none;border:0;border-radius:0;padding:.4rem 1.35rem;
  font-size:.82rem;letter-spacing:.1em;color:var(--gold-ink);position:relative}
.seals--friso .seal b{color:var(--ink)}
.seals--friso .seal+.seal::before{content:"";position:absolute;left:0;top:50%;height:1.1em;width:1px;
  transform:translateY(-50%);background:var(--gold-soft);opacity:.85}
.seals--friso .seal__ic{color:var(--gold-strong);margin-right:.5rem}

@media (prefers-reduced-motion:reduce){.hero::before{animation:none;opacity:.94}}

/* Banda de las velas: encender la procesión (más luz, menos velo) */
.lumen-band .page-hero__bg{opacity:.94;filter:brightness(1.08) saturate(1.06) contrast(1.02)}
.lumen-band::after{background:
  radial-gradient(100% 80% at 50% 100%,rgba(227,198,126,.16),transparent 58%),
  linear-gradient(0deg,rgba(6,21,36,.5),rgba(6,21,36,.32) 55%)}

/* Prepara tu corazón: lista del equipaje del alma */
.soul-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.soul-list li{position:relative;padding-left:1.7rem;color:var(--text)}
.soul-list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#e3c67e,#c1932f);box-shadow:0 0 0 4px rgba(193,147,47,.14)}
.soul-list li strong{color:var(--ink)}

/* ===== Blog / artículos ===== */
.article{max-width:70ch;margin-inline:auto}
.article .lead{font-size:clamp(1.12rem,2vw,1.28rem);color:var(--ink);margin:0 0 1.6rem}
.article h2{font-family:var(--font-serif);color:var(--ink);font-size:clamp(1.35rem,2.6vw,1.7rem);
  line-height:1.25;margin:2.2rem 0 .7rem}
.article h2:first-of-type{margin-top:1rem}
.article p{color:var(--text);line-height:1.8;margin:0 0 1.1rem;font-size:1.03rem}
.article p:last-child{margin-bottom:0}
.post-meta{margin:.4rem 0 0}

/* ===================================================================
   BLOG EN PENUMBRA — "capilla de lectura"  (todo scopeado a body.chapel;
   el resto del sitio no se ve afectado)
   =================================================================== */
.brand-neg{display:none}
body.chapel{
  background-color:#0b1424;
  background-image:
    radial-gradient(85% 55% at 50% -8%, rgba(227,198,126,.18), transparent 62%),
    radial-gradient(120% 90% at 50% 118%, rgba(193,147,47,.12), transparent 58%);
  background-attachment:fixed,fixed;
  color:#c7cfda;
}
/* Masthead oscuro + logo negativo */
body.chapel .site-header{background:rgba(8,14,24,.92);border-bottom-color:rgba(227,198,126,.16)}
body.chapel .nav-links a{color:#e7e0d2}
body.chapel .nav-links a:hover{color:var(--gold-soft)}
body.chapel .brand-pos{display:none}
body.chapel .brand-neg{display:block}
body.chapel h1,body.chapel h2,body.chapel h3,body.chapel h4{color:#f2ebdc}
/* Hero en penumbra */
body.chapel .page-hero{background:#070d18}
body.chapel .page-hero__bg{opacity:.32}
body.chapel .page-hero::after{
  background:linear-gradient(0deg,rgba(5,9,18,.9),rgba(5,9,18,.55) 52%,rgba(5,9,18,.66) 100%);
}
body.chapel .page-hero .eyebrow{color:var(--gold-soft)}
body.chapel .breadcrumb,body.chapel .breadcrumb a{color:#c9d1db}
/* Secciones claras -> transparentes sobre la penumbra */
body.chapel .section--paper2{background:transparent;background-image:none}
/* ---- Lectura devocional del artículo ---- */
body.chapel .article{max-width:64ch}
body.chapel .article .lead{
  color:#e9e2d4;font-family:var(--font-serif);font-style:italic;
  font-size:clamp(1.18rem,2.2vw,1.5rem);line-height:1.6;margin-bottom:2rem;
  padding-bottom:1.6rem;border-bottom:1px solid rgba(227,198,126,.18);
}
body.chapel .article h2{color:var(--gold-soft);margin-top:2.7rem;font-size:clamp(1.35rem,2.6vw,1.8rem)}
body.chapel .article p{color:#c7cfda;line-height:2.02;font-size:1.06rem;margin-bottom:1.25rem}
/* Letra capital en el primer párrafo tras el primer subtítulo */
body.chapel .article h2:first-of-type + p::first-letter{
  float:left;font-family:var(--font-serif);font-weight:600;
  font-size:3.6em;line-height:.78;margin:.02em .1em 0 0;color:var(--gold);
}
/* Pausa devocional */
.pausa{max-width:64ch;margin:2.8rem auto 0;text-align:center}
.pausa__flame{display:inline-block;width:8px;height:8px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#f4dc9b,#c1932f);
  box-shadow:0 0 14px 3px rgba(227,198,126,.5);margin-bottom:.9rem}
.pausa em{display:block;font-family:var(--font-serif);font-style:italic;
  color:var(--gold-soft);letter-spacing:.06em;font-size:1.05rem;opacity:.9}
body.chapel .pausa{color:var(--gold-soft)}
/* ---- Índice "sala de lectura" ---- */
.chapel-lead{max-width:60ch;margin:0 auto 2.5rem;text-align:center;color:#b9c2ce;font-size:1.1rem;line-height:1.7}
.chapel-index{max-width:760px;margin-inline:auto;display:flex;flex-direction:column}
.post-row{display:block;padding:1.9rem 0 1.7rem;border-bottom:1px solid rgba(227,198,126,.15);
  transition:padding-left .3s cubic-bezier(.22,.61,.36,1),border-color .3s}
.post-row:first-child{border-top:1px solid rgba(227,198,126,.15)}
.post-row__kicker{display:block;font-family:var(--font-sans);font-weight:600;font-size:.72rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.55rem}
.post-row__title{font-family:var(--font-serif);color:#f2ebdc;margin:0 0 .55rem;
  font-size:clamp(1.3rem,2.3vw,1.6rem);line-height:1.25;transition:color .2s}
.post-row:hover .post-row__title{color:var(--gold-soft)}
.post-row:hover{padding-left:1.1rem;border-color:rgba(227,198,126,.4)}
.post-row__excerpt{color:#aab3bf;line-height:1.7;margin:0 0 .6rem;font-size:1rem}
.post-row__meta{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.05em;color:#7f8896}
.post-row__meta .dot{color:var(--gold-strong);margin:0 .5rem}
/* Related en penumbra: reутилиza chapel-index compacto */
body.chapel .related-rows{max-width:760px;margin-inline:auto}
body.chapel .nav-toggle{color:#e7e0d2}

/* Hero-foto del blog (confesionario): más presencia que los heroes de artículo */
body.chapel .page-hero--photo .page-hero__bg{opacity:.62}
body.chapel .page-hero--photo::after{
  background:linear-gradient(0deg,rgba(6,10,18,.92),rgba(6,10,18,.42) 55%,rgba(6,10,18,.5) 100%),
             linear-gradient(90deg,rgba(6,10,18,.55),rgba(6,10,18,.05) 55%);
}
body.chapel .page-hero--photo{min-height:clamp(420px,52vh,560px)}
/* Motivo de celosía: rail de reja a la izquierda del índice */
.chapel-index{position:relative}
.chapel-index::before{
  content:"";position:absolute;left:-26px;top:6px;bottom:6px;width:14px;
  background:
    repeating-linear-gradient(45deg, rgba(193,147,47,.30) 0 2px, transparent 2px 9px),
    repeating-linear-gradient(-45deg, rgba(193,147,47,.30) 0 2px, transparent 2px 9px);
  opacity:.5;
}
@media(max-width:640px){.chapel-index::before{display:none}}

/* Vídeo vertical en split (bucles atmosféricos optimizados) */
.split__media .vmedia{
  width:100%;max-width:360px;height:auto;margin-inline:auto;display:block;
  aspect-ratio:9/16;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);
  background:#0b1424;
}
body.chapel .split__media .vmedia{box-shadow:0 24px 60px -24px rgba(0,0,0,.7),0 0 0 1px rgba(227,198,126,.14)}

/* =====================================================================
   CÓDICE — la tabla de Próximas salidas como "libro de peregrinaciones"
   ===================================================================== */
.cal-codex{
  position:relative;background:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  border:2px solid var(--gold);border-radius:6px;
  box-shadow:var(--shadow);
  padding:clamp(1.2rem,3.5vw,2.6rem);overflow-x:auto;
}
.cal-codex::before{content:"";position:absolute;inset:9px;border:1px solid rgba(193,147,47,.45);border-radius:3px;pointer-events:none}
.cal-codex table{width:100%;border-collapse:collapse;min-width:640px;position:relative}
.cal-codex thead th{
  font-family:var(--font-serif);color:var(--gold-ink);
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  text-align:left;padding:.2rem 1rem 1rem;border-bottom:3px double var(--gold);
}
.cal-codex tbody td{padding:1.15rem 1rem;border-top:1px solid rgba(193,147,47,.30);vertical-align:middle;color:var(--text)}
.cal-codex tbody tr:first-child td{border-top:none}
.cal-codex tbody tr:hover{background:rgba(193,147,47,.07)}
.cx-dest{font-family:var(--font-serif)}
.cx-dest a{color:var(--ink);font-weight:700;font-size:1.14rem}
.cx-dest a:hover{color:var(--gold-strong)}
.cx-fleuron{color:var(--gold);margin-right:.55rem;font-size:1rem;vertical-align:.02em}
.cal-codex .cal-sub{font-family:var(--font-sans);color:var(--muted);font-size:.84rem}
.cx-days{font-family:var(--font-serif);color:var(--ink-70);font-style:italic}
.cx-date{font-family:var(--font-serif);color:var(--gold-ink);font-weight:600}
.cx-date.cx-ondemand{font-style:italic;font-weight:500;color:var(--muted)}
.cx-price{font-family:var(--font-serif)}
.cx-price strong{color:var(--ink)}
.cx-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--gold-strong);font-weight:600;font-family:var(--font-sans);font-size:.9rem;white-space:nowrap}
.cx-link:hover{color:var(--gold-ink)}
.cx-link .arw{transition:transform .25s}
.cx-link:hover .arw{transform:translateX(4px)}
/* Filete con fleurón bajo el encabezado */
.fleuron-rule{display:flex;align-items:center;justify-content:center;gap:.9rem;color:var(--gold);margin:.6rem auto 0;max-width:340px}
.fleuron-rule::before,.fleuron-rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}
.fleuron-rule::after{background:linear-gradient(90deg,var(--gold),transparent)}

/* =====================================================================
   CARIÑO 1 — sección oscura de valores: medallones nítidos + tarjetas con cuerpo
   ===================================================================== */
.section--ink .feature{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(227,198,126,.22);
  box-shadow:0 18px 40px -22px rgba(0,0,0,.6);
}
.section--ink .feature:hover{border-color:var(--gold-soft);box-shadow:0 22px 46px -20px rgba(0,0,0,.7)}
.section--ink .feature__icon{
  width:60px;height:60px;border-radius:50%;
  background:radial-gradient(circle at 42% 34%,#f4dc98,#c1932f 80%);
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  box-shadow:0 8px 20px -6px rgba(193,147,47,.55),0 0 0 6px rgba(193,147,47,.12);
  margin-bottom:1.1rem;
}
.section--ink .feature__icon::before{display:none}
.section--ink .feature__icon svg{width:30px;height:30px;stroke-width:1.9;color:var(--ink)}

/* =====================================================================
   CARIÑO 2 — sello "especialistas" sobre la foto: pastilla dorada elegante
   ===================================================================== */
.split__badge{
  position:absolute;left:16px;right:auto;bottom:16px;
  display:inline-flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg,#caa049,#a97c1e);color:#fff;
  padding:.62rem 1.05rem;border-radius:999px;
  font-size:.85rem;font-weight:600;letter-spacing:.01em;max-width:calc(100% - 32px);
  box-shadow:0 14px 30px -12px rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.28);
}
.split__badge::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#fff5da,#e3c67e);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
@media(max-width:520px){.split__badge{position:static;margin-top:1rem;max-width:100%}}

/* ---------- Bloque Latinoamérica ---------- */
.latam{
  background:radial-gradient(130% 120% at 50% 0,#fff6e6 0,var(--paper) 55%);
  border-top:2px solid rgba(193,147,47,.5);
  border-bottom:2px solid rgba(193,147,47,.5);
}
.latam__head{max-width:64ch;margin:0 auto 2.4rem;text-align:center}
.latam__head .eyebrow::before{display:none}
.latam__head h2{margin:.2rem 0 .8rem}
.latam__head p{color:var(--text);margin-inline:auto}
.latam__grid{margin-top:.4rem}

/* Acceso Latinoamérica en portada */
.latam-teaser__inner{
  display:flex;align-items:center;gap:2rem;justify-content:space-between;
  background:linear-gradient(135deg,#fffaf0,#f5ead3);
  border:1px solid rgba(193,147,47,.4);
  border-radius:18px;
  padding:clamp(1.6rem,3.4vw,2.6rem) clamp(1.6rem,4vw,3rem);
  box-shadow:0 18px 40px -28px rgba(193,147,47,.55);
  position:relative;overflow:hidden;
}
.latam-teaser__inner::before{
  content:"";position:absolute;top:0;bottom:0;left:0;width:5px;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));
}
.latam-teaser__text{max-width:60ch}
.latam-teaser__text h2{margin:.2rem 0 .6rem}
.latam-teaser__text p{color:var(--text);margin:0}
.latam-teaser .btn{flex:none;white-space:nowrap}
@media(max-width:760px){
  .latam-teaser__inner{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .latam-teaser .btn{align-self:stretch;text-align:center}
}

/* ---------- Retoque apertura Nosotros ---------- */
.nosotros-open{padding-top:clamp(1.5rem,3.2vw,2.6rem)}
.nosotros-open .breadcrumb,.nosotros-open .breadcrumb a{color:var(--muted)}
.nosotros-open .breadcrumb a:hover{color:var(--gold-strong)}
.nosotros-open .split{align-items:center}

/* ---------- Vídeo de fondo en page-hero (Prepara tu corazón) ---------- */
.page-hero__video{z-index:0}
@media (prefers-reduced-motion:reduce){.page-hero__video{display:none}}

/* Códice: en móvil ocultamos la tabla-libro (las tarjetas de abajo ya dan fecha y precio) */
@media(max-width:640px){.codex-section{display:none}}

/* Newsletter en el footer */
.footer-news{margin-top:1.3rem;max-width:340px}
.footer-news label{display:block;font-size:.85rem;color:#c7d2dd;margin-bottom:.5rem}
.footer-news__row{display:flex;gap:.5rem;flex-wrap:wrap}
.footer-news input{flex:1 1 170px;min-width:150px;padding:.6rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-family:var(--font-sans);font-size:.95rem}
.footer-news .btn{flex:0 0 auto}
.footer-news input::placeholder{color:#9fb0c0}
.footer-news input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(193,147,47,.2)}
.footer-news .btn{flex:none}

/* Formulario institucional */
.inst-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.2rem);box-shadow:var(--shadow-sm)}

/* Conversor EUR→USD (páginas de Latinoamérica) */
.usd-box{max-width:640px}
.usd-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:.4rem 0 .3rem}
.usd-field{display:inline-flex;align-items:center;font-weight:600;color:var(--ink);font-size:1.3rem}
.usd-field input{width:9rem;font-size:1.3rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);margin-left:.3rem}
.usd-eq{font-size:1.4rem;color:var(--gold-strong)}
.usd-out{font-size:1.6rem;color:var(--ink);font-family:var(--font-serif)}
.usd-rate{margin-top:.2rem}

/* Redes sociales en el footer */
.footer-social{display:flex;gap:.6rem;margin-top:1.2rem}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#d7e0ea;transition:background .2s,color .2s,border-color .2s}
.footer-social a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.footer-social svg{width:19px;height:19px}

/* --- Envío AJAX de formularios --- */
.form-alert{margin-top:.9rem;padding:.7rem .9rem;border-radius:10px;background:#fbeaea;border:1px solid #e6b8b8;color:#8a2b2b;font-size:.92rem;line-height:1.45}
.news-done{background:rgba(225,198,126,.12);border:1px solid var(--gold-soft);border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.25rem}
.news-done strong{font-family:'Lora',Georgia,serif;color:var(--paper,#faf7f1)}
.news-done span{font-size:.9rem;opacity:.85}
button[aria-busy="true"]{opacity:.75;cursor:progress}

/* --- Página de gracias: "aquí empieza tu camino" --- */
.gracias-hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--paper,#faf7f1)}
.gracias-hero__bg{position:absolute;inset:0;background:url('assets/img/camino-editorial.jpg') center 38%/cover no-repeat;opacity:.14;filter:saturate(.9)}
.gracias-hero__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 20%,rgba(250,247,241,.2),rgba(250,247,241,.9) 78%)}
.gracias-hero__inner{position:relative;max-width:680px;padding-block:4.5rem}
.gracias-medal{width:78px;height:78px;margin:0 auto 1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold-strong,#8f6218);background:radial-gradient(circle at 50% 40%,#fff,#f2e9d4);border:1px solid var(--gold-soft,#e3c67e);box-shadow:0 10px 30px rgba(143,98,24,.14)}
.gracias-medal svg{width:34px;height:34px}
.gracias-hero h1{margin:.2rem 0 .9rem}
.gracias-lead{margin-inline:auto;max-width:60ch}
.gracias-sub{margin:1rem auto 0;max-width:58ch;color:var(--muted,#556069);line-height:1.6}
.gracias-sub a{color:var(--gold-strong,#8f6218);font-weight:600}
.gracias-bless{margin:1.8rem auto 0;max-width:46ch;font-family:'Lora',Georgia,serif;font-style:italic;font-size:1.06rem;color:var(--ink,#001b3c);position:relative;padding-top:1.3rem}
.gracias-bless::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:54px;height:2px;background:var(--gold,#c1932f)}
.gracias-actions{margin-top:2rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.gracias-hero__inner{padding-block:3rem}.gracias-bless{font-size:1rem}}

/* --- Equivalencia orientativa en US$ junto al precio --- */
.usd-hint{display:block;font-size:.72rem;color:var(--muted,#6b7280);font-weight:600;letter-spacing:.01em;margin-top:.1rem;line-height:1.2}
.usd-hint:empty{display:none}
.cx-price .usd-hint{font-weight:500;white-space:nowrap}
.book-card .price .usd-hint{margin-top:.25rem}

/* --- Pie de imagen elegante (sustituye al badge dorado flotante) --- */
figure.split__media{margin:0}
.split__caption{margin-top:.85rem;display:flex;align-items:baseline;gap:.5rem;font-family:'Lora',Georgia,serif;font-style:italic;font-size:.94rem;color:var(--gold-ink,#8f6218);line-height:1.45}
.split__caption-mark{flex:0 0 auto;color:var(--gold,#c1932f);font-style:normal;font-size:.82em;transform:translateY(-1px)}
