/*
=============================================================================
   AGENCIA VIAJES · ESTILOS PRINCIPALES
   Adaptado del mockup HTML con la paleta del manual de marca.
=============================================================================
*/

/* -----  DESIGN TOKENS  ---------------------------------------------------- */
:root{
  /* Colores de marca — del manual */
  --brand-primary:      #822180;   /* Morado (nav, secciones oscuras, botones primarios) */
  --brand-primary-deep: #5C1758;   /* Morado profundo (footer, hover) */
  --brand-primary-mid:  #A44BA1;   /* Morado medio (transiciones) */
  --brand-cta:          #CD3C8E;   /* Magenta (CTAs, WhatsApp, énfasis) */
  --brand-cta-hover:    #A02D6E;   /* Magenta oscuro (hover) */
  --brand-accent:       #47BCCB;   /* Cyan (highlights sobre oscuro) */

  /* Neutrales */
  --paper:              #FBFAF7;
  --cream:              #F4F0EA;
  --ink:                #1A1A1A;
  --slate:              #6B6B6B;
  --slate-light:        #A8A8A8;
  --border:             #E8E4DC;
  --border-strong:      #C9C2B0;

  /* Tipografía */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
}

/* -----  RESET LIGERO  ----------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* -----  TIPOGRAFÍA  ------------------------------------------------------- */
.eyebrow{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--slate);
}
.eyebrow.on-dark{color:var(--brand-accent)}

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:400;
  color:var(--ink);
  line-height:1.05;
  letter-spacing:-.02em;
  margin:0;
}
h1{font-size:clamp(48px,7vw,88px);font-variation-settings:"opsz" 144,"SOFT" 30}
h2{font-size:clamp(36px,4.5vw,56px);font-variation-settings:"opsz" 96}
h3{font-size:28px;font-variation-settings:"opsz" 40}

/* -----  LAYOUT  ----------------------------------------------------------- */
.container{max-width:1280px;margin:0 auto;padding:0 32px}

/* -----  NAV  -------------------------------------------------------------- */
.site-nav{
  background:var(--brand-primary);
  color:var(--cream);
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 32px;
  max-width:1280px;
  margin:0 auto;
}
.logo{
  font-family:var(--font-display);
  font-size:22px;
  font-weight:500;
  letter-spacing:-.01em;
  color:var(--cream);
  display:flex;align-items:center;gap:8px;
  font-variation-settings:"SOFT" 50;
  text-decoration:none;
}
.logo::before{
  content:"";
  width:8px;height:8px;
  background:var(--brand-cta);
  border-radius:50%;
  display:inline-block;
}
/* Si hay imagen de logo (the_custom_logo), oculta el punto rosado */
.logo .custom-logo-link{display:block;line-height:0}
.logo .custom-logo{max-height:40px;width:auto;display:block}
.logo:has(.custom-logo-link)::before{display:none}
.nav-links{
  display:flex;gap:36px;list-style:none;
  margin:0;padding:0;
}
.nav-links a{
  color:var(--cream);
  text-decoration:none;
  font-size:14px;
  font-weight:400;
  opacity:.85;
  transition:opacity .2s;
}
.nav-links a:hover{opacity:1}
.nav-right{display:flex;align-items:center;gap:20px}
.lang{display:flex;gap:4px;font-size:12px;font-family:var(--font-mono);color:var(--cream)}
.lang span:first-child{color:var(--brand-accent)}
.lang span:not(:first-child){opacity:.5}
.nav-cta{
  background:var(--brand-cta);
  color:var(--cream);
  padding:10px 18px;
  border-radius:2px;
  font-size:13px;
  font-weight:500;
  text-decoration:none;
  letter-spacing:.02em;
  transition:background .2s;
}
.nav-cta:hover{background:var(--brand-cta-hover)}

/* -----  HERO (home)  ----------------------------------------------------- */
.hero{background:var(--paper);padding:100px 0 120px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.hero-eyebrow::before{content:"";width:32px;height:1px;background:var(--brand-cta)}
.hero h1{margin-bottom:32px}
.hero h1 em{
  font-style:italic;
  color:var(--brand-cta);
  font-variation-settings:"opsz" 144,"SOFT" 100;
}
.hero-sub{font-size:19px;color:var(--slate);max-width:480px;margin:0 0 40px;line-height:1.55}
.hero-ctas{display:flex;gap:16px;align-items:center;flex-wrap:wrap}

/* -----  BOTONES  --------------------------------------------------------- */
.btn-primary{
  background:var(--brand-primary);
  color:var(--cream);
  padding:16px 28px;
  border:none;border-radius:2px;
  font-size:14px;font-weight:500;letter-spacing:.02em;
  cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:10px;
  transition:background .2s;
}
.btn-primary:hover{background:var(--brand-primary-deep)}
.btn-primary::after{content:"→"}
.btn-ghost{
  color:var(--ink);text-decoration:none;
  font-size:14px;font-weight:500;
  display:inline-flex;align-items:center;gap:8px;
  padding:16px 8px;
  border-bottom:1px solid var(--ink);
  transition:color .2s;
}
.btn-ghost:hover{color:var(--brand-cta);border-color:var(--brand-cta)}
.wa-icon{width:16px;height:16px;background:var(--brand-cta);border-radius:50%;display:inline-block}

/* -----  TRIP CARD (hero home)  ------------------------------------------- */
.trip-card{
  background:var(--cream);
  border:1px solid var(--border-strong);
  padding:0;position:relative;
  transform:rotate(-1.5deg);
  box-shadow:24px 24px 0 -8px var(--brand-primary);
  transition:transform .3s;
  text-decoration:none;color:inherit;
  display:block;
}
.trip-card:hover{transform:rotate(-.5deg) translateY(-4px)}
.trip-card-photo{
  height:280px;
  background:linear-gradient(180deg,var(--brand-primary-mid) 0%,var(--brand-primary-deep) 100%);
  background-size:cover;background-position:center;
  position:relative;overflow:hidden;
}
.trip-card-photo-label{
  position:absolute;top:20px;left:20px;
  font-family:var(--font-mono);font-size:11px;
  color:var(--cream);letter-spacing:.1em;z-index:2;
  background:rgba(28,17,48,.7);padding:6px 10px;
  border:1px solid rgba(255,255,255,.15);
}
.trip-card-body{padding:28px 32px 32px}
.trip-tag{
  font-family:var(--font-mono);font-size:11px;
  color:var(--brand-cta);letter-spacing:.1em;
  margin-bottom:12px;text-transform:uppercase;
}
.trip-name{
  font-family:var(--font-display);
  font-size:28px;font-weight:500;
  line-height:1.1;margin-bottom:20px;
  font-variation-settings:"opsz" 60;
}
.trip-meta{
  display:flex;justify-content:space-between;
  align-items:end;padding-top:16px;
  border-top:1px solid var(--border);
}
.trip-price-label{font-size:11px;color:var(--slate);letter-spacing:.06em;text-transform:uppercase}
.trip-price{
  font-family:var(--font-display);
  font-size:32px;font-weight:500;
  color:var(--ink);line-height:1;
  font-variation-settings:"opsz" 60;
}
.trip-price small{font-size:14px;color:var(--slate);font-weight:400}
.trip-duration{font-family:var(--font-mono);font-size:13px;color:var(--brand-primary)}

/* -----  DAY STRIP (elemento firma)  ------------------------------------- */
.day-strip{
  display:flex;align-items:stretch;
  margin-bottom:20px;
  border:1px solid var(--border-strong);
  background:var(--paper);
}
.day-cell{
  flex:1;padding:8px 4px;text-align:center;
  border-right:1px solid var(--border);position:relative;
}
.day-cell:last-child{border-right:none}
.day-num{font-family:var(--font-mono);font-size:10px;color:var(--slate);letter-spacing:.05em}
.day-loc{font-family:var(--font-display);font-size:12px;color:var(--ink);font-weight:500;margin-top:2px}
.day-cell.active{background:var(--brand-primary);color:var(--cream)}
.day-cell.active .day-num,
.day-cell.active .day-loc{color:var(--cream)}

/* -----  CHAPTERS (cinco caminos)  --------------------------------------- */
.chapters{background:var(--brand-primary);color:var(--cream);padding:140px 0}
.chapters-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:80px;align-items:end}
.chapters h2{color:var(--cream)}
.chapters h2 em{color:var(--brand-accent);font-style:italic}
.chapters-intro{color:var(--cream);opacity:.75;font-size:17px;max-width:400px;margin:0}
.chapter-list{display:flex;flex-direction:column;border-top:1px solid rgba(244,240,234,.15)}
.chapter{
  display:grid;grid-template-columns:80px 1fr 1fr 60px;
  gap:40px;padding:36px 0;
  border-bottom:1px solid rgba(244,240,234,.15);
  align-items:center;transition:padding .3s;
  cursor:pointer;position:relative;
}
.chapter:hover{padding-left:24px}
.chapter:hover .chapter-arrow{color:var(--brand-accent);transform:translateX(8px)}
.chapter-num{font-family:var(--font-mono);font-size:14px;color:var(--brand-accent);letter-spacing:.05em}
.chapter-title{font-family:var(--font-display);font-size:32px;font-weight:400;color:var(--cream);font-variation-settings:"opsz" 60}
.chapter-desc{font-size:15px;color:var(--cream);opacity:.7;line-height:1.5}
.chapter-arrow{color:var(--cream);opacity:.6;font-size:20px;text-align:right;transition:all .3s}

/* -----  FEATURED (paquetes destacados)  --------------------------------- */
.featured{padding:140px 0;background:var(--paper)}
.featured-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:64px;padding-bottom:24px;border-bottom:1px solid var(--border-strong)}
.featured h2{max-width:600px}
.featured h2 em{font-style:italic;color:var(--brand-cta)}
.featured-link{font-size:14px;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:2px}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}

.pkg{
  background:var(--cream);
  border:1px solid var(--border-strong);
  display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s;
  cursor:pointer;text-decoration:none;color:inherit;
}
.pkg:hover{transform:translateY(-6px);box-shadow:0 20px 40px -20px rgba(92,23,88,.25)}
.pkg-photo{
  height:240px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--brand-primary-mid) 0%,var(--brand-primary-deep) 100%);
  background-size:cover;background-position:center;
}
.pkg-photo-tag{
  position:absolute;top:20px;left:20px;
  background:rgba(28,17,48,.8);color:var(--cream);
  font-family:var(--font-mono);font-size:11px;
  padding:6px 10px;letter-spacing:.08em;
}
.pkg-body{padding:28px;flex:1;display:flex;flex-direction:column}
.pkg-region{font-family:var(--font-mono);font-size:11px;color:var(--slate);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.pkg-name{
  font-family:var(--font-display);
  font-size:24px;font-weight:500;
  line-height:1.15;margin-bottom:16px;
  font-variation-settings:"opsz" 48;
}
.pkg-days{display:flex;gap:3px;margin-bottom:20px;flex:1;align-items:flex-end}
.pkg-day{flex:1;height:6px;background:var(--border-strong);position:relative}
.pkg-day.filled{background:var(--brand-primary)}
.pkg-day.peak{background:var(--brand-cta)}
.pkg-meta{display:flex;justify-content:space-between;align-items:end;padding-top:20px;border-top:1px solid var(--border)}
.pkg-duration{font-family:var(--font-mono);font-size:13px;color:var(--brand-primary);font-weight:500}
.pkg-price{
  font-family:var(--font-display);
  font-size:24px;font-weight:500;color:var(--ink);
  font-variation-settings:"opsz" 40;
}
.pkg-price small{font-size:12px;color:var(--slate);font-weight:400}

/* -----  TRUST  ----------------------------------------------------------- */
.trust{background:var(--cream);padding:140px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.trust-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}
.trust h2{margin-bottom:32px}
.trust h2 em{font-style:italic;color:var(--brand-cta)}
.trust-copy{color:var(--slate);font-size:17px;line-height:1.6;max-width:480px;margin:0}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.stat{padding:32px 24px;background:var(--paper);border:1px solid var(--border-strong)}
.stat-num{
  font-family:var(--font-display);
  font-size:52px;font-weight:400;line-height:1;
  color:var(--brand-primary);margin-bottom:8px;
  font-variation-settings:"opsz" 100;
}
.stat-num small{font-size:20px;color:var(--brand-cta);vertical-align:top;margin-left:2px}
.stat-label{font-size:13px;color:var(--slate);line-height:1.4}
.certs{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);display:flex;gap:24px;flex-wrap:wrap}
.cert{font-family:var(--font-mono);font-size:11px;color:var(--slate);letter-spacing:.06em;display:flex;align-items:center;gap:6px}
.cert::before{content:"◆";color:var(--brand-accent)}

/* -----  REQUEST CTA (CENTRADO, sin formulario)  ------------------------ */
.request-centered{background:var(--paper);padding:140px 0}
.request-centered-inner{max-width:720px;margin:0 auto;text-align:center}
.request-centered h2{margin-bottom:24px}
.request-centered h2 em{font-style:italic;color:var(--brand-cta)}
.request-centered .request-copy{color:var(--slate);margin:32px auto 40px;font-size:17px;max-width:520px}
.request-centered .request-wa{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--ink);color:var(--cream);
  padding:20px 28px;text-decoration:none;
  font-weight:500;font-size:15px;
  border-radius:2px;transition:background .2s;
}
.request-centered .request-wa:hover{background:var(--brand-primary-deep)}

/* -----  TESTIMONIOS (slot para plugin Google Reviews)  ----------------- */
.testimonials{background:var(--cream);padding:120px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.testimonials-head{text-align:center;margin-bottom:60px}
.testimonials-head h2{margin:0 auto;max-width:720px}
.testimonials-head h2 em{font-style:italic;color:var(--brand-cta)}
.testimonials-slot{max-width:1100px;margin:0 auto}
.testimonials-placeholder{
  padding:60px 40px;text-align:center;
  background:var(--paper);border:2px dashed var(--border-strong);
  color:var(--slate);
}
.testimonials-placeholder p:first-child{color:var(--ink);font-size:16px;margin-top:0}
.testimonials-placeholder p{margin:8px 0;font-size:14px;line-height:1.5}

/* -----  REQUEST CTA (ORIGINAL, con formulario)  ------------------------ */
/* Mantenido por si se necesita en otras plantillas. Ya no se usa en la home. */
.request{background:var(--paper);padding:140px 0}
.request-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.request h2 em{font-style:italic;color:var(--brand-cta)}
.request-copy{color:var(--slate);margin:32px 0 40px;font-size:17px;max-width:400px}
.request-wa{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--ink);color:var(--cream);
  padding:20px 28px;text-decoration:none;
  font-weight:500;font-size:15px;
  border-radius:2px;transition:background .2s;
}
.request-wa:hover{background:var(--brand-primary-deep)}
.wa-badge{width:32px;height:32px;background:var(--brand-cta);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:16px;font-weight:600}
.form-card{background:var(--cream);border:1px solid var(--border-strong);padding:40px}
.form-title{font-family:var(--font-display);font-size:22px;margin-bottom:24px;font-variation-settings:"opsz" 40}

/* -----  DETAIL: HERO  --------------------------------------------------- */
.crumb{background:var(--cream);border-bottom:1px solid var(--border);padding:16px 0;font-family:var(--font-mono);font-size:12px;color:var(--slate);letter-spacing:.06em}
.crumb a{color:var(--slate);text-decoration:none}
.crumb span{color:var(--ink);margin:0 8px}
.detail-hero{background:var(--paper);padding:60px 0 40px;border-bottom:1px solid var(--border)}
.detail-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end}
.detail-tag{color:var(--brand-cta);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;margin-bottom:20px;text-transform:uppercase}
.detail-hero h1{margin-bottom:32px;font-size:clamp(40px,5.5vw,68px)}
.detail-hero h1 em{font-style:italic;color:var(--brand-cta);font-variation-settings:"opsz" 144,"SOFT" 100}
.detail-lede{font-size:19px;color:var(--slate);line-height:1.55;max-width:520px;margin:0}
.key-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;background:var(--cream);border:1px solid var(--border-strong);padding:32px}
.fact{border-bottom:1px dashed var(--border-strong);padding-bottom:16px}
.fact:nth-last-child(-n+2){border-bottom:none;padding-bottom:0}
.fact-label{font-family:var(--font-mono);font-size:10px;color:var(--slate);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.fact-value{font-family:var(--font-display);font-size:22px;color:var(--ink);font-variation-settings:"opsz" 40;line-height:1.15}
.fact-sub{font-size:12px;color:var(--slate);margin-top:4px}

/* -----  PHOTO STRIP  ---------------------------------------------------- */
.photo-strip{background:var(--brand-primary-deep);display:grid;grid-template-columns:2fr 1fr 1fr;gap:2px;padding:2px}
.photo-cell{height:360px;position:relative;overflow:hidden;background-size:cover;background-position:center;background-color:var(--brand-primary-mid)}
.photo-label{position:absolute;bottom:20px;left:20px;background:rgba(28,17,48,.85);color:var(--cream);font-family:var(--font-mono);font-size:11px;padding:6px 10px;letter-spacing:.08em;z-index:2}

/* -----  CONTENIDO + STICKY  --------------------------------------------- */
.content-wrap{padding:100px 0;background:var(--paper)}
.content-grid{display:grid;grid-template-columns:1fr 380px;gap:80px;align-items:start}
.section-block{margin-bottom:80px}
.section-eyebrow{color:var(--brand-cta);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.section-eyebrow::before{content:"";width:24px;height:1px;background:var(--brand-cta)}
.section-block h2{margin-bottom:32px}
.section-block p{color:var(--slate);margin:0 0 20px;font-size:17px;line-height:1.7}

/* -----  ITINERARIO  ----------------------------------------------------- */
.itin{border-left:1px solid var(--border-strong);margin-left:16px}
.day{padding:0 0 48px 40px;position:relative}
.day:last-child{padding-bottom:0}
.day-marker{
  position:absolute;left:-16px;top:0;
  width:32px;height:32px;
  background:var(--paper);
  border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:11px;
  color:var(--brand-primary);font-weight:500;
}
.day.peak .day-marker{background:var(--brand-cta);color:var(--cream);border-color:var(--brand-cta)}
.day-head{display:flex;align-items:baseline;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--border-strong)}
.day-title{font-family:var(--font-display);font-size:26px;font-weight:500;font-variation-settings:"opsz" 48;line-height:1.15}
.day.peak .day-title{color:var(--brand-cta)}
.day-route{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--slate);letter-spacing:.05em}
.day-body{color:var(--slate);font-size:16px;line-height:1.7;margin-bottom:16px}
.day-details{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;color:var(--slate);letter-spacing:.06em;padding-top:12px;border-top:1px solid var(--border)}
.day-details span{display:flex;align-items:center;gap:6px}
.day-details span::before{content:"◆";color:var(--brand-accent)}

/* -----  INCLUYE / NO INCLUYE  ------------------------------------------- */
.includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--cream);padding:48px;border:1px solid var(--border-strong)}
.incl-col h3{font-size:18px;margin-bottom:20px;font-family:var(--font-body);font-weight:600;color:var(--brand-primary);text-transform:uppercase;letter-spacing:.06em;padding-bottom:12px;border-bottom:1px solid var(--border-strong)}
.incl-list{list-style:none;margin:0;padding:0}
.incl-list li{padding:8px 0 8px 24px;position:relative;color:var(--ink);font-size:15px;line-height:1.5}
.incl-list li::before{content:"+";position:absolute;left:0;color:var(--brand-primary);font-weight:600}
.incl-list.no li::before{content:"−";color:var(--brand-cta)}

/* -----  INFO PRÁCTICA  -------------------------------------------------- */
.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.prac{padding:24px;background:var(--cream);border:1px solid var(--border-strong)}
.prac-label{font-family:var(--font-mono);font-size:10px;color:var(--slate);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.prac-value{font-family:var(--font-display);font-size:20px;color:var(--ink);font-variation-settings:"opsz" 40;line-height:1.2;margin-bottom:8px}
.prac-desc{font-size:13px;color:var(--slate);line-height:1.4}

/* -----  STICKY PANEL  --------------------------------------------------- */
.price-panel{
  position:sticky;top:100px;
  background:var(--brand-primary);
  color:var(--cream);
  padding:32px;
  border:1px solid var(--brand-primary-deep);
}
.pp-tag{font-family:var(--font-mono);font-size:11px;color:var(--brand-accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.pp-price-block{padding-bottom:24px;border-bottom:1px solid rgba(244,240,234,.15);margin-bottom:24px}
.pp-price{
  font-family:var(--font-display);
  font-size:56px;font-weight:400;line-height:1;
  color:var(--cream);
  font-variation-settings:"opsz" 120;
}
.pp-price small{font-size:18px;color:var(--brand-accent);margin-left:4px}
.pp-price-sub{font-size:13px;color:var(--cream);opacity:.7;margin-top:8px}
.pp-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(244,240,234,.1);font-size:14px;color:var(--cream)}
.pp-row span:first-child{opacity:.75}
.pp-row:last-of-type{border-bottom:none;margin-bottom:24px}
.pp-wa{
  background:var(--brand-cta);
  color:var(--cream);
  border:none;padding:18px;width:100%;
  font-family:var(--font-body);font-size:14px;font-weight:500;
  letter-spacing:.02em;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-bottom:12px;transition:background .2s;
  text-decoration:none;
}
.pp-wa:hover{background:var(--brand-cta-hover)}
.pp-form{
  background:transparent;color:var(--cream);
  border:1px solid rgba(244,240,234,.3);
  padding:16px;width:100%;
  font-family:var(--font-body);font-size:14px;
  cursor:pointer;transition:all .2s;
  display:block;text-align:center;text-decoration:none;
}
.pp-form:hover{background:rgba(244,240,234,.05);border-color:var(--brand-accent)}
.pp-note{font-size:11px;color:var(--cream);opacity:.6;margin-top:20px;line-height:1.5;text-align:center;font-family:var(--font-mono)}

/* -----  FOOTER  --------------------------------------------------------- */
.site-footer{background:var(--brand-primary-deep);color:var(--cream);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:64px;margin-bottom:64px}
.footer-brand{max-width:320px}
.footer-brand .logo{color:var(--cream);margin-bottom:16px}
.footer-brand p{color:var(--cream);opacity:.6;font-size:14px;line-height:1.6;margin:0}
.footer-col h4{font-family:var(--font-body);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-accent);margin:0 0 20px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin-bottom:10px}
.footer-col a{color:var(--cream);opacity:.7;text-decoration:none;font-size:14px;transition:opacity .2s}
.footer-col a:hover{opacity:1}
.footer-bottom{padding-top:32px;border-top:1px solid rgba(244,240,234,.1);display:flex;justify-content:space-between;font-size:12px;color:var(--cream);opacity:.5;font-family:var(--font-mono);flex-wrap:wrap;gap:16px}
.footer-bottom a{color:inherit}

/* -----  PLANTILLA SISTEMA (páginas internas del plugin) ---------------- */
.sistema-limpio{background:var(--paper);min-height:100vh}
.sistema-wrap{padding:40px 20px}
.sistema-inner{max-width:1280px;margin:0 auto}
.sistema-title{
  font-family:var(--font-display);
  font-size:clamp(28px,3.5vw,44px);
  font-weight:400;color:var(--ink);
  margin:0 0 32px;
  padding-bottom:16px;
  border-bottom:1px solid var(--border);
  font-variation-settings:"opsz" 72;
}
.sistema-content{color:var(--ink);font-size:16px;line-height:1.6}
/* Formularios y tablas del shortcode del plugin heredan tipografía del tema
   pero mantienen sus propios estilos internos. */
.sistema-content input[type="text"],
.sistema-content input[type="email"],
.sistema-content input[type="number"],
.sistema-content input[type="date"],
.sistema-content select,
.sistema-content textarea{font-family:var(--font-body)}

@media (max-width:640px){
  .sistema-wrap{padding:24px 16px}
}

/* -----  RESPONSIVE  ----------------------------------------------------- */
@media (max-width:960px){
  .hero-grid,
  .chapters-head,
  .trust-inner,
  .request-inner,
  .detail-hero-grid,
  .content-grid,
  .includes-grid{grid-template-columns:1fr;gap:60px}
  .featured-grid{grid-template-columns:1fr}
  .photo-strip{grid-template-columns:1fr}
  .photo-cell{height:220px}
  .practical-grid{grid-template-columns:1fr 1fr}
  .chapter{grid-template-columns:60px 1fr 40px;gap:20px}
  .chapter-desc{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .nav-links{display:none}
  .price-panel{position:relative;top:0}
  .hero{padding:60px 0 80px}
  .chapters,.featured,.trust,.request{padding:80px 0}
}
