/* ===== Gulet Point — Itinerary page (V3 luxury) ===== */
.gp-itin{
  --sea:#0B1E26; --sea2:#0E2730; --gold:#C2A35B; --goldsoft:#D8C08A; --gold2:#A88947;
  --mist:#EDE7DA; --mist2:#F6F2EA;
  --disp:'Marcellus',Georgia,serif; --ui:'Jost',system-ui,sans-serif;
  font-family:var(--ui); color:var(--sea); line-height:1.7;
}
.gp-itin *{ box-sizing:border-box; }
.gp-itin h1,.gp-itin h2,.gp-itin h3{ font-family:var(--disp); font-weight:400; color:var(--sea) !important; margin:0; }

.page-template-gp-itinerary .content-container, .page-template-gp-itinerary #primary, .page-template-gp-itinerary .entry-content,
.page-template-gp-itinerary .content-area, .page-template-gp-itinerary .site-container, .page-template-gp-itinerary .site-content,
.page-template-gp-itineraries-hub .content-container, .page-template-gp-itineraries-hub #primary, .page-template-gp-itineraries-hub .entry-content,
.page-template-gp-itineraries-hub .content-area, .page-template-gp-itineraries-hub .site-container, .page-template-gp-itineraries-hub .site-content{
  max-width:100% !important; width:100% !important; padding:0 !important; margin:0 !important;
}

.gp-eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:10.5px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); font-weight:400; margin:0 0 14px; }
.gp-eyebrow::before{ content:""; width:28px; height:1px; background:var(--gold); }
.gp-eyebrow.center{ justify-content:center; }
.gp-eyebrow.center::after{ content:""; width:28px; height:1px; background:var(--gold); }
.gp-eyebrow.soft{ color:var(--goldsoft); }
.gp-eyebrow.soft::before,.gp-eyebrow.soft::after{ background:var(--goldsoft); }

.gp-btn{ display:inline-block; background:var(--gold); color:#ffffff !important; padding:14px 30px; font-family:var(--ui); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:500; text-decoration:none; border:1px solid var(--gold); transition:all .3s; cursor:pointer; }
.gp-btn:hover{ background:var(--gold2); border-color:var(--gold2); }

/* Hero — same legible "glass panel over photo" pattern as destination/homepage pages.
   Image capped at max-width:1920px (see destination.css for why — avoids upscaling
   past native photo resolution on very wide monitors). */
.gp-itin-hero{ position:relative; min-height:380px; background-color:var(--sea); overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; }
.gp-itin-hero-imgwrap{ position:absolute; inset:0; max-width:1920px; margin:0 auto; }
.gp-itin-hero-imgwrap img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; display:block; }
.gp-itin-hero-scrim{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,30,38,.22) 0%,rgba(11,30,38,.12) 40%,rgba(11,30,38,.38) 100%); }
.gp-itin-hero-in{ position:relative; z-index:2; max-width:640px; padding:44px 24px; }
.gp-itin-glass{ background:radial-gradient(ellipse 120% 100% at center, rgba(8,21,25,.5) 0%, rgba(8,21,25,.28) 45%, rgba(8,21,25,0) 78%); padding:36px 46px; }
.gp-itin-hero-in h1{ font-size:42px; color:#fff !important; text-shadow:0 2px 16px rgba(0,0,0,.4); }
.gp-itin-hero-in .sub{ font-size:12.5px; color:rgba(255,255,255,.85); font-weight:300; margin:14px 0 0; }

/* Sections */
.gp-itin-sec{ padding:56px 40px; background:#fff; }
.gp-itin-sec.alt{ background:var(--mist2); }
.gp-itin-sec-head{ text-align:center; margin-bottom:36px; }
.gp-itin-sec-head h2{ font-size:28px; margin-top:8px; }

/* Map */
.gp-itin-mapwrap{ max-width:900px; margin:0 auto; border:1px solid var(--mist); line-height:0; }
.gp-itin-mapwrap iframe{ display:block; width:100%; }

/* Story — heading explicitly dark; this section sits on a light background */
.gp-itin-story{ max-width:680px; margin:0 auto; text-align:center; }
.gp-itin-story h2{ font-size:28px; margin:8px 0 20px; color:var(--sea) !important; }
.gp-itin-story .txt{ font-size:15.5px; color:#33403e; font-weight:300; text-align:left; }
.gp-itin-story .txt p{ margin:0 0 16px; }
.gp-itin-story .txt h3{ font-family:var(--disp); font-weight:400; color:var(--sea) !important; font-size:21px; margin:28px 0 12px; }
.gp-itin-story .txt h3:first-child{ margin-top:0; }
.gp-itin-story .txt strong{ font-weight:500; color:var(--sea); }
.gp-itin-story .txt a{ color:var(--gold2); text-decoration:underline; text-underline-offset:2px; }

/* Quiet fact line */
.gp-itin-fact{ text-align:center; padding:20px 24px; background:#fff; border-top:1px solid var(--mist); border-bottom:1px solid var(--mist); font-size:12px; letter-spacing:.5px; color:#5a6b6e; }

/* Gallery — 6 even tiles (3x2), no "big" tile — deliberately distinct from the yacht
   gallery's 1-big+4-small layout. Rest reachable via "View all X photos" + lightbox. */
.gp-itin-gallery{ max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:200px; gap:6px; }
.gp-itin-gallery .gp-gi{ position:relative; display:block; overflow:hidden; border:1px solid rgba(11,30,38,.10); }
.gp-itin-gallery .gp-gi img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.gp-itin-gallery .gp-gi:hover img{ transform:scale(1.04); }
.gp-itin-gallery .gp-gi-hidden{ display:none; }
.gp-itin-gallery .gp-gi.has-more::before{ content:""; position:absolute; inset:0; background:rgba(11,30,38,.62); z-index:1; transition:background .3s; }
.gp-itin-gallery .gp-gi.has-more:hover::before{ background:rgba(11,30,38,.72); }
.gp-itin-gallery .gp-more-label{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#fff; font-family:var(--ui); font-size:11.5px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; text-align:center; }

/* Quiet "back to hub" strip between the content and the dark Enquiry band — thinner
   than a normal section, it's just one link, not a full content block. */
.gp-itin-hub-nav{ padding:28px 40px !important; }
.gp-itin-viewall{ text-align:center; }
.gp-itin-viewall a{ font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gold2); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:3px; }

/* Enquiry */
.gp-itin-enq{ background:var(--sea2); padding:60px 40px; text-align:center; }
.gp-itin-enq h2{ font-size:28px; color:#fff !important; margin:12px 0 24px; }

/* Itineraries hub */
/* Light/short header band — not a photo hero (a hub page represents a whole category, no
   single photo represents "all itineraries" honestly) and not the heavy dark-navy
   full-height band it used to be, which felt suffocating across 3 pages. */
.gp-itin-hub-head{ background:var(--mist2); padding:36px 40px 30px; text-align:center; }
.gp-itin-hub-head h1{ font-size:38px; color:var(--sea) !important; margin-top:8px; }
.gp-itin-hub-head .sub{ font-size:13px; color:#5a6b6e; font-weight:300; margin:14px auto 0; max-width:460px; }
.gp-itin-hub-grid{ max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.gp-itin-hub-card{ display:block; background:#fff; border:1px solid var(--mist); text-decoration:none; color:inherit; transition:box-shadow .3s; overflow:hidden; }
.gp-itin-hub-card:hover{ box-shadow:0 20px 44px rgba(11,30,38,.12); }
.gp-itin-hub-card img{ width:100%; height:200px; object-fit:cover; display:block; }
.gp-itin-hub-card-b{ padding:22px 24px; }
.gp-itin-hub-card-b h3{ font-size:22px; margin-bottom:10px; }
.gp-itin-hub-card-b p{ font-size:13px; color:#42514f; font-weight:300; line-height:1.7; margin:0 0 16px; }
.gp-itin-hub-card-b span{ font-size:10.5px; letter-spacing:2px; text-transform:uppercase; color:var(--gold2); }

/* Responsive */
@media (max-width:900px){
  .gp-itin-hub-card img{ height:auto; aspect-ratio:16 / 10; }
  .gp-itin-hero-in h1{ font-size:30px; }
  .gp-itin-glass{ padding:26px 22px; }
  .gp-itin-sec{ padding:40px 20px; }
  .gp-itin-gallery{ grid-template-columns:1fr 1fr; grid-auto-rows:135px; }
  .gp-itin-hub-nav{ padding:24px 20px !important; }
  .gp-itin-enq{ padding:48px 20px; }
  .gp-itin-hub-head h1{ font-size:32px; }
  .gp-itin-hub-grid{ grid-template-columns:1fr; }
}

/* Route map placeholder (the Google map loads on click / after cookie consent) */
.gp-itin-mapwrap{ background:var(--sea); }
.gp-itin-mapph{ height:440px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; text-align:center; line-height:1.6; color:#EDE7DA; background:linear-gradient(180deg,#0B1E26 0%,#0E2730 100%); }
.gp-itin-mapph[hidden]{ display:none; }
.gp-itin-mapph p{ margin:0; font-size:12.5px; color:rgba(237,231,218,.75); max-width:360px; }
.gp-itin-mapbtn{ font-family:var(--ui); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:500; padding:14px 30px; background:var(--gold); color:#0B1E26; border:1px solid var(--gold); border-radius:0; cursor:pointer; transition:all .3s; }
.gp-itin-mapbtn:hover{ background:var(--gold2); border-color:var(--gold2); color:#fff; }
.gp-itin-mapwrap noscript a{ display:block; padding:40px 24px; text-align:center; color:var(--gold); }
