/* Shared checkout dialog; scoped so the programme page keeps its own layout. */
html.checkout-open{overflow:hidden;scrollbar-gutter:stable}
#tickets,#tickets *{box-sizing:border-box}
#tickets{color-scheme:dark;border:1px solid #8c683c;box-shadow:0 25px 100px #000;background:linear-gradient(135deg,#20160f,#0d0b09);color:#ead6ad;border-radius:5px;padding:40px;max-width:850px;width:calc(100% - 36px);max-height:90dvh;overflow:auto;font:14px/1.5 system-ui,-apple-system,sans-serif;text-align:left}
#tickets::backdrop{background:#000b;backdrop-filter:blur(7px)}
#tickets .close{position:absolute;top:10px;right:10px;background:none;border:0;color:inherit;font:27px system-ui;width:44px;height:44px;cursor:pointer}
#tickets h1{font:normal 40px/1.2 Georgia,serif;letter-spacing:normal;color:#ead6ad;text-align:left;text-shadow:none;text-wrap:balance;margin:9px 0 18px;width:auto;max-width:none}
#tickets p{margin:14px 0;color:#c6b18f}
#tickets .eyebrow{font-size:10px;letter-spacing:.22em}
#tickets .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#tickets #purchase-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0;border:0;padding:0;min-width:0}
#tickets .purchase-offer{display:flex;gap:9px;border:1px solid #8a643669;padding:16px;cursor:pointer;border-radius:3px}
#tickets .purchase-offer:has(input:checked){border-color:#e0b478;background:#a17a4026}
#tickets .purchase-offer input{accent-color:#d2a766}
#tickets .purchase-offer strong{display:block;font:21px Georgia,serif;margin-bottom:12px}
#tickets .purchase-price{display:block;font-size:17px}
#tickets .detail{font-size:12px}
#tickets .purchase-email{display:block;margin-top:22px}
#tickets input[type=email],#tickets select{display:block;width:100%;min-height:46px;margin-top:8px;padding:10px 12px;background:#100c09;border:1px solid #8c683c;color:#ead6ad;font:inherit;border-radius:3px}
#tickets .purchase-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
#tickets .purchase-actions button{color:inherit;font:inherit;border:1px solid #b8935c;padding:13px 18px;border-radius:3px;background:#513c26;min-height:48px;cursor:pointer}
#tickets .purchase-actions button:disabled{opacity:.4;cursor:default}
#tickets #purchase-status{min-height:24px;color:#e5c28e}
#tickets a{color:#e5c28e}
#tickets button:focus-visible,#tickets a:focus-visible,#tickets input:focus-visible,#tickets select:focus-visible{outline:2px solid #f2d5a1;outline-offset:3px}
#tickets [hidden]{display:none!important}
@media(max-width:650px){#tickets{padding:25px 22px}#tickets h1{font-size:32px}#tickets #purchase-offers{grid-template-columns:1fr;gap:9px;margin:20px 0}#tickets .purchase-offer{padding:12px}#tickets .purchase-offer strong{margin-bottom:6px}#tickets .purchase-actions{display:grid}}

/* Компактная неоновая подпись цикла повторяет афишу. */
#tickets #tickets-title{display:grid;grid-template-columns:auto auto;column-gap:42px;row-gap:0;align-items:center;width:max-content;max-width:100%;margin:26px auto 0;font:normal 42px/1.08 Georgia,serif;letter-spacing:-.025em;text-align:center;text-wrap:nowrap}
#tickets #tickets-title span{display:block;margin:0;transform-origin:center}
#tickets #tickets-title span:nth-child(1){grid-column:1;grid-row:1;transform:rotate(-4.2deg)}
#tickets #tickets-title span:nth-child(2){grid-column:1;grid-row:2;transform:rotate(-.2deg)}
#tickets #tickets-title span:nth-child(3){grid-column:2;grid-row:1;transform:rotate(3.8deg)}
#tickets #tickets-title span:nth-child(4){grid-column:2;grid-row:2;transform:rotate(7.8deg)}
#tickets #tickets-title span:nth-child(-n+2){color:#ff5559;text-shadow:0 0 3px #ffacae99,0 0 12px #ff343480,0 0 30px #ff343445}
#tickets #tickets-title span:nth-child(n+3){color:#83ff52;text-shadow:0 0 3px #bdffa099,0 0 12px #62ff3480,0 0 30px #62ff3445}
@media(max-width:650px){#tickets #tickets-title{font-size:clamp(23px,7vw,38px);column-gap:clamp(18px,7vw,36px);margin:24px auto 0}}

#tickets .checkout-count{margin:30px 0 24px;font:normal 17px/1.5 Georgia,serif;letter-spacing:.13em;color:#fff;text-align:center;text-shadow:0 0 4px #ffffff70,0 0 14px #ffffff30}
@media(max-width:650px){#tickets .checkout-count{font-size:15px;margin-top:26px;letter-spacing:.09em}}

#tickets #five-evenings{border:0;padding:0;margin:20px 0;min-width:0}
#tickets #five-evenings legend{font:inherit;color:#ead6ad}
#tickets #five-count{font-size:12px;margin:8px 0 12px}
#tickets #five-choices{display:grid;gap:8px}
#tickets #five-choices label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #8a643669;border-radius:3px;cursor:pointer}
#tickets #five-choices label:has(input:checked){border-color:#e0b478;background:#a17a4026}
#tickets #five-choices input{accent-color:#d2a766;flex:none;margin-top:4px}
#tickets #five-choices label:has(input:disabled){opacity:.5;cursor:default}
