/* ===== Gulet Point — Occasion page (V3 luxury) — mirrors destination.css ===== */
.gp-occ{
  --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-occ *{ box-sizing:border-box; }
.gp-occ h1,.gp-occ h2,.gp-occ h3{ font-family:var(--disp); font-weight:400; color:var(--sea); margin:0; }

.page-template-gp-occasion .content-container, .page-template-gp-occasion #primary, .page-template-gp-occasion .entry-content,
.page-template-gp-occasion .content-area, .page-template-gp-occasion .site-container, .page-template-gp-occasion .site-content,
.page-template-gp-occasions-hub .content-container, .page-template-gp-occasions-hub #primary, .page-template-gp-occasions-hub .entry-content,
.page-template-gp-occasions-hub .content-area, .page-template-gp-occasions-hub .site-container, .page-template-gp-occasions-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); }
.gp-btn.outline{ background:transparent; color:var(--gold) !important; border:1px solid var(--gold); }
.gp-btn.outline:hover{ background:var(--gold); border-color:var(--gold); color:#ffffff !important; }

/* Breadcrumb */
.gp-occ-crumb{ padding:16px 40px; background:#fff; border-bottom:1px solid var(--mist); font-size:11.5px; }
.gp-occ-crumb a{ color:#5a6b6e; text-decoration:none; }
.gp-occ-crumb a:hover{ color:var(--gold2); }
.gp-occ-crumb .sep{ margin:0 8px; color:#c9c2b3; }
.gp-occ-crumb .cur{ color:var(--sea); }

/* Hero */
/* Image capped at max-width:1920px (see destination.css for why — avoids upscaling
   past native photo resolution on very wide monitors). */
.gp-occ-hero{ position:relative; min-height:420px; background-color:var(--sea); overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; }
.gp-occ-hero-imgwrap{ position:absolute; inset:0; max-width:1920px; margin:0 auto; }
.gp-occ-hero-imgwrap img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; display:block; }
.gp-occ-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-occ-hero-in{ position:relative; z-index:2; max-width:680px; padding:50px 24px; }
.gp-occ-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:40px 50px; }
.gp-occ-hero-in h1{ font-size:48px; color:#fff !important; text-shadow:0 2px 16px rgba(0,0,0,.4); }
.gp-occ-hero-in .sub{ font-size:13px; color:rgba(255,255,255,.85); font-weight:300; margin:14px 0 0; }

/* Sections */
.gp-occ-sec{ padding:64px 40px; background:#fff; }
.gp-occ-sec.alt{ background:var(--mist2); }
/* The card grid right after it already opens with its own 64px top padding — stacking the
   two 64px paddings left an oversized gap between the intro text and the cards, so this
   section's own bottom padding is cut down to a smaller, deliberate amount. Zeroing out the
   last paragraph's margin too avoids it collapsing straight through a zero-padding box and
   revealing a sliver of the page's background colour between the two (a real prior bug). */
.gp-occ-sec.gp-occ-hub-intro{ padding-bottom:28px; }
.gp-occ-story .txt > *:last-child{ margin-bottom:0; }
.gp-occ-sec-head{ text-align:center; margin-bottom:44px; }
.gp-occ-sec-head h2{ font-size:32px; margin-top:8px; }

/* Overview */
.gp-occ-story{ max-width:720px; margin:0 auto; text-align:center; }
.gp-occ-story .txt{ font-size:15.5px; color:#33403e; font-weight:300; text-align:left; }
.gp-occ-story .txt p{ margin:0 0 16px; }
.gp-occ-story .txt h2,
.gp-occ-story .txt h3{ font-family:var(--disp); font-weight:400; color:var(--sea); font-size:21px; margin:28px 0 12px; }
.gp-occ-story .txt h2:first-child,
.gp-occ-story .txt h3:first-child{ margin-top:0; }
.gp-occ-story .txt strong{ font-weight:500; color:var(--sea); }
.gp-occ-story .txt a{ color:var(--gold2); text-decoration:underline; text-underline-offset:2px; }

/* Recommended Yachts grid */
.gp-occ-grid{ max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.gp-occ-card{ position:relative; display:block; background:#fff; border:1px solid var(--mist); text-decoration:none; color:inherit; transition:box-shadow .35s, transform .35s; overflow:hidden; }
.gp-occ-card:hover{ box-shadow:0 26px 54px rgba(11,30,38,.16); transform:translateY(-4px); }
.gp-occ-card img{ width:100%; height:200px; object-fit:cover; display:block; transition:transform .5s ease; }
.gp-occ-card:hover img{ transform:scale(1.07); }
.gp-occ-card-b{ padding:20px 22px; }
.gp-occ-card-b .t{ font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin:0 0 6px; }
.gp-occ-card-b h3{ font-size:21px; margin-bottom:10px; }
.gp-occ-card-b .sp{ display:flex; gap:12px; font-size:11px; color:#5a6b6e; margin-bottom:12px; }
.gp-occ-card-b .sp span{ display:inline-flex; align-items:center; gap:4px; }
.gp-occ-card-b .sp .ic{ width:13px; height:13px; flex:0 0 13px; color:var(--gold2); opacity:.8; }
.gp-occ-card-b .pr{ font-family:var(--disp); font-size:17px; color:var(--sea); margin:0; }
.gp-occ-card-b .pr s{ font-family:var(--ui); font-size:10px; color:#8a9698; text-decoration:none; }
.gp-occ-viewall{ text-align:center; margin-top:36px; }
.gp-occ-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; }

/* 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. The section right
   before it (Overview) already ends with 64px of its own padding, so this starts with none
   to avoid the two stacking into an oversized gap. */
.gp-occ-hub-nav{ padding:0 40px 28px !important; }
.gp-occ-hub-nav .gp-occ-viewall{ margin-top:0; }

/* Enquiry */
.gp-occ-enq{ background:var(--sea2); padding:64px 40px; text-align:center; }
.gp-occ-enq h2{ font-size:30px; color:#fff; margin:12px 0 26px; }
.gp-occ-enq-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

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

/* Responsive */
@media (max-width:900px){
  .gp-occ-card img, .gp-occ-hub-card img{ height:auto; aspect-ratio:16 / 10; }
  .gp-occ-hero-in h1{ font-size:32px; }
  .gp-occ-glass{ padding:26px 24px; }
  .gp-occ-grid{ grid-template-columns:1fr; }
  .gp-occ-sec{ padding:44px 20px; }
  .gp-occ-hub-head h1{ font-size:32px; }
  .gp-occ-hub-grid{ grid-template-columns:1fr; }
  .gp-occ-hub-grid-5{ grid-template-columns:1fr; }
}
