/* KiwiSurf region pages (/spots/<region>/, tools/build_region.py). On top of spot.css + hub.css: same tokens, hero, cards, CTA. */
/* hero: the spot's own band illustration behind the words, under a dark veil (Markus 01.11: "background image of the spot ... with overlay") */
.reg-hero.has-bg{isolation:isolate;background:var(--night)}
.reg-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% 62%}
.reg-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(25,9,34,.66) 0%,rgba(25,9,34,.52) 45%,rgba(25,9,34,.74) 100%)}
.reg-hero.has-bg .hub-in{position:relative;z-index:2}
.reg-hero.has-bg .crumbs,.reg-hero.has-bg .crumbs a{color:rgba(255,255,255,.86)}
.reg-hero.has-bg .eyebrow{color:#bfe89a}
.reg-hero.has-bg h1{color:#fff}
.reg-hero.has-bg .lede,.reg-hero.has-bg .reg-drive{color:rgba(255,255,255,.92)}
.reg-hero.has-bg .reg-drive b{color:#fff}
.reg-hero.has-bg .hub-now b{color:rgba(255,255,255,.85)}
.reg-hero.has-bg .stale.on{background:rgba(255,255,255,.92)}
.reg-hero .lede{max-width:680px}
.reg-drive{margin-top:12px;font:600 15px/22px var(--sans);color:var(--ink-700)}
.reg-best{position:relative;z-index:2;max-width:640px;margin-top:22px;padding:18px 20px;border-radius:18px;background:#fff;box-shadow:var(--shadow-border),var(--lift)}
.reg-best .lbl{display:block}
.reg-best-n{display:inline-block;margin-top:6px;font:500 30px/1.15 var(--serif);letter-spacing:-.015em;color:var(--ink-900);text-decoration:none}
.reg-best-n:hover{text-decoration:underline;text-underline-offset:4px}
.reg-best-r{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px}
.reg-best-r .r5n{margin-left:8px;font:600 22px/1 var(--serif)}
.reg-best-r>b{font:800 18px/1 var(--sans);font-variant-numeric:tabular-nums}
.reg-best-l{margin-top:10px;font:500 17px/25px var(--serif);color:var(--ink-800)}
.reg-best-none{display:block;margin-top:8px;font:500 22px/1.25 var(--serif);color:var(--ink-800)}
.reg-best .acts{margin-top:14px}
.reg-sec{max-width:1200px;margin:0 auto;padding:56px 24px 0}
.reg-sec h2{font-size:34px;line-height:1.15;letter-spacing:-.02em}
.reg-sec .intro{margin-top:8px;max-width:720px;font:400 16px/25px var(--sans);color:var(--ink-700)}
.reg-sec h3{margin-top:22px;font-size:22px}
/* the comparison table: a real table, first column sticky on phones */
.cmp-wrap{margin-top:18px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:18px;background:#fff;box-shadow:var(--shadow-border)}
.cmp{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font:400 15px/20px var(--sans);font-variant-numeric:tabular-nums}
.cmp th,.cmp td{display:table-cell;padding:12px 12px;border-bottom:1px solid var(--ink-200);text-align:left;vertical-align:middle;white-space:nowrap}
.cmp thead th{position:sticky;top:0;z-index:3;background:var(--night);color:#fdfdfa;font:900 11.5px/14px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.cmp thead th:first-child{border-radius:18px 0 0 0}.cmp thead th:last-child{border-radius:0 18px 0 0}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp .r-spot{position:sticky;left:0;z-index:2;min-width:150px;background:#fff;box-shadow:1px 0 0 var(--ink-200)}
.cmp thead .r-spot{background:var(--night);z-index:4}
.cmp tbody .r-spot a{font:800 16px/20px var(--sans);color:var(--ink-900);text-decoration:none}
.cmp tbody .r-spot a:hover{text-decoration:underline;text-underline-offset:3px}
.cmp tbody .r-spot small{display:block;font:600 12.5px/16px var(--sans);color:var(--ink-600)}
.cmp .is-closed .r-spot,.cmp .is-closed td{background:#fffaf3}
.cmp .r-rate{padding:0 12px}
.cmp .r-rate[data-k="5"],.cmp .r-rate[data-k="4"]{background:#e3f2d6}.cmp .r-rate[data-k="3"]{background:#fff1cc}.cmp .r-rate[data-k="1"],.cmp .r-rate[data-k="2"]{background:#f1f0eb}
.cmp .r-rate .r5n{font-size:13px}
.cmp .r-win b{font-weight:800}
.cmp .dim{color:var(--ink-600);font-weight:600}
.cmp .r-surf b{font:900 16px/1 var(--sans);color:#1a5f74}
.cmp .r-surf small{margin-left:2px;font:800 11px/1 var(--sans);color:#1a5f74}
.cmp .r-surf i{margin-left:8px;font:600 12.5px/1 var(--sans);font-style:normal;color:var(--ink-600)}
.cmp .r-swell b,.cmp .r-wind b{font:900 15px/1 var(--sans)}
.cmp .r-swell small{margin:0 6px 0 2px;font:800 11px/1 var(--sans);color:var(--ink-600)}
.cmp .r-swell .arr{display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:-3px;color:var(--ink-800)}
.cmp .r-swell i,.cmp .r-wind i{font:600 12.5px/1 var(--sans);font-style:normal;color:var(--ink-600)}
.cmp .r-wind{min-width:150px}
.cmp .r-wind .wbox{display:inline-block;width:12px;height:12px;margin-right:8px;border-radius:50%;vertical-align:-1px;place-items:unset}
.cmp .r-wind i{display:block;margin-top:3px}
.cmp .r-tide{font-weight:700;color:var(--ink-800);text-transform:capitalize}
.cmp .r-shut{color:#8a4b12;font-weight:600;white-space:normal}
.cmp .r-shut .r-line{display:block;margin-top:2px;font-weight:500}
.cmp .r-nodata{white-space:normal}
.cmp-line{margin-top:10px;font:500 15px/23px var(--sans);color:var(--ink-700)}
.cmp-line a{font-weight:800;color:var(--ink-900);text-decoration:none}
.cmp-line+.cmp-line{margin-top:4px}
.cmp.days .r-day{vertical-align:middle}
.cmp.days .r-day .r5n{font-size:12.5px}
.cmp.days .r-dw{display:block;margin-top:4px;font:700 13px/16px var(--sans);color:var(--ink-800)}
/* hour strips: 17 cells, 05 to 21, stars as colour + number */
.strips{margin-top:18px;padding:16px 16px 14px;border-radius:18px;background:#fff;box-shadow:var(--shadow-border)}
.strips h3{margin:0 0 10px;font-size:20px}
.st-h,.strip{display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:10px;align-items:center}
.strip+.strip,.st-h+.strip{margin-top:6px}
.st-hh,.st-c{display:grid;grid-template-columns:repeat(17,minmax(0,1fr));gap:3px}
.st-hh span{font:800 11.5px/14px var(--sans);color:var(--ink-600);text-align:center}
.st-n{font:800 15px/20px var(--sans);color:var(--ink-900);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-n:hover{text-decoration:underline;text-underline-offset:3px}
.st-c i{display:grid;place-items:center;height:30px;border-radius:7px;font:800 12.5px/1 var(--sans);font-style:normal;color:var(--ink-900)}
.st-c .off{background:#eeede7;color:transparent}
.st-c .ban{background:repeating-linear-gradient(135deg,#f3dccb 0 4px,#eeede7 4px 8px)}
.st-c .k1{background:#f1f0eb;color:var(--ink-600)}
.st-c .k2{background:#e4e9dc}
.st-c .k3{background:#fff1cc}
.st-c .k4{background:#cfe8b4}
.st-c .k5{background:#8cc63f}
.st-c .now{box-shadow:inset 0 0 0 2px var(--coral)}
.reg-cards{padding-top:56px}
.reg-src{margin-top:24px;padding:0}
/* the full guide table per spot (the guide's .fc, spot.css), one <details> each */
.fspot{margin-top:14px;border-radius:18px;background:#fff;box-shadow:var(--shadow-border)}
.fspot summary{display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 18px;list-style:none;cursor:pointer;border-radius:18px}
.fspot summary::-webkit-details-marker{display:none}
.fspot[open] summary{border-radius:18px 18px 0 0;border-bottom:1px solid var(--ink-200)}
.fs-n{flex:1 1 auto;min-width:0;font:500 24px/1.15 var(--serif);letter-spacing:-.015em}
.fs-r{display:inline-flex;align-items:center;gap:10px;font:800 15px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink-800)}
.fs-r .r5n{font-size:13px}
.fs-chev{flex:none;width:20px;height:20px;color:var(--ink-600);transition:transform .2s var(--ease)}
.fspot[open] .fs-chev{transform:rotate(180deg)}
.fspot .fc{border-radius:0;box-shadow:none}
.fspot .colhead{border-radius:0}
.fspot .fd:first-of-type{border-top:0}
.fs-more{margin:0;padding:12px 18px 14px;font:700 14.5px/20px var(--sans)}
.fs-more a{display:inline-flex;align-items:center;gap:6px;color:var(--kiwi-ink);text-decoration:none}
.fs-more a:hover{text-decoration:underline;text-underline-offset:3px}
.fs-more svg{width:14px;height:14px}
#tables .fc-legend{margin-top:16px}
@media (max-width:760px){
  .reg-sec{padding:44px 16px 0}
  .fspot{margin:12px -16px 0;border-radius:0;box-shadow:none;border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200)}
  .fspot summary,.fspot[open] summary{border-radius:0;padding:10px 16px}
  .fs-n{font-size:21px}
  .fspot .fc{margin:0;border-top:0}
  .reg-bg{object-position:62% 66%}
  .reg-sec h2{font-size:28px}
  .cmp-wrap{margin:14px -16px 0;border-radius:0;box-shadow:none;border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200)}
  .cmp thead th:first-child,.cmp thead th:last-child{border-radius:0}
  .cmp .r-spot{min-width:124px;padding-left:16px}
  .cmp tbody .r-spot a{font-size:15px}
  .cmp .r-wind{min-width:140px}
  .strips{padding:14px 12px 12px}
  .st-h,.strip{grid-template-columns:96px minmax(0,1fr);column-gap:8px}
  .st-hh,.st-c{gap:2px}
  .st-hh .odd{visibility:hidden}
  .st-n{font-size:13.5px}
  .st-c i{height:28px;border-radius:5px;font-size:11.5px}
  .reg-best{padding:16px 16px 14px}
  .reg-best-n{font-size:26px}
  .reg-cards{padding-top:44px}
}
