:root{--ink:#071525;--navy:#0b2240;--sky:#bfe1f5;--paper:#f5f8fb;--line:#d7e0e9;--white:#fff;--accent:#d7b56d;--muted:#607082}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;background:rgba(7,21,37,.94);color:#fff;backdrop-filter:blur(10px)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:38px;height:38px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-family:Georgia;font-size:23px}.brand strong{display:block;letter-spacing:.14em}.brand span{display:block;font-size:11px;opacity:.7;letter-spacing:.18em}.topbar nav{display:flex;gap:28px}.topbar a{color:#fff;text-decoration:none;font-size:14px}.ghost,.secondary{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:12px 18px;border-radius:999px;cursor:pointer}.hero{min-height:590px;padding:92px 7vw;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center;background:radial-gradient(circle at 75% 30%,#274a6d 0,#102944 28%,#071525 67%);color:#fff;overflow:hidden}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,7vw,92px);line-height:.96;max-width:820px;margin:18px 0}.hero p{max-width:650px;font-size:20px;line-height:1.6;color:#d8e3ed}.eyebrow,.section-heading span{letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--accent)}.hero-actions{display:flex;gap:12px;margin-top:28px}.primary{display:inline-block;background:var(--accent);color:#132131;border:none;border-radius:999px;padding:14px 22px;font-weight:700;text-decoration:none;cursor:pointer}.secondary{padding:14px 22px}.hero-card{justify-self:end;width:min(390px,100%);padding:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:28px;backdrop-filter:blur(12px)}.mini-stat{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}.mini-stat:last-child{border:0}.mini-stat strong{display:block;font-size:24px}.mini-stat span{color:#c8d6e2}.booking-shell,.feature-section,.club-section,.footer-cta{padding:80px 7vw}.booking-shell{background:#fff}.section-heading h2,.club-section h2,.footer-cta h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,58px);margin:10px 0}.section-heading p{color:var(--muted)}.search-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:30px}.search-grid label,.form-grid label{font-size:12px;font-weight:700;color:#536170}.search-grid input,.search-grid select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.search-btn{align-self:end;height:48px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.room-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(11,34,64,.07)}.room-image{height:170px;background:linear-gradient(135deg,#2c567f,#8eb3cb);display:flex;align-items:end;padding:20px;color:#fff;font:700 27px Georgia}.room-body{padding:20px}.room-body p{color:var(--muted);min-height:48px}.room-price{display:flex;justify-content:space-between;align-items:center}.room-price strong{font-size:23px}.feature-section{background:#eef4f8}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid article{padding:28px;border-radius:20px;background:#fff}.feature-grid b{color:var(--accent)}.club-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:#071525;color:#fff}.club-section p{color:#c6d4df;line-height:1.7}.club-card{width:min(520px,100%);aspect-ratio:1.6;border-radius:28px;padding:32px;background:linear-gradient(140deg,#e4c47f,#8d6d31 65%,#dcc384);color:#111;box-shadow:0 24px 80px rgba(0,0,0,.35)}.club-card-top{display:flex;justify-content:space-between}.club-number{margin-top:20%;font-size:28px;letter-spacing:.12em}.club-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.club-meta span{border:1px solid rgba(0,0,0,.3);padding:8px 10px;border-radius:999px;font-size:12px}.footer-cta{text-align:center;background:#fff}footer{padding:30px;text-align:center;background:#06101c;color:#9fb0c0;font-size:13px}.modal{position:fixed;inset:0;background:rgba(3,11,20,.75);display:grid;place-items:center;padding:20px;z-index:50}.modal[hidden]{display:none}.modal-card{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:32px}.modal-card.large{width:min(820px,100%)}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.checkbox{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}.checkbox input{width:auto;margin-top:2px}.status{margin-top:14px;font-weight:600}.ok{color:#207044}.err{color:#aa2132}@media(max-width:900px){.topbar nav{display:none}.hero,.club-section{grid-template-columns:1fr}.hero-card{justify-self:start}.search-grid{grid-template-columns:1fr 1fr}.room-grid,.feature-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media(max-width:560px){.topbar{padding:14px 18px}.topbar .ghost{display:none}.hero,.booking-shell,.feature-section,.club-section,.footer-cta{padding:55px 22px}.search-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.hero-actions a,.hero-actions button{width:100%;text-align:center}}

.top-actions{display:flex;gap:10px;align-items:center}.compact{padding:11px 16px}.recognition{margin-top:18px;padding:14px 18px;border:1px solid #b9d7c7;border-radius:14px;background:#f1faf5;color:#214d38;display:flex;justify-content:space-between;gap:14px}.recognition[hidden]{display:none}.room-image{justify-content:space-between;align-items:end}.room-image small{font-family:Inter,Arial,sans-serif;font-size:11px;background:rgba(255,255,255,.16);padding:8px 10px;border-radius:999px}.room-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.room-top h3{margin:0}.room-top span{font-size:11px;color:var(--muted)}.room-benefits{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:16px 0}.room-benefits li{font-size:11px;border:1px solid var(--line);padding:7px 9px;border-radius:999px;color:#445467}.tier-row{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tier-row span{border:1px solid rgba(255,255,255,.25);padding:8px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em}.club-tier{margin-top:10px;font-weight:800;letter-spacing:.2em}.journey-section{padding:80px 7vw;background:#f7fafc}.journey{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:30px}.journey div{min-width:130px;flex:1;padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.journey strong{display:block;color:var(--accent);font-size:24px}.journey span{display:block;margin-top:7px;font-weight:700}.journey i{font-style:normal;color:#8a98a7}.booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 26px}.booking-summary div{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7fafc}.booking-summary span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.booking-summary strong{font-size:14px}@media(max-width:900px){.top-actions .ghost{display:none}.booking-summary{grid-template-columns:1fr 1fr}.journey i{display:none}}@media(max-width:560px){.top-actions .compact{display:none}.booking-summary{grid-template-columns:1fr}.recognition{display:block}.recognition span{display:block;margin-top:4px}}/* V4 guest portal */
.portal-wrap{max-width:1120px;margin:0 auto;padding:72px 24px 100px}.portal-hero{max-width:760px;margin-bottom:30px}.portal-hero h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.95;margin:.2em 0}.portal-card{background:#fff;border:1px solid rgba(10,31,68,.12);border-radius:26px;padding:30px;box-shadow:0 28px 70px rgba(11,29,58,.10)}.portal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.portal-summary>div,.club-stat{padding:18px;border-radius:18px;background:#f4f7fb}.portal-summary span,.club-stat span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;opacity:.62}.portal-summary strong{display:block;margin-top:6px}.payment-list,.stay-list{display:grid;gap:10px;margin:12px 0 28px}.payment-list>div,.stay-list>div{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;background:#f7f9fc;border-radius:14px}.stay-list span{opacity:.72}.action-grid{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.danger{border-color:#9a3030!important;color:#8a2020!important}.portal-card textarea{width:100%;box-sizing:border-box}.club-dashboard{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:14px;margin:28px 0}.club-identity{padding:24px;border-radius:20px;background:#0d2345;color:white}.club-identity span{font-size:.76rem;letter-spacing:.16em}.club-identity h2{margin:8px 0 2px}.club-stat{display:flex;flex-direction:column;justify-content:center}.club-stat strong{font-size:1.6rem}@media(max-width:800px){.portal-summary,.club-dashboard{grid-template-columns:1fr}.payment-list>div,.stay-list>div{display:block}.stay-list span{display:block;margin-top:5px}}
/* V5 commerce additions */
.top-actions select{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;border-radius:10px;padding:8px 10px}
.addon-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.addon-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #dce3ea;border-radius:14px;padding:12px;background:#fff}.addon-card small{display:block;opacity:.68;margin-top:3px}.quote-box{border-radius:16px;background:#f5f8fb;padding:14px;display:grid;gap:8px}.quote-box>div{display:flex;justify-content:space-between;gap:20px}.quote-total{border-top:1px solid #d8e0e7;padding-top:10px;font-size:1.08rem}.hero.v5{min-height:580px}.room-card{overflow:hidden}.room-image{min-height:170px;background:linear-gradient(135deg,#0f2742,#315a78);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff}.room-image span{font-size:1.4rem;font-weight:700}.room-image small{opacity:.75}@media(max-width:800px){.addon-options{grid-template-columns:1fr}.top-actions select{display:none}}

/* ===== V6 SWITCHABLE LUXURY LANDING ===== */
html[data-landing-view="dark"]{--page-bg:#05080d;--page-text:#f7f2e8;--page-muted:#c5c0b8;--nav-bg:rgba(3,7,12,.82);--gold:#d7b56d;--surface:#0b1119;--surface-2:#101927;--border:rgba(215,181,109,.24)}
html[data-landing-view="bright"]{--page-bg:#f8fbff;--page-text:#0a2344;--page-muted:#5f6f81;--nav-bg:rgba(255,255,255,.9);--gold:#c99a3d;--surface:#fff;--surface-2:#edf7ff;--border:rgba(20,54,86,.13)}
body{background:var(--page-bg);color:var(--page-text);transition:background .45s ease,color .45s ease}.luxury-topbar{background:var(--nav-bg);border-bottom:1px solid var(--border);transition:.4s ease}.luxury-topbar .brand{color:var(--page-text);text-decoration:none}.luxury-topbar .brand-mark{border-color:var(--gold);color:var(--gold)}.luxury-topbar a{color:var(--page-text)}.luxury-topbar .ghost{border-color:var(--border);color:var(--page-text)}.luxury-topbar select{border-color:var(--border);color:var(--page-text);background:var(--surface)}
.view-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.view-choice{border:0;background:transparent;color:var(--page-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 11px;border-radius:999px;cursor:pointer}.view-choice.active{background:var(--gold);color:#071525;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.luxury-hero{position:relative;min-height:760px;display:flex;align-items:center;padding:90px 7vw 180px;overflow:hidden;background:var(--page-bg)}.hero-visual{position:absolute;inset:0;background-image:url('patmos-signature-photoreal-v10-8k.jpg');background-size:cover;background-position:center;transform:scale(1.015);transition:background-image .35s ease,filter .45s ease,transform 1.2s ease}.luxury-hero:hover .hero-visual{transform:scale(1.035)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,14,.96) 0%,rgba(2,7,14,.75) 34%,rgba(2,7,14,.18) 68%,rgba(2,7,14,.2) 100%),linear-gradient(0deg,rgba(2,7,14,.82),transparent 45%);transition:.45s ease}.premium-copy{position:relative;z-index:2;max-width:710px}.premium-copy h1{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif;font-size:clamp(54px,7.2vw,104px);line-height:.88;letter-spacing:-.035em;margin:18px 0 26px}.premium-copy h1 em{font-style:normal;color:var(--gold);font-weight:400}.premium-copy p{font-size:19px;line-height:1.65;max-width:590px;color:#e8e4dc}.premium-copy .secondary{border-color:rgba(255,255,255,.5);color:#fff}.luxury-signals{display:flex;flex-wrap:wrap;gap:24px;margin-top:38px;color:#f0e9da;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.luxury-signals span{display:flex;gap:7px;align-items:center}
.floating-booking-bar{position:absolute;z-index:4;left:7vw;right:7vw;bottom:42px;display:grid;grid-template-columns:1.1fr 1.1fr .75fr .75fr 1.15fr auto;align-items:end;background:rgba(7,13,20,.86);border:1px solid rgba(215,181,109,.28);box-shadow:0 28px 80px rgba(0,0,0,.35);backdrop-filter:blur(18px);padding:18px;border-radius:18px;color:#fff}.floating-booking-bar label{padding:0 16px;border-right:1px solid rgba(255,255,255,.12)}.floating-booking-bar small{display:block;font-size:9px;letter-spacing:.12em;opacity:.62;margin-bottom:5px}.floating-booking-bar input,.floating-booking-bar select{width:100%;border:0;background:transparent;color:#fff;padding:6px 0;font:inherit;outline:none}.floating-booking-bar select option{color:#071525}.floating-booking-bar .search-btn{height:50px;border-radius:10px}
main{background:var(--page-bg)}.luxury-booking{padding-top:92px}.section-heading h2,.suite-story h2,.luxury-club h2{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif;font-weight:400;color:var(--page-text)}.section-heading p,.suite-story p,.luxury-club p{color:var(--page-muted)}.booking-shell,.feature-section,.journey-section{background:var(--page-bg);color:var(--page-text)}.room-card,.feature-grid article{background:var(--surface);color:var(--page-text);border-color:var(--border)}.room-card p,.feature-grid p{color:var(--page-muted)}
.suite-story{padding:90px 7vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;background:var(--surface-2)}.suite-story-copy h2{font-size:clamp(42px,5vw,72px);margin:10px 0 20px}.suite-story-copy p{font-size:17px;line-height:1.75}.text-link{display:inline-block;margin-top:18px;color:var(--gold);text-decoration:none;font-weight:700}.suite-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.suite-panels>div{min-height:300px;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:0 20px 40px rgba(0,0,0,.16);background-position:center;background-size:cover;background-repeat:no-repeat}.suite-panels>div:nth-child(1){background-image:linear-gradient(0deg,rgba(5,12,22,.84),rgba(5,12,22,.02) 62%),url('patmos-suite-v13-clean.jpg')}.suite-panels>div:nth-child(2){background-image:linear-gradient(0deg,rgba(5,12,22,.84),rgba(5,12,22,.02) 62%),url('patmos-villa-v13-clean.jpg')}.suite-panels>div:nth-child(3){background-image:linear-gradient(0deg,rgba(5,12,22,.84),rgba(5,12,22,.02) 62%),url('patmos-direct-v13-clean.jpg')}.suite-panels strong{font-family:Georgia,serif;font-size:26px}.suite-panels span{font-size:12px;opacity:.8;margin-top:5px}
.luxury-club{background:linear-gradient(135deg,#05080d,#101a28)!important;color:#fff}.luxury-club h2{color:#fff}.luxury-club p{color:#cbc5ba}.premium-card{border:2px solid rgba(234,193,96,.9)!important;background:radial-gradient(circle at 15% 15%,#16365f,#07111f 48%,#010308)!important;color:#fff!important;box-shadow:0 30px 80px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.06)}.premium-card .club-card-top span,.premium-card .club-card-top strong,.premium-card .club-tier{color:#f0c866!important;text-shadow:0 1px 8px rgba(0,0,0,.8)}.premium-card .club-number{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.9)}.premium-card .club-meta span{color:#fff!important;border-color:rgba(240,200,102,.65)!important;background:rgba(0,0,0,.28)}footer{background:var(--page-bg);color:var(--page-muted);border-top:1px solid var(--border)}
html[data-landing-view="bright"] .hero-visual{background-image:url('patmos-resort-photoreal-v10-8k.jpg');filter:saturate(1.03) brightness(1.04)}html[data-landing-view="bright"] .hero-shade{background:linear-gradient(90deg,rgba(247,252,255,.97) 0%,rgba(247,252,255,.76) 34%,rgba(247,252,255,.08) 67%,rgba(247,252,255,.06) 100%),linear-gradient(0deg,rgba(246,251,255,.65),transparent 35%)}html[data-landing-view="bright"] .premium-copy h1{color:#0b2345}html[data-landing-view="bright"] .premium-copy p{color:#253d59}html[data-landing-view="bright"] .premium-copy .secondary{border-color:rgba(10,35,68,.35);color:#0b2345}html[data-landing-view="bright"] .luxury-signals{color:#183654}html[data-landing-view="bright"] .floating-booking-bar{background:rgba(255,255,255,.94);color:#0b2345;border-color:rgba(201,154,61,.32);box-shadow:0 25px 70px rgba(40,80,110,.18)}html[data-landing-view="bright"] .floating-booking-bar label{border-right-color:rgba(10,35,68,.1)}html[data-landing-view="bright"] .floating-booking-bar input,html[data-landing-view="bright"] .floating-booking-bar select{color:#0b2345}html[data-landing-view="bright"] .luxury-club{background:linear-gradient(135deg,#eaf6ff,#fff8eb)!important;color:#0b2345}html[data-landing-view="bright"] .luxury-club h2{color:#0b2345}html[data-landing-view="bright"] .luxury-club p{color:#5b6c7d}
@media(max-width:1150px){.luxury-topbar nav{display:none}.floating-booking-bar{grid-template-columns:repeat(3,1fr)}.floating-booking-bar label{border-right:0}.suite-story{grid-template-columns:1fr}.suite-panels{max-width:850px}}
@media(max-width:760px){.luxury-topbar{padding:12px 16px}.top-actions .ghost,.top-actions select{display:none}.view-choice{padding:7px 8px;font-size:9px}.brand span{display:none}.luxury-hero{min-height:860px;padding:80px 22px 330px}.hero-shade{background:linear-gradient(180deg,rgba(2,7,14,.78),rgba(2,7,14,.28) 45%,rgba(2,7,14,.84))}.premium-copy h1{font-size:54px}.premium-copy p{font-size:16px}.luxury-signals{gap:12px}.floating-booking-bar{left:16px;right:16px;bottom:22px;grid-template-columns:1fr 1fr;padding:12px}.floating-booking-bar .search-btn{grid-column:1/-1}.floating-booking-bar label:nth-child(5){grid-column:1/-1}.suite-story,.feature-section,.booking-shell,.journey-section,.club-section{padding-left:22px!important;padding-right:22px!important}.suite-panels{grid-template-columns:1fr}.suite-panels>div{min-height:200px}html[data-landing-view="bright"] .hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.2) 45%,rgba(255,255,255,.8))}}

.ip-notice{margin:28px auto 18px;text-align:center;font-size:11px;line-height:1.6;letter-spacing:.08em;opacity:.68;padding:0 18px}

/* V16 Space Club trademark card refinement */
.space-card .tm,.club-card .tm{font-size:.52em;vertical-align:super;letter-spacing:0;margin-left:1px}

/* V17 — modern luxury typography */
:root{
  --font-ui:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html,body,button,input,select,textarea{font-family:var(--font-ui)}
body{font-weight:400;letter-spacing:-.012em}
h1,h2,h3,.hero-title,.club-copy h2,.brand-name{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.045em;
}
h1,.hero-title{line-height:.98}
nav,.nav,.eyebrow,.kicker,.brand-sub,.space-card,.club-card,.suite-panels strong{
  font-family:var(--font-ui);
}
nav,.nav,.eyebrow,.kicker{font-weight:600;letter-spacing:.035em}
button,.btn,.button{font-weight:650;letter-spacing:-.01em}
.space-card,.club-card{font-variant-numeric:tabular-nums}

/* V18 — High contrast journey cards in both landing modes */
.journey-section,
.journey-wrap,
.workflow-section{
  color:var(--text, #f7f7f2);
}

.journey-section h2,
.journey-wrap h2,
.workflow-section h2{
  color:#ffffff;
}

.journey-section .eyebrow,
.journey-wrap .eyebrow,
.workflow-section .eyebrow{
  color:#f0c86a;
}

.journey-steps>div,
.workflow-steps>div,
.flow-steps>div{
  background:#ffffff !important;
  border:1px solid rgba(212,170,73,.45) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  color:#0b1320 !important;
}

.journey-steps>div strong,
.workflow-steps>div strong,
.flow-steps>div strong,
.journey-steps>div b,
.workflow-steps>div b,
.flow-steps>div b{
  color:#b98614 !important;
}

.journey-steps>div span,
.workflow-steps>div span,
.flow-steps>div span,
.journey-steps>div small,
.workflow-steps>div small,
.flow-steps>div small{
  color:#1d2735 !important;
  opacity:1 !important;
  font-weight:650;
}

.journey-steps .arrow,
.workflow-steps .arrow,
.flow-steps .arrow{
  color:#d7b45b !important;
  opacity:1 !important;
}

/* Resort / bright mode */
html[data-landing-view="bright"] .journey-section,
html[data-landing-view="bright"] .journey-wrap,
html[data-landing-view="bright"] .workflow-section{
  background:#f6f9fc !important;
  color:#0b1a2f !important;
}

html[data-landing-view="bright"] .journey-section h2,
html[data-landing-view="bright"] .journey-wrap h2,
html[data-landing-view="bright"] .workflow-section h2{
  color:#0b1a2f !important;
}

html[data-landing-view="bright"] .journey-section .eyebrow,
html[data-landing-view="bright"] .journey-wrap .eyebrow,
html[data-landing-view="bright"] .workflow-section .eyebrow{
  color:#a66f00 !important;
}

html[data-landing-view="bright"] .journey-steps>div,
html[data-landing-view="bright"] .workflow-steps>div,
html[data-landing-view="bright"] .flow-steps>div{
  background:#0b1a2f !important;
  border-color:#cda84b !important;
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(8,26,49,.16);
}

html[data-landing-view="bright"] .journey-steps>div strong,
html[data-landing-view="bright"] .workflow-steps>div strong,
html[data-landing-view="bright"] .flow-steps>div strong,
html[data-landing-view="bright"] .journey-steps>div b,
html[data-landing-view="bright"] .workflow-steps>div b,
html[data-landing-view="bright"] .flow-steps>div b{
  color:#f2c55f !important;
}

html[data-landing-view="bright"] .journey-steps>div span,
html[data-landing-view="bright"] .workflow-steps>div span,
html[data-landing-view="bright"] .flow-steps>div span,
html[data-landing-view="bright"] .journey-steps>div small,
html[data-landing-view="bright"] .workflow-steps>div small,
html[data-landing-view="bright"] .flow-steps>div small{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:650;
}

html[data-landing-view="bright"] .journey-steps .arrow,
html[data-landing-view="bright"] .workflow-steps .arrow,
html[data-landing-view="bright"] .flow-steps .arrow{
  color:#8b6722 !important;
}

/* V19 — balanced contrast */
.journey-steps>div,
.workflow-steps>div,
.flow-steps>div{
  background:#152131 !important;
  border:1px solid rgba(226,188,93,.34) !important;
  color:#f6f2e8 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.journey-steps>div strong,.workflow-steps>div strong,.flow-steps>div strong,
.journey-steps>div b,.workflow-steps>div b,.flow-steps>div b{
  color:#e1b95e !important;
}
.journey-steps>div span,.workflow-steps>div span,.flow-steps>div span,
.journey-steps>div small,.workflow-steps>div small,.flow-steps>div small{
  color:#f3eee3 !important;
  opacity:1 !important;
}
.journey-steps .arrow,.workflow-steps .arrow,.flow-steps .arrow{
  color:#b9c4d1 !important;
}

/* Bright mode: softly shaded cards rather than stark white/dark */
html[data-landing-view="bright"] .journey-steps>div,
html[data-landing-view="bright"] .workflow-steps>div,
html[data-landing-view="bright"] .flow-steps>div{
  background:#e8eef5 !important;
  border:1px solid rgba(38,67,98,.16) !important;
  color:#10243b !important;
  box-shadow:0 10px 24px rgba(25,54,84,.10);
}
html[data-landing-view="bright"] .journey-steps>div strong,
html[data-landing-view="bright"] .workflow-steps>div strong,
html[data-landing-view="bright"] .flow-steps>div strong,
html[data-landing-view="bright"] .journey-steps>div b,
html[data-landing-view="bright"] .workflow-steps>div b,
html[data-landing-view="bright"] .flow-steps>div b{
  color:#a97713 !important;
}
html[data-landing-view="bright"] .journey-steps>div span,
html[data-landing-view="bright"] .workflow-steps>div span,
html[data-landing-view="bright"] .flow-steps>div span,
html[data-landing-view="bright"] .journey-steps>div small,
html[data-landing-view="bright"] .workflow-steps>div small,
html[data-landing-view="bright"] .flow-steps>div small{
  color:#17314d !important;
}
html[data-landing-view="bright"] .journey-steps .arrow,
html[data-landing-view="bright"] .workflow-steps .arrow,
html[data-landing-view="bright"] .flow-steps .arrow{
  color:#718399 !important;
}

/* V20 — matched grey/blue contrast for both modes */

/* Signature / dark: blue-charcoal cards that sit within the dark palette */
.journey-steps>div,
.workflow-steps>div,
.flow-steps>div{
  background:linear-gradient(145deg,#1b2a3d 0%,#111c2b 100%) !important;
  border:1px solid #405873 !important;
  color:#f7f8fa !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.journey-steps>div strong,.workflow-steps>div strong,.flow-steps>div strong,
.journey-steps>div b,.workflow-steps>div b,.flow-steps>div b{
  color:#e4bb60 !important;
}
.journey-steps>div span,.workflow-steps>div span,.flow-steps>div span,
.journey-steps>div small,.workflow-steps>div small,.flow-steps>div small{
  color:#f4f6f8 !important;
  opacity:1 !important;
  font-weight:650;
}
.journey-steps .arrow,.workflow-steps .arrow,.flow-steps .arrow{
  color:#d9ae4d !important;
}

/* Resort / bright: pale blue-grey cards with strong navy copy */
html[data-landing-view="bright"] .journey-steps>div,
html[data-landing-view="bright"] .workflow-steps>div,
html[data-landing-view="bright"] .flow-steps>div{
  background:linear-gradient(145deg,#edf3f9 0%,#dce7f2 100%) !important;
  border:1px solid #afc2d7 !important;
  color:#0d2340 !important;
  box-shadow:0 10px 26px rgba(24,55,89,.12);
}
html[data-landing-view="bright"] .journey-steps>div strong,
html[data-landing-view="bright"] .workflow-steps>div strong,
html[data-landing-view="bright"] .flow-steps>div strong,
html[data-landing-view="bright"] .journey-steps>div b,
html[data-landing-view="bright"] .workflow-steps>div b,
html[data-landing-view="bright"] .flow-steps>div b{
  color:#b47d0c !important;
}
html[data-landing-view="bright"] .journey-steps>div span,
html[data-landing-view="bright"] .workflow-steps>div span,
html[data-landing-view="bright"] .flow-steps>div span,
html[data-landing-view="bright"] .journey-steps>div small,
html[data-landing-view="bright"] .workflow-steps>div small,
html[data-landing-view="bright"] .flow-steps>div small{
  color:#10294a !important;
  opacity:1 !important;
  font-weight:700;
}
html[data-landing-view="bright"] .journey-steps .arrow,
html[data-landing-view="bright"] .workflow-steps .arrow,
html[data-landing-view="bright"] .flow-steps .arrow{
  color:#b98617 !important;
}

/* V21 — exact live journey selector fix */

/* Signature / dark mode */
.journey-section{
  background:#07101a !important;
}
.journey-section .section-heading span{
  color:#d7ad52 !important;
}
.journey-section .section-heading h2{
  color:#f5f6f7 !important;
}
.journey > div{
  background:linear-gradient(145deg,#223247 0%,#172538 100%) !important;
  border:1px solid #4b637e !important;
  color:#ffffff !important;
  box-shadow:0 12px 30px rgba(0,0,0,.24) !important;
}
.journey > div strong{
  color:#e2b85d !important;
  font-weight:750 !important;
}
.journey > div span{
  color:#f7f8fa !important;
  opacity:1 !important;
  font-weight:700 !important;
}
.journey > i{
  color:#d9ad4c !important;
  opacity:1 !important;
  font-weight:700 !important;
}

/* Resort / bright mode */
html[data-landing-view="bright"] .journey-section{
  background:#f2f6fa !important;
}
html[data-landing-view="bright"] .journey-section .section-heading span{
  color:#a87816 !important;
}
html[data-landing-view="bright"] .journey-section .section-heading h2{
  color:#10294a !important;
}
html[data-landing-view="bright"] .journey > div{
  background:linear-gradient(145deg,#edf3f9 0%,#d8e4ef 100%) !important;
  border:1px solid #abc0d5 !important;
  color:#10294a !important;
  box-shadow:0 10px 26px rgba(28,57,89,.12) !important;
}
html[data-landing-view="bright"] .journey > div strong{
  color:#b77f0c !important;
  font-weight:750 !important;
}
html[data-landing-view="bright"] .journey > div span{
  color:#10294a !important;
  opacity:1 !important;
  font-weight:700 !important;
}
html[data-landing-view="bright"] .journey > i{
  color:#ad7a18 !important;
  opacity:1 !important;
  font-weight:700 !important;
}


/* PATMOS V22 FINAL JOURNEY CONTRAST */
/* Dark / Signature */
html[data-landing-view="dark"] .journey-section{
  background:#08111d !important;
}
html[data-landing-view="dark"] .journey > div{
  background:linear-gradient(145deg,#26384d 0%,#1a293b 100%) !important;
  border:1px solid #536b84 !important;
  color:#f8fafc !important;
}
html[data-landing-view="dark"] .journey > div strong{
  color:#e7bf66 !important;
}
html[data-landing-view="dark"] .journey > div span{
  color:#f8fafc !important;
  opacity:1 !important;
}
html[data-landing-view="dark"] .journey > i{
  color:#dcb457 !important;
}

/* Bright / Resort */
html[data-landing-view="bright"] .journey-section{
  background:#eef3f7 !important;
}
html[data-landing-view="bright"] .journey > div{
  background:linear-gradient(145deg,#e7edf4 0%,#d5e0eb 100%) !important;
  border:1px solid #a8bacd !important;
  color:#102640 !important;
}
html[data-landing-view="bright"] .journey > div strong{
  color:#af7a12 !important;
}
html[data-landing-view="bright"] .journey > div span{
  color:#102640 !important;
  opacity:1 !important;
}
html[data-landing-view="bright"] .journey > i{
  color:#a97818 !important;
}


/* ============================================================
   PATMOS V23 — Journey section rebuilt to match approved visual
   ============================================================ */

.journey-section{
  padding:0 !important;
  margin:0 !important;
  background:#050b13 !important;
  color:#f7f8fa !important;
}
.journey-inner{
  max-width:1440px;
  margin:0 auto;
  padding:34px 58px 26px;
}
.journey-mode-label{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:30px;
  font-size:11px;
  line-height:1;
  font-weight:750;
  letter-spacing:.11em;
  color:#d8ad50;
}
.journey-mode-dot{
  width:22px;
  height:22px;
  border:1px solid #d8ad50;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:10px;
}
.journey-mode-bright{display:none}
.journey-heading{
  margin-bottom:30px;
}
.journey-heading>span{
  display:block;
  margin-bottom:12px;
  color:#d8ad50;
  font-size:13px;
  font-weight:750;
  letter-spacing:.11em;
}
.journey-heading h2{
  margin:0 !important;
  max-width:720px;
  color:#f8f9fb !important;
  font-size:44px !important;
  line-height:1.06 !important;
  letter-spacing:-.045em !important;
  font-weight:650 !important;
}
.journey{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr);
  align-items:center;
  gap:0 !important;
  margin:0 !important;
}
.journey-card{
  position:relative;
  min-height:126px;
  padding:22px 20px 18px !important;
  border-radius:16px !important;
  overflow:hidden;
  display:grid !important;
  grid-template-columns:1fr auto;
  grid-template-rows:1fr auto;
  align-items:start;
  background:linear-gradient(145deg,#16253a 0%,#0f1c2e 100%) !important;
  border:1px solid #415975 !important;
  box-shadow:0 12px 26px rgba(0,0,0,.22) !important;
}
.journey-card:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 82% 18%,rgba(101,140,185,.14),transparent 30%);
}
.journey-card strong{
  position:relative;
  z-index:1;
  margin:0 !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:700 !important;
  color:#e1b65a !important;
}
.journey-icon{
  position:relative;
  z-index:1;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(95,126,163,.15);
  border:1px solid rgba(116,150,190,.12);
  color:#edf4fb;
}
.journey-icon svg,
.journey-shield svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.journey-star{color:#e1b65a}
.journey-label{
  position:relative;
  z-index:1;
  grid-column:1 / -1;
  align-self:end;
  color:#f7f9fc !important;
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:720 !important;
  opacity:1 !important;
  white-space:nowrap;
}
.journey>i{
  display:grid !important;
  place-items:center;
  margin:0 !important;
  padding:0 !important;
  font-style:normal !important;
  color:#d7aa46 !important;
  font-size:25px !important;
  font-weight:500 !important;
  opacity:1 !important;
}
.journey-footer{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(117,139,164,.25);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.journey-security{
  display:flex;
  align-items:center;
  gap:10px;
  color:#d3dae2;
  font-size:11px;
  line-height:1.4;
}
.journey-shield{
  color:#d7aa46;
  width:22px;
  height:22px;
  flex:0 0 22px;
}
.journey-shield svg{width:22px;height:22px}
.journey-wordmark{
  color:#d8ad50;
  font-size:15px;
  font-weight:650;
  letter-spacing:.22em;
  white-space:nowrap;
}

/* Resort / bright mode */
html[data-landing-view="bright"] .journey-section{
  background:linear-gradient(180deg,#ffffff 0%,#f1f5fa 100%) !important;
  color:#0b2141 !important;
}
html[data-landing-view="bright"] .journey-mode-label{
  color:#2a5f9f;
}
html[data-landing-view="bright"] .journey-mode-dot{
  border-color:#5d8cc3;
  color:#2a5f9f;
}
html[data-landing-view="bright"] .journey-mode-dark{display:none}
html[data-landing-view="bright"] .journey-mode-bright{display:inline}
html[data-landing-view="bright"] .journey-heading>span{
  color:#b88620 !important;
}
html[data-landing-view="bright"] .journey-heading h2{
  color:#0c2850 !important;
}
html[data-landing-view="bright"] .journey-card{
  background:linear-gradient(145deg,#eef4fa 0%,#dce8f4 100%) !important;
  border:1px solid #aec2da !important;
  box-shadow:0 10px 24px rgba(31,67,108,.10) !important;
}
html[data-landing-view="bright"] .journey-card:after{
  background:radial-gradient(circle at 82% 18%,rgba(90,133,183,.09),transparent 30%);
}
html[data-landing-view="bright"] .journey-card strong{
  color:#c18b1d !important;
}
html[data-landing-view="bright"] .journey-icon{
  color:#0f2e59;
  background:rgba(255,255,255,.42);
  border-color:rgba(83,117,157,.18);
  box-shadow:0 4px 10px rgba(29,61,99,.08);
}
html[data-landing-view="bright"] .journey-star{
  color:#c18b1d;
}
html[data-landing-view="bright"] .journey-label{
  color:#0b2447 !important;
}
html[data-landing-view="bright"] .journey>i{
  color:#c18b1d !important;
}
html[data-landing-view="bright"] .journey-footer{
  border-top-color:#cbd7e4;
}
html[data-landing-view="bright"] .journey-security{
  color:#263b56;
}
html[data-landing-view="bright"] .journey-shield{
  color:#2a67ad;
}
html[data-landing-view="bright"] .journey-wordmark{
  color:#0c2850;
}

/* Mobile */
@media(max-width:920px){
  .journey-inner{padding:28px 22px 24px}
  .journey-heading h2{font-size:36px !important}
  .journey{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .journey>i{
    transform:rotate(90deg);
    height:20px;
  }
  .journey-card{min-height:105px}
  .journey-footer{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V24 — Unified Manage Booking + Member Portal experience
   ========================================================= */

.manage-page,.member-page{
  margin:0;
  min-height:100%;
  background:
    radial-gradient(circle at 78% 7%,rgba(40,77,118,.22),transparent 30%),
    linear-gradient(180deg,#07101a 0%,#0b1624 46%,#0d1a29 100%);
  color:#f4f6f8;
}

.portal-topbar{
  position:relative;
  z-index:20;
  background:rgba(4,10,17,.94);
  border-bottom:1px solid rgba(218,177,83,.25);
  backdrop-filter:blur(16px);
}

.portal-topbar .brand{
  color:#fff;
}
.portal-topbar .brand strong{color:#fff}
.portal-topbar .brand span{color:#c8d0d9}
.portal-topbar .main-nav a{
  color:#d9e0e7;
}
.portal-topbar .main-nav a:hover,
.portal-topbar .main-nav a:focus{
  color:#e4ba5d;
}
.portal-language{
  min-height:38px;
  border-radius:11px;
  border:1px solid #405168;
  background:#0e1927;
  color:#fff;
  padding:0 10px;
}
.member-login{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  color:#f4f6f8;
  border:1px solid #4c5e73;
  text-decoration:none;
}

.portal-hero{
  border-bottom:1px solid rgba(104,129,158,.22);
  background:
    linear-gradient(90deg,rgba(8,19,33,.98),rgba(15,34,55,.84)),
    radial-gradient(circle at 82% 30%,rgba(51,92,137,.20),transparent 34%);
}
.portal-hero-inner{
  max-width:1180px;
  margin:0 auto;
  padding:58px 38px 48px;
}
.portal-eyebrow{
  display:block;
  margin-bottom:12px;
  color:#e0b559;
  font-size:12px;
  font-weight:750;
  letter-spacing:.15em;
}
.portal-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(38px,5vw,64px);
  line-height:1;
  letter-spacing:-.05em;
  font-weight:650;
}
.portal-hero p{
  max-width:720px;
  margin:18px 0 0;
  color:#cbd4de;
  font-size:17px;
  line-height:1.65;
}

/* Harmonise content surfaces in the two portal pages */
.manage-page main,.member-page main,
.manage-page .container,.member-page .container,
.manage-page .shell,.member-page .shell{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.manage-page main,.member-page main{
  padding:34px 38px 70px;
}

.manage-page section:not(.portal-hero),
.member-page section:not(.portal-hero),
.manage-page .card,.member-page .card,
.manage-page .panel,.member-page .panel,
.manage-page form,.member-page form{
  background:linear-gradient(145deg,rgba(31,48,69,.96),rgba(19,33,50,.96));
  border:1px solid #405873;
  color:#f5f7f9;
  box-shadow:0 16px 36px rgba(0,0,0,.19);
}

.manage-page h1,.manage-page h2,.manage-page h3,
.member-page h1,.member-page h2,.member-page h3{
  color:#fff;
}
.manage-page p,.manage-page label,.manage-page small,
.member-page p,.member-page label,.member-page small{
  color:#cbd4de;
}

.manage-page input,.manage-page select,.manage-page textarea,
.member-page input,.member-page select,.member-page textarea{
  min-height:46px;
  border-radius:12px;
  border:1px solid #536a84;
  background:#0c1826;
  color:#fff;
  padding:10px 13px;
  outline:none;
}
.manage-page input:focus,.manage-page select:focus,.manage-page textarea:focus,
.member-page input:focus,.member-page select:focus,.member-page textarea:focus{
  border-color:#deb65c;
  box-shadow:0 0 0 3px rgba(222,182,92,.13);
}
.manage-page input::placeholder,.member-page input::placeholder,
.manage-page textarea::placeholder,.member-page textarea::placeholder{
  color:#8999aa;
}

.manage-page button,.manage-page .btn,
.member-page button,.member-page .btn{
  border-radius:999px;
}
.manage-page button[type="submit"],.manage-page .primary,
.member-page button[type="submit"],.member-page .primary{
  background:linear-gradient(135deg,#eccb7d,#c99935);
  color:#07101a;
  border:0;
  font-weight:750;
}

.manage-page table,.member-page table{
  width:100%;
  border-collapse:collapse;
  color:#edf1f5;
}
.manage-page th,.member-page th{
  color:#e0b559;
  font-size:12px;
  letter-spacing:.05em;
  text-align:left;
}
.manage-page td,.manage-page th,
.member-page td,.member-page th{
  padding:13px 12px;
  border-bottom:1px solid rgba(112,138,166,.20);
}

/* Bright / Resort mode for both secondary pages */
html[data-landing-view="bright"] .manage-page,
html[data-landing-view="bright"] .member-page{
  background:
    radial-gradient(circle at 82% 8%,rgba(150,183,216,.20),transparent 31%),
    linear-gradient(180deg,#f6f9fc 0%,#eaf1f7 100%);
  color:#102640;
}
html[data-landing-view="bright"] .portal-topbar{
  background:rgba(250,252,254,.96);
  border-bottom-color:#c8d5e2;
}
html[data-landing-view="bright"] .portal-topbar .brand strong,
html[data-landing-view="bright"] .portal-topbar .main-nav a{
  color:#102640;
}
html[data-landing-view="bright"] .portal-topbar .brand span{
  color:#61758b;
}
html[data-landing-view="bright"] .portal-language{
  background:#eef3f8;
  border-color:#bdcad8;
  color:#102640;
}
html[data-landing-view="bright"] .member-login{
  color:#102640;
  border-color:#b4c3d2;
}
html[data-landing-view="bright"] .portal-hero{
  background:
    linear-gradient(90deg,rgba(248,251,254,.98),rgba(229,238,247,.92)),
    radial-gradient(circle at 85% 25%,rgba(118,159,199,.18),transparent 35%);
  border-bottom-color:#ced9e4;
}
html[data-landing-view="bright"] .portal-hero h1{
  color:#102a4b;
}
html[data-landing-view="bright"] .portal-hero p{
  color:#50677f;
}
html[data-landing-view="bright"] .manage-page section:not(.portal-hero),
html[data-landing-view="bright"] .member-page section:not(.portal-hero),
html[data-landing-view="bright"] .manage-page .card,
html[data-landing-view="bright"] .member-page .card,
html[data-landing-view="bright"] .manage-page .panel,
html[data-landing-view="bright"] .member-page .panel,
html[data-landing-view="bright"] .manage-page form,
html[data-landing-view="bright"] .member-page form{
  background:linear-gradient(145deg,#edf3f8,#dfe9f2);
  border-color:#b8c9d9;
  color:#102640;
  box-shadow:0 14px 30px rgba(45,73,102,.10);
}
html[data-landing-view="bright"] .manage-page h1,
html[data-landing-view="bright"] .manage-page h2,
html[data-landing-view="bright"] .manage-page h3,
html[data-landing-view="bright"] .member-page h1,
html[data-landing-view="bright"] .member-page h2,
html[data-landing-view="bright"] .member-page h3{
  color:#102640;
}
html[data-landing-view="bright"] .manage-page p,
html[data-landing-view="bright"] .manage-page label,
html[data-landing-view="bright"] .manage-page small,
html[data-landing-view="bright"] .member-page p,
html[data-landing-view="bright"] .member-page label,
html[data-landing-view="bright"] .member-page small{
  color:#4f667e;
}
html[data-landing-view="bright"] .manage-page input,
html[data-landing-view="bright"] .manage-page select,
html[data-landing-view="bright"] .manage-page textarea,
html[data-landing-view="bright"] .member-page input,
html[data-landing-view="bright"] .member-page select,
html[data-landing-view="bright"] .member-page textarea{
  background:#f8fbfd;
  border-color:#b8c8d8;
  color:#102640;
}
html[data-landing-view="bright"] .manage-page td,
html[data-landing-view="bright"] .member-page td{
  color:#203a56;
  border-bottom-color:#c8d5e1;
}

/* Responsive nav */
@media(max-width:1000px){
  .portal-topbar{
    flex-wrap:wrap;
    gap:12px;
  }
  .portal-topbar .main-nav{
    order:3;
    width:100%;
    overflow-x:auto;
    padding-bottom:3px;
  }
  .portal-topbar .top-actions{
    margin-left:auto;
  }
}
@media(max-width:720px){
  .portal-hero-inner{padding:42px 22px 36px}
  .manage-page main,.member-page main{padding:24px 18px 50px}
  .portal-topbar .top-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .portal-topbar .main-nav{
    gap:18px;
  }
}


/* =========================================================
   V25 — larger booking dates + guided date-to-date flow
   ========================================================= */
.floating-booking-bar{
  min-height:88px;
  align-items:center;
}
.floating-booking-bar label{
  min-width:0;
}
.floating-booking-bar label:has(input[type="date"]){
  padding-top:5px;
  padding-bottom:5px;
}
.floating-booking-bar input[type="date"]{
  min-height:44px;
  font-size:18px !important;
  font-weight:650;
  letter-spacing:-.015em;
  cursor:pointer;
  color-scheme:dark;
}
.floating-booking-bar input[type="date"]::-webkit-datetime-edit{
  padding:7px 0;
}
.floating-booking-bar input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.9;
  transform:scale(1.22);
  transform-origin:center;
  padding:7px;
  margin-right:2px;
}
.floating-booking-bar input[type="date"]:focus{
  border-radius:9px;
  outline:2px solid rgba(226,184,88,.68);
  outline-offset:4px;
}
html[data-landing-view="bright"] .floating-booking-bar input[type="date"]{
  color-scheme:light;
}
html[data-landing-view="bright"] .floating-booking-bar input[type="date"]:focus{
  outline-color:rgba(173,122,24,.58);
}
@media(max-width:760px){
  .floating-booking-bar input[type="date"]{
    min-height:48px;
    font-size:17px !important;
  }
}


/* =========================================================
   V26 — Guided booking-bar progression
   ========================================================= */
.floating-booking-bar label,
.floating-booking-bar .search-btn{
  position:relative;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}

.floating-booking-bar label.booking-active{
  background:rgba(55,84,118,.18);
  box-shadow:inset 0 0 0 1px rgba(225,181,85,.62),0 0 0 3px rgba(225,181,85,.08);
  border-radius:12px;
}
.floating-booking-bar label.booking-complete:after{
  content:"✓";
  position:absolute;
  top:7px;
  right:9px;
  font-size:10px;
  font-weight:800;
  color:#e1b655;
}
.floating-booking-bar .search-btn.booking-active{
  box-shadow:0 0 0 3px rgba(225,181,85,.18),0 12px 26px rgba(0,0,0,.18);
  transform:translateY(-1px);
}
.floating-booking-bar select:focus,
.floating-booking-bar input:focus{
  outline:none !important;
}
html[data-landing-view="bright"] .floating-booking-bar label.booking-active{
  background:rgba(150,177,204,.18);
  box-shadow:inset 0 0 0 1px rgba(169,119,20,.55),0 0 0 3px rgba(169,119,20,.08);
}
html[data-landing-view="bright"] .floating-booking-bar label.booking-complete:after{
  color:#a97714;
}


/* V27 — booking CTA behaves as an in-place date opener */
#bookEscapeBtn{
  appearance:none;
  cursor:pointer;
  font:inherit;
}


/* =========================================================
   PATMOS V28 — Luxury availability + room selection
   ========================================================= */
.booking-results-heading{max-width:760px}
.availability-status{margin-top:20px;font-size:14px}
.stay-search-summary{
  margin:22px 0 4px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:var(--surface);
}
.stay-search-summary[hidden]{display:none}
.stay-search-summary>div{padding:15px 18px;border-right:1px solid var(--border)}
.stay-search-summary>div:last-child{border-right:0}
.stay-search-summary small{display:block;font-size:9px;letter-spacing:.13em;color:var(--page-muted);margin-bottom:5px}
.stay-search-summary strong{font-size:14px;color:var(--page-text)}

.luxury-room-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.premium-room-card{
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
@media(hover:hover) and (pointer:fine){
  .premium-room-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 50px rgba(0,0,0,.18);
    border-color:rgba(218,177,83,.48);
  }
}
.premium-room-image{
  min-height:255px;
  height:255px;
  padding:18px 20px;
  background-position:center;
  background-size:cover;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.room-image-badges{display:flex;justify-content:space-between;gap:8px}
.room-image-badges span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(5,13,22,.72);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:9px;
  letter-spacing:.12em;
  font-weight:750;
  backdrop-filter:blur(8px);
}
.room-image-title small{
  display:block;
  margin-bottom:5px;
  color:#e2bd69;
  font-size:9px;
  letter-spacing:.12em;
}
.room-image-title strong{
  display:block;
  color:#fff;
  font-size:27px;
  letter-spacing:-.035em;
  line-height:1.05;
}
.premium-room-body{display:flex;flex-direction:column;flex:1;padding:22px}
.room-kicker{display:block!important;margin-bottom:6px;color:#c49736!important;font-size:9px!important;letter-spacing:.12em}
.premium-room-body .room-top h3{font-size:22px;margin:0;color:var(--page-text)}
.availability-pill{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(57,126,91,.12);
  border:1px solid rgba(68,145,105,.28);
  color:#76b58e!important;
  font-size:10px!important;
  font-weight:750;
}
.premium-room-body>p{min-height:66px;line-height:1.55;margin:14px 0;color:var(--page-muted)}
.room-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:2px 0 15px;
}
.room-specs span{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:10px;
  background:rgba(91,119,150,.09);
  border:1px solid var(--border);
  color:var(--page-text);
  font-size:10px;
  font-weight:650;
}
.premium-benefits{margin-top:0}
.premium-benefits li{background:rgba(92,117,145,.07);color:var(--page-muted);border-color:var(--border)}
.room-rate-line{
  margin-top:auto;
  padding-top:17px;
  border-top:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:end;
}
.room-rate-line small{display:block;font-size:8px;letter-spacing:.11em;color:var(--page-muted);margin-bottom:5px}
.room-rate-line strong{display:block;color:var(--page-text);font-size:18px}
.room-rate-line .stay-total{text-align:right}
.room-rate-line .stay-total strong{color:#d6aa4d;font-size:21px}
.select-room-btn{
  width:100%;
  margin-top:18px;
  border-radius:12px;
  padding:14px 18px;
  text-align:center;
}
.no-rooms{
  grid-column:1/-1;
  padding:34px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  text-align:center;
}
.no-rooms strong{display:block;font-size:19px;color:var(--page-text)}
.no-rooms span{display:block;margin-top:8px;color:var(--page-muted)}

html[data-landing-view="dark"] .premium-room-card{
  background:linear-gradient(145deg,#172638,#111d2b);
  border-color:#344b64;
}
html[data-landing-view="dark"] .room-specs span,
html[data-landing-view="dark"] .premium-benefits li{
  background:rgba(70,101,134,.13);
}
html[data-landing-view="bright"] .premium-room-card{
  background:linear-gradient(145deg,#fff,#edf3f8);
  border-color:#bccbd9;
}
html[data-landing-view="bright"] .availability-pill{
  color:#276b48!important;
  background:#e7f2eb;
}

@media(max-width:1000px){
  .luxury-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .stay-search-summary{grid-template-columns:1fr 1fr}
  .stay-search-summary>div:nth-child(2){border-right:0}
  .stay-search-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .luxury-room-grid{grid-template-columns:1fr}
  .premium-room-image{height:235px;min-height:235px}
}


/* =========================================================
   V29 — custom guest selector; reliable Safari progression
   ========================================================= */
.floating-booking-bar{
  position:relative;
}
.booking-field{
  min-width:0;
  padding:9px 12px;
  border-right:1px solid var(--bar-line);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
.booking-field small{
  font-size:9px;
  letter-spacing:.12em;
  color:var(--bar-muted);
  margin-bottom:4px;
}
.guest-field-button{
  width:100%;
  min-height:34px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--bar-text);
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:15px;
  font-weight:650;
  cursor:pointer;
  text-align:left;
}
.field-chevron{font-size:14px;opacity:.7}

.booking-field.booking-active,
.floating-booking-bar label.booking-active{
  background:rgba(61,92,128,.18);
  box-shadow:inset 0 0 0 1px rgba(225,181,85,.62),0 0 0 3px rgba(225,181,85,.08);
  border-radius:12px;
}
.booking-field.booking-complete:after{
  content:"✓";
  position:absolute;
  top:7px;
  right:9px;
  color:#e1b655;
  font-size:10px;
  font-weight:800;
}

.guest-picker{
  position:absolute;
  z-index:60;
  top:calc(100% + 12px);
  left:42%;
  width:min(330px,calc(100vw - 32px));
  padding:18px;
  border-radius:18px;
  border:1px solid #4a617b;
  background:linear-gradient(150deg,#18283b,#0e1a29);
  color:#f7f9fb;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.guest-picker[hidden]{display:none}
.guest-picker:before{
  content:"";
  position:absolute;
  top:-7px;
  left:52px;
  width:13px;
  height:13px;
  background:#18283b;
  border-left:1px solid #4a617b;
  border-top:1px solid #4a617b;
  transform:rotate(45deg);
}
.guest-picker-head,
.guest-counter-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.guest-picker-head{
  padding-bottom:14px;
  border-bottom:1px solid rgba(118,143,170,.22);
}
.guest-picker-head strong{display:block;font-size:18px}
.guest-picker-head span,.guest-counter-row span{display:block;margin-top:3px;color:#aebac7;font-size:11px}
.guest-picker-close{
  width:36px;height:36px;border-radius:50%;border:1px solid #4b6178;
  background:#101d2c;color:#fff;font-size:22px;cursor:pointer;
}
.guest-counter-row{padding:17px 0;border-bottom:1px solid rgba(118,143,170,.16)}
.guest-counter-row>div:first-child strong{font-size:14px;color:#fff}
.guest-counter{display:grid;grid-template-columns:38px 34px 38px;align-items:center;text-align:center}
.guest-counter button{
  width:36px;height:36px;border-radius:50%;border:1px solid #536c86;
  background:#111f30;color:#fff;font-size:22px;line-height:1;cursor:pointer;
}
.guest-counter button:hover{border-color:#d9ae50}
.guest-counter strong{font-size:16px;color:#fff}
.guest-picker-done{
  width:100%;
  margin-top:16px;
  min-height:44px;
  border-radius:12px!important;
}

html[data-landing-view="bright"] .booking-field.booking-active,
html[data-landing-view="bright"] .floating-booking-bar label.booking-active{
  background:rgba(156,180,205,.22);
}
html[data-landing-view="bright"] .booking-field.booking-complete:after{color:#a97714}
html[data-landing-view="bright"] .guest-picker{
  background:linear-gradient(150deg,#f8fbfd,#e4edf5);
  border-color:#adbed0;
  color:#102640;
  box-shadow:0 22px 55px rgba(31,58,89,.20);
}
html[data-landing-view="bright"] .guest-picker:before{
  background:#f4f8fb;
  border-color:#adbed0;
}
html[data-landing-view="bright"] .guest-picker-head span,
html[data-landing-view="bright"] .guest-counter-row span{color:#62768c}
html[data-landing-view="bright"] .guest-counter-row>div:first-child strong,
html[data-landing-view="bright"] .guest-counter strong{color:#102640}
html[data-landing-view="bright"] .guest-picker-close,
html[data-landing-view="bright"] .guest-counter button{
  background:#edf3f8;color:#102640;border-color:#adbed0;
}

@media(max-width:760px){
  .guest-picker{
    left:12px;
    right:12px;
    width:auto;
    top:calc(100% + 10px);
  }
}


/* =========================================================
   V31 — PATMOS controlled stay-date calendar
   ========================================================= */
.date-field-button{
  width:100%;
  min-height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--bar-text);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  text-align:left;
  font-size:16px;
  font-weight:680;
  letter-spacing:-.015em;
}
.date-icon{
  flex:0 0 auto;
  color:var(--bar-muted);
  font-size:16px;
}
.patmos-calendar{
  position:absolute;
  z-index:70;
  top:calc(100% + 12px);
  left:12px;
  width:min(430px,calc(100vw - 34px));
  padding:20px;
  border-radius:20px;
  background:linear-gradient(150deg,#1c2c40,#0e1a29);
  border:1px solid #4d657f;
  box-shadow:0 28px 70px rgba(0,0,0,.38);
  color:#f8fafc;
}
.patmos-calendar[hidden]{display:none}
.calendar-head{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  gap:12px;
  margin-bottom:17px;
}
.calendar-head>div{text-align:center}
.calendar-head small{
  display:block;
  margin-bottom:4px;
  color:#dcb459;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}
.calendar-head strong{
  display:block;
  color:#fff;
  font-size:20px;
  font-weight:700;
}
.calendar-nav{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid #506983;
  background:#122136;
  color:#fff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.calendar-nav:disabled{opacity:.28;cursor:not-allowed}
.calendar-weekdays,.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.calendar-weekdays{
  margin-bottom:7px;
}
.calendar-weekdays span{
  text-align:center;
  color:#8fa0b2;
  font-size:9px;
  font-weight:750;
  letter-spacing:.04em;
}
.calendar-day,.calendar-blank{
  aspect-ratio:1;
  min-width:0;
}
.calendar-day{
  border:1px solid transparent;
  border-radius:11px;
  background:#15253a;
  color:#edf2f7;
  font-size:14px;
  font-weight:650;
  cursor:pointer;
}
.calendar-day:hover:not(:disabled){
  border-color:#dcb459;
  background:#20364f;
}
.calendar-day:disabled{
  opacity:.25;
  cursor:not-allowed;
}
.calendar-day.is-between{
  background:#263950;
  border-radius:6px;
}
.calendar-day.is-checkin,.calendar-day.is-checkout{
  background:linear-gradient(135deg,#f0cf7d,#c99a37);
  color:#0b1420;
  border-color:#f3d890;
  font-weight:800;
}
.calendar-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(116,143,171,.22);
}
.calendar-foot span{
  color:#b7c2ce;
  font-size:11px;
}
.calendar-close{
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #516980;
  background:#101d2c;
  color:#fff;
  cursor:pointer;
}

/* Bright mode */
html[data-landing-view="bright"] .patmos-calendar{
  background:linear-gradient(150deg,#fbfdff,#e7eff7);
  border-color:#adc0d2;
  color:#102640;
  box-shadow:0 24px 60px rgba(30,58,88,.20);
}
html[data-landing-view="bright"] .calendar-head strong{color:#102640}
html[data-landing-view="bright"] .calendar-head small{color:#aa7815}
html[data-landing-view="bright"] .calendar-nav{
  background:#edf3f8;
  border-color:#b4c6d7;
  color:#102640;
}
html[data-landing-view="bright"] .calendar-weekdays span{color:#6c7f93}
html[data-landing-view="bright"] .calendar-day{
  background:#eef4f9;
  color:#17314e;
}
html[data-landing-view="bright"] .calendar-day:hover:not(:disabled){
  border-color:#b68117;
  background:#e1ebf4;
}
html[data-landing-view="bright"] .calendar-day.is-between{
  background:#dbe7f2;
}
html[data-landing-view="bright"] .calendar-day.is-checkin,
html[data-landing-view="bright"] .calendar-day.is-checkout{
  background:linear-gradient(135deg,#e7c36d,#c89531);
  color:#102035;
}
html[data-landing-view="bright"] .calendar-foot{
  border-top-color:#c8d5e1;
}
html[data-landing-view="bright"] .calendar-foot span{color:#60758c}
html[data-landing-view="bright"] .calendar-close{
  background:#eef3f8;
  border-color:#b4c6d7;
  color:#102640;
}

/* Removed redundant Book Your Escape CTA; keep hero actions balanced */
.hero-actions:has(.secondary:only-child){
  justify-content:flex-start;
}

@media(max-width:760px){
  .patmos-calendar{
    left:8px;
    right:8px;
    width:auto;
    padding:16px;
  }
  .calendar-day{font-size:13px}
}

/* V34 — explicit availability action + larger booking modal typography */
#checkAvailabilityBtn{cursor:pointer}
.modal-card{font-size:16px}
.modal-card h2{font-size:30px;line-height:1.08}
.modal-card label{font-size:14px;font-weight:650}
.modal-card input,.modal-card select,.modal-card textarea{font-size:16px}
.modal-card .checkbox{font-size:14px;line-height:1.45}
.modal-card .quote-box,.modal-card .status{font-size:14px}
.modal-card button.primary{font-size:15px;font-weight:750}
.modal-card .full>strong{font-size:16px;color:var(--page-text)}
