/* FZ Films store: warm charcoal, ivory and muted gold. */
[hidden] { display:none !important; }
.screen-reader-text, .screen-reader-text span { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
:focus-visible { outline:2px solid var(--gold-light); outline-offset:5px; }
.film-info { align-items:flex-start; gap:18px; }
.film-info > div { min-width:0; }
.film-info h3 { line-height:1.2; overflow-wrap:anywhere; }
.film-price, .modal-price, .fz-film-price { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:baseline; font-variant-numeric:tabular-nums; }
.film-price { flex:0 0 auto; flex-direction:column; align-items:flex-end; gap:3px; }
.film-price del, .modal-price del, .fz-film-price del { color:#918a7e; font-size:.72em; font-weight:400; }
.film-price ins, .modal-price ins, .fz-film-price ins { text-decoration:none; color:var(--gold-light); }
.modal-summary, .modal-details, .modal-purchase { min-width:0; }
.modal-copy h2 { font-family:var(--serif); font-weight:400; line-height:1.05; text-transform:none; overflow-wrap:anywhere; font-size:clamp(30px,3.4vw,52px); }
.modal-description { white-space:pre-line; overflow-wrap:anywhere; line-height:1.7; }
.modal-purchase { gap:20px; flex-wrap:wrap; }
.modal-film-link, .modal-athlete { color:var(--gold-light); text-decoration:underline; text-underline-offset:5px; }
.modal-price { font-size:24px; line-height:1.3; }
.modal-thumbnails, .fz-preview-thumbs { overscroll-behavior-x:contain; }
.modal-media, .fz-preview-frame { touch-action:pan-y pinch-zoom; }
.cart-drawer:not(.open) { visibility:hidden; }
.cart-drawer { overscroll-behavior:contain; }
.cart-item h3 { overflow-wrap:anywhere; line-height:1.3; }
.content-page:has(.woocommerce) .entry-content { max-width:none; color:var(--paper); }
.content-page > article > h1 { font-family:var(--serif); text-transform:none; letter-spacing:-.035em; line-height:1; font-weight:400; font-size:clamp(48px,6vw,82px); }
.entry-content { line-height:1.85; overflow-wrap:anywhere; }
.entry-content h2 { margin:2.2em 0 .65em; font-family:var(--serif); color:var(--paper); font-size:clamp(26px,3vw,38px); font-weight:400; line-height:1.15; }
.entry-content h3 { color:var(--paper); margin:1.8em 0 .5em; font-size:19px; }
.entry-content p { margin:0 0 1.1em; }
.entry-content ul, .entry-content ol { padding-left:1.4em; margin:1em 0; }
.entry-content li { margin:.45em 0; }
.fz-policy-intro { padding:26px 30px; border:1px solid var(--line); background:#151512; margin:0 0 38px; }
.fz-help-links { display:flex; gap:20px; flex-wrap:wrap; align-items:center; margin-top:24px; }
.fz-help-links a { text-decoration:underline; text-underline-offset:5px; }
.fz-back { display:inline-flex; margin:0 0 35px; color:var(--gold-light); font-size:13px; }
.fz-film-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(28px,5vw,76px); align-items:start; }
.fz-film-gallery { min-width:0; }
.fz-preview-frame { position:relative; aspect-ratio:16/9; overflow:hidden; background:#191916; }
.fz-preview-frame img { width:100%; height:100%; object-fit:contain; display:block; }
.fz-preview-frame button { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:1px solid #d8c39c66; border-radius:50%; background:#111b; color:var(--paper); cursor:pointer; }
.fz-preview-prev { left:14px; }.fz-preview-next { right:14px; }
.fz-preview-thumbs { display:flex; gap:10px; overflow-x:auto; padding:14px 0; }
.fz-preview-thumbs button { padding:0; flex:0 0 84px; aspect-ratio:16/9; border:1px solid transparent; background:#161614; opacity:.6; cursor:pointer; }
.fz-preview-thumbs button[aria-pressed=true] { border-color:var(--gold-light); opacity:1; }
.fz-preview-thumbs img { width:100%; height:100%; object-fit:cover; }
.fz-film-purchase { min-width:0; }
.commerce-page .fz-film-purchase h1 { margin:18px 0 24px; font-family:var(--serif); font-weight:400; text-transform:none; line-height:1.04; font-size:clamp(38px,4vw,64px); letter-spacing:-.035em; overflow-wrap:anywhere; }
.fz-film-meta { color:var(--gold-light); font-size:12px; line-height:1.8; }
.fz-film-intro { color:#b6b0a6; font-size:15px; line-height:1.8; margin:26px 0; overflow-wrap:anywhere; }
.fz-film-price { font-size:30px; margin:28px 0; }
.fz-film-purchase form.cart { display:flex; gap:16px; margin:24px 0; }
.fz-film-purchase form.cart .quantity { display:none; }
.fz-film-purchase .single_add_to_cart_button { width:100%; min-height:54px; border:0; background:var(--gold-light); color:#111; font:600 12px var(--sans); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.fz-purchase-note, .fz-release-note { font-size:13px; color:#aaa397; line-height:1.8; }
.fz-release-note { padding:20px; border:1px solid var(--line); }
.fz-film-description { max-width:850px; margin-top:70px; padding-top:35px; border-top:1px solid var(--line); }
.fz-film-description h2 { font:400 40px var(--serif); }
.woocommerce-account:not(.logged-in) .woocommerce { max-width:none; }
.fz-auth { max-width:1040px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(32px,7vw,90px); align-items:start; }
.fz-auth-intro h2 { margin:0 0 24px; font:400 clamp(36px,4vw,54px)/1.03 var(--serif); color:var(--paper); }
.fz-auth-intro p { color:#b0aa9f; }
.fz-auth-card { min-width:0; padding:clamp(22px,4vw,42px); border:1px solid #373329; background:linear-gradient(145deg,#191917,#111110); }
.fz-auth-tabs { display:flex; gap:25px; margin-bottom:28px; border-bottom:1px solid var(--line); }
.fz-auth-tab { padding:0 0 14px; color:#928a7d; background:none; border:0; border-bottom:2px solid transparent; font:500 14px var(--sans); cursor:pointer; }
.fz-auth-tab[aria-selected=true] { color:var(--gold-light); border-color:var(--gold-light); }
.woocommerce-account .fz-auth form.login, .woocommerce-account .fz-auth form.register { padding:0; border:0; }
.woocommerce-account .fz-auth form p, .woocommerce-account .fz-auth label { line-height:1.65; }
.woocommerce form .form-row label { font-size:11px; color:#c9c1b3; letter-spacing:.055em; }
body .woocommerce form .form-row input.input-text, body .woocommerce form .form-row textarea, body .woocommerce form .form-row select { background:#151514; color:var(--paper); border:1px solid #494236; border-radius:0; min-height:50px; padding:12px 14px; font:400 16px var(--sans); }
body .woocommerce form .form-row input.input-text:focus { outline:1px solid var(--gold-light); outline-offset:0; }
body .woocommerce .show-password-input { color:var(--gold-light); background:transparent; }
body.woocommerce .fz-film-purchase button.single_add_to_cart_button { background:linear-gradient(115deg,#a7895d,#d4bf96); color:#111; }
.woocommerce form .show-password-input { color:var(--gold-light); }
.woocommerce form .form-row input[type=checkbox] { width:18px; height:18px; accent-color:#c3a676; vertical-align:middle; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button { display:inline-flex; align-items:center; justify-content:center; line-height:1.4!important; padding:14px 22px!important; height:auto; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background:#e1cba4; color:#111; }
.woocommerce form .form-row .required { color:var(--gold-light); }
.woocommerce form .form-row .required_field { display:none; }
.woocommerce form .woocommerce-privacy-policy-text { font-size:12px; color:#a8a195; }
.woocommerce .woocommerce-error::before, .woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before { display:none; }
.woocommerce .woocommerce-error { border-left:3px solid #ba8274; }
.woocommerce .woocommerce-message { border-left:3px solid #99ad87; }
.woocommerce .woocommerce-info { border-left:3px solid var(--gold-light); }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column:1/-1; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-account .woocommerce-MyAccount-content { min-width:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { padding:18px 10px; font-size:11px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:#191814; }
.woocommerce-account table.shop_table { display:block; overflow-x:auto; width:100%; font-size:13px; }
.woocommerce-account fieldset { border:1px solid var(--line); padding:24px; margin:24px 0; }
.woocommerce-account legend { color:var(--gold-light); padding:0 10px; }
.woocommerce-account .woocommerce-Address { padding:24px; border:1px solid var(--line); }
.woocommerce-account .woocommerce-Address h2, .woocommerce-account .woocommerce-Address h3 { font:400 30px var(--serif); }
.woocommerce-account .fz-player h2, .woocommerce-account .fz-library-empty h2 { font-family:var(--serif); text-transform:none; letter-spacing:-.02em; line-height:1.08; }
.fz-library-empty { max-width:650px; padding:36px; border:1px solid var(--line); background:#151513; }
.fz-library-card h3 { font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.2; }
.fz-library-card p { font-size:12px; color:#a8a093; }
.fz-player-frame { position:relative; aspect-ratio:16/9; width:100%; background:#000; }
.fz-player-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px 50px; }
.woocommerce form.checkout #customer_details { grid-row:1/4; width:100%; }
.woocommerce form.checkout #customer_details .col-1, .woocommerce form.checkout #customer_details .col-2 { float:none; width:100%; }
.woocommerce form.checkout #order_review_heading { margin:0; }
.woocommerce-checkout h3 { font:400 32px var(--serif); color:var(--paper); }
.woocommerce .woocommerce-checkout-review-order { min-width:0; }
.woocommerce table.shop_table { font-size:14px; line-height:1.7; }
.woocommerce-checkout #payment ul.payment_methods { border-color:var(--line); }
.woocommerce-checkout #payment div.payment_box { padding:22px; }
.woocommerce-checkout #place_order { width:100%; }
.woocommerce-checkout .woocommerce-terms-and-conditions { background:#171713!important; color:var(--paper); }
.woocommerce-checkout .select2-dropdown { background:#171714; border-color:#494235; color:var(--paper); }
.woocommerce-checkout .select2-container .select2-selection__rendered { color:var(--paper); line-height:24px; }
.woocommerce-checkout .select2-selection__arrow { top:14px!important; }
.woocommerce-cart .cart-collaterals .cart_totals { background:#171715; padding:28px; border:1px solid var(--line); }
.woocommerce-cart .cart_totals h2 { font:400 36px var(--serif); }
.woocommerce-cart .product-thumbnail img { width:110px!important; aspect-ratio:16/9; object-fit:cover; }
.woocommerce-cart td.product-name { max-width:400px; overflow-wrap:anywhere; }
.woocommerce .fz-digital-consent { margin:20px 0; padding:16px; border:1px solid var(--line); }
.woocommerce .fz-digital-consent label { text-transform:none; letter-spacing:0; font-size:13px; }
.woocommerce-order-overview { padding:24px!important; background:#171715; border:1px solid var(--line); }
.woocommerce-order-overview li { line-height:1.8; }
.fz-order-library-link { padding:30px; margin:0 0 35px; border:1px solid var(--line); }
.fz-order-library-link h2 { font:400 44px var(--serif); }
.fz-support-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:36px 0; }
.fz-support-grid > div { padding:26px; border:1px solid var(--line); }
.fz-support-grid h2 { margin:0 0 16px; }
.entry-content details { padding:20px 0; border-bottom:1px solid var(--line); }
.entry-content summary { cursor:pointer; color:var(--paper); font-size:17px; }
.entry-content details p { margin:16px 0 0; }
@media(max-width:800px) {
 .fz-film-layout,.fz-auth,.woocommerce form.checkout,.fz-support-grid { grid-template-columns:minmax(0,1fr); }
 .woocommerce form.checkout #customer_details { grid-row:auto; }
 .fz-film-purchase { padding-top:12px; }
 .fz-film-purchase h1 { font-size:42px; }
 .fz-auth-intro h2 { max-width:480px; }
 .woocommerce-cart .cart-collaterals .cart_totals { padding:18px; }
 .woocommerce-account .woocommerce-MyAccount-navigation ul { scroll-padding:10px; padding-bottom:12px; }
 .fz-film-description { margin-top:40px; }
 .modal-purchase > .primary-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; filter:none; } }
