/*
Theme Name:        Matinee
Description:       A cinema-hoarding storefront for selling timed movie passes. Built for WooCommerce and the Movie Access for WooCommerce plugin.
Version:           1.2.0
Author:            Misra Web Solutions
Text Domain:       matinee
Requires at least: 5.8
Requires PHP:      7.4
*/

/* ---------- fonts (self-hosted) ---------- */
@font-face { font-family:"Big Shoulders Display"; font-weight:800; font-display:swap; src:url(assets/fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2"); }
@font-face { font-family:"Big Shoulders Display"; font-weight:900; font-display:swap; src:url(assets/fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2"); }
@font-face { font-family:"DM Sans"; font-weight:400; font-display:swap; src:url(assets/fonts/dm-sans-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family:"DM Sans"; font-weight:500; font-display:swap; src:url(assets/fonts/dm-sans-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family:"DM Sans"; font-weight:700; font-display:swap; src:url(assets/fonts/dm-sans-latin-700-normal.woff2) format("woff2"); }

/* ---------- tokens ---------- */
:root {
	--night:#0e1030;      /* page */
	--balcony:#191c4a;    /* raised surfaces */
	--balcony-2:#232760;  /* hover / inputs */
	--gold:#ffb21a;       /* marigold: the one action colour */
	--gold-d:#e39a00;
	--reel:#ff5468;       /* errors, running-out warnings */
	--foyer:#f1eeff;      /* text */
	--dusk:#a3a6d8;       /* secondary text */
	--line:rgba(241,238,255,.14);
	--display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
	--body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--wrap:1180px;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--night); color:var(--foyer); font:400 1rem/1.6 var(--body); -webkit-font-smoothing:antialiased;
	--maw-accent:var(--gold); --maw-accent-d:var(--gold-d); --maw-dark:#080a22; --maw-card:var(--balcony); --maw-line:var(--line); --maw-muted:var(--dusk); }
img { max-width:100%; height:auto; display:block; }
a { color:var(--gold); text-underline-offset:3px; }
a:hover { color:#ffd27a; }
h1,h2,h3,h4 { font-family:var(--display); font-weight:800; line-height:1; margin:0 0 .5em; letter-spacing:.01em; text-transform:uppercase; }
p { margin:0 0 1em; }
:focus-visible { outline:3px solid var(--gold); outline-offset:3px; border-radius:2px; }
.wrap { width:min(var(--wrap),100% - 40px); margin-inline:auto; }
.screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip-link { position:absolute; left:12px; top:-60px; background:var(--gold); color:var(--night); padding:10px 16px; border-radius:4px; z-index:100; font-weight:700; }
.skip-link:focus { top:12px; }

/* ---------- buttons ---------- */
.button, button.button, input.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wc-block-components-button:not(.is-link),
.single_add_to_cart_button, .maw-card .button, .maw-actions .button {
	display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 24px; border:2px solid var(--gold); border-radius:4px;
	background:transparent; color:var(--gold); font:700 .98rem/1 var(--body); text-decoration:none; cursor:pointer; transition:background .15s, color .15s; }
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:not(.is-link):hover { background:var(--gold); color:var(--night); }
.button-primary, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce a.button.checkout, .woocommerce #place_order, .maw-actions .button.alt, .maw-card .button.alt,
.wc-block-components-button:not(.is-link).contained, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background:var(--gold); color:var(--night); }
.button-primary:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover { background:#ffc85a; border-color:#ffc85a; color:var(--night); }
.woocommerce a.button.disabled, .woocommerce button.button:disabled { opacity:.45; cursor:not-allowed; }
.text-link { font-weight:700; }

/* ---------- header ---------- */
.site-header { position:sticky; top:0; z-index:50; background:rgba(14,16,48,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.header-row { display:flex; align-items:center; gap:28px; min-height:68px; }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--foyer); }
.brand-mark { width:26px; height:18px; background:var(--gold); border-radius:3px;
	-webkit-mask:radial-gradient(circle 4.5px at 0 50%,#0000 98%,#000) , radial-gradient(circle 4.5px at 100% 50%,#0000 98%,#000); -webkit-mask-composite:source-in;
	mask:radial-gradient(circle 4.5px at 0 50%,#0000 98%,#000), radial-gradient(circle 4.5px at 100% 50%,#0000 98%,#000); mask-composite:intersect; }
.brand-name { font:900 1.7rem/1 var(--display); text-transform:uppercase; letter-spacing:.02em; }
.custom-logo { max-height:44px; width:auto; }
.site-nav { flex:1; }
.menu { list-style:none; margin:0; padding:0; display:flex; gap:26px; }
.site-nav a, .footer-nav a { color:var(--foyer); text-decoration:none; font-weight:500; }
.site-nav a:hover, .footer-nav a:hover, .site-nav .current-menu-item > a { color:var(--gold); }
.header-tools { display:flex; align-items:center; gap:18px; margin-left:auto; }
.tool-link { color:var(--foyer); text-decoration:none; font-weight:500; }
.tool-link:hover { color:var(--gold); }
.cart-link { position:relative; display:inline-flex; color:var(--foyer); padding:6px; }
.cart-link:hover { color:var(--gold); }
.cart-count { position:absolute; top:-3px; right:-5px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--gold); color:var(--night); font:700 .72rem/19px var(--body); text-align:center; }
.cart-count.is-empty { display:none; }
.nav-toggle { display:none; width:44px; height:44px; background:none; border:0; padding:0; cursor:pointer; position:relative; }
.nav-toggle i { position:absolute; left:11px; right:11px; height:2px; background:var(--foyer); transition:transform .2s; }
.nav-toggle i:first-of-type { top:17px; } .nav-toggle i:last-of-type { top:25px; }
.nav-toggle[aria-expanded="true"] i:first-of-type { transform:translateY(4px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] i:last-of-type { transform:translateY(-4px) rotate(-45deg); }
@media (max-width:820px) {
	.nav-toggle { display:block; }
	.site-nav { position:absolute; left:0; right:0; top:100%; background:var(--night); border-bottom:1px solid var(--line); display:none; padding:8px 20px 18px; }
	.site-nav.is-open { display:block; }
	.menu { flex-direction:column; gap:0; }
	.menu a { display:block; padding:14px 0; border-bottom:1px solid var(--line); }
	.tool-link { display:none; }
	.header-row { gap:12px; }
}

/* ---------- hero ---------- */
.hero { position:relative; overflow:hidden; isolation:isolate; padding:clamp(40px,7vw,96px) 0 clamp(56px,8vw,110px); }
.hero-bg { position:absolute; inset:-40px; z-index:-2; background-size:cover; background-position:center 20%; filter:blur(38px) saturate(1.3); opacity:.5; transform:scale(1.1); }
.hero::after, .movie-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(14,16,48,.35) 0%,var(--night) 100%); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(24px,5vw,72px); align-items:center; }
.hero-title { font:900 clamp(3.6rem,10.5vw,9.5rem)/.86 var(--display); letter-spacing:0; margin:0 0 .22em; text-wrap:balance; overflow-wrap:anywhere; }
.hero-meta, .movie-meta { display:block; margin:0 0 20px; color:var(--dusk); font-weight:500; }
.hero-meta span:not(:last-child)::after, .movie-meta span:not(:last-child)::after { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--gold); margin:0 14px 0 14px; vertical-align:middle; position:relative; top:-1px; }
.hero-blurb { max-width:52ch; font-size:1.12rem; color:var(--foyer); opacity:.92; margin-bottom:28px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.hero-art { position:relative; justify-self:center; width:min(100%,380px); padding-bottom:46px; }
.hero-poster { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:6px; box-shadow:0 30px 70px rgba(0,0,0,.55); transform:rotate(2.2deg); }
.hero-empty { padding-block:clamp(70px,10vw,140px); }
.hero-empty .hero-blurb { margin-bottom:22px; }

/* the one orchestrated moment: title, poster and ticket arrive in sequence */
@media (prefers-reduced-motion:no-preference) {
	.hero-title { animation:rise .7s cubic-bezier(.2,.7,.2,1) both; }
	.hero-poster { animation:poster-in .9s .1s cubic-bezier(.2,.7,.2,1) both; }
	.hero-art .ticket { animation:ticket-in .7s .55s cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes rise { from { opacity:0; transform:translateY(22px); } }
@keyframes poster-in { from { opacity:0; transform:translateY(30px) rotate(5deg); } }
@keyframes ticket-in { from { opacity:0; transform:translateX(-40px) rotate(-3deg); } }

/* ---------- ticket (the buy box) ---------- */
.ticket { --stub:176px; position:relative; display:flex; background:var(--gold); color:var(--night); border-radius:8px; text-decoration:none;
	-webkit-mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 97%,#000), radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 97%,#000);
	-webkit-mask-composite:source-in;
	mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 97%,#000), radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 97%,#000);
	mask-composite:intersect;
	filter:drop-shadow(0 14px 28px rgba(0,0,0,.4)); }
.ticket-main { flex:1; padding:20px 22px; min-width:0; }
.ticket-stub { flex:0 0 var(--stub); display:flex; align-items:center; justify-content:center; padding:16px; border-left:2px dashed rgba(14,16,48,.45); }
.ticket-pass { margin:0 0 2px; font:800 1.55rem/1 var(--display); text-transform:uppercase; letter-spacing:.02em; display:block; }
.ticket-price { font:700 1.9rem/1.1 var(--body); display:block; }
.ticket-price .woocommerce-Price-amount { font-weight:700; }
.ticket-price del { opacity:.55; font-size:.7em; margin-right:6px; }
.ticket-price ins { text-decoration:none; }
.ticket-note { margin:8px 0 0; font-size:.86rem; line-height:1.4; opacity:.85; }
.ticket .single_add_to_cart_button, .ticket-go { width:100%; min-height:52px; background:var(--night); color:var(--gold); border:0; border-radius:4px; font:700 1rem/1 var(--body); padding:0 12px; text-align:center; display:flex; align-items:center; justify-content:center; }
.ticket .single_add_to_cart_button:hover { background:#1c2058; color:#ffd27a; }
.ticket form.cart { margin:0; width:100%; display:block; }
.ticket .quantity { display:none; }
.ticket-mini { position:absolute; left:-22px; right:-10px; bottom:0; --stub:128px; }
.ticket-mini:hover { color:var(--night); }
.ticket-mini:hover .ticket-go { background:#1c2058; color:#ffd27a; }
.ticket-mini .ticket-main { padding:14px 18px; }
.ticket-mini .ticket-pass { font-size:1.25rem; }
.ticket-mini .ticket-price { font-size:1.35rem; }
@media (max-width:520px) {
	.ticket:not(.ticket-mini) { --stub:92px; flex-direction:column;
		-webkit-mask:radial-gradient(circle 11px at 0 calc(100% - var(--stub)),#0000 97%,#000), radial-gradient(circle 11px at 100% calc(100% - var(--stub)),#0000 97%,#000);
		-webkit-mask-composite:source-in;
		mask:radial-gradient(circle 11px at 0 calc(100% - var(--stub)),#0000 97%,#000), radial-gradient(circle 11px at 100% calc(100% - var(--stub)),#0000 97%,#000);
		mask-composite:intersect; }
	.ticket:not(.ticket-mini) .ticket-stub { flex:0 0 var(--stub); border-left:0; border-top:2px dashed rgba(14,16,48,.45); }
}
@media (max-width:860px) {
	.hero-grid { grid-template-columns:1fr; }
	.hero-art { order:-1; width:min(100%,300px); padding-bottom:40px; }
	.ticket-mini { left:-14px; right:-14px; }
}

/* ---------- sections ---------- */
.section { padding:clamp(48px,7vw,96px) 0; }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:28px; }
.section-title { font:900 clamp(2.2rem,5vw,3.4rem)/.95 var(--display); margin:0; }
.section-head .section-title { margin:0; }

/* movie grid + cards */
ul.products, .movie-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 24px; }
ul.products::before, ul.products::after { display:none !important; }
@media (max-width:980px) { ul.products, .movie-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) { ul.products, .movie-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; } }
.movie-card { margin:0 !important; width:auto !important; float:none !important; }
.movie-link { display:block; color:var(--foyer); text-decoration:none; }
.movie-poster { position:relative; display:block; aspect-ratio:2/3; border-radius:6px; overflow:hidden; background:var(--balcony); box-shadow:0 12px 30px rgba(0,0,0,.35); }
.movie-poster img { width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.movie-link:hover .movie-poster img, .movie-link:focus-visible .movie-poster img { transform:scale(1.05); }
.price-tab { position:absolute; left:0; bottom:14px; background:var(--gold); color:var(--night); font:700 .95rem/1 var(--body); padding:8px 14px 8px 12px; border-radius:0 4px 4px 0; }
.price-tab del { opacity:.55; margin-right:4px; } .price-tab ins { text-decoration:none; }
.movie-title { display:block; margin-top:14px; font:800 1.55rem/1 var(--display); text-transform:uppercase; letter-spacing:.01em; }
.movie-link:hover .movie-title { color:var(--gold); }
.movie-card .movie-meta { margin:6px 0 0; font-size:.88rem; line-height:1.5; }
.movie-card .movie-meta span:not(:last-child)::after { margin:0 9px; width:3px; height:3px; }

/* how it works */
.section-steps { border-top:1px solid var(--line); background:linear-gradient(180deg,var(--night),#0a0b24); }
.steps { list-style:none; counter-reset:step; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,56px); margin:36px 0 0; padding:0; }
.steps li { counter-increment:step; position:relative; padding-top:92px; }
.steps li::before { content:counter(step); position:absolute; left:0; top:0; font:900 6rem/.8 var(--display); color:transparent; -webkit-text-stroke:2px var(--gold); }
.steps h3 { font-size:1.9rem; margin-bottom:.35em; }
.steps p { color:var(--dusk); max-width:34ch; }
@media (max-width:760px) { .steps { grid-template-columns:1fr; gap:34px; } .steps li { padding-top:0; padding-left:92px; min-height:84px; } .steps li::before { font-size:5.4rem; } }

/* ---------- catalogue ---------- */
.page { padding:clamp(36px,5vw,64px) 0 clamp(56px,7vw,96px); }
.page-title { font:900 clamp(3rem,8vw,6rem)/.9 var(--display); margin:0 0 .3em; }
.catalogue-head { margin-bottom:34px; }
.filters { display:flex; flex-wrap:wrap; gap:10px; }
.filter { color:var(--foyer); text-decoration:none; padding:8px 18px; border:1px solid var(--line); border-radius:999px; font-weight:500; }
.filter:hover { border-color:var(--gold); color:var(--gold); }
.filter.is-on { background:var(--gold); border-color:var(--gold); color:var(--night); font-weight:700; }
.empty-note { color:var(--dusk); max-width:50ch; }
.woocommerce-pagination ul { list-style:none; display:flex; justify-content:center; gap:8px; padding:0; margin:48px 0 0; border:0 !important; }
.woocommerce-pagination .page-numbers { display:block; min-width:42px; padding:10px 14px; text-align:center; border:1px solid var(--line); border-radius:4px; color:var(--foyer); text-decoration:none; }
.woocommerce-pagination .page-numbers.current { background:var(--gold); color:var(--night); border-color:var(--gold); font-weight:700; }

/* ---------- single movie ---------- */
.movie-hero { position:relative; overflow:hidden; isolation:isolate; padding:clamp(32px,5vw,72px) 0 clamp(40px,6vw,80px); }
.movie-hero-grid { display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:start; }
.movie-art .hero-poster { animation:none; transform:rotate(-1.6deg); }
.movie-summary .product_title { font:900 clamp(3rem,7vw,5.8rem)/.88 var(--display); margin:0 0 .25em; text-wrap:balance; overflow-wrap:anywhere; }
.movie-summary .woocommerce-product-details__short-description { font-size:1.1rem; max-width:56ch; margin-bottom:24px; }
.movie-summary .woocommerce-product-details__short-description p:last-child { margin-bottom:0; }
.movie-summary .ticket { max-width:540px; margin-top:26px; }
.about { padding-block:clamp(36px,5vw,64px); border-top:1px solid var(--line); }
.about .section-title { margin-bottom:22px; }
.prose { max-width:68ch; }
.prose h2, .prose h3 { margin-top:1.4em; }
.more-movies { padding-bottom:clamp(40px,6vw,80px); }
.more-movies section.related, .more-movies section.up-sells { margin-top:24px; }
.more-movies section > h2 { font:900 clamp(2.2rem,5vw,3.4rem)/.95 var(--display); margin:0 0 28px; }
@media (max-width:760px) { .movie-hero-grid { grid-template-columns:1fr; } .movie-art { width:min(100%,260px); margin-inline:auto; } }

/* ---------- Movie Access plugin on a dark stage ---------- */
body .maw-info { background:rgba(255,255,255,.06); border:1px solid var(--line); border-radius:8px; color:var(--foyer); margin:0 0 6px; }
body .maw-chip { background:rgba(255,255,255,.1); color:var(--foyer); }
body .maw-perks li::before { color:var(--gold); }
body .maw-trailer-btn { background:transparent; color:var(--foyer); border:2px solid var(--line); border-radius:4px; padding:0 20px; min-height:46px; font:700 .98rem/1 var(--body); cursor:pointer; }
body .maw-trailer-btn:hover { background:rgba(255,255,255,.1); border-color:var(--foyer); }
body .hero-actions .maw-trailer-btn { margin:0; }
body .maw-card { border-radius:8px; }
body .maw-timer-row strong, body .maw-card-title a { color:var(--foyer); }
body .maw-bar { background:rgba(255,255,255,.12); }
body .maw-copy { background:rgba(255,255,255,.08); color:var(--foyer); border-color:var(--line); }
body .maw-copy:hover { color:var(--gold); border-color:var(--gold); }
body code.maw-code-inline, body .maw-meta code, body .maw-code code { background:rgba(255,255,255,.1); color:var(--foyer); }
body .maw-about { color:var(--foyer); }
body .maw-hint, body .maw-order, body .maw-note, body .maw-meta { color:var(--dusk); }
body .maw-stage { box-shadow:0 20px 60px rgba(0,0,0,.5); border:1px solid var(--line); }
body .maw-btn:hover { background:var(--gold); color:var(--night); }
body .maw-info .button { margin-top:6px; }

/* ---------- WooCommerce pages: cart, checkout, account ---------- */
.woocommerce, .wc-block-components-sidebar-layout { color:var(--foyer); }
.woocommerce-breadcrumb { display:none; }
.woocommerce table.shop_table, .woocommerce-page table.shop_table { border:1px solid var(--line); border-radius:8px; border-collapse:separate; border-spacing:0; overflow:hidden; background:var(--balcony); width:100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding:16px 18px; border:0; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.woocommerce table.shop_table tr:last-child > * { border-bottom:0; }
.woocommerce table.shop_table th { font-weight:700; color:var(--dusk); background:rgba(0,0,0,.18); }
.woocommerce table.cart img { width:64px; border-radius:4px; }
.woocommerce a.remove { color:var(--reel) !important; font-size:1.4rem; text-decoration:none; }
.woocommerce a.remove:hover { background:var(--reel) !important; color:var(--night) !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review { background:var(--balcony); border:1px solid var(--line); border-radius:8px; padding:22px; }
.woocommerce .cart-collaterals { margin-top:28px; } .woocommerce .cart-collaterals .cart_totals { width:min(100%,460px); margin-left:auto; float:none; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-billing-fields h3, #order_review_heading { font-size:2rem; }
.woocommerce form .form-row { margin:0 0 16px; padding:0; }
.woocommerce form .form-row label { display:block; font-weight:500; margin-bottom:6px; color:var(--foyer); }
.woocommerce form .form-row .required { color:var(--reel); text-decoration:none; }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], select, textarea, .select2-container--default .select2-selection--single {
	width:100%; min-height:48px; background:var(--balcony-2) !important; color:var(--foyer) !important; border:1px solid var(--line) !important; border-radius:4px !important; padding:10px 14px; font:inherit; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--foyer); line-height:28px; }
input:focus, select:focus, textarea:focus { border-color:var(--gold) !important; outline:2px solid var(--gold); outline-offset:0; }
input[type=checkbox], input[type=radio] { accent-color:var(--gold); width:auto; min-height:0; }
.woocommerce-checkout #payment { background:transparent; border-radius:8px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom:1px solid var(--line); padding:0 0 16px; }
.woocommerce-checkout #payment div.payment_box { background:var(--balcony-2); color:var(--foyer); border-radius:4px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--balcony-2); }
.woocommerce form.checkout .col2-set { float:none; width:100%; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style:none; margin:0 0 24px; padding:16px 20px; border-radius:6px; border:1px solid var(--line); border-left:5px solid var(--gold); background:var(--balcony); color:var(--foyer); display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
.woocommerce-error { border-left-color:var(--reel); }
.woocommerce-message .button, .woocommerce-info .button { order:2; margin-left:auto; min-height:38px; padding:0 16px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display:none; }

.woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation li a { display:block; padding:12px 16px; color:var(--foyer); text-decoration:none; border-left:3px solid transparent; font-weight:500; }
.woocommerce-MyAccount-navigation li a:hover { background:var(--balcony); }
.woocommerce-MyAccount-navigation li.is-active a { border-left-color:var(--gold); background:var(--balcony); color:var(--gold); font-weight:700; }
@media (min-width:821px) {
	.woocommerce-account .woocommerce { display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:start; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float:none; width:auto; }
}
@media (max-width:820px) { .woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:24px; } .woocommerce-MyAccount-navigation li a { border:1px solid var(--line); border-radius:999px; padding:8px 16px; } .woocommerce-MyAccount-navigation li.is-active a { border-color:var(--gold); } }
.woocommerce-account .u-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.woocommerce-account .u-columns .col-1, .woocommerce-account .u-columns .col-2 { float:none; width:auto; }
@media (max-width:700px) { .woocommerce-account .u-columns { grid-template-columns:1fr; } }
.woocommerce form.login, .woocommerce form.register { background:var(--balcony); border:1px solid var(--line); border-radius:8px; padding:24px; margin:0; }
.woocommerce form.woocommerce-form-login .button { margin-top:6px; }

/* WooCommerce Cart/Checkout blocks */
.wc-block-components-text-input input, .wc-block-components-form .wc-block-components-text-input input, .wc-blocks-components-select__select { background:var(--balcony-2) !important; color:var(--foyer) !important; border:1px solid var(--line) !important; border-radius:4px !important; }
.wc-block-components-text-input label, .wc-block-components-product-name, .wc-block-components-totals-item, .wc-block-components-order-summary, .wc-block-cart-items__header, .wc-block-components-checkout-step__title, .wc-block-components-title { color:var(--foyer) !important; }
.wc-block-cart-items td, .wc-block-cart-items th, .wc-block-components-totals-wrapper { border-color:var(--line) !important; }
.wc-block-components-product-metadata, .wc-block-components-totals-item__description { color:var(--dusk) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color:var(--line) !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { color:var(--night) !important; }

/* ---------- footer ---------- */
.site-footer { background:#080a22; border-top:1px solid var(--line); padding:clamp(40px,6vw,72px) 0 28px; }
.footer-grid { display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.footer-brand .brand-name { display:block; font:900 2.2rem/1 var(--display); text-transform:uppercase; margin:0 0 10px; }
.footer-note { color:var(--dusk); max-width:44ch; }
.footer-nav .menu { flex-direction:column; gap:10px; }
.footer-base { margin-top:36px; padding-top:20px; border-top:1px solid var(--line); color:var(--dusk); font-size:.9rem; }
.footer-base p { margin:0; }

/* ---------- page content ---------- */
.entry > p, .entry > ul, .entry > ol, .entry > h2, .entry > h3, .entry > blockquote { max-width:68ch; }
.entry > h2, .entry > h3 { margin-top:1.4em; }
body .maw-actions .button { white-space:nowrap; padding:0 16px; }
body .maw-card-title { font-size:1.5rem; text-transform:uppercase; }
body .maw-code { flex-wrap:wrap; }

/* ---------- phones and tablets ---------- */
.brand { min-height:44px; }
.cart-link { min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:0; }
.cart-count { top:3px; right:1px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; }
body .maw-copy { min-height:36px; padding:0 14px; font-size:.85rem; }
.woocommerce a.remove { display:inline-flex !important; align-items:center; justify-content:center; width:44px; height:44px; line-height:1; }
.woocommerce-cart-form, .woocommerce-checkout-review-order, .woocommerce-MyAccount-content { max-width:100%; }
.woocommerce-cart-form { overflow-x:auto; }
.woocommerce table.shop_table { max-width:100%; }

@media (max-width:820px) {
	.page-title { font-size:clamp(2.6rem,13vw,4rem); }
	.woocommerce .cart-collaterals .cart_totals { width:100%; }
	.woocommerce-checkout #order_review, .woocommerce .cart-collaterals .cart_totals { padding:18px; }
}
@media (max-width:600px) {
	.wrap { width:calc(100% - 32px); }
	.header-row { min-height:60px; }
	.brand-name { font-size:1.45rem; }
	.hero { padding:28px 0 52px; }
	.hero-art { width:min(62vw,236px); padding-bottom:34px; }
	.hero-title, .movie-summary .product_title { font-size:clamp(3rem,15vw,4.4rem); }
	.hero-blurb { font-size:1.02rem; }
	.hero-actions .button, .hero-actions .maw-trailer-btn { flex:1 1 150px; }
	.ticket-mini { --stub:104px; left:-12px; right:-12px; }
	.ticket-mini .ticket-pass { font-size:1.05rem; }
	.ticket-mini .ticket-price { font-size:1.2rem; }
	.section { padding:40px 0; }
	.section-head { align-items:center; }
	.movie-title { font-size:1.3rem; }
	.price-tab { bottom:10px; font-size:.85rem; padding:7px 11px 7px 9px; }
	.movie-art { width:min(62vw,236px); }
	.movie-hero { padding-top:24px; }
	.maw-info .maw-trailer-btn { width:100%; }
	.ticket-pass { font-size:1.4rem; }
	.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding:12px; }
	.woocommerce table.cart img { width:48px; }
	.woocommerce-message .button, .woocommerce-info .button { width:100%; margin-left:0; }
	.footer-grid { flex-direction:column; }
	.maw-stage { border-radius:10px; }
	.maw-topbar { padding:10px 12px; }
}
@media (max-width:360px) {
	.steps li { padding-left:70px; }
	.steps li::before { font-size:4.4rem; }
	.hero-actions .button, .hero-actions .maw-trailer-btn { flex-basis:100%; }
}

/* sticky buy bar on movie pages (phones only; built by matinee.js) */
.buybar { display:none; }
@media (max-width:760px) {
	.buybar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60; align-items:center; gap:14px; padding:10px 16px calc(10px + env(safe-area-inset-bottom));
		background:rgba(14,16,48,.97); border-top:1px solid var(--line); box-shadow:0 -10px 30px rgba(0,0,0,.4); transform:translateY(110%); transition:transform .25s ease; }
	.buybar.is-on { transform:none; }
	.buybar-info { flex:1; min-width:0; line-height:1.2; }
	.buybar-title { display:block; font:800 1.15rem/1.1 var(--display); text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
	.buybar-price { color:var(--gold); font-weight:700; }
	.buybar .button { flex:0 0 auto; background:var(--gold); color:var(--night); min-height:46px; }
	body.has-buybar { padding-bottom:70px; }
}
@media (prefers-reduced-motion:reduce) { .buybar { transition:none; } }

.ticket-go { white-space:nowrap; }
.movie-meta span { white-space:nowrap; }
@media (max-width:600px) { .ticket-mini .ticket-go { font-size:.92rem; padding:0 6px; } }

@media (max-width:600px) {
	.woocommerce .cart_totals .checkout-button, .woocommerce #place_order { display:flex; width:100%; margin-top:14px; }
}
@media (max-width:460px) {
	body .maw-grid .maw-poster { aspect-ratio:16/10; }
	body .maw-grid .maw-poster img { object-position:center 25%; }
}

/* =====================================================================
   v1.1 polish: cinematic hero, film strip, value strip, FAQ, closing band
   ===================================================================== */

/* hero: grain + spotlight behind the poster */
.hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.16; mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.hero-art::before { content:""; position:absolute; inset:-12% -22% 0; z-index:-1; border-radius:50%; background:radial-gradient(closest-side,rgba(255,178,26,.34),rgba(255,178,26,0)); filter:blur(8px); }
.hero-bg { opacity:.62; filter:blur(30px) saturate(1.45); }
.hero-title { text-shadow:0 6px 40px rgba(0,0,0,.45); }
.hero-actions .button-primary { min-height:54px; padding:0 32px; font-size:1.05rem; box-shadow:0 10px 30px rgba(255,178,26,.28); }
.hero-actions .maw-trailer-btn { min-height:54px; background:rgba(255,255,255,.08); backdrop-filter:blur(6px); }

/* film strip divider */
.filmstrip { height:28px; background:linear-gradient(90deg,var(--night) 0 14px,transparent 14px 28px) center/28px 12px repeat-x, #1a1d4d; border-block:1px solid var(--line); }

/* value strip */
.value-strip { background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0)); }
.values { list-style:none; margin-block:0; padding:30px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.values li { display:flex; gap:16px; align-items:flex-start; }
.values svg { flex:0 0 auto; color:var(--gold); margin-top:2px; }
.values strong { display:block; font:800 1.5rem/1 var(--display); text-transform:uppercase; letter-spacing:.02em; margin-bottom:4px; }
.values span { color:var(--dusk); font-size:.95rem; line-height:1.45; display:block; }
@media (max-width:760px) { .values { grid-template-columns:1fr; gap:18px; padding:24px 0; } }

/* card: runtime pill + hover call to action */
.runtime-pill { position:absolute; right:10px; top:10px; padding:4px 10px; border-radius:999px; background:rgba(8,10,34,.72); backdrop-filter:blur(6px); color:var(--foyer); font:500 .78rem/1.2 var(--body); }
.poster-cta { position:absolute; left:0; right:0; bottom:0; padding:48px 14px 16px; text-align:center; font:700 .98rem/1 var(--body); color:var(--night);
	background:linear-gradient(to top,rgba(255,178,26,.96) 0 46%,rgba(255,178,26,0)); opacity:0; transform:translateY(14px); transition:opacity .25s ease, transform .25s ease; }
.movie-link:hover .poster-cta, .movie-link:focus-visible .poster-cta { opacity:1; transform:none; }
.movie-link:hover .price-tab, .movie-link:focus-visible .price-tab { opacity:0; }
.price-tab { transition:opacity .2s; }
@media (hover:none) { .poster-cta { display:none; } .movie-link:hover .price-tab { opacity:1; } }
.movie-card .movie-poster { box-shadow:0 14px 34px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.05); }

/* sections: richer headings */
.section-head { border-bottom:1px solid var(--line); padding-bottom:16px; }
.section-title { text-wrap:balance; }

/* FAQ */
.section-faq { border-top:1px solid var(--line); }
.faq-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(24px,6vw,80px); align-items:start; }
.faq details { border-bottom:1px solid var(--line); }
.faq details:first-child { border-top:1px solid var(--line); }
.faq summary { list-style:none; cursor:pointer; padding:20px 44px 20px 0; font:700 1.1rem/1.35 var(--body); position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:""; position:absolute; right:6px; top:50%; width:11px; height:11px; border-right:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:translateY(-70%) rotate(45deg); transition:transform .2s; }
.faq details[open] summary::after { transform:translateY(-30%) rotate(-135deg); }
.faq summary:hover { color:var(--gold); }
.faq details p { margin:0; padding:0 44px 22px 0; color:var(--dusk); max-width:60ch; }
@media (max-width:820px) { .faq-grid { grid-template-columns:1fr; } }

/* closing band */
.closing { padding:clamp(40px,6vw,72px) 0; background:var(--gold); color:var(--night); position:relative; }
.closing::before, .closing::after { content:""; position:absolute; left:0; right:0; height:10px; background:radial-gradient(circle 5px at 7px 5px,var(--night) 98%,transparent) 0 0/14px 10px repeat-x; }
.closing::before { top:0; } .closing::after { bottom:0; }
.closing-row { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.closing-title { font:900 clamp(2.4rem,6vw,4.4rem)/.9 var(--display); margin:0; }
.closing .button-primary { background:var(--night); border-color:var(--night); color:var(--gold); min-height:54px; padding:0 32px; font-size:1.05rem; }
.closing .button-primary:hover { background:#1c2058; border-color:#1c2058; color:#ffd27a; }

/* catalogue search */
.catalogue-head { display:grid; gap:18px; }
.catalogue-head .page-title { margin:0; }
.movie-search { display:flex; gap:10px; max-width:520px; }
.movie-search input[type=search] { flex:1; min-width:0; }
.movie-search .button { min-height:48px; }

/* movie page: breadcrumb + details */
.crumbs { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; font-size:.9rem; color:var(--dusk); margin-bottom:-6px; }
.crumbs a { color:var(--dusk); text-decoration:none; } .crumbs a:hover { color:var(--gold); }
.crumbs span:last-child { color:var(--foyer); }
.movie-art { position:relative; }
.movie-art::before { content:""; position:absolute; inset:8% -14% -8%; z-index:-1; border-radius:50%; background:radial-gradient(closest-side,rgba(255,178,26,.26),rgba(255,178,26,0)); }
.movie-summary .ticket { max-width:560px; }
body .maw-info { backdrop-filter:blur(6px); }

/* footer */
.footer-grid { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,.7fr)); gap:36px; }
.footer-head { font:800 1.2rem/1 var(--display); text-transform:uppercase; letter-spacing:.04em; color:var(--gold); margin:0 0 14px; }
.footer-contact .menu { flex-direction:column; gap:10px; }
.footer-contact a { color:var(--foyer); text-decoration:none; font-weight:500; } .footer-contact a:hover { color:var(--gold); }
.footer-base { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
@media (max-width:820px) { .footer-grid { grid-template-columns:1fr 1fr; } .footer-brand { grid-column:1/-1; } }
@media (max-width:600px) { .footer-grid { flex-direction:initial; } .closing-row { flex-direction:column; align-items:flex-start; } .closing .button-primary { width:100%; } .movie-search .button { padding:0 18px; } }

@media (prefers-reduced-motion:reduce) { .poster-cta, .price-tab, .faq summary::after { transition:none; } }
.hero-actions .button, .hero-actions .maw-trailer-btn { white-space:nowrap; }
.crumbs a { display:inline-flex; align-items:center; min-height:44px; }
.crumbs { align-items:center; margin-bottom:-14px; }

/* =====================================================================
   v1.2: movie page fixes, own WooCommerce layout, 3D
   ===================================================================== */
:root { --gold-shadow:#b37700; }

/* logged-in admin bar must not cover the sticky header */
.admin-bar .site-header { top:32px; }
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }

/* movie page: calmer title so long names stay readable, ticket stays on the first screen */
.movie-summary .product_title { font-size:clamp(2.8rem,5.6vw,4.6rem); line-height:.94; margin-bottom:.3em; }
.movie-summary .woocommerce-product-details__short-description { margin-bottom:6px; }
.movie-hero { padding-top:clamp(20px,3vw,40px); }
.movie-summary .ticket { margin:20px 0 22px; }
.movie-summary .maw-info { max-width:560px; }
.movie-summary .maw-info .maw-chips { margin-top:0; }
.movie-summary .stock { margin:0 0 10px; color:var(--dusk); font-size:.9rem; }
.ticket .stock { display:none; }

/* ---------- WooCommerce layout (WooCommerce's own stylesheets are not loaded) ---------- */
.woocommerce-notices-wrapper:empty { display:none; }
.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:0 clamp(24px,4vw,56px); align-items:start; }
.woocommerce form.checkout #customer_details { grid-column:1; grid-row:1 / span 6; }
.woocommerce form.checkout #order_review_heading { grid-column:2; grid-row:1; margin-top:0; }
.woocommerce form.checkout #order_review { grid-column:2; grid-row:2; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float:none; width:auto; }
.woocommerce .woocommerce-billing-fields__field-wrapper, .woocommerce .woocommerce-shipping-fields__field-wrapper, .woocommerce .woocommerce-address-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.woocommerce .woocommerce-billing-fields__field-wrapper .form-row, .woocommerce .woocommerce-shipping-fields__field-wrapper .form-row, .woocommerce .woocommerce-address-fields__field-wrapper .form-row { grid-column:1 / -1; }
.woocommerce .form-row-first, .woocommerce .form-row-last { grid-column:auto !important; }
.woocommerce #payment ul.payment_methods { list-style:none; margin:0 0 16px; padding:0; }
.woocommerce #payment ul.payment_methods li { margin:0 0 10px; padding:12px 14px; border:1px solid var(--line); border-radius:6px; background:rgba(255,255,255,.03); }
.woocommerce #payment ul.payment_methods li label { font-weight:700; display:inline; }
.woocommerce #payment div.payment_box { position:relative; margin:10px 0 0; padding:12px 14px; border-radius:4px; font-size:.92rem; }
.woocommerce #payment div.payment_box p:last-child { margin:0; }
.woocommerce #payment .place-order { padding:0; }
.woocommerce .woocommerce-terms-and-conditions-wrapper { font-size:.9rem; color:var(--dusk); margin-bottom:14px; }
.woocommerce .quantity .qty { width:84px; min-height:44px; text-align:center; }
.woocommerce .coupon { display:flex; gap:8px; flex-wrap:wrap; }
.woocommerce .coupon input#coupon_code { width:200px; max-width:100%; }
.woocommerce td.actions { text-align:left; }
.woocommerce form.woocommerce-form-coupon, .woocommerce form.checkout_coupon { margin:0 0 24px; padding:18px; border:1px dashed var(--line); border-radius:8px; }
.woocommerce ul.order_details { list-style:none; margin:0 0 32px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
.woocommerce ul.order_details li { padding:14px 16px; border:1px solid var(--line); border-radius:6px; background:var(--balcony); font-size:.85rem; color:var(--dusk); }
.woocommerce ul.order_details li strong { display:block; margin-top:4px; font-size:1.05rem; color:var(--foyer); }
.woocommerce .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.woocommerce .woocommerce-Addresses .col-1, .woocommerce .woocommerce-Addresses .col-2 { float:none; width:auto; }
.woocommerce address { font-style:normal; line-height:1.7; }
.woocommerce-orders-table .button, .woocommerce-orders-table__cell .button { min-height:38px; padding:0 14px; margin:2px 4px 2px 0; }
.woocommerce a.showcoupon { font-weight:700; }
@media (max-width:900px) {
	.woocommerce form.checkout { display:block; }
	.woocommerce .woocommerce-Addresses { grid-template-columns:1fr; }
}
@media (max-width:560px) {
	.woocommerce .woocommerce-billing-fields__field-wrapper, .woocommerce .woocommerce-shipping-fields__field-wrapper, .woocommerce .woocommerce-address-fields__field-wrapper { grid-template-columns:1fr; }
	.woocommerce .coupon input#coupon_code { width:100%; }
}

/* ---------- 3D ---------- */
/* hero: the whole poster-and-ticket group tilts in real 3D; the ticket floats in front of the poster */
.hero-grid { perspective:1400px; }
.hero-art { transform-style:preserve-3d; transform:perspective(1100px) rotateY(var(--ry,-9deg)) rotateX(var(--rx,2deg)); transition:transform .2s ease-out; will-change:transform; }
.hero-art::before { transform:translateZ(-90px) scale(1.1); }
.hero-poster { transform:rotate(2.2deg); box-shadow:0 40px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08), inset 0 0 0 1px rgba(255,255,255,.05); }
.hero-art .ticket-mini { transform:translateZ(90px); }
.hero-art .ticket-mini:hover { transform:translateZ(110px); }
.hero-art .ticket-mini { transition:transform .25s ease; }

/* marquee lettering: the hero title stands up off the page */
.hero-title { text-shadow:0 1px 0 #ffe29a,0 2px 0 #f7c352,0 3px 0 #e8a925,0 4px 0 #d19015,0 5px 0 #b9790c,0 6px 0 #9d6609,0 7px 0 #805307,0 8px 0 #664206,0 22px 34px rgba(0,0,0,.6); }
.movie-summary .product_title { text-shadow:0 1px 0 #ffe29a,0 2px 0 #f7c352,0 3px 0 #e8a925,0 4px 0 #c98b10,0 5px 0 #9d6609,0 6px 0 #664206,0 16px 26px rgba(0,0,0,.55); }
.closing-title { text-shadow:0 1px 0 rgba(255,255,255,.35),0 2px 0 rgba(14,16,48,.18),0 3px 0 rgba(14,16,48,.14); }

/* movie page poster: slight turn toward the buy ticket, follows the pointer */
.movie-art { perspective:1100px; }
.movie-art .hero-poster { transform:perspective(1100px) rotateY(var(--ry,9deg)) rotateX(var(--rx,0deg)) rotate(-1.2deg); transition:transform .2s ease-out; box-shadow:-24px 36px 70px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08); }

/* catalogue posters: lift and tilt toward the pointer, with a light glare */
.movie-poster { transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .22s ease-out, box-shadow .22s ease-out; will-change:transform; }
.movie-poster::before { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0; transition:opacity .25s; background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.42),rgba(255,255,255,0) 55%); }
.movie-link:hover .movie-poster, .movie-link:focus-visible .movie-poster { box-shadow:0 34px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(255,178,26,.45); }
.movie-link:hover .movie-poster::before { opacity:1; }
.price-tab, .runtime-pill, .poster-cta { z-index:3; }

/* tactile buttons: they sit on a ledge and press down */
.button-primary, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #place_order, .woocommerce a.button.checkout, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .maw-actions .button.alt {
	box-shadow:0 4px 0 var(--gold-shadow), 0 14px 26px rgba(0,0,0,.35); transition:transform .08s, box-shadow .08s, background .15s; }
.button-primary:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover, .maw-actions .button.alt:hover { transform:translateY(-1px); }
.button-primary:active, .woocommerce a.button.alt:active, .woocommerce button.button.alt:active, .woocommerce #place_order:active, .maw-actions .button.alt:active { transform:translateY(3px); box-shadow:0 1px 0 var(--gold-shadow), 0 6px 12px rgba(0,0,0,.3); }
.ticket .single_add_to_cart_button { box-shadow:0 4px 0 #05061a; transition:transform .08s, box-shadow .08s, background .15s; }
.ticket .single_add_to_cart_button:active { transform:translateY(3px); box-shadow:0 1px 0 #05061a; }
.closing .button-primary { box-shadow:0 4px 0 #05061a; }

/* the ticket itself catches the light */
.ticket { background:linear-gradient(135deg,#ffc94d 0%,var(--gold) 45%,#f29e00 100%); }
.ticket::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:8px; background:linear-gradient(115deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 38%); }

/* no motion where it is not wanted: touch devices and reduced-motion settings keep the resting depth only */
@media (hover:none), (prefers-reduced-motion:reduce) {
	.hero-art, .movie-poster, .movie-art .hero-poster, .hero-art .ticket-mini { transition:none; }
	.movie-poster { will-change:auto; }
}
@media (max-width:860px) {
	.hero-art { transform:none; }
	.hero-art .ticket-mini { transform:none; }
	.hero-art::before { transform:none; }
}
@media (max-width:760px) {
	.hero-title { text-shadow:0 1px 0 #ffe29a,0 2px 0 #f7c352,0 3px 0 #e8a925,0 4px 0 #b9790c,0 5px 0 #805307,0 14px 22px rgba(0,0,0,.55); }
}

/* hero fits short laptop screens: poster + ticket stay inside the first screen */
@media (min-width:861px) {
	.hero { padding-block:clamp(28px,5vh,72px) clamp(40px,6vh,90px); }
	.hero-art { width:min(100%,380px,calc((100vh - 230px) * .62)); min-width:260px; }
}
