/* Eventin transaction screens can render outside the usual theme template.
   Keep these overrides scoped to plugin roots; do not alter payment logic. */
@media screen {
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) { color: #f0f6ff; font-family: Inter, 'IBM Plex Sans', Arial, sans-serif; line-height: 1.6; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-ticket-download-wrapper, .etn-download-ticket) {
 box-sizing: border-box; width: 100%; max-width: 1180px; margin: 32px auto; padding: clamp(16px, 3vw, 32px);
}
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.eventin-page-wrapper,.eventin-container,.eventin-content-wrapper,.eventin-container-style,.eventin-page-header,.eventin-header-container) {
 background: transparent !important; color: #f0f6ff !important; max-width: 100%;
}
/* Give Eventin's checkout heading and navigation a clear, themed starting point. */
#eventin-checkout :is(.eventin-page-header,.eventin-header-container) {
 box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
 gap: 16px; width: 100%; margin: 0 0 24px; padding: clamp(18px, 3vw, 28px) !important;
 background: linear-gradient(145deg, #142d4b, #0e2039) !important;
 border: 1px solid #385675; border-radius: 18px; box-shadow: 0 16px 40px #00000025;
}
#eventin-checkout :is(.eventin-page-header,.eventin-header-container) :is(h1,h2,h3,.eventin-title,.eventin-page-title) {
 margin: 0; color: #f0f6ff !important; font-size: clamp(25px, 3.5vw, 34px) !important; line-height: 1.2;
}
#eventin-checkout :is(.eventin-page-header,.eventin-header-container) :is(p,.eventin-subtitle,.eventin-breadcrumb,.ant-breadcrumb) { color: #bacbe2 !important; }
#eventin-checkout :is(.eventin-page-header,.eventin-header-container) :is(a,button,.eventin-back-button,.eventin-back-btn,.eventin-go-back-btn,.eventin-back-to-event-button) {
 display: inline-flex; align-items: center; justify-content: center; gap: 8px;
 min-height: 44px; padding: 10px 18px !important; border: 1px solid #385675 !important;
 border-radius: 9px; background: #203b59 !important; color: #f0f6ff !important;
 font: inherit; font-weight: 700; line-height: 1.3; text-decoration: none !important; box-shadow: none;
}
#eventin-checkout :is(.eventin-page-header,.eventin-header-container) :is(a,button):hover {
 background: #67e8f9 !important; border-color: #67e8f9 !important; color: #071528 !important;
}
#eventin-checkout .eventin-navigation-row :is(a,button,.eventin-back-button,.eventin-back-btn,.eventin-go-back-btn,.eventin-back-to-event-button) {
 display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px !important;
 border: 1px solid #385675 !important; border-radius: 9px; background: #203b59 !important;
 color: #f0f6ff !important; font-weight: 700; line-height: 1.3; text-decoration: none !important; box-shadow: none;
}
#eventin-checkout .eventin-navigation-row :is(a,button):hover {
 background: #67e8f9 !important; border-color: #67e8f9 !important; color: #071528 !important;
}
/* Eventin's empty-cart screen uses a separate link class, and checkout's Back
   button can be a default Ant button rather than a primary action. */
#eventin-checkout :is(.eventin-back-to-home-link,.eventin-back-button,.eventin-back-btn,.eventin-go-back-btn,.eventin-back-to-event-button,.eventin-navigation-row a),
#eventin-checkout .ant-btn:not(.ant-btn-primary) {
 display: inline-flex; align-items: center; justify-content: center; gap: 8px;
 min-height: 44px; padding: 10px 18px !important; border: 1px solid #385675 !important;
 border-radius: 9px; background: #203b59 !important; color: #f0f6ff !important;
 font: inherit; font-weight: 700; line-height: 1.3; text-decoration: none !important; box-shadow: none !important;
}
#eventin-checkout :is(.eventin-back-to-home-link,.eventin-back-button,.eventin-back-btn,.eventin-go-back-btn,.eventin-back-to-event-button,.eventin-navigation-row a,.ant-btn:not(.ant-btn-primary)):hover {
 background: #67e8f9 !important; border-color: #67e8f9 !important; color: #071528 !important;
}
#eventin-checkout .etn-order-purchase-create-form button.eventin-back-button.ant-btn.ant-btn-default {
 min-height: 44px !important; padding: 10px 18px !important; border: 1px solid #385675 !important;
 border-radius: 9px !important; background: #203b59 !important; color: #f0f6ff !important; box-shadow: none !important;
}
#eventin-checkout .eventin-empty-cart-container { padding: clamp(24px, 4vw, 40px) !important; }
#eventin-checkout .eventin-cart-title { margin: 0 0 10px !important; font-size: clamp(25px, 3.5vw, 34px) !important; }
/* The non-empty checkout uses this header and Ant Design's vertical stepper. */
#eventin-checkout .etn-order-purchase-create-form > .eventin-header-container {
 display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px;
 box-sizing: border-box; width: 100%; margin: 0 0 24px; padding: clamp(18px, 3vw, 28px) !important;
 background: linear-gradient(145deg, #142d4b, #0e2039) !important;
 border: 1px solid #385675; border-radius: 18px; box-shadow: 0 16px 40px #00000025;
}
#eventin-checkout .etn-order-purchase-create-form > .eventin-header-container > .eventin-title {
 flex: 0 1 auto; margin: 0 !important; color: #f0f6ff !important; font-size: clamp(24px, 3vw, 32px) !important; line-height: 1.2;
}
#eventin-checkout .etn-order-purchase-create-form .eventin-steps.ant-steps-vertical {
 display: flex !important; flex: 1 1 420px; flex-direction: row !important; gap: 10px; max-width: 660px;
}
#eventin-checkout .eventin-steps .ant-steps-item {
 flex: 1 1 0; min-width: 0; margin: 0; padding: 10px 12px;
 background: #10233d; border: 1px solid #385675; border-radius: 10px;
}
#eventin-checkout .eventin-steps .ant-steps-item-container { display: flex; align-items: center; gap: 9px; }
#eventin-checkout .eventin-steps .ant-steps-item-tail { display: none; }
#eventin-checkout .eventin-steps .ant-steps-item-icon { flex: 0 0 auto; margin: 0; background: #0a1a30; border-color: #58708e; }
#eventin-checkout .eventin-steps .ant-steps-item-icon .ant-steps-icon { color: #bacbe2; }
/* The completed step uses Eventin's own purple check SVG; keep its wrapper clear. */
#eventin-checkout .eventin-step-attendee-details .ant-steps-item-icon { background: transparent !important; border-color: transparent !important; }
#eventin-checkout .eventin-step-attendee-details .ant-steps-item-icon .ant-steps-icon { color: #f0f6ff; }
#eventin-checkout .eventin-steps .ant-steps-item-process:not(.eventin-step-attendee-details) .ant-steps-item-icon { background: #67e8f9; border-color: #67e8f9; }
#eventin-checkout .eventin-steps .ant-steps-item-process:not(.eventin-step-attendee-details) .ant-steps-item-icon .ant-steps-icon { color: #071528; }
#eventin-checkout .eventin-steps .ant-steps-item-title { color: #bacbe2 !important; font-size: 13px; white-space: normal; }
#eventin-checkout .eventin-steps .ant-steps-item-process .ant-steps-item-title { color: #f0f6ff !important; }
@media (max-width: 575px) {
 #eventin-checkout .etn-order-purchase-create-form > .eventin-header-container { display: block; }
 #eventin-checkout .etn-order-purchase-create-form > .eventin-header-container > .eventin-title { margin-bottom: 16px !important; }
 #eventin-checkout .etn-order-purchase-create-form .eventin-steps.ant-steps-vertical { width: 100%; max-width: none; gap: 8px; }
 #eventin-checkout .eventin-steps .ant-steps-item { padding: 8px; }
 #eventin-checkout .eventin-steps .ant-steps-item-title { font-size: 12px; }
}
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.eventin-card,.eventin-styled-card,.eventin-form-card-container,.eventin-billing-form-container,.eventin-attendee-details-container,.eventin-purchase-order-summary,.eventin-empty-cart-container,.eventin-error-content,.eventin-payment-failed-content,.etn-attendee-form,.etn-ticket-container,.etn-ticket-placeholder,.ant-card,.etn-ticket,.etn-ticket-body,.etn-ticket-head) {
 background: #10233d !important; color: #f0f6ff !important; border: 1px solid #385675 !important;
 border-radius: 16px; box-shadow: 0 16px 40px #00000025;
}
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(h1,h2,h3,h4,h5,h6,label,.eventin-title,.eventin-text,.eventin-amount,.eventin-total,.eventin-total-value,.eventin-total-price,.etn-ticket-title,.etn-ticket-price,.eventin-attendee-name,.eventin-summary-item,.ant-typography,.ant-form-item-label > label,.ant-card-head-title,.ant-steps-item-title) { color: #f0f6ff !important; font-family: inherit; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(p,small,.eventin-subtitle,.eventin-location-text,.eventin-date-time,.eventin-amount-label,.eventin-subtotal-label,.eventin-tax-label,.etn-ticket-description,.etn-ticket-sale-end-date,.etn-ticket-head-time,.ant-steps-item-description,.ant-radio-wrapper,.ant-checkbox-wrapper) { color: #bacbe2 !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.eventin-order-table, .eventin-order-table-body,.eventin-table-header,.eventin-table-row,.eventin-summary-item,.eventin-subtotal-area,.eventin-subtotal-wrapper,.eventin-total,.eventin-tax-info-container,.eventin-reference-section,.ant-card-head,.ant-collapse,.ant-collapse-item,.ant-collapse-header,.ant-collapse-content) {
 background: #10233d !important; color: #f0f6ff !important; border-color: #385675 !important;
}
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.eventin-divider,hr) { border-color: #385675 !important; background: #385675 !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) a { color: #67e8f9; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='submit']),select,textarea,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector) {
 background: #0a1a30 !important; color: #f0f6ff !important; border: 1px solid #58708e !important;
 border-radius: 8px; max-width: 100%; min-height: 44px; box-sizing: border-box;
}
/* Ant Design draws a wrapper border; keep its nested input borderless. */
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) .ant-input-affix-wrapper .ant-input {
 background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important;
 min-height: 0; outline: 0;
}
/* Some Eventin builds render the nested control without Ant's .ant-input class. */
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root) .ant-input-affix-wrapper input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='submit']) {
 background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important;
 min-height: 0; outline: 0;
}
:is(#eventin-checkout,.etn-attendee-registration-page,.etn-purchase-ticket-root) .ptum-single-attendee-heading { display: none !important; }
.ptum-eventin-member-error { margin-top: 6px; color: #ffb4b4; font-size: 0.875rem; line-height: 1.4; }
.ptum-eventin-member-error[hidden] { display: none; }
/* Keep the Attendee Details heading and every attendee in one continuous panel. */
#eventin-checkout .eventin-attendee-details-container.ptum-attendee-panel-heading {
 margin: 24px 0 0 !important; padding: 16px 20px 8px !important;
 background: #10233d !important; border: 1px solid #385675 !important; border-bottom: 0 !important;
 border-radius: 16px 16px 0 0 !important; box-shadow: 0 16px 40px #00000025 !important;
}
#eventin-checkout .eventin-ticket-info.ptum-attendee-panel-item {
 box-sizing: border-box; margin: 0 !important; padding: 0 20px !important;
 background: #10233d !important; border: 1px solid #385675 !important; border-top: 0 !important;
 border-bottom: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
#eventin-checkout .eventin-ticket-info.ptum-attendee-panel-first { padding-top: 4px !important; }
#eventin-checkout .eventin-ticket-info.ptum-attendee-panel-last {
 padding-bottom: 12px !important; border-bottom: 1px solid #385675 !important;
 border-radius: 0 0 16px 16px !important; box-shadow: 0 16px 40px #00000025 !important;
}
#eventin-checkout .eventin-ticket-info.ptum-attendee-panel-item .eventin-form-card-container {
 margin: 0 !important; padding: 14px 0 !important; background: transparent !important;
 border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
#eventin-checkout .eventin-ticket-info.ptum-attendee-panel-item:not(.ptum-attendee-panel-first) .eventin-form-card-container {
 border-top: 1px solid #385675 !important;
}
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(input,textarea)::placeholder { color: #a2b6d1 !important; opacity: 1; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.ant-select-selection-placeholder,.ant-select-arrow,.ant-input-number-handler-wrap) { color: #bacbe2 !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(input[type='checkbox'],input[type='radio']) { accent-color: #67e8f9; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(button[type='submit'],input[type='submit'],.etn-btn,.etn-purchase-button,.eventin-submit-button,.eventin-coupon-apply-button,.eventin-ticket-download-link,.eventin-back-to-event-button,.eventin-go-back-btn,.eventin-try-again-button,.eventin-not-found-back-button,.ant-btn-primary) {
 background: #67e8f9 !important; color: #071528 !important; border: 1px solid #67e8f9 !important;
 border-radius: 8px; min-height: 44px; font-weight: 700; box-shadow: none;
}
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(button,input[type='submit']):disabled { opacity: .5; cursor: not-allowed; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(a,button,input,select,textarea):focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.etn-error,.error-text,.eventin-coupon-error,.ant-form-item-explain-error,.etn-purchase-ticket-error) { color: #ffb4b4 !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.eventin-alert,.etn-ticket-alert,.etn-purchase-ticket-alert,.ant-alert) { background: #17354a !important; color: #f0f6ff !important; border-color: #58708e !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.ant-alert-error,.etn-payment-error-alert) { background: #411f2a !important; border-color: #ffb4b4 !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.ant-alert-message,.ant-alert-description) { color: inherit !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) .ant-alert-success { background: #103b3d !important; border-color: #45958a !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.eventin-billing-col,.eventin-summary-col,.eventin-col) { min-width: 0; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.etn-ticket-head-title,.etn-ticket-body-top-li,.etn-ticket-body-top-li strong,.etn-ticket-body-top-li span) { color: #f0f6ff !important; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) :is(.etn-ticket-main-wrapper,.etn-ticket-wrapper,.etn-ticket-wrap) { max-width: 100%; box-sizing: border-box; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) .etn-ticket-qr-code { background: white !important; color: black !important; padding: 12px; border-radius: 8px; }
:is(#eventin-checkout, .etn-attendee-registration-page, .etn-attendee-edit-info-page, .etn-purchase-ticket-root, .etn-ticket-download-wrapper, .etn-download-ticket) .etn-ticket-action { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
/* Native select popups can be portalled outside the checkout root. */
body.eventin-checkout-page .ant-select-dropdown { background: #10233d !important; }
body.eventin-checkout-page .ant-select-dropdown .ant-select-item { color: #f0f6ff !important; }
body.eventin-checkout-page .ant-select-dropdown .ant-select-item-option-active,
body.eventin-checkout-page .ant-select-dropdown .ant-select-item-option-selected { background: #203b59 !important; }
}

@media screen {
/* Eventin can also add its attendee table to a WooCommerce order screen. */
.woocommerce-order-details:has(th.attendee-name) {
 background: #10233d; color: #f0f6ff; border: 1px solid #385675;
 border-radius: 16px; padding: 24px; overflow-x: auto;
}
.woocommerce-order-details:has(th.attendee-name) :is(h2,th,td) { color: #f0f6ff; border-color: #385675; }
.woocommerce-order-details:has(th.attendee-name) a { color: #67e8f9; }
.etn-ticket-download-wrapper :is(.etn-ticket-body-top,.etn-ticket-body-bottom,.etn-ticket-price-aside) { background: #10233d !important; border-color: #385675 !important; }
.etn-download-ticket { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
}
@media screen {
:is(#eventin-checkout,.etn-attendee-registration-page,.etn-attendee-edit-info-page,.etn-ticket-download-wrapper) h1 { font-size: clamp(28px, 4vw, 38px) !important; line-height: 1.2; }
:is(#eventin-checkout,.etn-attendee-registration-page,.etn-attendee-edit-info-page,.etn-ticket-download-wrapper) h2 { font-size: 24px !important; line-height: 1.3; }
:is(#eventin-checkout,.etn-attendee-registration-page,.etn-attendee-edit-info-page,.etn-ticket-download-wrapper) h3 { font-size: 20px !important; line-height: 1.4; }
}
@media screen {
.eventin-payment-modal :is(.ant-modal-content,.ant-modal-header,.eventin-modal-content) { background: #10233d !important; color: #f0f6ff !important; border-color: #385675; }
.eventin-payment-modal :is(.ant-modal-title,.ant-modal-close,.eventin-payment-options-title) { color: #f0f6ff !important; }
}

/* Booking confirmation: a coherent panel, with a distinct ticket-download area. */
@media screen {
#eventin-checkout .eventin-container-style:has(.eventin-order-table) {
 max-width: 960px; margin: 0 auto; padding: clamp(20px, 4vw, 40px) !important;
 background: linear-gradient(145deg, #142d4b, #0e2039) !important;
 border: 1px solid #385675; border-radius: 20px; box-shadow: 0 20px 56px #00000030;
}
#eventin-checkout .eventin-container-style > div > .eventin-row {
 align-items: center; gap: 20px; flex-wrap: nowrap;
}
#eventin-checkout .eventin-container-style > div > .eventin-row > :first-child {
 flex: 0 0 64px !important; max-width: 64px !important;
}
#eventin-checkout .eventin-container-style > div > .eventin-row > :last-child {
 flex: 1 1 auto !important; max-width: none !important; min-width: 0;
}
#eventin-checkout .eventin-container-style > div > .eventin-row img {
 display: block; width: 64px !important; height: 64px; object-fit: contain; border-radius: 50%;
}
#eventin-checkout .eventin-order-table { border: 1px solid #385675; border-radius: 12px; overflow: hidden; margin-block: 20px; }
#eventin-checkout .eventin-table-header { padding: 16px 20px; font-weight: 700; }
#eventin-checkout .eventin-col:has(> .eventin-download-tickets-title) {
 background: #0a1a30; border: 1px solid #385675; border-radius: 12px;
 padding: 20px !important; margin-block: 8px 20px;
}
#eventin-checkout .eventin-ticket-download-link {
 display: inline-flex !important; align-items: center; justify-content: center;
 padding: 10px 18px !important; min-height: 44px; line-height: 1.4;
 text-decoration: none; box-sizing: border-box; font-weight: 700;
}
#eventin-checkout .eventin-navigation-row { margin-top: 8px; }

/* One ticket surface: avoid nested boxes and keep its details readable. */
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) { max-width: 920px !important; padding: 20px !important; margin: 24px auto 0 !important; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-main-wrapper {
 width: 100% !important; padding: clamp(22px, 4vw, 40px) !important; margin: 0 !important;
 background: linear-gradient(145deg, #142d4b, #0e2039); border: 1px solid #385675 !important;
 border-radius: 20px; box-shadow: 0 20px 56px #00000030;
}
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) :is(.etn-ticket,.etn-ticket-head,.etn-ticket-body,.etn-ticket-body-top,.etn-ticket-body-bottom,.etn-ticket-price-aside) {
 background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important;
}
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-wrapper { padding-bottom: 0; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-logo-wrapper { padding-bottom: 20px; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-logo-wrapper img { width: 72px; height: 72px; object-fit: contain; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .logo-shape { display: none; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-head {
 padding: 0 0 24px !important; margin-bottom: 24px; border-bottom: 1px dashed #58708e !important;
}
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) h3.etn-ticket-head-title { font-size: clamp(23px, 3vw, 30px) !important; margin: 0 0 12px; line-height: 1.3; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-head-time { margin: 0; line-height: 1.7; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-body-top-ul { gap: 18px 24px; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-body-top-li {
 flex: 1 1 calc(50% - 24px); min-width: 0; margin: 0; padding: 0; line-height: 1.7; overflow-wrap: anywhere;
}
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-body-top-li p { margin: 4px 0 0; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-qr-code:not(:has(img,svg,canvas)) { display: none !important; }
:is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-qr-code:has(img,svg,canvas) {
 width: fit-content; max-width: 100%; margin: 24px auto 0; padding: 16px; background: #fff !important;
}
.etn-download-ticket {
 max-width: 920px !important; width: 100% !important; margin: 0 auto 32px !important;
 padding: 20px !important; gap: 12px;
}
.etn-download-ticket :is(.etn-print-ticket-btn,.etn-download-ticket-btn) {
 flex: 0 1 auto !important; width: auto !important; min-width: 140px;
 padding: 12px 24px !important; margin: 0 !important; line-height: 1.4;
}
/* Eventin's standalone ticket template does not load the normal page shell. */
body.ptum-ticket-view-page {
 margin: 0; min-height: 100vh; background: #071528; color: #f0f6ff;
}
body.ptum-ticket-view-page .ptum-ticket-view-header { position: relative; width: auto; }
body.ptum-ticket-view-page .ptum-ticket-view-mark {
 display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
 border-radius: 10px; background: linear-gradient(135deg, #67e8f9, #2563eb); color: #071528; font-weight: 800;
}
/* One visible panel, with controls outside the native ticket capture roots. */
body.ptum-ticket-view-page .ptum-ticket-panel {
 width: calc(100% - 40px); max-width: 880px; margin: 24px auto 32px;
 background: linear-gradient(145deg, #142d4b, #0e2039);
 border: 1px solid #385675; border-radius: 20px; box-shadow: 0 20px 56px #00000030;
 box-sizing: border-box; flex-shrink: 0;
}
body.ptum-ticket-view-page .ptum-ticket-panel :is(#ptum-ticket-view, .etn-ticket-download-wrapper) {
 width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
}
body.ptum-ticket-view-page .ptum-ticket-panel :is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-main-wrapper {
 background: transparent; border: 0 !important; box-shadow: none;
}
body.ptum-ticket-view-page .ptum-ticket-panel > .etn-download-ticket {
 position: static; display: flex; box-sizing: border-box;
 width: 100% !important; margin: 0 !important; padding: 20px !important;
 border-top: 1px solid #385675;
}
@media (max-width: 600px) {
 body.ptum-ticket-view-page {
  padding-bottom: calc(var(--ptum-ticket-nav-height, 72px) + 24px);
 }
 body.ptum-ticket-view-page:has(.ptum-mobile-member-nav) > .site-footer { display: none; }
 body.ptum-ticket-view-page .ptum-ticket-panel > .etn-download-ticket :is(.etn-print-ticket-btn,.etn-download-ticket-btn) {
  flex: 1 1 0 !important; min-width: 0; padding: 12px !important;
 }
}
@media (max-width: 575px) {
 :is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-body-top-ul { flex-direction: column; }
 :is(#ptum-ticket-view, .etn-ticket-download-wrapper) .etn-ticket-body-top-li { flex-basis: auto; }
 #eventin-checkout .eventin-container-style > div > .eventin-row { align-items: flex-start; gap: 14px; }
 #eventin-checkout .eventin-container-style > div > .eventin-row > :first-child { flex-basis: 48px !important; max-width: 48px !important; }
 #eventin-checkout .eventin-container-style > div > .eventin-row img { width: 48px !important; height: 48px; }
}
}
@media print {
 body.ptum-ticket-view-page .etn-download-ticket,
 body.ptum-ticket-view-page > .site-footer { display: none !important; }
}
/* Keep the food preference out of view until the ticket-specific behavior runs. */
:is(#eventin-checkout,.etn-attendee-registration-page,.etn-purchase-ticket-root) .eventin-form-card-container .ant-form-item:has(.ant-form-item-label label[title*="food preference" i]):not(.ptum-eventin-dinner-field-visible),
.ptum-eventin-dinner-field-hidden {
 position: absolute !important; width: 1px !important; height: 1px !important;
 margin: -1px !important; padding: 0 !important; overflow: hidden !important;
 clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important;
 white-space: nowrap !important; border: 0 !important;
}
.ant-select-dropdown.ptum-eventin-default-pending {
 visibility: hidden !important; pointer-events: none !important;
}
:is(#eventin-checkout,.etn-attendee-registration-page,.etn-purchase-ticket-root) .eventin-form-card-container .ant-form-item.ptum-eventin-dinner-field-visible {
 position: relative !important; width: auto !important; height: auto !important;
 margin: revert !important; padding: revert !important; overflow: visible !important;
 clip: auto !important; clip-path: none !important; white-space: normal !important;
 border: revert !important;
}
