.ccb-booking-widget{--ccb-primary:#ef7d3b;--ccb-primary-dark:#db6425;--ccb-soft:#fff7f1;--ccb-border:#eadfd7;--ccb-text:#282b35;--ccb-muted:#737780;max-width:1080px;margin:28px auto;padding:30px;background:#fff;border:1px solid #eee8e4;border-radius:14px;box-shadow:0 12px 38px rgba(46,36,29,.07);color:var(--ccb-text);font-family:inherit;box-sizing:border-box}.ccb-booking-widget *{box-sizing:border-box}.ccb-booking-heading{text-align:center;margin-bottom:26px}.ccb-booking-heading--compact{text-align:left;margin-bottom:22px}.ccb-booking-heading h2{margin:0 0 7px;color:var(--ccb-text);font-size:clamp(27px,4vw,38px);line-height:1.2}.ccb-booking-heading p{margin:0;color:var(--ccb-muted)}.ccb-booking-message,.ccb-booking-alert{margin:13px 0;padding:12px 14px;border-radius:8px;font-size:14px}.ccb-booking-message.is-warning,.ccb-booking-alert--warning{background:#fff8e8;color:#8a5200;border:1px solid #f7d994}.ccb-booking-message.is-info,.ccb-booking-alert--info{background:#f3f7fb;color:#34516c;border:1px solid #d8e4ef}.ccb-booking-message.is-success,.ccb-booking-alert--success{background:#ecfdf3;color:#087443;border:1px solid #aee9c8}.ccb-booking-message.is-error{background:#fff1f0;color:#b42318;border:1px solid #ffc9c4}.ccb-compact-section{padding:18px 0;border-top:1px solid #f1ebe7}.ccb-compact-section:first-of-type{border-top:0;padding-top:4px}.ccb-compact-label,.ccb-form-field label{display:block;margin-bottom:8px;color:#363943;font-size:14px;font-weight:600}.ccb-compact-label>span,.ccb-form-field label>span{color:var(--ccb-primary)}.ccb-city-options{display:flex;flex-wrap:wrap;gap:18px}.ccb-radio-pill{display:inline-flex;align-items:center;gap:7px;margin:0;cursor:pointer;font-size:15px;color:#676b73}.ccb-radio-pill input{width:15px;height:15px;margin:0;accent-color:var(--ccb-primary)}.ccb-radio-pill:has(input:checked){color:var(--ccb-primary);font-weight:600}.ccb-service-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}.ccb-form-grid{display:grid;gap:18px 26px}.ccb-form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ccb-form-field{margin:0}.ccb-form-field input,.ccb-form-field select,.ccb-form-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ccb-border);border-radius:7px;background:#fffdfa;color:var(--ccb-text);font:inherit;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.ccb-form-field textarea{min-height:100px;resize:vertical}.ccb-form-field input::placeholder,.ccb-form-field textarea::placeholder{color:#a5a2a0;font-style:italic}.ccb-form-field input:focus,.ccb-form-field select:focus,.ccb-form-field textarea:focus{outline:0;background:#fff;border-color:var(--ccb-primary);box-shadow:0 0 0 3px rgba(239,125,59,.12)}.ccb-field-help{min-height:16px;margin:6px 0 0;color:var(--ccb-muted);font-size:12px;line-height:1.4}.ccb-field-help.is-success{color:#087443}.ccb-field-help.is-error{color:#b42318}.ccb-field-help.is-warning{color:#975500}.ccb-inline-options{display:flex;flex-wrap:wrap;gap:9px}.ccb-inline-options label{display:flex;align-items:center;gap:7px;margin:0;padding:10px 13px;border:1px solid var(--ccb-border);border-radius:7px;background:#fffdfa;cursor:pointer;font-size:13px;font-weight:500}.ccb-inline-options input{width:auto;min-height:0;margin:0;accent-color:var(--ccb-primary)}.ccb-inline-options label:has(input:checked){border-color:var(--ccb-primary);background:var(--ccb-soft);color:var(--ccb-primary-dark)}.ccb-date-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.ccb-date-controls{display:flex;gap:7px}.ccb-date-arrow{display:inline-flex;width:35px;height:35px;align-items:center;justify-content:center;border:1px solid var(--ccb-border);border-radius:50%;background:var(--ccb-soft);color:var(--ccb-primary);font:700 24px/1 inherit;cursor:pointer}.ccb-date-arrow:hover{border-color:var(--ccb-primary);background:#fff}.ccb-date-strip{display:flex;gap:11px;overflow-x:auto;padding:5px 2px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}.ccb-date-chip{flex:0 0 61px;min-height:74px;padding:8px 5px;border:1px solid var(--ccb-border);border-radius:30px;background:#fff;color:#3d4047;text-align:center;cursor:pointer;scroll-snap-align:center;transition:.16s ease}.ccb-date-chip small,.ccb-date-chip strong,.ccb-date-chip span{display:block}.ccb-date-chip small{font-size:11px;font-weight:600}.ccb-date-chip strong{margin:3px 0;font-size:17px}.ccb-date-chip span{font-size:10px;color:#8a8d94}.ccb-date-chip:hover:not(:disabled){border-color:var(--ccb-primary);transform:translateY(-1px)}.ccb-date-chip.is-selected{border-color:var(--ccb-primary);background:var(--ccb-soft);color:var(--ccb-primary);box-shadow:0 0 0 1px var(--ccb-primary)}.ccb-date-chip.is-selected span{color:var(--ccb-primary-dark)}.ccb-date-chip:disabled{opacity:.38;cursor:not-allowed;background:#f5f5f5}.ccb-slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.ccb-slot-button{min-height:39px;padding:9px 8px;border:1px solid var(--ccb-border);border-radius:6px;background:#fff;color:#292d36;font:inherit;font-size:13px;cursor:pointer;box-shadow:0 2px 5px rgba(51,42,35,.05);transition:.15s ease}.ccb-slot-button:hover{border-color:var(--ccb-primary);color:var(--ccb-primary-dark)}.ccb-slot-button.is-selected{border-color:var(--ccb-primary);background:var(--ccb-primary);color:#fff;box-shadow:0 4px 10px rgba(239,125,59,.22)}.ccb-customer-section{padding-bottom:20px}.ccb-input-action-row{display:flex;gap:8px}.ccb-input-action-row input{min-width:0;flex:1}.ccb-button{appearance:none;border:0;border-radius:7px;padding:11px 17px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:.16s ease;white-space:nowrap}.ccb-button:disabled{opacity:.52;cursor:not-allowed}.ccb-button--primary,.ccb-button:not(.ccb-button--secondary){background:var(--ccb-primary);color:#fff}.ccb-button--primary:hover:not(:disabled),.ccb-button:not(.ccb-button--secondary):hover:not(:disabled){background:var(--ccb-primary-dark)}.ccb-button--secondary{background:#fff4ec;color:var(--ccb-primary-dark);border:1px solid #f5c9ad}.ccb-button--secondary:hover:not(:disabled){background:#ffe9da}.ccb-email-send{min-width:105px}.ccb-inline-checks{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:18px}.ccb-soft-check{display:flex;align-items:center;gap:9px;min-height:50px;margin:0;padding:12px;background:#fff8f3;border-radius:5px;color:#595d65;font-size:13px;cursor:pointer}.ccb-soft-check input{width:17px;height:17px;margin:0;accent-color:var(--ccb-primary)}.ccb-whatsapp-field{padding:0}.ccb-comment-details{margin-top:18px}.ccb-comment-details summary{display:inline-block;color:var(--ccb-primary);font-size:13px;font-weight:700;cursor:pointer;list-style:none}.ccb-comment-details summary::-webkit-details-marker{display:none}.ccb-comment-details[open] summary{margin-bottom:12px}.ccb-verification-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:6px 0 20px;padding:16px 18px;border:1px solid #f4c6aa;border-radius:9px;background:#fff8f3}.ccb-verification-inline strong{display:block;margin-bottom:3px}.ccb-verification-inline p{margin:0;color:var(--ccb-muted);font-size:13px}.ccb-code-row{display:flex;gap:8px}.ccb-code-row input{width:150px;min-height:43px;padding:9px 11px;border:1px solid var(--ccb-border);border-radius:7px;background:#fff;text-align:center;font:700 19px/1 inherit;letter-spacing:5px}.ccb-code-row input:focus{outline:0;border-color:var(--ccb-primary);box-shadow:0 0 0 3px rgba(239,125,59,.12)}.ccb-verification-inline>.ccb-field-help{grid-column:1/-1;margin:0}.ccb-compact-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 22px;padding-top:20px;border-top:1px solid #f1ebe7}.ccb-terms-check{display:flex;gap:9px;align-items:flex-start;margin:0;color:#5e626b;font-size:12px;line-height:1.5}.ccb-terms-check input{margin-top:2px;accent-color:var(--ccb-primary)}.ccb-live-summary{grid-column:1/-1;display:flex;gap:9px;align-items:center;padding:11px 13px;border-radius:7px;background:#f8f7f6;color:#5c6068;font-size:13px}.ccb-live-summary strong{color:#30333a}.ccb-confirm-button{min-width:220px}.ccb-no-payment-note{margin:0;text-align:right;color:var(--ccb-muted);font-size:12px}.ccb-booking-success{text-align:center;padding:28px 0}.ccb-success-icon{display:flex;width:68px;height:68px;align-items:center;justify-content:center;margin:0 auto 17px;border-radius:50%;background:#ddf8e7;color:#087443;font-size:35px;font-weight:800}.ccb-booking-success h3{margin:0 0 8px;font-size:29px}.ccb-booking-success>p{max-width:650px;margin:0 auto 22px;color:var(--ccb-muted)}.ccb-success-summary{max-width:700px;margin:0 auto;border:1px solid var(--ccb-border);border-radius:9px;overflow:hidden;text-align:left}.ccb-review-row{display:grid;grid-template-columns:35% 1fr;gap:15px;padding:12px 15px;border-bottom:1px solid #f1ebe7}.ccb-review-row:last-of-type{border-bottom:0}.ccb-review-row span{color:var(--ccb-muted)}.ccb-manage-link{display:block;width:max-content;margin:18px auto}.ccb-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ccb-button.is-loading:after{content:"";display:inline-block;width:13px;height:13px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:ccbSpin .7s linear infinite}@keyframes ccbSpin{to{transform:rotate(360deg)}}@media(max-width:900px){.ccb-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.ccb-booking-widget{margin:16px auto;padding:20px 15px;border-radius:10px}.ccb-service-section,.ccb-form-grid--2,.ccb-inline-checks{grid-template-columns:1fr}.ccb-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ccb-verification-inline{grid-template-columns:1fr}.ccb-code-row{width:100%}.ccb-code-row input{flex:1;width:auto}.ccb-compact-footer{grid-template-columns:1fr}.ccb-confirm-button{width:100%;min-width:0}.ccb-no-payment-note{text-align:center}.ccb-live-summary{align-items:flex-start;flex-direction:column}.ccb-input-action-row{align-items:stretch;flex-direction:column}.ccb-email-send{width:100%}.ccb-review-row{grid-template-columns:1fr;gap:3px}.ccb-date-chip{flex-basis:57px}}@media(max-width:390px){.ccb-slot-grid{grid-template-columns:1fr}.ccb-city-options{gap:12px}.ccb-date-controls{display:none}}

/* v0.11.1: compact email verification and Google Places address suggestions */
.ccb-verification-inline--email{display:block;margin:10px 0 0;padding:12px 13px;border-radius:7px}
.ccb-verification-inline--email .ccb-verification-copy{margin-bottom:9px}
.ccb-verification-inline--email .ccb-verification-copy strong{font-size:14px}
.ccb-verification-inline--email .ccb-verification-copy p{font-size:12px;overflow-wrap:anywhere}
.ccb-verification-inline--email .ccb-code-row{width:100%}
.ccb-verification-inline--email .ccb-code-row input{flex:1;width:auto;min-width:0;letter-spacing:4px}
.ccb-verification-inline--email>.ccb-field-help{margin-top:7px}
.ccb-google-place-container{width:100%}
.ccb-google-place-autocomplete{display:block;width:100%;min-height:44px;border:1px solid var(--ccb-border);border-radius:7px;background-color:#fffdfa;color:var(--ccb-text);font:inherit;box-sizing:border-box}
.ccb-google-place-autocomplete:focus-within{border-color:var(--ccb-primary);box-shadow:0 0 0 3px rgba(239,125,59,.12)}
.ccb-google-place-autocomplete::part(input){min-height:42px;padding:10px 12px;font:inherit;color:var(--ccb-text)}
.ccb-google-place-autocomplete::part(prediction-list){z-index:10020}
.ccb-google-place-status{overflow-wrap:anywhere}
.ccb-address-field [hidden],.ccb-verification-inline[hidden]{display:none!important}
@media(max-width:720px){.ccb-verification-inline--email{padding:12px}.ccb-verification-inline--email .ccb-code-row{flex-direction:row}.ccb-verification-inline--email .ccb-code-row .ccb-button{flex:0 0 auto}}

/* v0.11.3: simplified and guided email verification */
.ccb-email-verification-note{margin:7px 0 0;color:var(--ccb-muted);font-size:12px;line-height:1.45}
.ccb-email-field.is-verified .ccb-input-action-row input{border-color:#36a269;background:#f5fff9;box-shadow:0 0 0 3px rgba(54,162,105,.09)}
.ccb-email-send.is-verified,.ccb-email-send.is-verified:hover{border-color:#9ad8b7;background:#eaf9f0;color:#087443}
.ccb-verification-steps{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}
.ccb-verification-steps span{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;background:#f5eee9;color:#77716d;font-size:11px;font-weight:600;line-height:1}
.ccb-verification-steps span.is-complete{background:#eaf9f0;color:#087443}
.ccb-verification-steps span.is-active{background:#fff0e6;color:var(--ccb-primary-dark)}
.ccb-verification-inline--email .ccb-code-row input::placeholder{letter-spacing:0;font-size:13px;font-weight:500;color:#aaa5a1}
@media(max-width:720px){.ccb-verification-steps{gap:5px}.ccb-verification-steps span{padding:5px 7px;font-size:10px}}


/* Secure customer photo upload */
.ccb-photo-upload{grid-column:1/-1;border:1px solid #f2c9b3;border-radius:14px;padding:16px;background:#fffaf7;margin-top:4px}.ccb-photo-upload__heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.ccb-photo-upload__heading strong{display:block;font-size:15px;color:#2d3440}.ccb-photo-upload__heading p{margin:4px 0 0;color:#6f7785;font-size:13px}.ccb-photo-upload__count{min-width:30px;height:30px;border-radius:999px;background:#f57c3a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.ccb-photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #e8a77f;border-radius:12px;padding:18px;cursor:pointer;background:#fff;transition:.2s ease;position:relative}.ccb-photo-dropzone:hover{border-color:#f57c3a;background:#fff7f2}.ccb-photo-dropzone input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.ccb-photo-dropzone span{font-weight:700;color:#ef6b25}.ccb-photo-dropzone small{margin-top:5px;color:#7b8190}.ccb-photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:12px}.ccb-photo-preview{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#eef1f4;border:1px solid #e1e4e8}.ccb-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.ccb-photo-preview button{position:absolute;top:5px;right:5px;border:0;border-radius:999px;width:25px;height:25px;background:rgba(20,25,32,.82);color:#fff;cursor:pointer;line-height:1}.ccb-photo-upload.is-required .ccb-photo-upload__heading strong:after{content:' *';color:#ef6b25}@media(max-width:640px){.ccb-photo-preview-grid{grid-template-columns:repeat(3,1fr)}}
