/* Hotel@ V5 platform integration. Keep this file small: it reconciles the CMS/tour UI with the approved Hotel@ shell. */
.platform-public{background:#fff;color:#202124}
.platform-public main{min-height:40vh}
.platform-public .site-header{z-index:1200}
.platform-public .footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}
.platform-footer-intro{max-width:300px;color:#697177;font-size:13px;line-height:1.7}
.platform-public .site-footer a{color:inherit}
.platform-public .breadcrumbs{margin-top:18px}
.platform-public .button,.platform-public .btn,.platform-public .site-header button,.platform-public main section:not(.home-search-shell) button,.platform-public .site-footer button{border-radius:4px!important}
.platform-public .tour-card,.platform-public .editorial-card,.platform-public .destination-index-card,.platform-public .booking-panel,.platform-public .filter-card,.platform-public .contact-grid article{border-radius:6px}
.seo-keyword-cluster{font-size:12px;color:#687077;margin-top:12px}
.admin-seo-preview{border:1px solid #dfe4e7;border-radius:6px;padding:16px;background:#fff}
.admin-seo-preview strong{display:block;color:#1a0dab;font-size:18px;font-weight:500;margin-bottom:4px}
.admin-seo-preview small{display:block;color:#188038;margin-bottom:6px}
.admin-seo-preview p{margin:0;color:#4d5156;line-height:1.5}
.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.media-admin-card{border:1px solid #dfe4e7;border-radius:6px;overflow:hidden;background:#fff}
.media-admin-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.media-admin-card>div{padding:10px;display:grid;gap:6px}.media-admin-card small{color:#6a737a;line-height:1.4}
@media(max-width:900px){.platform-public .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.platform-public .footer-grid{grid-template-columns:1fr}.platform-public .nav-left .nav-link:nth-child(n+3){display:none}}


.destination-stay-section{padding-top:0}.destination-stay-card{display:grid;grid-template-columns:minmax(280px,.78fr) 1.22fr;border:1px solid #e3e7e9;border-radius:8px;overflow:hidden;background:#fff}.destination-stay-card>img{width:100%;height:100%;min-height:280px;object-fit:cover}.destination-stay-card>div{padding:38px 42px;display:flex;flex-direction:column;justify-content:center}.destination-stay-card h2{margin:6px 0 12px}.destination-stay-card p{line-height:1.75}.destination-stay-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.destination-stay-actions .button{border-radius:4px}@media(max-width:760px){.destination-stay-card{grid-template-columns:1fr}.destination-stay-card>img{min-height:210px;max-height:260px}.destination-stay-card>div{padding:26px 22px}.destination-stay-actions{flex-direction:column}.destination-stay-actions .button{width:100%;text-align:center}}


/* Hotel@ V5.0.2 public-shell polish. */
.platform-public .brand{min-width:0;flex-direction:row;justify-content:center;line-height:1}
.platform-public .brand img{width:43px;height:43px}
.platform-public .footer-brand{gap:0}

/* Fixed Hotel@ navigation must never cover first-page content. */
.platform-public .results-search-area{padding-top:calc(var(--header) + 18px)!important}
.platform-public .simple-hero{padding-top:calc(var(--header) + 38px)!important}
.platform-public .simple-hero .breadcrumbs{margin-top:0}

/* Editorial/package media should read as compact OTA tiles, not portrait posters. */
.platform-public .home-story-media{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#e9ecee}
.platform-public .home-story-media img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover!important}
.platform-public .editorial-index-image{aspect-ratio:1/1!important}
.platform-public .editorial-index-image img{width:100%;height:100%!important;object-fit:cover!important}
.platform-public .package-card-media{aspect-ratio:1/1!important}
.platform-public .package-card-media>a,.platform-public .package-card-media img{width:100%;height:100%!important;object-fit:cover!important}

.platform-mobile-menu-btn,.platform-mobile-nav{display:none}

@media(max-width:720px){
  .platform-public .nav{grid-template-columns:1fr auto 1fr}
  .platform-public .brand{grid-column:2;justify-self:center}
  .platform-public .nav-right{grid-column:3;justify-self:end}
  .platform-public .platform-mobile-menu-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #dfe3e6!important;border-radius:4px!important;background:#fff;color:#202124}
  .platform-public .platform-mobile-menu-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
  .platform-public .platform-mobile-nav{position:absolute;top:100%;left:0;right:0;z-index:1210;display:none;grid-template-columns:1fr;background:#fff;border-top:1px solid #eceff1;border-bottom:1px solid #dfe3e6;box-shadow:0 10px 24px rgba(20,32,43,.12);padding:8px 15px 14px}
  .platform-public .platform-mobile-nav.open{display:grid}
  .platform-public .platform-mobile-nav a{display:flex;align-items:center;min-height:44px;padding:10px 8px;border-bottom:1px solid #f0f1f2;color:#202124;font-size:14px;font-weight:600}
  .platform-public .platform-mobile-nav a:last-child{border-bottom:0}
  .platform-public .results-search-area{padding-top:calc(var(--header) + 12px)!important}
  .platform-public .simple-hero{padding-top:calc(var(--header) + 28px)!important}
}

/* =========================================================
   Hotel@ V5.1.7 public design system
   Public catalogue/discovery surfaces inherit the compact,
   restrained visual language of the hotel property pages.
   ========================================================= */
.platform-public{
  --public-card-border:#dfe4e7;
  --public-card-radius:8px;
  --public-card-pad:18px;
  --public-card-title:20px;
  --public-card-copy:13px;
  --public-card-meta:11px;
}
.platform-public .section-head{align-items:flex-end;margin-bottom:24px}
.platform-public .section-head h2{margin:5px 0 0;font-size:28px;line-height:1.18;letter-spacing:-.025em;font-weight:700}
.platform-public .section-head p{max-width:760px;margin:7px 0 0;color:#596167;font-size:14px;line-height:1.55}
.platform-public .section-link{color:var(--blue);font-size:13px;font-weight:700;white-space:nowrap}

/* One card language for public catalogue content. */
.platform-public .package-card,
.platform-public .activity-discovery-card,
.platform-public .activity-related-card,
.platform-public .editorial-card,
.platform-public .editorial-index-card,
.platform-public .destination-index-card,
.platform-public .home-story-card{
  border:1px solid var(--public-card-border)!important;
  border-radius:var(--public-card-radius)!important;
  background:#fff;
  box-shadow:none!important;
  transform:none!important;
}
.platform-public .package-card:hover,
.platform-public .activity-discovery-card:hover,
.platform-public .activity-related-card:hover,
.platform-public .editorial-card:hover,
.platform-public .editorial-index-card:hover,
.platform-public .destination-index-card:hover,
.platform-public .home-story-card:hover{box-shadow:none!important;transform:none!important}

/* Public catalogue media is never portrait/tall. */
.platform-public .package-card-media,
.platform-public .activity-discovery-image,
.platform-public .editorial-image,
.platform-public .editorial-index-image,
.platform-public .home-story-media{aspect-ratio:1/1!important;overflow:hidden;background:#e9ecee}
.platform-public .destination-index-card img{width:100%;aspect-ratio:1/1!important;object-fit:cover}
.platform-public .package-card-media img,
.platform-public .activity-discovery-image img,
.platform-public .editorial-image img,
.platform-public .editorial-index-image img,
.platform-public .home-story-media img{width:100%;height:100%!important;object-fit:cover!important}

/* Destination activity inventory: compact hotel-style cards with square thumbnails. */
.platform-public .activity-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.platform-public .activity-discovery-card{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:180px;overflow:hidden}
.platform-public .activity-discovery-image{width:180px;height:180px;align-self:start}
.platform-public .activity-discovery-body{padding:var(--public-card-pad)}
.platform-public .activity-discovery-meta{margin-bottom:7px;font-size:var(--public-card-meta);letter-spacing:.035em}
.platform-public .activity-discovery-card h3{margin:0 0 7px;font-size:var(--public-card-title);line-height:1.22;letter-spacing:-.02em}
.platform-public .activity-discovery-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;color:#596167;font-size:var(--public-card-copy);line-height:1.5}
.platform-public .activity-discovery-link{margin-top:10px;font-size:12px}

/* "More things to do" is deliberately compact: square thumbnail + copy in the same viewport. */
.platform-public .activity-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.platform-public .activity-related-card{display:grid;grid-template-columns:128px minmax(0,1fr);min-height:128px;overflow:hidden;color:#1a1a1a}
.platform-public .activity-related-media{display:block;width:128px;height:128px;aspect-ratio:1/1;overflow:hidden;background:#e9ecee}
.platform-public .activity-related-media img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.platform-public .activity-related-body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:14px 15px}
.platform-public .activity-related-meta{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.platform-public .activity-related-card h3{margin:5px 0 4px;font-size:17px;line-height:1.22;letter-spacing:-.015em}
.platform-public .activity-related-card p{margin:0;color:#667077;font-size:12px;line-height:1.4}
.platform-public .activity-related-card strong{margin-top:auto;padding-top:7px;color:var(--blue);font-size:11px}

/* Destination-specific tour sales replaces the former Stay Nearby block. */
.platform-public .destination-tour-sales{border-top:1px solid #eceff1;background:#fff}
.platform-public .destination-tour-sales-head{margin-bottom:22px}
.platform-public .destination-tour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.platform-public .destination-tour-grid .package-card{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:200px;overflow:hidden}
.platform-public .destination-tour-grid .package-card-media{width:200px;height:200px;aspect-ratio:1/1!important}
.platform-public .destination-tour-grid .package-card-body{min-height:200px;padding:18px}
.platform-public .destination-tour-grid .package-card h3{margin:0 0 7px;font-size:19px;line-height:1.22;letter-spacing:-.015em}
.platform-public .destination-tour-grid .package-eyebrow{font-size:11px}
.platform-public .destination-tour-grid .package-duration,
.platform-public .destination-tour-grid .package-includes{font-size:12px;line-height:1.4}
.platform-public .destination-tour-grid .package-price strong{font-size:19px}

/* Remaining package/editorial cards use hotel-page typography and spacing. */
.platform-public .package-card{border-radius:var(--public-card-radius)!important}
.platform-public .package-card-body{min-height:0;padding:var(--public-card-pad)}
.platform-public .package-card h3{font-size:var(--public-card-title);line-height:1.22;letter-spacing:-.02em}
.platform-public .package-eyebrow,.platform-public .editorial-meta{font-size:var(--public-card-meta)}
.platform-public .package-duration,.platform-public .package-includes{font-size:var(--public-card-copy)}
.platform-public .editorial-card>div,.platform-public .editorial-index-card>div,.platform-public .destination-index-card>div{padding:var(--public-card-pad)}
.platform-public .editorial-card h3,.platform-public .editorial-index-card h2,.platform-public .destination-index-card h2{font-size:var(--public-card-title);line-height:1.22;letter-spacing:-.02em}
.platform-public .editorial-card p,.platform-public .editorial-index-card p,.platform-public .destination-index-card p{font-size:var(--public-card-copy);line-height:1.5}

@media(max-width:1000px){
  .platform-public .activity-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-public .destination-tour-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .platform-public .activity-discovery-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .platform-public .section-head{align-items:flex-start}
  .platform-public .section-head h2{font-size:24px}
  .platform-public .section-link{white-space:normal}
  .platform-public .activity-discovery-grid,.platform-public .activity-related-grid{grid-template-columns:1fr;gap:12px}
  .platform-public .activity-discovery-card{grid-template-columns:128px minmax(0,1fr);min-height:128px}
  .platform-public .activity-discovery-image{width:128px;height:128px}
  .platform-public .activity-discovery-body{padding:12px 13px}
  .platform-public .activity-discovery-card h3{font-size:17px}
  .platform-public .activity-discovery-card p{-webkit-line-clamp:2;font-size:12px}
  .platform-public .activity-related-card{grid-template-columns:112px minmax(0,1fr);min-height:112px}
  .platform-public .activity-related-media{width:112px;height:112px}
  .platform-public .activity-related-body{padding:11px 12px}
  .platform-public .activity-related-card h3{font-size:16px}
  .platform-public .destination-tour-grid{gap:12px}
  .platform-public .destination-tour-grid .package-card{grid-template-columns:128px minmax(0,1fr);min-height:128px}
  .platform-public .destination-tour-grid .package-card-media{width:128px;height:128px}
  .platform-public .destination-tour-grid .package-card-body{min-height:128px;padding:11px 12px}
  .platform-public .destination-tour-grid .package-card h3{font-size:16px;margin-bottom:4px}
  .platform-public .destination-tour-grid .package-duration{margin-bottom:4px;font-size:11px}
  .platform-public .destination-tour-grid .package-includes{display:none}
  .platform-public .destination-tour-grid .package-eyebrow{font-size:9.5px;margin-bottom:3px}
  .platform-public .destination-tour-grid .package-price strong{font-size:16px}
  .platform-public .destination-tour-grid .package-price span,
  .platform-public .destination-tour-grid .package-price small{font-size:9px}
  .platform-public .destination-tour-grid .favourite-button{width:32px;height:32px;top:7px;right:7px}
  .platform-public .destination-tour-grid .package-badge{top:7px;left:7px;font-size:9px}
}

/* Home editorial cards follow the same public text scale without changing the hotel cards themselves. */
.platform-public .home-story-card>div{padding:var(--public-card-pad)}
.platform-public .home-story-card h3{font-size:var(--public-card-title);line-height:1.22;letter-spacing:-.02em}
.platform-public .home-story-card p{font-size:var(--public-card-copy);line-height:1.5}
