.ticket-page{font-family:'DM Sans','PingFang TC','Microsoft JhengHei','Noto Sans TC',sans-serif}.ticket-preview{background:#efe4d6;color:#4b192b;text-align:center;padding:12px 5%;font-size:.875rem;line-height:1.6}.ticket-preview strong{display:block}.ticket-preview span{display:block}.ticket-page .header{max-width:1440px;margin:auto}.ticket-page .header nav a{font-size:.875rem}.ticket-page .header nav span{margin-left:6px}.ticket-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);max-width:1280px;margin:14px auto 64px;padding:0 32px;gap:clamp(30px,5vw,72px);align-items:start}.event-panel{background:var(--wine);color:var(--paper);overflow:hidden}.event-panel-copy{padding:36px 34px 22px}.event-panel .eyebrow{color:var(--gold);font-size:.875rem;letter-spacing:.1em}.event-panel h1{font-family:inherit;font-weight:500;font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.55;letter-spacing:.025em;margin:20px 0}.event-panel h1 span{color:var(--gold)}.event-full-title{font-size:1rem;line-height:1.85;margin-bottom:14px}.event-english{font-family:Georgia,serif;font-size:1.05rem;line-height:1.6;color:#e8d6d7}.ticket-event-details{margin:26px 0 0;padding:20px 0 0;border-top:1px solid #b2939a55}.ticket-event-details>div{margin-bottom:20px}.ticket-event-details dt{font-size:.875rem;color:var(--gold);letter-spacing:.06em;margin-bottom:5px}.ticket-event-details dd{margin:0;font-size:1rem;line-height:1.6}.ticket-event-details dd span{display:block;font-size:.875rem;color:#e8d6d7;margin-top:4px}.ticket-photo{position:relative;height:195px}.ticket-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 63%}.ticket-photo figcaption{position:absolute;bottom:12px;left:18px;color:#fff;background:#35121ebd;padding:3px 8px;font-size:.75rem}.booking-panel{padding-top:18px;min-width:0}.booking-panel>.eyebrow{font-size:.875rem;color:var(--muted);letter-spacing:.12em;margin-bottom:12px}.booking-panel h2{font:500 2.1rem/1.4 'PingFang TC','Microsoft JhengHei',sans-serif;color:var(--wine);margin-bottom:12px}.booking-panel h2 span{font:400 1.8rem Georgia,serif;margin-left:10px;color:var(--muted)}.booking-intro{font-size:1rem;color:#645257;margin-bottom:26px}.booking-steps{padding:0;margin:0 0 32px;display:flex;list-style:none;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:24px}.booking-steps li{display:flex;align-items:center;gap:9px;font-size:.875rem;color:#74666a}.booking-steps b{border:1px solid #c6b6ad;border-radius:50%;width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;font-weight:500}.booking-steps [aria-current=step]{color:var(--wine);font-weight:600}.booking-steps [aria-current=step] b{background:var(--wine);color:#fff;border-color:var(--wine)}.ticket-page fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.ticket-page legend{padding:0;margin-bottom:18px;font-size:.875rem;color:#977456;width:100%;display:flex;align-items:baseline;gap:12px}.ticket-page legend span{font-size:1.125rem;color:var(--wine);font-weight:600}.ticket-page legend small{font-size:.875rem;color:var(--muted);margin-left:auto}.ticket-choice{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #bba79c;background:#fffdf9;padding:20px}.ticket-choice strong{display:block;font-size:1.1rem;color:var(--wine)}.ticket-choice span,.ticket-choice small{display:block;font-size:.875rem;color:#74666a;margin-top:5px}.ticket-choice small{color:var(--wine);font-weight:600}.quantity-control{display:flex;align-items:center;border:1px solid #cfc0b6;background:white;flex-shrink:0}.quantity-control button{width:38px;min-height:44px;border:0;background:transparent;color:var(--wine);font-size:1.125rem}.quantity-control input{width:42px!important;border:0!important;text-align:center;padding:10px 0!important;margin:0!important;-moz-appearance:textfield;appearance:textfield;border-radius:0!important}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-control button:disabled{opacity:.35;cursor:default}.field-help{font-size:.875rem;line-height:1.65;color:var(--muted);margin:10px 0 0}.form-help{margin:0 0 18px}.ticket-page label{display:block;font-size:.9375rem;color:var(--wine);font-weight:500;margin-bottom:18px}.ticket-page label span{font-size:.875rem;color:var(--muted);font-weight:400;margin-left:5px}.ticket-page input,.ticket-page textarea{display:block;width:100%;min-width:0;border:1px solid #c9bdb4;border-radius:2px;background:white;font:400 1rem/1.5 inherit;font-family:inherit;font-size:1rem;color:var(--ink);padding:12px;margin-top:8px}.ticket-page textarea{resize:vertical;line-height:1.6}.ticket-page input:focus-visible,.ticket-page textarea:focus-visible{outline:2px solid #926737;outline-offset:2px}.ticket-page input::placeholder,.ticket-page textarea::placeholder{color:#8b7d80;font-size:.875rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-total{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.booking-total span{font-weight:500;color:var(--wine)}.booking-total small{display:block;color:var(--muted);font-size:.875rem;margin-top:4px}.booking-total strong{font-size:1.25rem;color:var(--wine)}.next-button{width:100%;justify-content:center;min-height:52px;font-size:1rem}.submit-note{font-size:.875rem;color:var(--muted);text-align:center;margin:12px 0}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.review-heading h3{margin:0 0 8px;font-size:1.25rem;color:var(--wine)}.review-heading p{font-size:.9375rem;color:var(--muted)}.review-summary{margin:24px 0}.review-summary>div{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.review-summary dt{color:var(--muted);font-size:.875rem}.review-summary dd{margin:0;overflow-wrap:anywhere;text-align:right}.zelle-card{background:#f0e9e1;border:1px solid #d7c8bd;padding:24px;margin:28px 0}.zelle-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.zelle-heading>span{font:bold 1.8rem Georgia,serif;color:var(--wine)}.zelle-heading strong{font-size:.875rem;color:#6c565f}.zelle-card dl{margin:20px 0}.zelle-card dl>div{margin:14px 0}.zelle-card dt{font-size:.875rem;color:var(--muted)}.zelle-card dd{margin:4px 0 0;font-size:1rem}.zelle-card p{margin:0;padding-top:16px;border-top:1px solid #d3c2b6;font-size:.9375rem;color:var(--wine)}.confirmation-note{margin:25px 0}.confirmation-note h3{font-size:1.05rem;margin:0 0 9px}.confirmation-note p{font-size:.9375rem;line-height:1.8;color:#645257}.ticket-page [hidden]{display:none!important}.ticket-page footer{font-size:.875rem}.noscript-note{padding:16px;border:1px solid var(--wine)}
@media(max-width:960px){.ticket-layout{gap:28px;padding:0 24px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.event-panel-copy{padding:28px 24px 10px}.field-grid{grid-template-columns:1fr;gap:0}.ticket-choice{padding:16px;flex-wrap:wrap}.booking-steps{gap:8px}.booking-steps li{flex-direction:column;gap:7px;text-align:center;flex:1}.ticket-page legend{flex-wrap:wrap;gap:8px}.ticket-page legend small{margin-left:0}}
@media(max-width:700px){.ticket-layout{grid-template-columns:1fr;margin:0 auto 35px;padding:0 20px;gap:24px}.ticket-page .header{padding:20px}.ticket-page .header nav span{display:none}.event-panel-copy{padding:24px}.event-panel h1{font-size:1.6rem;margin:10px 0 14px}.event-english{font-size:.9375rem;margin-bottom:0}.ticket-event-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;padding-top:18px}.ticket-event-details>div{margin:0}.ticket-event-details>div:last-child{grid-column:1/-1}.ticket-photo{display:none}.booking-panel{padding-top:0}.booking-panel h2{font-size:1.85rem}.booking-panel h2 span{font-size:1.5rem}.booking-steps{margin-bottom:24px;padding-bottom:20px}.booking-steps li{flex-direction:row;justify-content:center;font-size:.8125rem}.booking-steps b{width:24px;height:24px;flex-basis:24px}.ticket-choice{flex-wrap:nowrap}.ticket-choice strong{font-size:1rem}.ticket-choice span{font-size:.8125rem}.ticket-page legend small{margin-left:auto}.booking-total strong{font-size:1.125rem}.ticket-page .header .brand{font-size:.9rem}.zelle-card{padding:20px}}
@media(max-width:360px){.ticket-layout{padding:0 14px}.ticket-choice{flex-wrap:wrap}.booking-steps li{flex-direction:column}.ticket-page legend small{display:block;width:100%;margin-left:24px}.ticket-page .header{gap:10px}.booking-total{gap:10px}}
.donation-choice{text-decoration:none;transition:border-color .15s,background-color .15s}.donation-choice:hover{border-color:var(--wine);background:#f5eee3}.donation-choice:focus-visible{outline:2px solid #926737;outline-offset:4px}.donation-choice .donation-action{margin:0;padding:12px 16px;background:var(--wine);color:#fff;white-space:nowrap;font-weight:500}
/* Ticket tiers and confirmed October event details. */
.mobile-event{display:none}.event-panel .ticket-event-title{font-size:clamp(1.35rem,2.05vw,1.95rem);line-height:1.7;letter-spacing:0}.capacity-note{border-left:3px solid #b08752;padding:0 0 0 14px;margin:0 0 26px}.capacity-note strong{display:block;color:var(--wine);font-size:1rem}.capacity-note>span{display:block;font-size:.875rem;color:var(--muted);margin-top:4px}.ticket-choice+.ticket-choice{margin-top:12px}.ticket-choice .seat-label{display:inline-block;font-size:.8125rem;font-weight:400;background:#eee5dc;padding:1px 7px;margin:0 0 0 7px;color:#62424b}.ticket-choice small b{font-size:1.15rem;font-weight:600}.vip-choice{border-color:#a88853;background:#f5ecd9}.vip-choice .seat-label{background:#e9d8b5}.selection-error{font-size:.9375rem;color:#8a2035;border-left:3px solid #8a2035;padding:8px 12px;background:#f9e9ea;margin:14px 0 0}.booking-total strong{white-space:nowrap}.booking-total small{overflow-wrap:anywhere}.notification-card{padding:20px;border:1px solid var(--line);margin-bottom:26px}.notification-card h3{font-size:1rem;margin:0 0 8px;color:var(--wine)}.notification-card p{font-size:1rem;overflow-wrap:anywhere;margin-bottom:8px}.notification-card small{display:block;font-size:.875rem;color:var(--muted)}.ticket-contact{font-size:.875rem;color:var(--muted);margin-top:28px;padding-top:20px;border-top:1px solid var(--line);overflow-wrap:anywhere}.ticket-contact a{display:block;text-decoration:underline;text-underline-offset:4px;color:var(--wine)}.review-summary dd{white-space:pre-wrap}.ticket-page .booking-steps li{font-size:.875rem}.ticket-page input,.ticket-page textarea{font-weight:400;line-height:1.5}
@media(max-width:700px){.booking-panel{grid-row:1}.event-panel{grid-row:2;margin-top:12px}.mobile-event{display:block;font-size:.875rem;line-height:1.75;color:var(--wine);margin-bottom:16px}.booking-intro{margin-bottom:18px}.capacity-note{margin-bottom:22px}.event-panel .ticket-event-title{font-size:1.35rem}.ticket-choice{padding:16px}.booking-total{align-items:flex-start}.booking-steps li{flex-direction:column}.ticket-page legend small{font-size:.875rem}}
.confirmation-screen{text-align:center;padding:46px 24px 50px;border:1px solid #d9c7b5;background:#f5eee3;color:var(--wine)}.confirmation-emblem{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 24px;border:1px solid #b99766;border-radius:50%;font-size:44px;color:#976b3c}.confirmation-screen .eyebrow{font-size:.75rem;letter-spacing:.14em;color:var(--muted);margin-bottom:14px}.confirmation-screen h3{font-size:1.45rem;font-weight:500;margin:0 0 20px}.confirmation-message{font-size:1.2rem;line-height:1.9;margin:0}.confirmation-screen:focus{outline:none}.confirmation-screen:focus-visible{outline:2px solid #926737;outline-offset:4px}@media(max-width:700px){.confirmation-screen{padding:36px 16px}.confirmation-message{font-size:1.1rem}}

.ff26-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ticket-page .admin-test{background:#fff4d6;border:1px solid #caa45a;padding:12px;font-size:.875rem}.ticket-page .admin-test input{display:inline-block;width:auto;margin-right:8px}.ticket-page button:disabled{opacity:.6;cursor:wait}.ticket-page .field-help a{text-decoration:underline}
