.rwexec-booking{
 --rwexec-control-height:40px;
 --rwexec-control-radius:7px;
 --rwexec-control-border:#cbd5e1;
 --rwexec-control-bg:#fff;
 --rwexec-control-text:#111827;
 --rwexec-form-bg:#fff;
 --rwexec-form-border:#e5e7eb;
 --rwexec-label-color:#111827;
 --rwexec-required-color:#dc2626;
 --rwexec-placeholder-color:#94a3b8;
 --rwexec-focus-color:#64748b;
 --rwexec-button-bg:#111827;
 --rwexec-button-text:#fff;
 --rwexec-button-hover-bg:#1f2937;
 --rwexec-button-hover-text:#fff;
 --rwexec-consent-bg:#f8fafc;
 --rwexec-consent-border:#e5e7eb;
 --rwexec-consent-text:#111827;
 --rwexec-consent-muted:#6b7280;
 --rwexec-font-family:inherit;
 --rwexec-font-size:14px;
 --rwexec-label-font-size:13px;
 --rwexec-heading-color:#111827;
 --rwexec-subheading-color:#6b7280;
 --rwexec-heading-size:28px;
 --rwexec-heading-weight:700;
 --rwexec-subheading-size:14px;
 max-width:960px;margin:0 auto;padding:20px;border:1px solid var(--rwexec-form-border);border-radius:14px;background:var(--rwexec-form-bg);font-family:var(--rwexec-font-family);box-sizing:border-box;box-shadow:0 2px 8px rgba(17,24,39,.05)
}
.rwexec-booking__intro{margin:0 0 16px}
.rwexec-booking__heading{margin:0;color:var(--rwexec-heading-color,#111827);font-family:var(--rwexec-font-family);font-size:var(--rwexec-heading-size,28px);font-weight:var(--rwexec-heading-weight,700);line-height:1.2}
.rwexec-booking__subheading{margin:6px 0 0;color:var(--rwexec-subheading-color,#6b7280);font-family:var(--rwexec-font-family);font-size:var(--rwexec-subheading-size,14px);line-height:1.45}
.rwexec-booking *{box-sizing:border-box}
.rwexec-booking__quick-grid,.rwexec-booking__grid,.rwexec-booking__service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;row-gap:12px}
.rwexec-booking__quick-grid{margin-bottom:12px}
.rwexec-booking__grid{margin-bottom:0}
.rwexec-booking__service-grid{margin-top:12px;align-items:start}
.rwexec-booking__service-grid--additional-only{grid-template-columns:minmax(0,1fr)}
.rwexec-field{min-width:0}
.rwexec-field--full{grid-column:1/-1}
.rwexec-field label,.rwexec-allergy-field legend{display:block;margin:0 0 5px;font-weight:600;font-size:var(--rwexec-label-font-size);line-height:1.3;color:var(--rwexec-label-color)}
.rwexec-field label span,.rwexec-allergy-field legend span{color:var(--rwexec-required-color)}
.rwexec-field input:not([type="checkbox"]):not([type="radio"]),.rwexec-field select{display:block;width:100%;height:var(--rwexec-control-height);min-height:var(--rwexec-control-height);margin:0;padding:0 11px;border:1px solid var(--rwexec-control-border);border-radius:var(--rwexec-control-radius);background-color:var(--rwexec-control-bg);color:var(--rwexec-control-text);font:inherit;font-size:var(--rwexec-font-size);line-height:normal;box-shadow:none}
.rwexec-field input::placeholder,.rwexec-field textarea::placeholder{color:var(--rwexec-placeholder-color);opacity:1}
.rwexec-field input[type="date"]{padding-right:9px}
.rwexec-field input[type="date"]::-webkit-date-and-time-value{display:flex;align-items:center;justify-content:center;height:100%;min-height:100%;margin:0;text-align:center}
.rwexec-field input[type="date"]::-webkit-datetime-edit{padding:0}
.rwexec-field input[type="date"]::-webkit-calendar-picker-indicator{margin:0}
.rwexec-field textarea{display:block;width:100%;min-height:76px;margin:0;padding:9px 11px;border:1px solid var(--rwexec-control-border);border-radius:var(--rwexec-control-radius);background:var(--rwexec-control-bg);color:var(--rwexec-control-text);font:inherit;font-size:var(--rwexec-font-size);line-height:1.4;box-shadow:none;resize:vertical}
.rwexec-field select:disabled{background:var(--rwexec-control-bg);color:var(--rwexec-placeholder-color);opacity:.72}
.rwexec-field input:focus,.rwexec-field select:focus,.rwexec-field textarea:focus{outline:0;border-color:var(--rwexec-focus-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--rwexec-focus-color) 18%,transparent)}
.rwexec-field__message{margin-top:4px;min-height:0;font-size:11px;line-height:1.3;color:#64748b}
.rwexec-field--checkbox label{font-weight:400;display:flex;align-items:flex-start;gap:8px}
.rwexec-field--checkbox input{width:auto;min-height:0;margin-top:3px}
.rwexec-form-note{padding:11px 12px;border-radius:var(--rwexec-control-radius);background:#f8fafc;border:1px solid #e5e7eb;color:#374151}
.rwexec-form-note p:first-child{margin-top:0}.rwexec-form-note p:last-child{margin-bottom:0}
.rwexec-allergy-field{margin:0;padding:0;border:0;min-width:0}
.rwexec-service-panel{min-width:0}
.rwexec-allergy-choice{display:flex;gap:8px;min-height:76px;padding:8px;border:1px solid var(--rwexec-control-border);border-radius:var(--rwexec-control-radius);background:var(--rwexec-control-bg);align-items:center}
.rwexec-allergy-choice label{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;height:40px;margin:0;padding:0 10px;border:1px solid #d7dee8;border-radius:6px;background:var(--rwexec-control-bg);color:var(--rwexec-control-text);font-weight:500;font-size:14px;cursor:pointer}
.rwexec-allergy-choice input{width:16px;height:16px;margin:0;accent-color:var(--rwexec-button-bg)}
.rwexec-service-panel--textarea textarea{min-height:76px;height:76px}
.rwexec-allergy-details[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.rwexec-booking__actions{display:block;margin-top:14px}
.rwexec-booking-consent{width:100%;min-width:0;margin:0;padding:12px 14px;border:1px solid var(--rwexec-consent-border);border-radius:8px;background:var(--rwexec-consent-bg)}
.rwexec-booking-consent__service{margin:0 0 10px;color:var(--rwexec-consent-muted);font-size:12px;line-height:1.4}
.rwexec-booking-consent__marketing{display:flex;align-items:flex-start;gap:9px;cursor:pointer;color:var(--rwexec-consent-text)}
.rwexec-booking-consent__marketing input{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto}
.rwexec-booking-consent__marketing span{display:block}.rwexec-booking-consent__marketing strong{display:block;margin-bottom:2px;font-size:13px}.rwexec-booking-consent__marketing small{display:block;color:var(--rwexec-consent-muted);font-size:12px;line-height:1.4}
.rwexec-booking__submit{display:block;margin:14px 0 0 0;min-width:180px;min-height:42px;padding:9px 20px;border:0;border-radius:var(--rwexec-control-radius);background:var(--rwexec-button-bg);color:var(--rwexec-button-text);font:inherit;font-size:var(--rwexec-font-size);font-weight:700;cursor:pointer}
.rwexec-booking__submit:hover{background:var(--rwexec-button-hover-bg);color:var(--rwexec-button-hover-text)}.rwexec-booking__submit:disabled{opacity:.6;cursor:wait}
.rwexec-booking__notice{margin-bottom:12px;padding:10px 12px;border-radius:8px;font-size:13px}.rwexec-booking__notice--success{background:#ecfdf5;color:#065f46}.rwexec-booking__notice--error{background:#fef2f2;color:#991b1b}
.rwexec-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){
 .rwexec-booking{--rwexec-control-height:46px;padding:16px;border-radius:12px}
 .rwexec-booking__quick-grid,.rwexec-booking__grid,.rwexec-booking__service-grid{grid-template-columns:1fr;gap:11px}
 .rwexec-booking__quick-grid{margin-bottom:11px}.rwexec-booking__service-grid{margin-top:11px}
 .rwexec-field--full{grid-column:auto}
 .rwexec-field label,.rwexec-allergy-field legend{margin-bottom:5px;font-size:var(--rwexec-label-font-size)}
 .rwexec-field input:not([type="checkbox"]):not([type="radio"]),.rwexec-field select{font-size:16px;min-width:0;max-width:100%}
 .rwexec-field input[type="date"]{width:100%;min-width:0;max-width:100%;padding-left:11px;padding-right:11px}
 .rwexec-field textarea{min-height:78px;font-size:16px}
 .rwexec-field__message{font-size:11px}
 .rwexec-allergy-choice{min-height:74px;padding:8px}.rwexec-allergy-choice label{height:46px;font-size:15px}
 .rwexec-service-panel--textarea textarea{min-height:78px;height:78px}
 .rwexec-allergy-details[hidden]{display:none!important}
 .rwexec-booking__actions{display:block;margin-top:12px}
 .rwexec-booking-consent{margin:0;padding:11px 12px}
 .rwexec-booking__submit{width:100%;margin-top:12px;min-height:48px;font-size:15px}
}
@media(max-width:380px){.rwexec-booking{padding:14px 12px}.rwexec-booking__quick-grid,.rwexec-booking__grid,.rwexec-booking__service-grid{gap:10px}}

/* v1.0.0: normalise iOS Safari date input so it obeys the same mobile box as other controls */
@media (max-width:800px){
  .rwexec-booking .rwexec-field:has(input[type="date"]){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .rwexec-booking .rwexec-field input[type="date"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--rwexec-control-height)!important;
    margin:0!important;
    padding:0 11px!important;
    border:1px solid var(--rwexec-control-border)!important;
    border-radius:var(--rwexec-control-radius)!important;
    background:var(--rwexec-control-bg)!important;
    color:var(--rwexec-control-text)!important;
    font:inherit!important;
    font-size:16px!important;
    line-height:normal!important;
  }
  .rwexec-booking .rwexec-field input[type="date"]::-webkit-date-and-time-value{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
  }
  .rwexec-booking .rwexec-field input[type="date"]::-webkit-datetime-edit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
  }
}

/* Keep telephone numbers/links consistent with surrounding booking form text, including iOS auto-detected numbers. */
.rwexec-booking a[href^="tel:"],
.rwexec-booking a[x-apple-data-detectors],
.rwexec-booking [x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    font: inherit !important;
}
