.cic-booking{--cic-border:#d9e1ec;--cic-bg:#fff;--cic-soft:#f6f8fb;--cic-text:#1f2937;--cic-muted:#667085;--cic-accent:#174ea6;--cic-accent-soft:#e8f0fe;--cic-danger:#b42318;--cic-success:#027a48;--cic-free:#12b76a;--cic-booked:#d92d20;font-family:inherit;color:var(--cic-text);max-width:1120px;margin:24px auto}.cic-booking *{box-sizing:border-box}.cic-booking__header{margin-bottom:20px}.cic-booking__header h2{margin:0 0 6px;font-size:28px;line-height:1.2}.cic-booking__header p{margin:0;color:var(--cic-muted)}.cic-booking__grid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:24px;align-items:start}.cic-calendar-card,.cic-form-card{background:var(--cic-bg);border:1px solid var(--cic-border);border-radius:16px;padding:20px;box-shadow:0 12px 30px rgba(16,24,40,.06)}.cic-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cic-current-month{text-transform:capitalize;font-size:18px}.cic-calendar-nav button,.cic-day,.cic-slot,.cic-submit{font:inherit;border-radius:10px;border:1px solid var(--cic-border);background:#fff;cursor:pointer}.cic-calendar-nav button{width:40px;height:40px;font-size:26px;line-height:1}.cic-calendar-nav button:disabled{opacity:.35;cursor:not-allowed}.cic-calendar-weekdays,.cic-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cic-calendar-weekdays{margin-bottom:8px;color:var(--cic-muted);font-size:13px;text-align:center}.cic-day{min-height:42px;padding:8px;text-align:center;position:relative;z-index:1}.cic-day.is-disabled{background:var(--cic-soft);color:#98a2b3;cursor:not-allowed}.cic-day.is-available-day{font-weight:700;box-shadow:0 0 0 2px rgba(23,78,166,.08)}.cic-day.is-free-day{border-color:#7cd6a4;color:#027a48;background:#ecfdf3}.cic-day.is-free-day:hover{background:#d1fadf}.cic-day.is-fully-booked-day{border-color:#fecdca;color:#b42318;background:#f2f4f7}.cic-day.is-fully-booked-day:hover{background:#fee4e2}.cic-day.is-selected{background:var(--cic-accent);color:#fff;border-color:var(--cic-accent)}.cic-day--empty{border:0;background:transparent}.cic-selected-date{font-weight:700;margin-bottom:12px;padding:12px;border-radius:12px;background:var(--cic-soft)}.cic-slots{margin-bottom:18px}.cic-slot-buttons{display:flex;gap:8px;flex-wrap:wrap}.cic-slot{padding:9px 12px;border-color:#7cd6a4;background:#ecfdf3;color:#027a48;font-weight:700}.cic-slot:hover{background:#d1fadf}.cic-slot.is-selected{background:var(--cic-accent);color:#fff;border-color:var(--cic-accent)}.cic-slot.is-booked{background:#f2f4f7;border-color:#fecdca;color:#b42318;text-decoration:line-through;cursor:not-allowed}.cic-booking-form{display:grid;gap:14px}.cic-booking-form label{display:grid;gap:6px;font-weight:600}.cic-booking-form input[type=text],.cic-booking-form input[type=email],.cic-booking-form input[type=tel],.cic-booking-form textarea{width:100%;border:1px solid var(--cic-border);border-radius:10px;padding:10px 12px;font:inherit}.cic-booking-form fieldset{border:1px solid var(--cic-border);border-radius:14px;padding:14px;display:grid;gap:10px}.cic-booking-form legend{font-weight:700;padding:0 6px}.cic-booking-form fieldset label{font-weight:500;display:block}.cic-booking-form input[type=radio],.cic-booking-form input[type=checkbox]{margin-right:8px}.cic-inline-field{margin-left:26px}.cic-rodo{font-size:14px;line-height:1.45}.cic-submit{background:var(--cic-accent);border-color:var(--cic-accent);color:#fff;font-weight:700;padding:12px 16px}.cic-submit:disabled{opacity:.5;cursor:not-allowed}.cic-message{font-weight:700}.cic-error{color:var(--cic-danger)}.cic-success{color:var(--cic-success)}.cic-booking-error{padding:16px;border:1px solid #fecdca;background:#fffbfa;color:#b42318;border-radius:12px}@media (max-width:860px){.cic-booking__grid{grid-template-columns:1fr}.cic-booking{margin:18px 0}.cic-calendar-card,.cic-form-card{padding:16px}.cic-day{min-height:38px;padding:6px}}
.cic-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.cic-custom-fields{display:grid;gap:14px}
.cic-success-box{padding:18px 20px;border:1px solid #abefc6;background:#ecfdf3;color:#027a48;border-radius:14px;font-weight:700;line-height:1.5} .cic-field{display:grid;gap:6px;font-weight:600}
.cic-field label{font-weight:600}
.cic-help{font-size:13px;color:var(--cic-muted)}
.cic-booking .cic-required-info{margin:0;font-size:14px;line-height:1.45;color:var(--cic-muted);font-weight:500}
.cic-booking .cic-slots-title{margin:0 0 12px;font-size:1em;line-height:1.2;font-weight:700}
.cic-booking-form legend{font-size:1rem}
.cic-booking a:focus-visible,.cic-booking button:focus-visible,.cic-booking input:focus-visible,.cic-booking textarea:focus-visible{outline:3px solid #111827;outline-offset:3px;box-shadow:0 0 0 5px rgba(23,78,166,.18)}
.cic-booking input:invalid:not(:placeholder-shown),.cic-booking textarea:invalid:not(:placeholder-shown){border-color:var(--cic-danger)}
.cic-message[role="alert"]{min-height:1.4em}
.cic-success-box:focus{outline:3px solid #111827;outline-offset:3px}
.cic-day[aria-current="date"],.cic-slot.is-selected{outline:3px solid #111827;outline-offset:2px} html.wcag-active .cic-booking__header p{color:#ff0;font-weight: 500}
html.wcag-active .cic-calendar-card,html.wcag-active .cic-form-card{background:#ff0;border:2px solid #ff0}
html.wcag-active .cic-calendar-nav button,html.wcag-active .cic-day,html.wcag-active .cic-submit{border:2px solid #000}
html.wcag-active .cic-calendar-nav button:not(:disabled){background:#000;color:#ff0}
html.wcag-active .cic-calendar-nav button:disabled{background:#ff0;color:#000;cursor:not-allowed;opacity:1}
html.wcag-active .cic-calendar-nav button,html.wcag-active .cic-calendar-days button.cic-day{font-weight:700}
html.wcag-active .cic-booking .cic-slots-title {color:#000}
html.wcag-active .cic-slot{background:#ff0;border:2px solid #000;color:#000}
html.wcag-active .cic-slot.is-booked{background:#ff0;border:2px solid #000;color:#000}
html.wcag-active .cic-slot.is-selected{background:#000;border:2px solid #000;color:#fff}
html.wcag-active .cic-calendar-weekdays{color:#000;font-weight:500}
html.wcag-active .cic-selected-date{background:#ff0;color:#000;padding:12px 0;}
html.wcag-active .cic-day.is-disabled{background:#ff0;color:#000;border:2px solid #000}
html.wcag-active .cic-day.is-free-day{border:2px solid #000;color:#ff0;background:#000}
html.wcag-active .cic-day.is-free-day:hover{background:#000}
html.wcag-active .cic-submit{background:#000;border:2px solid #000}
html.wcag-active .cic-submit:disabled{background:#ff0;color:#000;cursor:not-allowed;opacity:1}
html.wcag-active .cic-booking-form fieldset{border:2px solid #000}
html.wcag-active .cic-booking-form input[type=text],html.wcag-active .cic-booking-form input[type=email],html.wcag-active .cic-booking-form input[type=tel],html.wcag-active .cic-booking-form textarea{border:2px solid #000}
html.wcag-active .cic-day.cic-day--empty{border:0;background:transparent}
html.wcag-active .cic-help{color:#000}
html.wcag-active .cic-required-info{color:#000;font-weight:500}
html.wcag-active .cic-day.is-fully-booked-day{background:#fff !important;color:#b42318 !important}
html.wcag-active .cic-success-box{border:2px solid #000;background:transparent;color:#000}
html.wcag-active .cic-booking-error{border:2px solid #000;background:#ff0;color:#b42318!important;font-weight:500}
html.wcag-active .cic-calendar-card.cic-field--error{outline:3px solid #000;outline-offset:3px;box-shadow:none}
html.wcag-active .cic-slots.cic-field--error{outline:3px solid #000;outline-offset:3px}
html.wcag-active .cic-error{font-weight:500;margin: 0.25rem 0;}
@media (prefers-reduced-motion:reduce){.cic-booking *{scroll-behavior:auto!important;transition:none!important;animation:none!important}} .cic-booking .cic-field > label,.cic-booking .cic-rodo{display:block!important}
.cic-booking .cic-required{display:inline!important;margin-left:.25em;white-space:nowrap;color:inherit;font-weight:700}
.cic-booking .cic-field > label .cic-required{vertical-align:baseline}
.cic-calendar-card.cic-field--error{border-color:var(--cic-danger);box-shadow:0 0 0 2px rgba(180,35,24,.12)}
.cic-slots.cic-field--error{border-radius:12px;outline:2px solid var(--cic-danger);outline-offset:4px}
.cic-booking-form fieldset.cic-field--error{border-color:var(--cic-danger)}
.cic-booking-form .cic-field.cic-field--error input,.cic-booking-form .cic-field.cic-field--error textarea{border-color:var(--cic-danger)}
.cic-booking-form .cic-rodo.cic-field--error{border-radius:10px;padding:8px;outline:2px solid var(--cic-danger);outline-offset:2px}
.cic-field-error-msg{display:none;margin:0 0 6px;font-size:14px;line-height:1.45;font-weight:600;color:var(--cic-danger)}
.cic-field-error-msg--visible{display:block}
html.wcag-active .cic-field-error-msg--visible{color:#b42318}