*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0F2A1E;-webkit-text-size-adjust:100%}
a{color:#D4B67A}a:hover{color:#E6CE9A}
img{max-width:100%}
[hidden]{display:none!important}
button{font:inherit}

/* booking widget */
.fs{border:0;margin:0;padding:0;min-width:0}
.lg{font-size:14px;font-weight:700;margin-bottom:10px;display:block}
.row{display:flex;flex-wrap:wrap;gap:8px}
.note{margin:10px 0 0;font-size:13px;color:#44564C}
.err{margin:0;font-size:14px;font-weight:700;color:#A3261B;background:#FDECEA;border-radius:10px;padding:10px 12px}
.inp{font:inherit;font-size:16px;padding:12px;border:1px solid #BDB6A4;border-radius:10px;min-height:48px;width:100%;background:#fff;color:#14261E}
.fld{display:flex;flex-direction:column;gap:0}
.pill{font:inherit;font-weight:600;font-size:15px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #BDB6A4;background:#fff;color:#14261E;cursor:pointer}
.pill.on{font-weight:700;border:2px solid #14261E;background:#14261E;color:#F4F1E8}
.chip{font:inherit;min-height:56px;min-width:72px;padding:6px 12px;border-radius:12px;border:1px solid #BDB6A4;background:#fff;color:#14261E;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.chip small{font-size:12px;font-weight:600;color:#44564C}
.chip b{font-size:15px;font-weight:800}
.chip.on{border:2px solid #14261E;background:#14261E;color:#F4F1E8}
.chip.on small{color:#D4B67A}
.chip.more{border:1px dashed #5B6F63;background:#F4F1E8;flex-direction:row;font-weight:700;font-size:14px}
.cal{border:1px solid #DDD7C8;border-radius:14px;padding:14px;max-width:460px;display:flex;flex-direction:column;gap:10px;margin-top:10px}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cal-title{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:19px}
.round{width:44px;height:44px;border-radius:22px;border:1px solid #BDB6A4;background:#fff;color:#14261E;cursor:pointer;display:flex;align-items:center;justify-content:center}
.round:disabled{visibility:hidden}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal-dow{font-size:12px;font-weight:700;color:#44564C}
.day{min-height:44px;border:1px solid #E4DFD2;border-radius:10px;background:#fff;color:#14261E;font-size:15px;font-weight:600;cursor:pointer}
.day:disabled{border:0;background:transparent;color:#8C918B;cursor:default}
.day.on{border:0;background:#14261E;color:#F4F1E8;font-weight:800}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.slot{min-height:52px;padding:6px 8px;border-radius:12px;border:1px solid #BDB6A4;background:#fff;color:#14261E;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.slot b{font-size:15px;font-weight:600}.slot small{font-size:12px;color:#44564C}
.slot.on{border:2px solid #14261E;background:#14261E;color:#F4F1E8}.slot.on b{font-weight:700}.slot.on small{color:#D4B67A}
.slot:disabled{border-style:dashed;background:#F4F1E8;color:#8C918B;cursor:default;text-decoration:line-through}
.bay{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #BDB6A4;border-radius:12px;cursor:pointer}
.bay:has(input:checked){border:2px solid #14261E}
.bay-t{display:flex;gap:8px;align-items:center;font-weight:700}
.bay-s{font-size:13px;color:#44564C}.bay-p{font-size:14px;font-weight:700}
.pricebox{background:#F4F1E8;border:1px solid #DDD7C8;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.pricebox-t{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:.1em;color:#3D6B2A}
.pricebox p.seg{margin:0;display:flex;justify-content:space-between;gap:12px;font-size:15px}
.pricebox-total{margin:6px 0 0;padding-top:10px;border-top:1px solid #DDD7C8;display:flex;justify-content:space-between;gap:12px;font-weight:800;font-size:19px}
.cta{font:inherit;font-weight:600;letter-spacing:.04em;font-size:17px;min-height:54px;border:0;border-radius:999px;background:#D4B67A;color:#0F2A1E;cursor:pointer;padding:0 18px}
.cta:disabled{background:#DDD7C8;color:#6E776F;cursor:default}
.paybox{border:2px solid #14261E;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}
.sumbox{background:#F4F1E8;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;font-size:15px}
.donebox{border:2px solid #3D6B2A;background:#F1FBE0;border-radius:16px;padding:20px;font-size:16px;line-height:1.55}
.donebox h3{margin:0 0 6px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:24px}

/* checkout dialog for memberships and gift cards */
dialog.co{font-family:Inter,system-ui,sans-serif;font-size:16px;border:0;border-radius:18px;padding:0;max-width:440px;width:calc(100% - 32px);color:#14261E}
dialog.co::backdrop{background:rgba(15,42,30,.6)}
.co-in{padding:24px;display:flex;flex-direction:column;gap:14px}
.co-in h3{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:22px}
.gift.on{background:#0F2A1E!important;color:#F4F1E8!important}
@media (max-width:600px){h1{font-size:44px!important}h2{font-size:32px!important}}
.cardbox{display:flex;flex-direction:column;gap:12px}
.cardgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cardgrid .wide{grid-column:1/-1}
.or{display:flex;align-items:center;gap:10px;margin:2px 0 0;color:#6E776F;font-size:13px}
.or:before,.or:after{content:"";flex:1;border-top:1px solid #DDD7C8}
.bayno{font:inherit;min-width:64px;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid #BDB6A4;background:#fff;color:#14261E;font-weight:700;font-size:15px;cursor:pointer}
.bayno.on{border:2px solid #14261E;background:#14261E;color:#F4F1E8}
.bayno:disabled{border-style:dashed;background:#F4F1E8;color:#8C918B;cursor:default;text-decoration:line-through}
.inp.bad{border:2px solid #A3261B;background:#FFF6F5}
.clubs{display:flex;flex-direction:column;gap:0;max-width:360px}.clubs .opt{font-weight:500;color:#5B665F;font-size:13px;margin-left:6px}
.pill.back{font-weight:700;border:2px solid #14261E}
.cancelbtn{width:100%;justify-content:center;display:flex;align-items:center;color:#A3261B;border-color:#E3B9B3;font-weight:700}
/* phones: compact sticky header (one scrollable menu row) */
@media (max-width:700px){
  header>div{padding:8px 16px!important;gap:6px 10px!important}
  header nav{order:3;width:100%;flex-wrap:nowrap!important;overflow-x:auto;gap:18px!important;font-size:14px!important;scrollbar-width:none}
  header nav::-webkit-scrollbar{display:none}
  header nav a{padding:4px 0!important;white-space:nowrap}
  header a[href^="mailto"]{display:none!important}
  header a[href="#top"] span{font-size:16px!important}
  header a[href="#top"] svg{width:26px;height:26px}
  header div>div a[href="#book"]{padding:10px 14px!important;font-size:14px!important}
  header a[href="#top"] span span{display:none}
  header a[href^="tel"]{width:40px!important;height:40px!important}
}

/* refined look */
body{font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3{letter-spacing:0}
.lg{font-size:15px;font-weight:600;letter-spacing:.02em}
.note{font-size:14px}
.chip b,.slot b{font-weight:600}
.pricebox-t{font-weight:500;letter-spacing:.2em}
.cal-title{font-size:24px}

body,h1,h2,h3,h4,p,span,button,a{font-variant-numeric:lining-nums}
/* main "Book" buttons: slightly brighter gold so they stand out */
a[href="#book"][style*="background"],.cta{background:#E6C786!important;box-shadow:0 6px 18px rgba(214,182,122,.28)}
a[href="#book"][style*="background"]:hover,.cta:hover:not(:disabled){background:#F0D49A!important}
.cta:disabled{background:#DDD7C8!important;box-shadow:none}

/* typography polish */
body{font-weight:400;letter-spacing:.005em;color-scheme:dark light}
h1,h2{font-weight:500!important;letter-spacing:-.005em;line-height:1.08!important}
h3{font-weight:500!important}
p{line-height:1.65}
header nav a{font-weight:500!important;letter-spacing:.02em;opacity:.92}
header nav a:hover{opacity:1;color:#E6C786!important}
strong,b{font-weight:600}
@media (max-width:700px){header a[href="#top"] span{font-size:19px!important;letter-spacing:.06em!important}}
@media (min-width:701px) and (max-width:1320px){
  header nav{gap:4px 16px!important;font-size:14px!important}
  header a[href="#top"] span{font-size:21px!important;letter-spacing:.05em!important}
  header a[href^="mailto"]{display:none!important}
}
@media (min-width:701px) and (max-width:1100px){ header a[href="#top"] span span{display:none} }
@media (max-width:700px){ section>div[style*="padding: 56px 24px"], [style*="padding: 56px 24px"]{padding-top:40px!important;padding-bottom:40px!important} }
