/* Shared conversion shell for package detail pages reached from campaign landings. */
.package-conversion{position:relative;z-index:4;margin:-31px auto 0;width:min(1120px,calc(100% - 48px));background:#fff;border:1px solid #e7e4dd;border-radius:5px;box-shadow:0 12px 34px rgba(25,32,28,.12);display:grid;grid-template-columns:minmax(0,1.22fr) auto auto;align-items:center;gap:24px;padding:16px 18px;color:#2d352e}
.package-conversion-copy{min-width:0}
.package-conversion-kicker{display:block;color:#845039;font-size:10px;font-weight:700;letter-spacing:1.45px;text-transform:uppercase;margin-bottom:3px}
.package-conversion h2{font-family:Poppins,Arial,sans-serif!important;color:#2d352e!important;font-size:17px!important;font-weight:650!important;letter-spacing:-.28px!important;line-height:1.3!important;margin:0!important}
.package-conversion p{font-size:11px!important;color:#657066!important;line-height:1.5!important;margin:3px 0 0!important;max-width:450px}
.package-conversion-steps{display:flex;align-items:center;gap:12px;color:#516158;font-size:10px;font-weight:600;white-space:nowrap}
.package-conversion-steps span{display:inline-flex;align-items:center;gap:5px}
.package-conversion-steps span::before{content:'✓';color:#2f6b4c;font-size:13px}
.package-conversion-action{appearance:none;border:0;border-radius:3px;background:#25D366!important;color:#fff!important;min-height:43px;padding:10px 15px;font:700 12px Poppins,Arial,sans-serif;white-space:nowrap;box-shadow:none!important}
.package-conversion-action:hover{background:#1ebe57!important;transform:translateY(-1px)}
.package-conversion-action:focus-visible,.package-conversion-mobile:focus-visible{outline:3px solid #f0b784;outline-offset:3px}
.package-conversion-mobile{display:none}
@media(max-width:900px){.package-conversion{grid-template-columns:1fr auto;gap:13px 20px}.package-conversion-steps{grid-column:1/-1;order:3;border-top:1px solid #ece9e3;padding-top:10px}.package-conversion p{max-width:none}}
@media(max-width:640px){.package-conversion{width:calc(100% - 28px);margin:-18px auto 0;padding:14px;border-radius:4px;display:block}.package-conversion h2{font-size:15px!important}.package-conversion p{font-size:10px!important}.package-conversion-action{display:none}.package-conversion-steps{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #ece9e3;margin-top:10px;padding-top:8px;font-size:9px;white-space:normal}.package-conversion-steps span::before{font-size:11px}.package-conversion-mobile{display:flex;position:fixed;z-index:80;left:12px;right:12px;bottom:12px;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 16px;border:0;border-radius:4px;background:#25D366!important;color:#fff!important;box-shadow:0 8px 24px rgba(15,65,37,.28);font:700 13px Poppins,Arial,sans-serif}.package-conversion-mobile::before{content:'◔';font-size:16px}body.has-package-conversion{padding-bottom:75px}.site-wa-float{bottom:78px!important}}

/* Several legacy detail pages use icon glyphs not present in the active font. Keep hero navigation clean until those glyphs are replaced. */
body.has-package-conversion .page-hero .page-eyebrow i,
body.has-package-conversion .page-hero .route-badges i,
body.has-package-conversion .page-hero .quick-nav i{display:none}

/* A few city pages contain a single package card. Do not retain empty grid tracks around it. */
body.has-package-conversion .pkg-grid[style*="max-width:480px"]{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%;
  max-width:760px!important;
}
body.has-package-conversion .pkg-grid[style*="max-width:480px"] .card-shell{width:100%}

/* Compact trip photo gallery shared by package detail pages. */
.package-gallery{width:min(1120px,calc(100% - 48px));margin:26px auto 6px;color:#2d352e}
.package-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:11px}
.package-gallery-kicker{margin:0 0 2px;color:#845039;font-size:10px;font-weight:700;letter-spacing:1.45px;text-transform:uppercase}
.package-gallery h2{margin:0!important;color:#2d352e!important;font:650 21px/1.25 Poppins,Arial,sans-serif!important;letter-spacing:-.35px!important}
.package-gallery-hint{margin:0;color:#657066;font:500 11px/1.35 Poppins,Arial,sans-serif}
.package-gallery-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr;grid-template-rows:120px 120px;gap:8px}
.package-gallery-item{position:relative;display:block;overflow:hidden;border:0;border-radius:4px;background:#e9e8e2;cursor:zoom-in;padding:0;text-align:left}
.package-gallery-item:first-child{grid-row:span 2}
.package-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,filter .35s ease}
.package-gallery-item:hover img{transform:scale(1.035);filter:brightness(.9)}
.package-gallery-item::after{content:attr(data-label);position:absolute;left:0;right:0;bottom:0;padding:25px 10px 8px;background:linear-gradient(transparent,rgba(25,32,28,.73));color:#fff;font:600 10px/1.2 Poppins,Arial,sans-serif;opacity:0;transition:opacity .25s ease}
.package-gallery-item:hover::after,.package-gallery-item:focus-visible::after{opacity:1}
.package-gallery-item:focus-visible{outline:3px solid #25D366;outline-offset:3px}
.package-gallery-dialog{max-width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;padding:0;border:0;border-radius:5px;background:#1a221d;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.package-gallery-dialog::backdrop{background:rgba(15,22,18,.8)}
.package-gallery-dialog figure{margin:0}
.package-gallery-dialog img{display:block;width:min(900px,calc(100vw - 32px));max-height:calc(100vh - 88px);object-fit:contain}
.package-gallery-dialog figcaption{padding:10px 52px 12px 14px;color:#fff;font:500 12px/1.4 Poppins,Arial,sans-serif}
.package-gallery-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:50%;background:#fff;color:#2d352e;font:700 18px/1 Arial,sans-serif;cursor:pointer}
@media(max-width:640px){.package-gallery{width:calc(100% - 28px);margin:20px auto 2px}.package-gallery-head{align-items:start;margin-bottom:9px}.package-gallery h2{font-size:17px!important}.package-gallery-hint{display:none}.package-gallery-grid{grid-template-columns:1.3fr 1fr;grid-template-rows:100px 100px;gap:6px}.package-gallery-item:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){.package-gallery-item img{transition:none}}

/* Complete the four-photo desktop composition without leaving an empty tile. */
@media(min-width:641px){
  .package-gallery-item:nth-child(2){grid-column:2;grid-row:1}
  .package-gallery-item:nth-child(3){grid-column:2;grid-row:2}
  .package-gallery-item:nth-child(4){grid-column:3;grid-row:1 / span 2}
}
