/* Shared event workspace and public forms. Scoped to PYT, never the WP theme. */
.pb-wrap,
.pb-wrap :is(.pb-space-card-booking,.pb-event-space-action-booking,.pb-ticketing-public,.pb-ticketing-admin,.pb-ticket-order,.pb-manage-hero-booking,.pb-booking-share-panel) {
  --pb-primary:#087e79; --pb-primary-dark:#07645f; --pb-primary-soft:#e8f5f2;
}
.pb-wrap { color:#183441; }
.pb-wrap [hidden] { display:none !important; }
.pb-wrap :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #2463eb; outline-offset:3px; }
.pb-wrap :is(h2,h3,h4) { letter-spacing:-.025em; }
.pb-wrap .pb-dashboard-header { padding:18px 24px; margin-bottom:24px; box-shadow:none; }
.pb-wrap .pb-dashboard-header h2 { font-size:1.15rem; margin:2px 0; }
.pb-wrap .pb-manage-top { margin:0 0 12px; font-size:.85rem; }
.pb-wrap .pyt-event-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:24px; margin:0 0 20px; background:#fff; box-shadow:none; }
.pb-wrap .pyt-event-header h2 { color:#183441; font-size:clamp(1.4rem,3vw,2rem); line-height:1.25; margin:8px 0 0; }
.pb-wrap .pyt-event-eyebrow { display:flex; align-items:center; gap:12px; }
.pb-wrap .pyt-event-header .pb-kicker { color:#496576; }
.pb-wrap .pyt-status { color:#075f54; background:#e5f5ee; border:1px solid #bcdfd0; padding:3px 10px; font-size:.75rem; font-weight:650; border-radius:99px; }
.pb-wrap .pyt-event-header .pb-actions { gap:8px; flex-wrap:wrap; }
.pb-wrap .pyt-event-header .pb-button { font-size:.82rem; padding:10px 14px; min-height:42px; }
.pb-wrap .pb-space-switcher { display:flex; gap:6px; background:#e9f0f3; padding:5px; border-radius:12px; margin:0 0 18px; }
.pb-wrap .pb-space-switcher-item { flex:1; text-align:center; padding:12px 14px; }
.pb-wrap .pb-space-switcher .pb-space-switcher-item.is-active { border:1px solid #c4ded8; background:#fff; box-shadow:0 1px 3px #12352d0a; }
.pb-wrap .pb-space-switcher .pb-space-switcher-item.is-active :is(span,strong) { color:#075f54; }
.pb-wrap .pb-space-switcher .pb-space-switcher-item.is-active::after { background:#087e79; }
.pb-wrap :is(.pyt-event-nav,.pyt-booking-nav,.pyt-settings-nav) { display:flex; flex-wrap:nowrap; overflow:auto; gap:4px; align-items:center; background:#fff; padding:6px; margin:0 0 24px; border:1px solid #dce6eb; border-radius:12px; }
.pb-wrap :is(.pyt-event-nav,.pyt-booking-nav,.pyt-settings-nav) :is(a,button) { flex:0 0 auto; white-space:nowrap; border:0; border-radius:8px; padding:12px 16px; min-height:44px; color:#3e5867; background:transparent; font-size:.88rem; line-height:1.3; text-decoration:none; box-shadow:none; }
.pb-wrap :is(.pyt-event-nav,.pyt-booking-nav,.pyt-settings-nav) :is(a,button):hover { background:#f0f7f5; }
.pb-wrap .pyt-event-nav a[aria-current],.pb-wrap .pyt-event-nav button[aria-pressed="true"],.pb-wrap .pyt-booking-nav button[aria-pressed="true"],.pb-wrap .pyt-settings-nav a[aria-current] { background:#173d47; color:#fff; }
.pb-wrap .pb-ticketing-admin { padding:0; border:0; background:transparent; }
.pb-wrap .pb-ticketing-admin [data-pyt-panel] { padding:24px; border:1px solid #dce6eb; border-radius:14px; background:#fff; }
.pb-wrap .pyt-share-compact { display:block; margin:0 0 16px; padding:14px 20px; border:1px solid #dce6eb; background:#fff; }
.pb-wrap .pyt-share-compact summary { font-weight:600; color:#075f54; cursor:pointer; }
.pb-wrap .pyt-share-compact[open] > :not(summary) { margin-top:12px; }
.pb-wrap .pyt-share-compact .pb-share-panel-copy { display:none; }
.pb-wrap .pb-section-title h3,.pb-wrap [data-settings-panel] h2 { font-size:1.35rem; line-height:1.35; margin-top:0; }
.pb-wrap [data-settings-panel] h3 { font-size:1.1rem; }
.pb-wrap [data-settings-panel] > .pyt-booking-edit { margin:0; }
.pb-wrap [data-settings-panel] .pb-form { max-width:900px; }
.pb-wrap :is([data-question-row],[data-pyt-payment-settings] fieldset) { margin:20px 0; padding:20px; border:1px solid #dce6eb; border-radius:12px; background:#f9fbfc; min-width:0; }
.pb-wrap :is([data-question-row],[data-pyt-payment-settings] fieldset) legend { padding:0 8px; font-weight:650; color:#244955; }
.pb-wrap [data-question-settings] > button[type="submit"] { display:block; margin-top:24px; }
.pb-wrap :is(input,textarea,select) { min-width:0; }
.pb-wrap :is(.pb-form,.pb-registration-card) label:has(>input[type="checkbox"]) { display:flex; align-items:center; gap:9px; }
.pb-wrap :is(.pb-form,.pb-registration-card) input:is([type="checkbox"],[type="radio"]) { width:18px; height:18px; flex:none; accent-color:#087e79; }
.pb-wrap :is(.pyt-booking-edit,.pb-registration-card,.pb-ticketing-public) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { border-radius:9px; border-color:#bbccd6; background:#fff; color:#183441; }
.pb-wrap .pb-public-hero,.pb-wrap .pb-booking-hero { background:#fff; border:1px solid #dce6eb; box-shadow:none; padding:28px; }
.pb-wrap :is(.pb-public-hero,.pb-booking-hero) :is(h1,h2,p,.pb-kicker) { color:#183441; }
.pb-wrap :is(.pb-public-hero,.pb-booking-hero) .pb-share-mini { background:#edf7f4; color:#075f54; border-color:#c4ded8; }
.pb-wrap :is(.pb-ticketing-public,.pb-registration-card) { border-color:#dce6eb; background:#fff; border-radius:14px; }
.pb-wrap .pb-ticket-total { background:#edf7f4; border:1px solid #c4ded8; color:#075f54; border-radius:12px; }
.pb-wrap :is(.pyt-form-step,.pb-step-intro) { font-size:1rem; font-weight:650; color:#183441; }
.pb-wrap :is(.pyt-form-step>span,.pb-step-number) { background:#e8f5f2; color:#07645f; }
.pb-wrap :is(.pyt-event-questions) { margin:24px 0; padding:20px; border:1px solid #dce6eb; border-radius:12px; }
.pb-wrap .pyt-question-answers { margin:12px 0; padding:12px; background:#f4f8fa; border-radius:8px; overflow-wrap:anywhere; }
.pb-wrap .pb-alert { border-radius:10px; padding:14px 18px; }
@media(max-width:700px) {
 .pb-wrap .pb-dashboard-header { padding:16px; gap:12px; }
 .pb-wrap .pyt-event-header { padding:18px; gap:16px; }
 .pb-wrap .pyt-event-header .pb-actions { width:100%; }
 .pb-wrap .pyt-event-header .pb-button { flex:1 1 auto; text-align:center; }
 .pb-wrap .pb-space-switcher-item { padding:12px 8px; }
 .pb-wrap .pb-space-switcher-item strong { font-size:.86rem; }
 .pb-wrap :is(.pyt-settings-nav,.pyt-booking-nav,.pyt-event-nav) { margin-bottom:18px; }
 .pb-wrap .pb-ticketing-admin [data-pyt-panel] { padding:16px; }
 .pb-wrap :is([data-question-row],[data-pyt-payment-settings] fieldset) { padding:14px; }
 .pb-wrap :is(.pb-public-hero,.pb-booking-hero) { padding:20px; }
 .pb-wrap .pb-booking-share-panel .pb-share-link-row { grid-template-columns:1fr; }
 .pb-wrap .pb-form-grid { grid-template-columns:1fr; }
}
@media print { .pb-wrap :is(.pyt-settings-nav,.pb-space-switcher,.pyt-event-header .pb-actions,.pyt-share-compact) { display:none; } }

/* Reservation recovery controls share the event workspace styling. */
.pb-wrap .pyt-expiry-actions { margin-top:20px; padding-top:16px; border-top:1px solid #dce7ec; }
.pb-wrap .pyt-expiry-actions h4 { margin:0 0 12px; }
.pb-wrap .pyt-expiry-actions > form + form { margin-top:20px; padding-top:16px; border-top:1px solid #dce7ec; }
.pb-wrap .pyt-expiry-actions .pb-button { max-width:100%; white-space:normal; }

.pb-wrap :is(.pyt-order-delete,.pyt-order-cancel) { margin-top:20px; padding-top:16px; border-top:1px solid #eed6d6; }
.pb-wrap :is(.pyt-order-delete,.pyt-order-cancel) > summary { color:#a42828; }
.pb-wrap :is(.pyt-order-delete,.pyt-order-cancel) .pb-button { color:#a42828; border-color:#debcbc; max-width:100%; white-space:normal; }
