/* Safari website — individual safari detail redesign.
   Package-only overrides. No gradients; uses the active site brand colours. */
:root{
  --pkg-wine:var(--site-accent,#540205);
  --pkg-gold:var(--site-accent-2,#e79009);
  --pkg-orange:#e95803;
  --pkg-paper:#fffaf7;
  --pkg-line:#eadfd9;
}
.package-hero-safari{
  padding:26px 0 0!important;
  background:#fff!important;
  border-bottom:0!important;
}
.package-hero-safari .package-breadcrumbs{margin-bottom:17px}
.package-showcase{position:relative}
.package-showcase-media{
  position:relative;
  min-height:560px;
  border-radius:26px;
  overflow:hidden;
  background:#eee5e0;
  border:1px solid var(--pkg-line);
}
.package-showcase-media>img{display:block;width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center}
.package-showcase-media .package-hero-placeholder{position:absolute;inset:0}
.package-showcase-type{
  position:absolute;left:26px;top:24px;z-index:3;
  display:inline-flex;align-items:center;gap:8px;
  min-height:38px;padding:0 14px;border-radius:999px;
  background:#fff;color:var(--pkg-wine);border:1px solid rgba(84,2,5,.12);
  box-shadow:0 10px 26px rgba(31,12,8,.12);
  font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.package-showcase-type i{color:var(--pkg-orange);font-size:14px}
.package-showcase-copy{
  position:absolute;left:28px;bottom:86px;z-index:3;
  width:min(760px,calc(100% - 56px));
  padding:28px 31px 30px;
  border-radius:18px;
  background:rgba(84,2,5,.94);
  color:#fff;
  box-shadow:0 18px 42px rgba(31,8,8,.22);
}
.package-showcase-copy .package-kicker{color:#ffc368;font-size:10px;letter-spacing:.16em}
.package-showcase-copy h1{
  margin:10px 0 12px;
  color:#fff;
  font-family:var(--front-heading-font,"Playfair Display",Georgia,serif);
  font-size:clamp(38px,4.1vw,65px);line-height:1.02;letter-spacing:-.035em;font-weight:600;
}
.package-showcase-copy p{max-width:680px;margin:0;color:rgba(255,255,255,.86);font-size:15px;line-height:1.7}

.package-snapshot{
  position:relative;z-index:5;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);
  gap:22px;align-items:stretch;
  width:calc(100% - 56px);margin:-58px auto 0;
  padding:16px 16px 16px 22px;
  border:1px solid var(--pkg-line);border-radius:18px;
  background:#fff;
  box-shadow:0 22px 44px rgba(57,24,14,.12);
}
.package-snapshot-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
.package-snapshot-fact{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;min-width:0;padding:10px 18px;border-right:1px solid #eee4df}
.package-snapshot-fact:first-child{padding-left:4px}.package-snapshot-fact:last-child{border-right:0}
.package-snapshot-fact>i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff2e8;color:var(--pkg-orange);font-size:17px}
.package-snapshot-fact span{min-width:0}.package-snapshot-fact small,.package-snapshot-fact strong{display:block}
.package-snapshot-fact small{margin-bottom:4px;color:#9b847a;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.package-snapshot-fact strong{overflow:hidden;color:#3b221c;font-size:12px;line-height:1.35;font-weight:850;text-overflow:ellipsis}
.package-snapshot-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-content:center;padding:8px 0 8px 18px;border-left:1px solid #eee4df}
.package-snapshot-actions .package-hero-price{grid-column:1/-1;display:flex;flex-direction:row;align-items:baseline;gap:7px;margin:0 0 2px}
.package-snapshot-actions .package-hero-price small,.package-snapshot-actions .package-hero-price span{color:#8a746b;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.package-snapshot-actions .package-hero-price strong{color:var(--pkg-wine);font-size:22px;line-height:1}
.package-snapshot-actions .package-primary-button,.package-snapshot-actions .package-whatsapp-button{min-height:46px;border-radius:10px;padding:0 14px;font-size:11px;font-weight:900;white-space:nowrap}
.package-snapshot-actions .package-primary-button{background:var(--pkg-gold)!important;color:#2a160d!important;border:1px solid var(--pkg-gold)!important}
.package-snapshot-actions .package-primary-button:hover{background:var(--pkg-orange)!important;border-color:var(--pkg-orange)!important;color:#fff!important}
.package-snapshot-actions .package-whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#157347;border:1px solid #25D366}
.package-snapshot-actions .package-whatsapp-button:hover{background:#25D366;color:#fff}
.package-showcase-meta{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 30px 8px}
.package-showcase-meta .package-share{margin:0;color:#7a665d}
.package-showcase-meta .package-share>span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.package-showcase-meta .package-share a,.package-showcase-meta .package-share button{background:#fff;border-color:var(--pkg-line);color:var(--pkg-wine)}
.package-showcase-meta .package-share a:hover,.package-showcase-meta .package-share button:hover{background:var(--pkg-wine);border-color:var(--pkg-wine);color:#fff}
.package-showcase-meta .package-trust-line{margin:0;color:#77665e;font-size:10px}
.package-showcase-meta .package-trust-line strong{color:var(--pkg-wine)}
.package-showcase-meta .package-trust-line>i{color:var(--pkg-wine)}
.package-showcase-meta .package-trust-line img{width:36px;height:36px;border:1px solid var(--pkg-line)}
.package-showcase-meta .package-trust-line span i{color:var(--pkg-orange)}

.package-jump-nav-sticky{
  position:sticky;
  top:0;
  z-index:120;
  width:100%;
  padding:8px 0;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(229,213,205,.9);
  box-shadow:0 8px 20px rgba(45,24,16,.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.package-jump-nav{
  position:relative;
  display:flex;align-items:center;gap:4px;margin:0;
  padding:9px;border:1px solid var(--pkg-line);border-radius:14px;
  background:#fff;box-shadow:none
}
.package-jump-nav a,.package-jump-nav button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:9px;font-size:10px;font-weight:850;letter-spacing:.02em}
.package-jump-nav a{color:#5c4942}.package-jump-nav a:hover{background:#fff3eb;color:var(--pkg-wine)}
.package-jump-nav button{margin-left:auto;border:0;background:var(--pkg-wine);color:#fff;gap:8px;cursor:pointer}.package-jump-nav button:hover{background:var(--pkg-orange)}

.package-main-section{padding-top:46px!important;background:#fbf8f6!important}
.package-main-layout{grid-template-columns:minmax(0,1fr) 370px!important;gap:30px!important}
.package-content-column{gap:22px!important}
.package-section-card,.package-list-card{border:1px solid var(--pkg-line)!important;border-radius:16px!important;box-shadow:none!important}
.package-section-card{position:relative;overflow:hidden}
.package-section-card:before{content:"";position:absolute;left:0;top:28px;width:4px;height:42px;border-radius:0 4px 4px 0;background:var(--pkg-gold)}
.package-section-heading>span,.package-list-heading span,.package-sidebar-eyebrow,.package-related-heading>div>span{color:var(--pkg-orange)!important}
.package-section-heading h2,.package-list-heading h2,.package-related-heading h2{color:var(--pkg-wine)!important}
.package-richtext h2,.package-richtext h3{color:var(--pkg-wine)!important}
.package-richtext a{color:var(--pkg-orange)!important}.package-richtext a:hover{color:var(--pkg-wine)!important}

/* Day by day becomes a restrained vertical timeline. */
.package-itinerary{position:relative;gap:14px!important;padding-left:9px}
.package-itinerary:before{content:"";position:absolute;left:45px;top:23px;bottom:23px;width:1px;background:#e5d5cd}
.package-day-item{position:relative;z-index:1;border:1px solid var(--pkg-line)!important;border-radius:14px!important;background:#fff!important;overflow:hidden}
.package-day-trigger{grid-template-columns:82px minmax(0,1fr) 34px!important;gap:13px!important;padding:15px 16px!important;background:#fff!important}
.package-day-number{min-width:72px!important;width:auto!important;height:44px!important;padding:0 15px!important;border-radius:12px!important;background:var(--pkg-wine)!important;color:#fff!important;font-size:10px!important;box-shadow:0 0 0 5px #fbf8f6;white-space:nowrap;line-height:1!important}
.package-day-title strong{color:var(--pkg-wine)!important;font-size:15px!important}
.package-day-title small i,.package-day-details i{color:var(--pkg-orange)!important}
.package-day-chevron{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff3eb;color:var(--pkg-wine)!important}
.package-day-panel{padding-left:111px!important}
.package-day-copy{border-top:1px solid #f0e6e1;padding-top:17px!important}
.package-day-details span{background:#fffaf7!important;border-color:#eee0d8!important}
.package-day-details b{color:var(--pkg-wine)!important}

.package-route-map{background:#fff8f4!important;border-color:#eadbd3!important}.package-route-map-bg{fill:#fff8f4!important}
.package-route-line{stroke:var(--pkg-orange)!important}.package-route-stop circle,.package-route-number{fill:var(--pkg-wine);background:var(--pkg-wine)!important}
.package-route-label{color:var(--pkg-wine)!important}.package-route-label b{background:var(--pkg-wine)!important}
.package-route-vehicle{color:var(--pkg-orange)!important;border-color:var(--pkg-orange)!important}

.package-inclusions-grid{gap:18px!important}
.package-list-card.is-included{border-top:4px solid var(--pkg-gold)!important}.package-list-card.is-excluded{border-top:4px solid var(--pkg-wine)!important}
.package-list-card.is-included .package-list-heading>i{color:var(--pkg-gold)!important}.package-list-card.is-excluded .package-list-heading>i{color:var(--pkg-wine)!important}

.package-sidebar-inner{top:90px!important;gap:14px!important}
.package-sidebar-card{border:1px solid var(--pkg-line)!important;border-radius:15px!important;box-shadow:none!important}
.package-summary-card{background:var(--pkg-wine)!important;border-color:var(--pkg-wine)!important;color:#fff}
.package-summary-card .package-sidebar-eyebrow{color:#ffc368!important}
.package-summary-card .package-sidebar-price small,.package-summary-card .package-sidebar-price span{color:rgba(255,255,255,.68)!important}.package-summary-card .package-sidebar-price strong{color:#fff!important}
.package-summary-card .package-facts-list>div{border-color:rgba(255,255,255,.14)!important}.package-summary-card .package-facts-list dt{color:rgba(255,255,255,.72)!important}.package-summary-card .package-facts-list dt i{color:#ffc368!important}.package-summary-card .package-facts-list dd{color:#fff!important}
.package-enquiry-card{border-top:4px solid var(--pkg-gold)!important}.package-enquiry-card h2{color:var(--pkg-wine)!important}.package-enquiry-form button[type="submit"]{background:var(--pkg-wine)!important}.package-enquiry-form button[type="submit"]:hover{background:var(--pkg-orange)!important}
.package-rate-list strong,.package-option-group>strong{color:var(--pkg-wine)!important}
.package-platform-links a:hover{border-color:var(--pkg-orange)!important;color:var(--pkg-orange)!important}
.package-price-table th{background:#fff5ef!important;color:var(--pkg-wine)!important}.package-price-table strong{color:var(--pkg-wine)}

.package-related-section{background:#fff!important;border-top:1px solid var(--pkg-line)!important}
.package-related-card{border-color:var(--pkg-line)!important;box-shadow:none!important}
.package-related-card:hover{box-shadow:0 14px 30px rgba(57,24,14,.09)!important}

html{scroll-padding-top:90px}

@media(max-width:1280px){
  .package-snapshot-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .package-snapshot-fact:nth-child(2){border-right:0}.package-snapshot-fact:nth-child(-n+2){border-bottom:1px solid #eee4df}
  .package-main-layout{grid-template-columns:minmax(0,1fr) 340px!important}
}
@media(max-width:1120px){
  .package-showcase-media,.package-showcase-media>img{min-height:510px}
  .package-showcase-copy{bottom:105px}
  .package-snapshot{grid-template-columns:1fr;width:calc(100% - 42px);margin-top:-72px;padding:15px 18px}
  .package-snapshot-actions{grid-template-columns:minmax(0,1fr) minmax(190px,.8fr);padding:12px 0 0;border-left:0;border-top:1px solid #eee4df}
  .package-snapshot-actions .package-hero-price{grid-column:1}.package-snapshot-actions .package-primary-button{grid-column:2;grid-row:1/3}.package-snapshot-actions .package-whatsapp-button{grid-column:1;grid-row:2}
  .package-main-layout{grid-template-columns:1fr!important}.package-sidebar-inner{position:static!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media(max-width:820px){
  .package-page-width{width:min(calc(100% - 30px),1180px)!important}
  .package-showcase-media,.package-showcase-media>img{min-height:520px}
  .package-showcase-copy{left:18px;bottom:118px;width:calc(100% - 36px);padding:23px 22px;border-radius:15px}
  .package-showcase-copy h1{font-size:clamp(34px,8vw,50px)}
  .package-showcase-type{left:18px;top:18px}
  .package-snapshot{width:calc(100% - 24px);margin-top:-88px}
  .package-showcase-meta{align-items:flex-start;flex-direction:column;padding:16px 14px 7px}
  .package-jump-nav{overflow-x:auto;justify-content:flex-start;white-space:nowrap;scrollbar-width:none}.package-jump-nav::-webkit-scrollbar{display:none}.package-jump-nav button{margin-left:4px;flex:0 0 auto}.package-jump-nav a{flex:0 0 auto}
}
@media(max-width:620px){
  .package-hero-safari{padding-top:14px!important}
  .package-page-width{width:calc(100% - 20px)!important}
  .package-showcase-media{border-radius:16px;min-height:500px}.package-showcase-media>img{min-height:500px}
  .package-showcase-copy{bottom:155px;padding:20px 18px}.package-showcase-copy p{font-size:13px;line-height:1.6}.package-showcase-copy h1{font-size:clamp(31px,10vw,43px)}
  .package-snapshot{grid-template-columns:1fr;width:calc(100% - 14px);margin-top:-135px;padding:12px;border-radius:14px}
  .package-snapshot-facts{grid-template-columns:1fr 1fr}.package-snapshot-fact{grid-template-columns:34px minmax(0,1fr);padding:10px 8px}.package-snapshot-fact>i{width:32px;height:32px;font-size:14px}.package-snapshot-fact small{font-size:8px}.package-snapshot-fact strong{font-size:10px}
  .package-snapshot-actions{grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}.package-snapshot-actions .package-hero-price{grid-column:1/-1}.package-snapshot-actions .package-primary-button{grid-column:1;grid-row:auto}.package-snapshot-actions .package-whatsapp-button{grid-column:2;grid-row:auto}.package-snapshot-actions .package-primary-button,.package-snapshot-actions .package-whatsapp-button{white-space:normal;min-height:48px;padding:8px;font-size:10px}
  .package-showcase-meta{padding-left:8px;padding-right:8px}.package-showcase-meta .package-trust-line{gap:8px}
  .package-jump-nav{border-radius:10px;padding:7px}.package-jump-nav a,.package-jump-nav button{min-height:36px;padding:0 11px;font-size:9px}
  .package-main-section{padding-top:32px!important}.package-section-card,.package-list-card{padding:20px 16px!important}
  .package-day-trigger{grid-template-columns:70px minmax(0,1fr) 30px!important;padding:13px 10px!important;gap:10px!important}.package-day-number{width:auto!important;height:38px!important;min-width:62px!important;padding:0 11px!important;border-radius:10px!important;font-size:9px!important}.package-itinerary:before{left:39px}.package-day-panel{padding:0 12px 15px 90px!important}.package-day-details{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  .package-snapshot-facts{grid-template-columns:1fr}.package-snapshot-fact,.package-snapshot-fact:nth-child(2){border-right:0!important;border-bottom:1px solid #eee4df!important}.package-snapshot-fact:last-child{border-bottom:0!important}
  .package-showcase-media,.package-showcase-media>img{min-height:560px}.package-showcase-copy{bottom:220px}
  .package-snapshot{margin-top:-205px}
}


/* Font visibility safeguards for sidebar facts and itinerary markers */
.package-summary-card{background:var(--pkg-wine,#540205)!important;border-color:var(--pkg-wine,#540205)!important;color:#fff!important}
.package-summary-card .package-sidebar-eyebrow{color:#ffc368!important}
.package-summary-card .package-sidebar-price,
.package-summary-card .package-sidebar-price strong,
.package-summary-card .package-sidebar-price small,
.package-summary-card .package-sidebar-price span,
.package-summary-card .package-facts-list dt,
.package-summary-card .package-facts-list dd,
.package-summary-card .package-facts-list dt i{color:inherit}
.package-summary-card .package-sidebar-price strong,
.package-summary-card .package-facts-list dd{color:#fff!important}
.package-summary-card .package-sidebar-price small,
.package-summary-card .package-sidebar-price span,
.package-summary-card .package-facts-list dt{color:rgba(255,255,255,.78)!important}
.package-summary-card .package-facts-list dt i{color:#ffc368!important}
.package-day-number{
  background:var(--pkg-wine,#540205)!important;
  color:#fff!important;
  border:1px solid rgba(84,2,5,.08)!important;
}
.package-day-title small{color:#8f7065!important}
.package-day-title strong{color:var(--pkg-wine,#540205)!important}


/* ============================================================
   Safari safari route journey redesign
   Replaces the plotted coordinate map with a connected route sequence.
   Uses the live backend brand colours when available.
   ============================================================ */
.package-route-journey-section{
  overflow:hidden;
}
.package-route-heading{
  max-width:760px;
}
.package-route-journey{
  display:flex;
  align-items:stretch;
  gap:0;
  width:100%;
  margin-top:26px;
  overflow-x:auto;
  padding:4px 2px 12px;
  scrollbar-width:thin;
}
.package-route-stage{
  flex:1 0 190px;
  min-width:190px;
  display:flex;
  flex-direction:column;
  position:relative;
  border:1px solid var(--brand-secondary,var(--pkg-gold));
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.package-route-stage.is-start,
.package-route-stage.is-finish{
  border-color:var(--brand-primary,var(--pkg-wine));
}
.package-route-stage-marker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:52px;
  padding:0 16px;
  background:var(--brand-primary,var(--pkg-wine));
}
.package-route-stage-marker span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--brand-secondary,var(--pkg-gold));
  color:var(--brand-primary,var(--pkg-wine));
  font-size:11px;
  font-weight:900;
}
.package-route-stage-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:18px 16px 17px;
}
.package-route-stage-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:10px;
}
.package-route-stage-topline small{
  color:var(--brand-secondary,var(--pkg-gold));
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.package-route-stage-topline em{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:0 8px;
  border-radius:999px;
  background:var(--brand-secondary,var(--pkg-gold));
  color:var(--brand-primary,var(--pkg-wine));
  font-size:8px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.package-route-stage h3{
  margin:0 0 9px;
  color:var(--brand-primary,var(--pkg-wine))!important;
  font-size:16px;
  line-height:1.28;
}
.package-route-stage p{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 16px;
  color:var(--brand-primary,var(--pkg-wine));
  font-size:10.5px;
  line-height:1.5;
}
.package-route-stage p i{
  color:var(--brand-secondary,var(--pkg-gold));
}
.package-route-stage a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  align-self:flex-start;
  margin-top:auto;
  min-height:34px;
  padding:0 10px;
  border-radius:7px;
  background:var(--brand-secondary,var(--pkg-gold));
  color:var(--brand-primary,var(--pkg-wine))!important;
  font-size:9.5px;
  font-weight:850;
  transition:background .2s ease,color .2s ease;
}
.package-route-stage a:hover,
.package-route-stage a:focus-visible{
  background:var(--brand-primary,var(--pkg-wine));
  color:#fff!important;
}
.package-route-connector{
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  min-height:160px;
}
.package-route-connector span{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:2px;
  background:var(--brand-secondary,var(--pkg-gold));
  transform:translateY(-50%);
}
.package-route-connector i{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--brand-secondary,var(--pkg-gold));
  color:var(--brand-primary,var(--pkg-wine));
  font-size:13px;
}
.package-route-summary-strip{
  display:grid;
  grid-template-columns:auto minmax(40px,1fr) auto;
  align-items:center;
  gap:14px;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid var(--brand-secondary,var(--pkg-gold));
  border-radius:12px;
  background:#fff;
}
.package-route-summary-strip>div{
  display:flex;
  align-items:center;
  gap:9px;
}
.package-route-summary-strip>div>i{
  color:var(--brand-secondary,var(--pkg-gold));
  font-size:18px;
}
.package-route-summary-strip span span,
.package-route-summary-strip>div>span{
  display:flex;
  flex-direction:column;
}
.package-route-summary-strip small{
  color:var(--brand-primary,var(--pkg-wine));
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.package-route-summary-strip strong{
  color:var(--brand-primary,var(--pkg-wine));
  font-size:11.5px;
}
.package-route-summary-line{
  height:1px;
  background:var(--brand-secondary,var(--pkg-gold));
}

/* Hide legacy plotted route styles if older markup survives in cache. */
.package-route-map,
.package-route-legend{display:none!important}

@media(max-width:760px){
  .package-route-journey{
    flex-direction:column;
    overflow:visible;
    gap:0;
    padding-bottom:0;
  }
  .package-route-stage{
    flex:none;
    min-width:0;
    width:100%;
  }
  .package-route-connector{
    flex:none;
    width:100%;
    min-height:42px;
    height:42px;
  }
  .package-route-connector span{
    left:50%;
    right:auto;
    top:0;
    bottom:0;
    width:2px;
    height:auto;
    transform:translateX(-50%);
  }
  .package-route-connector i{
    transform:rotate(90deg);
  }
  .package-route-summary-strip{
    grid-template-columns:1fr;
    gap:10px;
  }
  .package-route-summary-line{
    width:1px;
    height:18px;
    margin-left:9px;
  }
}


/* ============================================================
   Safari package hero enquiry CTA refinement
   Uses backend Primary and Secondary brand colour variables.
   ============================================================ */
.package-snapshot-actions{
  grid-template-columns:minmax(145px,1fr) auto!important;
  column-gap:10px!important;
}
.package-snapshot-actions .package-primary-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:145px!important;
  min-height:46px!important;
  padding:0 16px!important;
  border:1px solid var(--pkg-gold)!important;
  border-radius:10px!important;
  background:var(--pkg-gold)!important;
  color:var(--pkg-wine)!important;
  font-size:10.5px!important;
  font-weight:850!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease!important;
}
.package-snapshot-actions .package-primary-button i{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  border-radius:50%!important;
  border:1px solid currentColor!important;
  font-size:10px!important;
}
.package-snapshot-actions .package-primary-button:hover,
.package-snapshot-actions .package-primary-button:focus-visible{
  background:var(--pkg-wine)!important;
  border-color:var(--pkg-wine)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.package-snapshot-actions .package-primary-button:active{
  transform:translateY(0)!important;
}

@media(max-width:620px){
  .package-snapshot-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .package-snapshot-actions .package-primary-button,
  .package-snapshot-actions .package-whatsapp-button{
    min-width:0!important;
    width:100%!important;
    white-space:normal!important;
  }
}

/* ============================================================
   Individual package cover layout repair
   Keep the detail hero wide and responsive. Source images retain
   their proportions through object-fit; no 4:3 width cap is applied
   to the individual safari showcase.
   ============================================================ */
.package-showcase{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.package-showcase-media{
  width:100%!important;
  aspect-ratio:auto!important;
}
.package-showcase-media>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* ============================================================
   Destination-aware safari gallery
   Desktop 1100px+: package cover + up to four destination photos.
   Smaller screens: keep the cover full width and show a swipe gallery.
   ============================================================ */
.package-showcase-main{
  position:relative;
  min-width:0;
  min-height:560px;
  overflow:hidden;
  background:#eee5e0;
}
.package-showcase-main>img{
  display:block;
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  object-position:center;
}
.package-showcase-main .package-hero-placeholder{position:absolute;inset:0}
.package-hero-gallery{display:none}
.package-responsive-gallery{display:none}

@media(min-width:1100px){
  .package-showcase-media.has-destination-gallery{
    display:grid;
    grid-template-columns:minmax(0,1.72fr) minmax(320px,.92fr);
    gap:10px;
    min-height:560px;
    background:#fff;
  }
  .package-showcase-media.has-destination-gallery .package-showcase-main,
  .package-showcase-media.has-destination-gallery .package-showcase-main>img{
    min-height:560px;
    height:100%;
  }
  .package-showcase-media.has-destination-gallery .package-showcase-copy{
    width:min(620px,calc(100% - 56px));
  }
  .package-showcase-media.has-destination-gallery .package-showcase-copy h1{
    font-size:clamp(34px,3.25vw,54px);
  }
  .package-hero-gallery{
    display:grid;
    min-width:0;
    min-height:560px;
    gap:10px;
    background:#fff;
  }
  .package-hero-gallery-count-1{grid-template-columns:1fr;grid-template-rows:1fr}
  .package-hero-gallery-count-2{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
  .package-hero-gallery-count-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.04fr .96fr}
  .package-hero-gallery-count-3 .package-hero-gallery-tile:first-child{grid-column:1/-1}
  .package-hero-gallery-count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
  .package-hero-gallery-tile{
    position:relative;
    min-width:0;
    min-height:0;
    margin:0;
    padding:0;
    overflow:hidden;
    border:0;
    background:#eee5e0;
    cursor:pointer;
  }
  .package-hero-gallery-tile img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .35s ease;
  }
  .package-hero-gallery-tile:hover img,
  .package-hero-gallery-tile:focus-visible img{transform:scale(1.035)}
  .package-hero-gallery-tile:focus-visible{outline:3px solid var(--pkg-gold);outline-offset:-3px}
  .package-gallery-destination{
    position:absolute;
    left:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.93);
    color:var(--pkg-wine);
    font-size:9px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:.04em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    box-shadow:0 7px 18px rgba(20,8,5,.13);
  }
  .package-gallery-more{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:rgba(35,13,9,.44);
    color:#fff;
    font-size:15px;
    font-weight:900;
    letter-spacing:.02em;
  }
}

@media(max-width:1099px){
  .package-showcase-main,
  .package-showcase-main>img{min-height:510px}
  .package-showcase-media.has-destination-gallery{display:block}
  .package-responsive-gallery{
    display:block;
    margin:18px 0 4px;
    padding:18px;
    border:1px solid var(--pkg-line);
    border-radius:16px;
    background:#fff;
  }
  .package-responsive-gallery-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:13px;
  }
  .package-responsive-gallery-heading span{
    display:block;
    margin-bottom:5px;
    color:var(--pkg-orange);
    font-size:9px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
  }
  .package-responsive-gallery-heading h2{
    margin:0;
    color:var(--pkg-wine);
    font-family:var(--front-heading-font,"Playfair Display",Georgia,serif);
    font-size:24px;
    line-height:1.15;
  }
  .package-responsive-gallery-heading small{color:#8b766d;font-size:10px;white-space:nowrap}
  .package-responsive-gallery-track{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .package-responsive-gallery-track::-webkit-scrollbar{display:none}
  .package-responsive-gallery-card{
    position:relative;
    flex:0 0 min(310px,72vw);
    aspect-ratio:4/3;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:12px;
    background:#eee5e0;
    cursor:pointer;
    scroll-snap-align:start;
  }
  .package-responsive-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
  .package-responsive-gallery-card span{
    position:absolute;
    left:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--pkg-wine);
    font-size:9px;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .package-responsive-gallery-card:focus-visible{outline:3px solid var(--pkg-gold);outline-offset:-3px}
}

@media(max-width:620px){
  .package-showcase-main,
  .package-showcase-main>img{min-height:500px}
  .package-responsive-gallery{margin-top:14px;padding:14px 12px;border-radius:13px}
  .package-responsive-gallery-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .package-responsive-gallery-heading h2{font-size:21px}
  .package-responsive-gallery-card{flex-basis:82vw}
}
@media(max-width:430px){
  .package-showcase-main,
  .package-showcase-main>img{min-height:560px}
}

/* Full-screen lightbox used by both the desktop mosaic and responsive gallery. */
.package-gallery-lightbox[hidden]{display:none!important}
.package-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:2100;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(17,8,6,.94);
}
.package-gallery-lightbox-stage{
  position:relative;
  display:grid;
  place-items:center;
  width:min(1180px,94vw);
  height:min(820px,88vh);
}
.package-gallery-lightbox figure{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0;
}
.package-gallery-lightbox figure img{
  display:block;
  max-width:100%;
  max-height:calc(100% - 44px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 24px 65px rgba(0,0,0,.34);
}
.package-gallery-lightbox figcaption{
  min-height:28px;
  padding-top:10px;
  color:rgba(255,255,255,.86);
  font-size:12px;
  text-align:center;
}
.package-gallery-lightbox-close,
.package-gallery-lightbox-nav{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.1);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.package-gallery-lightbox-close{top:0;right:0;width:42px;height:42px;border-radius:50%}
.package-gallery-lightbox-nav{top:50%;transform:translateY(-50%);width:46px;height:54px;border-radius:12px;font-size:20px}
.package-gallery-lightbox-nav.is-prev{left:0}.package-gallery-lightbox-nav.is-next{right:0}
.package-gallery-lightbox-close:hover,
.package-gallery-lightbox-nav:hover{background:#fff;color:var(--pkg-wine)}
body.package-gallery-is-open{overflow:hidden}
@media(max-width:620px){
  .package-gallery-lightbox{padding:14px}
  .package-gallery-lightbox-stage{width:100%;height:88vh}
  .package-gallery-lightbox-nav{width:38px;height:46px}
  .package-gallery-lightbox-close{width:38px;height:38px}
}

/* ============================================================
   Small-phone safari cover treatment
   Below 490px the full cover photograph is shown in its natural
   aspect ratio. The title/description panel no longer covers the
   photograph; it becomes a separate block below the image.
   ============================================================ */
@media(max-width:490px){
  .package-showcase-media{
    min-height:0!important;
    overflow:visible!important;
    border-radius:16px!important;
    background:#fff!important;
  }
  .package-showcase-main{
    min-height:0!important;
    overflow:hidden!important;
    border-radius:16px!important;
    background:#fff!important;
  }
  .package-showcase-main>img,
  .package-showcase-media>img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#eee5e0!important;
  }
  .package-showcase-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    margin:0!important;
    padding:20px 18px 22px!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .package-showcase-copy h1{
    margin-top:8px!important;
    font-size:clamp(28px,9.2vw,38px)!important;
    line-height:1.06!important;
  }
  .package-showcase-copy p{
    font-size:13px!important;
    line-height:1.6!important;
  }
  .package-showcase-type{
    left:14px!important;
    top:14px!important;
  }
  .package-snapshot{
    width:100%!important;
    margin:14px 0 0!important;
  }
}



/* Safari Travel Company — enquiry-led package presentation (no public safari prices) */
.package-quote-summary{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}.package-quote-summary>i{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:var(--brand-secondary);color:#fff}.package-quote-summary small,.package-quote-summary strong,.package-quote-summary span{display:block}.package-quote-summary small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.66)}.package-quote-summary strong{margin:3px 0;color:#fff;font-size:14px}.package-quote-summary span{color:rgba(255,255,255,.72);font-size:11px;line-height:1.45}
.package-suitable-strip{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;border:1px solid #eadfd8;border-left:4px solid var(--brand-secondary);background:#fff}.package-suitable-strip>i{font-size:22px;color:var(--brand-secondary)}.package-suitable-strip span,.package-suitable-strip strong{display:block}.package-suitable-strip span{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-secondary)}.package-suitable-strip strong{margin-top:4px;color:var(--brand-primary);font-size:15px;line-height:1.55}
.package-choice-groups{display:grid;gap:24px}.package-choice-group{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding-top:20px;border-top:1px solid #eadfd8}.package-choice-group:first-child{padding-top:0;border-top:0}.package-choice-group-title{display:flex;gap:10px;align-items:center}.package-choice-group-title i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--brand-secondary);color:var(--brand-secondary)}.package-choice-group-title h3{margin:0;color:var(--brand-primary);font-size:17px}.package-choice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.package-choice-card{padding:16px;border:1px solid #eadfd8;border-radius:12px;background:#fff}.package-choice-card strong{display:block;color:var(--brand-primary);font-size:14px}.package-choice-card small{display:flex;gap:6px;align-items:center;margin-top:6px;color:#78675f}.package-choice-card>div{margin-top:9px;color:#665750;font-size:12px;line-height:1.6}.package-choice-card>div p{margin:0}
.package-enquiry-choices{margin:14px 0 16px;padding:0;border:0}.package-enquiry-choices legend{font-size:12px;font-weight:850;color:var(--brand-primary);margin-bottom:8px}.package-enquiry-choices legend span{font-weight:500;color:#8b7b73}.package-enquiry-choices>div{display:grid;gap:7px}.package-enquiry-choices label{display:flex!important;gap:9px;align-items:flex-start;padding:10px 11px;border:1px solid #eadfd8;border-radius:9px;cursor:pointer;margin:0!important}.package-enquiry-choices label:has(input:checked){border-color:var(--brand-secondary);background:color-mix(in srgb,var(--brand-secondary) 6%,#fff)}.package-enquiry-choices input{margin-top:3px}.package-enquiry-choices strong,.package-enquiry-choices small{display:block}.package-enquiry-choices strong{font-size:12px}.package-enquiry-choices small{font-size:10px;color:#8b7b73;margin-top:2px}
.package-highlights-richtext ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding-left:0;list-style:none}.package-highlights-richtext li{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid #eee5df}.package-highlights-richtext li:before{content:"\F26A";position:absolute;left:0;top:10px;font-family:"bootstrap-icons";color:var(--brand-secondary)}
@media(max-width:900px){.package-choice-group{grid-template-columns:1fr}.package-choice-cards{grid-template-columns:1fr}.package-highlights-richtext ul{grid-template-columns:1fr}}

.package-final-quote-cta{padding:0 0 58px;background:#fff}.package-final-quote-inner{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:32px 36px;background:var(--brand-primary);color:#fff}.package-final-quote-inner>div{max-width:780px}.package-final-quote-inner span{display:block;margin-bottom:7px;color:var(--brand-secondary);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.package-final-quote-inner h2{margin:0 0 8px;color:#fff;font-family:var(--front-heading-font,"Playfair Display",Georgia,serif);font-size:clamp(28px,3vw,42px);line-height:1.08}.package-final-quote-inner p{margin:0;color:rgba(255,255,255,.76);font-size:13px;line-height:1.65}.package-final-quote-inner button{flex:0 0 auto;min-height:50px;padding:0 23px;border:1px solid var(--brand-secondary);border-radius:8px;background:var(--brand-secondary);color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.package-final-quote-inner button:hover{background:#fff;border-color:#fff;color:var(--brand-primary)}
@media(max-width:780px){.package-final-quote-cta{padding-bottom:40px}.package-final-quote-inner{display:block;padding:26px 22px}.package-final-quote-inner button{width:100%;margin-top:20px}}

/* ============================================================
   Esperanza package route / location redesign
   Editorial route overview + vertical destination timeline.
   No gradients. Responsive from desktop to narrow phones.
   ============================================================ */
.package-route-editorial-section{
  overflow:hidden;
}
.package-route-editorial-section .package-route-heading{
  max-width:760px;
}
.package-route-editorial{
  display:grid;
  grid-template-columns:minmax(220px, .72fr) minmax(0, 1.65fr);
  gap:32px;
  align-items:start;
  margin-top:28px;
}
.package-route-overview{
  position:sticky;
  top:120px;
  padding:24px;
  border:1px solid var(--site-line,#e7ded8);
  border-radius:16px;
  background:#fff;
}
.package-route-overview-kicker{
  margin-bottom:14px;
  color:var(--brand-secondary,var(--site-accent-2,#e95803));
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.package-route-overview-count{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding-bottom:20px;
  border-bottom:1px solid var(--site-line,#e7ded8);
}
.package-route-overview-count strong{
  color:var(--brand-primary,var(--site-accent,#1a171b));
  font-size:42px;
  line-height:.9;
  font-weight:800;
}
.package-route-overview-count span{
  color:var(--site-muted,#756a63);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.package-route-overview-facts{
  display:grid;
  gap:0;
  margin-top:8px;
}
.package-route-overview-fact{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px solid var(--site-line,#e7ded8);
}
.package-route-overview-fact:last-child{border-bottom:0;padding-bottom:0}
.package-route-overview-fact>i{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:8px;
  background:var(--brand-secondary,var(--site-accent-2,#e95803));
  color:#fff;
  font-size:13px;
}
.package-route-overview-fact span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.package-route-overview-fact small{
  color:var(--site-muted,#756a63);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.package-route-overview-fact strong{
  color:var(--brand-primary,var(--site-accent,#1a171b));
  font-size:12px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.package-route-timeline{
  min-width:0;
}
.package-route-stop{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  min-width:0;
}
.package-route-stop-rail{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:100%;
}
.package-route-stop-number{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:2px solid var(--brand-secondary,var(--site-accent-2,#e95803));
  border-radius:50%;
  background:#fff;
  color:var(--brand-primary,var(--site-accent,#1a171b));
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}
.package-route-stop.is-start .package-route-stop-number,
.package-route-stop.is-finish .package-route-stop-number{
  background:var(--brand-secondary,var(--site-accent-2,#e95803));
  color:#fff;
}
.package-route-stop-line{
  flex:1;
  width:2px;
  min-height:34px;
  background:var(--brand-secondary,var(--site-accent-2,#e95803));
}
.package-route-stop-body{
  min-width:0;
  margin-bottom:22px;
  padding:20px 22px;
  border:1px solid var(--site-line,#e7ded8);
  border-radius:14px;
  background:#fff;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.package-route-stop-body:hover{
  border-color:var(--brand-secondary,var(--site-accent-2,#e95803));
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(28,22,18,.07);
}
.package-route-stop-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.package-route-stop-meta>span{
  color:var(--brand-secondary,var(--site-accent-2,#e95803));
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.package-route-stop-meta em{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border:1px solid var(--site-line,#e7ded8);
  border-radius:999px;
  color:var(--site-muted,#756a63);
  background:#fff;
  font-size:8px;
  font-style:normal;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.package-route-stop-body h3{
  margin:0;
  color:var(--brand-primary,var(--site-accent,#1a171b))!important;
  font-size:clamp(18px,2vw,25px);
  line-height:1.2;
}
.package-route-stop-body p{
  display:flex;
  align-items:center;
  gap:7px;
  margin:9px 0 0;
  color:var(--site-muted,#756a63);
  font-size:11px;
}
.package-route-stop-body p i{
  color:var(--brand-secondary,var(--site-accent-2,#e95803));
}
.package-route-destination-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  margin-top:16px;
  padding:0 14px;
  border:1px solid var(--brand-secondary,var(--site-accent-2,#e95803));
  border-radius:6px;
  background:var(--brand-secondary,var(--site-accent-2,#e95803));
  color:#fff!important;
  font-size:10px;
  font-weight:850;
  text-transform:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.package-route-destination-button:hover,
.package-route-destination-button:focus-visible{
  border-color:var(--brand-primary,var(--site-accent,#1a171b));
  background:var(--brand-primary,var(--site-accent,#1a171b));
  color:#fff!important;
}

/* Neutralise the previous horizontal route layout if cached CSS loads first. */
.package-route-editorial-section .package-route-journey,
.package-route-editorial-section .package-route-summary-strip{display:none!important}

@media(max-width:900px){
  .package-route-editorial{
    grid-template-columns:1fr;
    gap:24px;
  }
  .package-route-overview{
    position:static;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:18px 24px;
    padding:20px;
  }
  .package-route-overview-kicker{
    grid-column:1/-1;
    margin-bottom:-4px;
  }
  .package-route-overview-count{
    align-self:start;
    min-width:130px;
    border-bottom:0;
    border-right:1px solid var(--site-line,#e7ded8);
    padding:8px 22px 8px 0;
  }
  .package-route-overview-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    margin-top:0;
  }
}

@media(max-width:620px){
  .package-route-editorial-section{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .package-route-editorial{
    gap:20px;
    margin-top:22px;
  }
  .package-route-overview{
    display:block;
    padding:18px;
    border-radius:12px;
  }
  .package-route-overview-kicker{margin-bottom:12px}
  .package-route-overview-count{
    border-right:0;
    border-bottom:1px solid var(--site-line,#e7ded8);
    padding:0 0 16px;
  }
  .package-route-overview-count strong{font-size:36px}
  .package-route-overview-facts{
    grid-template-columns:1fr 1fr;
    gap:0 12px;
    margin-top:4px;
  }
  .package-route-overview-fact{
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    padding:12px 0;
  }
  .package-route-overview-fact>i{
    width:28px;
    height:28px;
    border-radius:7px;
    font-size:12px;
  }
  .package-route-overview-fact strong{font-size:10.5px}
  .package-route-stop{
    grid-template-columns:44px minmax(0,1fr);
    gap:11px;
  }
  .package-route-stop-number{
    width:38px;
    height:38px;
    font-size:9px;
  }
  .package-route-stop-body{
    margin-bottom:16px;
    padding:16px;
    border-radius:11px;
  }
  .package-route-stop-meta{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .package-route-stop-body h3{font-size:18px}
  .package-route-destination-button{
    width:100%;
    min-height:40px;
  }
}

@media(max-width:390px){
  .package-route-overview-facts{grid-template-columns:1fr}
  .package-route-overview-fact:nth-last-child(1){border-bottom:0}
  .package-route-stop{
    grid-template-columns:38px minmax(0,1fr);
    gap:8px;
  }
  .package-route-stop-number{
    width:34px;
    height:34px;
  }
  .package-route-stop-body{padding:14px}
}


/* Keep anchor targets visible below the persistent package section navigation. */
#safari-overview,
#safari-route,
#safari-itinerary,
#safari-highlights,
#safari-choices,
#safari-inclusions{
  scroll-margin-top:96px;
}

@media (max-width:820px){
  .package-jump-nav-sticky{padding:6px 0}
  #safari-overview,
  #safari-route,
  #safari-itinerary,
  #safari-highlights,
  #safari-choices,
  #safari-inclusions{scroll-margin-top:88px}
}

@media (max-width:680px){
  .package-jump-nav-sticky{
    padding:5px 0;
    box-shadow:0 6px 16px rgba(45,24,16,.045);
  }
  .package-jump-nav-sticky .package-page-width{width:100%!important;padding:0 10px}
  .package-jump-nav{border-radius:10px}
  #safari-overview,
  #safari-route,
  #safari-itinerary,
  #safari-highlights,
  #safari-choices,
  #safari-inclusions{scroll-margin-top:82px}
}

/* ============================================================
   Mobile/tablet package hero refinement
   Keep the safari photograph unobstructed on smaller screens.
   The title and introduction move below the image rather than
   sitting in a large dark overlay over the photography.
   ============================================================ */
@media(max-width:820px){
  .package-showcase-media,
  .package-showcase-media.has-destination-gallery{
    min-height:0!important;
    overflow:hidden;
    background:#fff;
  }

  .package-showcase-main{
    display:flex;
    flex-direction:column;
    min-height:0!important;
    overflow:visible;
    background:#fff;
  }

  .package-showcase-main>img{
    order:1;
    display:block;
    width:100%!important;
    height:clamp(330px,68vw,500px)!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  .package-showcase-type{
    z-index:4;
    left:16px;
    top:16px;
  }

  .package-showcase-copy{
    order:2;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 18px 24px!important;
    border-radius:0!important;
    background:#fff!important;
    color:#1a171b!important;
    box-shadow:none!important;
    border-top:1px solid var(--pkg-line);
  }

  .package-showcase-copy .package-kicker{
    color:var(--pkg-orange)!important;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
  }

  .package-showcase-copy h1{
    margin:8px 0 10px!important;
    color:#1a171b!important;
    font-size:clamp(32px,7.7vw,46px)!important;
    line-height:1.03!important;
  }

  .package-showcase-copy p{
    max-width:680px;
    margin:0!important;
    color:#62534d!important;
    font-size:13px!important;
    line-height:1.65!important;
  }

  .package-snapshot{
    width:100%!important;
    margin:14px 0 0!important;
  }
}

@media(max-width:620px){
  .package-showcase-media,
  .package-showcase-main,
  .package-showcase-main>img{
    min-height:0!important;
  }

  .package-showcase-main>img{
    height:clamp(300px,79vw,430px)!important;
  }

  .package-showcase-copy{
    padding:20px 16px 22px!important;
  }

  .package-showcase-copy h1{
    font-size:clamp(30px,9vw,41px)!important;
  }

  .package-snapshot{
    margin-top:12px!important;
  }
}

@media(max-width:430px){
  .package-showcase-media,
  .package-showcase-main,
  .package-showcase-main>img{
    min-height:0!important;
  }

  .package-showcase-main>img{
    height:clamp(285px,84vw,390px)!important;
  }

  .package-showcase-copy{
    bottom:auto!important;
  }

  .package-snapshot{
    margin-top:10px!important;
  }
}


/* Related safari cards: full-width action button */
.package-related-footer-full{
    display:block !important;
    margin-top:auto;
    padding-top:12px;
    border-top:1px solid #eee5df;
}

.package-related-footer-full .package-related-view-full{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:44px;
    padding:0 18px;
    border-radius:10px;
    background:var(--site-accent-2);
    color:#fff !important;
    font-size:12px;
    font-weight:800;
    text-align:center;
    white-space:normal;
}

.package-related-footer-full .package-related-view-full:hover,
.package-related-footer-full .package-related-view-full:focus{
    background:var(--site-accent);
    color:#fff !important;
}

.package-related-footer-full .package-related-view-full i{
    flex:0 0 auto;
}

@media (max-width:620px){
    .package-related-footer-full .package-related-view-full{
        min-height:46px;
        border-radius:10px;
        font-size:12px;
    }
}


/* Text-first safari hero when no explicit package cover is assigned. */
.package-showcase-main.has-no-cover{
  display:flex;
  align-items:center;
  min-height:430px;
  background:var(--pkg-paper);
}

.package-showcase-main.has-no-cover .package-showcase-type{
  top:30px;
}

.package-showcase-main.has-no-cover .package-showcase-copy{
  position:relative;
  left:auto;
  bottom:auto;
  width:min(820px,calc(100% - 72px));
  margin:86px 36px 44px;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--pkg-wine);
  box-shadow:none;
}

.package-showcase-main.has-no-cover .package-showcase-copy .package-kicker{
  color:var(--pkg-orange);
}

.package-showcase-main.has-no-cover .package-showcase-copy h1{
  color:var(--pkg-wine);
}

.package-showcase-main.has-no-cover .package-showcase-copy p{
  color:#6f5b52;
}

@media(max-width:700px){
  .package-showcase-main.has-no-cover{
    min-height:0;
  }

  .package-showcase-main.has-no-cover .package-showcase-copy{
    width:calc(100% - 36px);
    margin:82px 18px 34px;
    padding:0;
  }
}
