/* SyncBooking — Booking bar (bottom fixed bar + 2-button variant + date picker)
   FULLY SELF-CONTAINED — depends on NOTHING from the main theme CSS.
   All design tokens are declared locally below (--sbb-*). Colours of the bar
   itself come from syncbooking_bar.js (--sb-bar-bg, --sb-bar-label,
   --sb-bar-text, --sb-submit-bg, --sb-submit-text, --sb-submit-hover);
   if that file is absent, the fallbacks below keep the bar looking correct. */

:root{
  --sbb-accent:#8a463f;        /* primary accent (bar bg, calendar selection) */
  --sbb-accent-deep:#73362f;   /* darker accent (hover) */
  --sbb-line:#e6dfd2;          /* borders & dividers */
  --sbb-ink:#2b2723;           /* primary text */
  --sbb-muted:#7d7468;         /* secondary text */
  --sbb-serif:'Cormorant Garamond', Georgia, serif;
  --sbb-sans:'Jost', system-ui, sans-serif;
}

/* ===== Fixed bottom booking bar (SyncBooking) ===== */
body{padding-bottom:0;}
.sb-bookbar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(1060px,100vw);z-index:2147483000;}
.sb-bar{
  background:var(--sb-bar-bg,var(--sbb-accent));border:0;box-shadow:0 -16px 44px -26px rgba(45,24,22,.6);
  display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr auto;align-items:stretch;width:100%;
}
.sb-field{display:flex;flex-direction:column;gap:5px;padding:9px clamp(14px,1.8vw,26px);border-right:1px solid rgba(255,255,255,.18);justify-content:center;}
.sb-title{font-family:var(--sbb-sans);font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--sb-bar-label,#e7bdb3);}
.sb-control{position:relative;}
.sb-control select,.sb-control input{font-family:var(--sbb-serif);font-size:18px;line-height:1;color:var(--sb-bar-text,#fff);background:transparent;border:0;padding:0;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;width:100%;font-weight:500;}
.sb-control select option{color:var(--sbb-ink);}
.sb-control input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;}
.sb-has-caret select{padding-right:22px;}
.sb-has-caret::after{content:"";position:absolute;right:2px;top:50%;width:8px;height:8px;border-right:1.6px solid rgba(255,255,255,.7);border-bottom:1.6px solid rgba(255,255,255,.7);transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.sb-submit{padding:0;border-right:0;}
.sb-submit button{height:100%;width:100%;min-width:160px;border:0;cursor:pointer;background:var(--sb-submit-bg,var(--sbb-accent-deep));color:var(--sb-submit-text,#fff);font-family:var(--sbb-sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:background .3s;padding:0 28px;}
.sb-submit button:hover{background:var(--sb-submit-hover,#5e2a24);}
.sb-mobile{display:none;gap:0;padding:0;background:#fff;border-top:0;box-shadow:0 -18px 50px -28px rgba(45,24,22,.45);height:32px;}
.sb-mobile a{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;font-family:var(--sbb-sans);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;transition:.3s;}
.sb-mobile .sb-book{background:var(--sb-submit-bg,var(--sbb-accent));color:var(--sb-submit-text,#fff);}
.sb-mobile .sb-book:hover{background:var(--sb-submit-hover,var(--sbb-accent-deep));}
.sb-mobile .sb-contact{background:#fff;color:var(--sb-submit-bg,var(--sbb-accent));border:1px solid var(--sb-submit-bg,var(--sbb-accent));}
.sb-mobile .sb-contact:hover{background:var(--sb-submit-bg,var(--sbb-accent));color:var(--sb-submit-text,#fff);}
@media(max-width:768px){.sb-bar{display:none;}.sb-mobile{display:flex;}}
/* ===== date range calendar (opens upward) ===== */
.sb-dates-field .sb-control{position:relative;}
.sb-dates-display{-webkit-appearance:none;appearance:none;background:transparent;border:0;padding:0;margin:0;text-align:left;cursor:pointer;font-family:var(--sbb-serif);font-size:18px;line-height:1;font-weight:500;color:var(--sb-bar-text,#fff);width:100%;}
.sb-dates-pop{position:absolute;left:0;bottom:calc(100% + 14px);z-index:60;background:#fff;border:1px solid var(--sbb-line);box-shadow:0 -24px 60px -28px rgba(45,24,22,.5);padding:18px;width:620px;max-width:92vw;}
.sb-dates-pop[hidden]{display:none;}
.sb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.sb-cal-months{display:flex;flex:1;justify-content:space-around;gap:20px;font-family:var(--sbb-serif);font-size:18px;font-weight:500;color:var(--sbb-ink);}
.sb-cal-nav{-webkit-appearance:none;appearance:none;background:transparent;border:1px solid var(--sbb-line);width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--sbb-ink);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.25s;flex:0 0 auto;}
.sb-cal-nav:hover{background:var(--sbb-accent);color:#fff;border-color:var(--sbb-accent);}
.sb-cal-grids{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.sb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.sb-cal-dow{font-family:var(--sbb-sans);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--sbb-muted);text-align:center;padding:4px 0;}
.sb-cal-day{-webkit-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;font-family:var(--sbb-sans);font-size:13px;color:var(--sbb-ink);aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;transition:background .2s,color .2s;}
.sb-cal-day:hover:not(:disabled){background:rgba(180,126,110,.18);}
.sb-cal-day:disabled{color:#cdc5ba;cursor:default;}
.sb-cal-day.is-empty{visibility:hidden;cursor:default;}
.sb-cal-day.in-range{background:rgba(180,126,110,.16);}
.sb-cal-day.range-start,.sb-cal-day.range-end{background:var(--sbb-accent);color:#fff;font-weight:600;}
.sb-cal-day.range-start{border-radius:50% 0 0 50%;}
.sb-cal-day.range-end{border-radius:0 50% 50% 0;}
.sb-cal-day.range-start.range-end{border-radius:50%;}
.sb-cal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--sbb-line);}
.sb-cal-summary{font-family:var(--sbb-sans);font-size:13px;color:var(--sbb-muted);}
.sb-dates-done{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;background:var(--sbb-accent);color:#fff;font-family:var(--sbb-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:11px 26px;transition:background .3s;}
.sb-dates-done:hover{background:var(--sbb-accent-deep);}
