/* Day admissions and festival passes: venue, dates and quantities without an invented plan. */
.admission-page{max-width:1500px;margin:0 auto;padding:24px 40px 56px;color:#121212}
.admission-icon{display:inline-block;vertical-align:middle;width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.admission-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;line-height:1.5;color:#69717c;margin-bottom:21px}
.admission-breadcrumb a,.admission-change-date{color:var(--primary,#024ddf)}
.admission-breadcrumb a:hover,.admission-change-date:hover{text-decoration:underline}
.admission-event-header{display:flex;align-items:center;gap:18px;margin-bottom:25px}
.admission-poster{width:72px;height:92px;object-fit:contain;background:#f3f4f6;border-radius:3px;flex-shrink:0}
.admission-event-copy{flex:1;min-width:0}
.admission-event-copy h1{font-size:25px;line-height:1.25;font-weight:800;text-transform:uppercase;margin:0 0 10px;overflow-wrap:anywhere}
.admission-event-copy p{display:flex;align-items:flex-start;gap:7px;font-size:14px;line-height:1.6;color:#5d6571;margin-top:3px}
.admission-event-copy .admission-icon{width:16px;height:16px;margin-top:3px}
.admission-change-date{flex-shrink:0;font-size:13px;font-weight:600;text-underline-offset:3px}
.admission-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;margin-top:26px}
.admission-main{min-width:0}
.admission-intro{margin-bottom:25px}
.admission-eyebrow{display:block;color:#647084;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:1px;margin-bottom:7px}
.admission-intro h2{font-size:24px;font-weight:800;line-height:1.35;margin:0 0 10px}
.admission-intro p{font-size:15px;line-height:1.65;color:#616b79;max-width:620px}
.admission-day-field{max-width:480px;margin-bottom:24px}
.admission-day-field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.admission-day-field select{width:100%;border:1px solid #aeb8c7;background:#fff;color:#283347;border-radius:3px;min-height:46px;font-size:14px;padding:10px 36px 10px 13px}
.admission-day-field select:disabled{opacity:1;color:#49556a;background:#f7f8fa;border-color:#d9dee6;cursor:default}
.admission-venue-card{border:1px solid #dce2ec;border-radius:6px;background:#fff;box-shadow:0 2px 10px #19345706;overflow:hidden}
.admission-venue-heading{display:flex;align-items:flex-start;gap:18px;padding:29px 28px;background:#f5f8fe;border-bottom:1px solid #e3e8f1}
.admission-location-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e7efff;color:var(--primary,#024ddf);flex-shrink:0}
.admission-location-icon .admission-icon{width:28px;height:28px}
.admission-venue-heading h3{font-size:22px;font-weight:800;line-height:1.35;margin:0 0 8px}
.admission-venue-heading p{font-size:14px;color:#626c7c;line-height:1.65;margin:0}
.admission-venue-heading .admission-address{margin-top:3px;font-size:13px}
.admission-visit-details{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;padding:26px 28px}
.admission-visit-details>div{display:flex;align-items:flex-start;gap:12px;min-width:0}
.admission-visit-details .admission-icon{width:21px;height:21px;color:#556780;margin-top:2px}
.admission-visit-details span{display:block;font-size:12px;color:#6c7584;line-height:1.5;margin-bottom:6px}
.admission-visit-details strong{display:block;font-size:14px;font-weight:700;color:#293346;line-height:1.6}
.admission-access-note{display:flex;align-items:flex-start;gap:13px;border-top:1px solid #e7eaf0;padding:22px 28px}
.admission-access-note>.admission-icon{color:var(--primary,#024ddf);margin-top:2px}
.admission-access-note strong{font-size:15px;line-height:1.5}
.admission-access-note p{font-size:13px;color:#626d7d;line-height:1.6;margin-top:7px;max-width:580px}
.admission-source-note{display:flex;align-items:flex-start;gap:9px;margin-top:19px;color:#78818e}
.admission-source-note .admission-icon{width:17px;height:17px;margin-top:2px}
.admission-source-note p{font-size:12px;line-height:1.7;max-width:650px}
.admission-source-note span{display:block}
.admission-selection{background:#fff;border:1px solid #dce2ec;border-radius:5px;box-shadow:0 3px 14px #1c355c09;padding:23px;min-width:0}
.admission-selection>h2{font-size:19px;font-weight:800;line-height:1.4;padding-bottom:18px;margin:0;border-bottom:1px solid #e6e9ee}
.admission-ticket-summary{display:flex;align-items:flex-start;gap:13px;padding:22px 0 19px}
.admission-ticket-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:4px;background:#f0f5ff;color:var(--primary,#024ddf);flex-shrink:0}
.admission-ticket-summary strong{display:block;font-size:15px;line-height:1.5;margin-bottom:4px}
.admission-ticket-summary span:not(.admission-ticket-icon){display:block;color:#677182;font-size:12px;line-height:1.6;margin-top:3px}
.admission-unit-price{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:0 0 20px;border-bottom:1px solid #e6e9ee;font-size:13px;line-height:1.5;color:#5c687b}
.admission-unit-price strong{font-size:15px;font-weight:700;color:#222b39;text-align:right}
.admission-quantity{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:22px}
.admission-quantity>label{font-size:13px;font-weight:700;line-height:1.5}
.admission-stepper{display:flex;align-items:stretch;border:1px solid #b9c3d1;border-radius:3px;overflow:hidden;flex-shrink:0;background:white}
.admission-stepper button{display:grid;place-items:center;width:34px;min-height:40px;line-height:1;font-size:21px;color:var(--primary,#024ddf);background:#fff;padding:0}
.admission-stepper button:hover:not(:disabled){background:#edf3ff}
.admission-stepper button:disabled{opacity:1;color:#b2bac6;background:#f9fafc}
.admission-stepper select{height:40px;min-width:45px;max-width:62px;padding:4px 4px 4px 10px;font-size:15px;font-weight:700;line-height:1;border:0;border-left:1px solid #e1e5ec;border-right:1px solid #e1e5ec;border-radius:0;color:#27354a;background:#fff}
.admission-stepper select:disabled{opacity:1;color:#8793a2;background:#f9fafc}
.admission-stepper button:focus-visible,.admission-stepper select:focus-visible{outline:2px solid var(--primary,#024ddf);outline-offset:-3px}
.admission-limit{font-size:11px;line-height:1.6;color:#778190;margin-top:11px}
.admission-in-basket{font-size:12px;color:#2355a4;background:#f0f5ff;border-radius:3px;padding:10px 11px;margin-top:12px;line-height:1.6}
.admission-total{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-top:1px solid #e1e6ed;padding-top:22px;margin-top:22px}
.admission-total>span{font-size:14px;font-weight:700;line-height:1.5}
.admission-total small{display:block;font-size:12px;font-weight:400;color:#748091;margin-top:5px}
.admission-total output{display:block;font-size:24px;font-weight:800;line-height:1.3;text-align:right;max-width:58%;color:#1e2a3b}
.admission-status{min-height:18px;margin:15px 0 11px;font-size:12px;line-height:1.6;color:#2e5b9d}
.admission-status.is-error{color:#ad2630}
.admission-add{width:100%;min-height:46px;font-size:14px}
.admission-basket-link{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--primary,#024ddf);padding:14px 0 0}
.admission-basket-link:hover{text-decoration:underline}
.admission-demo-note{font-size:11px;line-height:1.65;text-align:center;color:#7b8491;margin:15px auto 0;max-width:280px}
/* Festival passes enumerate the included dates, including non-consecutive days. */
.admission-festival .admission-day-field{max-width:660px}
.admission-festival .admission-visit-details{grid-template-columns:1fr}
.admission-festival .admission-poster{object-fit:cover}
.admission-included-dates{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.admission-included-dates li{font-size:14px;font-weight:700;color:#293346;line-height:1.6}
.admission-ticket-summary .admission-included-dates{margin-top:9px;gap:3px}
.admission-ticket-summary .admission-included-dates li{font-size:12px;font-weight:400;color:#677182;line-height:1.6}
.admission-festival .admission-day-field select{max-width:100%;text-overflow:ellipsis}
@media(max-width:1100px){
  .admission-layout{grid-template-columns:minmax(0,1fr) 325px;gap:20px}
  .admission-selection{padding:20px}
  .admission-visit-details{grid-template-columns:1fr;gap:20px}
  .admission-venue-heading,.admission-visit-details,.admission-access-note{padding-left:22px;padding-right:22px}
}
@media(max-width:850px){
  .admission-page{padding:22px 24px 40px}
  .admission-layout{grid-template-columns:1fr;margin-top:22px;gap:23px}
  .admission-selection{width:100%;padding:25px;box-shadow:none}
  .admission-day-field{max-width:none}
  .admission-visit-details{grid-template-columns:1.2fr 1fr}
  .admission-quantity{justify-content:space-between}
  .admission-stepper button{width:43px;min-height:43px}
  .admission-stepper select{height:43px;min-width:55px}
  .admission-total output{font-size:27px}
}
@media(max-width:575px){
  .admission-page{padding:18px 16px 35px}
  .admission-breadcrumb{font-size:12px;margin-bottom:18px}
  .admission-event-header{gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}
  .admission-poster{width:55px;height:72px}
  .admission-event-copy{flex-basis:calc(100% - 70px)}
  .admission-event-copy h1{font-size:20px;line-height:1.3;margin-bottom:8px}
  .admission-event-copy p{font-size:12px;gap:6px;line-height:1.5}
  .admission-event-copy .admission-icon{width:14px;height:14px;margin-top:2px}
  .admission-change-date{margin-left:67px;font-size:12px}
  .admission-intro{margin-bottom:20px}
  .admission-intro h2{font-size:21px;line-height:1.4}
  .admission-intro p{font-size:14px}
  .admission-venue-heading{padding:22px 17px;gap:13px}
  .admission-location-icon{width:43px;height:43px}
  .admission-location-icon .admission-icon{width:24px;height:24px}
  .admission-venue-heading h3{font-size:18px}
  .admission-venue-heading p{font-size:13px}
  .admission-visit-details{grid-template-columns:1fr;padding:22px 18px;gap:19px}
  .admission-access-note{padding:20px 18px;gap:11px}
  .admission-access-note strong{font-size:14px}
  .admission-source-note p{font-size:11px}
  .admission-selection{padding:21px 18px}
  .admission-quantity>label{font-size:13px}
  .admission-unit-price strong{max-width:50%}
  .admission-total output{font-size:24px}
}
