/* R10 signature — member screens only. Loaded last; routes, actions, permissions, type scale and wrapping stay as they are.
   Brand palette from the estate website: basalt #232726, ivory #F4F1EA, sage #596156, brass #A9875F.
   Remove this one <link> from index.html to return to the R8 presentation. */
@font-face{font-family:SgDisplay;src:url(fonts/Gloock-Regular.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+2026,U+2192,U+2197}
@font-face{font-family:SgLabel;src:url(fonts/Montserrat-Medium.ttf) format('truetype');font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2013-2014,U+2018-201D,U+2026}

/* ---------- tokens (text pairs measured at 4.5:1 or more on card and paper). One light theme only (10/30). ---------- */
html:root{
  --sg-paper:#F4F1EA;--sg-paper-rgb:244,241,234;
  --sg-card:#FBFAF6;--sg-card-rgb:251,250,246;
  --sg-tint:#EEEAE1;
  --sg-ink:#232726;--sg-ink-2:#3A3F3C;--sg-muted:#565A54;
  --sg-line:rgba(35,39,38,.11);--sg-line-2:rgba(35,39,38,.22);
  --sg-brass:#A9875F;--sg-brass-ink:#765A36;--sg-brass-soft:rgba(169,135,95,.16);
  --sg-act:#232726;--sg-on-act:#F4F1EA;
  --sg-key:#232726;--sg-key-line:rgba(244,241,234,.12);--sg-on-key:#F4F1EA;--sg-key-muted:rgba(244,241,234,.74);--sg-key-brass:#CDB089;
  --sg-ok:#3D5A43;--sg-ok-bg:#E8EBE3;--sg-wait-bg:#F1E8DA;
  --sg-bad:#8E3B2F;--sg-bad-bg:#F6EBE7;
  --sg-full:#B0654B;
  --sg-scrim:16,18,17;
  --sg-shadow:0 1px 0 rgba(35,39,38,.02),0 14px 30px -24px rgba(35,39,38,.42);
  --sg-r:8px;--sg-r-sm:4px;
  --sg-t11:max(calc(12px * var(--troon-system-scale,1)),.6875rem);
  --sg-t12:max(calc(12px * var(--troon-system-scale,1)),.75rem);
  --sg-t13:max(calc(12px * var(--troon-system-scale,1)),.8125rem);
  --sg-t14:max(calc(12px * var(--troon-system-scale,1)),.875rem);
  --sg-t15:max(calc(12px * var(--troon-system-scale,1)),.9375rem);
  --sg-t16:max(calc(12px * var(--troon-system-scale,1)),1rem);
  --sg-t18:max(calc(12px * var(--troon-system-scale,1)),1.125rem);
  --sg-t20:max(calc(12px * var(--troon-system-scale,1)),1.25rem);
  --sg-t22:max(calc(12px * var(--troon-system-scale,1)),1.375rem);
  --sg-t26:max(calc(12px * var(--troon-system-scale,1)),1.625rem);
  --sg-t30:max(calc(12px * var(--troon-system-scale,1)),1.875rem);
  /* earlier layers read these */
  --bright-bg:var(--sg-paper);--bright-card:var(--sg-card);--bright-ink:var(--sg-ink);--bright-muted:var(--sg-muted);
  --bright-accent:var(--sg-act);--bright-on-accent:var(--sg-on-act);--bright-line:var(--sg-line);
  --bright-wash:rgba(var(--sg-paper-rgb),.72);--bright-glass-rgb:var(--sg-card-rgb)
}

/* ---------- screen, fonts, backdrop ---------- */
html .phone .screen.troon-fullskin{--screen:var(--sg-paper);--serif:SgDisplay,SkinSerif,serif;--r:var(--sg-r);--r-sm:var(--sg-r-sm);--r-lg:var(--sg-r);--step-feedback:var(--sg-brass-soft);background:var(--sg-paper)}
html .phone .screen.troon-fullskin :is(h1,h2,h3,h4){font-weight:400;letter-spacing:-.01em}
html .phone .screen.troon-fullskin :is(.eyebrow,.gtag .s,.tier){font-family:SgLabel,SkinSans,sans-serif;font-weight:500;font-size:var(--sg-t11);letter-spacing:.16em;text-transform:uppercase;color:var(--sg-brass-ink)}
/* 10/30: a background picture appears on home only. Every other screen, sign-in included, sits on plain paper;
   booking and concierge screens keep their own full-width picture inside the page. The home picture lives in the
   scrolling page, sits at the top, settles into paper and scrolls away, so text never passes over an image. */
html .phone .screen.troon-fullskin[data-skin]::before{background-image:none;filter:none}
html .phone .screen.troon-fullskin[data-skin=home] .viewport::before{
  content:'';position:absolute;top:0;left:0;right:0;height:440px;z-index:-1;pointer-events:none;
  background-size:100% 100%,cover;background-position:center,50% 45%;background-repeat:no-repeat
}

/* ---------- sticky header, back and icon buttons ---------- */
html .phone .screen.troon-fullskin .viewport>:is(.backhead,.backrow){background:rgba(var(--sg-paper-rgb),.9);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);border:0;border-bottom:1px solid var(--sg-line);border-radius:0;min-height:56px;padding:6px 16px;gap:10px;box-shadow:none}
html .phone .screen.troon-fullskin .backhead h2{font-size:var(--sg-t18);color:var(--sg-ink);line-height:1.4}
html .phone .screen.troon-fullskin :is(.backbtn,.iconbtn){width:44px;height:44px;background:transparent;border:1px solid var(--sg-line-2);color:var(--sg-ink);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
html .phone .screen.troon-fullskin .bell-badge{background:var(--sg-brass);color:#1A1D1C;border:0;font-weight:700}

/* ---------- page titles ---------- */
html .phone .screen.troon-fullskin .pagetitle{padding:22px 24px 8px;background:transparent}
html .phone .screen.troon-fullskin .pagetitle h2{font-size:var(--sg-t30);line-height:1.3;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .pagetitle .eyebrow{display:block;margin-bottom:10px}
html .phone .screen.troon-fullskin .pagetitle p{font-size:var(--sg-t14);color:var(--sg-ink-2);margin-top:10px;line-height:1.7}
html .phone .screen.troon-fullskin .service-banner{background:transparent;border:0;border-radius:0;margin:0;padding:22px 24px 6px;gap:16px;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .banner-icon{width:52px;height:52px;min-width:52px;border:1px solid var(--sg-brass-soft);border-radius:50%;color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .banner-icon svg{width:26px;height:26px}
html .phone .screen.troon-fullskin .service-banner h3{font-size:var(--sg-t26);line-height:1.3;margin:6px 0 4px;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .service-banner p{font-size:var(--sg-t14);color:var(--sg-muted)}
html .phone .screen.troon-fullskin .hero.estate-photo{height:auto;margin:0;padding:22px 24px 4px}
html .phone .screen.troon-fullskin .hero.estate-photo .gtag{position:static;background:transparent;padding:0;max-width:none;color:var(--sg-ink);-webkit-backdrop-filter:none;backdrop-filter:none;border:0}
html .phone .screen.troon-fullskin .hero.estate-photo .gtag .s{opacity:1;margin-bottom:8px}
html .phone .screen.troon-fullskin .hero.estate-photo .gtag .b{font-family:var(--serif);font-weight:400;font-size:var(--sg-t26);line-height:1.3;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .stitle{padding:30px 24px 12px}
html .phone .screen.troon-fullskin .stitle h3{font-size:var(--sg-t20);color:var(--sg-ink)}
html .phone .screen.troon-fullskin .stitle :is(a,button.link){font-size:var(--sg-t13);color:var(--sg-brass-ink);font-weight:500}

/* Full-width concept picture; the "연출 이미지" label stays readable on top of it. */
html .phone .screen.troon-fullskin .app-concept-art{margin:0;border-radius:0;position:relative;background:var(--sg-tint)}
html .phone .screen.troon-fullskin .app-concept-art img{height:208px;object-fit:cover}
html .phone .screen.troon-fullskin .app-concept-art figcaption{position:absolute;right:12px;bottom:10px;padding:3px 8px;border-radius:2px;background:rgba(var(--sg-scrim),.62);color:#F4F1EA;font-size:var(--sg-t11);letter-spacing:.04em;line-height:1.5}

/* ---------- surfaces ---------- */
html .phone .screen.troon-fullskin :is(.notice,.perk,.summary,.detailcard,.empty,.citem,.cal,.stepper,.setgrp,.idrow,.service-tile,.benefit-link,.home-concierge,.home-secondary,.official-content,.vol5-member-guide,.calendar-add+.notice){background:var(--sg-card);border:1px solid var(--sg-line);border-radius:var(--sg-r);color:var(--sg-ink);box-shadow:var(--sg-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin :is(.field,.calnote,.setrow,.home-greeting,.home-membership,.stitle,.pagetitle){background:transparent;border-color:var(--sg-line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .notice{margin-left:20px;margin-right:20px;padding:14px 16px;font-size:var(--sg-t13);line-height:1.75;color:var(--sg-ink-2);box-shadow:none}
html .phone .screen.troon-fullskin .notice.action-notice{border-color:var(--sg-bad);color:var(--sg-bad);background:var(--sg-bad-bg)}
html .phone .screen.troon-fullskin .field{padding:24px 24px 10px}
html .phone .screen.troon-fullskin .field .lab{font-size:var(--sg-t12);font-weight:600;letter-spacing:.12em;color:var(--sg-brass-ink);margin-bottom:12px}
html .phone .screen.troon-fullskin .field .input-help{color:var(--sg-muted)}
html .phone .screen.troon-fullskin .calnote{color:var(--sg-muted);font-size:var(--sg-t12);padding:10px 24px 0}
html .phone .screen.troon-fullskin .calnote i{background:var(--sg-full)}

/* Benefit and summary cards */
html .phone .screen.troon-fullskin .perk{margin:16px 20px 4px;padding:16px 18px;gap:14px}
html .phone .screen.troon-fullskin .perk .pn{font-family:var(--serif);font-weight:400;font-size:var(--sg-t18);color:var(--sg-ink);line-height:1.45}
html .phone .screen.troon-fullskin .perk .pk{font-size:var(--sg-t13);color:var(--sg-muted);margin-top:4px;line-height:1.6}
html .phone .screen.troon-fullskin .perk>svg{color:var(--sg-brass)}
html .phone .screen.troon-fullskin .perk.warn{background:var(--sg-bad-bg);border-color:rgba(142,59,47,.24)}
html .phone .screen.troon-fullskin .perk.warn :is(.pn,.pk){color:var(--sg-bad)}
html .phone .screen.troon-fullskin .summary{margin:20px 20px 0;padding:6px 18px}
html .phone .screen.troon-fullskin .srow{padding:12px 0;border-bottom:1px solid var(--sg-line);font-size:var(--sg-t13);color:var(--sg-muted);gap:16px}
html .phone .screen.troon-fullskin .srow:last-child{border-bottom:0}
html .phone .screen.troon-fullskin .srow b{font-size:var(--sg-t14);font-weight:500;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .detailcard{margin:14px 20px;padding:22px 20px 10px}
html .phone .screen.troon-fullskin .detailcard .dt{font-size:var(--sg-t22);line-height:1.35;color:var(--sg-ink);padding-bottom:10px;border-bottom:1px solid var(--sg-line)}
html .phone .screen.troon-fullskin .badge-row{padding:14px 24px 0!important;gap:10px}
html .phone .screen.troon-fullskin .badge-row .muted{color:var(--sg-ink-2)}

/* Lists */
html .phone .screen.troon-fullskin .clist{padding:0 20px;gap:10px}
html .phone .screen.troon-fullskin .citem{padding:16px;gap:14px}
html .phone .screen.troon-fullskin .citem .ci{width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--sg-brass-soft);color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .citem .t{font-size:var(--sg-t15);font-weight:500;color:var(--sg-ink);line-height:1.5}
html .phone .screen.troon-fullskin .citem .m{font-size:var(--sg-t13);color:var(--sg-muted);margin-top:3px}
html .phone .screen.troon-fullskin .citem.rq .rq-reply{color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .rq-cancel{border-color:var(--sg-line-2);color:var(--sg-muted);border-radius:var(--sg-r-sm);min-height:44px;padding:6px 12px}
html .phone .screen.troon-fullskin .setgrp{margin:12px 20px;padding:0}
html .phone .screen.troon-fullskin .setrow{padding:16px 18px;min-height:56px;border:0;border-bottom:1px solid var(--sg-line);border-radius:0}
html .phone .screen.troon-fullskin .setrow:last-child{border-bottom:0}
html .phone .screen.troon-fullskin .setrow .sl{font-size:var(--sg-t15);color:var(--sg-ink)}
html .phone .screen.troon-fullskin .setrow .sr{color:var(--sg-muted)}
html .phone .screen.troon-fullskin .idrow{margin:12px 20px 0;padding:16px 18px;font-size:var(--sg-t14);box-shadow:none}
html .phone .screen.troon-fullskin .idrow .sl{color:var(--sg-muted)}
html .phone .screen.troon-fullskin .idrow b{color:var(--sg-ink);font-weight:500}
html .phone .screen.troon-fullskin .text-size-status{color:var(--sg-muted);margin:0;padding:12px 24px 0;font-size:var(--sg-t13)}

/* Status chips */
html .phone .screen.troon-fullskin .chip,html body.troon-skins-enabled .sheet-wrap .sheet .chip{font-size:var(--sg-t11);font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:999px;border:1px solid transparent}
html .phone .screen.troon-fullskin :is(.chip.done,.chip.ok),html body.troon-skins-enabled .sheet-wrap .sheet :is(.chip.done,.chip.ok){color:var(--sg-ok);background:var(--sg-ok-bg);border-color:rgba(89,97,86,.22)}
html .phone .screen.troon-fullskin .chip.wait,html body.troon-skins-enabled .sheet-wrap .sheet .chip.wait{color:var(--sg-brass-ink);background:var(--sg-wait-bg);border-color:rgba(169,135,95,.3)}
html .phone .screen.troon-fullskin .chip.cancel,html body.troon-skins-enabled .sheet-wrap .sheet .chip.cancel{color:var(--sg-bad);background:var(--sg-bad-bg);border-color:rgba(142,59,47,.24)}

/* ---------- controls ---------- */
html .phone .screen.troon-fullskin :is(.btn,.cta,.journey-action,.concierge-call,.new-stay-action){border-radius:var(--sg-r-sm);box-shadow:none;letter-spacing:.02em}
html .phone .screen.troon-fullskin :is(.btn,.cta,.concierge-call){background:var(--sg-act);color:var(--sg-on-act);border:1px solid var(--sg-act);min-height:52px;font-size:var(--sg-t15);font-weight:500}
html .phone .screen.troon-fullskin .btn.block{margin:22px 20px 24px}
html .phone .screen.troon-fullskin :is(.btn.ghost,.btn.secondary){background:transparent;color:var(--sg-ink);border-color:var(--sg-line-2)}
html .phone .screen.troon-fullskin .btn.ghost[data-act=cancelBooking]{color:var(--sg-bad);border-color:rgba(142,59,47,.32)}
/* Disabled stays clearly inactive but readable (replaces the 50% fade from styles.css). */
html .phone .screen.troon-fullskin .btn:disabled,html .phone #view .btn:disabled:not(.is-busy){background:var(--sg-tint);color:var(--sg-muted);border-color:var(--sg-line);opacity:1}
html .phone .screen.troon-fullskin .pad{padding:0 20px;margin-top:10px}
html .phone .screen.troon-fullskin .concierge-call{margin:20px 20px 4px;padding:14px 18px}
html .phone .screen.troon-fullskin .concierge-call :is(svg,span,b){color:var(--sg-on-act)}
html .phone .screen.troon-fullskin .concierge-call b{font-weight:400}

html .phone .screen.troon-fullskin .seg{gap:8px;padding:0 20px 6px}
html .phone .screen.troon-fullskin .seg.inline{padding:0}
html .phone .screen.troon-fullskin .seg.stay-tabs{padding:18px 20px 4px}
html .phone .screen.troon-fullskin :is(.segbtn,.slots button){background:var(--sg-card);border:1px solid var(--sg-line-2);border-radius:var(--sg-r-sm);color:var(--sg-ink);font-size:var(--sg-t14);min-height:44px;padding:10px 16px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .segbtn .sub{color:var(--sg-muted);font-size:var(--sg-t12);margin-top:3px}
html .phone .screen.troon-fullskin :is(.segbtn.on,.slots button.on){background:var(--sg-act);color:var(--sg-on-act);border-color:var(--sg-act);font-weight:500}
html .phone .screen.troon-fullskin .segbtn.on .sub{color:var(--sg-on-act);opacity:.8}
html .phone .screen.troon-fullskin :is(.segbtn,.slots button):disabled{background:transparent;color:var(--sg-muted);opacity:1}

html .phone .screen.troon-fullskin :is(.input,textarea.input,select.input),html body.troon-skins-enabled .sheet-wrap .sheet :is(.input,textarea.input,select.input){background:var(--sg-card);color:var(--sg-ink);border:1px solid var(--sg-line-2);border-radius:var(--sg-r-sm);min-height:50px;padding:13px 15px}
html .phone .screen.troon-fullskin .input::placeholder,html body.troon-skins-enabled .sheet-wrap .sheet .input::placeholder{color:var(--sg-muted);opacity:1}
html .phone .screen.troon-fullskin .input:focus,html body.troon-skins-enabled .sheet-wrap .sheet .input:focus{border-color:var(--sg-ink);outline:none}
html .phone .screen.troon-fullskin :is(button,a,input,textarea,select):focus-visible,html body.troon-skins-enabled .sheet-wrap .sheet :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--sg-brass-ink);outline-offset:3px}
html .phone .screen.troon-fullskin input[type=checkbox]{accent-color:var(--sg-act)}

/* Stepper */
html .phone .screen.troon-fullskin .stepper{padding:10px 12px 10px 18px;margin:0 20px;box-shadow:none}
html .phone .screen.troon-fullskin .stepper .who{font-size:var(--sg-t15);color:var(--sg-ink)}
html .phone .screen.troon-fullskin .stepper .ctr{gap:14px}
html .phone .screen.troon-fullskin .stepper .ctr button{width:44px;height:44px;background:transparent;color:var(--sg-ink);border:1px solid var(--sg-line-2);border-radius:50%}
html .phone .screen.troon-fullskin .stepper .ctr b{font-family:var(--serif);font-weight:400;font-size:var(--sg-t20);color:var(--sg-ink)}

/* Calendar */
/* Seven 44px day columns must always fit (theme 2026.10.06): side margin shrinks on narrow phones. */
html .phone .screen.troon-fullskin .cal{margin:0 clamp(0px,calc((100% - 326px) / 2),20px);padding:16px 4px 10px;box-shadow:none}
html .phone .screen.troon-fullskin .calhead{padding:0 4px;margin-bottom:12px}
html .phone .screen.troon-fullskin .calhead b{font-family:var(--serif);font-weight:400;font-size:var(--sg-t18);color:var(--sg-ink)}
html .phone .screen.troon-fullskin .calnav{color:var(--sg-ink);border-radius:50%}
html .phone .screen.troon-fullskin .dow{color:var(--sg-muted);font-size:var(--sg-t11);letter-spacing:.06em;margin-bottom:4px}
html .phone .screen.troon-fullskin .days button{color:var(--sg-ink);font-size:var(--sg-t14)}
html .phone .screen.troon-fullskin .days button:disabled{color:#7A7D76}
html .phone .screen.troon-fullskin .days button.rng:not(.sel){background:var(--sg-brass-soft);color:var(--sg-ink)}
html .phone .screen.troon-fullskin .days button.sel,html .phone .screen.troon-fullskin .days button.rng.sel{background:var(--sg-act);color:var(--sg-on-act);font-weight:600}
html .phone .screen.troon-fullskin .days button.dot::after{background:var(--sg-brass)}
html .phone .screen.troon-fullskin .days button.occ::after{background:var(--sg-full)}

/* ---------- tab bar ---------- */
html .phone .screen.troon-fullskin .tabbar{background:rgba(var(--sg-paper-rgb),.96);border:0;border-top:1px solid var(--sg-line);border-radius:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:64px;padding-top:8px;box-shadow:none}
html .phone .screen.troon-fullskin .tab{color:var(--sg-muted);font-size:var(--sg-t11);font-weight:500;letter-spacing:.02em;position:relative;gap:5px}
html .phone .screen.troon-fullskin .tab svg{stroke-width:1.5}
html .phone .screen.troon-fullskin .tab.on{color:var(--sg-ink);font-weight:600;background:transparent}
html .phone .screen.troon-fullskin .tab.on::after{background:var(--sg-brass);width:18px;height:2px;top:-8px;border-radius:0}

/* ---------- home ---------- */
/* Darker picture at the top carries the greeting; it settles into paper behind the golf cards. */
html .phone .screen.troon-fullskin[data-skin=home] .viewport::before{
  height:500px;
  background-image:linear-gradient(180deg,rgba(var(--sg-scrim),.7) 0%,rgba(var(--sg-scrim),.6) 50%,rgba(var(--sg-scrim),.5) 64%,var(--sg-paper) 88%),var(--c-member-image,var(--skin-image));
  background-position:center,50% 40%
}
html .phone .screen.troon-fullskin[data-skin=home] .skin-home-logo{filter:brightness(0) invert(1)}
html .phone .screen.troon-fullskin[data-skin=home] .appbar .iconbtn{background:rgba(var(--sg-scrim),.28);border-color:rgba(244,241,234,.36);color:#F4F1EA;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
html .phone .screen.troon-fullskin[data-skin=home] .home-greeting{margin:30px 24px 0;padding:0;border:0}
html .phone .screen.troon-fullskin[data-skin=home] .home-greeting .eyebrow{color:rgba(244,241,234,.86);margin-bottom:10px;font-size:var(--sg-t11)}
html .phone .screen.troon-fullskin[data-skin=home] .home-greeting h1{font-size:var(--sg-t30);line-height:1.32;color:#F4F1EA;text-shadow:0 1px 20px rgba(0,0,0,.25)}
html .phone .screen.troon-fullskin .skin-home-actions{margin:64px 20px 0}
html .phone .screen.troon-fullskin .skin-home-actions .golf-benefits{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-title{background:transparent;border:0;padding:0 4px 4px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-title h2{font-size:var(--sg-t22);color:#F4F1EA;text-shadow:0 1px 16px rgba(0,0,0,.25)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-grid{gap:10px;margin-top:12px}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link{min-height:136px;padding:18px 16px 16px;border-radius:var(--sg-r);background:var(--sg-card);border-color:var(--sg-line);color:var(--sg-ink)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link .benefit-icon{color:var(--sg-brass-ink);margin-bottom:12px}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link strong{font-size:var(--sg-t16);font-weight:600;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link>span:not(.benefit-icon){color:var(--sg-muted);font-size:var(--sg-t13)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link>span:last-child{color:var(--sg-muted);font-size:var(--sg-t18);top:16px;right:14px}
/* Golf comes first on home (r4a): it gets the signature dark card. */
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf]{background:var(--sg-key);border-color:var(--sg-key-line);color:var(--sg-on-key)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf] strong{color:var(--sg-on-key)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf]>span:not(.benefit-icon){color:var(--sg-key-muted)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf] .benefit-icon{color:var(--sg-key-brass)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-link[data-route=golf]>span:last-child{color:var(--sg-key-brass)}
html .phone .screen.troon-fullskin .skin-home-actions .benefit-terms{background:transparent;border:0;padding:12px 4px 0;color:var(--sg-muted);font-size:var(--sg-t12);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .skin-home-support{gap:10px;margin-top:16px}
html .phone .screen.troon-fullskin .skin-home-support :is(.new-stay-action,.quick-service){min-height:54px;border-radius:var(--sg-r-sm);font-size:var(--sg-t14);font-weight:500;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .skin-home-support .new-stay-action{background:var(--sg-act);color:var(--sg-on-act);border:1px solid var(--sg-act)}
html .phone .screen.troon-fullskin .skin-home-support .quick-service{background:var(--sg-card);color:var(--sg-ink);border:1px solid var(--sg-line-2)}
html .phone .screen.troon-fullskin .skin-home-support .quick-service b{color:var(--sg-ink);font-weight:500}
html .phone .screen.troon-fullskin .skin-home-support .quick-service span{color:var(--sg-brass-ink)}

/* Upcoming stay: signature dark card */
html .phone .screen.troon-fullskin .journey-card{margin:28px 20px 0;padding:22px 22px 20px;background:var(--sg-key);border:1px solid var(--sg-key-line);border-radius:var(--sg-r);color:var(--sg-on-key);box-shadow:0 22px 40px -28px rgba(var(--sg-scrim),.7);-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .journey-card .eyebrow{color:var(--sg-key-brass)}
html .phone .screen.troon-fullskin .journey-card h2{font-size:var(--sg-t30);line-height:1.25;margin:12px 0 10px;font-weight:400;letter-spacing:0;color:var(--sg-on-key)}
html .phone .screen.troon-fullskin .journey-card :is(.journey-dates,p){color:var(--sg-on-key);font-size:var(--sg-t15)}
html .phone .screen.troon-fullskin .journey-card .journey-dates small{color:var(--sg-key-muted);font-size:var(--sg-t13);margin-top:4px}
html .phone .screen.troon-fullskin .journey-card .chip{background:transparent;color:var(--sg-on-key);border-color:var(--sg-key-line)}
html .phone .screen.troon-fullskin .journey-card .chip.chip{border-color:rgba(244,241,234,.4)}
html .phone .screen.troon-fullskin .journey-card .notice{background:transparent;border-color:var(--sg-key-line);color:var(--sg-key-muted)}
html .phone .screen.troon-fullskin .journey-action{margin-top:18px;min-height:52px;padding:12px 18px;background:#F4F1EA;color:#232726;border:1px solid #F4F1EA;font-size:var(--sg-t15);font-weight:500}
html .phone .screen.troon-fullskin .journey-action>span{font-size:var(--sg-t18)}
html .phone .screen.troon-fullskin .journey-detail{color:var(--sg-on-key);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--sg-key-line);margin-top:10px;min-height:44px}

/* Concierge and destinations */
html .phone .screen.troon-fullskin .home-concierge{margin:16px 20px 0;padding:22px 18px 18px}
html .phone .screen.troon-fullskin .concierge-heading{gap:14px;margin-bottom:18px}
html .phone .screen.troon-fullskin .concierge-symbol{width:48px;height:48px;background:transparent;border:1px solid var(--sg-brass-soft);color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .concierge-symbol svg{width:24px;height:24px}
html .phone .screen.troon-fullskin .concierge-heading .eyebrow{display:block;margin-bottom:6px}
html .phone .screen.troon-fullskin .concierge-heading h2{font-size:var(--sg-t22);letter-spacing:-.01em;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .quick-service{background:var(--sg-paper);border:1px solid var(--sg-line);border-radius:var(--sg-r-sm);color:var(--sg-brass-ink);min-height:92px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .quick-service b{color:var(--sg-ink);font-weight:500;font-size:var(--sg-t14)}
html .phone .screen.troon-fullskin .request-status{background:var(--sg-tint);border-radius:var(--sg-r-sm);color:var(--sg-ink);margin-top:12px;font-size:var(--sg-t14)}
html .phone .screen.troon-fullskin .request-status i{background:var(--sg-brass)}
html .phone .screen.troon-fullskin .request-status b{color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .home-secondary{margin:16px 20px 0;padding:0 18px}
html .phone .screen.troon-fullskin .inline-destination{min-height:64px;padding:16px 0;color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .inline-destination+button{border-top:1px solid var(--sg-line)}
html .phone .screen.troon-fullskin .inline-destination>span:first-of-type{font-size:var(--sg-t15);font-weight:500;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .inline-destination>small{color:var(--sg-muted);font-size:var(--sg-t12)}
html .phone .screen.troon-fullskin .inline-destination>span:last-child{color:var(--sg-muted);font-size:var(--sg-t18)}
html .phone .screen.troon-fullskin .home-membership{margin:24px 24px 0;padding:16px 0 0;border:0;border-top:1px solid var(--sg-line);border-radius:0;color:var(--sg-ink-2);font-size:var(--sg-t13)}
html .phone .screen.troon-fullskin .home-membership .link{color:var(--sg-brass-ink);font-weight:500}

/* Booking shortcuts on the bookings screen read as a quiet list, not three heavy buttons. */
html .phone .screen.troon-fullskin[data-skin=bookings] .new-stay-action{margin:10px 20px 0;width:calc(100% - 40px);min-height:58px;padding:14px 18px;background:var(--sg-card);color:var(--sg-ink);border:1px solid var(--sg-line);border-radius:var(--sg-r);font-size:var(--sg-t15);font-weight:500;box-shadow:var(--sg-shadow)}
html .phone .screen.troon-fullskin[data-skin=bookings] .new-stay-action svg{color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin[data-skin=bookings] .new-stay-action>span:last-child{color:var(--sg-muted)}
html .phone .screen.troon-fullskin[data-skin=bookings] .seg{padding:24px 20px 12px!important}

/* Concierge services */
html .phone .screen.troon-fullskin .service-grid{gap:10px;padding:0 20px}
html .phone .screen.troon-fullskin .service-tile{padding:18px 16px;min-height:140px;gap:6px}
html .phone .screen.troon-fullskin .service-grid .service-tile:last-child:nth-child(odd){min-height:96px;padding:18px}
html .phone .screen.troon-fullskin .service-icon{width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--sg-brass-soft);color:var(--sg-brass-ink);margin-bottom:10px}
html .phone .screen.troon-fullskin .service-icon svg{width:22px;height:22px}
html .phone .screen.troon-fullskin .service-tile strong{font-size:var(--sg-t16);font-weight:600;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .service-tile>span:not(.service-icon){font-size:var(--sg-t13);color:var(--sg-muted)}
html .phone .screen.troon-fullskin .service-tile small{color:var(--sg-brass-ink);font-size:var(--sg-t13);font-weight:500}
html .phone .screen.troon-fullskin .service-tile.locked{opacity:1;background:transparent;box-shadow:none;border-style:dashed}
html .phone .screen.troon-fullskin .service-tile.locked :is(strong,.service-icon){color:var(--sg-muted)}

/* Membership card */
html .phone .screen.troon-fullskin .mcard{--heading:var(--sg-on-key);--muted:var(--sg-key-muted);margin:16px 20px 8px;padding:22px 20px 20px;background:var(--sg-key);border:1px solid var(--sg-key-line);border-radius:var(--sg-r);color:var(--sg-on-key);box-shadow:0 22px 40px -28px rgba(var(--sg-scrim),.7);-webkit-backdrop-filter:none;backdrop-filter:none}
html .phone .screen.troon-fullskin .mcard .bg{opacity:.22;filter:grayscale(.3)}
html .phone .screen.troon-fullskin .mcard .veil{background:linear-gradient(160deg,rgba(35,39,38,.2),rgba(35,39,38,.86) 70%)}
html .phone .screen.troon-fullskin .mcard .tier{background:transparent;border:1px solid var(--sg-key-line);color:var(--sg-key-brass);padding:6px 12px}
html .phone .screen.troon-fullskin .mcard :is(.mstat .k,.muted){color:var(--sg-key-muted)}
html .phone .screen.troon-fullskin .mcard .mstat .v{font-family:var(--serif);font-weight:400;color:var(--sg-on-key);font-size:var(--sg-t30)}
html .phone .screen.troon-fullskin .mcard .mstat .v small{color:var(--sg-key-muted)}
html .phone .screen.troon-fullskin .mcard .bar{background:rgba(244,241,234,.14);height:3px}
html .phone .screen.troon-fullskin .mcard .bar i{background:var(--sg-key-brass)}
html .phone .screen.troon-fullskin .mcard .divider{background:var(--sg-key-line)}

/* Footer */
html .phone .screen.troon-fullskin :is(.footnote,.legal-links,.legal-links a){color:var(--sg-muted)}
html .phone .screen.troon-fullskin .footnote{padding:28px 24px 8px;font-size:var(--sg-t12);letter-spacing:.02em}

/* ---------- sign-in ---------- */
html .phone .screen.troon-fullskin .skin-login-panel{border-radius:var(--sg-r);border-color:var(--sg-line);box-shadow:0 30px 60px -40px rgba(var(--sg-scrim),.8);padding:30px 22px 16px}
html .phone .screen.troon-fullskin .skin-login-panel .lname{font-size:var(--sg-t26);font-weight:400;letter-spacing:-.01em;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .skin-login-panel .lsub{color:var(--sg-ink-2);font-size:var(--sg-t14);line-height:1.85}
html .phone .screen.troon-fullskin .skin-login-panel .social-btn{border-radius:var(--sg-r-sm);min-height:52px}
html .phone .screen.troon-fullskin .skin-login-panel .invite-toggle{color:var(--sg-ink-2);text-underline-offset:4px;text-decoration-color:var(--sg-line-2)}

/* ---------- sheet, toast, undo ---------- */
html body.troon-skins-enabled .sheet-wrap{background:rgba(var(--sg-scrim),.46);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
html body.troon-skins-enabled .sheet-wrap .sheet{--ink:var(--sg-ink);--heading:var(--sg-ink);--muted:var(--sg-muted);--brand:var(--sg-act);--accent:var(--sg-act);--surface:var(--sg-card);--surface2:var(--sg-tint);--line:var(--sg-line);--on-brand:var(--sg-on-act);--serif:SgDisplay,SkinSerif,serif;--btn-grad:linear-gradient(var(--sg-act),var(--sg-act));background:var(--sg-paper);color:var(--sg-ink);border:0;border-radius:16px 16px 0 0;box-shadow:0 -24px 60px -36px rgba(0,0,0,.55)}
html body.troon-skins-enabled .sheet-wrap .sheet .grip{width:36px;background:var(--sg-line-2)}
html body.troon-skins-enabled .sheet-wrap .sheet h3{font-family:var(--serif);font-weight:400;font-size:var(--sg-t22);color:var(--sg-ink);padding:8px 24px 4px;letter-spacing:-.01em}
html body.troon-skins-enabled .sheet-wrap .sheet :is(p,.m,.muted){color:var(--sg-muted)}
html body.troon-skins-enabled .sheet-wrap .sheet .fgroup{padding:12px 24px 4px}
html body.troon-skins-enabled .sheet-wrap .sheet label.flab{color:var(--sg-brass-ink);font-size:var(--sg-t12);font-weight:600;letter-spacing:.08em;margin-bottom:8px}
html body.troon-skins-enabled .sheet-wrap .sheet .btn{background:var(--sg-act);color:var(--sg-on-act);border:1px solid var(--sg-act);border-radius:var(--sg-r-sm);min-height:52px;font-size:var(--sg-t15);font-weight:500;box-shadow:none}
html body.troon-skins-enabled .sheet-wrap .sheet :is(.btn.ghost,.btn.secondary){background:transparent;color:var(--sg-ink);border-color:var(--sg-line-2)}
html body.troon-skins-enabled .sheet-wrap .sheet .notice{background:var(--sg-card);border:1px solid var(--sg-line);border-radius:var(--sg-r);color:var(--sg-ink-2);margin:8px 24px;padding:14px 16px}
html body.troon-skins-enabled .sheet-wrap .sheet .citem{background:var(--sg-card);border:1px solid var(--sg-line);border-radius:var(--sg-r);padding:16px}
html body.troon-skins-enabled .sheet-wrap .sheet .citem .ci{background:transparent;border:1px solid var(--sg-brass-soft);border-radius:50%;color:var(--sg-brass-ink)}
html body.troon-skins-enabled .sheet-wrap .sheet .citem .t{color:var(--sg-ink);font-weight:500}
html body.troon-skins-enabled .sheet-wrap .sheet .backbtn{background:transparent;border:1px solid var(--sg-line-2);color:var(--sg-ink)}
html body.troon-skins-enabled .toast{background:var(--sg-act);color:var(--sg-on-act);border:1px solid rgba(244,241,234,.16);border-radius:var(--sg-r-sm);padding:13px 18px;font-size:var(--sg-t14);font-weight:500;letter-spacing:0;box-shadow:0 18px 40px -20px rgba(0,0,0,.55)}
html body.troon-skins-enabled .toast.is-success{background:#2F4536;color:#F4F1EA}
html body.troon-skins-enabled .toast.is-error{background:#7A2E24;color:#FFF4F0}
html body.troon-skins-enabled .undobar{background:var(--sg-act);color:var(--sg-on-act);border:0;border-radius:var(--sg-r-sm);box-shadow:0 18px 40px -20px rgba(0,0,0,.55)}
html body.troon-skins-enabled .undobar .ub-btn{background:transparent;border:1px solid currentColor;border-radius:var(--sg-r-sm);color:inherit}

@media(max-width:350px){
  html .phone .screen.troon-fullskin :is(.pagetitle,.service-banner,.hero.estate-photo,.stitle,.field){padding-left:18px;padding-right:18px}
  html .phone .screen.troon-fullskin[data-skin=home] .home-greeting{margin:22px 18px 0}
  html .phone .screen.troon-fullskin[data-skin=home] .home-greeting h1{font-size:var(--sg-t26)}
  html .phone .screen.troon-fullskin .skin-home-actions{margin:48px 16px 0}
}

/* ---------- R11 stay-first screens (10/29 관리자 사양) ---------- */
html .phone .screen.troon-fullskin[data-skin=home] .home-greeting{margin:30px 24px 40px}
html .phone .screen.troon-fullskin[data-skin=home] .journey-card{margin-top:0}
html .phone .screen.troon-fullskin .allowance{margin:12px 20px 0;padding:18px 20px 16px;background:var(--sg-card);border:1px solid var(--sg-line);border-radius:var(--sg-r);box-shadow:var(--sg-shadow)}
html .phone .screen.troon-fullskin .allow-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
html .phone .screen.troon-fullskin .allow-period{font-size:var(--sg-t12);color:var(--sg-muted)}
html .phone .screen.troon-fullskin .allow-num{display:flex;align-items:baseline;gap:6px;margin-top:10px}
html .phone .screen.troon-fullskin .allow-num b{font-family:var(--serif);font-weight:400;font-size:var(--sg-t30);line-height:1;color:var(--sg-ink)}
html .phone .screen.troon-fullskin .allow-num span{font-size:var(--sg-t14);color:var(--sg-ink-2)}
html .phone .screen.troon-fullskin .allowance .bar{height:3px;margin-top:14px;border-radius:0;background:var(--sg-tint)}
html .phone .screen.troon-fullskin .allowance .bar i{border-radius:0;background:var(--sg-brass)}
html .phone .screen.troon-fullskin .allow-foot{margin-top:10px;font-size:var(--sg-t13);color:var(--sg-muted);line-height:1.6}
html .phone .screen.troon-fullskin .home-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 20px 0}
html .phone .screen.troon-fullskin .home-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:92px;padding:14px 6px;background:var(--sg-card);border:1px solid var(--sg-line);border-radius:var(--sg-r);color:var(--sg-brass-ink);text-decoration:none;box-shadow:var(--sg-shadow)}
html .phone .screen.troon-fullskin .home-action b{font-size:var(--sg-t13);font-weight:500;color:var(--sg-ink);text-align:center;word-break:keep-all}
html .phone .screen.troon-fullskin .home-requests{margin-top:12px}
html .phone .screen.troon-fullskin .home-requests .request-status{margin-top:0;background:var(--sg-card);border:1px solid var(--sg-line)}
html .phone .screen.troon-fullskin .concierge-call small{display:block;margin-top:2px;font-size:var(--sg-t12);font-weight:400;letter-spacing:.04em;opacity:.82}
html .phone .screen.troon-fullskin a.citem{color:inherit;text-decoration:none}
html .phone .screen.troon-fullskin .row-go{display:flex;flex-shrink:0;margin-left:auto;color:var(--sg-muted)}
html .phone .screen.troon-fullskin .service-row .row-go{color:var(--sg-brass-ink)}
html .phone .screen.troon-fullskin .citem.service-row.locked{opacity:1;background:transparent;border-style:dashed;box-shadow:none}
html .phone .screen.troon-fullskin .citem.service-row.locked :is(.t,.m){color:var(--sg-muted);font-style:normal}
html .phone .screen.troon-fullskin .citem.service-row.locked .ci{border-color:var(--sg-line);color:var(--sg-muted)}
html .phone .screen.troon-fullskin .bookings-cta{margin-top:20px}
html .phone .screen.troon-fullskin .bookings-cta .btn{display:flex;align-items:center;justify-content:center;gap:8px}
 
html .phone .screen.troon-fullskin .booking-entry-actions{display:flex;gap:8px;align-items:stretch}
html .phone .screen.troon-fullskin .booking-entry-actions>button{flex:1;min-width:0}
html .phone .screen.troon-fullskin .booking-entry-actions .booking-entry-label{font-size:14px;line-height:1.4;white-space:normal}
html .phone .screen.troon-fullskin .home-booking-entry .journey-action{padding:12px 10px;gap:6px}
html .phone .screen.troon-fullskin .appbar .home-site-link{width:auto;min-width:44px;min-height:44px;padding:0 9px;font-size:12px;font-weight:500;white-space:nowrap}
html .phone .screen.troon-fullskin .mcard .mname{margin-top:16px;font-family:var(--serif);font-size:var(--sg-t26);line-height:1.3;color:var(--sg-on-key)}
html .phone .screen.troon-fullskin .mcard .munit{margin-top:4px;font-size:var(--sg-t13);color:var(--sg-key-muted)}
html .phone .screen.troon-fullskin .mcard .mrow{margin-top:20px}
html .phone .screen.troon-fullskin .mcard .mused{margin-top:12px;font-size:var(--sg-t13);color:var(--sg-key-muted)}
html .phone .screen.troon-fullskin .setrow .sl small{display:block;margin-top:3px;font-size:var(--sg-t12);color:var(--sg-muted)}
html .phone .screen.troon-fullskin .theme-controls{padding:0 20px 6px}
html .phone .screen.troon-fullskin .notice.status-note{margin-top:12px}

/* ---------- home picture under the status bar (10/30) ----------
   On home the page starts at the very top and keeps the status-bar height as inner padding, so the picture runs up
   behind the clock (app.js turns the status-bar text white there). Once the picture has scrolled away a paper strip
   slides in under the clock and the text turns dark again (.home-scrolled). Other screens keep the paper bar. */
html .phone .screen.troon-fullskin[data-skin=home]{padding-top:0}
html .phone .screen.troon-fullskin[data-skin=home] .viewport{padding-top:env(safe-area-inset-top)}
html .phone .screen.troon-fullskin[data-skin=home] .viewport::before{height:calc(500px + env(safe-area-inset-top))}
html .phone .screen.troon-fullskin[data-skin=home]::after{content:'';position:absolute;top:0;left:0;right:0;z-index:3;height:env(safe-area-inset-top);pointer-events:none;background:rgba(var(--sg-paper-rgb),.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--sg-line);opacity:0;transition:opacity .2s ease}
html .phone .screen.troon-fullskin[data-skin=home].home-scrolled::after{opacity:1}
@media(prefers-reduced-motion:reduce){html .phone .screen.troon-fullskin[data-skin=home]::after{transition:none}}
