/* Nómadas Connect — public reservation UI.
 * Visual language intentionally matches the native WooCommerce Bookings UI.
 * Provider/API ownership stays in PHP/JS; this file is presentation only. */

form.nmdc-connected-booking-form{width:100%;max-width:100%}
form.nmdc-connected-booking-form .wc-bookings-date-picker,
form.nmdc-connected-booking-form .block-picker,
form.nmdc-connected-booking-form .wc-bookings-booking-cost,
form.nmdc-connected-booking-form [class^="wc_bookings_field_"],
form.nmdc-connected-booking-form [class*=" wc_bookings_field_"],
form.nmdc-connected-booking-form>noscript{display:none!important}
.nmdc-availability,.nmdc-availability *,.nmdc-availability *::before,.nmdc-availability *::after{box-sizing:border-box}
.nmdc-availability{--nmdc-ink:var(--gn-black,#111);--nmdc-muted:var(--gn-gray-600,#666);--nmdc-border:var(--gn-gray-200,#e5e5e5);--nmdc-border-strong:var(--gn-gray-300,#d1d1d1);--nmdc-soft:var(--gn-gray-050,#f8f8f8);--nmdc-focus:var(--gn-info,#175cd3);width:100%;max-width:100%;min-width:0;margin:0;padding:18px;border:1px solid var(--nmdc-border);border-radius:var(--gn-radius-lg,16px);background:#fff;color:var(--nmdc-ink);box-shadow:0 8px 30px rgba(17,17,17,.055);font:inherit}
.nmdc-preview-note{margin:0 0 14px;padding:8px 10px;border:1px dashed var(--nmdc-border-strong);border-radius:8px;background:var(--nmdc-soft);color:var(--nmdc-muted);font-size:.74rem;font-weight:700}
.nmdc-booking-layout{display:block;width:100%;min-width:0}
.nmdc-flow-step{position:relative;min-width:0}
.nmdc-step-heading{display:flex;align-items:center;margin:0 0 7px}.nmdc-step-heading h4{margin:0;color:var(--nmdc-ink);font-size:.82rem;font-weight:780;line-height:1.25}
.nmdc-travelers-panel{margin:0 0 12px;padding:0}.nmdc-travelers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nmdc-traveler-row{display:grid;grid-template-rows:16px 42px;row-gap:4px;min-width:0;padding:0}.nmdc-traveler-label{display:flex;align-items:flex-end;min-width:0;height:16px;color:var(--nmdc-ink);font-size:.79rem;font-weight:720;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nmdc-stepper{display:grid;grid-template-columns:42px minmax(36px,1fr) 42px;align-items:center;width:100%;min-height:42px;overflow:hidden;border:1px solid var(--nmdc-border-strong);border-radius:var(--gn-radius-sm,8px);background:#fff}
.nmdc-stepper button{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:42px;height:42px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--nmdc-ink)!important;font:inherit!important;font-size:1.25rem!important;font-weight:700!important;line-height:1!important;box-shadow:none!important;cursor:pointer}.nmdc-stepper button:first-child{border-right:1px solid var(--nmdc-border)!important}.nmdc-stepper button:last-child{border-left:1px solid var(--nmdc-border)!important}.nmdc-stepper button:hover:not(:disabled){background:var(--nmdc-soft)!important}.nmdc-stepper button:disabled{color:var(--gn-gray-300,#d1d1d1)!important;cursor:not-allowed}
.nmdc-stepper input{appearance:textfield;-moz-appearance:textfield;width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;color:var(--nmdc-ink)!important;font:inherit!important;font-size:.96rem!important;font-weight:800!important;line-height:40px!important;text-align:center!important}.nmdc-stepper input::-webkit-outer-spin-button,.nmdc-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.nmdc-calendar-panel{margin:8px 0 10px;padding:15px;border:1px solid var(--nmdc-border);border-radius:var(--gn-radius-lg,14px);background:#fff;box-shadow:0 1px 2px rgba(17,17,17,.035)}
.nmdc-calendar-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;align-items:center;min-height:44px;margin:0 0 9px}.nmdc-month-label{text-align:center;color:var(--nmdc-ink);font-size:.98rem;font-weight:780;line-height:1.2;text-transform:capitalize}.nmdc-month-nav{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:38px;height:38px;margin:0;padding:0;border:1px solid var(--nmdc-border)!important;border-radius:999px!important;background:#fff!important;color:var(--nmdc-ink)!important;font:inherit;font-size:24px;line-height:1;cursor:pointer}.nmdc-month-nav:hover:not(:disabled){border-color:var(--nmdc-ink)!important;background:var(--nmdc-soft)!important}.nmdc-month-nav:disabled{opacity:.28;cursor:not-allowed}
.nmdc-weekdays,.nmdc-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;min-width:0}.nmdc-weekdays{margin-bottom:4px}.nmdc-weekdays span{padding:4px 0 7px;color:var(--nmdc-muted);font-size:.67rem;font-weight:760;line-height:1;text-align:center}.nmdc-day-spacer{height:42px}.nmdc-day{appearance:none;-webkit-appearance:none;width:100%;height:42px;min-width:0;margin:0;padding:0;border:1px solid transparent;border-radius:var(--gn-radius-sm,8px);background:transparent;color:var(--gn-gray-400,#a3a3a3);font:inherit;font-size:.86rem;font-weight:600;line-height:1;text-align:center;cursor:default}.nmdc-day.is-available{border-color:var(--nmdc-border);background:#fff;color:var(--nmdc-ink);font-weight:700;cursor:pointer}.nmdc-day.is-available:hover{border-color:var(--nmdc-ink);background:var(--nmdc-soft)}.nmdc-day.is-selected,.nmdc-day.is-selected:hover{border-color:var(--nmdc-ink);background:var(--nmdc-ink);color:#fff}.nmdc-day.is-today{box-shadow:none}
.nmdc-options-panel{margin:0;padding:0;background:transparent}.nmdc-times-section{position:relative;min-height:46px}.nmdc-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0 0 8px}.nmdc-slot-radio{position:absolute!important;opacity:0!important;pointer-events:none!important}.nmdc-slot-card{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:42px;margin:0;padding:7px 10px;border:1px solid var(--nmdc-border-strong);border-radius:var(--gn-radius-sm,8px);background:#fff;color:var(--nmdc-ink);font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.nmdc-slot-card:hover{border-color:var(--nmdc-ink);background:var(--nmdc-soft)}.nmdc-slot-card strong{font-size:.9rem;font-weight:760;line-height:1.2}.nmdc-slot-card span{margin-top:2px;color:var(--nmdc-muted);font-size:.7rem;line-height:1.2}.nmdc-slot-card.is-selected{border-color:var(--nmdc-ink);background:var(--nmdc-ink);color:#fff}.nmdc-slot-card.is-selected span{color:#fff}.nmdc-empty{margin:0 0 8px;color:var(--nmdc-muted);font-size:.82rem;line-height:1.45}
.nmdc-price-breakdown{margin:8px 0 4px;padding:10px 0 0;border-top:1px solid var(--nmdc-border);background:transparent}.nmdc-price-breakdown[hidden]{display:none!important}.nmdc-selection-total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;color:var(--nmdc-ink)}.nmdc-selection-total span{font-size:.88rem;font-weight:700}.nmdc-selection-total strong{font-size:1.12rem;font-weight:850;letter-spacing:-.02em;white-space:nowrap}
.nmdc-status{min-height:0;margin:3px 0 0;color:var(--nmdc-muted);font-size:.76rem;line-height:1.4}.nmdc-status:empty{display:none}.nmdc-status[data-state="error"]{display:block;color:#8a1f1f}.nmdc-status[data-state="success"]{display:block;color:var(--nmdc-ink);font-weight:650}.nmdc-updating-label{min-height:0;margin:0 0 4px;color:var(--nmdc-muted);font-size:.72rem}.nmdc-updating-label:empty{display:none}.nmdc-calendar-panel.is-updating .nmdc-calendar-toolbar,.nmdc-calendar-panel.is-updating .nmdc-weekdays,.nmdc-calendar-panel.is-updating .nmdc-calendar,.nmdc-times-section.is-updating .nmdc-slots{opacity:.5;pointer-events:none}
.nmdc-cta-row{width:100%;margin-top:10px}.woocommerce .nmdc-reserve-button,.woocommerce button.nmdc-reserve-button,.nmdc-reserve-button.button.alt{display:flex!important;float:none!important;clear:both!important;width:100%!important;min-height:48px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:12px 18px!important;border:1px solid var(--nmdc-ink)!important;border-radius:var(--gn-radius-sm,8px)!important;background:var(--nmdc-ink)!important;color:#fff!important;font-size:.94rem!important;font-weight:780!important;line-height:1.2!important;box-shadow:none!important;text-shadow:none!important}.woocommerce .nmdc-reserve-button:hover:not(:disabled),.woocommerce button.nmdc-reserve-button:hover:not(:disabled){background:var(--gn-gray-900,#262626)!important;color:#fff!important}.nmdc-reserve-button:disabled,.nmdc-reserve-button[aria-disabled="true"]{border-color:var(--nmdc-border)!important;background:var(--gn-gray-100,#f5f5f5)!important;color:var(--gn-gray-500,#737373)!important;cursor:not-allowed!important;opacity:1!important}
.nmdc-phase-note{margin:7px 0 0;color:var(--nmdc-muted);font-size:.72rem;line-height:1.4;text-align:center}.nmdc-day:focus-visible,.nmdc-month-nav:focus-visible,.nmdc-stepper button:focus-visible,.nmdc-slot-card:has(.nmdc-slot-radio:focus-visible){outline:3px solid var(--nmdc-focus)!important;outline-offset:2px!important}
form.nmdc-connected-booking-form .nmdc-native-purchase-control{display:none!important}form.nmdc-standalone-cart-form{display:block;width:100%;max-width:100%;margin:0;padding:0}form.nmdc-standalone-cart-form .nmdc-availability{float:none;clear:both}
@media(max-width:520px){.nmdc-travelers{grid-template-columns:1fr}.nmdc-calendar-panel{padding:12px}.nmdc-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:340px){.nmdc-stepper{grid-template-columns:38px minmax(32px,1fr) 38px}.nmdc-stepper button{width:38px}.nmdc-calendar-panel{padding:10px}}
@media(prefers-reduced-motion:reduce){.nmdc-slot-card{transition:none!important}}
/* OTA monochrome focus: accessible without provider/Woo accent colours. */
.nmdc-day:focus-visible,.nmdc-month-nav:focus-visible,.nmdc-stepper button:focus-visible,.nmdc-slot-card:has(.nmdc-slot-radio:focus-visible){outline-color:var(--nmdc-ink)!important}

/* 0.10.5 — Lisboa.es / native Bookings is the canonical customer-facing style.
 * Exact semantic palette used by Customizations:
 * green = bookable, soft red = unavailable, dark green + inset ring = selected. */
.nmdc-availability{
    --nmdc-calendar-available:var(--gn-success,#167647);
    --nmdc-calendar-selected:#0b5d38;
    --nmdc-calendar-unavailable-bg:#fff3f3;
    --nmdc-calendar-unavailable-border:#e2a4a4;
    --nmdc-calendar-unavailable-text:#a52525;
    --nmdc-calendar-soft:var(--gn-availability-soft,var(--gn-success-soft,#eaf6ef));
}
.nmdc-month-nav:hover:not(:disabled){border-color:var(--nmdc-calendar-available)!important;background:var(--nmdc-calendar-soft)!important;color:var(--nmdc-calendar-available)!important}
.nmdc-day{border-color:var(--nmdc-calendar-unavailable-border)!important;background:var(--nmdc-calendar-unavailable-bg)!important;color:var(--nmdc-calendar-unavailable-text)!important;font-weight:650!important;opacity:1!important}
.nmdc-day.is-available{border-color:var(--nmdc-calendar-available)!important;background:var(--nmdc-calendar-available)!important;color:#fff!important;font-weight:760!important;cursor:pointer;box-shadow:none!important}
.nmdc-day.is-available:hover{border-color:var(--nmdc-calendar-selected)!important;background:var(--nmdc-calendar-selected)!important;color:#fff!important}
.nmdc-day.is-selected,.nmdc-day.is-selected:hover{border-color:var(--nmdc-calendar-selected)!important;background:var(--nmdc-calendar-selected)!important;color:#fff!important;font-weight:850!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.88)!important}
.nmdc-day-spacer{background:transparent!important}
.nmdc-day:focus-visible,.nmdc-month-nav:focus-visible{outline:3px solid rgba(22,118,71,.28)!important;outline-offset:2px!important}
/* Traveler controls copy the native Bookings pale-green controls. */
.nmdc-stepper button{background:var(--nmdc-calendar-soft)!important;color:var(--nmdc-calendar-selected)!important}
.nmdc-stepper button:hover:not(:disabled){background:#d8efdf!important;color:var(--nmdc-calendar-selected)!important}
.nmdc-stepper button:focus-visible{outline:3px solid rgba(22,118,71,.28)!important;outline-offset:-3px!important}
.nmdc-stepper button:disabled{background:#fafafa!important;color:var(--gn-gray-300,#d1d1d1)!important}
/* Available hours use the same green language as native Bookings. */
.nmdc-slot-card{border-color:var(--nmdc-calendar-available)!important;background:var(--nmdc-calendar-available)!important;color:#fff!important;font-weight:760!important}
.nmdc-slot-card span{color:#fff!important}
.nmdc-slot-card:hover{border-color:var(--nmdc-calendar-selected)!important;background:var(--nmdc-calendar-selected)!important;color:#fff!important}
.nmdc-slot-card.is-selected{border-color:var(--nmdc-calendar-selected)!important;background:var(--nmdc-calendar-selected)!important;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.88)!important}
/* CTA follows native Bookings rather than WooCommerce .button.alt purple/Connect black. */
.woocommerce .nmdc-reserve-button,.woocommerce button.nmdc-reserve-button,.nmdc-reserve-button.button.alt{border-color:var(--nmdc-calendar-available)!important;background:var(--nmdc-calendar-available)!important;color:#fff!important}
.woocommerce .nmdc-reserve-button:hover:not(:disabled),.woocommerce button.nmdc-reserve-button:hover:not(:disabled){border-color:var(--nmdc-calendar-selected)!important;background:var(--nmdc-calendar-selected)!important;color:#fff!important}
