/* Caribbean Fishing with BigJoe — site-wide Caribbean theme.
   Loaded LAST on every page so the whole site matches the homepage look:
   navy + ocean teal + lime, Arial headings at weight 900, Georgia card titles,
   full-width photo heroes, square 3px corners. */
:root{
  --bj-navy:#052c39;--bj-navy-2:#073646;--bj-ocean:#006d77;--bj-ocean-2:#008a96;
  --bj-lime:#e0f18a;--bj-paper:#f5f9f9;--bj-mint:#e6f0ef;--bj-line:#c9dcdc;
  --bj-ink:#052c39;--bj-muted:#405c66;--bj-radius:3px;
  --bj-hero-photo:url("/assets/caribbean-panorama.png");
}

/* ---------- Page canvas: no more black area below short pages ---------- */
html{background:var(--bj-navy)}
body.bj-theme{background:var(--bj-paper);color:var(--bj-ink);font-family:Arial,Helvetica,sans-serif;overflow-x:clip}
body.bj-theme main{background:transparent}

/* ---------- Base chrome for pages that do not load styles.css ---------- */
body.bj-theme{margin:0}
body.bj-theme .brand-logo,body.bj-theme .footer-brand-logo,body.bj-theme .footer-brand{display:none!important}
body.bj-theme .brand{width:0;min-width:0;overflow:hidden}
body.bj-theme .skip{position:absolute;left:10px;top:-80px;background:#fff;padding:10px;z-index:30}
body.bj-theme .skip:focus{top:10px}
body.bj-theme > footer p{margin:0 0 10px;font-size:15px}
body.bj-theme > footer small{display:block;font-size:13px}

/* ---------- Top bar + language link (same as homepage) ---------- */
body.bj-theme > header:not(.bj-keep){background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px clamp(16px,5vw,68px)!important;border:0;box-shadow:none;position:static}
body.bj-theme > header .language{font-size:15px;font-weight:700;color:var(--bj-navy);text-decoration:none;padding:8px;border-bottom:2px solid var(--bj-ocean)}
body.bj-theme > header .header-links a{color:var(--bj-navy)}

/* ---------- Full-width heroes, homepage style ---------- */
body.bj-theme .page-head,
body.bj-theme .bj-page-hero,
body.bj-theme .bj-generic-hero{
  position:relative;overflow:hidden;color:#fff;
  margin:0 calc(50% - 50vw) 0!important;width:auto!important;max-width:none!important;
  border-radius:0!important;box-shadow:none!important;border:0!important;
  padding:clamp(36px,5vw,64px) max(clamp(16px,5vw,68px),calc(50vw - 615px)) clamp(38px,5vw,60px)!important;
  min-height:0!important;display:block!important;
  background:linear-gradient(90deg,rgba(5,44,57,.97) 0%,rgba(5,44,57,.88) 45%,rgba(0,109,119,.55) 100%),var(--bj-hero-photo) center 40%/cover var(--bj-navy)!important;
}
body.bj-theme .bj-page-hero{background:var(--bj-navy)!important;min-height:340px!important;display:flex!important;align-items:flex-end}
body.bj-theme .bj-page-hero:after{background:linear-gradient(90deg,rgba(5,44,57,.95) 0%,rgba(5,44,57,.72) 50%,rgba(5,44,57,.15) 100%)!important}
body.bj-theme .bj-page-hero__copy{padding:0!important;max-width:760px!important}
/* teal ribbon under every hero, like the homepage habitat ribbon */
body.bj-theme .page-head::after,
body.bj-theme .bj-generic-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--bj-ocean)}
body.bj-theme .bj-page-hero{box-shadow:inset 0 -8px 0 var(--bj-ocean)!important}

body.bj-theme .page-head h1,body.bj-theme .bj-page-hero h1,body.bj-theme .bj-generic-hero h1{
  font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;color:#fff!important;
  font-size:clamp(36px,5.2vw,68px)!important;line-height:.98!important;letter-spacing:-1.5px!important;
  margin:12px 0 14px!important;text-shadow:none!important;max-width:900px}
body.bj-theme .page-head p,body.bj-theme .bj-page-hero p,body.bj-theme .bj-generic-hero p{color:#e0eff1!important;font-size:clamp(16px,1.5vw,19px)!important;line-height:1.5!important;max-width:680px}
body.bj-theme .page-head .eyebrow,body.bj-theme .bj-kicker,body.bj-theme .bj-generic-hero .kicker{
  display:block!important;background:none!important;border:0!important;padding:0!important;border-radius:0!important;
  color:var(--bj-lime)!important;font-size:13px!important;font-weight:700!important;letter-spacing:2px!important;text-transform:uppercase!important;margin:0!important}
body.bj-theme .page-head a,body.bj-theme .page-head .back{color:var(--bj-lime)!important}
body.bj-theme .page-head .guide-scientific,body.bj-theme .page-head .guide-alternate{color:#cfe6ea!important}
body.bj-theme .page-head .eyebrow{margin-top:14px!important}

/* ---------- Section headings ---------- */
body.bj-theme main h2{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.5px}
body.bj-theme main h3{font-family:Georgia,serif;font-weight:700}

/* ---------- Buttons ---------- */
body.bj-theme .button,body.bj-theme a.button,body.bj-theme .bj-button{background:var(--bj-lime);color:var(--bj-navy);border-radius:var(--bj-radius);font-weight:700;border:0}

/* ---------- Sub-navigation rows inside pages (member area, charters, etc.) ---------- */
body.bj-theme main nav.bj-subnav{
  display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;padding:0;background:none;border:0;font-size:0;color:transparent}
body.bj-theme main nav.bj-subnav a{
  font-size:13px;font-weight:700;color:var(--bj-navy);background:#fff;border:1px solid var(--bj-line);
  border-radius:8px;padding:7px 12px;text-decoration:none;line-height:1.2}
body.bj-theme main nav.bj-subnav a:hover{border-color:var(--bj-ocean);color:var(--bj-ocean)}

/* ---------- Bait & Lures action tiles: brand colours instead of rainbow ---------- */
body.bj-theme .bj-action{border-radius:var(--bj-radius)!important;box-shadow:none!important;border:1px solid transparent!important}
body.bj-theme .bj-action:nth-child(3n+1){background:var(--bj-navy)!important;color:#fff!important}
body.bj-theme .bj-action:nth-child(3n+2){background:var(--bj-ocean)!important;color:#fff!important}
body.bj-theme .bj-action:nth-child(3n){background:#fff!important;color:var(--bj-navy)!important;border-color:var(--bj-line)!important}
body.bj-theme .bj-action small{color:inherit;opacity:.85}

/* ---------- Cards: square corners like homepage cards ---------- */
body.bj-theme .premium-card,body.bj-theme .card,body.bj-theme .recipe-box,body.bj-theme .guide-block,
body.bj-theme .quick-facts,body.bj-theme .panel,body.bj-theme .rig{border-radius:var(--bj-radius)!important}

/* ---------- Copyright strip ---------- */
body.bj-theme .copyright-strip{color:var(--bj-muted);font-size:13px;text-align:center;padding:18px 0}

/* ---------- Footer ---------- */
body.bj-theme > footer{background:var(--bj-navy)!important;color:#d1e5e9!important;padding:32px clamp(16px,6vw,82px) 30px!important;margin-top:40px;border:0}
body.bj-theme > footer a{color:#fff}
body.bj-theme > footer small{color:#a9c6cc}

/* ---------- Dark-designed pages (member area, app, trial): navy content band ---------- */
body.bj-theme.bj-dark-main main{background:var(--bj-navy)!important;color:#f4f8fb!important;box-shadow:0 0 0 100vmax var(--bj-navy);clip-path:inset(0 -100vmax);padding-bottom:36px}
body.bj-theme.bj-dark-main{background:var(--bj-navy)}
body.bj-theme.bj-dark-main main nav.bj-subnav a{background:transparent;color:#fff;border-color:#ffffff55}
body.bj-theme.bj-dark-main main nav.bj-subnav a:hover{border-color:var(--bj-lime);color:var(--bj-lime)}
body.bj-theme.bj-dark-main > footer{margin-top:0;border-top:1px solid #ffffff22}

/* ---------- Rig Library index (was a dark one-off page) ---------- */
body.bj-theme main .lead{color:var(--bj-muted)!important}
body.bj-theme .rig{background:var(--bj-navy)!important;color:#e0eff1!important;border:0}
body.bj-theme .rig-body,body.bj-theme .rig .meta,body.bj-theme .rig .tip{color:#e0eff1!important}
body.bj-theme .rig h2,body.bj-theme .rig h2 a{color:var(--bj-lime)!important}
body.bj-theme .rig .build li{background:var(--bj-ocean)!important;color:#fff!important;border-radius:var(--bj-radius)!important}
body.bj-theme .rule{background:var(--bj-navy)!important;color:#e0eff1!important;border-radius:var(--bj-radius)!important}
body.bj-theme .rule h2{color:var(--bj-lime)!important}

/* ---------- Fishing Hot Spots app header ---------- */
body.bj-theme .hotspot-app-brand{background:var(--bj-navy)!important;color:#fff!important;border-radius:0!important;border:0!important;box-shadow:inset 0 -6px 0 var(--bj-ocean)!important;padding:18px clamp(16px,3vw,28px) 22px!important}
body.bj-theme .hotspot-app-brand *{color:#fff!important}
body.bj-theme .hotspot-app-brand .hotspot-brand-sub,body.bj-theme .hotspot-app-brand .hotspot-brand-right span{color:var(--bj-lime)!important}

/* ---------- Caribbean area species lists -> card grid ---------- */
body.bj-theme .catalog-list{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
body.bj-theme .catalog-list > li{background:#fff;border:1px solid var(--bj-line);border-top:4px solid var(--bj-ocean);border-radius:var(--bj-radius);padding:16px 18px;margin:0}
body.bj-theme .catalog-list > li h3{margin:0 0 4px;font-size:20px;color:var(--bj-navy)}
body.bj-theme .catalog-list > li p{margin:4px 0;font-size:14px;color:var(--bj-muted)}
body.bj-theme .catalog-list > li > a{display:inline-block;margin-top:8px;background:var(--bj-navy);color:#fff;font-weight:700;font-size:13px;padding:7px 12px;border-radius:var(--bj-radius);text-decoration:none}
body.bj-theme .catalog-list details{margin-top:8px;font-size:13px}
body.bj-theme .catalog-list details ul{padding-left:18px}
body.bj-theme article.content:has(.catalog-list){max-width:1230px!important;margin-inline:auto}
body.bj-theme input[type=search],body.bj-theme .catalog input{border:1px solid var(--bj-line);border-radius:var(--bj-radius);padding:10px 12px}

@media(max-width:640px){
  body.bj-theme .bj-page-hero{min-height:260px!important}
  body.bj-theme .page-head h1,body.bj-theme .bj-page-hero h1,body.bj-theme .bj-generic-hero h1{letter-spacing:-.8px!important}
}
