/* Cruise Ship Wiki - styles · "Sunset Voyage" theme
   Deep ocean navy + teal, with coral & gold sunset accents on a warm sand bg.
   Headings in Poppins (loaded in header.php); body stays system-sans. */
:root{
  /* core palette (names kept stable so all rules keep working) */
  --navy:#0a2540; --navy-2:#123a5e; --deep:#0f3a63;
  --sea:#0e93a8;            /* teal - links & primary-ish */
  --sea-dark:#0b7a8c;
  --sea-light:#e3f4f6;      /* light teal wash */
  --coral:#ff6b5e; --coral-dark:#ec5346;
  --gold:#ffc73a; --gold-ink:#4a3400;
  --ink:#17222e; --muted:#6a7686; --line:#eadfce; /* warm hairline */
  --bg:#eef4fb;             /* airy coastal wash */
  --card:#ffffff;
  /* semantic accents - single source of truth (previously hardcoded per-page) */
  --danger:#b91c1c; --danger-bg:#fdeaea; --danger-line:#f1c9c9;  /* errors, forfeited, "none left" */
  --warn:#b45309;   --warn-bg:#fff7ed;   --warn-line:#fed7aa;    /* expiring-soon amber */
  --ok:#15803d;                                                   /* success green */
  --radius:14px;
  --shadow:0 1px 3px rgba(10,37,64,.07),0 10px 28px rgba(10,37,64,.07);
  --display:'Poppins',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  /* subtle nautical wave motif (inline SVG, no image files) */
  --wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='72' viewBox='0 0 150 72'%3E%3Cpath d='M0 40 Q37.5 20 75 40 T150 40' fill='none' stroke='%23ffffff' stroke-width='2' stroke-opacity='0.11'/%3E%3Cpath d='M0 58 Q37.5 38 75 58 T150 58' fill='none' stroke='%23ffffff' stroke-width='2' stroke-opacity='0.07'/%3E%3C/svg%3E");
  --wave-soft:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='72' viewBox='0 0 150 72'%3E%3Cpath d='M0 46 Q37.5 30 75 46 T150 46' fill='none' stroke='%23ffffff' stroke-width='2' stroke-opacity='0.06'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);
  background-image:linear-gradient(180deg,#e4eefb 0%,#f1f7fd 46%,#eaf3fc 100%);
  background-attachment:fixed;min-height:100vh;line-height:1.55}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
a{color:var(--sea);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,.brand,.stat-num,.hero h1{font-family:var(--display);letter-spacing:-.01em}
h1{font-size:2.05rem;line-height:1.12;margin:.2em 0 .4em;font-weight:700}
h2{font-size:1.4rem;margin:1.6em 0 .6em;font-weight:600}
h3{margin:0 0 .2em;font-size:1.05rem;font-weight:600}
.muted{color:var(--muted)}

/* Header - deep ocean with a warm sunset underline */
.site-header{background:var(--wave-soft) repeat,linear-gradient(120deg,var(--navy),var(--deep));background-size:150px 72px,auto;color:#fff;
  border-bottom:3px solid var(--gold);box-shadow:0 2px 14px rgba(10,37,64,.18)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:800;font-size:1.2rem}
.brand:hover{text-decoration:none}
.brand-mark{font-size:1.35rem}
.main-nav a{color:#d7e6f2;margin-left:1.15rem;font-weight:500}
.main-nav a:hover{color:var(--gold);text-decoration:none}

/* Hero - sunset over the ocean */
.hero{background:var(--wave) repeat,linear-gradient(120deg,var(--navy) 0%,var(--sea) 55%,var(--coral) 115%);background-size:150px 72px,cover;
  color:#fff;border-radius:var(--radius);padding:48px 36px;margin:28px 0;box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero h1{margin-top:0;font-size:2.5rem;font-weight:800}
.hero .lede{font-size:1.15rem;max-width:60ch;color:#f3f8fc}
.btn{display:inline-block;background:#fff;color:var(--navy);font-weight:600;padding:.62rem 1.15rem;
  border-radius:999px;border:0;cursor:pointer;font-size:1rem;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{text-decoration:none;background:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(10,37,64,.18)}
.hero .btn{background:var(--gold);color:var(--gold-ink)}
.hero .btn:hover{background:#ffd45e}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 12px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:center;
  box-shadow:var(--shadow)}
.stat-num{display:block;font-size:1.95rem;font-weight:800;color:var(--sea)}
.stat-label{color:var(--muted);font-size:.9rem}

/* Ship grid + cards */
.ship-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:14px 0}
.ship-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease;color:var(--ink)}
.ship-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,37,64,.16);text-decoration:none}
.ship-card-photo{position:relative;height:140px;background:var(--navy-2) center/cover no-repeat;
  display:flex;align-items:center;justify-content:center}
.photo-fallback{font-size:2.4rem;color:rgba(255,255,255,.55)}
.ship-card-body{padding:12px 14px 16px}
.ship-card h3{color:var(--navy)}
.ship-card .meta{color:var(--muted);font-size:.85rem;margin:.3rem 0 0}

/* Status pills */
.status-pill{position:absolute;top:10px;left:10px;font-size:.7rem;font-weight:700;color:#fff;
  background:rgba(10,37,64,.85);padding:.2rem .55rem;border-radius:999px;letter-spacing:.02em}
.status-in_service{background:rgba(15,150,120,.94)}
.status-on_order,.status-under_construction,.status-planned{background:rgba(240,150,20,.95)}
.status-retired,.status-scrapped,.status-transferred{background:rgba(150,90,80,.92)}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px;margin:14px 0;box-shadow:var(--shadow)}
.filters input,.filters select{padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font-size:.95rem;background:#fff}
.filters input[type=search]{flex:1 1 220px}
.filters input:focus,.filters select:focus{outline:2px solid var(--sea);outline-offset:1px;border-color:var(--sea)}

/* Ship detail */
.crumbs{color:var(--muted);font-size:.9rem;margin:18px 0 4px}
.ship-hero{height:300px;border-radius:var(--radius);background:var(--navy-2) center/cover no-repeat;
  display:flex;align-items:flex-end;position:relative;overflow:hidden;margin:8px 0 16px}
.ship-hero-overlay{position:relative;width:100%;padding:22px;
  background:linear-gradient(transparent,rgba(7,24,42,.88));color:#fff}
.ship-hero-overlay h1{margin:.2rem 0;color:#fff}
.ship-hero .status-pill{position:static;display:inline-block;margin-bottom:.4rem}
.ship-desc{font-size:1.05rem;max-width:70ch}
.spec-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.spec-table th,.spec-table td{text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{width:230px;color:var(--muted);font-weight:600}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.spec-table tr:hover td,.spec-table tr:hover th{background:var(--sea-light)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.gallery img{width:100%;border-radius:8px;display:block}
.gallery figcaption{font-size:.8rem;color:var(--muted);margin-top:.25rem}
.dp-cta{display:inline-block;margin:.2rem .4rem 1rem 0;background:var(--sea-light);border:1px solid var(--sea);
  color:var(--sea-dark);padding:.5rem .95rem;border-radius:999px;text-decoration:none;font-weight:600}
.dp-cta:hover{background:var(--sea);color:#fff;text-decoration:none}

/* Footer - deep ocean, gold accent */
.site-footer{margin-top:48px;background:var(--wave-soft) repeat,linear-gradient(120deg,var(--navy),var(--deep));background-size:150px 72px,auto;color:#d7e6f2;padding:26px 0;
  border-top:3px solid var(--gold)}
.site-footer p{margin:.2rem 0}
.site-footer .muted{color:#93aecb}

/* Cruise lines / owners page */
.group-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:16px 0;box-shadow:var(--shadow)}
.group-head h2{margin:0 0 .2rem}
.brand-list{margin-top:12px;border-top:1px solid var(--line)}
.brand-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);color:var(--ink)}
.brand-row:hover{text-decoration:none;background:var(--sea-light)}
.brand-name{font-weight:600;flex:1 1 240px}
.brand-meta{flex:1 1 200px;color:var(--muted);font-size:.9rem}
.brand-ships{color:var(--muted);font-size:.9rem;white-space:nowrap;text-align:right}
.tag{display:inline-block;font-size:.68rem;font-weight:700;padding:.08rem .45rem;border-radius:999px;vertical-align:middle;letter-spacing:.03em;text-transform:uppercase}
.tag-former{background:#f6e6c8;color:#7a521a}

/* Ownership & loyalty panel (ship page) */
.owner-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.owner-panel p{margin:.2rem 0 .5rem}
.owner-panel ul{margin:.3rem 0 0;padding-left:1.1rem}
.owner-panel li{margin:.45rem 0;font-size:.92rem;line-height:1.45}

@media(max-width:640px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .hero{padding:32px 22px}.hero h1{font-size:1.9rem}
  .spec-table th{width:140px}
}

/* References */
.references{margin-top:2.5rem;padding-top:1.2rem;border-top:2px solid var(--line)}
.references h2{margin-top:0}
.references .source-list{font-size:.9rem;color:var(--muted);padding-left:1.4rem;max-width:80ch}
.references .source-list li{margin:.3rem 0;line-height:1.4}
.references .source-list a{word-break:break-word}

/* Interactive deck plan (dark viewer - kept dark, gold accent already on-theme) */
.dp-layout{display:grid;grid-template-columns:140px 1fr 300px;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);margin-top:12px}
@media(max-width:820px){.dp-layout{grid-template-columns:1fr}}
.dp-decks{border-right:1px solid var(--line);padding:12px}
.dp-decks h2,.dp-panel h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.2rem 0 .5rem}
.dp-deckbtn{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--fg,#e7eef5);padding:.45rem .55rem;border-radius:8px;cursor:pointer;margin-bottom:4px;font-size:.9rem}
.dp-deckbtn:hover{background:#1d2732}
.dp-deckbtn.active{background:#243040;border-color:var(--gold);color:var(--gold)}
.dp-stage{padding:14px 16px;min-width:0}
.dp-deckname{font-weight:600;margin-bottom:6px}
.dp-hull{background:#0f141b;border:1px solid var(--line);border-radius:12px;padding:8px;position:relative}
.dp-hull svg{width:100%;height:auto;display:block}
.dp-room{cursor:pointer;transition:opacity .12s}
.dp-room:hover{opacity:.82}
.dp-room.sel{stroke:var(--gold);stroke-width:3}
.dp-rlabel{font-size:11px;fill:#0b1016;pointer-events:none;font-weight:600}
.dp-rlabel.light{fill:#eaf2fb}
.dp-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:.78rem;color:var(--muted)}
.dp-legend span{display:inline-flex;align-items:center;gap:6px}
.dp-sw{width:12px;height:12px;border-radius:3px;display:inline-block}
.dp-panel{border-left:1px solid var(--line);padding:14px;background:#131a22}
.dp-chip{display:inline-block;font-size:.72rem;padding:.15rem .5rem;border-radius:999px;background:#243040;color:var(--gold);margin-bottom:.3rem}
.dp-rt{font-size:1.1rem;font-weight:700;margin:.1rem 0}
.dp-kv{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.35rem 0;font-size:.86rem;color:var(--muted)}
.dp-media h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1rem 0 .4rem}
.dp-gate{margin-top:8px;font-size:.78rem;color:var(--muted);background:#1b2530;border:1px dashed var(--line);border-radius:8px;padding:.55rem;display:none}

/* Deck plan zoom controls */
.dp-zoomctl{position:absolute;top:16px;left:24px;display:flex;flex-direction:column;gap:4px;z-index:5}
.dp-zoomctl button{width:30px;height:30px;border:1px solid var(--line);background:#182029;color:#e7eef5;border-radius:6px;font-size:1.1rem;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.dp-zoomctl button.rst{font-size:.62rem}
.dp-zoomctl button:hover{background:#243040;border-color:var(--gold);color:var(--gold)}

/* ===== Accounts & community ===== */
.nav-cta{background:var(--gold);color:var(--gold-ink) !important;padding:.28rem .8rem;border-radius:999px;font-weight:800}
.nav-cta:hover{text-decoration:none;background:#ffd45e}
.flash{padding:.7rem 1rem;border-radius:10px;margin:12px 0;font-size:.95rem}
.flash-success{background:#e7f6ec;color:#14532d;border:1px solid #b7e0c4}
.flash-error{background:#fdeaea;color:#7f1d1d;border:1px solid #f4c2c2}
.flash-info{background:var(--sea-light);color:#0c4a56;border:1px solid #bfe6ec}

.auth-card{max-width:460px;margin:24px auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.stack{display:flex;flex-direction:column;gap:.85rem}
.stack label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem}
.stack input[type=text],.stack input[type=email],.stack input[type=password],.stack input[type=url],.stack input[type=number],.stack input[type=date],.stack select,.stack textarea,.upload-form input,.upload-form select,.upload-form textarea{
  font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;font-weight:400}
.stack input:focus,.stack select:focus,.stack textarea:focus{outline:2px solid var(--sea);outline-offset:1px;border-color:var(--sea)}
.stack .check,.upload-form .check{flex-direction:row;align-items:flex-start;gap:.5rem;font-weight:400}
.btn-primary{display:inline-block;background:var(--coral);color:#fff;font-weight:700;padding:.62rem 1.15rem;border:0;border-radius:999px;cursor:pointer;font-size:1rem;transition:transform .12s ease,box-shadow .12s ease}
.btn-primary:hover{background:var(--coral-dark);text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 18px rgba(236,83,70,.28)}
.btn-danger{background:#dc2626;color:#fff;border:0;border-radius:8px;padding:.45rem .8rem;font-weight:600;cursor:pointer}
.link{background:none;border:0;color:var(--sea);cursor:pointer;font:inherit;padding:0}
.link-danger{background:none;border:0;color:#dc2626;cursor:pointer;font:inherit;padding:0}
fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:.8rem 1rem}
legend{font-weight:700;font-size:.9rem;padding:0 .3rem}
.upload-form{max-width:560px;display:flex;flex-direction:column;gap:1rem}
.crumbs{color:var(--muted);font-size:.9rem;margin:.2rem 0 .6rem}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* deck-plan media panel */
.dp-media{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.7rem}
.dp-add{display:inline-block;margin-top:.5rem;background:var(--coral);color:#fff;padding:.45rem .8rem;border-radius:999px;font-weight:600;font-size:.85rem}
.dp-add:hover{text-decoration:none;background:var(--coral-dark)}
.dp-shot{margin:.4rem 0;display:inline-block;width:100%}
.dp-shot img{width:100%;border-radius:8px;display:block}
.dp-shot figcaption{font-size:.75rem;color:var(--muted);display:flex;gap:.5rem;align-items:center;margin-top:.2rem}
.dp-credit{font-weight:600}
.dp-cap{flex:1}
.dp-flag{margin-left:auto;color:#b91c1c}
.dp-vid a{font-weight:600}

/* media grids */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:.6rem 0}
.media-item{margin:0;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.media-item img{width:100%;height:130px;object-fit:cover;display:block}
.media-item .vid-tile{display:flex;align-items:center;justify-content:center;height:130px;background:#0f141b;color:#fff;font-weight:600}
.media-item figcaption{padding:.5rem .6rem;font-size:.8rem;color:var(--muted)}
.media-item .cap{display:block;color:var(--ink)}

/* account & admin */
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:1rem}
.acct-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.admin-tbl{width:100%;border-collapse:collapse;font-size:.9rem;margin:.5rem 0}
.admin-tbl th,.admin-tbl td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.admin-tbl .nowrap{white-space:nowrap}
.badge{font-size:.72rem;background:#f1f5f9;color:#475569;padding:.1rem .4rem;border-radius:6px}

/* prose & tiers */
.prose{max-width:720px}
.prose h2{font-size:1.2rem}
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:1rem 0}
.tier{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.tier .amounts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
.tier .amounts span{background:var(--sea-light);color:#0c4a56;padding:.3rem .7rem;border-radius:999px;font-weight:600;font-size:.9rem}

/* ===== Deck-plan viewer v2 ===== */
.dp-wrap{margin-top:.6rem}
.dp-toolbar{position:sticky;top:0;z-index:6;background:var(--bg);padding:.5rem 0;margin-bottom:.5rem;
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;border-bottom:1px solid var(--line)}
.dp-decks-label{font-weight:700;color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}
.dp-deckchips{display:flex;flex-wrap:wrap;gap:.3rem}
.dp-deckchips .dp-deckbtn{display:inline-block;width:auto;text-align:center;background:var(--card);border:1px solid var(--line);
  color:var(--ink);padding:.28rem .7rem;border-radius:999px;margin:0;font-size:.82rem;font-weight:600}
.dp-deckchips .dp-deckbtn:hover{background:var(--sea-light)}
.dp-deckchips .dp-deckbtn.active{background:var(--navy);border-color:var(--navy);color:#fff}
.dp-toolbar .dp-deckname{font-weight:700;color:var(--ink);margin:0}
.dp-body{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start;border:0;background:transparent;overflow:visible}
.dp-planwrap{background:#0f141b;border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}
.dp-planwrap svg{display:block;margin:0 auto}
.dp-panel{position:sticky;top:64px;align-self:start;max-height:calc(100vh - 84px);overflow:auto;
  border:1px solid var(--line);border-left:1px solid var(--line);border-radius:14px;padding:14px;background:#131a22;color:#dfe8f0}
.dp-panel .muted{color:#9fb0c0}
@media(max-width:860px){.dp-body{grid-template-columns:1fr}.dp-panel{position:static;max-height:none}}

/* checkbox lines */
.stack .check,.upload-form .check{display:block;position:relative;padding-left:1.7rem;font-weight:400}
.stack .check>input,.upload-form .check>input{position:absolute;left:0;top:.18rem;margin:0}

/* delete control on member media */
.dp-del{background:none;border:0;color:#dc2626;cursor:pointer;font-size:.9rem;padding:0;line-height:1;margin-left:.35rem}
.dp-del:hover{color:#991b1b}

/* ===================================================================
   IA refresh 2026-07 — new header (nh-) + landing page (lp-)
   Reuses the Sunset Voyage variables above; no new color tokens.
   =================================================================== */

/* ---- New global header ---- */
.nh{position:sticky;top:0;z-index:60;background:var(--wave-soft) repeat,linear-gradient(120deg,var(--navy),var(--deep));background-size:150px 72px,auto;color:#fff;border-bottom:3px solid var(--gold);box-shadow:0 2px 14px rgba(10,37,64,.18)}
.nh-bar{display:flex;align-items:center;gap:14px;min-height:64px;padding-top:8px;padding-bottom:8px}
.nh-brand{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:800;font-size:1.2rem;white-space:nowrap;font-family:var(--display)}
.nh-brand:hover{text-decoration:none}
.nh-brand-text .w{color:var(--gold)}
.nh-nav{display:flex;gap:4px;margin-left:6px}
.nh-nav a{color:#e8eef7;font-weight:600;padding:8px 14px;border-radius:9px;font-size:.95rem}
.nh-nav a:hover{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}
.nh-dot{color:var(--gold);font-size:.55rem;vertical-align:middle;margin-left:3px}
.nh-spacer{flex:1}
.nh-actions{display:flex;align-items:center;gap:10px;position:relative}
.nh-icon{background:rgba(255,255,255,.14);border:0;color:#fff;width:40px;height:40px;border-radius:10px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.nh-icon:hover{background:rgba(255,255,255,.24)}
.nh-btn{cursor:pointer;border:0;border-radius:10px;font-weight:700;font-size:.9rem;padding:9px 15px;display:inline-block;line-height:1.2}
.nh-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.nh-btn-ghost:hover{background:rgba(255,255,255,.12);text-decoration:none;color:#fff}
.nh-btn-gold{background:var(--gold);color:var(--gold-ink)}
.nh-btn-gold:hover{filter:brightness(1.05);text-decoration:none;color:var(--gold-ink)}
.nh-avatar{width:40px;height:40px;border-radius:50%;background:var(--sea);color:#fff;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid rgba(255,255,255,.5);text-transform:uppercase}
.nh-avatar:hover{filter:brightness(1.05)}
.nh-menu{position:absolute;top:56px;right:0;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 18px 50px rgba(2,20,40,.25);padding:10px;min-width:250px;display:none;z-index:70}
.nh-menu.open{display:block}
#nh-more{right:52px}
.nh-menu h4{margin:8px 12px 4px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nh-menu a{display:flex;align-items:center;gap:10px;color:var(--ink);padding:9px 12px;border-radius:9px;font-weight:600;font-size:.9rem}
.nh-menu a:hover{background:var(--sea-light);text-decoration:none}
.nh-menu a .em{width:22px;text-align:center}
.nh-menu .lock{margin-left:auto;font-size:.66rem;font-weight:700;background:#efe9ff;color:#5b3fa8;padding:1px 8px;border-radius:999px;letter-spacing:.02em}
.nh-menu hr{border:0;border-top:1px solid var(--line);margin:8px 6px}
.nh-acct-head{padding:8px 12px 2px}
.nh-acct-head small{color:var(--muted)}
@media(max-width:760px){.nh-nav{display:none}.nh-brand{font-size:1.05rem}#nh-more{right:0}}

/* ---- Landing page ---- */
.lp-hero{background:var(--wave) repeat,linear-gradient(160deg,var(--deep) 0%,var(--navy) 72%);background-size:150px 72px,cover;color:#fff;border-radius:var(--radius);padding:46px 36px;margin:28px 0;box-shadow:var(--shadow);position:relative;overflow:hidden}
.lp-hero h1{margin:0 0 14px;font-size:2.5rem;font-weight:800;max-width:15ch;font-family:var(--display);line-height:1.08}
.lp-hero h1 .g{color:var(--gold)}
.lp-hero .sub{font-size:1.15rem;color:#dbe8f5;max-width:60ch;margin:0 0 22px}
.lp-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.lp-hero .nh-btn{padding:13px 22px;font-size:1rem}
.lp-micro{margin-top:16px;color:#9fb6d4;font-size:.86rem}
.lp-resume{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:18px 20px;margin-top:24px;max-width:640px}
.lp-resume .r1{font-size:.76rem;color:#a9c0dc;text-transform:uppercase;letter-spacing:.08em}
.lp-resume .r2{font-size:1.45rem;font-weight:800;margin:2px 0 12px;font-family:var(--display)}
.lp-chips{display:flex;gap:10px;flex-wrap:wrap}
.lp-chip{background:var(--gold);color:var(--gold-ink);font-weight:700;border-radius:10px;padding:9px 14px;font-size:.9rem}
.lp-chip:hover{text-decoration:none;filter:brightness(1.04);color:var(--gold-ink)}
.lp-chip.t{background:var(--sea);color:#fff}
.lp-chip.t:hover{color:#fff}
.lp-chip.o{background:rgba(255,255,255,.16);color:#fff}
.lp-blk{padding:16px 0 8px}
.lp-kicker{color:var(--sea-dark);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;margin:0 0 6px}
.lp-sec{font-size:1.7rem;margin:0 0 6px;font-weight:800;font-family:var(--display)}
.lp-lede{color:var(--muted);font-size:1.05rem;margin:0 0 22px;max-width:680px}
.lp-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lp-pillar{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;position:relative;transition:transform .15s ease,box-shadow .15s ease;color:var(--ink);display:block}
.lp-pillar:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(13,52,88,.12);text-decoration:none}
.lp-ic{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:12px;background:var(--sea-light)}
.lp-pillar h3{margin:0 0 6px;font-size:1.25rem;color:var(--navy)}
.lp-pillar p{color:var(--muted);margin:0 0 12px;font-size:.95rem}
.lp-go{font-weight:700;color:var(--sea-dark)}
.lp-tag{position:absolute;top:16px;right:16px;font-size:.66rem;font-weight:800;border-radius:999px;padding:4px 10px;letter-spacing:.02em}
.lp-tag.free{background:var(--sea-light);color:var(--sea-dark)}
.lp-tag.acct{background:#fff4d6;color:#8a6600}
.lp-band{background:#e4edf8;border-radius:var(--radius);padding:30px;margin:22px 0}
.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lp-col{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.lp-col.hi{border:2px solid var(--gold);box-shadow:0 14px 40px rgba(255,199,58,.18)}
.lp-col h3{margin:0 0 4px;font-size:1.2rem}
.lp-col .p{color:var(--muted);font-size:.9rem;margin:0 0 14px}
.lp-col ul{list-style:none;padding:0;margin:0 0 16px}
.lp-col li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line);font-weight:600}
.lp-col li:last-child{border-bottom:0}
.lp-col li .ck{color:var(--sea);font-weight:800}
.lp-col li small{display:block;color:var(--muted);font-weight:500}
.lp-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lp-mini{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.lp-mini .e{font-size:24px}
.lp-mini h4{margin:8px 0 4px;font-size:1rem}
.lp-mini p{margin:0;color:var(--muted);font-size:.85rem}
.lp-where{margin-top:10px;font-size:.75rem;color:var(--sea-dark);font-weight:700}
.lp-cta{background:linear-gradient(120deg,var(--sea),var(--sea-dark));color:#fff;border-radius:22px;padding:36px;text-align:center;margin:24px 0 8px}
.lp-cta h2{font-size:1.6rem;margin:0 0 8px;color:#fff;font-family:var(--display)}
.lp-cta p{color:#d6f3ee;margin:0 0 18px;font-size:1.05rem}
@media(max-width:820px){.lp-pillars,.lp-split{grid-template-columns:1fr}.lp-grid4{grid-template-columns:1fr 1fr}.lp-hero{padding:32px 22px}.lp-hero h1{font-size:1.9rem}}

/* ---- Four-column footer ---- */
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.foot-brand{font-weight:800;font-size:1.15rem;color:#fff;font-family:var(--display)}
.foot-brand .w{color:var(--gold)}
.foot-tag{max-width:300px;color:#cfe0f0;margin:.3rem 0 .5rem}
.site-footer h5{color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.site-footer .foot-cols a{color:#b9cbe2;display:block;padding:3px 0}
.site-footer .foot-cols a:hover{color:#fff;text-decoration:none}
@media(max-width:760px){.foot-cols{grid-template-columns:1fr 1fr}}

/* ---- Avatar photos (header) + profile-photo picker ---- */
.nh-avatar{overflow:hidden;padding:0}
.nh-avatar.has-img{background:transparent}
.nh-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.nh-acct-head{display:flex;align-items:center;gap:10px}
.nh-acct-av{width:34px;height:34px;border-radius:50%;background:var(--sea);color:#fff;font-weight:800;font-size:.8rem;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;text-transform:uppercase}
.nh-acct-av img{width:100%;height:100%;object-fit:cover;display:block}

.pp-wrap{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;margin-top:16px;max-width:820px}
.pp-preview{text-align:center}
.pp-current{width:160px;height:160px;border-radius:50%;margin:0 auto;background:var(--sea);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:3rem;overflow:hidden;border:3px solid var(--card);box-shadow:var(--shadow);text-transform:uppercase}
.pp-current img{width:100%;height:100%;object-fit:cover;display:block}
.pp-preview-cap{color:var(--muted);font-size:.8rem;margin-top:8px;text-transform:uppercase;letter-spacing:.06em}
.pp-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.pp-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:14px}
.pp-tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:.5rem .8rem;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}
.pp-tab.active{color:var(--navy);border-bottom-color:var(--gold)}
.pp-pane input[type=file]{display:block;margin:.4rem 0}
.pp-cam video{width:100%;max-width:360px;border-radius:12px;background:#0f141b;display:block;aspect-ratio:1/1;object-fit:cover}
.pp-cam-btns{display:flex;gap:10px;align-items:center;margin:.6rem 0}
.pp-catalog{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.pp-av{border:2px solid var(--line);background:#fff;border-radius:12px;padding:4px;cursor:pointer;aspect-ratio:1/1}
.pp-av:hover{border-color:var(--sea)}
.pp-av.sel{border-color:var(--gold);box-shadow:0 0 0 2px rgba(255,199,58,.35)}
.pp-av img{width:100%;height:100%;display:block;border-radius:8px}
@media(max-width:720px){.pp-wrap{grid-template-columns:1fr}.pp-preview{margin-bottom:8px}.pp-catalog{grid-template-columns:repeat(4,1fr)}}

/* Cruise Planner prominent nav button (global header) */
.nh-nav a.nh-plan{background:var(--gold);color:var(--gold-ink);font-weight:800;padding:8px 14px;border-radius:9px;}
.nh-nav a.nh-plan:hover{background:#ffd45e;color:var(--gold-ink);text-decoration:none;}

/* Clickable homepage stat cards (link into the fleet with the matching filter) */
a.stat{text-decoration:none;color:inherit;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease;}
a.stat:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(2,20,40,.10);text-decoration:none;}
a.stat:hover .stat-num{color:var(--sea-dark, #0e7490);}

/* Social share dropdown (ship pages) */
.share-menu{position:relative;display:inline-block;margin:.9rem 0 .2rem;}
.share-toggle{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:.9rem;font-weight:700;padding:6px 16px 6px 9px;border-radius:999px;border:0;background:var(--gold);color:var(--gold-ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;box-shadow:0 4px 12px rgba(255,199,58,.35);}
.share-toggle:hover{background:#ffd45e;transform:translateY(-1px);box-shadow:0 7px 18px rgba(255,199,58,.42);}
.share-toggle .caret{font-size:.7rem;opacity:.65;}
.share-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:196px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(2,20,40,.18);padding:6px;}
.share-dropdown[hidden]{display:none;}
.share-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font:inherit;font-size:.88rem;font-weight:500;color:var(--navy);background:none;border:0;padding:9px 12px;border-radius:8px;text-decoration:none;cursor:pointer;}
.share-item:hover{background:#eef4fb;text-decoration:none;}

/* Multi-platform icon-cluster share button */
.share-toggle{padding-left:9px;}
.share-cluster{display:inline-flex;align-items:center;}
.sc-ico{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;margin-left:-7px;box-shadow:0 1px 2px rgba(2,20,40,.20);}
.sc-ico:first-child{margin-left:0;}
.sc-ico svg{display:block;}
.sc-more{background:var(--navy);color:#fff;font-size:.72rem;font-weight:800;line-height:1;}
.sct-lbl{margin-left:8px;font-weight:600;}

/* Deck-plan watermark — tiled, faint, screenshot-proof (site-owned content) */
.dp-planwrap{position:relative;}
.dp-planwrap::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background-repeat:repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='165'%3E%3Ctext x='8' y='95' transform='rotate(-22 150 85)' font-family='Arial,sans-serif' font-size='18' font-weight='700' fill='%230a2540' fill-opacity='0.13'%3Ecruiseshipwiki.com%3C/text%3E%3C/svg%3E");}
