body.kpg-calendar-page.kpg-checkout-open { overflow: hidden; }
.kpg-checkout { box-sizing: border-box; color: #f5f7fb; background: #202630; border: 1px solid #52647d; border-radius: 14px; padding: 26px; font: 15px/1.5 Roboto, Arial, sans-serif; }
dialog.kpg-checkout { width: min(860px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; }
dialog.kpg-checkout::backdrop { background: #000b; }
.kpg-checkout [hidden] { display: none !important; }
.kpg-checkout h2 { color: #f5f7fb; font: 700 24px/1.3 Consolas, monospace; margin: 0 0 16px; max-width: calc(100% - 50px); overflow-wrap: anywhere; white-space: normal; }
.kpg-checkout p { margin: 12px 0; }
.kpg-checkout label { font-weight: 400; margin: 0; color: #f5f7fb; }
.kpg-checkout fieldset { min-width: 0; border: 1px solid #596674; border-radius: 10px; padding: 14px; margin: 20px 0; }
.kpg-checkout legend { width: auto; border: 0; padding: 0 6px; font-size: 16px; color: #f5f7fb; }
.kpg-cf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 12px 0; }
.kpg-cf-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.kpg-checkout input:not([type=checkbox]):not([type=radio]):not([type=range]), .kpg-checkout select, .kpg-checkout textarea { width: 100%; min-width: 0; min-height: 44px; padding: 9px; color: #f5f7fb; background: #171c25; border: 1px solid #738196; border-radius: 6px; font: inherit; box-sizing: border-box; color-scheme: dark; }
.kpg-checkout input[type=checkbox], .kpg-checkout input[type=radio] { accent-color: #f5002b; width: 18px; height: 18px; vertical-align: middle; }
.kpg-checkout input[type=range] { width: 100%; min-height: 36px; accent-color: #f5002b; }
.kpg-checkout button { min-height: 44px; padding: 10px 15px; color: #fff; background: #273242; border: 1px solid #738196; border-radius: 8px; font: 700 15px/1.4 Roboto, Arial, sans-serif; }
.kpg-checkout button.kpg-primary { background: #f5002b; border-color: #f5002b; }
.kpg-checkout button:disabled { opacity: .55; cursor: not-allowed; }
.kpg-checkout :focus-visible { outline: 3px solid #ff859b; outline-offset: 3px; }
.kpg-checkout a { color: #ff9caf; text-decoration: underline; }
.kpg-checkout .kpg-cf-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; padding: 0; font-size: 24px; line-height: 1; }
.kpg-cf-option { padding: 4px 0; }
.kpg-cf-progress { display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; padding: 0; color: #c7d0dc; }
.kpg-cf-progress [aria-current] { color: #ff859b; font-weight: 700; }
.kpg-cf-info { display: inline-block; vertical-align: middle; margin: 4px 8px; }
.kpg-cf-info summary { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border: 1px solid #c7d0dc; border-radius: 50%; cursor: pointer; color: #fff; font-weight: 700; list-style: none; }
.kpg-cf-info summary::-webkit-details-marker { display: none; }
.kpg-cf-info[open] { display: block; padding: 8px; border: 1px solid #52647d; border-radius: 8px; }
.kpg-cf-error { color: #ff9caf; display: block; font-size: 14px; }
.kpg-cf-errors, .kpg-cf-not-ready { padding: 12px; border: 1px solid #87566d; border-radius: 8px; }
.kpg-cf-preview { display: block; width: min(100%, 225px); height: auto; border: 1px solid #738196; margin: 12px auto; }
.kpg-cf-summary { background: #171c25; padding: 14px; border: 1px solid #557764; border-radius: 8px; margin: 18px 0; overflow-wrap: anywhere; }
.kpg-cf-summary h3 { color: #fff; font-size: 18px; margin: 0 0 8px; }
.kpg-cf-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.kpg-cf-price { font-size: 18px; font-weight: 700; }
.kpg-cf-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.kpg-checkout-status { margin: 20px 0; }
@media (max-width: 600px) { .kpg-checkout { padding: 20px 14px; } .kpg-cf-grid { grid-template-columns: minmax(0, 1fr); } .kpg-cf-actions button { width: 100%; } .kpg-cf-extra { margin: 10px 0; } }

.kpg-checkout .kpg-cf-kind { display: flex; align-items: center; gap: 8px; }
.kpg-cf-kind-dot { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: var(--kpg-accent); }
.kpg-checkout .kpg-cf-kind input[type=checkbox] { appearance: none; -webkit-appearance: none; position: relative; flex: 0 0 20px; width: 20px; height: 20px; margin: 0; border: 2px solid #a8b4c5; border-radius: 4px; background: #171c25; }
.kpg-checkout .kpg-cf-kind input:checked { background: var(--kpg-accent); border-color: var(--kpg-accent); }
.kpg-checkout .kpg-cf-kind input:checked::after { content: ""; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border-right: 2px solid var(--kpg-check, #fff); border-bottom: 2px solid var(--kpg-check, #fff); transform: rotate(45deg); }
.kpg-cf-topic-section { border: 1px solid #596674; border-radius: 8px; margin: 8px 0; padding: 10px; }
.kpg-cf-topic-section > summary { min-height: 32px; cursor: pointer; font-weight: 700; }
.kpg-cf-topic-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.kpg-checkout .kpg-cf-topic-tags button { padding: 6px 10px; min-height: 36px; font-size: 14px; max-width: 100%; overflow-wrap: anywhere; }
.kpg-cf-topic-section label { overflow-wrap: anywhere; }

.kpg-cf-topic-section > summary { display: flex; align-items: center; gap: 8px; overflow-wrap: anywhere; }
.kpg-cf-topic-section > summary::marker { content: ""; }
.kpg-cf-topic-section > summary::-webkit-details-marker { display: none; }
.kpg-cf-topic-section > summary::after { content: ""; width: 8px; height: 8px; flex: 0 0 8px; margin-left: auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.kpg-cf-topic-section[open] > summary::after { transform: rotate(225deg); }
.kpg-cf-topic-section [data-cf-topic-count] { font-size: 12px; font-weight: 400; color: #c7d0dc; }

/* Shared event-card markup and portal styles; only the preview host is constrained. */
.kpg-checkout .kpg-cf-card-preview { max-width: 100%; width: 340px; margin: 12px auto; padding: 0; background: transparent; }
.kpg-checkout .kpg-cf-card-preview .kpg-featured-grid { display: block; overflow: visible; padding: 0; }
.kpg-checkout .kpg-cf-card-preview .kpg-event-card { width: 100%; margin: 0; }
.kpg-cf-card-preview .kpg-card-image { touch-action: none; cursor: grab; }
.kpg-cf-card-preview .kpg-card-image:active { cursor: grabbing; }
.kpg-cf-card-preview .kpg-card-image img { user-select: none; pointer-events: none; }
.kpg-checkout [data-cf-company-lookup] { margin-top: 8px; }

.kpg-cf-coupon { min-width: 0; }
.kpg-cf-coupon input { max-width: 100%; }
.kpg-cf-coupon button { min-height: 44px; margin: 6px 4px 6px 0; }
.kpg-cf-coupon p { overflow-wrap: anywhere; }
