/* Opt-in PF360 chrome: consumed by a theme-aware connector, not vendor internals.
   No full-bleed formula, iframe height override or popup controller is introduced. */
.pf360-public-launch[data-pf360-surface="booking"] { color: var(--pf360-color-text); font: inherit; font-family: var(--pf360-font-family); font-size: var(--pf360-font-size-base); line-height: var(--pf360-line-height); }
.pf360-public-launch[data-pf360-surface="booking"].pf360-public-launch--inline { padding: var(--pf360-space-6); background: var(--pf360-color-background); }
.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-launch__inner { max-width: var(--pf360-content-width); }
.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-frame { border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-card); background: var(--pf360-color-surface); }
.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-button,
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-button,
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-button { min-height: var(--pf360-control-height); padding: var(--pf360-space-2) var(--pf360-space-5); border: 1px solid var(--pf360-color-primary); border-radius: var(--pf360-radius-control); background: var(--pf360-color-primary); color: var(--pf360-color-surface); font: inherit; font-weight: 650; text-decoration: none; line-height: 1.5; box-shadow: none; }
.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-button:hover,
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-button:hover,
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-button:hover { background: var(--pf360-color-primary-hover); border-color: var(--pf360-color-primary-hover); }
.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-button:focus-visible,
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-button:focus-visible,
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__close:focus-visible,
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-button:focus-visible { outline: 3px solid var(--pf360-color-focus); outline-offset: 3px; }
.pf360-public-modal[data-pf360-surface="booking"] { border-color: var(--pf360-color-border); border-radius: var(--pf360-radius-large); background: var(--pf360-color-surface); color: var(--pf360-color-text); box-shadow: var(--pf360-shadow-raised); font-family: var(--pf360-font-family); }
.pf360-public-modal[data-pf360-surface="booking"]::backdrop { background: color-mix(in srgb, var(--pf360-color-surface-strong) 72%, transparent); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__header { padding: var(--pf360-space-5); border-color: var(--pf360-color-border); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__header h2 { font-family: var(--pf360-font-family); font-size: 1.25rem; font-weight: 650; }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__close { border-radius: var(--pf360-radius-control); border-color: var(--pf360-color-border); background: var(--pf360-color-surface); color: var(--pf360-color-text); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__status { margin: 0; padding: var(--pf360-space-3) var(--pf360-space-5); background: var(--pf360-color-surface-subtle); color: var(--pf360-color-text-muted); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__footer { padding: var(--pf360-space-3) var(--pf360-space-5); border-color: var(--pf360-color-border); background: var(--pf360-color-surface-subtle); font-size: .875rem; }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__footer a { color: var(--pf360-color-primary); text-decoration: underline; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-page { max-width: var(--pf360-content-width); padding: var(--pf360-space-6); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading { margin-bottom: var(--pf360-space-6); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading h1 { margin: var(--pf360-space-2) 0; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading p { color: var(--pf360-color-text-muted); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-offerings { gap: var(--pf360-space-4); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--pf360-space-3); padding: var(--pf360-space-5); border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-card); background: var(--pf360-color-surface); box-shadow: var(--pf360-shadow-card); overflow-wrap: anywhere; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-card h2 { margin: 0; font-size: 1.25rem; line-height: 1.3; font-weight: 650; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-card p { margin: 0; color: var(--pf360-color-text-muted); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-card .pf360-public-button { margin-top: auto; }
@media (max-width: 600px) {
    .pf360-public-launch[data-pf360-surface="booking"].pf360-public-launch--inline,
    .pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-page { padding: var(--pf360-space-4) var(--pf360-space-3); }
    .pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__header { padding: var(--pf360-space-4); }
    .pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__footer { padding: var(--pf360-space-3) var(--pf360-space-4); }
}

.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-button:disabled,
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-button:disabled { background: var(--pf360-color-surface-subtle); color: var(--pf360-color-text-muted); border-color: var(--pf360-color-border); opacity: .65; cursor: not-allowed; }

/* Live Booknetic 0.7 integration. These are PF360 components only. The native
 * engine is outside all appearance roots and keeps its own styles/renderer. */
.pf360-public-launch[data-pf360-surface="booking"] { margin-block: var(--pf360-space-4); }
.pf360-public-launch[data-pf360-surface="booking"] h2 { margin-top: 0; margin-bottom: var(--pf360-space-4); font-family: var(--pf360-font-family); font-size: 1.5rem; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.pf360-public-launch[data-pf360-surface="booking"] .pf360-public-launch__inner > .pf360-public-button { margin-top: var(--pf360-space-4); }
.pf360-public-launch[data-pf360-surface="booking"].pf360-public-unavailable { padding: var(--pf360-space-4); border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-card); background: var(--pf360-color-surface-subtle); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__header { gap: var(--pf360-space-4); background: var(--pf360-color-surface); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__frame { background: var(--pf360-color-background); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__footer { gap: var(--pf360-space-3); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__restart { box-sizing: border-box; min-height: var(--pf360-control-height); max-width: 100%; padding: var(--pf360-space-2) var(--pf360-space-3); border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-control); background: var(--pf360-color-surface); color: var(--pf360-color-primary); font: inherit; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__restart:hover { background: var(--pf360-color-surface-subtle); border-color: var(--pf360-color-primary); }
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__restart:focus-visible,
.pf360-public-modal[data-pf360-surface="booking"] .pf360-public-dialog__footer a:focus-visible,
.pf360-public-booking-document[data-pf360-surface="booking"] a:focus-visible { outline: 3px solid var(--pf360-color-focus); outline-offset: 3px; }
.pf360-public-booking-document[data-pf360-surface="booking"] { background: var(--pf360-color-background); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading { margin-bottom: var(--pf360-space-6); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading > span { font-size: .75rem; letter-spacing: .12em; font-weight: 700; color: var(--pf360-color-text-muted); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading h1 { font-family: var(--pf360-font-family); font-size: clamp(1.625rem,4vw,2.25rem); line-height: 1.25; margin: var(--pf360-space-2) 0 var(--pf360-space-3); overflow-wrap: anywhere; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-heading p { margin: 0; max-width: 750px; color: var(--pf360-color-text-muted); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-toolbar { margin-bottom: var(--pf360-space-4); }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-page > h2 { font-family: var(--pf360-font-family); font-size: 1.375rem; line-height: 1.35; overflow-wrap: anywhere; }
.pf360-public-booking-document[data-pf360-surface="booking"] a:not(.pf360-public-button) { color: var(--pf360-color-primary); text-underline-offset: 3px; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-footer { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: var(--pf360-space-4); padding-top: var(--pf360-space-4); border-top: 1px solid var(--pf360-color-border); font-size: .8125rem; color: var(--pf360-color-text-muted); }
.pf360-public-booking-document[data-pf360-surface="booking"][data-pf360-booking-region="footer"] .pf360-public-page { padding-top: 0; }
.pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--pf360-space-5); margin-top: var(--pf360-space-6); }
@media (max-width: 600px) {
    .pf360-public-modal[data-pf360-surface="booking"] { border: 0; border-radius: 0; }
    .pf360-public-booking-document[data-pf360-surface="booking"] .pf360-public-footer { display: grid; gap: var(--pf360-space-3); }
}
