/* Phase 351 — Live Ocean Compact Marine Read Lock */
.liveOceanPage{background:#f7f1e6;color:#14233a}
.oceanLockHero{padding:22px 0 10px;background:linear-gradient(180deg,#f7f1e6 0%,#f2e7d5 100%)}
.oceanLockHero__inner{width:min(1120px,calc(100% - 28px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:16px;align-items:stretch}
.oceanLockHero__copy,.oceanLockPulse,.oceanLockPanel,.oceanLockNext{border:1px solid rgba(19,34,58,.12);border-radius:28px;background:rgba(255,252,244,.92);box-shadow:0 18px 45px rgba(24,35,58,.08)}
.oceanLockHero__copy{padding:24px;position:relative;overflow:hidden}.oceanLockHero__copy:before{content:"";position:absolute;inset:auto -50px -90px auto;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(239,122,43,.18),rgba(239,122,43,0) 68%);pointer-events:none}
.oceanLockEyebrow,.oceanLockKicker{display:inline-flex;gap:7px;align-items:center;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:#ef7a2b}.oceanLockHero h1{margin:10px 0 8px;font-family:"Inter Tight",Inter,sans-serif;font-size:clamp(2rem,6vw,4.2rem);line-height:.94;letter-spacing:-.055em;color:#0c1c34}.oceanLockHero p{max-width:720px;margin:0;color:rgba(20,35,58,.75);line-height:1.55;font-weight:520}.oceanLockActions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.oceanLockBtn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:999px;border:1px solid rgba(19,34,58,.16);background:#fff7ec;color:#14233a;text-decoration:none;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.oceanLockBtn:hover,.oceanLockBtn:focus-visible{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,35,58,.12);outline:0}.oceanLockBtn--primary{background:#10213b;color:#fff;border-color:#10213b}
.oceanLockPulse{padding:16px;display:flex;flex-direction:column;gap:12px;background:#10213b;color:#fff}.oceanLockPulse__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.oceanLockPulse__head span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.66);font-weight:800}.oceanLockPulse__head strong{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:#ffd59f;font-size:.85rem}.oceanLockKpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.oceanLockKpi{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px;background:rgba(255,255,255,.08)}.oceanLockKpi b{display:block;font-size:.72rem;color:rgba(255,255,255,.64);text-transform:uppercase;letter-spacing:.06em}.oceanLockKpi span{display:block;margin-top:3px;font-size:1.05rem;font-weight:850;color:#fff}.oceanLockMicrocopy,.oceanLockSource{font-size:.85rem;line-height:1.45;color:rgba(255,255,255,.68)}
.oceanLockMain{display:grid;gap:14px;padding-top:16px;padding-bottom:30px}.oceanLockPanel{padding:16px}.oceanLockSectionHead{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}.oceanLockSectionHead h2{margin:4px 0 0;font-size:clamp(1.2rem,3vw,1.7rem);letter-spacing:-.03em}.oceanLockSectionHead p{max-width:560px;margin:0;color:rgba(20,35,58,.67);line-height:1.45;font-weight:520}.oceanLockChips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.oceanLockChip{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:#14233a;border:1px solid rgba(19,34,58,.12);background:#fffaf1;border-radius:18px;padding:10px 11px;min-height:54px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.oceanLockChip b{font-size:.92rem}.oceanLockChip small{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:rgba(20,35,58,.5)}.oceanLockChip:hover,.oceanLockChip:focus-visible{outline:0;transform:translateY(-1px);box-shadow:0 10px 22px rgba(20,35,58,.1);border-color:rgba(239,122,43,.45)}.oceanLockChip.is-active{background:#10213b;color:#fff;border-color:#10213b}.oceanLockChip.is-active small{color:#ffd59f}.oceanLockGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:14px}.oceanLockMeaning p{font-size:1.02rem;line-height:1.58;color:rgba(20,35,58,.78);font-weight:540}.oceanLockMiniKpis{display:grid;gap:8px}.oceanLockMiniKpi{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:15px;background:#fff7ec;border:1px solid rgba(19,34,58,.1)}.oceanLockMiniKpi b{color:#ef7a2b}.oceanLockMiniKpi span{font-weight:750}.oceanLockNotice{margin:0;color:inherit;opacity:.76}.oceanLockTableShell{border:1px solid rgba(19,34,58,.1);border-radius:18px;background:#fff7ec;overflow:hidden}.oceanLockTableShell summary{cursor:pointer;padding:13px 14px;font-weight:900;color:#10213b;list-style:none}.oceanLockTableShell summary::-webkit-details-marker{display:none}.oceanLockTableShell summary:after{content:"+";float:right;font-weight:900;color:#ef7a2b}.oceanLockTableShell[open] summary:after{content:"–"}.oceanLockTableWrap{margin:0;border-top:1px solid rgba(19,34,58,.1);max-height:430px;overflow:auto}.oceanLockTableWrap table{width:100%;border-collapse:collapse;min-width:680px}.oceanLockTableWrap th,.oceanLockTableWrap td{padding:10px;border-bottom:1px solid rgba(19,34,58,.08);text-align:left;font-size:.9rem}.oceanLockTableWrap th{position:sticky;top:0;background:#fff7ec;color:#10213b;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.oceanLockNext{padding:18px;background:#10213b;color:#fff}.oceanLockSectionHead--light .oceanLockKicker,.oceanLockSectionHead--light h2{color:#fff}.oceanLockRouteGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.oceanLockRoute{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:14px;background:rgba(255,255,255,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.oceanLockRoute:hover,.oceanLockRoute:focus-visible{outline:0;transform:translateY(-1px);background:rgba(255,255,255,.12);box-shadow:0 12px 28px rgba(0,0,0,.14)}.oceanLockRoute b{font-size:1.02rem}.oceanLockRoute span{font-size:.88rem;color:rgba(255,255,255,.72);line-height:1.45}.oceanLockSource{margin:0;padding:0 4px;color:rgba(20,35,58,.58);font-size:.8rem}
html[dir="rtl"] .oceanLockTableWrap th,html[dir="rtl"] .oceanLockTableWrap td{text-align:right}html[dir="rtl"] .oceanLockTableShell summary:after{float:left}
@media (max-width: 860px){.oceanLockHero{padding-top:14px}.oceanLockHero__inner{grid-template-columns:1fr;width:min(100% - 20px,1120px);gap:10px}.oceanLockHero__copy,.oceanLockPulse,.oceanLockPanel,.oceanLockNext{border-radius:22px}.oceanLockHero__copy{padding:18px}.oceanLockActions{gap:7px}.oceanLockBtn{min-height:39px;padding:9px 11px;font-size:.88rem}.oceanLockKpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.oceanLockKpi{padding:8px;border-radius:15px}.oceanLockKpi span{font-size:.92rem}.oceanLockSectionHead{display:block;margin-bottom:10px}.oceanLockSectionHead p{margin-top:6px;font-size:.9rem}.oceanLockChips{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.oceanLockChip{flex:0 0 150px;scroll-snap-align:start}.oceanLockGrid,.oceanLockRouteGrid{grid-template-columns:1fr}.oceanLockPanel{padding:14px}.oceanLockNext{padding:15px}.oceanLockTableWrap{max-height:360px}}
@media (max-width: 480px){.oceanLockHero h1{font-size:2.1rem}.oceanLockKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.oceanLockPulse__head{align-items:flex-start;flex-direction:column}.oceanLockChip{flex-basis:136px}.oceanLockRoute{padding:12px}.oceanLockHero__inner{width:min(100% - 14px,1120px)}}

/* Phase 358 — live ocean topical/entity lock */
.oceanLockRoute[href*="surf-spots"],.oceanLockRoute[href*="tamraght"],.oceanLockRoute[href*="anza"]{border-color:rgba(215,130,58,.32)}
.oceanLockHero__copy h1,.oceanLockSectionHead h2{letter-spacing:-.035em}.oceanLockSource{max-width:980px}
/* Phase 382 — native Live Ocean night completion. Marine/data logic untouched. */
html[data-theme="dark"] body.oceanLockRoute,
html[data-theme="dark"] body :where(.oceanLockRoute){background:#030708!important;color:#f6f3eb!important;}
html[data-theme="dark"] body :where(.oceanLockHero,.oceanLockHero__inner,.oceanLockPanel,.oceanLockPulse,.oceanLockPulse__head,.oceanLockKpi,.oceanLockMiniKpi,.oceanLockTableShell,.oceanLockTableWrap,.oceanLockNext,.oceanLockRouteGrid,.oceanLockSource,.oceanLockGrid,.oceanLockSectionHead){background:#071217!important;color:#f6f3eb!important;border-color:rgba(246,243,235,.14)!important;box-shadow:none!important;}
html[data-theme="dark"] body :where(.oceanLockChip,.oceanLockBtn,.oceanLockChips button){background:#0b151a!important;color:#f6f3eb!important;border-color:rgba(143,230,210,.22)!important;}
html[data-theme="dark"] body :where(.oceanLockChip.is-active,.oceanLockBtn.primary,.oceanLockBtn--primary){background:linear-gradient(135deg,#16aaa3,#8fe6d2)!important;color:#031316!important;border-color:rgba(143,230,210,.7)!important;}
html[data-theme="dark"] body :where(.oceanLockRoute h1,.oceanLockRoute h2,.oceanLockRoute h3,strong,b){color:#f6f3eb!important;}
html[data-theme="dark"] body :where(.oceanLockRoute p,.oceanLockRoute small,.oceanLockRoute span,.oceanLockHero__copy p){color:#b9c4c5!important;}

/* Phase 388 — native route-family night surface/control finish. */
html[data-theme="dark"] body :where(.bfCard,.bfPanel,.bfForm,.thingsDecisionBoard,.thingsPlanCard,.thingsCard,.flightCockpit,.flightDecisionCard,.flightPanel,.oceanLockPanel,.surfSmartHero,.surfSmartPanel,.surfSmartResult,.surfSmartDeck>*,.surfSmartCarousel>*,.localCard,.entityCard,.articleCard,.topicCard,.guideCard,.rootAppCard,.editorialCard,.moneyCard,.offerCard,.hcPanel,.hcHero,.tgz268HeroCard,.tgz268Section){background:linear-gradient(180deg,rgba(15,43,57,.96),rgba(7,23,32,.98))!important;color:#edf7f5!important;border-color:rgba(151,230,214,.22)!important}
html[data-theme="dark"] body :where(.bfBtn,.thingsBtn,.flightBtn,.flightMiniBtn,.flightMiniLink,.flightChip,.flightCityChip,.oceanLockButton,.surfSmartBtn,.surfPhase356Link,.hcBtn,.tgzCommercialIntentBtn,.tgzStayMoneyBtn){background:linear-gradient(135deg,rgba(22,66,86,.95),rgba(15,43,57,.98))!important;color:#ecfaf7!important;border-color:rgba(151,230,214,.26)!important}
html[data-theme="dark"] body :where(.bfBtn.primary,.thingsBtn.primary,.flightBtn.primary,.surfSmartBtn.primary,.surfPhase356Link.primary,.hcBtnPrimary,.tgzCommercialIntentBtn--quote,.tgzStayMoneyBtn.is-primary){background:linear-gradient(135deg,#24c8b8,#b5f4dc)!important;color:#031719!important;border-color:rgba(181,244,220,.72)!important}
html[data-theme="dark"] body :where(.flightChip:nth-child(2n),.flightCityChip:nth-child(2n),.thingsBtn:nth-child(2n),.surfSmartBtn:nth-child(2n)){background:linear-gradient(135deg,rgba(38,82,117,.92),rgba(82,64,132,.70))!important;border-color:rgba(137,171,255,.30)!important}


/* Phase 389 — app spacing + native route finish. Reduces wasted space and adds richer Atlantic button grammar without touching app engines. */
html[data-theme="dark"] body{--tgz389-page:#061014;--tgz389-surface:#0a1820;--tgz389-surface2:#0f2634;--tgz389-line:rgba(160,235,222,.18);--tgz389-text:#f3fff9;--tgz389-muted:#aac3c4;--tgz389-teal:#23c7b7;--tgz389-mint:#aef5de;--tgz389-blue:#69a8ff;--tgz389-violet:#b79cff;--tgz389-copper:#d99a42;--tgz389-sand:#e9d7b4}
html[data-theme="dark"] body :where(.btn,.button,a.btn,button,.cleanSoftBtn,.cleanActionBtn,.cleanDockBtn,.quoteMiniAction,.quoteSectionAction,.weatherHeroActions .btn,.weatherSegment button,.weatherHourlyModes button,.weatherSpotSheetTab,.bfBtn,.thingsBtn,.flightBtn,.flightMiniBtn,.oceanLockButton,.surfSmartBtn,.tioFooterV4__action,.bottomQuickNav a){border-color:rgba(160,235,222,.24);box-shadow:none;text-align:center;align-items:center;justify-content:center;white-space:normal;line-height:1.12;transition:transform .15s ease,filter .15s ease,border-color .15s ease,background .15s ease}
html[data-theme="dark"] body :where(.btn,.button,a.btn,.cleanSoftBtn,.quoteMiniAction,.weatherHeroActions .btn.secondary,.bfBtn.secondary,.flightMiniBtn,.flightMiniLink,.thingsBtn.secondary,.oceanLockButton.secondary){background:linear-gradient(135deg,rgba(16,42,56,.96),rgba(10,29,40,.98));color:#effff9;border-color:rgba(105,168,255,.28)}
html[data-theme="dark"] body :where(.btn.primary,.primary,.is-primary,.cleanPrimary,.cleanDockBtn.cleanPrimary,.weatherHeroActions .btn.primary,.weatherSegment button.is-active,.weatherHourlyModes button.is-active,.bfBtn.primary,.thingsBtn.primary,.flightBtn.primary,.oceanLockButton.primary,button[type="submit"]){background:linear-gradient(135deg,#23c7b7,#aef5de);color:#031719;border-color:rgba(174,245,222,.72)}
html[data-theme="dark"] body :where(.btn:nth-of-type(3n),.cleanSoftBtn:nth-of-type(3n),.weatherHeroActions .btn:nth-of-type(3n),.bfBtn:nth-of-type(3n),.thingsBtn:nth-of-type(3n),.flightMiniBtn:nth-of-type(3n)){background:linear-gradient(135deg,rgba(105,168,255,.28),rgba(183,156,255,.18));border-color:rgba(105,168,255,.34);color:#f3f8ff}
html[data-theme="dark"] body :where(.btn:nth-of-type(4n),.cleanSoftBtn:nth-of-type(4n),.weatherHeroActions .btn:nth-of-type(4n),.bfBtn:nth-of-type(4n),.thingsBtn:nth-of-type(4n),.flightMiniBtn:nth-of-type(4n)){background:linear-gradient(135deg,rgba(217,154,66,.30),rgba(233,215,180,.12));border-color:rgba(217,154,66,.40);color:#fff4df}
html[data-theme="dark"] body :where(.btn:hover,.button:hover,a.btn:hover,button:hover,.cleanSoftBtn:hover,.cleanActionBtn:hover,.weatherHeroActions .btn:hover,.bfBtn:hover,.thingsBtn:hover,.flightBtn:hover,.oceanLockButton:hover){filter:brightness(1.06);transform:translateY(-1px)}
@media (max-width:760px){body :where(main,.buildCleanMain,.weatherFinalApp,.surfSmartApp,.bfApp,.thingsApp,.flightCockpit,.oceanLockApp){--tgz-route-gap:12px}body :where(.container,.buildCleanShell,.weatherFinalApp,.surfSmartShell,.bfShell,.thingsShell,.flightShell,.oceanLockShell){padding-left:12px;padding-right:12px}body :where(.buildCleanHero,.cleanStep,.cleanStayPanel,.weatherHero,.weatherNowCard,.weatherBoard,.weatherSpotMatrix,.bfPanel,.bfCard,.thingsDecisionBoard,.thingsPlanCard,.thingsCard,.flightDecisionCard,.flightPanel,.oceanLockPanel,.surfSmartPanel,.surfSmartResult,.localCard,.entityCard,.articleCard,.topicCard,.guideCard,.siteIndexCard){border-radius:20px;padding:14px;gap:10px}body :where(.buildCleanHero h1,.weatherHero h1,.bfHero h1,.thingsHero h1,.flightHero h1,.oceanLockHero h1){font-size:clamp(28px,8.8vw,42px);line-height:.95;margin-bottom:8px}body :where(.cleanModeGrid,.cleanBookingGrid,.guestCounterGrid,.activityCards,.weatherMetricGrid,.weatherSpotSheetGrid,.bfGrid,.thingsGrid,.flightGrid){gap:9px}}


/* Phase 393 — native density + lively Atlantic controls. */
html[data-theme="dark"] body :where(.btn,.button,button.cleanSoftBtn,button.cleanActionBtn,a.cleanSoftBtn,a.cleanActionBtn,.chip,.tab,.pill,.routeChip,.menuTreeChip,.weatherSpotSheetItem,.tgz393Route){
  min-width:0;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
html[data-theme="dark"] body :where(.btn.secondary,.button.secondary,.chip,.tab,.pill,.routeChip,.menuTreeChip):not(.is-active):not([aria-current="page"]){
  background:linear-gradient(135deg,rgba(15,45,58,.94),rgba(8,28,38,.98));
  border-color:rgba(105,168,255,.24);
  color:#edfdf8;
}
html[data-theme="dark"] body :where(.btn.primary,.button.primary,.is-active,[aria-current="page"]):not(.tgz393Brand){
  background:linear-gradient(135deg,var(--tgz393-teal,#23c7b7),var(--tgz393-mint,#aef5de));
  border-color:rgba(174,245,222,.62);
  color:#031719;
}
html[data-theme="dark"] body :where(.btn.secondary:hover,.button.secondary:hover,.chip:hover,.tab:hover,.pill:hover,.routeChip:hover,.menuTreeChip:hover){
  border-color:rgba(174,245,222,.42);
  background:linear-gradient(135deg,rgba(22,63,78,.98),rgba(10,35,47,.98));
}
@media(max-width:780px){
  body :where(main .section,main section,.appSection,.weatherSection,.buildStep,.surfAppSection,.routeSection){
    padding-top:clamp(10px,3.4vw,18px)!important;
    padding-bottom:clamp(10px,3.4vw,18px)!important;
  }
  body :where(main .container,main .wrap,main .shell,.appShell,.weatherShell,.buildShell){
    padding-left:clamp(12px,3.6vw,18px)!important;
    padding-right:clamp(12px,3.6vw,18px)!important;
  }
  body :where(.cards,.grid,.appGrid,.weatherGrid,.buildGrid,.spotGrid,.routeGrid,.proofGrid,.linkGrid,.buttonGrid,.btnRow){
    gap:clamp(7px,2.4vw,12px)!important;
  }
  body :where(.card,.panel,.appCard,.weatherCard,.buildCard,.spotCard,.routeCard,.proofCard,.faq details){
    border-radius:clamp(16px,4.2vw,22px)!important;
  }
  body :where(.btn,.button,button.cleanSoftBtn,button.cleanActionBtn,a.cleanSoftBtn,a.cleanActionBtn,.chip,.tab,.pill,.routeChip,.menuTreeChip){
    min-height:38px!important;
    padding-block:clamp(7px,2vw,10px)!important;
    padding-inline:clamp(9px,2.8vw,13px)!important;
    line-height:1.15!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
/* TGZ_PHASE_393_NATIVE_DENSITY_LOCK */

/* Phase 398F — Live Ocean native whitespace/button polish. Marine engine untouched. */
.oceanApp,.liveOceanPage{--ocean-398f-gap:var(--tgz-ui-density-gap,10px);--ocean-398f-pad:var(--tgz-ui-density-card-pad,12px)}.oceanApp :where(.oceanCard,.oceanPanel,.oceanHero,.oceanMetric,.oceanRoute,.oceanFaq,.oceanSheet),.liveOceanPage :where(.oceanCard,.oceanPanel,.oceanHero,.oceanMetric,.oceanRoute,.oceanFaq,.oceanSheet){padding:min(var(--ocean-398f-pad),14px)}.oceanApp :where(.oceanGrid,.oceanActions,.oceanTabs,.oceanRoutes),.liveOceanPage :where(.oceanGrid,.oceanActions,.oceanTabs,.oceanRoutes){gap:8px}.oceanApp :where(.oceanLockButton,.oceanBtn,.oceanChip,.oceanTab),.liveOceanPage :where(.oceanLockButton,.oceanBtn,.oceanChip,.oceanTab){min-height:var(--tgz-ui-control-min,38px);padding:8px 11px;border-radius:14px;text-align:center;white-space:normal;line-height:1.12}@media(max-width:760px){.oceanApp :where(.oceanCard,.oceanPanel,.oceanHero,.oceanMetric),.liveOceanPage :where(.oceanCard,.oceanPanel,.oceanHero,.oceanMetric){padding:10px;border-radius:18px}.oceanApp :where(.oceanLockButton,.oceanBtn,.oceanChip,.oceanTab),.liveOceanPage :where(.oceanLockButton,.oceanBtn,.oceanChip,.oceanTab){min-height:36px;padding:8px 10px;font-size:.8rem}}
