/* Shared structured show detail, matching the accepted light desktop/mobile draft. */
.nissis-show-body{--show-navy:#081568;--show-muted:#52617c;--show-line:#d5ddeb;max-width:1160px;margin-inline:auto;color:var(--show-navy);font-size:clamp(1rem,.95rem + .2vw,1.125rem);line-height:1.65;overflow-wrap:anywhere}
.nissis-show-body *{box-sizing:border-box}
.nissis-show-body .nissis-show-section{background:#fff;padding:clamp(20px,4vw,48px);margin-block:24px;border-radius:12px}
.nissis-show-body h2{font-size:clamp(1.5rem,1.15rem + 1.2vw,2.25rem);line-height:1.25;margin:0 0 20px;color:inherit;text-wrap:balance}
.nissis-show-body h3{font-size:1.125rem;line-height:1.35;margin:0 0 12px;color:inherit}
.nissis-show-body p{margin:0 0 16px}
.nissis-show-body a{color:var(--show-navy);text-decoration:underline;text-underline-offset:3px}
.nissis-show-body button{background:var(--show-navy);color:white;border:2px solid var(--show-navy);border-radius:7px;padding:12px 20px;font:inherit;cursor:pointer;min-height:44px}
.nissis-show-body button:disabled{background:#e4e7ef;color:#36405a;border-color:#bdc4d6;cursor:default;opacity:1}
.nissis-show-body :is(a,button,iframe,summary):focus-visible{outline:3px solid #ad6600;outline-offset:4px}
.nissis-show-body a.nissis-show-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 20px;background:var(--show-navy);color:#fff;border-radius:7px;text-decoration:none;font-weight:600;font-size:1rem;line-height:1.4}
.nissis-show-body a:is(.nissis-show-button,.nissis-show-social):hover{filter:brightness(.85)}

/* These facts live beneath the title, outside the generated body. */
.nissis-show-heading-facts{color:#081568;margin-top:20px;font-size:1.125rem;line-height:1.5;overflow-wrap:anywhere}
.nissis-show-heading-facts .nissis-show-heading-date{font-size:1.25rem;font-weight:700;margin:0 0 8px}
.nissis-show-heading-facts .nissis-show-heading-timing{display:flex;flex-wrap:wrap;gap:8px 22px}
.nissis-show-heading-facts .nissis-show-heading-timing p{margin:0}
.nissis-show-heading-facts .nissis-show-heading-timing span{color:#081568;font-size:1rem;font-weight:700;margin-right:5px}
.nissis-show-heading-facts .nissis-show-heading-timing strong{font-size:1.125rem;font-weight:700}

.nissis-show-body .nissis-show-facts{padding:28px;margin-top:0;background:#fff;border:1px solid var(--show-line);border-radius:16px;box-shadow:0 3px 8px rgb(0 18 105 / 5%),0 14px 32px rgb(0 18 105 / 10%);font-size:1rem;line-height:1.6}
.nissis-show-body .nissis-show-ticket-heading{margin-bottom:18px}
.nissis-show-body .nissis-show-ticket-heading h2{font-size:1.5rem;margin-bottom:5px;text-wrap:initial}
.nissis-show-body .nissis-show-ticket-heading p{font-size:.9375rem;color:var(--show-muted);margin:0}
.nissis-show-body .nissis-show-ticket-decision{display:flex;align-items:stretch;gap:24px}
.nissis-show-body .nissis-show-tiers{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:0;flex:1;min-width:0;border-right:1px solid var(--show-line);padding-right:22px}
.nissis-show-body .nissis-show-tier{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:auto;align-items:start;gap:4px 20px;padding:10px 0;border-bottom:1px solid var(--show-line);min-width:0}
.nissis-show-body .nissis-show-tier:first-child{padding-top:0}
.nissis-show-body .nissis-show-tier:last-child{padding-bottom:0;border-bottom:0}
.nissis-show-body .nissis-show-tier-description{display:block;min-width:0;grid-column:1;grid-row:1}
.nissis-show-body .nissis-show-tier h3{font-size:1.125rem;font-weight:600;margin:0 0 4px}
.nissis-show-body .nissis-show-tier-amount{grid-column:2;grid-row:1;max-width:100%;text-align:right}
.nissis-show-body .nissis-show-price{font-size:2.125rem;font-weight:700;line-height:1.25;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.nissis-show-body .nissis-show-price-unit{display:block;font-size:.875rem;font-weight:500;color:var(--show-muted);white-space:normal}
.nissis-show-body .nissis-show-tier-fee{font-size:.875rem;line-height:1.4;color:var(--show-muted);margin:0}
.nissis-show-body .nissis-show-unknown-fee{font-size:.875rem;line-height:1.4;color:var(--show-muted);margin:0}
.nissis-show-body .nissis-show-pair-total{font-size:.9375rem;line-height:1.45;margin:6px 0 0}
.nissis-show-body .nissis-show-seat-note{font-size:.9375rem;line-height:1.5;margin:6px 0 0}
.nissis-show-body .nissis-show-tier-status{display:inline-block;font-size:.875rem;font-weight:700;border:1px solid currentColor;border-radius:4px;padding:1px 7px;margin:4px 0 0}
.nissis-show-body .nissis-show-purchase{flex:0 1 245px;min-width:180px;align-self:center}
.nissis-show-body .nissis-show-choose-night{font-size:.9375rem;font-weight:600;margin:0 0 10px}
.nissis-show-body .nissis-performance-tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr));gap:10px}
.nissis-show-body a.nissis-show-ticket{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;padding:12px 10px;min-height:66px;text-align:center}
.nissis-show-body .nissis-show-buy-label{display:block;font-size:1rem;font-weight:700}
.nissis-show-body .nissis-show-buy-date{display:block;font-size:.875rem;font-weight:500}
.nissis-show-body .nissis-show-checkout-note{font-size:.875rem;color:var(--show-muted);text-align:center;margin:10px 0 0}
.nissis-show-body .nissis-show-sales-status{font-size:1rem;margin:0 0 12px}
.nissis-show-body .nissis-show-door{border-top:1px solid var(--show-line);margin-top:22px;padding-top:16px;font-size:.9375rem;display:flex;flex-wrap:wrap;gap:4px 12px}
.nissis-show-body .nissis-show-door p{margin:0}
.nissis-show-body .nissis-show-door p+p{color:var(--show-muted)}
.nissis-show-body .nissis-show-policy{margin-top:10px;font-size:.90625rem;line-height:1.55}
.nissis-show-body .nissis-show-policy h3{margin:0;padding:4px 0 0;font-size:.9375rem;font-weight:600}
.nissis-show-body .nissis-show-policy-content{padding-top:6px}
.nissis-show-body .nissis-show-policy-content p{margin:0 0 6px}
.nissis-show-body .nissis-show-policy-content> :last-child{margin-bottom:0}
.nissis-show-body .nissis-show-free-admission{font-size:1.25rem}
.nissis-show-body .nissis-show-free-layout{display:grid;gap:24px}
.nissis-show-body .nissis-show-free-layout.has-groups{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.nissis-show-body .nissis-show-free-copy> :last-child{margin-bottom:0}
.nissis-show-body .nissis-show-service{margin-top:18px}
.nissis-show-body .nissis-show-group-reservation{border-left:1px solid var(--show-line);padding-left:24px;align-self:start}
.nissis-show-body .nissis-show-group-reservation h3{margin-bottom:6px}
.nissis-show-body .nissis-show-group-reservation p{margin-bottom:12px}
.nissis-show-body .nissis-show-specials{margin:0 0 22px;padding:16px 20px;border:1px solid var(--show-line);border-left:4px solid var(--show-navy);border-radius:8px;background:#fff}
.nissis-show-body .nissis-show-specials h3{margin-bottom:8px}
.nissis-show-body .nissis-show-specials ul{padding-left:20px;margin:0;display:grid;gap:6px}
.nissis-show-body .nissis-show-specials li{font-size:1.15rem;font-weight:700;line-height:1.5;color:var(--show-navy)}

/* Single-tier and free admission cards keep compact spacing at the shared content width. */
.nissis-show-body .nissis-show-facts--compact{width:100%;max-width:none;padding:22px}
.nissis-show-body .nissis-show-facts--compact .nissis-show-ticket-heading{margin-bottom:12px}
.nissis-show-body .nissis-show-facts--compact .nissis-show-door{margin-top:14px;padding-top:12px}
.nissis-show-body .nissis-show-facts--compact .nissis-show-policy{margin-top:6px}
.nissis-show-body .nissis-show-facts--compact .nissis-show-specials{margin-bottom:16px}
.nissis-show-body .nissis-show-facts--compact>.nissis-show-reservation:not([open]){display:inline-block;vertical-align:top;margin:10px 20px 0 0;border-top:0}
@media(min-width:701px){
 .nissis-show-body .nissis-show-facts--compact .nissis-show-ticket-decision{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,245px);gap:20px}
 .nissis-show-body .nissis-show-facts--compact .nissis-show-purchase{border-top:0;padding-top:0}
 .nissis-show-body .nissis-show-facts--compact .nissis-show-free-layout.has-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
 .nissis-show-body .nissis-show-facts--compact .nissis-show-group-reservation{padding-left:20px}
}

/* Keep wide desktop actions with right-aligned totals and moderate price type. */
@media(min-width:1001px){
 .nissis-show-body .nissis-show-price{font-size:1.875rem}
 .nissis-show-body .nissis-show-facts--single-tier .nissis-show-ticket-decision{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .nissis-show-body .nissis-show-facts--single-tier .nissis-show-tier{grid-template-columns:minmax(0,1fr) max-content;column-gap:24px}
 .nissis-show-body .nissis-show-facts--single-tier .nissis-show-purchase{min-width:0}
}

.nissis-show-body .nissis-show-artist{display:flex;gap:clamp(20px,3vw,40px);align-items:flex-start}
.nissis-show-body .nissis-show-artist-image{display:block;width:38%;max-width:420px;height:auto;object-fit:contain;border-radius:8px}
.nissis-show-body .nissis-show-artist-copy{min-width:0;flex:1}
.nissis-show-body .nissis-show-subtitle{font-size:1.2em;line-height:1.4}
.nissis-show-body .nissis-show-rich> :last-child{margin-bottom:0}
.nissis-show-body .nissis-show-links{display:flex;align-items:center;flex-wrap:wrap;margin-top:16px;gap:10px}
.nissis-show-body a.nissis-show-social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #cbd0e3;border-radius:50%;background:white;text-decoration:none}
.nissis-show-body .nissis-show-social svg{width:22px;height:22px;fill:currentColor}
.nissis-show-body .nissis-show-video{margin-top:24px}
.nissis-show-body .nissis-show-video p{font-size:.875em;margin-top:8px}
.nissis-show-body .nissis-show-video iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;background:#111}
.nissis-show-body .nissis-show-video :is(button,.nissis-show-button){font-size:1rem;font-weight:600;line-height:1.5;padding:9px 20px;border:2px solid var(--show-navy);border-radius:7px;min-height:44px;box-sizing:border-box}
.nissis-show-body .nissis-show-copy img{max-width:100%;height:auto}
.nissis-show-body .nissis-show-copy figure{max-width:100%;margin-inline:0}
.nissis-show-body .nissis-show-sale-notice{padding:16px 22px;margin:0 0 20px;border:1px solid #c5cce6;border-left:4px solid #142474;border-radius:10px;background:#eef1fa;color:#0a175e}
.nissis-show-body .nissis-show-sale-notice p{margin:0 0 8px}
.nissis-show-body .nissis-show-sale-notice> :last-child{margin-bottom:0}

@media(max-width:1000px){
 .nissis-show-body .nissis-show-ticket-decision{flex-wrap:wrap}
 .nissis-show-body .nissis-show-tiers{flex-basis:100%;border-right:0;padding-right:0}
 .nissis-show-body .nissis-show-tier:last-child{border-right:0;padding-right:0}
 .nissis-show-body .nissis-show-purchase{flex-basis:100%;border-top:1px solid var(--show-line);padding-top:18px}
 .nissis-show-body .nissis-performance-tickets{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
}
@media(max-width:700px){
 .nissis-show-body .nissis-show-free-layout.has-groups{grid-template-columns:1fr;gap:18px}
 .nissis-show-body .nissis-show-group-reservation{border-left:0;border-top:1px solid var(--show-line);padding:18px 0 0}
 .nissis-show-body .nissis-show-artist{flex-direction:column}
 .nissis-show-body .nissis-show-artist-image{width:100%;max-width:100%}
 .nissis-show-body .nissis-show-artist-copy{width:100%}
 .nissis-show-heading-facts{margin-top:14px}
 .nissis-show-heading-facts .nissis-show-heading-date{font-size:1.125rem}
 .nissis-show-heading-facts .nissis-show-heading-timing{gap:6px 14px}
 .nissis-show-heading-facts .nissis-show-heading-timing strong{font-size:1rem}
}
@media(max-width:600px){
 .nissis-show-body .nissis-show-facts{padding:20px}
 .nissis-show-body .nissis-show-ticket-heading{margin-bottom:12px}
 .nissis-show-body .nissis-show-ticket-heading h2{font-size:1.375rem}
 .nissis-show-body .nissis-show-ticket-decision{gap:15px}
 .nissis-show-body .nissis-show-tiers{grid-template-columns:1fr;grid-template-rows:none;gap:0}
 .nissis-show-body .nissis-show-tier{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);grid-template-rows:auto;grid-row:auto;column-gap:14px;row-gap:4px;padding:14px 0;border-right:0;border-bottom:1px solid var(--show-line);align-items:start}
 .nissis-show-body .nissis-show-tier:last-child{padding-bottom:14px;border-bottom:1px solid var(--show-line)}
 .nissis-show-body .nissis-show-tier-description{display:block;min-width:0;grid-column:1;grid-row:1}
 .nissis-show-body .nissis-show-tier h3{font-size:1rem;margin-bottom:5px}
 .nissis-show-body .nissis-show-tier-amount{display:block;grid-column:2;grid-row:1;text-align:right}
 .nissis-show-body .nissis-show-price{font-size:1.75rem;margin:0 0 4px;text-align:right;max-width:132px;grid-column:2;grid-row:1;justify-self:end}
 .nissis-show-body .nissis-show-price-unit{display:block;font-size:.8125rem}
 .nissis-show-body .nissis-show-group-reservation .nissis-show-button{width:100%;text-align:center}
 .nissis-show-body .nissis-show-specials{padding:15px;margin-bottom:18px}
 .nissis-show-body .nissis-show-tier-fee{display:block;font-size:.8125rem;line-height:1.4;margin:0}
 .nissis-show-body .nissis-show-seat-note,.nissis-show-body .nissis-show-quantity{font-size:.875rem;line-height:1.5;margin-top:5px}
 .nissis-show-body .nissis-show-pair-total{font-size:.875rem;line-height:1.45;margin-top:6px;grid-column:1 / -1;text-align:left}
 .nissis-show-body .nissis-show-purchase{border-top:0;padding-top:0;min-width:0}
 .nissis-show-body .nissis-performance-tickets{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px}
 .nissis-show-body .nissis-show-buy-label{font-size:.9375rem}
 .nissis-show-body .nissis-show-unknown-fee{font-size:.875rem;line-height:1.4;margin-bottom:0;grid-column:1 / -1;text-align:left}
}

/* Shared Atomic hero: stack readable artwork, title and facts on narrow screens. */
.elementor-20305 .elementor-element-2c4956f1 { row-gap:0; }
.elementor-20305 .e-2345a02e-b6a1 { min-width:0;overflow-wrap:anywhere; }
.elementor-20305 .elementor-element-a7f62d8 { grid-column:1; grid-row:2; }
.elementor-20305 .e-652c987c-f4c5 { grid-column:2; grid-row:1 / span 2; }
@media(max-width:767px) {
 .elementor-20305 .e-2345a02e-b6a1 { font-size:clamp(1.75rem,7.5vw,2.125rem);line-height:1.15; }
 .elementor-20305 .elementor-element-2c4956f1 { grid-template-columns:minmax(0,1fr);row-gap:20px; }
 .elementor-20305 .elementor-element-a7f62d8 { grid-column:1;grid-row:3; }
 .elementor-20305 .e-652c987c-f4c5 { grid-column:1;grid-row:2;width:100%;max-width:none;aspect-ratio:16 / 9;object-fit:contain; }
}

/* A show without saved entry instructions needs no empty column. */
.nissis-show-body .nissis-show-free-layout.nissis-show-free-layout--single{display:block}
.nissis-show-body .nissis-show-free-layout--single .nissis-show-group-reservation{border:0;padding:0}

/* Native disclosure keeps the free-entry box compact until a reservation is requested. */
.nissis-show-body .nissis-show-reservation{margin-top:18px;border-top:1px solid var(--show-line)}
.nissis-show-body .nissis-show-reservation>summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:600}
.nissis-show-body .nissis-show-reservation-content{padding-top:12px;scroll-margin-top:160px;max-width:800px}
.nissis-show-body .nissis-show-reservation-content h3{font-size:1.25rem}
.nissis-show-body .nissis-show-reservation-context{font-size:1rem;line-height:1.5}
.nissis-show-body .nissis-show-reservation .nissis-form__field>label{font-size:1rem}
.nissis-show-body .nissis-show-reservation .nissis-form__help{margin:6px 0 0;font-size:.9375rem;line-height:1.5}
.nissis-show-body .nissis-show-reservation .nissis-form__status{margin:0;font-size:.9375rem;line-height:1.5}

/* Unusual events retain their WordPress content in the same white-card system. */
.nissis-show-body .nissis-show-custom{border:1px solid var(--show-line);box-shadow:0 3px 8px rgb(0 18 105 / 5%),0 14px 32px rgb(0 18 105 / 8%)}
.nissis-show-body .nissis-show-custom p.has-background{background:#f3f5fb!important;border:1px solid var(--show-line);border-radius:12px!important;padding:22px!important;font-size:1rem!important;line-height:1.65}
.nissis-show-body .nissis-show-custom .wp-block-image{margin:24px 0}
.nissis-show-body .nissis-show-custom img{display:block;max-width:100%;height:auto;border-radius:12px;margin-inline:auto}
.nissis-show-body .nissis-show-custom .wp-block-button{width:auto!important;max-width:100%}
.nissis-show-body .nissis-show-custom .wp-block-button__link{background:var(--show-navy)!important;color:#fff!important;border:0!important;border-radius:7px!important;min-height:44px;padding:12px 22px!important;font-size:1rem!important;line-height:1.5;text-decoration:none;font-weight:600}
@media(max-width:767px){.nissis-show-body .nissis-show-custom .wp-block-buttons,.nissis-show-body .nissis-show-custom .wp-block-button{width:100%!important}.nissis-show-body .nissis-show-custom .wp-block-button__link{display:block;width:100%;text-align:center}}


/* Compact the mobile ticket card while retaining labels, pair terms and touch targets. */
@media (max-width: 600px) {
	.nissis-show-body .nissis-show-facts { padding-block: 12px; }
	.nissis-show-body .nissis-show-facts .nissis-show-ticket-heading { margin-bottom: 6px; }
	.nissis-show-body .nissis-show-facts .nissis-show-ticket-heading h2 { font-size: 1.25rem; margin-bottom: 0; }
	.nissis-show-body .nissis-show-facts .nissis-show-ticket-decision { gap: 8px; }
	.nissis-show-body .nissis-show-facts .nissis-show-tier { padding-block: 6px; row-gap: 2px; column-gap: 12px; }
	.nissis-show-body .nissis-show-facts .nissis-show-tier h3 { margin-bottom: 0; }
	.nissis-show-body .nissis-show-facts .nissis-show-price { font-size: 1.5rem; line-height: 1.15; margin-block: 0; }
	.nissis-show-body .nissis-show-facts .nissis-show-price-unit { font-size: .75rem; line-height: 1.3; }
	.nissis-show-body .nissis-show-facts .nissis-show-pair-total { margin: 2px 0 0; }
	.nissis-show-body .nissis-show-facts .nissis-show-choose-night { margin-bottom: 6px; }
	.nissis-show-body .nissis-show-facts a.nissis-show-ticket { min-height: 52px; padding-block: 8px; gap: 2px; }
	.nissis-show-body .nissis-show-facts .nissis-show-checkout-note { margin-top: 6px; line-height: 1.4; }
	.nissis-show-body .nissis-show-facts .nissis-show-door { margin-top: 10px; padding-top: 8px; }
}
