/* Member presentation only. Existing routes, actions, type scale and wrapping stay intact. */
:root{
  --bright-bg:#F4F1EA;
  --bright-card:rgba(255,253,248,.96);
  --bright-ink:#232726;
  --bright-muted:#596156;
  --bright-accent:#596156;
  --bright-on-accent:#F4F1EA;
  --bright-line:rgba(89,97,86,.28);
  --bright-wash:rgba(244,241,234,.83);
  --bright-glass-rgb:255,253,248;
}
html[data-theme=dark]{
  --bright-bg:#35453D;
  --bright-card:rgba(67,83,73,.96);
  --bright-ink:#F4F1EA;
  --bright-muted:#E2E7DF;
  --bright-accent:#F4F1EA;
  --bright-on-accent:#26352D;
  --bright-line:rgba(244,241,234,.3);
  --bright-wash:rgba(52,70,60,.85);
  --bright-glass-rgb:67,83,73;
}
html body.troon-skins-enabled{background:var(--bright-bg)}
.screen.troon-fullskin{
  --proposal-glass:var(--bright-card);
  --proposal-rgb:var(--bright-glass-rgb);
  --proposal-accent:var(--bright-accent);
  --proposal-button:var(--bright-accent);
  --proposal-button-text:var(--bright-on-accent);
  --ink:var(--bright-ink);--heading:var(--bright-ink);--muted:var(--bright-muted);
  --brand:var(--bright-accent);--brand2:var(--bright-accent);--accent:var(--bright-accent);
  --surface:var(--bright-card);--surface2:var(--bright-card);
  --line:var(--bright-line);--line2:var(--bright-line);--tab-bg:var(--bright-card);
  --on-brand:var(--bright-on-accent);--on-accent:var(--bright-on-accent);
  --sel-ink:var(--bright-on-accent);
  --btn-grad:linear-gradient(var(--bright-accent),var(--bright-accent));
  --bar-grad:linear-gradient(var(--bright-accent),var(--bright-accent));
  --bad:#9D372F;--step-feedback:#DCD7C8;
  background:var(--bright-bg);color:var(--bright-ink);
}
.screen.troon-fullskin[data-skin]::before{
  background-image:linear-gradient(var(--bright-wash),var(--bright-wash)),var(--c-member-image,var(--skin-image));
  background-position:center,50% 55%;background-size:cover;
}
.screen[data-skin=concierge]{--c-member-image:url('app-photo-r8/reception-green-uniform.jpg')}
.screen[data-skin=concierge] .app-concept-art img{object-position:50% 50%}
.screen.troon-fullskin :is(.skin-login-panel,.service-tile,.backbtn,.iconbtn,.tabbar,.journey-card,.home-concierge,.home-secondary,.golf-benefits,.home-membership,.notice,.perk,.summary,.detailcard,.mcard,.empty,.rq,.citem,.cal,.stepper,.segbtn,.slots button,.setrow,.home-greeting,.quick-service,.benefit-link,.field,.calnote,.service-banner,.backhead,.official-content,.vol5-member-guide){
  background:var(--bright-card);border-color:var(--bright-line);color:var(--bright-ink);
}
.screen.troon-fullskin :is(h1,h2,h3,h4,.lname,.lsub,.lab,.pn,.pk,.stitle,.eyebrow,.footnote,.legal-links,.legal-links a,.invite-toggle,.setrow,.service-tile,.service-tile strong,.service-tile span,.service-tile small,.tab,.citem .m,.benefit-terms,.benefit-link>span,.segbtn .sub,.calnote,.setval,.v,.t,.m,.notice,.summary,.calhead,.calnav,.dow,.field .lab,.field,.home-greeting,.home-membership,.home-concierge,.golf-benefits,.inline-destination,.stepper .val){color:var(--bright-ink)}
.screen.troon-fullskin :is(.pagetitle,.backrow,.stitle){background:transparent;color:var(--bright-ink)}
.screen.troon-fullskin :is(.footnote,.legal-links,.legal-links a,.benefit-terms,.input-help,.app-concept-art figcaption){color:var(--bright-muted)}
.screen.troon-fullskin .field .input-help{color:var(--bright-muted)}
.screen.troon-fullskin .btn.ghost{background:var(--bright-card);color:var(--bright-accent);border-color:var(--bright-accent)}
.screen.troon-fullskin :is(.btn,.cta,.journey-action,.new-stay-action,.concierge-call,.segbtn.on,.days button.sel,.slots button.on,.stepper .ctr button){
  background:var(--bright-accent);color:var(--bright-on-accent);border-color:var(--bright-accent);
}
.screen.troon-fullskin .concierge-call :is(svg,span,b),
.screen.troon-fullskin .segbtn.on .sub{color:var(--bright-on-accent)}
.screen.troon-fullskin .btn:disabled{background:#E2E4DB;color:#596156;border-color:#B7BEAC}
.screen.troon-fullskin :is(input,textarea,select){background:#FFFDF8;color:#232726;border-color:#A7AEA1}
.screen.troon-fullskin .input::placeholder{color:#596156}
.screen.troon-fullskin .input:focus,
.screen.troon-fullskin :is(button,a,input,textarea,select):focus-visible{outline-color:var(--bright-accent)}
.screen.troon-fullskin .tab.on{color:var(--bright-accent)}
.screen.troon-fullskin .tab.on::after{background:var(--bright-accent)}
.screen.troon-fullskin .days button{color:var(--bright-ink)}
.screen.troon-fullskin .days button:disabled{color:#767E72}
.screen.troon-fullskin .days button.rng:not(.sel){background:#DDE3D5;color:#232726}
.screen.troon-fullskin .days button.sel{color:var(--bright-on-accent)}
.screen.troon-fullskin .chip.wait{background:#E4E9DE;color:#41523E}
.screen.troon-fullskin .chip.done,
.screen.troon-fullskin .chip.ok{background:#DCE9DB;color:#2D5431}
.screen.troon-fullskin .chip.cancel{background:#F3DFD8;color:#913C30}
.screen.troon-fullskin .err{color:#9D372F}
html[data-theme=dark] .screen.troon-fullskin .err{color:#FFD4CF}
.screen.troon-fullskin :is(.skin-login-logo,.skin-home-logo){filter:none}
html[data-theme=dark] .screen.troon-fullskin :is(.skin-login-logo,.skin-home-logo){filter:brightness(0) invert(1)}
.screen.troon-fullskin .app-concept-art{background:var(--bright-card)}
.screen.troon-fullskin .official-content :is(h1,h2,h3,p,li,a){color:var(--bright-ink)}
.screen.troon-fullskin .mcard .bg{opacity:.14}
.screen.troon-fullskin .mcard .veil{background:var(--bright-card)}
.screen.troon-fullskin .skin-home-actions :is(.benefit-title,.benefit-terms,.benefit-link),
.screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf],
.screen.troon-fullskin .skin-home-support .quick-service{
  background:var(--bright-card);color:var(--bright-ink);border-color:var(--bright-line);
}
.screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf] :is(span,strong),
.screen.troon-fullskin .skin-home-support .quick-service b{color:var(--bright-ink)}
.screen.troon-fullskin .skin-home-support .new-stay-action{
  background:var(--bright-accent);color:var(--bright-on-accent);border-color:var(--bright-accent);
}
body.troon-skins-enabled :is(.sheet,.toast,.undobar){
  --ink:var(--bright-ink);--heading:var(--bright-ink);--muted:var(--bright-muted);
  --brand:var(--bright-accent);--accent:var(--bright-accent);--on-brand:var(--bright-on-accent);
  --surface:var(--bright-card);--surface2:var(--bright-card);--line:var(--bright-line);
  --btn-grad:linear-gradient(var(--bright-accent),var(--bright-accent));
  background:var(--bright-card);color:var(--bright-ink);border-color:var(--bright-line);
}
body.troon-skins-enabled .sheet :is(h2,h3,p,label,.fgroup,.m){color:var(--bright-ink)}
body.troon-skins-enabled .sheet :is(input,textarea,select){background:#FFFDF8;color:#232726}
body.troon-skins-enabled .sheet .btn{background:var(--bright-accent);color:var(--bright-on-accent)}
body.troon-skins-enabled .sheet .input::placeholder{color:#596156}
body.troon-skins-enabled .sheet :is(button,a,input,textarea,select):focus-visible{outline-color:var(--bright-accent)}
body.troon-skins-enabled .toast.is-error{background:#FFF2EE;color:#913C30}
body.troon-skins-enabled .toast.is-success{background:#E4E9DE;color:#2D5431}
@supports not ((backdrop-filter:blur(26px)) or (-webkit-backdrop-filter:blur(26px))){
  .screen.troon-fullskin :is(.skin-login-panel,.service-tile,.journey-card,.setrow){background:var(--bright-bg)}
}

/* Limit scroll lock to the open sheet; retain normal page scrolling and pinch zoom. */
body.troon-skins-enabled.app-sheet-open{position:fixed;top:var(--sheet-scroll-y,0);width:100%;overflow:hidden}
body.troon-skins-enabled .sheet-wrap{top:var(--skin-viewport-top,0px);height:var(--skin-viewport-height,100dvh);bottom:auto}
body.troon-skins-enabled .sheet{overscroll-behavior-y:contain}
/* The compact text preference must not reduce editable sheet controls below 16px. */
body.troon-skins-enabled :is(.screen.troon-fullskin,.sheet) :is(input,textarea,select){font-size:max(16px,calc(16px * var(--troon-system-scale,1)),1rem)}
/* Keep native date/select intrinsic widths inside the available device width. */
body.troon-skins-enabled .sheet-wrap{box-sizing:border-box;width:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
body.troon-skins-enabled .sheet .fgroup{min-width:0}
body.troon-skins-enabled .sheet :is(input,textarea,select){box-sizing:border-box;min-width:0;max-width:100%}
/* Existing back control remains at the top of every sheet and input page. */
body.troon-skins-enabled .sheet{display:flex;flex-direction:column;overflow:hidden}
body.troon-skins-enabled .sheet-topbar{flex:none;background:inherit;padding:4px 20px}
body.troon-skins-enabled .sheet-body{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-block:18px}
body.troon-skins-enabled .sheet-topbar .backbtn{min-width:44px;min-height:44px}
.screen.troon-fullskin .viewport > :is(.backhead,.backrow){position:sticky;top:0;z-index:30;background:var(--screen)}

/* Page headers share the same visual-viewport origin as the corrected sheets. */
body.troon-skins-enabled .stage{position:relative;top:var(--skin-viewport-top,0px)}

/* Bound native temporal controls to the same content box as other fields. */
body.troon-skins-enabled :is(.screen.troon-fullskin,.sheet) input:is([type="date"],[type="time"],[type="datetime-local"]){display:block;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%}
body.troon-skins-enabled :is(.screen.troon-fullskin,.sheet) input:is([type="date"],[type="time"],[type="datetime-local"])::-webkit-date-and-time-value{min-width:0;text-align:start}
body.troon-skins-enabled :is(.screen.troon-fullskin,.sheet) input:is([type="date"],[type="time"],[type="datetime-local"])::-webkit-datetime-edit{min-width:0;padding:0}
