.ticket-search-section,.calendar-faq{color:#351840;background:#fbf8f1;font-family:Montserrat,sans-serif;box-sizing:border-box}
.ticket-search-section{padding:52px 28px;border-bottom:1px solid #e8dccb}
.ticket-search-inner,.calendar-faq-inner{max-width:1120px;margin:0 auto}
.ticket-search-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:12px 50px;align-items:center}
.ticket-search-copy h2,.calendar-faq h2{font:700 clamp(28px,3vw,40px)/1.15 "Playfair Display",Georgia,serif;color:#351840;margin:10px 0 12px}
.ticket-search-copy p,.calendar-faq header p{font-size:14px;line-height:1.7;color:#716575;margin:0}
.ticket-search-form label{display:block;margin-bottom:9px;font-size:13px;font-weight:700}
.ticket-input-row{display:flex;gap:9px}
.ticket-input-row input{min-width:0;width:100%;height:55px;border:1px solid #d9cbbb;border-radius:13px;background:#fff;padding:12px 16px;color:#351840;font:600 18px Montserrat,sans-serif;box-sizing:border-box}
.ticket-input-row button,.ticket-open{border:0;border-radius:13px;background:linear-gradient(135deg,#351840,#5c286b);color:#fff;padding:14px 20px;font:700 13px Montserrat,sans-serif;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s;min-height:48px}
.ticket-input-row button:hover,.ticket-open:hover{transform:translateY(-2px);box-shadow:0 8px 24px #35184022}
.ticket-input-row button:disabled{opacity:.65;cursor:wait;transform:none}
.ticket-input-row button span{margin-left:8px}
.ticket-search-form small{display:block;color:#776d79;font-size:11px;line-height:1.7;margin-top:10px}
.ticket-search-status,.ticket-search-results{grid-column:1/-1}
.ticket-search-status{font-size:14px;line-height:1.7;margin:12px 0 0;color:#5d4268}
.ticket-search-status:empty,.ticket-search-results:empty{display:none}
.ticket-search-results{display:grid;gap:12px}
.ticket-match{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 25px;background:#fff;border:1px solid #e8dccb;border-left:3px solid #c59a4e;border-radius:15px}
.ticket-match-day{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9b6c23;font-weight:700}
.ticket-match h3{font:700 23px/1.35 "Playfair Display",Georgia,serif;color:#351840;margin:5px 0}
.ticket-match p{font-size:12px;color:#776d79;margin:0;line-height:1.6}
.calendar-faq{padding:76px 28px 84px;background:linear-gradient(135deg,#fbf8f1,#f3ece2)}
.calendar-faq-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}
.calendar-faq-items{border-top:1px solid #d8c5a8}
.calendar-faq details{border-bottom:1px solid #dfd1bd}
.calendar-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 0;color:#351840;font-size:15px;line-height:1.6;font-weight:600;cursor:pointer}
.calendar-faq summary::-webkit-details-marker{display:none}
.calendar-faq summary>span{width:44px;height:44px;flex:0 0 44px;box-sizing:border-box;border:1px solid #dfd2e2;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#f7f1f8,#eee3f0);color:#542564;font-size:0;box-shadow:0 3px 9px #35184008,inset 0 1px 0 #ffffffb3;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.calendar-faq summary>span:before{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s}
.calendar-faq details[open] summary>span{background:linear-gradient(135deg,#351840,#5c286b);border-color:#5c286b;color:#f0d091;box-shadow:0 5px 14px #35184020}
.calendar-faq details[open] summary>span:before{transform:translateY(2px) rotate(225deg)}
.calendar-faq summary:focus-visible>span{border-color:#bd934d;box-shadow:0 0 0 4px #bd934d26}
@media(hover:hover){.calendar-faq summary:hover>span{border-color:#b993c1;transform:translateY(-1px);box-shadow:0 5px 14px #35184014}}
.calendar-faq-answer{padding:0 40px 24px 0;font-size:14px;line-height:1.85;color:#716575}
.ticket-input-row input:focus-visible,.ticket-input-row button:focus-visible,.ticket-open:focus-visible,.calendar-faq summary:focus-visible{outline:3px solid #bd934d;outline-offset:4px}
@media(max-width:800px){.ticket-search-inner,.calendar-faq-inner{grid-template-columns:1fr;gap:25px}.ticket-search-section{padding:38px 22px}.calendar-faq{padding:50px 22px}.ticket-search-form{max-width:600px}.ticket-search-status{margin-top:0}.calendar-faq-inner{gap:28px}}
@media(max-width:480px){.ticket-input-row{flex-direction:column}.ticket-input-row button{width:100%;height:52px}.ticket-match{align-items:stretch;flex-direction:column;padding:20px}.ticket-match h3{font-size:21px}.calendar-faq summary{font-size:14px}.calendar-faq-answer{padding-right:0}.ticket-search-copy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.ticket-input-row button,.ticket-open,.calendar-faq summary>span,.calendar-faq summary>span:before{transition:none}}
