/* ===== Gulet Point — Global (site-wide, every front-end page) ===== */

/* Back to top button — hex values hardcoded (not var()) since this renders via wp_footer,
   outside any page wrapper that defines the --sea/--gold custom properties. */
#gp-top{
  position:fixed; right:24px; bottom:24px; width:44px; height:44px; border-radius:50%;
  background:#0B1E26; border:1px solid #C2A35B; color:#C2A35B;
  display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:9999;
  opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity .3s, transform .3s;
}
#gp-top.show{ opacity:1; transform:translateY(0); pointer-events:auto; }
#gp-top:hover{ background:#C2A35B; color:#0B1E26; border-color:#C2A35B; }

/* Floating "Saved" (Favorites) button — always visible on desktop (not scroll-triggered like
   #gp-top), sits just to its left. Only rendered at all when a page with the gp-favorites.php
   template exists (see gp_favorites_page_url()), so there's never a dead link. */
.gp-fav-float{
  position:fixed; right:78px; bottom:24px; width:44px; height:44px; border-radius:50%;
  background:#0B1E26; border:1px solid #C2A35B; color:#C2A35B; text-decoration:none;
  display:flex; align-items:center; justify-content:center; z-index:9999; transition:background .3s, color .3s;
}
.gp-fav-float:hover{ background:#C2A35B; color:#0B1E26; }
.gp-fav-count{
  position:absolute; top:-5px; right:-5px; min-width:17px; height:17px; padding:0 4px; border-radius:9px;
  background:#C2A35B; color:#0B1E26; font-family:'Jost',system-ui,sans-serif; font-size:10px; font-weight:600;
  display:flex; align-items:center; justify-content:center; line-height:1;
}
.gp-mbar-fav{ position:relative; }
.gp-mbar-fav .gp-fav-count{ top:-2px; right:18px; }
@media (max-width:700px){
  .gp-fav-float{ display:none; } /* the mobile quick-action bar carries its own "Saved" item instead */
}

/* Trust badges strip — flat, borderless band shown above the footer on every page. Hex values
   hardcoded (not var()) for the same reason as #gp-top above: this renders via get_footer,
   outside any page wrapper that defines the --sea/--gold/--mist custom properties. */
.gp-trust-strip{ background:#F6F2EA; padding:36px 40px; text-align:center; }
.gp-trust-strip-in{ max-width:1100px; margin:0 auto; }
.gp-trust-strip-label{ display:inline-flex; align-items:center; gap:12px; font-family:'Jost',system-ui,sans-serif; font-size:10.5px; font-weight:400; letter-spacing:4px; text-transform:uppercase; color:#C2A35B; margin:0 0 20px; }
.gp-trust-strip-label::before,
.gp-trust-strip-label::after{ content:""; width:28px; height:1px; background:#C2A35B; }
.gp-trust-strip-badges{ display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:44px; }
.gp-trust-strip-badge{ display:inline-flex; align-items:center; text-decoration:none; }
.gp-trust-strip-badge img{ height:56px; width:auto; max-width:180px; object-fit:contain; display:block; opacity:.9; transition:opacity .3s; }
.gp-trust-strip-badge:hover img{ opacity:1; }
.gp-trust-strip-badge.text{ font-family:'Marcellus',Georgia,serif; font-size:17px; color:#0B1E26; letter-spacing:.3px; }
a.gp-trust-strip-badge.text:hover{ color:#A88947; }

@media (max-width:700px){
  /* Badges always share ONE row on a phone: each takes an equal share of the width and its
     logo scales down to fit, instead of wrapping to a second line. */
  .gp-trust-strip{ padding:28px 16px; }
  .gp-trust-strip-label{ letter-spacing:3px; margin-bottom:16px; }
  .gp-trust-strip-badges{ flex-wrap:nowrap; gap:12px; justify-content:space-between; }
  .gp-trust-strip-badge{ flex:1 1 0; min-width:0; justify-content:center; }
  .gp-trust-strip-badge img{ height:auto; width:100%; max-width:80px; max-height:40px; }
  .gp-trust-strip-badge.text{ font-size:13px; text-align:center; }
}

/* ===== Mobile / tablet chrome (Kadence's mobile header shows at <=1024px) ===== */
@media (max-width:1024px){
  /* Sticky: the theme's own mobile sticky option is off, so pin the header ourselves. */
  /* !important: the theme's own header.css sets #masthead{position:relative} and loads later. */
  #masthead{ position:sticky !important; top:0 !important; z-index:1000; background:#0B1E26; box-shadow:0 2px 14px rgba(0,0,0,.25); }
  #masthead .site-header-wrap, #masthead .site-header-inner-wrap, #masthead .site-header-upper-wrap, #masthead .site-header-upper-inner-wrap, #masthead .site-mobile-header-wrap{ background:#0B1E26; }
  /* Open menu panel: site's deep green with a little transparency instead of near-black. */
  #mobile-drawer .drawer-inner{ background:rgba(11,30,38,.93) !important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
  #mobile-drawer .drawer-overlay{ background:rgba(11,30,38,.35) !important; }
  /* Compact bar — the logo was rendering ~107px tall inside a 135px header. */
  #mobile-header .site-main-header-wrap{ padding:8px 16px !important; }
  #mobile-header .site-main-header-inner-wrap{ min-height:0 !important; }
  #mobile-header .custom-logo{ height:60px !important; width:auto !important; }
}

/* Bottom quick-action bar — phones only */
.gp-mbar{ display:none; }
@media (max-width:700px){
  .gp-mbar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9998; background:#0B1E26; border-top:1px solid rgba(194,163,91,.35); padding:8px 0 calc(8px + env(safe-area-inset-bottom, 0px)); }
  .gp-mbar a{ flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; color:#EDE7DA; text-decoration:none; font-family:'Jost',system-ui,sans-serif; font-size:11px; letter-spacing:.5px; border-right:1px solid rgba(237,231,218,.15); }
  .gp-mbar a:last-child{ border-right:0; }
  .gp-mbar a svg{ color:#C2A35B; }
  body{ padding-bottom:64px; }
  #gp-top{ bottom:78px; right:16px; }
}

/* ===== Footer on phones — compact 2-column layout instead of four full-width stacked blocks ===== */
@media (max-width:700px){
  .site-top-footer-wrap{ padding:28px 20px 18px !important; }
  /* Explore / Company / Destinations side by side; brand block spans the full width above them. */
  .site-top-footer-inner-wrap{ padding:0 !important; grid-template-columns:repeat(3, minmax(0, 1fr)) !important; gap:22px 12px !important; }
  .site-top-footer-inner-wrap .site-footer-top-section-1{ grid-column:1 / -1; }
  .site-top-footer-inner-wrap .footer-widget2 a,
  .site-top-footer-inner-wrap .footer-widget3 a,
  .site-top-footer-inner-wrap .footer-widget4 a{ font-size:12.5px !important; margin-bottom:7px !important; }
  .site-top-footer-inner-wrap .footer-widget2 span,
  .site-top-footer-inner-wrap .footer-widget3 span,
  .site-top-footer-inner-wrap .footer-widget4 span{ letter-spacing:1.6px !important; margin-bottom:10px !important; }
  /* Compact brand block, stacked: logo, then tagline, then address/contact — all small type. */
  .footer-widget1 .widget img{ height:54px !important; margin:0 0 10px !important; }
  .footer-widget1 .widget p{ font-size:12px !important; line-height:1.65 !important; }
  .footer-widget1 .widget p:first-of-type{ margin:0 0 10px !important; }
  .footer-widget1 .widget p:last-of-type{ margin:0 !important; }
  .site-bottom-footer-wrap{ padding:12px 20px !important; }
  .site-bottom-footer-inner-wrap{ padding:12px 0 !important; }
}

/* Legal pages (Terms): quiet, theme-matched tables */
.entry-content table.gp-legal-table{ width:100%; border-collapse:collapse; margin:18px 0 26px; font-size:14px; }
.entry-content table.gp-legal-table th{ text-align:left; padding:12px 16px; font-family:'Jost',system-ui,sans-serif; font-size:10.5px; letter-spacing:2px; text-transform:uppercase; font-weight:500; color:#A88947; background:#F6F2EA; border-bottom:1px solid #C2A35B; }
.entry-content table.gp-legal-table td{ padding:12px 16px; color:#0B1E26; border-bottom:1px solid #EDE7DA; }
.entry-content table.gp-legal-table tr:last-child td{ border-bottom:none; font-weight:500; }

/* Top bar: About / Contact were too small and too dim on the navy strip */
#secondary-navigation .secondary-menu-container > ul > li.menu-item > a{ font-size:14.5px; font-weight:400; letter-spacing:1px; color:rgba(255,255,255,.8); }
#secondary-navigation .secondary-menu-container > ul > li.menu-item > a:hover{ color:#C2A35B; }

/* Top bar left side (phone · e-mail): same size, weight and colour as About / Contact, regular weight */
.site-top-header-wrap .header-html p{ font-size:14.5px; font-weight:400; color:rgba(255,255,255,.8); margin:0; }
.site-top-header-wrap .header-html a{ font-size:14.5px; font-weight:400; letter-spacing:1px; color:rgba(255,255,255,.8); }
.site-top-header-wrap .header-html a:hover{ color:#C2A35B; }

/* Header seam: #masthead was white behind the navy rows, so at fractional zoom levels (110%, 125%…) a 1px white
   line showed between header and page. Navy behind it removes the seam; no border, the navy/photo edge is enough. */
html body #masthead{ background:#0B1E26; }

/* Footer phone / e-mail links: comfortable tap targets on phones (PageSpeed "touch targets") */
.site-footer a[href^="tel:"], .site-footer a[href^="mailto:"]{ display:inline-block; padding:7px 0; }

/* ==========================================================================
   Accessibility (WCAG AA): small gold / light-grey text that sits on WHITE or CREAM gets a darker tone.
   Gold on dark sections (.soft eyebrows, hero, search bar, footer), buttons, lines and icons are unchanged.
   ========================================================================== */
:root{ --gp-gold-text:#86692B; --gp-grey-text:#5F6E71; }

html body .gp-eyebrow:not(.soft),
html body .gp-crumb a,
html body .gp-fhero-stats .l,
html body .gp-fhero-price .pl,
html body .gp-ports .lbl,
html body .gp-sp .l,
html body .gp-col li.note,
html body .gp-alt-body .t,
html body .gp-cat-card-b .t,
html body .gp-cat-card-b .pr.enquire,
html body .gp-cat-sort label,
html body .gp-cat-filters a,
html body .gp-cat-tabs a.on,
html body .gp-h-card-b .t,
html body .gp-h-viewall a,
html body .gp-h-dest-more,
html body .gp-h-gbadge .link,
html body .gp-test-more,
html body .gp-h-journal-card-b .cat,
html body .gp-journal-feat-wrap .cat,
html body .gp-journal-card-b .cat,
html body .gp-journal-read,
html body .gp-post-back a,
html body .gp-post-content a,
html body .gp-dest-card-b .t,
html body .gp-dest-viewall a,
html body .gp-dest-hub-card-b span,
html body .gp-dest-story .txt a,
html body .gp-itin-viewall a,
html body .gp-itin-hub-card-b span,
html body .gp-itin-story .txt a,
html body .gp-occ-card-b .t,
html body .gp-occ-viewall a,
html body .gp-occ-hub-card-b span,
html body .gp-occ-story .txt a,
html body .gp-about-story .txt a,
html body .gp-tcard .role,
html body .gp-trust-strip-label,
html body .gp-recent-label,
html body .gp-tool-card-b .t,
html body .entry-content table.gp-legal-table th{ color:var(--gp-gold-text); }

html body .gp-crumb,
html body .gp-h-card-b .pr s,
html body .gp-cat-card-b .pr s,
html body .gp-alt-body .pr s,
html body .gp-fhero-price .pv s,
html body .gp-rate-note,
html body .gp-alt-back a,
html body .gp-disclaimer{ color:var(--gp-grey-text); }

/* Season rate rows: readable small labels on both the light and the dark tints */
html body .gp-rate:not(.dark) .m .sub{ color:#26363B; }
html body .gp-rate.dark .m .sub{ color:rgba(255,255,255,.88); }

/* Accessibility, round 2: grey country labels under testimonials / stories, footer copyright line */
html body .gp-h-test-card .who span,
html body .gp-story-card .who span{ color:var(--gp-grey-text); }
html body .site-bottom-footer-wrap .footer-html-inner,
html body .site-bottom-footer-wrap .footer-html-inner p{ color:rgba(237,231,218,.62); }
html body .gp-rate.dark.peak .m .sub{ color:var(--gold); }

/* Buttons (option B, 2026-10-26): gold buttons carry navy text (7.1:1) instead of white (2.4:1).
   Outline buttons keep gold text. On hover every button turns white (see the last block). */
html body .gp-btn:not(.outline),
html body .gp-h-search-btn,
html body .gp-rac-form-wrap button.ff-btn,
html body .gp-rac-form-wrap .ff-btn-submit,
html body .gp-campaign-cta{ color:#0B1E26 !important; }

/* Header "Request a Charter" button (Kadence header button, not .gp-btn): same navy text on gold */
html body a.header-button.button-style-filled{ color:#0B1E26 !important; }
html body a.header-button.button-style-filled{ font-weight:500 !important; }

/* Hover: all gold buttons (and outline buttons) turn white, like the Search button */
html body .gp-btn:not(.outline):hover,
html body .gp-btn.outline:hover,
html body .gp-h-search-btn:hover,
html body a.header-button.button-style-filled:hover,
html body .gp-rac-form-wrap button.ff-btn:hover,
html body .gp-rac-form-wrap .ff-btn-submit:hover,
html body .gp-campaign-cta:hover{ color:#ffffff !important; }

/* Footer links: gold on hover / keyboard focus (their normal colour is an inline style, hence !important) */
html body .site-footer .widget_block a,
html body .site-footer .footer-html a{ transition:color .2s ease; }
html body .site-footer .widget_block a:hover,
html body .site-footer .widget_block a:focus-visible,
html body .site-footer .footer-html a:hover,
html body .site-footer .footer-html a:focus-visible{ color:#C2A35B !important; }

/* Mobile quick bar: "Request" is the always-visible primary action (replaces Home; the logo still goes home) */
@media (max-width:700px){
  html body .gp-mbar a.gp-mbar-cta{ background:#C2A35B; color:#0B1E26; font-weight:600; }
  html body .gp-mbar a.gp-mbar-cta svg{ color:#0B1E26; }
}

/* Newsletter strip (MailerLite classic form: .mailerlite-form …) in the brand look */
.gp-newsletter{ background:#0E2730; padding:44px 24px; text-align:center; color:#EDE7DA; }
.gp-newsletter-in{ max-width:640px; margin:0 auto; }
.gp-newsletter-eyebrow{ margin:0 0 10px; font-family:'Jost',system-ui,sans-serif; font-size:10.5px; letter-spacing:4px; text-transform:uppercase; color:#D8C08A; text-align:center; }
.gp-newsletter h2{ margin:0 0 8px; font-family:'Marcellus',Georgia,serif; font-weight:400; font-size:28px; color:#fff !important; text-align:center; }
.gp-newsletter-form{ text-align:left; }
/* the plugin's own heading / description / label / loader: we have our own copy above */
.gp-newsletter-form .mailerlite-form-title,
.gp-newsletter-form .mailerlite-form h1,
.gp-newsletter-form .mailerlite-form h2,
.gp-newsletter-form .mailerlite-form h3,
.gp-newsletter-form .mailerlite-form-loader{ display:none !important; }
.gp-newsletter-form .mailerlite-form-field label{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.gp-newsletter-form .mailerlite-form form{ margin:0; }
.gp-newsletter-form .mailerlite-form-inputs{ display:flex; gap:10px; align-items:stretch; flex-wrap:wrap; }
.gp-newsletter-form .mailerlite-form-field{ flex:1 1 300px; margin:0; }
.gp-newsletter-form .mailerlite-subscribe-button-container{ flex:0 0 auto; margin:0; }
.gp-newsletter-form input[type="email"],
.gp-newsletter-form input[type="text"]{ width:100% !important; height:100%; min-height:50px; box-sizing:border-box; background:rgba(255,255,255,.06) !important; color:#fff !important; border:1px solid rgba(237,231,218,.35) !important; border-radius:0 !important; padding:14px 16px !important; font-family:'Jost',system-ui,sans-serif; font-size:14px; }
.gp-newsletter-form input::placeholder{ color:rgba(237,231,218,.6) !important; }
.gp-newsletter-form input:focus{ outline:none; border-color:#C2A35B !important; }
.gp-newsletter-form button[type="submit"]{ min-height:50px; background:#C2A35B !important; color:#0B1E26 !important; border:1px solid #C2A35B !important; border-radius:0 !important; padding:0 30px !important; font-family:'Jost',system-ui,sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:500; cursor:pointer; transition:all .3s; }
.gp-newsletter-form button[type="submit"]:hover{ background:#A88947 !important; border-color:#A88947 !important; color:#fff !important; }
.gp-newsletter-form .mailerlite-form-response{ text-align:center; }
.gp-newsletter-form .mailerlite-form-response h4,
.gp-newsletter-form .mailerlite-form-response p{ margin:0; font-family:'Jost',system-ui,sans-serif; font-size:15px; font-weight:400; color:#fff !important; }
.gp-newsletter-form .mailerlite-form-response.error p, .gp-newsletter-form .mailerlite-form-response.error h4{ color:#F2B8B5 !important; }
.gp-newsletter-form a{ color:#C2A35B !important; }
@media (max-width:600px){ .gp-newsletter{ padding:40px 18px; } .gp-newsletter-form .mailerlite-subscribe-button-container, .gp-newsletter-form button[type="submit"]{ width:100%; } }

/* Slogan = the form description ("Be the first to discover our latest offers."), straight above the e-mail field */
.gp-newsletter-form .mailerlite-form-description{ display:block !important; margin:0 0 20px; text-align:center; }
.gp-newsletter-form .mailerlite-form-description p{ margin:0; font-family:'Marcellus',Georgia,serif; font-size:24px; line-height:1.35; font-weight:400; color:#fff !important; }
@media (max-width:600px){ .gp-newsletter-form .mailerlite-form-description p{ font-size:20px; } }

/* thin gold line under the slogan */
.gp-newsletter-form .gp-newsletter-sub{ margin:-8px 0 24px; text-align:center; font-family:'Jost',system-ui,sans-serif; font-size:13px; font-weight:300; letter-spacing:.6px; color:#C2A35B; }


/* Header wordmark beside the round logo (markup: wp_get_attachment_image filter in the main plugin file) */
html body .site-branding a.brand.has-logo-image{ display:flex; align-items:center; text-decoration:none; }
.gp-wordmark{ display:flex; flex-direction:column; justify-content:center; margin-left:4px; line-height:1; white-space:nowrap; }
.gp-wordmark-name{ font-family:'Marcellus',Georgia,serif; font-size:26px; color:#EDE7DA; letter-spacing:.5px; }
.gp-wordmark-sub{ font-family:'Jost',system-ui,sans-serif; font-size:10.5px; letter-spacing:4.2px; color:#C2A35B; margin-top:8px; text-transform:uppercase; }
@media (max-width:1024px){ .gp-wordmark{ margin-left:8px; } .gp-wordmark-name{ font-size:21px; } .gp-wordmark-sub{ font-size:9px; letter-spacing:3.2px; margin-top:6px; } }
@media (max-width:420px){ .gp-wordmark-name{ font-size:18px; } .gp-wordmark-sub{ font-size:8px; letter-spacing:2.6px; } }
/* Mobile header: wordmark centred on the screen between the logo (left) and the menu button (right) */
#mobile-header .site-main-header-inner-wrap{ position:relative; }
#mobile-header .gp-wordmark{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; align-items:center; text-align:center; pointer-events:none; }
#mobile-header .gp-wordmark-sub{ margin-right:-3px; }
