/* ── CAMINO VARIABLE ALIASES ── */
:root{
  --td:#0A2D2E;--tr:#1C4E4F;--tm:#436E6F;--ts:#6A8E8F;
  --bl:#DEAE9F;--bs:#EFD7CF;--bp:#F7EBE7;
  --w:#FFFFFF;--off:#F9F8F6;--border:#EAE6E0;--text:#1C2B2C;--muted:#5C6E6F;
  --fd:"Playfair Display",Georgia,serif;--fb:"DM Sans",sans-serif;
}

/* ── CAMINO BASE OVERRIDES ── */
body{background:var(--w);color:var(--text);}

/* ── CAMINO NAV OVERRIDES ── */
.nav-logo-name{font-family:var(--fd);}
.nav-logo-name span{color:var(--bs);}

/* ── HERO ── */
.hero{min-height:90vh;background:var(--td);position:relative;display:flex;align-items:center;padding-top:68px;overflow:hidden;}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(239,215,207,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(239,215,207,0.03) 1px,transparent 1px);background-size:60px 60px;}
.hero-glow{position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at 80% 30%,rgba(67,110,111,0.2) 0%,transparent 65%);}
.hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 5%;width:100%;}
.hbadge{display:inline-flex;align-items:center;gap:8px;background:rgba(222,174,159,0.12);border:1px solid rgba(222,174,159,0.3);color:var(--bl);font-size:14px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;padding:7px 16px;border-radius:2px;margin-bottom:28px;}
.hbadge-dot{width:5px;height:5px;border-radius:50%;background:var(--bl);animation:blink 2.5s ease-in-out infinite;flex-shrink:0;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
.hero h1{font-family:var(--fd);font-size:clamp(44px,6vw,80px);font-weight:900;color:var(--w);line-height:1.02;letter-spacing:-0.03em;max-width:720px;margin-bottom:8px;}
.hero h1 em{font-style:italic;color:var(--bs);}
.hero-sub{font-family:var(--fd);font-size:clamp(16px,1.8vw,20px);font-weight:400;font-style:italic;color:rgba(255,255,255,0.4);margin-bottom:24px;}
.price-badge{display:inline-flex;align-items:baseline;gap:8px;background:var(--bl);color:var(--td);padding:12px 22px;border-radius:4px;margin-bottom:28px;}
.price-badge .from{font-size:14px;font-weight:500;}
.price-badge .amount{font-family:var(--fd);font-size:26px;font-weight:700;}
.price-badge .note{font-size:14px;font-weight:400;opacity:0.7;}
.hero-meta{display:flex;flex-wrap:wrap;gap:28px;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.07);}
.hmi{display:flex;flex-direction:column;gap:4px;}
.hml{font-size:14px;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.28);}
.hmv{font-size:15px;color:var(--bs);font-weight:500;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:0;}
.btn-primary{background:var(--bl);color:var(--td);padding:14px 32px;border-radius:3px;font-weight:600;font-size:15px;text-decoration:none;display:inline-block;transition:background 0.2s,transform 0.15s;}.btn-primary:hover{background:var(--bs);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:rgba(255,255,255,0.65);padding:13px 28px;border-radius:3px;font-weight:400;font-size:15px;border:1px solid rgba(255,255,255,0.18);text-decoration:none;display:inline-block;transition:all 0.2s;}.btn-ghost:hover{border-color:rgba(255,255,255,0.4);color:var(--w);}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,0.07);padding-top:28px;}
.hstat{padding-right:24px;}
.hstat-n{font-family:var(--fd);font-size:26px;font-weight:700;color:var(--bs);line-height:1;}
.hstat-l{font-size:14px;color:rgba(255,255,255,0.3);text-transform:uppercase;letter-spacing:0.08em;margin-top:4px;}

/* ── FACT STRIP ── */
.fact-strip{background:var(--td);border-top:1px solid rgba(239,215,207,0.08);}
.fact-strip-inner{max-width:1100px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:repeat(6,1fr);}
.fsi{padding:22px 18px;border-right:1px solid rgba(239,215,207,0.08);}.fsi:last-child{border-right:none;}
.fsi-label{font-size:14px;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.3);margin-bottom:4px;}
.fsi-val{font-size:15px;color:var(--bs);font-weight:500;line-height:1.3;}

/* ── SHARED ── */
.wrap{max-width:1100px;margin:0 auto;padding:0 5%;}
.eyebrow{font-size:14px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--tm);margin-bottom:12px;display:block;}
.section-title{font-family:var(--fd);font-size:clamp(28px,3.5vw,42px);font-weight:700;line-height:1.12;letter-spacing:-0.02em;}.section-title em{font-style:italic;}
.title-rule{width:48px;height:2px;background:var(--bl);margin:16px 0 14px;border-radius:2px;}
.body-text{font-size:16px;font-weight:300;line-height:1.8;color:var(--muted);}
.section-divider{border:none;border-top:1px solid var(--border);margin:0;}

/* ── INTRO ── */
.intro{padding:100px 0;background:var(--w);}
.intro .section-title{color:var(--td);}
.intro .section-title em{color:var(--tm);}
.intro-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:80px;align-items:center;}
.intro-pull{font-family:var(--fd);font-size:20px;font-style:italic;color:var(--tm);line-height:1.6;border-left:3px solid var(--bl);padding:4px 0 4px 22px;margin:28px 0;}
.holy-year{display:flex;align-items:flex-start;gap:16px;background:var(--off);border:1px solid var(--border);border-radius:8px;padding:22px 24px;margin-top:28px;}
.hy-year{font-family:var(--fd);font-size:28px;font-weight:700;color:var(--tm);flex-shrink:0;line-height:1;}
.hy-text{font-size:15px;color:var(--muted);line-height:1.7;}
.fact-cards{display:flex;flex-direction:column;gap:0;}
.fc{padding:16px 18px 16px 20px;border-left:3px solid var(--bl);border-bottom:1px solid var(--border);background:var(--w);transition:background 0.15s,border-left-color 0.15s;}.fc:hover{background:var(--off);border-left-color:var(--tm);}
.fc:first-child{border-top:1px solid var(--border);}
.fc-label{font-size:14px;text-transform:uppercase;letter-spacing:0.1em;color:var(--tm);font-weight:500;margin-bottom:3px;}
.fc-val{font-size:16px;color:var(--td);font-weight:600;line-height:1.3;}
.fc-sub{font-size:15px;color:var(--muted);margin-top:4px;font-weight:300;line-height:1.55;}

/* ── INCLUDED ── */
.included{padding:100px 0;background:var(--off);}
.included .section-title{color:var(--td);}
.included .section-title em{color:var(--tm);}
.inc-header{max-width:600px;margin-bottom:52px;}
.inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);}
.inc-item{background:var(--w);padding:32px 28px;}
.inc-icon{font-size:26px;margin-bottom:14px;line-height:1;}
.inc-title{font-family:var(--fd);font-size:17px;font-weight:700;color:var(--td);margin-bottom:8px;}
.inc-desc{font-size:15px;color:var(--muted);font-weight:300;line-height:1.65;}
.inc-link{display:inline-block;margin-top:8px;font-size:14px;color:var(--tm);text-decoration:none;}.inc-link:hover{color:var(--td);}

/* ── ITINERARY ── */
.itinerary{padding:100px 0;background:var(--w);}
.itinerary .section-title{color:var(--td);}
.itinerary .section-title em{color:var(--tm);}
.itin-header{margin-bottom:60px;}
.days-list{display:flex;flex-direction:column;gap:0;}
.day-card{display:grid;grid-template-columns:420px 1fr;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:16px;transition:box-shadow 0.2s;}.day-card:hover{box-shadow:0 4px 20px rgba(10,45,46,0.06);}
.day-card.no-photo{grid-template-columns:1fr;}
.day-photo-col{overflow:hidden;min-height:280px;background:var(--off);}
.day-photo-col img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s;}.day-card:hover .day-photo-col img{transform:scale(1.03);}
.day-photo-placeholder{width:100%;height:100%;min-height:280px;background:linear-gradient(135deg,var(--td),var(--tr));display:flex;align-items:center;justify-content:center;}
.day-text-col{padding:36px 40px;display:flex;flex-direction:column;justify-content:center;}
.day-num{font-size:14px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--tm);margin-bottom:8px;}
.day-title{font-family:var(--fd);font-size:clamp(20px,2.2vw,26px);font-weight:700;color:var(--td);line-height:1.2;margin-bottom:10px;}.day-title em{font-style:italic;color:var(--tm);}
.day-meta{font-size:15px;font-weight:600;color:var(--td);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.day-badge{background:rgba(67,110,111,0.1);color:var(--tm);font-size:14px;font-weight:500;padding:3px 10px;border-radius:20px;}
.day-badge.walk{background:rgba(10,45,46,0.07);}
.day-desc{font-size:15px;color:var(--muted);font-weight:300;line-height:1.7;margin-bottom:16px;}
.day-note{padding:12px 16px;background:var(--off);border-left:3px solid var(--bl);border-radius:0 6px 6px 0;font-size:15px;color:var(--td);font-style:italic;line-height:1.5;margin-bottom:14px;}
.day-note strong{color:var(--td);font-style:normal;font-weight:600;}
.day-meals{display:flex;gap:6px;flex-wrap:wrap;}
.meal-tag{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:500;color:var(--muted);background:var(--off);border:1px solid var(--border);padding:4px 12px;border-radius:20px;}
.meal-tag.inc{color:var(--td);background:rgba(222,174,159,0.12);border-color:rgba(222,174,159,0.35);}
.day-stages{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.stage-pill{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:500;background:rgba(10,45,46,0.06);color:var(--td);padding:4px 12px;border-radius:20px;}

/* ── STAGES ── */
.stages{padding:80px 0;background:var(--td);}
.stages .section-title{color:var(--w);}
.stages .section-title em{color:var(--bs);}
.stages .eyebrow{color:var(--bl);}
.stages .title-rule{background:var(--bl);}
.stages .body-text{color:rgba(255,255,255,0.5);margin-bottom:40px;}
.stage-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(239,215,207,0.1);border-radius:8px;overflow:hidden;}
.stage-item{background:rgba(28,78,79,0.4);padding:24px 20px;transition:background 0.2s;}.stage-item:hover{background:rgba(28,78,79,0.7);}
.stage-label{font-size:14px;text-transform:uppercase;letter-spacing:0.12em;color:var(--bl);font-weight:500;margin-bottom:8px;}
.stage-route{font-family:var(--fd);font-size:15px;font-weight:700;color:var(--w);margin-bottom:10px;line-height:1.3;}
.stage-km{font-size:15px;color:var(--bs);font-weight:500;margin-bottom:2px;}
.stage-hrs{font-size:14px;color:var(--sage);}
.diff-dots{display:flex;gap:4px;margin-top:10px;}
.dd{width:7px;height:7px;border-radius:50%;}.don{background:var(--bl);}.doff{background:rgba(239,215,207,0.2);}

/* ── KNOW BEFORE YOU GO ── */
.know{padding:80px 0;background:var(--off);}
.know .section-title{color:var(--td);}
.know .section-title em{color:var(--tm);}
.know-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px;}
.know-card{background:var(--w);border:1px solid var(--border);border-radius:8px;padding:24px 22px;}
.know-tag{display:inline-block;font-size:14px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--tm);background:rgba(67,110,111,0.08);padding:3px 10px;border-radius:20px;margin-bottom:10px;}
.know-card h4{font-family:var(--fd);font-size:17px;font-weight:700;color:var(--td);margin-bottom:8px;}
.know-card p{font-size:15px;color:var(--muted);font-weight:300;line-height:1.65;}
.know-link{display:inline-block;margin-top:8px;font-size:14px;color:var(--tm);text-decoration:underline;}

/* ── CONTACT ── */
.contact{padding:80px 0;background:var(--w);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.contact .section-title{color:var(--td);}
.contact .section-title em{color:var(--tm);}
.contact .body-text{margin-bottom:24px;}
.price-box{background:var(--off);border:1px solid var(--border);border-radius:8px;padding:24px 26px;margin-bottom:24px;}
.price-box-label{font-size:14px;text-transform:uppercase;letter-spacing:0.1em;color:var(--tm);font-weight:500;margin-bottom:6px;}
.price-box-amount{font-family:var(--fd);font-size:32px;font-weight:700;color:var(--td);line-height:1;}
.price-box-note{font-size:14px;color:var(--muted);margin-top:6px;font-weight:300;}
.perk{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);font-size:15px;color:var(--muted);}.perk:last-child{border-bottom:none;}
.perk-dot{width:6px;height:6px;border-radius:50%;background:var(--bl);flex-shrink:0;margin-top:6px;}
.perk strong{color:var(--td);font-weight:500;}
.form-box{background:var(--w);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.form-head{background:var(--td);padding:24px 28px;border-bottom:2px solid var(--bl);}
.form-head h3{font-family:var(--fd);font-size:20px;font-weight:700;color:var(--w);margin-bottom:3px;}
.form-head p{font-size:15px;color:rgba(255,255,255,0.4);font-weight:300;}
.form-body{padding:24px 28px;}
.ff{margin-bottom:14px;}
.ff label{display:block;font-size:14px;text-transform:uppercase;letter-spacing:0.08em;color:var(--tm);font-weight:500;margin-bottom:5px;}
.ff input,.ff select,.ff textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:4px;font-family:var(--fb);font-size:15px;color:var(--text);background:var(--off);transition:border-color 0.2s;outline:none;}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--tm);}
.ff textarea{resize:vertical;min-height:84px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-submit{width:100%;background:var(--td);color:var(--w);padding:13px;border:none;border-radius:4px;font-family:var(--fb);font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s;letter-spacing:0.04em;}.form-submit:hover{background:var(--tr);}
.form-note{font-size:14px;color:var(--muted);text-align:center;margin-top:10px;font-weight:300;}.form-note a{color:var(--tm);}

/* ── CTA BAND ── */
.cta-band{background:var(--td);padding:64px 0;}
.cta-inner{max-width:700px;margin:0 auto;text-align:center;padding:0 5%;}
.cta-inner .eyebrow{color:var(--bl);justify-content:center;display:block;}
.cta-inner h2{font-family:var(--fd);font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--w);margin-bottom:12px;letter-spacing:-0.02em;}
.cta-inner h2 em{font-style:italic;color:var(--bs);}
.cta-inner p{font-size:16px;color:rgba(255,255,255,0.5);margin-bottom:32px;font-weight:300;line-height:1.7;}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-book{background:transparent;color:rgba(255,255,255,0.65);padding:13px 28px;border-radius:3px;font-size:15px;border:1px solid rgba(255,255,255,0.18);text-decoration:none;display:inline-block;transition:all 0.2s;}.btn-book:hover{border-color:rgba(255,255,255,0.4);color:var(--w);}
.cta-disc{font-size:14px;color:rgba(255,255,255,0.3);margin-top:20px;line-height:1.6;}

/* ── FOOTER OVERRIDES ── */
.fl{font-family:var(--fd);font-size:16px;color:var(--w);}.fl span{color:var(--bs);}
.ft{font-size:14px;color:rgba(255,255,255,0.2);margin-top:2px;}
footer p{font-size:14px;color:rgba(255,255,255,0.2);}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .stage-grid{grid-template-columns:repeat(3,1fr);}
  .know-grid{grid-template-columns:repeat(2,1fr);}
  .fact-strip-inner{grid-template-columns:repeat(3,1fr);}
  .inc-grid{grid-template-columns:repeat(2,1fr);}
  .day-card{grid-template-columns:360px 1fr;}
}
@media(max-width:820px){
  .intro-grid,.contact-grid{grid-template-columns:1fr;gap:44px;}
  .day-card{grid-template-columns:1fr;}.day-photo-col{min-height:240px;}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:16px;}
}
@media(max-width:600px){
  .hero h1{font-size:38px;}
  .stage-grid{grid-template-columns:repeat(2,1fr);}
  .know-grid{grid-template-columns:1fr;}
  .fact-strip-inner{grid-template-columns:repeat(2,1fr);}
  .inc-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
