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

/* Let sections run full width */
.archive .content-container, .archive #primary, .archive .entry-content,
.archive .content-area, .archive .site-container, .archive .site-content,
.tax-yacht_type .content-container, .tax-yacht_type #primary, .tax-yacht_type .entry-content,
.tax-yacht_type .content-area, .tax-yacht_type .site-container, .tax-yacht_type .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); }

/* Header band */
/* Light/short header band — matches the Destinations/Itineraries/Occasions hub treatment. */
.gp-cat-head{ background:var(--mist2); padding:36px 40px 30px; text-align:center; }
.gp-cat-head h1{ font-size:38px; color:var(--sea); margin-top:8px; }
.gp-cat-head .sub{ font-size:13px; color:#5a6b6e; font-weight:300; margin:14px auto 0; max-width:480px; }

/* Type filter tabs */
/* position/top set dynamically by assets/subnav-sticky.js (measures the real sticky
   header height — a hardcoded value breaks as soon as the WP admin bar or header
   shrink state changes it, same lesson learned on the single-yacht sub-nav). */
.gp-cat-tabs{ position:sticky; top:0; z-index:5; display:flex; justify-content:center; gap:36px; flex-wrap:wrap; background:#fff; border-bottom:1px solid var(--mist); padding:0 24px; }
.gp-cat-tabs a{ display:inline-block; padding:18px 0; font-size:11.5px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--sea); text-decoration:none; border-bottom:2px solid transparent; }
.gp-cat-tabs a:hover{ color:var(--gold2); }
.gp-cat-tabs a.on{ color:var(--gold2); border-bottom-color:var(--gold); }

/* Active search-bar filters strip */
.gp-cat-filters{ display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; padding:16px 24px; background:var(--mist2); border-bottom:1px solid var(--mist); font-size:12px; color:#5a6b6e; }
.gp-cat-filters b{ font-weight:500; color:var(--sea); background:#fff; border:1px solid var(--mist); padding:4px 12px; }
.gp-cat-filters a{ color:var(--gold2); text-decoration:none; margin-left:6px; font-size:11px; letter-spacing:.5px; }
.gp-cat-filters a:hover{ text-decoration:underline; }

/* Grid */
.gp-cat-sec{ padding:60px 40px 20px !important; background:var(--mist2); min-height:300px; }
/* Tightened: the gap to the trust-badges strip right below was too large on this page too. */
.post-type-archive-yacht .gp-trust-strip, .tax-yacht_type .gp-trust-strip{ padding-top:16px !important; }
.gp-cat-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.gp-cat-card{ display:block; background:#fff; border:1px solid var(--mist); text-decoration:none; color:inherit; transition:box-shadow .35s, transform .35s; }
.gp-cat-card:hover{ box-shadow:0 26px 54px rgba(11,30,38,.18); transform:translateY(-4px); }
.gp-cat-card-img{ position:relative; overflow:hidden; }
.gp-cat-card img{ width:100%; height:220px; object-fit:cover; display:block; transition:transform .5s ease; }
.gp-cat-card:hover img{ transform:scale(1.07); }
.gp-cat-country{ position:absolute; top:14px; left:14px; background:rgba(11,30,38,.82); color:#fff; font-size:9.5px; font-weight:500; letter-spacing:2px; text-transform:uppercase; padding:6px 12px; }
.gp-cat-card-b{ padding:22px 24px; position:relative; }
.gp-cat-card-b .t{ font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin:0 0 6px; }
.gp-cat-card-b h3{ font-size:23px; margin-bottom:10px; }
.gp-cat-card-b .sp{ display:flex; gap:14px; font-size:11px; color:#5a6b6e; margin-bottom:14px; }
.gp-cat-card-b .sp span{ display:inline-flex; align-items:center; gap:4px; }
.gp-cat-card-b .sp .ic{ width:13px; height:13px; flex:0 0 13px; color:var(--gold2); opacity:.8; }
.gp-cat-card-b .pr{ font-family:var(--disp); font-size:18px; color:var(--sea); margin:0; }
.gp-cat-card-b .pr s{ font-family:var(--ui); font-size:10px; color:#8a9698; text-decoration:none; }
.gp-cat-card-b .pr.enquire{ font-family:var(--ui); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--gold2); }
.gp-cat-view{ display:block; margin-top:14px; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--sea); border-top:1px solid var(--mist); padding-top:12px; }
.gp-cat-card:hover .gp-cat-view{ color:var(--gold2); }

/* Pagination */
.gp-cat-pagination{ text-align:center; margin-top:48px; }
.gp-cat-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; margin:0 4px; padding:0 10px; border:1px solid var(--mist); background:#fff; color:var(--sea); text-decoration:none; font-size:12px; }
.gp-cat-pagination .page-numbers.current{ background:var(--sea); color:#fff; border-color:var(--sea); }
.gp-cat-pagination .page-numbers:hover{ border-color:var(--gold); color:var(--gold2); }

/* Empty state */
.gp-cat-empty{ max-width:520px; margin:40px auto; text-align:center; }
.gp-cat-empty h2{ font-size:28px; margin:10px 0 16px; }
.gp-cat-empty p{ font-size:14px; color:#42514f; font-weight:300; margin-bottom:26px; }

/* Responsive */
@media (max-width:900px){
  .gp-cat-card img{ height:auto; aspect-ratio:16 / 10; }
  .gp-cat-head h1{ font-size:32px; }
  .gp-cat-grid{ grid-template-columns:1fr; }
  /* One row on phones: base rule's flex-wrap:wrap was pushing "Motor Yachts" to a second line. */
  .gp-cat-tabs{ flex-wrap:nowrap; gap:14px; overflow-x:auto; justify-content:space-between; padding:0 16px; scrollbar-width:none; }
  .gp-cat-tabs::-webkit-scrollbar{ display:none; }
  .gp-cat-tabs a{ white-space:nowrap; font-size:10px; letter-spacing:.8px; padding:16px 0; }
  .gp-cat-sec{ padding:40px 20px 20px !important; }
}

/* Sort bar: result count left, "Sort by" right — quiet, matches the tab styling */
.gp-cat-sortbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:1180px; margin:0 auto 22px; padding:0 4px; }
.gp-cat-count{ font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#7a8789; font-weight:400; }
.gp-cat-sort{ display:flex; align-items:center; gap:12px; margin:0; }
.gp-cat-sort label{ font-size:10.5px; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold2); font-weight:500; }
.gp-cat-sort select{ font-family:var(--ui); font-size:13px; color:var(--sea); background:#fff; border:1px solid var(--mist); border-radius:0; padding:9px 34px 9px 14px; min-width:190px; cursor:pointer; -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23A88947' stroke-width='1.4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.gp-cat-sort select:focus{ outline:none; border-color:var(--gold); }
@media (max-width:600px){ .gp-cat-sortbar{ justify-content:space-between; } .gp-cat-sort select{ min-width:0; } .gp-cat-sort label{ display:none; } }
