.booking-app{max-width:760px;margin:28px auto;padding:0 18px 35px}.booking-app .panel{padding:clamp(18px,4vw,32px)}.booking-app header p{line-height:1.6}.booking-app .form-grid{margin-top:24px}.slot-services{display:grid;gap:15px;margin:22px 0}.slot-service{padding:0;border:0;min-width:0}.slot-service legend{font-weight:650;margin-bottom:10px}.slot-options{display:flex;flex-wrap:wrap;gap:9px}.slot-options button{background:white;color:#285b43;min-width:77px;border-color:#b8cbbd}.slot-options button[aria-pressed=true]{background:#236348;color:white}.slot-options button:disabled{text-decoration:line-through;opacity:.4}.booking-summary{padding:17px;background:#edf4ee;border-radius:10px;line-height:1.8}.booking-app .check{display:block;margin:20px 0}.booking-app .check input{display:inline-block;vertical-align:middle}.booking-app .private-link{overflow-wrap:anywhere;display:block;margin:18px 0}.booking-app .primary-wide{width:100%}.booking-app .reference{overflow-wrap:anywhere}.booking-app .success{font-size:24px}.booking-app .actions{margin:18px 0}@media(max-width:450px){.booking-app{margin:20px auto;padding:0 12px}.booking-app h1{font-size:25px}}
.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.booking-language{display:grid;gap:4px;font-size:13px;font-weight:600}.booking-language select{min-height:44px;max-width:180px}.booking-app button{min-height:44px}.booking-app h1,.booking-app p,.booking-app a{overflow-wrap:anywhere}

/* El modo incrustado conserva el mismo formulario y sus consentimientos. */
body.booking-embedded{background:transparent!important;min-height:0!important}
.booking-embedded #booking-root{background:transparent}
.booking-embedded .booking-app{box-sizing:border-box;max-width:760px;margin:0 auto;padding:0;background:#fff;border:1px solid #cbd7cc;border-radius:16px;box-shadow:0 18px 46px rgba(12,48,31,.13);overflow:hidden}
.booking-embedded .booking-app header{padding:20px 26px 0}
.booking-embedded .booking-app h1{font-size:24px;line-height:1.2;margin:8px 0 0}
.booking-embedded .booking-app .panel{border:0;box-shadow:none;border-radius:0;margin:0;padding:18px 26px 26px}
.booking-embedded .booking-app .form-grid{margin-top:16px}
.booking-embedded .booking-app .slot-services{gap:10px;margin:16px 0}
.booking-embedded .booking-app .check{margin:13px 0}
.booking-embedded .booking-calendar-disclosure{margin:16px 0;border:1px solid #cbd7cc;border-radius:9px;background:#f7faf6}
.booking-embedded .booking-calendar-disclosure summary{cursor:pointer;color:#285b43;font-weight:650;padding:11px 14px;min-height:44px;box-sizing:border-box}
.booking-embedded .booking-calendar-disclosure summary:focus-visible{outline:3px solid #285b43;outline-offset:2px}
.booking-embedded .booking-calendar-disclosure[open] [data-public-month-calendar]{margin:0 12px 12px}
.booking-embedded .tbgo-data-notice{max-width:760px;margin:10px auto;padding:12px 16px;font-size:13px;line-height:1.5;background:#f7faf6}
.booking-embedded .tbgo-data-notice p{margin:0}
@media(max-width:700px){.booking-embedded .booking-app{border-radius:12px}.booking-embedded .booking-app header{padding:15px 16px 0}.booking-embedded .booking-app .panel{padding:14px 16px 20px}.booking-embedded .booking-app h1{font-size:21px}.booking-embedded .tbgo-data-notice{margin:8px 0}}

.booking-consents{display:grid;gap:16px;margin:24px 0}.booking-consent-field{min-width:0;border:1px solid #d8e2da;border-radius:12px;padding:16px;background:#f7faf7}.booking-consent-field>label{font-weight:650;display:block;margin:0 0 8px}.booking-consent-field select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;font-size:16px}.booking-app .booking-consent-links{font-size:14px;margin:0 0 10px}.booking-app .booking-consent-help{font-size:13px;line-height:1.55;margin:9px 0 0}.booking-consents a{overflow-wrap:anywhere}@media(max-width:450px){.booking-consent-field{padding:12px}}

/* Native consent checkboxes: external CSS, compatible with the deployed CSP. */
.booking-app .booking-consent-field>label.booking-consent-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;cursor:pointer;font-weight:500;margin:0;line-height:1.5}
.booking-app .booking-consent-check input[type="checkbox"],.booking-app .booking-consent-purposes input[type="radio"]{appearance:auto;display:inline-block;flex:0 0 22px;width:22px;height:22px;min-height:22px;padding:0;margin:3px 0 0;accent-color:#34533d;border-radius:3px}
.booking-app .booking-consent-check span,.booking-app .booking-consent-purposes span{min-width:0;overflow-wrap:anywhere}
.booking-app .booking-consent-links{margin:4px 0 0 34px}
.booking-consent-personalize{margin:8px 0 0 34px;font-size:14px}.booking-consent-personalize summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0}
.booking-consent-purposes{display:grid;gap:5px}.booking-app .booking-consent-purposes label{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;cursor:pointer}
.booking-allergy-permission{border:1px solid #d8e2da;border-radius:12px;padding:14px}.booking-allergy-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.booking-allergy-options button{min-height:44px;white-space:normal}.booking-allergy-options button[aria-pressed="true"]{background:#34533d;color:white}
