/* GHR Runcation build 1.1.0 — light-mode + lightbox + legibility fixes */
/* ============================================================
   GHR Runcation Cambodia — scoped landing page styles
   All rules namespaced under .ghr-runcation so nothing leaks
   into the WordPress theme, admin, or Elementor editor chrome.
   ============================================================ */

.ghr-runcation{
  --gold:#C9A84C;--gold-light:#E8D08A;--gold-dim:#7A6630;
  --jade:#4A8C6F;--jade-light:#7ABDA0;
  --dark:#0E0D0B;--dark2:#161410;--dark3:#1F1C17;--dark4:#2A2620;
  --border:rgba(201,168,76,0.18);--border-soft:rgba(255,255,255,0.07);
  --text:#F0EAD6;--muted:#9A9080;--muted2:#6A6055;
  --ff-display:'Cormorant Garamond',serif;--ff-body:'Outfit',sans-serif;
  --radius:10px;--radius-lg:16px;

  position:relative;
  background:var(--dark);color:var(--text);
  font-family:var(--ff-body);font-size:16px;line-height:1.6;
  overflow-x:hidden;
  scroll-behavior:smooth;
}
.ghr-runcation *,.ghr-runcation *::before,.ghr-runcation *::after{box-sizing:border-box;margin:0;padding:0;}
.ghr-runcation::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");opacity:0.35;}

/* ======= TOPBAR ======= */
.ghr-runcation .topbar{
  position:fixed;top:0;left:0;right:0;z-index:99990;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1rem,4vw,2.5rem);height:60px;
  background:rgba(14,13,11,0.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);gap:12px;
}
.ghr-runcation .topbar-logo{font-family:var(--ff-display);font-size:20px;font-weight:600;color:var(--gold);letter-spacing:0.03em;white-space:nowrap;flex-shrink:0;}
.ghr-runcation .topbar-logo span{color:var(--text);font-style:italic;font-weight:400;}
.ghr-runcation .topbar-nav{display:flex;gap:20px;align-items:center;flex:1;justify-content:center;}
.ghr-runcation .topbar-nav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:400;letter-spacing:0.02em;transition:color 0.2s;white-space:nowrap;}
.ghr-runcation .topbar-nav a:hover{color:var(--gold);}
.ghr-runcation .topbar-nav a.nav-offers{color:var(--dark);background:var(--gold);padding:4px 12px;border-radius:20px;font-weight:600;font-size:12px;letter-spacing:0.04em;transition:background 0.2s,color 0.2s;}
.ghr-runcation .topbar-nav a.nav-offers:hover{background:var(--gold-light);color:var(--dark);}
.ghr-runcation .topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ghr-runcation .topbar-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;letter-spacing:0.03em;padding:6px 12px;border-radius:6px;text-decoration:none;transition:all 0.2s;cursor:pointer;white-space:nowrap;}
.ghr-runcation .topbar-link.ghost{color:var(--muted);border:1px solid var(--border-soft);}
.ghr-runcation .topbar-link.ghost:hover{color:var(--text);border-color:var(--border);}
.ghr-runcation .topbar-link.wa{background:#1a5c36;color:#7ABDA0;border:1px solid rgba(74,140,111,0.3);}
.ghr-runcation .topbar-link.wa:hover{background:#1f6d40;}
.ghr-runcation .topbar-link.cta{background:var(--gold);color:var(--dark);font-weight:600;}
.ghr-runcation .topbar-link.cta:hover{background:var(--gold-light);}
.ghr-runcation .menu-btn{display:none;background:none;border:1px solid var(--border-soft);color:var(--muted);width:36px;height:36px;border-radius:6px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:18px;transition:border-color 0.2s;}
.ghr-runcation .menu-btn:hover{border-color:var(--border);color:var(--text);}
.ghr-runcation .mobile-menu{display:none;position:fixed;top:60px;left:0;right:0;z-index:99980;background:rgba(14,13,11,0.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1.25rem clamp(1rem,5vw,2rem);flex-direction:column;gap:0;}
.ghr-runcation .mobile-menu.open{display:flex;}
.ghr-runcation .mobile-menu a{color:var(--muted);text-decoration:none;font-size:15px;font-weight:400;padding:12px 0;border-bottom:1px solid var(--border-soft);transition:color 0.2s;}
.ghr-runcation .mobile-menu a:last-of-type{border-bottom:none;}
.ghr-runcation .mobile-menu a:hover{color:var(--gold);}
.ghr-runcation .mobile-menu a.nav-offers{color:var(--gold);font-weight:600;}
.ghr-runcation .mobile-menu-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-soft);}
@media(max-width:900px){.ghr-runcation .topbar-nav{display:none;}}
@media(max-width:640px){.ghr-runcation .topbar-link.ghost{display:none;}.ghr-runcation .menu-btn{display:flex;}}

/* ======= HERO ======= */
.ghr-runcation .hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;}
.ghr-runcation .hero-carousel{position:absolute;inset:0;z-index:0;}
.ghr-runcation .carousel-track{position:absolute;inset:0;display:flex;transition:transform 0.8s cubic-bezier(0.77,0,0.175,1);}
.ghr-runcation .carousel-slide{flex-shrink:0;width:100%;height:100%;position:relative;background-size:cover;background-position:center;}
.ghr-runcation .carousel-slide-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(36px,8vw,72px);}
.ghr-runcation .cs1{background:linear-gradient(160deg,#0a0804 0%,#1e1508 35%,#2d2010 65%,#1a1208 100%);}
.ghr-runcation .cs2{background:linear-gradient(150deg,#080d0a 0%,#0e2016 40%,#163322 70%,#080d0a 100%);}
.ghr-runcation .cs3{background:linear-gradient(165deg,#0d0a08 0%,#241a0a 40%,#3a2810 70%,#0d0a08 100%);}
.ghr-runcation .cs4{background:linear-gradient(155deg,#08100d 0%,#102018 40%,#1a3326 70%,#08100d 100%);}
.ghr-runcation .cs5{background:linear-gradient(158deg,#0e0c08 0%,#22190a 40%,#32240e 70%,#0e0c08 100%);}
@media(min-width:769px){.ghr-runcation .hero-carousel{left:45%;}}
.ghr-runcation .hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--dark) 0%,var(--dark) 38%,rgba(14,13,11,0.85) 52%,rgba(14,13,11,0.3) 70%,transparent 100%),linear-gradient(180deg,rgba(14,13,11,0.4) 0%,transparent 30%,transparent 60%,var(--dark) 100%);}
@media(max-width:768px){.ghr-runcation .hero-overlay{background:linear-gradient(180deg,rgba(14,13,11,0.3) 0%,rgba(14,13,11,0.5) 40%,rgba(14,13,11,0.9) 70%,var(--dark) 100%);}}
.ghr-runcation .hero-silhouette{position:absolute;bottom:0;left:0;right:0;z-index:2;height:35%;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath fill='%230E0D0B' d='M0,220 L0,160 L40,160 L40,130 L60,130 L60,115 L80,115 L80,100 L100,100 L100,85 L120,85 L120,70 L130,70 L130,55 L140,55 L140,42 L150,42 L150,35 L155,35 L155,28 L160,28 L160,24 L163,24 L163,20 L166,20 L166,24 L169,24 L169,28 L174,28 L174,35 L179,35 L179,42 L189,42 L189,55 L199,55 L199,70 L209,70 L209,85 L225,85 L225,100 L245,100 L245,115 L265,115 L265,130 L290,130 L290,145 L320,145 L320,160 L365,160 L365,145 L390,145 L390,130 L415,130 L415,138 L435,138 L435,122 L455,122 L455,108 L475,108 L475,95 L484,95 L484,83 L492,83 L492,74 L498,74 L498,66 L503,66 L503,60 L506,60 L506,55 L508,55 L508,50 L510,50 L510,55 L512,55 L512,60 L515,60 L515,66 L520,66 L520,74 L526,74 L526,83 L534,83 L534,95 L543,95 L543,108 L563,108 L563,122 L583,122 L583,138 L603,138 L603,130 L628,130 L628,145 L655,145 L655,160 L700,160 L700,175 L740,175 L740,160 L778,160 L778,145 L805,145 L805,130 L830,130 L830,138 L850,138 L850,122 L870,122 L870,108 L890,108 L890,95 L899,95 L899,83 L907,83 L907,74 L913,74 L913,66 L918,66 L918,60 L921,60 L921,55 L923,55 L923,50 L925,50 L925,55 L927,55 L927,60 L930,60 L930,66 L935,66 L935,74 L941,74 L941,83 L949,83 L949,95 L958,95 L958,108 L978,108 L978,122 L998,122 L998,138 L1018,138 L1018,130 L1050,130 L1050,145 L1080,145 L1080,160 L1120,160 L1120,175 L1160,175 L1160,160 L1200,160 L1200,145 L1230,145 L1230,130 L1260,130 L1260,145 L1300,145 L1300,160 L1350,160 L1350,175 L1440,175 L1440,220 Z'/%3E%3C/svg%3E") no-repeat bottom center/100% auto;}
.ghr-runcation .carousel-dots{position:absolute;bottom:clamp(1.5rem,4vw,2.5rem);right:clamp(1.5rem,4vw,2.5rem);z-index:10;display:flex;gap:6px;align-items:center;}
@media(max-width:768px){.ghr-runcation .carousel-dots{right:50%;transform:translateX(50%);bottom:1.25rem;}}
.ghr-runcation .cdot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.25);cursor:pointer;transition:all 0.3s;border:none;padding:0;}
.ghr-runcation .cdot.active{background:var(--gold);width:20px;border-radius:3px;}
.ghr-runcation .carousel-caption{position:absolute;bottom:clamp(4rem,8vw,5rem);right:clamp(1.5rem,3vw,2.5rem);z-index:10;text-align:right;}
@media(max-width:768px){.ghr-runcation .carousel-caption{display:none;}}
.ghr-runcation .caption-text{font-size:11px;color:rgba(240,234,214,0.5);letter-spacing:0.1em;font-weight:300;font-family:var(--ff-display);font-style:italic;}
.ghr-runcation .hero-content{position:relative;z-index:5;padding:100px clamp(1.25rem,5vw,3rem) clamp(4rem,8vw,5rem);width:100%;max-width:600px;}
@media(min-width:769px){.ghr-runcation .hero-content{max-width:52%;}}
.ghr-runcation .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;padding:5px 14px;border:1px solid var(--border);border-radius:40px;background:rgba(201,168,76,0.07);}
.ghr-runcation .hero-eyebrow::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--gold);animation:ghrPulse 2s infinite;}
@keyframes ghrPulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.ghr-runcation .hero-title{font-family:var(--ff-display);font-size:clamp(44px,7vw,88px);font-weight:400;line-height:0.95;margin-bottom:1.25rem;letter-spacing:-0.01em;}
.ghr-runcation .hero-title em{font-style:italic;color:var(--gold);}
.ghr-runcation .hero-title .line2{display:block;font-weight:600;}
.ghr-runcation .hero-sub{font-size:clamp(14px,1.8vw,17px);color:var(--muted);line-height:1.7;max-width:480px;margin-bottom:1.75rem;font-weight:300;}
.ghr-runcation .hero-sub strong{color:var(--text);font-weight:500;}
.ghr-runcation .hero-ctas{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:1.75rem;}
.ghr-runcation .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:8px;font-family:var(--ff-body);font-size:14px;font-weight:600;letter-spacing:0.02em;text-decoration:none;cursor:pointer;border:none;transition:all 0.25s;}
.ghr-runcation .btn-gold{background:var(--gold);color:var(--dark);}
.ghr-runcation .btn-gold:hover{background:var(--gold-light);transform:translateY(-1px);}
.ghr-runcation .btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border-soft);}
.ghr-runcation .btn-ghost:hover{border-color:var(--border);background:rgba(255,255,255,0.04);}
.ghr-runcation .btn-wa{background:rgba(74,140,111,0.15);color:var(--jade-light);border:1px solid rgba(74,140,111,0.3);}
.ghr-runcation .btn-wa:hover{background:rgba(74,140,111,0.25);}
.ghr-runcation .hero-urgency{display:flex;align-items:flex-start;gap:10px;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.25);border-radius:8px;padding:10px 14px;font-size:13px;max-width:460px;}
.ghr-runcation .urgency-chip{background:var(--gold);color:var(--dark);font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:2px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-top:2px;}
.ghr-runcation .hero-urgency p{color:var(--muted);line-height:1.4;}
.ghr-runcation .hero-urgency p strong{color:var(--gold);}
.ghr-runcation .hero-stats{display:flex;gap:clamp(1rem,3vw,2rem);flex-wrap:wrap;margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border-soft);}
.ghr-runcation .hero-stat .num{font-family:var(--ff-display);font-size:clamp(20px,3vw,28px);font-weight:600;color:var(--gold);}
.ghr-runcation .hero-stat .lbl{font-size:10px;color:var(--muted);letter-spacing:0.04em;text-transform:uppercase;margin-top:1px;}

/* ======= SECTIONS ======= */
.ghr-runcation .section{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,3rem);position:relative;z-index:2;}
.ghr-runcation .section-inner{max-width:1100px;margin:0 auto;}
.ghr-runcation .section-label{font-size:10px;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.ghr-runcation .section-label::before{content:'';display:block;width:24px;height:1px;background:var(--gold-dim);}
.ghr-runcation .section-title{font-family:var(--ff-display);font-size:clamp(28px,4.5vw,52px);font-weight:400;line-height:1.1;margin-bottom:1rem;}
.ghr-runcation .section-title em{font-style:italic;color:var(--gold);}
.ghr-runcation .section-desc{color:var(--muted);font-size:15px;line-height:1.7;max-width:560px;font-weight:300;}

/* ======= CAMBODIA ======= */
.ghr-runcation .cambodia-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem;align-items:start;}
@media(max-width:768px){.ghr-runcation .cambodia-grid{grid-template-columns:1fr;gap:1.5rem;}}
.ghr-runcation .cambodia-prose p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:1.25rem;font-weight:300;}
.ghr-runcation .cambodia-prose p strong{color:var(--text);font-weight:500;}
.ghr-runcation .cambodia-facts{display:flex;flex-direction:column;gap:10px;}
.ghr-runcation .fact-card{background:var(--dark3);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:flex-start;gap:12px;transition:border-color 0.2s;}
.ghr-runcation .fact-card:hover{border-color:var(--border);}
.ghr-runcation .fact-icon{width:34px;height:34px;border-radius:8px;background:rgba(201,168,76,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.ghr-runcation .fact-text h4{font-size:13px;font-weight:600;margin-bottom:2px;color:var(--text);}
.ghr-runcation .fact-text p{font-size:12px;color:var(--muted);line-height:1.5;}

/* ======= GALLERY ======= */
.ghr-runcation .gallery-section{padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,5vw,3rem);position:relative;z-index:2;}
.ghr-runcation .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;margin-top:2rem;}
@media(max-width:900px){
  .ghr-runcation .gallery-grid{grid-template-columns:repeat(6,1fr);}
  .ghr-runcation .gp:nth-child(1){grid-column:span 6!important;grid-row:span 1!important;}
  .ghr-runcation .gp:nth-child(2){grid-column:span 3!important;}
  .ghr-runcation .gp:nth-child(3){grid-column:span 3!important;}
  .ghr-runcation .gp:nth-child(4){grid-column:span 2!important;}
  .ghr-runcation .gp:nth-child(5){grid-column:span 2!important;}
  .ghr-runcation .gp:nth-child(6){grid-column:span 2!important;}
  .ghr-runcation .gp:nth-child(7){grid-column:span 6!important;}
}
@media(max-width:540px){
  .ghr-runcation .gallery-grid{grid-template-columns:1fr 1fr;gap:6px;}
  .ghr-runcation .gp{grid-column:span 1!important;grid-row:span 1!important;}
  .ghr-runcation .gp:nth-child(7){grid-column:span 2!important;}
  .ghr-runcation .gp-inner{padding-bottom:70%!important;}
  .ghr-runcation .gp:nth-child(7) .gp-inner{padding-bottom:45%!important;}
}
.ghr-runcation .gp{border-radius:var(--radius);overflow:hidden;background:var(--dark3);border:1px solid var(--border-soft);position:relative;cursor:pointer;transition:border-color 0.25s,transform 0.2s;}
.ghr-runcation .gp:hover{border-color:var(--border);transform:scale(1.01);}
.ghr-runcation .gp:nth-child(1){grid-column:span 5;grid-row:span 2;}
.ghr-runcation .gp:nth-child(2){grid-column:span 4;}
.ghr-runcation .gp:nth-child(3){grid-column:span 3;}
.ghr-runcation .gp:nth-child(4){grid-column:span 4;}
.ghr-runcation .gp:nth-child(5){grid-column:span 3;}
.ghr-runcation .gp:nth-child(6){grid-column:span 4;}
.ghr-runcation .gp:nth-child(7){grid-column:span 8;}
.ghr-runcation .gp-inner{width:100%;padding-bottom:66%;position:relative;}
.ghr-runcation .gp:nth-child(1) .gp-inner{padding-bottom:100%;}
.ghr-runcation .gp:nth-child(7) .gp-inner{padding-bottom:40%;}
.ghr-runcation .gp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ghr-runcation .gp-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.ghr-runcation .gp:nth-child(1) .gp-placeholder{background:linear-gradient(160deg,#1a1208 0%,#2d1f0a 40%,#3d2b10 70%,#1a1208 100%);}
.ghr-runcation .gp:nth-child(2) .gp-placeholder{background:linear-gradient(135deg,#0d1a12 0%,#143322 60%,#0d1a12 100%);}
.ghr-runcation .gp:nth-child(3) .gp-placeholder{background:linear-gradient(140deg,#1a0e0a 0%,#331a10 60%,#1a0e0a 100%);}
.ghr-runcation .gp:nth-child(4) .gp-placeholder{background:linear-gradient(150deg,#0e1520 0%,#1a2d42 60%,#0e1520 100%);}
.ghr-runcation .gp:nth-child(5) .gp-placeholder{background:linear-gradient(130deg,#1a1208 0%,#2a2010 60%,#1a1208 100%);}
.ghr-runcation .gp:nth-child(6) .gp-placeholder{background:linear-gradient(145deg,#0d1a14 0%,#163324 60%,#0d1a14 100%);}
.ghr-runcation .gp:nth-child(7) .gp-placeholder{background:linear-gradient(160deg,#1a1208 0%,#2d1f0a 30%,#3d2b10 60%,#1a1208 100%);}
.ghr-runcation .gp-label{font-size:11px;font-weight:500;letter-spacing:0.05em;color:rgba(201,168,76,0.55);text-align:center;padding:0 8px;line-height:1.4;}
.ghr-runcation .gp-icon{font-size:20px;opacity:0.45;}
.ghr-runcation .gp-upload-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.55);opacity:0;transition:opacity 0.2s;font-size:11px;color:rgba(255,255,255,0.7);text-align:center;padding:12px;border-radius:var(--radius);}
.ghr-runcation .gp:hover .gp-upload-hint{opacity:1;}
.ghr-runcation .gallery-note{margin-top:10px;text-align:center;font-size:12px;color:var(--muted2);padding:10px 16px;border:1px dashed var(--border-soft);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;}

/* ======= PACKAGES ======= */
.ghr-runcation .compare-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
@media(max-width:720px){.ghr-runcation .compare-wrap{grid-template-columns:1fr;}}
.ghr-runcation .pkg-card{background:var(--dark2);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;transition:border-color 0.3s;display:flex;flex-direction:column;}
.ghr-runcation .pkg-card:hover{border-color:var(--border);}
.ghr-runcation .pkg-card.featured{border-color:var(--gold-dim);}
.ghr-runcation .pkg-card-header{padding:1.5rem 1.25rem 1.25rem;border-bottom:1px solid var(--border-soft);position:relative;}
.ghr-runcation .pkg-card.featured .pkg-card-header{background:linear-gradient(135deg,rgba(201,168,76,0.07),transparent);}
.ghr-runcation .pkg-badge{display:inline-flex;margin-bottom:10px;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px;}
.ghr-runcation .pkg-badge.marathon{background:rgba(201,168,76,0.15);color:var(--gold);border:1px solid var(--gold-dim);}
.ghr-runcation .pkg-badge.leisure{background:rgba(74,140,111,0.15);color:var(--jade-light);border:1px solid rgba(74,140,111,0.3);}
.ghr-runcation .pkg-duration-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);margin-bottom:8px;border:1px solid var(--border-soft);border-radius:20px;padding:3px 10px;}
.ghr-runcation .pkg-name{font-family:var(--ff-display);font-size:clamp(22px,3vw,28px);font-weight:600;line-height:1.1;margin-bottom:6px;}
.ghr-runcation .pkg-tagline{font-size:13px;color:var(--muted);margin-bottom:1rem;font-weight:300;line-height:1.5;}
.ghr-runcation .pkg-dates{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.ghr-runcation .pkg-dates-header{font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted2);margin-bottom:3px;}
.ghr-runcation .pkg-date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ghr-runcation .pkg-date-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:0.02em;white-space:nowrap;}
.ghr-runcation .pkg-date-chip.batch1,.ghr-runcation .pkg-date-chip.batch-only{background:rgba(201,168,76,0.12);color:var(--gold);border:1px solid rgba(201,168,76,0.2);}
.ghr-runcation .pkg-date-chip.batch2{background:rgba(74,140,111,0.1);color:var(--jade-light);border:1px solid rgba(74,140,111,0.2);}
.ghr-runcation .pkg-date-label{font-size:10px;color:var(--muted2);letter-spacing:0.03em;}
.ghr-runcation .pkg-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.ghr-runcation .pkg-price{font-family:var(--ff-display);font-size:clamp(28px,4vw,38px);font-weight:600;color:var(--gold);}
.ghr-runcation .pkg-price-usd{font-size:13px;color:var(--muted2);}
.ghr-runcation .pkg-price-note{font-size:11px;color:var(--muted2);margin-bottom:12px;line-height:1.5;}
.ghr-runcation .pkg-cta-row{display:flex;gap:8px;flex-wrap:wrap;}
.ghr-runcation .pkg-btn{flex:1;min-width:120px;text-align:center;padding:10px 14px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border:none;font-family:var(--ff-body);transition:all 0.2s;}
.ghr-runcation .pkg-btn.primary{background:var(--gold);color:var(--dark);}
.ghr-runcation .pkg-btn.primary:hover{background:var(--gold-light);}
.ghr-runcation .pkg-btn.secondary{background:transparent;color:var(--muted);border:1px solid var(--border-soft);}
.ghr-runcation .pkg-btn.secondary:hover{color:var(--text);border-color:var(--border);}
.ghr-runcation .itinerary{padding:0;}
.ghr-runcation .itin-day{display:flex;align-items:stretch;border-bottom:1px solid var(--border-soft);transition:background 0.2s;}
.ghr-runcation .itin-day:last-child{border-bottom:none;}
.ghr-runcation .itin-day:hover{background:rgba(255,255,255,0.02);}
.ghr-runcation .itin-daynum{flex-shrink:0;width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 0;border-right:1px solid var(--border-soft);gap:1px;}
.ghr-runcation .itin-daynum .dnum{font-family:var(--ff-display);font-size:20px;font-weight:600;color:var(--gold-dim);line-height:1;}
.ghr-runcation .itin-daynum .dlbl{font-size:8px;letter-spacing:0.15em;color:var(--muted2);text-transform:uppercase;}
.ghr-runcation .itin-body{padding:11px 14px;flex:1;min-width:0;}
.ghr-runcation .itin-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;}
.ghr-runcation .itin-desc{font-size:12px;color:var(--muted);line-height:1.5;}
.ghr-runcation .itin-tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;margin-top:4px;padding:2px 7px;border-radius:20px;}
.ghr-runcation .itin-tag.race{background:rgba(201,168,76,0.12);color:var(--gold);}
.ghr-runcation .itin-tag.culture{background:rgba(74,140,111,0.12);color:var(--jade-light);}
.ghr-runcation .itin-tag.sport{background:rgba(138,180,248,0.1);color:#8ab4f8;}

/* ======= INCLUSIONS ======= */
.ghr-runcation .inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
@media(max-width:640px){.ghr-runcation .inc-grid{grid-template-columns:1fr;}}
.ghr-runcation .inc-card{background:var(--dark2);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:1.25rem;}
.ghr-runcation .inc-card.excl{border-color:rgba(180,80,80,0.15);}
.ghr-runcation .inc-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;margin-bottom:1rem;padding-bottom:10px;border-bottom:1px solid var(--border-soft);}
.ghr-runcation .inc-dot{width:8px;height:8px;border-radius:50%;}
.ghr-runcation .inc-dot.green{background:var(--jade);}
.ghr-runcation .inc-dot.red{background:#B44040;}
.ghr-runcation .inc-list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.ghr-runcation .inc-list li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--muted);line-height:1.5;}
.ghr-runcation .inc-list li .ic{flex-shrink:0;margin-top:2px;font-size:14px;}
.ghr-runcation .inc-list li .ic.yes{color:var(--jade);}
.ghr-runcation .inc-list li .ic.no{color:#B44040;}

/* ======= OFFERS ======= */
.ghr-runcation .disc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:2.5rem;}
@media(max-width:480px){.ghr-runcation .disc-grid{grid-template-columns:1fr;}}
.ghr-runcation .disc-card{background:var(--dark3);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:1.25rem;position:relative;overflow:hidden;transition:border-color 0.25s,transform 0.25s;}
.ghr-runcation .disc-card:hover{border-color:var(--border);transform:translateY(-2px);}
.ghr-runcation .disc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity 0.25s;}
.ghr-runcation .disc-card:hover::before{opacity:1;}
.ghr-runcation .disc-icon{font-size:22px;margin-bottom:8px;}
.ghr-runcation .disc-title{font-size:15px;font-weight:600;margin-bottom:5px;color:var(--text);}
.ghr-runcation .disc-desc{font-size:13px;color:var(--muted);line-height:1.6;font-weight:300;}
.ghr-runcation .disc-chip{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:0.05em;padding:3px 10px;border-radius:20px;background:rgba(201,168,76,0.12);color:var(--gold);}
.ghr-runcation .family-strip{background:linear-gradient(135deg,rgba(74,140,111,0.1),rgba(74,140,111,0.04));border:1px solid rgba(74,140,111,0.2);border-radius:var(--radius-lg);padding:1.5rem;margin-top:2rem;display:flex;gap:1.25rem;align-items:flex-start;}
@media(max-width:560px){.ghr-runcation .family-strip{flex-direction:column;gap:1rem;}}
.ghr-runcation .family-icon{width:48px;height:48px;background:rgba(74,140,111,0.15);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.ghr-runcation .family-text h3{font-family:var(--ff-display);font-size:clamp(18px,3vw,22px);font-weight:600;margin-bottom:6px;}
.ghr-runcation .family-text h3 em{font-style:italic;color:var(--jade-light);}
.ghr-runcation .family-text p{font-size:14px;color:var(--muted);line-height:1.7;font-weight:300;}
.ghr-runcation .family-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.ghr-runcation .fpill{font-size:11px;padding:4px 10px;border-radius:20px;background:rgba(74,140,111,0.12);color:var(--jade-light);border:1px solid rgba(74,140,111,0.2);}

/* ======= CTA / DIVIDER / FOOTER ======= */
.ghr-runcation .cta-block{background:var(--dark3);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,3rem) clamp(1.5rem,4vw,2rem);text-align:center;position:relative;overflow:hidden;margin-top:2.5rem;}
.ghr-runcation .cta-block::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(201,168,76,0.07),transparent);pointer-events:none;}
.ghr-runcation .cta-block h2{font-family:var(--ff-display);font-size:clamp(24px,4vw,44px);font-weight:400;margin-bottom:10px;}
.ghr-runcation .cta-block h2 em{font-style:italic;color:var(--gold);}
.ghr-runcation .cta-block p{font-size:15px;color:var(--muted);max-width:480px;margin:0 auto 1.5rem;line-height:1.7;font-weight:300;}
.ghr-runcation .cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;}
.ghr-runcation .deposit-note{margin-top:1.25rem;font-size:12px;color:var(--muted2);}
.ghr-runcation .divider{display:flex;align-items:center;gap:16px;margin:3rem clamp(1.25rem,5vw,3rem);color:var(--muted2);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;position:relative;z-index:2;}
.ghr-runcation .divider::before,.ghr-runcation .divider::after{content:'';flex:1;height:1px;background:var(--border-soft);}
.ghr-runcation .ghr-footer{padding:clamp(2rem,4vw,3rem) clamp(1.25rem,5vw,3rem) 2rem;border-top:1px solid var(--border-soft);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:flex-start;position:relative;z-index:2;}
.ghr-runcation .footer-logo{font-family:var(--ff-display);font-size:18px;font-weight:600;color:var(--gold);}
.ghr-runcation .footer-logo span{color:var(--muted);font-style:italic;font-weight:400;}
.ghr-runcation .footer-links{display:flex;gap:16px;flex-wrap:wrap;}
.ghr-runcation .footer-links a{font-size:12px;color:var(--muted2);text-decoration:none;transition:color 0.2s;}
.ghr-runcation .footer-links a:hover{color:var(--gold);}
.ghr-runcation .footer-note{font-size:11px;color:var(--muted2);width:100%;margin-top:0.5rem;}

/* ======= REVEAL ======= */
.ghr-runcation .reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;}
.ghr-runcation .reveal.visible{opacity:1;transform:none;}
.ghr-runcation .reveal-d1{transition-delay:0.1s;}
.ghr-runcation .reveal-d2{transition-delay:0.2s;}
.ghr-runcation .reveal-d3{transition-delay:0.3s;}

/* When used inside Elementor with the theme header present, the fixed
   topbar can overlap. Add body class 'ghr-runcation-page' (page template
   does this automatically) to offset, or use the Elementor Canvas layout. */
body.ghr-runcation-page{margin:0;}

/* ======= LOGOS ======= */
.ghr-runcation .topbar-logo-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.ghr-runcation .logo-chip{background:#fff;border-radius:8px;padding:5px 10px;display:inline-flex;align-items:center;justify-content:center;}
.ghr-runcation .topbar-logo-img{height:28px;width:auto;display:block;}
.ghr-runcation .footer-partners{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end;width:100%;margin-top:0.5rem;}
.ghr-runcation .partner-block{display:flex;flex-direction:column;gap:6px;}
.ghr-runcation .partner-label{font-size:10px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted2);}
.ghr-runcation .partner-block .logo-chip{padding:8px 12px;}
.ghr-runcation .partner-logo-img{height:30px;width:auto;display:block;}
@media(max-width:640px){.ghr-runcation .topbar-logo-img{height:24px;}}

/* ======= FEE TABLE (package pricing tiers) ======= */
.ghr-runcation .pkg-fees{display:flex;flex-direction:column;gap:6px;margin:10px 0 6px;}
.ghr-runcation .pkg-fee{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;border-radius:7px;background:rgba(255,255,255,0.03);border:1px solid var(--border-soft);}
.ghr-runcation .pkg-fee .fee-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;}
.ghr-runcation .pkg-fee .fee-amt{font-weight:600;color:var(--text);font-family:var(--ff-display);font-size:17px;white-space:nowrap;}
.ghr-runcation .pkg-fee.highlight{background:rgba(201,168,76,0.1);border-color:rgba(201,168,76,0.28);}
.ghr-runcation .pkg-fee.highlight .fee-label{color:var(--gold-light);}
.ghr-runcation .pkg-fee.highlight .fee-amt{color:var(--gold);}
.ghr-runcation .save-tag{font-size:9px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;background:var(--gold);color:var(--dark);padding:1px 6px;border-radius:4px;margin-left:2px;}

/* ============================================================
   LEGIBILITY FIXES + LIGHT MODE + LIGHTBOX  (appended overrides)
   ============================================================ */

/* Establish that this component supports both schemes */
.ghr-runcation{color-scheme:light dark;}

/* (1) Heading colour fix — a host theme's own h1..h4 colour rules win over
   our inherited cream because a direct element rule beats inheritance.
   Set the colour explicitly so headings are always legible. */
.ghr-runcation h1,
.ghr-runcation h2,
.ghr-runcation h3,
.ghr-runcation h4{color:var(--text);}

/* The gold/jade accent spans are more specific, so they still win, but make
   it explicit for safety. */
.ghr-runcation .section-title em,
.ghr-runcation .hero-title em,
.ghr-runcation .cta-block h2 em{color:var(--gold);}
.ghr-runcation .family-text h3 em{color:var(--jade-light);}

/* (2) Divider text was using the darkest muted tone — brighten it. */
.ghr-runcation .divider{color:var(--muted);}

/* ----- Persistent DARK zones (topbar, hero, mobile menu, lightbox) -----
   These stay dark in BOTH schemes (hero sits over photos), so their text is
   pinned to fixed light values and must not follow the light palette. */
.ghr-runcation .hero-title{color:#F4EEDC;}
.ghr-runcation .hero-sub{color:#CDC4B0;}
.ghr-runcation .hero-sub strong{color:#F4EEDC;}
.ghr-runcation .hero-stat .lbl{color:#CDC4B0;}
.ghr-runcation .hero-urgency p{color:#CDC4B0;}
.ghr-runcation .hero-stats{border-top-color:rgba(255,255,255,0.12);}
.ghr-runcation .topbar-nav a{color:#CDC4B0;}
.ghr-runcation .topbar-link.ghost{color:#CDC4B0;border-color:rgba(255,255,255,0.14);}
.ghr-runcation .menu-btn{color:#CDC4B0;border-color:rgba(255,255,255,0.14);}
.ghr-runcation .mobile-menu a{color:#CDC4B0;}
.ghr-runcation .mobile-menu a.nav-offers{color:var(--gold-light);}

/* Keep the hero overlay fixed-dark regardless of scheme (it used var(--dark)
   which would turn light in light mode and wash out the hero text). */
.ghr-runcation .hero-overlay{background:linear-gradient(90deg,#0E0D0B 0%,#0E0D0B 38%,rgba(14,13,11,0.85) 52%,rgba(14,13,11,0.3) 70%,transparent 100%),linear-gradient(180deg,rgba(14,13,11,0.4) 0%,transparent 30%,transparent 60%,#0E0D0B 100%);}
@media(max-width:768px){.ghr-runcation .hero-overlay{background:linear-gradient(180deg,rgba(14,13,11,0.3) 0%,rgba(14,13,11,0.5) 40%,rgba(14,13,11,0.9) 70%,#0E0D0B 100%);}}

/* (3) LIGHT MODE — brighter, classy parchment palette for the body zones.
   Triggered by the OS/browser scheme. Hero/topbar stay dark (handled above). */
@media (prefers-color-scheme: light){
  .ghr-runcation{
    --gold:#9A7A1F;        /* deepened for contrast on light */
    --gold-light:#B8942E;
    --gold-dim:#B8942E;
    --jade:#2E7355;
    --jade-light:#3C8A66;
    --dark:#FBF8F1;        /* page background */
    --dark2:#FFFFFF;       /* cards */
    --dark3:#F4EFE5;       /* subtle panels */
    --dark4:#EAE3D4;
    --border:rgba(154,122,31,0.32);
    --border-soft:rgba(40,34,20,0.12);
    --text:#2A2417;        /* ink */
    --muted:#675F50;
    --muted2:#938A7B;
  }
  /* Subtle fills that were white-on-dark need to flip to ink-on-light */
  .ghr-runcation::before{opacity:0.16;}
  .ghr-runcation .pkg-fee{background:rgba(40,34,20,0.035);}
  .ghr-runcation .itin-day:hover{background:rgba(40,34,20,0.035);}
  .ghr-runcation .btn-ghost:hover{background:rgba(40,34,20,0.05);}
  .ghr-runcation .pkg-card,
  .ghr-runcation .inc-card,
  .ghr-runcation .fact-card,
  .ghr-runcation .disc-card{box-shadow:0 1px 3px rgba(40,34,20,0.05);}
}

/* ============================================================
   GALLERY LIGHTBOX
   ============================================================ */
/* Signal clickability on real photos only (not placeholders). */
.ghr-runcation .gp:has(.gp-img){cursor:zoom-in;}
.ghr-runcation .gp:has(.gp-img)::after{content:'';position:absolute;inset:0;z-index:2;background:rgba(0,0,0,0);transition:background 0.2s;pointer-events:none;}
.ghr-runcation .gp:has(.gp-img):hover::after{background:rgba(0,0,0,0.28);}
.ghr-runcation .gp:has(.gp-img)::before{content:'\1F50D';position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.7);opacity:0;font-size:24px;transition:opacity 0.2s,transform 0.2s;pointer-events:none;}
.ghr-runcation .gp:has(.gp-img):hover::before{opacity:1;transform:translate(-50%,-50%) scale(1);}

.ghr-runcation .ghr-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(8,7,5,0.95);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.ghr-runcation .ghr-lightbox.open{display:flex;}
.ghr-runcation .glb-img{max-width:90vw;max-height:84vh;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,0.6);object-fit:contain;user-select:none;}
.ghr-runcation .glb-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.22);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:2;}
.ghr-runcation .glb-close:hover{background:rgba(255,255,255,0.2);}
.ghr-runcation .glb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.22);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:2;}
.ghr-runcation .glb-nav:hover{background:rgba(255,255,255,0.2);}
.ghr-runcation .glb-prev{left:18px;}
.ghr-runcation .glb-next{right:18px;}
.ghr-runcation .glb-caption{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,0.85);font-size:13px;font-family:var(--ff-body);padding:0 70px;display:flex;flex-direction:column;gap:3px;align-items:center;}
.ghr-runcation .glb-count{font-size:11px;color:rgba(255,255,255,0.5);letter-spacing:0.1em;}
@media(max-width:600px){
  .ghr-runcation .glb-nav{width:40px;height:40px;font-size:22px;}
  .ghr-runcation .glb-prev{left:10px;}
  .ghr-runcation .glb-next{right:10px;}
  .ghr-runcation .glb-img{max-width:94vw;max-height:78vh;}
  .ghr-runcation .glb-caption{padding:0 56px;}
}

/* Fallback for browsers without :has() — JS adds .gp-has-img to image cells. */
.ghr-runcation .gp.gp-has-img{cursor:zoom-in;}
.ghr-runcation .gp.gp-has-img::after{content:'';position:absolute;inset:0;z-index:2;background:rgba(0,0,0,0);transition:background 0.2s;pointer-events:none;}
.ghr-runcation .gp.gp-has-img:hover::after{background:rgba(0,0,0,0.28);}
.ghr-runcation .gp.gp-has-img::before{content:'\1F50D';position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.7);opacity:0;font-size:24px;transition:opacity 0.2s,transform 0.2s;pointer-events:none;}
.ghr-runcation .gp.gp-has-img:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1);}
