/* ==========================================================================
   npw-ds.css — Nurse Path World design system v2 "Route" (Oct 2026)
   Loaded LAST on every page. Re-maps the shared tokens every page already uses
   (--teal, --ink, --bg …) and restyles the shared components, so the whole
   site gets one look without touching per-page markup.
   Signature: deep "night teal" route bands with a dotted map texture and a
   dashed flight path, warm paper background, amber boarding-pass CTAs,
   passport-stamp section labels.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --bg:#F6F4EE; --card:#FFFFFF; --white:#FFFFFF;
  --ink:#0B2530; --teal:#0A6B6E; --teal2:#12A597; --teal-deep:#063A40;
  --teal-tint:#E1F2EE; --teal-tint2:#EEF7F4;
  --gold:#A35A0C; --gold-tint:#FFF1D6;
  --line:#E4E0D5; --radius:18px;
  --sh1:0 1px 2px rgba(6,38,43,.05),0 3px 10px rgba(6,38,43,.05);
  --sh2:0 18px 40px rgba(6,38,43,.12),0 4px 12px rgba(6,38,43,.06);
  --night:#05262B; --night2:#0A3B42; --mint:#5EEAD4; --mint-soft:#B9E6DF;
  --amber:#FFB72E; --amber-hi:#FFC95C; --amber-ink:#2A1A00;
  --npw-top:64px;
  --npw-ring:0 0 0 3px #fff,0 0 0 5.5px #0A6B6E;
  --npw-font-h:"Tajawal","Readex Pro",system-ui,sans-serif;
  --npw-font-b:"Readex Pro","Tajawal",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* texture: dotted map + dashed route (tiny inline SVG, no request) */
  --npw-dots:radial-gradient(rgba(255,255,255,.085) 1px,transparent 1.3px) 0 0/18px 18px;
  --npw-route:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 260' fill='none'%3E%3Cpath d='M-10 230C120 60 260 40 360 120S560 210 640 20' stroke='%235EEAD4' stroke-opacity='.38' stroke-width='2' stroke-dasharray='2 9' stroke-linecap='round'/%3E%3Ccircle cx='360' cy='120' r='5' fill='%23FFB72E'/%3E%3Ccircle cx='360' cy='120' r='12' stroke='%23FFB72E' stroke-opacity='.4'/%3E%3C/svg%3E");
}
:root:not([data-theme="dark"]){--muted:#4A5F66}
html[data-theme="dark"]{
  --bg:#06171B; --card:#0D2227; --white:#0D2227; --ink:#E9F5F3; --muted:#A9C4C6;
  --teal:#3CC3B6; --teal2:#5EEAD4; --teal-deep:#CDEFEA; --teal-tint:#10302F; --teal-tint2:#0C2629;
  --line:#1E3A3F; --gold:#FFC266; --gold-tint:#2A2210;
  --npw-ring:0 0 0 3px #06171B,0 0 0 5.5px #5EEAD4;
}

/* ---------- 2. Base ---------- */
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--npw-top) + 56px)}
body{background:var(--bg);color:var(--ink);font-family:var(--npw-font-b);text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--npw-font-h);letter-spacing:-.2px}
::selection{background:var(--amber);color:var(--amber-ink)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--npw-ring);border-radius:10px}
.skip:focus{background:var(--night)!important;color:#fff!important;border-radius:10px!important;box-shadow:0 0 0 3px var(--amber)}
html.npw-lock,html.npw-lock body{overflow:hidden}
main a:not([class]),article a:not([class]),.faq-a a,.cg-body a,.tldr a,.est-banner a,.costnote a,.note a{color:var(--teal);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- 3. Top bar ---------- */
html .topbar{position:sticky;top:0;z-index:80;background:rgba(246,244,238,.88);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
html .topbar.npw-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px rgba(6,38,43,.06)}
html[data-theme="dark"] .topbar{background:rgba(6,23,27,.88)}
html .topbar-in{display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:10px!important;max-width:1240px!important;height:var(--npw-top);margin:0 auto;padding:0 20px!important}
html .topbar .brand,html .npw-foot-brand .brand,html .npw-drawer .brand{display:flex;align-items:center;gap:10px;flex:0 1 auto!important;min-width:0;text-decoration:none;color:var(--teal-deep)}
html .topbar .brand img{width:38px;height:38px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--teal2)}
html .topbar .brand>span{font-family:var(--npw-font-h);font-weight:800;font-size:16.5px;line-height:1.1;color:var(--teal-deep);white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.2px}
html .topbar .brand>span small{display:block;font-family:var(--npw-font-b);font-weight:500;font-size:11.5px;color:var(--muted);margin-top:3px;letter-spacing:0}
html .topnav{display:flex!important;align-items:center;justify-content:flex-start;gap:6px!important;flex:1 1 auto!important;min-width:0!important;overflow:visible!important;padding:0!important;min-height:0!important;flex-wrap:nowrap!important}
html .topnav>*{flex:0 0 auto}
.npw-links{display:flex;align-items:center;gap:2px;margin-inline-start:14px;margin-inline-end:auto}
html .topnav a,html .topnav button,.npw-more summary{font-family:var(--npw-font-h);font-weight:700;font-size:14.5px;color:var(--teal-deep);text-decoration:none;padding:9px 12px!important;border-radius:12px;border:0;background:transparent;cursor:pointer;white-space:nowrap;line-height:1.2;transition:background .15s,color .15s}
html .topnav a:hover,html .topnav button:hover,.npw-more summary:hover{background:var(--teal-tint)}
html .topnav .npw-links a.active,.npw-more summary.active{color:var(--teal);background:transparent;box-shadow:inset 0 -2.5px 0 var(--amber)}
html .topnav [data-npw-keep]{display:inline-flex;align-items:center;gap:4px;position:static!important;background:none!important;padding:0!important;margin:0!important}
.npw-more{position:relative}
.npw-more summary{list-style:none;display:inline-flex;align-items:center;gap:4px}
.npw-more summary::-webkit-details-marker{display:none}
.npw-more summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .15s}
.npw-more[open] summary svg{transform:rotate(180deg)}
.npw-more-menu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh2);padding:8px;display:grid;gap:2px;z-index:90}
html .topnav .npw-more-menu a{display:block;padding:10px 12px!important;font-size:14.5px}
.npw-search-btn{display:inline-flex!important;align-items:center;gap:8px;min-width:236px;height:42px;padding:0 12px!important;border:1.5px solid var(--line)!important;background:var(--card)!important;color:var(--muted)!important;font-family:var(--npw-font-b)!important;font-weight:400!important;font-size:14px!important;border-radius:12px!important}
.npw-search-btn:hover{border-color:var(--teal2)!important}
.npw-search-btn svg,.npw-sfield svg,.npw-icbtn svg,.npw-menu-btn svg,.topnav .npw-cta svg,.npw-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.npw-search-btn .npw-sb-t{flex:1;text-align:start}
.npw-search-btn kbd{font:600 12px/1 var(--npw-font-b);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:3px 7px;color:var(--muted);background:var(--bg)}
html .topnav .npw-cta{display:inline-flex;align-items:center;gap:7px;background:var(--amber);color:var(--amber-ink)!important;padding:10px 16px!important;border-radius:12px;box-shadow:0 2px 0 #D9900A,0 8px 18px rgba(255,183,46,.28);font-weight:800}
html .topnav .npw-cta:hover{background:var(--amber-hi)}
html .topnav .npw-menu-btn{display:none;width:42px;height:42px;padding:0!important;align-items:center;justify-content:center;border-radius:12px;background:var(--night)!important;color:#fff!important}
html .topnav .npw-lang{border:1.5px solid var(--line)!important;height:42px;padding:0 12px!important;border-radius:12px}
html .topnav #themeBtn{width:42px;height:42px;padding:0!important;border-radius:12px}
@media (max-width:1380px){.npw-search-btn{min-width:0}.npw-search-btn .npw-sb-t,.npw-search-btn kbd{display:none}}
@media (max-width:1240px){html .topbar .brand>span small{display:none}}
html .topnav .npw-keep-link{display:none}
@media (max-width:1100px){
  .npw-links{display:none}
  html .topnav{justify-content:flex-end}
  html .topnav .npw-menu-btn{display:inline-flex}
}
@media (max-width:640px){
  :root{--npw-top:60px}
  html .topbar-in{padding:0 12px!important;gap:6px!important}
  html .topnav{gap:6px!important}
  html .topnav .npw-cta{display:none}
  html .topbar .brand img{width:34px;height:34px}
  html .topbar .brand>span{font-size:15px}
  .npw-search-btn,html .topnav .npw-lang,html .topnav #themeBtn,html .topnav .npw-menu-btn,html .topnav .bellbtn{width:40px;height:40px;min-width:40px;justify-content:center;padding:0!important}
  html .topnav .npw-lang{font-size:0!important}
  html .topnav .npw-lang::after{content:"EN";font:800 13px/1 var(--npw-font-h);color:var(--teal-deep)}
  html[lang="en"] .topnav .npw-lang::after{content:"ع";font-size:16px}
}
@media (max-width:360px){html .topbar .brand>span{font-size:13.5px}}

/* ---------- 4. Overlays: search dialog + drawer ---------- */
.npw-layer{position:fixed;inset:0;z-index:10050;background:rgba(3,20,24,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.npw-layer[hidden]{display:none}
.npw-sdlg{display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px}
.npw-sdlg-box{width:min(640px,100%);background:var(--card);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:12px;max-height:80vh;display:flex;flex-direction:column}
.npw-sfield{display:flex;align-items:center;gap:10px;border:2px solid var(--teal);border-radius:16px;padding:0 6px 0 14px;background:var(--card);color:var(--teal)}
[dir=rtl] .npw-sfield{padding:0 14px 0 6px}
.npw-sfield input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 17px/1.4 var(--npw-font-b);color:var(--ink);padding:14px 0}
.npw-sfield input::-webkit-search-cancel-button{display:none}
.npw-icbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:12px;background:var(--teal-tint2);color:var(--teal-deep);cursor:pointer}
.npw-s-hint{margin:12px 8px 4px;font:700 12.5px/1 var(--npw-font-h);color:var(--muted);letter-spacing:.3px}
.npw-sfield input:not(:placeholder-shown)~*{}
.npw-results{list-style:none;margin:6px 0 0;padding:0;overflow:auto}
.npw-results li a{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:12px;text-decoration:none;color:var(--ink)}
.npw-results li a:hover,.npw-results li.on a{background:var(--teal-tint2)}
.npw-results li.on a{box-shadow:inset 3px 0 0 var(--teal)}
[dir=rtl] .npw-results li.on a{box-shadow:inset -3px 0 0 var(--teal)}
.npw-results .npw-flag{border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08);object-fit:cover;flex:0 0 auto}
.npw-r-ic{width:24px;text-align:center;font-size:18px;flex:0 0 auto}
.npw-r-t{flex:1;font:700 15.5px/1.35 var(--npw-font-h)}
.npw-r-k{font:600 12px/1 var(--npw-font-b);color:var(--muted);background:var(--bg);border:1px solid var(--line);padding:4px 8px;border-radius:100px}
.npw-r-all a .npw-r-t{font-weight:500;color:var(--teal)}
.npw-r-empty{padding:12px 10px;color:var(--muted);font-size:14.5px}
.npw-results-pop{position:absolute;inset-inline:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh2);padding:8px;max-height:min(60vh,420px);z-index:40}
.npw-results-pop[hidden],.npw-results[hidden]{display:none}

.npw-drawer{display:flex;justify-content:flex-end}
.npw-drawer-panel{width:min(400px,92vw);height:100%;background:var(--bg);overflow:auto;padding:12px 16px 28px;box-shadow:0 0 60px rgba(0,0,0,.3);transform:translateX(100%);transition:transform .22s ease}
[dir=rtl] .npw-drawer{justify-content:flex-start}
[dir=rtl] .npw-drawer-panel{transform:translateX(-100%)}
.npw-drawer.open .npw-drawer-panel{transform:none}
.npw-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0 14px}
.npw-drawer .brand .bn{font:800 16px/1.1 var(--npw-font-h);color:var(--teal-deep)}
.npw-drawer .brand img{border-radius:50%}
.npw-sfield-sm input{font-size:16px;padding:12px 0}
.npw-results-sm{background:var(--card);border-radius:14px;margin-top:8px}
.npw-results-sm:empty{display:none}
.npw-d-h{margin:20px 2px 10px;font:800 13px/1 var(--npw-font-h);color:var(--muted);letter-spacing:.4px}
.npw-d-countries{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.npw-d-countries a{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 11px;text-decoration:none;color:var(--ink);font:700 14.5px/1.2 var(--npw-font-h);min-height:44px}
.npw-d-countries a:hover{border-color:var(--teal2)}
.npw-d-countries img{border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.npw-d-links{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.npw-d-links a{padding:11px 10px;border-radius:10px;text-decoration:none;color:var(--teal-deep);font:700 15px/1.2 var(--npw-font-h)}
.npw-d-links a:hover,.npw-d-links a.active{background:var(--teal-tint)}
.npw-d-ctas{display:grid;gap:8px;margin-top:20px}
.npw-d-lang{margin-top:12px;width:100%;height:46px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--teal-deep);font:700 15px/1 var(--npw-font-h);cursor:pointer}

/* ---------- 5. Buttons ---------- */
.npw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:14px;font:800 15.5px/1.2 var(--npw-font-h);text-decoration:none;cursor:pointer;border:0;transition:transform .12s,background .15s,box-shadow .15s}
.npw-btn:active{transform:translateY(1px)}
.npw-btn-amber,.btn.btn-primary,.btn-primary.btn{background:var(--amber)!important;color:var(--amber-ink)!important;box-shadow:0 2px 0 #D9900A,0 10px 22px rgba(255,183,46,.25)!important;border:0!important}
.npw-btn-amber:hover,.btn.btn-primary:hover{background:var(--amber-hi)!important}
.npw-btn-line{background:transparent;color:var(--teal-deep);box-shadow:inset 0 0 0 1.5px var(--line)}
.npw-btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--teal)}
.npw-btn-ghost-light{background:rgba(255,255,255,.08);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.32)}
.npw-btn-ghost-light:hover{background:rgba(255,255,255,.14)}
.btn{border-radius:14px!important;font-family:var(--npw-font-h)!important;font-weight:800!important;min-height:46px}
.btn.btn-ghost{background:var(--card);color:var(--teal-deep);box-shadow:inset 0 0 0 1.5px var(--line);border:0!important}
.btn.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--teal)}
.mini{border-radius:11px!important;min-height:40px;display:inline-flex;align-items:center}
.mini.portal,.mini.email{background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important}
.mini.portal:hover,.mini.email:hover{background:var(--teal-deep)!important}
html[data-theme="dark"] .mini.portal,html[data-theme="dark"] .mini.email{color:#04201f!important}

/* ---------- 6. Stamps & headings ---------- */
.sec-tag,.sec-label .tag,.eyebrow,.art-card .art-tag,.gbadge{display:inline-flex!important;align-items:center;gap:7px;font-family:var(--npw-font-h)!important;font-weight:800!important;letter-spacing:.4px;color:var(--teal)!important;background:transparent!important;border:1.5px dashed currentColor;border-radius:8px!important;padding:4px 11px!important;transform:rotate(-1.2deg);margin-bottom:12px}
.sec-tag::before,.sec-label .tag::before,.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px rgba(255,183,46,.25)}
h2.sec,.sec-head h2,.cpick h2,.faq-title{color:var(--teal-deep);font-weight:800;letter-spacing:-.3px}
section.panel{padding-block:44px 8px}
.tldr{background:var(--card)!important;border:1px solid var(--line);border-inline-start:5px solid var(--amber)!important;border-radius:16px!important;box-shadow:var(--sh1);padding:16px 18px!important}
.tldr strong{color:var(--teal)!important}

/* ---------- 7. Hero bands ---------- */
header.hero:not(.wrap){position:relative;overflow:hidden;color:#EAF6F4;background:var(--npw-route) no-repeat right -40px bottom -30px/min(720px,110%) auto,var(--npw-dots),radial-gradient(ellipse 70% 80% at 90% 0%,rgba(94,234,212,.16),transparent 60%),linear-gradient(160deg,var(--night) 0%,var(--night2) 60%,#0B4A4F 100%)!important}
[dir=rtl] header.hero:not(.wrap){background-position:left -40px bottom -30px,0 0,0 0,0 0!important}
header.hero:not(.wrap)::before,header.hero:not(.wrap)::after{display:none!important}
header.hero:not(.wrap) h1{color:#fff;font-weight:800;letter-spacing:-.6px}
header.hero:not(.wrap) .lead,header.hero:not(.wrap) p.lead{color:#CFE7E3!important}
header.hero .crumbs,header.hero .crumbs a{color:var(--mint-soft)!important}
header.hero .crumbs a:hover{color:#fff!important;text-decoration:underline}
header.hero.wrap{position:relative;margin-top:22px!important;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,var(--teal2),var(--amber)) border-box;border:1.5px solid transparent;border-radius:24px;box-shadow:var(--sh1);padding-top:26px!important;padding-bottom:26px!important;overflow:hidden}
header.hero.wrap>*{position:relative;z-index:1}
header.hero.wrap::after{content:"";position:absolute;z-index:0;inset-inline-end:-30px;top:-20px;width:260px;height:140px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 140' fill='none'%3E%3Cpath d='M10 130C70 40 150 20 250 10' stroke='%2312A597' stroke-opacity='.35' stroke-width='2' stroke-dasharray='2 8' stroke-linecap='round'/%3E%3Ccircle cx='250' cy='10' r='5' fill='%23FFB72E'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none;opacity:.9}
[dir=rtl] header.hero.wrap::after{transform:scaleX(-1)}
@media (max-width:640px){header.hero.wrap{margin-inline:12px!important;padding-inline:18px!important;border-radius:20px}header.hero.wrap::after{opacity:.35;width:180px;height:100px}}

/* ---------- 8. Cards ---------- */
.fact,.emp,.box,.tool,.ccard,.scard,.ivcard,.art-card:not(.featured),.tools-bento a:not(.featured),.jstep:not(.primary),.cpick a.cc,.track,.costcard,.prereq,details.cat,.card:not(.npw-x){border-color:var(--line)!important;border-radius:18px!important}
.fact,.emp,.tool,.ccard,.scard,.ivcard,.art-card,.tools-bento a,.jstep,.cpick a.cc,.track{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.fact:hover,.emp:hover,.tool:hover,.ccard:hover,.scard:hover,.ivcard:hover,.art-card:not(.featured):hover,.tools-bento a:not(.featured):hover,.jstep:not(.primary):hover,.cpick a.cc:hover,.track:hover{transform:translateY(-3px);border-color:var(--teal2)!important;box-shadow:0 0 0 1px var(--teal2),var(--sh2)!important}
.fact .k{color:var(--teal)!important}
.tools-bento a.featured,.art-card.featured,.jstep.primary{background:var(--npw-dots),linear-gradient(150deg,var(--night),var(--night2))!important;border-color:var(--night)!important;border-radius:20px!important}
.prereq{background:var(--teal-tint2)!important}
.costcard{background:var(--card)}
.costrow.total{background:var(--night)!important;color:#fff!important;border-radius:0 0 16px 16px}
.costrow.total b,.costrow.total span{color:#fff!important}
.costrow.total b{color:var(--amber)!important}
ol.plan li:not(.phase-head)::before{background:var(--night)!important;color:var(--amber)!important;border-radius:50%!important;box-shadow:0 0 0 4px var(--teal-tint)}
ol.plan li.phase-head h3{color:var(--teal)!important;display:flex;align-items:center;gap:10px}
ol.plan li.phase-head h3::after{content:"";flex:1;border-top:2px dashed var(--line)}
.est-banner{border-radius:16px!important}
.box.good{border-top:4px solid var(--teal2)!important}
.box.bad{border-top:4px solid #C2562E!important}

/* ---------- 9. FAQ / details ---------- */
details.faq-item{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:0 0 10px;overflow:hidden}
details.faq-item>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:16px 18px;font-family:var(--npw-font-h);font-weight:800;color:var(--teal-deep)}
details.faq-item>summary::-webkit-details-marker{display:none}
details.faq-item>summary::after{content:"+";margin-inline-start:auto;flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--teal-tint);color:var(--teal);font-size:19px;line-height:1;transition:transform .15s}
details.faq-item[open]>summary::after{content:"–";background:var(--amber);color:var(--amber-ink)}
details.faq-item>.faq-a{padding:0 18px 16px}

/* ---------- 10. Tables ---------- */
table.cmp thead th{background:var(--night)!important;color:#fff!important}
table.cmp tbody tr:nth-child(even) td{background:var(--teal-tint2)}

/* ---------- 11. Footer (night band) ---------- */
footer.npw-footer,footer:not(.card-foot):not(.npw-x){position:relative;background:var(--npw-dots),var(--night)!important;color:#CFE3E0!important;box-shadow:0 0 0 100vmax var(--night);clip-path:inset(0 -100vmax);margin-top:56px!important;padding-top:34px!important;padding-bottom:40px!important;text-align:start!important}
footer.npw-footer a,footer:not(.card-foot) a,footer:not(.card-foot) .linklike{color:#fff!important}
footer:not(.card-foot) .review-by,footer:not(.card-foot) p,footer:not(.card-foot) span{color:#CFE3E0}
.npw-foot-brand{display:flex;align-items:center;margin:0 0 18px;padding-bottom:18px;border-bottom:1px dashed rgba(255,255,255,.22)}
.npw-foot-brand .brand img{border-radius:50%;box-shadow:0 0 0 2px var(--night),0 0 0 3.5px var(--mint)}
.npw-foot-brand .bn{font:800 17px/1.15 var(--npw-font-h);color:#fff!important}
.npw-foot-brand .bn small{display:block;font:400 13px/1.5 var(--npw-font-b);color:var(--mint-soft);margin-top:4px;white-space:normal}
.npw-footer-links{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:16px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.18)}
.npw-footer-links a{display:inline-block;padding:6px 10px;min-height:32px;border-radius:9px;text-decoration:none!important;font:600 14px/1.4 var(--npw-font-h)}
.npw-footer-links a:hover{background:rgba(255,255,255,.08)}
footer #shareBtn{margin-top:4px}

/* ---------- 12. Ads (reserved, labelled, never above the fold) ---------- */
.npw-ad{display:none}
.npw-ad.npw-ad-on{display:block;max-width:920px;margin:36px auto 8px;padding:0 20px}
.npw-ad-in{position:relative;min-height:280px;border-radius:16px;background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(10,107,110,.03) 10px 20px),var(--card);border:1px dashed var(--line);padding:22px 10px 10px;overflow:hidden}
.npw-ad-in::before{content:attr(data-label);position:absolute;top:6px;inset-inline-start:12px;font:600 11px/1 var(--npw-font-b);color:var(--muted);letter-spacing:.6px}
@media (max-width:640px){.npw-ad-in{min-height:300px}.npw-ad.npw-ad-on{padding:0 12px}}
/* auto ads: keep them clear of the sticky bar and inside the content column */
ins.adsbygoogle[data-anchor-status]{z-index:70!important}
.google-auto-placed{margin-block:24px!important;clear:both}

/* ---------- 13. Country pages ---------- */
.npw-ticket{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px;max-width:680px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:18px;position:relative}
.npw-ticket>div{padding:12px 16px;min-width:0}
.npw-ticket>div+div{border-inline-start:1.5px dashed rgba(255,255,255,.25)}
.npw-ticket .t-k{display:block;font:700 11.5px/1 var(--npw-font-h);letter-spacing:.6px;color:var(--mint);margin-bottom:6px}
.npw-ticket .t-v{display:block;font:800 15px/1.3 var(--npw-font-h);color:#fff;overflow-wrap:anywhere}
@media (max-width:560px){.npw-ticket{grid-template-columns:1fr}.npw-ticket>div+div{border-inline-start:0;border-top:1.5px dashed rgba(255,255,255,.25)}}
.npw-hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
header.hero .flag{display:inline-grid;place-items:center;width:64px;height:64px;font-size:38px!important;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:0 0 0 1.5px rgba(255,255,255,.2),0 0 0 7px rgba(255,255,255,.04);margin-bottom:12px!important}
.npw-onpage{position:sticky;top:var(--npw-top);z-index:60;background:rgba(246,244,238,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
html[data-theme="dark"] .npw-onpage{background:rgba(6,23,27,.94)}
.npw-onpage .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:9px}
.npw-onpage .wrap::-webkit-scrollbar{display:none}
.npw-onpage a{flex:0 0 auto;font:700 13.5px/1 var(--npw-font-h);color:var(--teal-deep);text-decoration:none;padding:9px 13px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);white-space:nowrap}
.npw-onpage a:hover,.npw-onpage a.on{border-color:var(--teal);color:var(--teal);background:var(--teal-tint2)}

/* ---------- 14. Cookie banner ---------- */
html .cookie-banner{background:var(--night)!important;border-top:3px solid var(--amber);font-family:var(--npw-font-b)!important}
html .cookie-banner .cookie-accept{background:var(--amber)!important;color:var(--amber-ink)!important}
html .cookie-banner .cookie-btn{min-height:44px;border-radius:12px}

/* ---------- 15. Forms ---------- */
input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],select,textarea{border-radius:12px}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--teal)!important}

/* ---------- 16. Print ---------- */
@media print{.npw-layer,.npw-onpage,.npw-ad,.npw-foot-brand,.npw-hero-ctas{display:none!important}footer{background:none!important;color:#000!important;box-shadow:none!important}}

/* ---------- 17. Hero search + country cards ---------- */
.npw-hero-search{position:relative;display:flex;gap:8px;max-width:620px;margin-top:22px;background:#fff;border-radius:18px;padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.npw-hero-search::before{content:"";flex:0 0 22px;margin-inline-start:10px;background:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A6B6E' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")}
.npw-hero-search input{flex:1;min-width:0;border:0!important;outline:0;background:transparent;font:500 16.5px/1.4 var(--npw-font-b);color:#0B2530;padding:12px 4px}
.npw-hero-search input::placeholder{color:#5D7076}
.npw-hero-search input:focus-visible{box-shadow:none}
.npw-hero-search:focus-within{box-shadow:0 0 0 3px var(--amber),0 18px 40px rgba(0,0,0,.25)}
.npw-hero-search .npw-btn{min-height:46px;padding:10px 20px}
.npw-hero-search .npw-results-pop{color:var(--ink);text-align:start}
@media (max-width:480px){.npw-hero-search .npw-btn{padding:10px 14px}}
html .countries{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:12px!important}
html .ccard{position:relative;text-align:start!important;padding:16px 16px 14px!important;display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"f n" "f e" "x x";column-gap:12px;align-items:center;background:var(--card)!important}
html .ccard .cf{grid-area:f;font-size:30px!important;line-height:1}
html .ccard .cf img{display:block;width:48px;height:36px;object-fit:cover;border-radius:6px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
html .ccard .cn{grid-area:n;margin:0!important;font-size:17px!important;color:var(--teal-deep)}
html .ccard .ce{grid-area:e;font-size:12.5px!important}
html .ccard .cx{grid-area:x;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1.5px dashed var(--line)}
html .ccard .cx span{font:700 12px/1.2 var(--npw-font-h);color:var(--teal);background:var(--teal-tint2);border-radius:7px;padding:5px 8px}
html .ccard::after{content:"←";position:absolute;top:14px;inset-inline-end:14px;font:800 16px/1 var(--npw-font-h);color:var(--teal2);opacity:0;transition:opacity .15s,transform .15s}
html[dir=ltr] .ccard::after{content:"→"}
html .ccard:hover::after{opacity:1}
header.hero .flag img{display:block;width:40px;height:30px;border-radius:5px;object-fit:cover}

/* ---------- 18. Polish ---------- */
@media (min-width:1101px){html .topbar .brand{flex:0 0 auto!important}html .topbar .brand>span{overflow:visible}}
.npw-btn,.topnav .npw-cta{white-space:nowrap}
@media (max-width:560px){.npw-ticket{grid-template-columns:repeat(3,minmax(0,1fr))}.npw-ticket>div{padding:10px 10px}.npw-ticket>div+div{border-top:0;border-inline-start:1.5px dashed rgba(255,255,255,.25)}.npw-ticket .t-v{font-size:13px}.npw-ticket .t-k{font-size:10.5px}}
.npw-sfield input:focus-visible{box-shadow:none}
.npw-sfield:focus-within{box-shadow:0 0 0 3px rgba(18,165,151,.25)}
.npw-sdlg-box:has(.npw-sfield input:not(:placeholder-shown)) .npw-s-hint{display:none}

/* ── Phase 1 (2026-10): community box on specialty pages (country pages get the same from country.css) ── */
.cq .cq-lead{margin:0 0 10px;color:var(--muted)}
.cq .cq-list ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.cq .cq-list li{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:10px 12px;line-height:1.6}
.cq .cq-list a{color:var(--ink);font-weight:700;text-decoration:none}
.cq .cq-list a:hover{color:var(--teal)}
.cq-tag{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:1px 8px;background:#e3f1f0;color:#0A4A52;margin-inline-start:6px}
.cq-tag.ok{background:#e3f3e9;color:#1f6640}.cq-tag.open{background:#fbefe0;color:#8a4f12}
.cq-empty{color:var(--muted);margin:0 0 12px}
.cq-actions{display:flex;gap:10px;flex-wrap:wrap}
.cq-actions .btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 18px;border-radius:12px;font-weight:800;text-decoration:none}
.cq .cq-list{min-height:64px}
/* Phase 1: stamp labels on dark heroes need the light ink (cv-builder badge was teal-on-teal) */
header.top .gbadge,header.top .sec-tag,header.top .eyebrow,header.hero:not(.wrap) .gbadge{color:var(--mint,#5EEAD4)!important}
