.tge-period-booking{--period-accent:#f2b705;position:relative;isolation:isolate;padding:clamp(24px,4vw,48px)!important;overflow:hidden;background:radial-gradient(ellipse at 50% 0,#f2b7050d,transparent 60%),linear-gradient(145deg,#171a1ded,#0b0d10f2)!important;box-shadow:inset 0 1px #fff2,0 28px 70px #0005,0 0 45px #f2b7050a!important}
.tge-period-booking:before{content:"";position:absolute;top:0;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#f2c64a,transparent);pointer-events:none}
.tge-period-booking [hidden]{display:none!important}
.tge-period-booking .period-kicker{color:#f2c64a;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;width:100%;max-width:none!important;margin:0 auto 14px;text-align:center}
.tge-period-booking h2{font-size:clamp(30px,4.5vw,54px);line-height:1.12;text-transform:uppercase;margin:0 auto 16px;max-width:24ch;text-align:center;text-wrap:balance}
.tge-period-booking .period-intro{color:#c9c8c4;max-width:58ch;margin:0 auto 30px;font-size:16px;line-height:1.7;text-align:center;text-wrap:pretty}
.period-tabs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 24px}
.period-tabs button{position:relative;display:grid;gap:8px;text-align:left;background:linear-gradient(135deg,#ffffff08,#ffffff02);border:1px solid #ffffff24;color:#f5f0e8;padding:24px;border-radius:16px;cursor:pointer;font:inherit;min-height:124px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.period-tabs button:hover{background:#ffffff0d;border-color:#f2bf3580;box-shadow:0 10px 24px #0002;transform:translateY(-2px)}
.period-tabs button[aria-selected="true"]{border-color:#f2bf35;background:linear-gradient(135deg,#f2b70520,#f2b70506);box-shadow:inset 0 0 0 1px #f2b70533,0 0 24px #f2b7050d}
.period-tabs button:focus-visible{outline:3px solid #20d7ff;outline-offset:4px}
.period-tabs button strong{font-size:clamp(18px,2.1vw,24px);line-height:1.25}
.period-tabs button small{color:#c9c7c0;font-size:13px}
.period-tabs button span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#f2c64a;font-weight:800}
.period-panel{border:1px solid #f2c64a26;border-radius:18px;background:linear-gradient(150deg,#13161b,#080a0d 70%);overflow:hidden;box-shadow:inset 0 1px #ffffff09}
.period-panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:22px 24px;border-bottom:1px solid #ffffff12;background:#ffffff02;text-align:center}
.period-panel-header h3{font:700 clamp(16px,2vw,19px)/1.5 Manrope,sans-serif;margin:0;color:#f5f0e8}
.period-preview-badge{display:inline-flex;gap:7px;align-items:center;color:#e7cd87;border:1px solid #e7cd8740;border-radius:30px;padding:5px 10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.period-preview-badge:before{content:"";width:6px;height:6px;background:#f2bf35;border-radius:50%}
.period-frame{display:block;width:100%;height:350px;border:0;background:#0c0f13}
.period-live-link{padding:clamp(24px,4vw,40px);display:grid;justify-items:center;gap:24px;text-align:center}
.period-live-link p{color:#d2d0ca;margin:0;max-width:62ch;font-size:clamp(15px,1.6vw,17px);line-height:1.8;text-wrap:pretty}
.period-live-link .period-booking-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;justify-self:center;width:fit-content;min-width:260px;max-width:100%;padding:18px 28px;border:1px solid #ffe18c9c;border-radius:13px;background:linear-gradient(135deg,var(--color-accent-soft,#f8d678),var(--color-accent,#f2b705));color:#111317;text-decoration:none;box-shadow:inset 0 1px #ffffff85,0 10px 30px #f2b70524;font-size:clamp(21px,2.4vw,26px);line-height:1.2;letter-spacing:.05em}
.period-live-link .period-booking-button>span:not(.tge-button-sheen){position:relative;z-index:1}
.period-live-link .period-booking-button svg.antique-key{width:56px;height:26px;flex:none}
.period-live-link .period-booking-button:focus-visible{outline:3px solid #20d7ff;outline-offset:5px}
.period-new-tab{color:#a8a8a4;font-size:11px;line-height:1.5;letter-spacing:.03em;margin-top:-10px}
.period-note{font-size:12px!important;color:#a8a8a4;max-width:70ch;margin:20px auto 0;line-height:1.7;text-align:center}
.period-live-link .period-voucher-note{font-size:13px;color:#bdbbb5;line-height:1.7;max-width:64ch;padding-top:18px;border-top:1px solid #ffffff12}
.period-voucher-note a{color:#f2c64a;text-underline-offset:3px}
@media(max-width:600px){.period-tabs{grid-template-columns:1fr;gap:12px}.period-tabs button{min-height:104px;padding:20px}.period-panel-header{padding:18px 16px}.period-frame{height:410px}.tge-period-booking .period-intro{font-size:14px}.tge-period-booking{border-radius:18px!important}.period-live-link .period-booking-button{min-width:0;width:min(100%,290px);padding:18px 22px;gap:20px}.period-live-link{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){.period-tabs button,.period-live-link .period-booking-button{transition:none!important;transform:none!important}.period-live-link .period-booking-button svg{animation:none!important;transition:none!important}}
