/*
 * Juanje The Barber · Bookly skin 1.6.7
 * This CSS runs only inside the booking iframe. No Bookly templates, events,
 * pagination, columns, or booking data are changed.
 *
 * Bookly creates and measures the calendar and time columns dynamically.
 * Never force display:grid on .bookly-columnizer or reposition its children.
 */
html {
  width:100%; min-height:0!important; height:auto!important;
  margin:0!important; padding:0!important; overflow-x:hidden;
  background:transparent!important;
}
body.jtb-bookly-embed {
  --jtb-b-canvas:#f5f0e6; /* same surface as the parent booking panel */
  --jtb-b-panel:#fbf7eb;
  --jtb-b-panel-soft:#f1e9da;
  --jtb-b-input:#fffdf8;
  --jtb-b-text:#242424;
  --jtb-b-muted:#665e51;
  --jtb-b-accent:#9b7840;
  --jtb-b-accent-on:#ffffff;
  --jtb-b-line:#d8d1c0;
  --jtb-b-line-strong:#baa887;
  --jtb-b-hover:#eee5d5;
  --jtb-b-radius:9px;
  --jtb-b-font:Arial,Helvetica,sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  width:100%; min-height:0!important; height:auto!important;
  margin:0!important; padding:0!important;
  background:var(--jtb-b-canvas)!important;
  color:var(--jtb-b-text)!important;
  font:14px/1.55 var(--jtb-b-font);
}
body.jtb-bookly-embed.jtb-bookly-dark {
  --jtb-b-canvas:#1a1b17;
  --jtb-b-panel:#22231d;
  --jtb-b-panel-soft:#292b25;
  --jtb-b-input:#24251f;
  --jtb-b-text:#eee9de;
  --jtb-b-muted:#b8b1a1;
  --jtb-b-accent:#c8ab78;
  --jtb-b-accent-on:#111210;
  --jtb-b-line:#454337;
  --jtb-b-line-strong:#766950;
  --jtb-b-hover:#2a2b24;
  color-scheme:dark;
}
body.jtb-bookly-embed.jtb-bookly-street {
  --jtb-b-canvas:#191919;
  --jtb-b-panel:#22211e;
  --jtb-b-panel-soft:#2b2924;
  --jtb-b-input:#23221f;
  --jtb-b-text:#f5efdf;
  --jtb-b-muted:#bdb5a5;
  --jtb-b-accent:#c8ab78;
  --jtb-b-accent-on:#101010;
  --jtb-b-line:#4b463c;
  --jtb-b-line-strong:#766950;
  --jtb-b-hover:#2b2924;
  --jtb-b-radius:1px;
  color-scheme:dark;
}
/* Later on purpose: street-light must override any older street selectors. */
body.jtb-bookly-embed.jtb-bookly-street-light {
  --jtb-b-canvas:#f5efe2;
  --jtb-b-panel:#fffcf5;
  --jtb-b-panel-soft:#ede2ce;
  --jtb-b-input:#fffcf5;
  --jtb-b-text:#3e3027;
  --jtb-b-muted:#655649;
  --jtb-b-accent:#68452f;
  --jtb-b-accent-on:#fbf7eb;
  --jtb-b-line:#c3b298;
  --jtb-b-line-strong:#a88a69;
  --jtb-b-hover:#ede2ce;
  --jtb-b-radius:1px;
  color-scheme:light;
}
.jtb-bookly-embed #wpadminbar { display:none!important; }
.jtb-bookly-embed .jtb-embed-root {
  display:flow-root;
  width:100%; max-width:100%; padding:2px 1px 8px;
  box-sizing:border-box;
}
.jtb-bookly-embed .jtb-embed-root *,
.jtb-bookly-embed .jtb-embed-root *::before,
.jtb-bookly-embed .jtb-embed-root *::after { box-sizing:border-box; }

/* A single canvas, not a second white card inside the theme's own card. */
.jtb-bookly-embed .bookly-form {
  --bookly-main-color:var(--jtb-b-accent)!important;
  width:100%!important; min-width:0!important; max-width:100%!important;
  margin:0!important; padding:0!important;
  border:0!important; border-radius:0!important; box-shadow:none!important;
  background:transparent!important; color:var(--jtb-b-text)!important;
  font:14px/1.55 var(--jtb-b-font)!important;
}
.jtb-bookly-embed .bookly-form :is(
  label,input,select,textarea,button,p,h1,h2,h3,h4,h5,.bookly-box,
  .bookly-btn,.bookly-progress-tracker
) { font-family:var(--jtb-b-font)!important; }
.jtb-bookly-embed .bookly-form :is(h1,h2,h3,h4,h5,p,.bookly-box,span) { color:inherit; }
.jtb-bookly-embed .bookly-form :is(.bookly-box,.bookly-table,.bookly-form-group) {
  min-width:0; max-width:100%;
}
.jtb-bookly-embed .bookly-form .bookly-form-group > label {
  display:block; margin-bottom:9px!important;
  color:var(--jtb-b-text)!important; font-size:13px!important; font-weight:700!important;
}
.jtb-bookly-embed .bookly-form :is(
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="number"],input[type="password"],select,textarea
) {
  max-width:100%!important; min-width:0!important; min-height:48px!important;
  padding:12px 14px!important; border:1px solid var(--jtb-b-line)!important;
  border-radius:var(--jtb-b-radius)!important;
  background:var(--jtb-b-input)!important; color:var(--jtb-b-text)!important;
  font-size:14px!important; line-height:1.45!important;
  box-shadow:none!important;
}
.jtb-bookly-embed .bookly-form select { width:100%!important; }
.jtb-bookly-embed .bookly-form option { color:var(--jtb-b-text); background:var(--jtb-b-input); }
.jtb-bookly-embed .bookly-form :is(input,textarea)::placeholder {
  color:var(--jtb-b-muted)!important; opacity:1;
}
.jtb-bookly-embed .bookly-form :is(input[type="checkbox"],input[type="radio"]) {
  accent-color:var(--jtb-b-accent);
}
.jtb-bookly-embed .bookly-form :is(input,select,textarea,button,a,.bookly-btn):focus-visible {
  outline:2px solid var(--jtb-b-accent)!important; outline-offset:3px;
}
.jtb-bookly-embed .bookly-label-error { color:#c64a3e!important; }
.jtb-bookly-embed .bookly-form .bookly-error { border-color:#c64a3e!important; }
.jtb-bookly-embed .bookly-form img,
.jtb-bookly-embed .bookly-form iframe { max-width:100%; }
.jtb-bookly-embed .bookly-form a { color:var(--jtb-b-accent); }

/* Bookly steps and primary navigation. */
.jtb-bookly-embed .bookly-form .bookly-progress-tracker {
  display:flex!important; flex-wrap:wrap!important; gap:10px!important;
  margin:0 0 30px!important; padding:0 0 4px!important;
  background:transparent!important;
}
.jtb-bookly-embed .bookly-form .bookly-progress-tracker > div {
  flex:1 1 100px!important; float:none!important; width:auto!important;
  min-width:0!important; font-size:11px!important; font-weight:700!important;
  color:var(--jtb-b-muted)!important;
}
.jtb-bookly-embed .bookly-form .bookly-progress-tracker > div .step {
  height:4px!important; margin-top:10px!important;
  background:var(--jtb-b-line)!important; border-radius:99px!important;
}
.jtb-bookly-embed .bookly-form .bookly-progress-tracker > .active { color:var(--jtb-b-accent)!important; }
.jtb-bookly-embed .bookly-form .bookly-progress-tracker > .active .step { background:var(--jtb-b-accent)!important; }
/* Hide the duplicate ring progress UI on narrow screens. */
.jtb-bookly-embed .bookly-form ol.bookly-stepper { display:none!important; }
.jtb-bookly-embed .bookly-form :is(.bookly-nav,.bookly-nav-steps) {
  border-color:var(--jtb-b-line)!important;
  margin-top:27px!important; padding-top:21px!important;
}
.jtb-bookly-embed .bookly-form :is(button,.bookly-btn) {
  min-height:46px!important; padding:12px 20px!important;
  background:var(--jtb-b-accent)!important;
  color:var(--jtb-b-accent-on)!important;
  border:1px solid var(--jtb-b-accent)!important;
  border-radius:var(--jtb-b-radius)!important;
  box-shadow:none!important; text-shadow:none!important;
  font-size:13px!important; font-weight:700!important;
  line-height:1.3!important; text-transform:none!important;
}
.jtb-bookly-embed .bookly-form :is(button,.bookly-btn) :is(span,b) {
  color:inherit!important; font:inherit!important;
}
.jtb-bookly-embed .bookly-form :is(button,.bookly-btn):disabled {
  opacity:.50!important; cursor:not-allowed!important;
}
.jtb-bookly-embed .bookly-form :is(.bookly-back-step,.bookly-back-button) {
  background:transparent!important; color:var(--jtb-b-text)!important;
  border-color:var(--jtb-b-line-strong)!important;
}

/* Calendar: use the full left part of the booking area, not a tiny widget. */
.jtb-bookly-embed .bookly-form .bookly-slot-calendar {
  float:left!important;
  width:clamp(290px,40%,390px)!important;
  max-width:100%!important; min-width:0!important;
  margin:0 28px 20px 0!important; padding:22px!important;
  background:var(--jtb-b-panel)!important;
  border:1px solid var(--jtb-b-line)!important;
  border-radius:calc(var(--jtb-b-radius) + 1px)!important;
  box-shadow:none!important;
}
.jtb-bookly-embed .bookly-slot-calendar :is(.picker,.picker__holder,.picker__frame,.picker__wrap,.picker__box) {
  width:100%!important; max-width:100%!important; min-width:0!important;
  background:transparent!important; color:var(--jtb-b-text)!important;
  border:0!important; border-radius:0!important;
  outline:0!important; box-shadow:none!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__holder {
  padding:0!important; overflow:visible!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__box { padding:0!important; }
.jtb-bookly-embed .bookly-slot-calendar .picker__header {
  position:relative; min-height:46px!important;
  margin:0 0 16px!important; padding:10px 40px!important;
  border-bottom:1px solid var(--jtb-b-line)!important;
  background:transparent!important; color:var(--jtb-b-text)!important;
}
.jtb-bookly-embed .bookly-slot-calendar :is(.picker__month,.picker__year) {
  margin:0 3px!important; color:var(--jtb-b-text)!important;
  font:700 15px/24px var(--jtb-b-font)!important;
}
.jtb-bookly-embed .bookly-slot-calendar :is(.picker__nav--prev,.picker__nav--next) {
  top:6px!important; width:34px!important; height:34px!important;
  padding:8px!important; border:1px solid var(--jtb-b-line)!important;
  background:var(--jtb-b-panel-soft)!important;
  border-radius:var(--jtb-b-radius)!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__nav--prev { left:0!important; }
.jtb-bookly-embed .bookly-slot-calendar .picker__nav--next { right:0!important; }
.jtb-bookly-embed .bookly-slot-calendar .picker__nav--prev::before { border-right-color:var(--jtb-b-accent)!important; }
.jtb-bookly-embed .bookly-slot-calendar .picker__nav--next::before { border-left-color:var(--jtb-b-accent)!important; }
.jtb-bookly-embed .bookly-slot-calendar .picker__table {
  width:100%!important; margin:0!important; table-layout:fixed!important;
  border:0!important; border-collapse:separate!important;
  border-spacing:3px!important; background:transparent!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__table :is(th,td) {
  padding:0!important; border:0!important;
  background:transparent!important; text-align:center!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__weekday {
  color:var(--jtb-b-muted)!important; font:600 11px/34px var(--jtb-b-font)!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__day {
  min-height:36px!important; padding:0!important;
  border:1px solid transparent!important;
  border-radius:var(--jtb-b-radius)!important;
  background:transparent!important; color:var(--jtb-b-text)!important;
  font:500 13px/36px var(--jtb-b-font)!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__day--outfocus {
  color:var(--jtb-b-muted)!important; opacity:.55;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__day--today::before {
  border-top-color:var(--jtb-b-accent)!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__day:not(.picker__day--disabled):hover {
  border-color:var(--jtb-b-line-strong)!important;
  background:var(--jtb-b-hover)!important;
}
.jtb-bookly-embed .bookly-slot-calendar :is(
  .picker__day--selected,.picker__day--highlighted,.picker__day--selected:hover
) {
  background:var(--jtb-b-accent)!important;
  border-color:var(--jtb-b-accent)!important;
  color:var(--jtb-b-accent-on)!important; font-weight:700!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__day--disabled {
  opacity:.40!important; cursor:not-allowed!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__footer {
  padding:0!important; background:transparent!important; border:0!important;
}
.jtb-bookly-embed .bookly-slot-calendar .picker__nav--disabled {
  opacity:.30; pointer-events:none;
}
/* Bookly may use buttons for date controls. Override the CTA rule narrowly. */
.jtb-bookly-embed .bookly-form .bookly-slot-calendar button {
  min-height:34px!important; height:auto!important; padding:5px!important;
  font:500 13px/24px var(--jtb-b-font)!important;
  box-shadow:none!important; text-transform:none!important;
}
.jtb-bookly-embed .bookly-form .bookly-slot-calendar :is(
  .bookly-calendar-left-button-mark,.bookly-calendar-middle-button-mark,
  .bookly-calendar-right-button-mark
) {
  background:transparent!important; color:var(--jtb-b-text)!important;
  border:0!important;
}

/* Booking slots: let Bookly control its columns and dynamic pagination. */
.jtb-bookly-embed .bookly-form .bookly-time-step {
  min-width:0; max-width:100%!important;
  margin:0!important; padding:0!important;
  background:transparent!important;
  border:0!important; border-radius:0!important;
  box-shadow:none!important;
}
.jtb-bookly-embed .bookly-form .bookly-slot-calendar ~ .bookly-time-step {
  /* A visual companion to the date picker; keep Bookly's time-column DOM intact. */
  display:flow-root!important;
  margin:0 0 20px!important;
  padding:22px!important;
  background:var(--jtb-b-panel)!important;
  border:1px solid var(--jtb-b-line)!important;
  border-radius:calc(var(--jtb-b-radius) + 1px)!important;
}

.jtb-bookly-embed .bookly-form .bookly-columnizer {
  max-width:100%!important;
  /* Do not set display, width, or grid-template-columns here. */
}
.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-day {
  height:auto!important; min-height:24px!important;
  padding:0 0 9px!important; border:0!important;
  border-radius:0!important; background:transparent!important;
  color:var(--jtb-b-accent)!important;
  font:700 12px/22px var(--jtb-b-font)!important;
}
.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour {
  min-height:46px!important;
  padding:11px 12px!important;
  border:1px solid var(--jtb-b-line)!important;
  border-radius:var(--jtb-b-radius)!important;
  background:var(--jtb-b-panel)!important;
  color:var(--jtb-b-text)!important;
  font:600 13px/22px var(--jtb-b-font)!important;
  text-align:center!important;
  box-shadow:none!important; transition:background .16s,border-color .16s,color .16s;
}
.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour :is(.ladda-label,.bookly-time-main) {
  color:inherit!important; font:inherit!important;
}
.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour .bookly-hour-icon {
  display:none!important;
}
.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour:is(.active,:hover):not(:disabled):not(.booked) {
  background:var(--jtb-b-accent)!important;
  border-color:var(--jtb-b-accent)!important;
  color:var(--jtb-b-accent-on)!important;
}
.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour:is(:disabled,.booked) {
  opacity:.42!important; cursor:not-allowed!important;
}
.jtb-bookly-embed .bookly-not-time-screen { background:transparent!important; }

@media (min-width:930px) {
  /* Desktop: premium two-panel composition, closer to the approved reference.
     Calendar and times share nearly the same visual weight. */
  .jtb-bookly-embed .bookly-form .bookly-slot-calendar {
    float:left!important;
    width:calc(50% - 16px)!important;
    max-width:none!important;
    min-height:438px!important;
    margin:0 32px 20px 0!important;
  }
  .jtb-bookly-embed .bookly-form .bookly-slot-calendar ~ .bookly-time-step {
    float:right!important;
    width:calc(50% - 16px)!important;
    min-height:438px!important;
    margin:0 0 20px!important;
  }
  .jtb-bookly-embed .bookly-form .bookly-not-time-screen {
    margin-left:0!important;
  }
}
@media (max-width:720px) {
  .jtb-bookly-embed .bookly-form .bookly-slot-calendar {
    float:none!important; width:100%!important;
    margin:0 0 20px!important; padding:16px!important;
  }
  .jtb-bookly-embed .bookly-form .bookly-time-step {
    float:none!important; clear:both!important; width:100%!important;
  }
  .jtb-bookly-embed .bookly-form .bookly-slot-calendar ~ .bookly-time-step {
    float:none!important; min-height:0!important; padding:16px!important;
  }
  .jtb-bookly-embed .bookly-form .bookly-not-time-screen {
    margin-left:0!important; height:auto!important; min-height:64px;
  }
}
@media (max-width:600px) {
  .jtb-bookly-embed .bookly-form .bookly-progress-tracker { gap:7px!important; }
  .jtb-bookly-embed .bookly-form .bookly-progress-tracker > div {
    flex-basis:74px!important; font-size:10px!important;
  }
  .jtb-bookly-embed .bookly-form :is(input,select,textarea) { font-size:16px!important; }
  .jtb-bookly-embed .bookly-form .bookly-nav-steps {
    display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  }
}
@media (prefers-reduced-motion:reduce) {
  .jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour { transition:none; }
}
/* 1.7: preserve Bookly's columns and paging, expose overflow within the panel. */
.jtb-bookly-embed .bookly-form .bookly-time-step { box-sizing:border-box!important; max-width:100%!important; }
.jtb-bookly-embed .bookly-form .bookly-columnizer-wrap { overflow-x:auto!important; overflow-y:hidden!important; height:auto!important; max-width:100%; scrollbar-width:thin; scrollbar-color:var(--jtb-b-accent) var(--jtb-b-panel); padding-bottom:12px; }
.jtb-bookly-embed .bookly-form .bookly-columnizer { max-width:none!important; }
.jtb-bookly-embed .bookly-form .bookly-time-screen { vertical-align:top; }
.jtb-bookly-embed .jtb-slot-controls { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0 0 14px; color:var(--jtb-b-text); font:500 12px/1.4 sans-serif; }
.jtb-bookly-embed .jtb-slot-controls[hidden] { display:none!important; }
.jtb-bookly-embed .jtb-slot-controls button { min-width:40px; min-height:40px; border:1px solid var(--jtb-b-line); border-radius:8px; background:var(--jtb-b-panel); color:var(--jtb-b-text); cursor:pointer; }
.jtb-bookly-embed .jtb-slot-controls button:disabled { opacity:.35; cursor:default; }
.jtb-bookly-embed .bookly-form :is(.iti,.intl-tel-input) { width:100%!important; }
.jtb-bookly-embed .bookly-form :is(.iti,.intl-tel-input) input { padding-left:80px!important; text-align:left!important; direction:ltr; }
.jtb-bookly-embed .jtb-field-error { display:block; color:#b52626; background:#fff1ec; border-radius:6px; padding:8px 10px; margin:6px 0; font:500 13px/1.5 sans-serif; }
.jtb-bookly-embed .jtb-field-error:empty { display:none; }
.jtb-bookly-embed .bookly-form input[aria-invalid=true] { border-color:#b52626!important; }
@media (min-width:721px) and (max-width:929px) {
 .jtb-bookly-embed .bookly-form .bookly-slot-calendar { float:none!important; width:100%!important; margin:0 0 20px!important; }
 .jtb-bookly-embed .bookly-form .bookly-slot-calendar ~ .bookly-time-step { float:none!important; width:100%!important; }
}
/* Compact hour buttons. */

.jtb-bookly-embed .bookly-form .bookly-columnizer .bookly-hour { min-height:40px!important; padding:8px 10px!important; margin-bottom:6px!important; }
.jtb-bookly-embed .jtb-slot-controls button { width:40px!important; min-width:40px!important; height:40px!important; min-height:40px!important; padding:0!important; }
.jtb-bookly-embed .jtb-slot-controls { font-size:12px!important; }
@media(min-width:930px){
 .jtb-bookly-embed .bookly-form .bookly-slot-calendar,
 .jtb-bookly-embed .bookly-form .bookly-slot-calendar ~ .bookly-time-step { height:auto!important; min-height:438px!important; box-sizing:border-box!important; }
 .jtb-bookly-embed .bookly-form .bookly-slot-calendar ~ .bookly-time-step { padding:22px!important; }
}


/* 1.7.2: full-height columns, no scrollbars; horizontal dragging or arrows. */
.jtb-bookly-embed .bookly-form .bookly-columnizer-wrap {
 overflow:hidden!important; height:auto!important; max-height:none!important;
 padding-bottom:0!important; scrollbar-width:none!important; touch-action:pan-y; cursor:grab;
}
.jtb-bookly-embed .bookly-form .bookly-columnizer-wrap::-webkit-scrollbar { display:none!important; }
.jtb-bookly-embed .bookly-form .bookly-columnizer-wrap.is-dragging,
.jtb-bookly-embed .bookly-form .bookly-columnizer-wrap.is-dragging * { cursor:grabbing!important; user-select:none!important; }
