.kwa-booking{
  --kwa-ink:#151826;--kwa-muted:#6b7280;--kwa-line:#e7e9f0;--kwa-soft:#f8fafc;--kwa-white:#fff;
  --kwa-primary:#5b4fe9;--kwa-primary-strong:#4338ca;--kwa-primary-soft:#f1efff;
  --kwa-teal:#0f9f8f;--kwa-teal-soft:#eaf9f5;--kwa-coral:#f26d5b;--kwa-coral-soft:#fff2ef;
  --kwa-shadow:0 16px 48px rgba(22,27,45,.08);
  width:100vw;max-width:none;margin:44px 0 96px;margin-left:calc(50% - 50vw);padding:0 var(--kwa-outer-space,30px);
  position:relative;font-family:var(--kwa-font,'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);color:var(--kwa-ink)
}
@supports(color:color-mix(in srgb,#000 10%,#fff)){.kwa-booking{--kwa-primary-soft:color-mix(in srgb,var(--kwa-primary) 9%,white);--kwa-teal-soft:color-mix(in srgb,var(--kwa-teal) 10%,white);--kwa-coral-soft:color-mix(in srgb,var(--kwa-coral) 10%,white)}}
.kwa-booking *{box-sizing:border-box}.kwa-booking button,.kwa-booking input,.kwa-booking select,.kwa-booking textarea{font:inherit}.kwa-booking [hidden]{display:none!important}
.kwa-booking-head,.kwa-booking-form,.kwa-booking-result,.kwa-booking-empty{width:min(var(--kwa-max-width,1380px),100%);margin-left:auto;margin-right:auto}
.kwa-booking-head{margin-bottom:22px}.kwa-booking-head h2{margin:7px 0 8px;font-size:clamp(32px,3.2vw,48px);line-height:1.03;letter-spacing:-.035em}.kwa-booking-head p{margin:0;color:var(--kwa-muted);font-size:15px;line-height:1.55}.kwa-booking-eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:var(--kwa-coral)}.kwa-booking-eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--kwa-coral);box-shadow:0 0 0 4px var(--kwa-coral-soft)}
.kwa-booking-form{display:grid;gap:24px}.kwa-selection-card,.kwa-scheduler-card,.kwa-customer-step{background:var(--kwa-white);border:1px solid var(--kwa-line);border-radius:16px;box-shadow:var(--kwa-shadow);overflow:hidden}.kwa-selection-card{padding:22px 24px;width:min(1020px,100%);margin:0 auto}.kwa-scheduler-card{padding:0;width:100%}.kwa-customer-step{padding:28px;width:min(1020px,100%);margin:0 auto}
.kwa-section-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}.kwa-section-title>span{display:flex;align-items:center;justify-content:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:linear-gradient(135deg,var(--kwa-primary),var(--kwa-primary-strong));color:#fff;font-weight:800;box-shadow:0 6px 16px rgba(91,79,233,.20)}.kwa-section-title>div{display:grid;gap:1px}.kwa-section-title strong{font-size:16px}.kwa-section-title small{font-size:12px;color:var(--kwa-muted);font-weight:400}
.kwa-selection-card{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(0,2.1fr);align-items:center;gap:22px}.kwa-selection-card .kwa-section-title{margin:0}.kwa-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kwa-selector-grid label,.kwa-customer-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.kwa-booking select,.kwa-booking input,.kwa-booking textarea{width:100%;min-height:45px;border:1px solid #d8dbe4;border-radius:9px;padding:9px 11px;background:#fff;color:var(--kwa-ink);outline:none;transition:border-color .15s,box-shadow .15s}.kwa-booking select:focus,.kwa-booking input:focus,.kwa-booking textarea:focus{border-color:var(--kwa-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--kwa-primary) 10%,transparent)}.kwa-booking select:disabled{background:#f6f7f9;color:#9aa0aa}.kwa-booking textarea{min-height:105px;resize:vertical}
.kwa-scheduler-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 28px 20px}.kwa-scheduler-topbar .kwa-section-title{margin:0}.kwa-view-switcher{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--kwa-line);border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(22,27,45,.04)}.kwa-view-switcher button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#7b8292;cursor:pointer;transition:.15s}.kwa-view-switcher button:hover{background:var(--kwa-primary-soft);color:var(--kwa-primary)}.kwa-view-switcher button.is-active{background:var(--kwa-primary);color:#fff;box-shadow:0 5px 13px color-mix(in srgb,var(--kwa-primary) 25%,transparent)}.kwa-view-switcher svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kwa-scheduler-grid{display:grid;grid-template-columns:320px minmax(0,1fr);border-top:1px solid var(--kwa-line);min-height:600px;background:#fff}.kwa-booking-summary{padding:28px;background:#fff;border-right:1px solid var(--kwa-line);display:flex;flex-direction:column;gap:17px}.kwa-summary-brand{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--kwa-muted)}.kwa-summary-brand strong{font-size:12px;color:#454b5d}.kwa-summary-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--kwa-primary),var(--kwa-primary-strong));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10px;letter-spacing:.03em;box-shadow:0 7px 16px color-mix(in srgb,var(--kwa-primary) 22%,transparent)}.kwa-summary-service-block small{display:block;color:var(--kwa-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.kwa-booking-summary h3{margin:5px 0 8px;font-size:25px;line-height:1.15;letter-spacing:-.03em}.kwa-summary-service-block p{margin:0;color:#596174;font-size:13px;line-height:1.48;max-height:130px;overflow:auto;padding-right:4px}.kwa-summary-facts{display:grid;gap:11px;margin:0;padding-top:4px}.kwa-summary-facts>div{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:start}.kwa-summary-facts dt{color:#71798c;font-size:13px;line-height:1.35}.kwa-summary-facts dd{margin:0;font-size:13px;font-weight:600;line-height:1.4}.kwa-live-note{margin-top:auto;padding-top:15px;border-top:1px solid var(--kwa-line);font-size:10px;line-height:1.45;color:var(--kwa-muted)}.kwa-live-note span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--kwa-teal);margin-right:6px;box-shadow:0 0 0 4px var(--kwa-teal-soft)}
.kwa-schedule-stage{min-width:0;background:#fff}.kwa-view-panel{height:100%}.kwa-view-month{display:grid;grid-template-columns:minmax(500px,1fr) 310px;min-height:600px}.kwa-calendar-panel,.kwa-slots-panel{padding:30px}.kwa-calendar-panel{min-width:0;background:#fff}.kwa-slots-panel{border-left:1px solid var(--kwa-line);background:#fff}.kwa-calendar-toolbar{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:20px}.kwa-calendar-toolbar strong{text-align:center;font-size:18px;letter-spacing:-.015em}.kwa-calendar-nav{width:34px;height:34px;border:1px solid #e0e3ec;border-radius:9px;background:#fff;color:var(--kwa-primary);cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}.kwa-calendar-nav:hover:not(:disabled){background:var(--kwa-primary-soft);border-color:color-mix(in srgb,var(--kwa-primary) 24%,#e0e3ec)}.kwa-calendar-nav:disabled{opacity:.28;cursor:not-allowed}.kwa-calendar-weekdays,.kwa-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.kwa-calendar-weekdays{margin-bottom:8px}.kwa-calendar-weekdays span{text-align:center;color:#7d8492;font-size:10px;font-weight:800;letter-spacing:.06em}.kwa-calendar-grid{min-height:350px;align-content:start}.kwa-calendar-day,.kwa-calendar-blank{aspect-ratio:1/1;min-width:0}.kwa-calendar-day{position:relative;border:0;border-radius:11px;background:transparent;color:#a4a9b2;cursor:not-allowed;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:.15s}.kwa-calendar-day.is-available{background:var(--kwa-teal-soft);color:var(--kwa-teal);cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--kwa-teal) 18%,transparent)}.kwa-calendar-day.is-available:hover{filter:brightness(.98);transform:translateY(-1px)}.kwa-calendar-day.is-selected{background:var(--kwa-primary)!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--kwa-primary) 25%,transparent)!important}.kwa-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #a8afbc}.kwa-day-dot{position:absolute;bottom:8px;width:5px;height:5px;border-radius:50%;background:var(--kwa-teal)}.kwa-calendar-day.is-selected .kwa-day-dot{background:#fff}.kwa-calendar-status{min-height:20px;margin-top:16px;text-align:center;color:var(--kwa-muted);font-size:11px}.kwa-calendar-loading{grid-column:1/-1;min-height:300px;display:flex;align-items:center;justify-content:center;gap:6px}.kwa-calendar-loading span{width:7px;height:7px;border-radius:50%;background:#9da3ad;animation:kwaPulse 1s infinite ease-in-out}.kwa-calendar-loading span:nth-child(2){animation-delay:.12s}.kwa-calendar-loading span:nth-child(3){animation-delay:.24s}@keyframes kwaPulse{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.kwa-calendar-error{grid-column:1/-1;min-height:220px;display:flex;align-items:center;justify-content:center;text-align:center;color:#a23232;font-size:13px}.kwa-view-loading{padding:40px;text-align:center;color:var(--kwa-muted)}
.kwa-slots-title{display:grid;gap:3px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid #f0e7e4}.kwa-slots-title small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--kwa-coral);font-weight:800}.kwa-slots-title strong{font-size:14px;line-height:1.35}.kwa-public-slots{display:grid;gap:10px}.kwa-public-slot{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:13px 10px;border:1px solid #dfe2ea;border-radius:9px;background:#fff;color:#272a36;cursor:pointer;transition:.15s;box-shadow:0 2px 7px rgba(34,39,58,.03)}.kwa-public-slot:hover{border-color:var(--kwa-primary);background:var(--kwa-primary-soft);color:var(--kwa-primary-strong);transform:translateY(-1px)}.kwa-public-slot.is-selected{border-color:var(--kwa-primary);background:var(--kwa-primary);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--kwa-primary) 24%,transparent)}.kwa-public-slot strong{font-size:15px}.kwa-public-slot small{font-size:10px;opacity:.66}.kwa-muted-public{display:block;color:var(--kwa-muted);font-size:12px;line-height:1.5;padding:8px 0}.kwa-inline-loading{color:var(--kwa-muted);font-size:12px}
.kwa-view-week,.kwa-view-list{padding:28px;min-height:600px}.kwa-week-toolbar{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:16px}.kwa-week-toolbar strong{text-align:center;font-size:16px}.kwa-week-toolbar button{width:34px;height:34px;border:1px solid var(--kwa-line);border-radius:9px;background:#fff;color:var(--kwa-primary);font-size:22px;cursor:pointer}.kwa-week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:12px;overflow-x:auto;padding:2px 2px 12px}.kwa-week-day{min-width:145px;border:1px solid var(--kwa-line);border-radius:12px;background:#fff;overflow:hidden}.kwa-week-day-head{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;background:#fbfcfe;border-bottom:1px solid var(--kwa-line)}.kwa-week-day-head small{text-transform:uppercase;color:var(--kwa-muted);font-size:9px;font-weight:800}.kwa-week-day-head strong{font-size:16px}.kwa-week-day-slots{display:grid;gap:7px;padding:10px;min-height:160px;align-content:start}.kwa-week-day-slots .kwa-public-slot{padding:9px 6px}.kwa-week-unavailable{font-size:10px;color:#a5aab4;text-align:center;padding:12px 2px}.kwa-load-day{width:100%;min-height:38px;border:1px solid color-mix(in srgb,var(--kwa-teal) 24%,#dfe2ea);border-radius:8px;background:var(--kwa-teal-soft);color:var(--kwa-teal);font-weight:700;font-size:11px;cursor:pointer}.kwa-load-day:hover{filter:brightness(.98)}
.kwa-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--kwa-line);margin-bottom:4px}.kwa-list-head strong{text-transform:capitalize;font-size:17px}.kwa-list-head span{font-size:11px;color:var(--kwa-muted)}.kwa-list-days{display:grid}.kwa-list-day{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start;padding:16px 0;border-bottom:1px solid var(--kwa-line)}.kwa-list-date{display:grid;gap:3px}.kwa-list-date strong{text-transform:capitalize;font-size:14px}.kwa-list-date span{font-size:11px;color:var(--kwa-muted)}.kwa-list-slots{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px}.kwa-list-slots .kwa-load-day{grid-column:1/-1;max-width:220px;white-space:nowrap}.kwa-list-slots .kwa-public-slot{padding:10px 8px}
.kwa-customer-shell{max-width:900px}.kwa-customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kwa-span-2{grid-column:span 2}.kwa-public-phone{display:grid;grid-template-columns:165px 1fr;gap:8px}.kwa-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.kwa-booking-submit,.kwa-secondary-button{min-height:46px;padding:10px 18px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}.kwa-booking-submit{border:1px solid var(--kwa-primary);background:linear-gradient(135deg,var(--kwa-primary),var(--kwa-primary-strong));color:#fff;min-width:190px;box-shadow:0 8px 18px color-mix(in srgb,var(--kwa-primary) 22%,transparent)}.kwa-booking-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}.kwa-booking-submit:disabled{opacity:.5;cursor:wait}.kwa-secondary-button{border:1px solid #dcdff0;background:var(--kwa-primary-soft);color:var(--kwa-primary)}.kwa-secondary-button:hover{filter:brightness(.98)}
.kwa-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.kwa-booking-result,.kwa-booking-empty{padding:34px;border-radius:16px;border:1px solid var(--kwa-line);background:#fff;text-align:center;box-shadow:var(--kwa-shadow)}.kwa-booking-result strong{display:block;font-size:24px}.kwa-booking-result p{margin:8px auto 0;max-width:560px;color:var(--kwa-muted)}.kwa-booking-result.is-success{background:var(--kwa-teal-soft);border-color:color-mix(in srgb,var(--kwa-teal) 25%,#fff)}.kwa-booking-result.is-error{background:#fff5f5;border-color:#efc5c8}.kwa-result-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--kwa-teal);color:#fff;font-size:25px;font-weight:800}
@media(max-width:1200px){.kwa-booking{padding:0 22px}.kwa-scheduler-grid{grid-template-columns:280px minmax(0,1fr)}.kwa-view-month{grid-template-columns:minmax(400px,1fr) 260px}.kwa-calendar-panel,.kwa-slots-panel{padding:24px}.kwa-week-grid{grid-template-columns:repeat(7,minmax(135px,1fr))}.kwa-list-day{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:900px){.kwa-booking{padding:0 16px;margin-top:24px}.kwa-booking-head h2{font-size:34px}.kwa-selection-card{grid-template-columns:1fr}.kwa-selection-card .kwa-section-title{margin-bottom:2px}.kwa-selector-grid{grid-template-columns:1fr}.kwa-scheduler-topbar{align-items:flex-start}.kwa-scheduler-grid{display:block;min-height:0}.kwa-booking-summary{border-right:0;border-bottom:1px solid var(--kwa-line);min-height:0}.kwa-live-note{margin-top:6px}.kwa-view-month{grid-template-columns:1fr}.kwa-slots-panel{border-left:0;border-top:1px solid var(--kwa-line)}.kwa-public-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.kwa-view-week,.kwa-view-list{min-height:0}.kwa-week-grid{grid-template-columns:repeat(7,130px)}.kwa-list-day{grid-template-columns:1fr}.kwa-list-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.kwa-customer-grid{grid-template-columns:1fr}.kwa-span-2{grid-column:auto}.kwa-public-phone{grid-template-columns:1fr}.kwa-form-actions{flex-direction:column-reverse;align-items:stretch}.kwa-booking-submit,.kwa-secondary-button{width:100%}}
@media(max-width:560px){.kwa-booking{padding:0 10px}.kwa-booking-head h2{font-size:30px}.kwa-scheduler-topbar{flex-direction:column}.kwa-view-switcher{align-self:flex-end}.kwa-calendar-weekdays,.kwa-calendar-grid{gap:5px}.kwa-calendar-day{font-size:13px;border-radius:9px}.kwa-booking-summary,.kwa-calendar-panel,.kwa-slots-panel,.kwa-view-week,.kwa-view-list{padding:18px}.kwa-public-slots,.kwa-list-slots{grid-template-columns:1fr}.kwa-week-grid{grid-template-columns:repeat(7,120px)}}

/* v0.14.1 — largura e margens configuráveis */
.kwa-selection-card,.kwa-scheduler-card,.kwa-customer-step{scroll-margin-top:24px}
.kwa-scheduler-card{margin-top:2px}
.kwa-view-switcher{margin-left:12px}
@media(min-width:901px){.kwa-booking-head{padding-inline:4px}.kwa-scheduler-card{border-radius:18px}.kwa-selection-card{border-radius:18px}}


/* v0.14.2 — estabilidade do layout em contentores estreitos
   O tema pode limitar a largura do conteúdo. A agenda adapta-se ao espaço real
   e só usa 3 colunas quando existe largura suficiente. */
.kwa-booking{
  width:100%!important;
  max-width:var(--kwa-max-width,1380px)!important;
  margin:44px auto 96px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-inline:clamp(10px,2.2vw,var(--kwa-outer-space,30px))!important;
  overflow:visible;
  container-type:inline-size;
  container-name:kwa-booking;
}
.kwa-booking,.kwa-booking button,.kwa-booking input,.kwa-booking select,.kwa-booking textarea,
.kwa-booking h1,.kwa-booking h2,.kwa-booking h3,.kwa-booking h4,.kwa-booking p,.kwa-booking span,
.kwa-booking strong,.kwa-booking small,.kwa-booking label,.kwa-booking dt,.kwa-booking dd{
  font-family:var(--kwa-font,'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)!important;
}
.kwa-booking-head,.kwa-booking-form,.kwa-booking-result,.kwa-booking-empty,
.kwa-selection-card,.kwa-scheduler-card,.kwa-customer-step{
  width:100%!important;
  max-width:100%!important;
}
.kwa-selection-card{grid-template-columns:1fr!important;gap:16px!important}
.kwa-selector-grid{grid-template-columns:1fr!important}
.kwa-scheduler-card,.kwa-scheduler-grid,.kwa-schedule-stage,.kwa-view-panel,.kwa-view-month,
.kwa-calendar-panel,.kwa-slots-panel,.kwa-view-week,.kwa-view-list{min-width:0!important;max-width:100%!important}
.kwa-scheduler-grid{display:block!important;min-height:0!important}
.kwa-booking-summary{border-right:0!important;border-bottom:1px solid var(--kwa-line)!important;min-height:0!important}
.kwa-live-note{margin-top:8px!important}
.kwa-view-month{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
.kwa-calendar-panel,.kwa-slots-panel{padding:clamp(18px,3cqw,30px)!important}
.kwa-slots-panel{border-left:0!important;border-top:1px solid var(--kwa-line)!important}
.kwa-public-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.kwa-calendar-weekdays,.kwa-calendar-grid{gap:clamp(5px,1.2cqw,10px)!important}
.kwa-calendar-grid{min-height:0!important}
.kwa-calendar-day{min-width:0!important}
.kwa-view-week,.kwa-view-list{padding:clamp(18px,3cqw,28px)!important;min-height:0!important;overflow:hidden}
.kwa-week-grid{grid-template-columns:repeat(7,minmax(128px,1fr))!important;overflow-x:auto!important;max-width:100%!important}
.kwa-list-day{grid-template-columns:1fr!important;gap:12px!important}
.kwa-list-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.kwa-scheduler-topbar{padding:18px clamp(18px,3cqw,28px)!important}

@container kwa-booking (min-width: 650px){
  .kwa-selection-card{grid-template-columns:minmax(190px,.8fr) minmax(0,2.2fr)!important;align-items:center!important;gap:22px!important}
  .kwa-selector-grid{grid-template-columns:1fr 1fr!important}
  .kwa-list-day{grid-template-columns:190px minmax(0,1fr)!important;gap:22px!important}
  .kwa-list-slots{grid-template-columns:repeat(2,minmax(120px,1fr))!important}
}

@container kwa-booking (min-width: 820px){
  .kwa-scheduler-grid{display:grid!important;grid-template-columns:245px minmax(0,1fr)!important;min-height:560px!important}
  .kwa-booking-summary{border-right:1px solid var(--kwa-line)!important;border-bottom:0!important}
  .kwa-view-month{grid-template-columns:minmax(0,1fr) 210px!important;min-height:560px!important}
  .kwa-slots-panel{border-left:1px solid var(--kwa-line)!important;border-top:0!important}
  .kwa-public-slots{grid-template-columns:1fr!important}
  .kwa-list-day{grid-template-columns:210px minmax(0,1fr)!important}
  .kwa-list-slots{grid-template-columns:repeat(3,minmax(120px,1fr))!important}
}

@container kwa-booking (min-width: 1080px){
  .kwa-scheduler-grid{grid-template-columns:300px minmax(0,1fr)!important}
  .kwa-view-month{grid-template-columns:minmax(430px,1fr) 280px!important}
  .kwa-calendar-panel,.kwa-slots-panel{padding:30px!important}
  .kwa-list-day{grid-template-columns:240px minmax(0,1fr)!important;gap:28px!important}
}

@container kwa-booking (max-width: 520px){
  .kwa-booking{padding-inline:6px!important}
  .kwa-booking-head h2{font-size:30px!important}
  .kwa-scheduler-topbar{align-items:flex-start!important;gap:12px!important}
  .kwa-view-switcher{margin-left:auto!important}
  .kwa-public-slots,.kwa-list-slots{grid-template-columns:1fr!important}
}

/* v0.16.0 — várias sessões, preço e total */
.kwa-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.kwa-field-help{display:block;margin-top:6px;color:#7b8496;font-size:11px;line-height:1.35;}
.kwa-selected-sessions{margin:18px var(--kwa-outer-space,30px) 0;padding:16px 18px;border:1px solid #e4e7f0;border-radius:14px;background:#fbfcff;}
.kwa-selected-sessions-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.kwa-selected-sessions-head strong{font-size:14px;}
.kwa-selected-sessions-head span{font-weight:800;color:var(--kwa-primary);}
.kwa-selected-sessions-list{display:flex;flex-wrap:wrap;gap:8px;}
.kwa-selected-session-chip{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;border:1px solid #dfe4ee;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(26,32,50,.04);}
.kwa-selected-session-chip span{display:flex;flex-direction:column;gap:2px;}
.kwa-selected-session-chip strong{font-size:12px;}
.kwa-selected-session-chip small{font-size:11px;color:#6f7787;}
.kwa-selected-session-chip button{border:0;background:#f2f4f8;color:#687083;width:24px;height:24px;border-radius:999px;cursor:pointer;font-size:17px;line-height:1;}
.kwa-selected-session-chip button:hover{background:#feecea;color:#b83f32;}
.kwa-order-total{margin-top:18px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#f3f1ff,#eefaf8);border:1px solid #dddafc;display:flex;align-items:center;justify-content:space-between;gap:15px;}
.kwa-order-total span{font-size:13px;color:#5d6678;font-weight:700;}
.kwa-order-total strong{font-size:22px;color:#171c29;}
@media(max-width:900px){.kwa-selector-grid{grid-template-columns:1fr 1fr;}.kwa-selector-grid label:last-child{grid-column:1/-1;}}
@media(max-width:600px){.kwa-selector-grid{grid-template-columns:1fr;}.kwa-selector-grid label:last-child{grid-column:auto;}.kwa-selected-sessions{margin:14px 12px 0;}.kwa-selected-sessions-head{align-items:flex-start;flex-direction:column;}}

/* v0.17.1 — seleção progressiva de sessões até ao limite definido no backoffice */
.kwa-booking-limit-note{align-self:end;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--kwa-primary) 7%,#fff);border:1px solid color-mix(in srgb,var(--kwa-primary) 18%,#e5e7eb);}
.kwa-booking-limit-note strong{font-size:13px;color:#20243a}.kwa-booking-limit-note small{font-size:12px;color:#6b7280}.kwa-selected-sessions-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid #e8eaf1}.kwa-selected-sessions-actions small{color:#667085}.kwa-booking-continue{border:0;border-radius:10px;padding:11px 16px;background:var(--kwa-primary);color:#fff;font-weight:800;cursor:pointer}.kwa-booking-continue:hover{filter:brightness(.96)}
@media(max-width:700px){.kwa-selected-sessions-actions{align-items:stretch;flex-direction:column}.kwa-booking-continue{width:100%}}


/* v0.17.2 — bloqueio visual dinâmico do intervalo mínimo entre sessões */
.kwa-calendar-day.is-gap-blocked{
  background:repeating-linear-gradient(135deg,#f4f5f7 0,#f4f5f7 6px,#e8eaf0 6px,#e8eaf0 12px)!important;
  color:#a1a6b0!important;
  cursor:not-allowed!important;
  box-shadow:inset 0 0 0 1px #e0e3e9!important;
  opacity:.9;
}
.kwa-calendar-day.is-gap-blocked::after{
  content:'×';
  position:absolute;
  right:7px;
  top:4px;
  font-size:10px;
  font-weight:800;
  color:#b2b6bf;
}
.kwa-calendar-day.has-selected-session{
  box-shadow:0 0 0 2px color-mix(in srgb,var(--kwa-primary) 28%,transparent);
}
.kwa-week-day.is-gap-blocked,
.kwa-list-day.is-gap-blocked{
  background:#f7f8fa;
  opacity:.78;
}
.kwa-week-day.is-gap-blocked .kwa-week-day-head{
  background:#f1f2f5;
}
.kwa-gap-message{
  color:#8d939d!important;
  font-size:10px!important;
  line-height:1.45;
}
.kwa-list-day.is-gap-blocked .kwa-list-date strong{
  color:#8d939d;
}


/* v0.19.0 — fuso horário automático do cliente */
.kwa-timezone-control{margin-left:auto;display:flex;align-items:center;gap:9px;min-width:250px;padding:8px 10px;border:1px solid #e2e6ef;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(31,39,61,.04)}
.kwa-timezone-icon{font-size:17px;line-height:1}
.kwa-timezone-control label{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;margin:0!important}
.kwa-timezone-control small{font-size:10px;line-height:1.2;color:#7c8495;font-weight:700}
.kwa-timezone-control select{width:100%;max-width:260px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0 24px 0 0!important;min-height:22px!important;height:22px!important;font-size:12px!important;font-weight:800;color:#22283a}
.kwa-slot-provider-time{display:block;margin-top:4px;font-size:10px;color:#8991a2;font-weight:600;line-height:1.3}
.kwa-selected-session-chip em{display:block;margin-top:2px;font-size:10px;color:#8b93a4;font-style:normal;font-weight:600}
@media(max-width:820px){.kwa-scheduler-topbar{flex-wrap:wrap}.kwa-timezone-control{order:3;margin-left:0;min-width:min(100%,320px);width:100%}.kwa-timezone-control select{max-width:none}.kwa-view-switcher{margin-left:auto}}
/* v0.22 language switcher */
.kwa-booking-head{position:relative}.kwa-public-language{position:absolute;right:0;top:0;display:flex;gap:6px;padding:4px;border:1px solid #e5e8f0;border-radius:999px;background:#fff}.kwa-public-language a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border-radius:999px;text-decoration:none;font-size:11px;font-weight:800;color:#667085}.kwa-public-language a.is-active{background:var(--kwa-primary-soft);color:var(--kwa-primary)}@media(max-width:700px){.kwa-public-language{position:static;width:max-content;margin:0 0 14px auto}}

/* WhatsApp opt-in */
.kwa-whatsapp-optin{display:block!important;margin-top:2px;padding:13px 14px;border:1px solid #ccebd8;border-radius:12px;background:#f3fbf6}
.kwa-whatsapp-optin-box{display:flex;align-items:center;gap:9px;color:#17351f}
.kwa-whatsapp-optin-box input{margin:0!important;width:17px!important;height:17px!important;flex:0 0 auto}
.kwa-whatsapp-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#25d366;color:#fff;font-size:9px;font-weight:800;letter-spacing:.02em;flex:0 0 26px}
.kwa-whatsapp-optin small{display:block;margin:6px 0 0 52px;color:#5f7165;line-height:1.45}
.kwa-direct-booking-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:11px;background:var(--kwa-primary,#5b4fe9);color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 8px 18px rgba(91,79,233,.18);transition:transform .16s ease,box-shadow .16s ease}.kwa-direct-booking-button:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(91,79,233,.24)}


/* Waiting list */
.kwa-waitlist-box{margin-top:18px;padding:18px;border:1px solid rgba(99,102,241,.18);border-radius:18px;background:linear-gradient(135deg,rgba(99,102,241,.07),rgba(16,185,129,.05))}.kwa-waitlist-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.kwa-waitlist-head strong{font-size:16px}.kwa-waitlist-head span{font-size:13px;opacity:.72}.kwa-waitlist-fields{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:9px}.kwa-waitlist-fields input{min-width:0;border:1px solid #dfe3ec;border-radius:10px;padding:10px 12px;background:#fff}.kwa-waitlist-submit{border:0;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;background:#6558e8;color:#fff}.kwa-waitlist-submit:hover{transform:translateY(-1px)}.kwa-waitlist-result{font-size:13px;margin-top:9px;font-weight:600}.kwa-waitlist-box.is-success{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.07)}@media(max-width:760px){.kwa-waitlist-fields{grid-template-columns:1fr}.kwa-waitlist-submit{width:100%}}
.kwa-waitlist-time{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-weight:700;font-size:13px}.kwa-waitlist-time span{min-width:130px}.kwa-waitlist-time select,.kwa-waitlist-time input{flex:1;max-width:260px;border:1px solid #dfe3ec;border-radius:10px;padding:10px 12px;background:#fff}.kwa-waitlist-box{animation:kwaWaitIn .28s ease both}@keyframes kwaWaitIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:760px){.kwa-waitlist-time{align-items:stretch;flex-direction:column;gap:6px}.kwa-waitlist-time select,.kwa-waitlist-time input{max-width:none;width:100%}}
/* v0.36.28 - Lista de espera em modal */
.kwa-waitlist-box{margin-top:16px;padding:16px;border:1px solid rgba(99,102,241,.18);border-radius:16px;background:linear-gradient(135deg,rgba(99,102,241,.06),rgba(16,185,129,.04))}.kwa-waitlist-box .kwa-waitlist-head{margin:0}.kwa-waitlist-open{width:100%;margin-top:12px;border:1px solid #6558e8;border-radius:11px;padding:11px 14px;background:#6558e8;color:#fff;font-weight:800;cursor:pointer}.kwa-waitlist-open:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(101,88,232,.18)}
.kwa-waitlist-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(17,24,39,.48);backdrop-filter:blur(4px);animation:kwaWlFade .18s ease}.kwa-waitlist-modal[hidden]{display:none}.kwa-waitlist-dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:22px;padding:26px;box-shadow:0 28px 80px rgba(17,24,39,.28);animation:kwaWlPop .22s ease}.kwa-waitlist-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f4f6;font-size:22px;line-height:1;cursor:pointer}.kwa-waitlist-dialog h3{margin:0 44px 6px 0;font-size:22px}.kwa-waitlist-dialog>p{margin:0 0 20px;color:#667085}.kwa-waitlist-date-chip{display:inline-flex;margin-bottom:18px;padding:8px 11px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:800;font-size:13px}.kwa-waitlist-modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kwa-waitlist-modal-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:#344054}.kwa-waitlist-modal-fields label.is-full{grid-column:1/-1}.kwa-waitlist-modal-fields input,.kwa-waitlist-modal-fields select{width:100%;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:11px;padding:11px 12px;background:#fff;font:inherit}.kwa-waitlist-modal .kwa-waitlist-submit{width:100%;margin-top:18px;padding:13px 16px;border-radius:12px}.kwa-waitlist-modal .kwa-waitlist-result{text-align:center;margin-top:11px}.kwa-waitlist-modal.is-success .kwa-waitlist-dialog{border:1px solid rgba(16,185,129,.35)}@keyframes kwaWlFade{from{opacity:0}to{opacity:1}}@keyframes kwaWlPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.kwa-waitlist-modal{padding:12px;align-items:flex-end}.kwa-waitlist-dialog{padding:22px 18px;border-radius:22px 22px 14px 14px;max-height:88vh}.kwa-waitlist-modal-fields{grid-template-columns:1fr}.kwa-waitlist-modal-fields label.is-full{grid-column:auto}}

/* v0.36.50 configurable branding */
.kwa-selection-card,.kwa-scheduler-card,.kwa-customer-step,.kwa-booking button,.kwa-booking input,.kwa-booking select,.kwa-booking textarea{border-radius:var(--kwa-radius,16px)}

/* v0.36.61 — Imagine Heal: accessible views, responsive times and wizard */
.kwa-booking .kwa-view-switcher{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:5px!important;width:auto!important;min-width:0!important;padding:5px!important;overflow:visible!important}
.kwa-booking .kwa-view-switcher button{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:76px!important;height:38px!important;padding:7px 10px!important;border-radius:9px!important;font-size:12px!important;line-height:1.2!important;opacity:1!important;visibility:visible!important}
.kwa-booking .kwa-view-switcher button svg{display:block!important;width:17px!important;height:17px!important;min-width:17px!important;stroke:currentColor!important;fill:none!important;opacity:1!important;visibility:visible!important}
.kwa-booking .kwa-view-label{display:inline!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;color:inherit!important;opacity:1!important}
.kwa-booking .kwa-view-switcher button.is-active{background:var(--kwa-primary)!important;color:#fff!important}
.kwa-booking .kwa-scheduler-topbar{flex-wrap:wrap!important;justify-content:space-between!important}
.kwa-booking .kwa-scheduler-grid,.kwa-booking .kwa-schedule-stage,.kwa-booking .kwa-view-month,.kwa-booking .kwa-calendar-panel,.kwa-booking .kwa-slots-panel{min-width:0!important;overflow:visible!important}
.kwa-booking .kwa-slots-panel{min-width:0!important;overflow-wrap:anywhere!important}
.kwa-booking .kwa-public-slot{min-width:0!important;max-width:100%!important;width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.3!important;padding:12px 7px!important}
.kwa-booking .kwa-public-slot strong,.kwa-booking .kwa-public-slot small{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important}
.kwa-booking .kwa-public-slots{min-width:0!important;grid-template-columns:minmax(0,1fr)!important}
@container kwa-booking (min-width:820px) and (max-width:1079px){.kwa-booking .kwa-scheduler-grid{grid-template-columns:220px minmax(0,1fr)!important}.kwa-booking .kwa-view-month{grid-template-columns:minmax(0,1fr) 245px!important}.kwa-booking .kwa-calendar-panel,.kwa-booking .kwa-slots-panel{padding:15px!important}}
@container kwa-booking (min-width:1080px){.kwa-booking .kwa-view-month{grid-template-columns:minmax(0,1fr) 280px!important}}
@container kwa-booking (max-width:819px){.kwa-booking .kwa-view-month{grid-template-columns:minmax(0,1fr)!important}.kwa-booking .kwa-scheduler-grid{display:block!important}.kwa-booking .kwa-public-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container kwa-booking (max-width:520px){.kwa-booking .kwa-view-switcher{width:100%!important;justify-content:space-between!important;margin-left:0!important}.kwa-booking .kwa-view-switcher button{flex:1 1 0!important;min-width:0!important}.kwa-booking .kwa-public-slots{grid-template-columns:1fr!important}}

/* v0.36.62: keep the waiting-list call-to-action within the times column. */
.kwa-waitlist-box{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.kwa-waitlist-box .kwa-waitlist-head{min-width:0}
.kwa-waitlist-box .kwa-waitlist-open{display:block;min-width:0;max-width:100%;width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:center;line-height:1.35;padding:12px 10px}

/* 0.36.87: compact, three-step portal booking wizard */
.kwa-booking[data-kwa-portal="1"]{--kwa-max-width:100%!important;--kwa-outer-space:12px!important;max-width:100%!important;padding:0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-booking-head{padding:8px 0 18px!important;margin:0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-booking-head h2{font-size:clamp(23px,3vw,30px)!important;margin:4px 0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-booking-head p{font-size:14px!important;margin:0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-selection-card,.kwa-booking[data-kwa-portal="1"] .kwa-scheduler-card,.kwa-booking[data-kwa-portal="1"] .kwa-customer-step{padding:18px!important;margin:0!important;max-width:100%!important}
.kwa-booking[data-kwa-portal="1"] .kwa-scheduler-grid{grid-template-columns:minmax(0,1fr)!important}
.kwa-booking[data-kwa-portal="1"] .kwa-booking-summary{padding:12px!important;max-width:100%!important}
.kwa-booking[data-kwa-portal="1"] .kwa-summary-brand,.kwa-booking[data-kwa-portal="1"] .kwa-summary-service-block p,.kwa-booking[data-kwa-portal="1"] .kwa-live-note{display:none!important}
.kwa-booking[data-kwa-portal="1"] .kwa-summary-service-block h3{font-size:18px!important;margin:3px 0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-summary-facts{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important;margin:8px 0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-summary-facts>div{width:auto!important;display:flex!important;gap:6px!important;font-size:12px!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-day{min-height:48px!important;height:auto!important;padding:6px!important;border-radius:10px!important}
.kwa-booking[data-kwa-portal="1"] .kwa-scheduler-topbar{gap:10px!important;padding:8px 0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-wizard-actions{display:flex;justify-content:flex-end;margin-top:16px}
.kwa-booking[data-kwa-portal="1"] .kwa-wizard-actions button{border:0;border-radius:10px;background:#5145e8;color:white;padding:12px 20px;font-weight:700;cursor:pointer}
.kwa-booking[data-kwa-portal="1"] .kwa-wizard-back{margin-bottom:10px}
.kwa-booking[data-kwa-portal="1"] .kwa-wizard-back button{border:0;background:transparent;color:#5145e8;cursor:pointer;font-weight:600}
.kwa-booking[data-kwa-portal="1"] [hidden]{display:none!important}
@media(max-width:650px){.kwa-booking[data-kwa-portal="1"] .kwa-selection-card,.kwa-booking[data-kwa-portal="1"] .kwa-scheduler-card,.kwa-booking[data-kwa-portal="1"] .kwa-customer-step{padding:12px!important}}
/* 0.36.88: compact portal layout and unclipped navigation */
.kwa-booking[data-kwa-portal="1"],.kwa-booking[data-kwa-portal="1"] *{box-sizing:border-box}
.kwa-booking[data-kwa-portal="1"] .kwa-selection-card,.kwa-booking[data-kwa-portal="1"] .kwa-scheduler-card{min-width:0!important;overflow:visible!important}
.kwa-booking[data-kwa-portal="1"] .kwa-wizard-actions{padding:0 4px!important;margin:12px 0 0!important;justify-content:flex-start!important}
.kwa-booking[data-kwa-portal="1"] .kwa-wizard-actions button{position:static!important;transform:none!important;margin:0!important;max-width:100%!important;white-space:normal!important;font-size:13px!important;padding:10px 14px!important}
.kwa-booking[data-kwa-portal="1"] .kwa-scheduler-grid,.kwa-booking[data-kwa-portal="1"] .kwa-schedule-stage,.kwa-booking[data-kwa-portal="1"] .kwa-view-month{min-width:0!important;max-width:100%!important}
.kwa-booking[data-kwa-portal="1"] .kwa-view-month{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-panel{padding:12px!important;min-width:0!important;overflow:hidden!important}
.kwa-booking[data-kwa-portal="1"] .kwa-slots-panel{padding:12px!important;border-left:0!important;border-top:1px solid var(--kwa-line)!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-toolbar{grid-template-columns:32px minmax(0,1fr) 32px!important;gap:8px!important;margin:0 0 12px!important;padding:0 4px!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-nav{width:30px!important;height:30px!important;min-width:0!important;max-width:30px!important;padding:0!important;margin:0!important;position:static!important;transform:none!important;font-size:18px!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-toolbar strong{font-size:15px!important;min-width:0!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-weekdays,.kwa-booking[data-kwa-portal="1"] .kwa-calendar-grid{gap:5px!important}
.kwa-booking[data-kwa-portal="1"] .kwa-calendar-day{min-height:0!important;aspect-ratio:1.25/1!important;padding:3px!important;border-radius:8px!important;font-size:12px!important}
@media(min-width:950px){.kwa-booking[data-kwa-portal="1"] .kwa-view-month{grid-template-columns:minmax(0,1fr) 190px!important}.kwa-booking[data-kwa-portal="1"] .kwa-slots-panel{border-top:0!important;border-left:1px solid var(--kwa-line)!important}}
