/*
Theme Name: FACTORY — Merch
Author: FACTORY
Description: A minimal, dark, product-first WooCommerce theme for FACTORY merch. No page builder required.
Version: 1.0.12
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: factory-merch
Tags: e-commerce, custom-logo, featured-images, responsive-layout, two-columns
*/
:root{--ink:#101010;--paper:#f6f5f1;--paper2:#ecebe6;--red:#e23e35;--line:rgba(16,16,16,.17);--muted:#6c6b69;--white:#fff;--max:1460px;--pad:clamp(20px,4.8vw,78px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.55 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}img{display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.05}::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red)!important;outline-offset:4px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;background:#fff;color:#111;left:8px;top:8px;padding:12px;z-index:10000}
.container{max-width:calc(var(--max) + 2*var(--pad));padding-inline:var(--pad);margin-inline:auto}
.eyebrow{font:700 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.display-font{font-family:Impact,'Arial Narrow','Arial Black',sans-serif;font-weight:900;letter-spacing:-.025em;text-transform:uppercase}
/* Header */
.announcement{display:block;background:var(--red);color:#fff;padding:9px var(--pad);text-align:center;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
a.announcement:hover{background:#c9322a;color:#fff}
a.announcement:focus-visible{outline:2px solid #fff!important;outline-offset:-4px}
.site-header{background:var(--ink);color:#fff;border-bottom:1px solid #3b3b3b;position:relative;z-index:30}
.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand-link{display:inline-flex;align-items:center;gap:13px;flex-shrink:0;color:#fff!important}
.brand-icon{background:var(--red);color:#fff;display:grid;place-items:center;width:37px;height:37px;font:900 26px/1 Impact,sans-serif;transform:skew(-8deg)}
.brand-text{display:flex;flex-direction:column;gap:2px}.brand-name{font:900 clamp(27px,2.6vw,35px)/.92 Impact,'Arial Black',sans-serif;letter-spacing:.045em}.brand-sub{font-size:8px;letter-spacing:.21em;font-weight:700;color:#b0b0b0;text-transform:uppercase}
.brand-link .custom-logo{width:auto;max-width:190px;max-height:58px;object-fit:contain}
.header-nav{display:flex;align-items:center;gap:clamp(18px,3vw,43px)}
.header-nav a{display:inline-flex;align-items:center;gap:7px;min-height:40px;font-size:11px;line-height:1.1;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#fff;transition:color .18s}
.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--red)}
.header-nav .bag-link{display:inline-flex;align-items:center;gap:10px}.bag-count{display:grid;place-items:center;min-width:25px;height:25px;border:1px solid #777;padding:0 4px;border-radius:50%;font-size:10px}
.header-nav svg{width:18px;height:18px}.mobile-nav-toggle{display:none;background:none;border:1px solid #444;border-radius:0;color:#fff;width:42px;height:42px;align-items:center;justify-content:center;padding:9px}.mobile-nav-toggle svg{width:22px;height:22px}
/* Hero */
.hero{background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,.65)),url('assets/images/hero-venue.webp') center center/cover no-repeat,var(--ink);color:#fff;position:relative;overflow:hidden}
.hero-inner{position:relative;z-index:1;min-height:clamp(400px,44vw,610px);padding-top:clamp(70px,8vw,122px);padding-bottom:clamp(64px,7vw,110px)}
.hero-kicker{display:flex;align-items:center;gap:13px;color:#d1d1d1;margin-bottom:32px}.hero-kicker .dot{width:8px;height:8px;background:var(--red);border-radius:50%}
.hero-title{max-width:1100px;margin:0;font:900 clamp(79px,11.2vw,176px)/.88 Impact,'Arial Narrow','Arial Black',sans-serif;letter-spacing:-.032em;text-transform:uppercase}
.hero-title span{display:block}.hero-title .line-accent{color:var(--paper)}
.hero-bottom{margin-top:clamp(39px,5vw,80px);display:flex;justify-content:space-between;align-items:end;gap:30px}
.hero-copy{max-width:280px;color:#d1d1d1;font-size:13px;line-height:1.7;margin:0}
.action-link{display:inline-flex;align-items:center;gap:55px;border-bottom:1px solid currentColor;padding:12px 0;font:800 12px/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;transition:gap .22s,color .22s;color:#fff;white-space:nowrap}
.action-link:hover{gap:68px;color:var(--red)}.action-link .arrow{font-size:18px;font-weight:400}
/* Shop */
.shop-section{background:var(--ink);color:var(--paper);padding-top:clamp(72px,8vw,128px);padding-bottom:clamp(92px,10vw,160px)}
.shop-section .section-head{border-color:#454545}
.shop-section .section-index,.shop-section .factory-product__type,.shop-section .factory-product__price del{color:#b8b8b8}
.shop-section .factory-product__image,.shop-section .shop-empty,.shop-section .shop-empty__image{background:#222}
.shop-section .shop-empty__text p{color:#b8b8b8}
.shop-section .factory-products.is-single .factory-single-cta{border-color:currentColor}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:25px;margin-bottom:36px}
.section-kicker{display:flex;align-items:center;gap:12px;color:var(--red);margin-bottom:14px}.section-kicker:before{content:'';width:28px;height:2px;background:var(--red)}
.section-title{font:900 clamp(57px,7.5vw,118px)/.95 Impact,'Arial Narrow','Arial Black',sans-serif;letter-spacing:-.02em;text-transform:uppercase;margin:0}
.section-index{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding-bottom:8px;white-space:nowrap}
.factory-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.1vw,30px) 20px}
.factory-product{min-width:0}.factory-product__image{position:relative;display:block;overflow:hidden;background:#e7e6e1;aspect-ratio:4/5}
.factory-product__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.factory-product__image:hover img{transform:scale(1.045)}
.factory-product__image .factory-product__cta{display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;left:15px;right:15px;bottom:15px;padding:15px 17px;background:#fff;color:#111;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transform:translateY(calc(100% + 18px));transition:transform .25s}
.factory-product__image:hover .factory-product__cta,.factory-product__image:focus-visible .factory-product__cta{transform:translateY(0)}
.factory-product__status{position:absolute;z-index:1;top:16px;left:16px;padding:8px 11px;background:var(--ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.factory-product__details{padding-top:17px;display:flex;justify-content:space-between;gap:15px;align-items:start}
.factory-product__name{margin:0;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.025em;line-height:1.4}
.factory-product__type{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#888;margin-top:5px}
.factory-product__price{font-size:13px;font-weight:800;white-space:nowrap;text-align:right}.factory-product__price del{color:#8a8a8a;font-size:11px;font-weight:400}.factory-product__price ins{text-decoration:none;color:var(--red)}
.shop-empty{padding:clamp(24px,4vw,60px);background:var(--paper2);display:grid;grid-template-columns:minmax(180px,350px) 1fr;align-items:center;gap:clamp(25px,6vw,100px)}.shop-empty__image{background:#dfddd8;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}.shop-empty__image img{width:100%;height:100%;object-fit:cover}.shop-empty__text h3{font:900 clamp(48px,6vw,90px)/.98 Impact,sans-serif;margin:17px 0 24px;text-transform:uppercase}.shop-empty__text p{font-size:14px;max-width:360px;color:#696865;line-height:1.7}
/* Statement */
.statement{background:var(--red);color:#fff;overflow:hidden;padding:32px 0}
.statement-inner{display:flex;gap:38px;align-items:center;justify-content:space-between}.statement h2{font:900 clamp(28px,5.2vw,78px)/1 Impact,sans-serif;letter-spacing:-.017em;text-transform:uppercase;margin:0}.statement span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;flex-shrink:0}
/* Footer */
.site-footer{background:var(--ink);color:#fff}.footer-top{display:grid;grid-template-columns:1fr auto;gap:30px;padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(60px,7vw,95px)}
.footer-title{font:900 clamp(58px,10vw,150px)/.9 Impact,sans-serif;letter-spacing:-.026em;text-transform:uppercase;margin-bottom:0}.footer-note{font-size:11px;color:#9c9c9c;text-transform:uppercase;letter-spacing:.15em;margin:18px 0 0}
.footer-links{display:flex;flex-direction:column;align-items:start;gap:18px;padding-top:9px}.footer-links a{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#fff}.footer-links a:hover{color:var(--red)}
.footer-message{max-width:800px;min-width:0;color:#b8b8b8;font-size:clamp(16px,1.4vw,20px);line-height:1.7}
.footer-message p{margin:0 0 18px}.footer-message p:last-child{margin-bottom:0}.footer-message strong{color:#fff;font-weight:800}
.footer-bottom{border-top:1px solid #3b3b3b;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;padding-bottom:28px;font-size:10px;color:#858585;text-transform:uppercase;letter-spacing:.12em}
/* Pages & posts */
.content-page{min-height:50vh;padding-top:clamp(52px,8vw,108px);padding-bottom:clamp(85px,10vw,150px)}.page-heading{font:900 clamp(54px,8vw,118px)/.98 Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:42px}.entry-content{max-width:850px;font-size:16px;line-height:1.8}.entry-content h2,.entry-content h3{margin-top:2em;line-height:1.15}.entry-content a{text-decoration:underline;text-underline-offset:3px}.entry-content img{height:auto}.entry-content figure{max-width:100%}.post-card{padding:22px 0;border-top:1px solid var(--line)}.post-card h2{font:900 32px/1.1 Impact,sans-serif;text-transform:uppercase;margin:8px 0}
/* WooCommerce: shared */
.woocommerce-page-shell{min-height:65vh;padding-top:clamp(45px,7vw,110px);padding-bottom:clamp(85px,10vw,150px)}
.woocommerce-page-shell .woocommerce{width:100%;font-size:14px}.woocommerce-page-shell .woocommerce h1,.woocommerce-page-shell .woocommerce .page-title{font:900 clamp(55px,7vw,104px)/1 Impact,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.woocommerce-page-shell .woocommerce-breadcrumb{color:#868580;font-size:11px;letter-spacing:.04em;margin-bottom:25px!important}.woocommerce-page-shell .woocommerce-breadcrumb a{text-decoration:underline}
.woocommerce-page-shell .woocommerce-info,.woocommerce-page-shell .woocommerce-message,.woocommerce-page-shell .woocommerce-error{background:#e7e6e1;border-top:3px solid var(--red);color:var(--ink);line-height:1.6;padding-top:1em;padding-bottom:1em}
.woocommerce-page-shell .woocommerce-message::before,.woocommerce-page-shell .woocommerce-info::before{color:var(--red)}.woocommerce-page-shell .woocommerce-error::before{color:var(--red)}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce #payment #place_order{background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important;border-radius:0!important;box-shadow:none!important;padding:16px 22px!important;text-transform:uppercase;font:800 11px/1.1 Arial,sans-serif!important;letter-spacing:.1em!important;min-height:46px;transition:background .2s,border-color .2s}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover,.woocommerce input.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #payment #place_order:hover{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}
.woocommerce-page-shell input[type=text],.woocommerce-page-shell input[type=email],.woocommerce-page-shell input[type=tel],.woocommerce-page-shell input[type=number],.woocommerce-page-shell input[type=password],.woocommerce-page-shell textarea,.woocommerce-page-shell select,.woocommerce-page-shell .select2-container .select2-selection--single{border:1px solid #bfbdb9;border-radius:0;background:#fff;color:#111;padding:12px;min-height:44px;box-shadow:none;max-width:100%}
.woocommerce-page-shell .select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;line-height:20px}.woocommerce-page-shell .select2-container .select2-selection--single .select2-selection__arrow{height:40px}
.woocommerce-page-shell .woocommerce form .form-row label{font-size:12px;font-weight:700}.woocommerce-page-shell .woocommerce form .form-row{margin-bottom:14px}.woocommerce-page-shell .woocommerce a:not(.button){transition:color .2s}.woocommerce-page-shell .woocommerce a:not(.button):hover{color:var(--red)}
.woocommerce-page-shell .woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 20px;margin:40px 0}.woocommerce-page-shell .woocommerce ul.products:before,.woocommerce-page-shell .woocommerce ul.products:after{display:none}.woocommerce-page-shell .woocommerce ul.products li.product{width:auto;float:none;margin:0;min-width:0}
.woocommerce-page-shell .woocommerce ul.products li.product a img{background:#e7e6e1;aspect-ratio:4/5;object-fit:cover;margin:0 0 14px}.woocommerce-page-shell .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px;line-height:1.4;font-weight:800;text-transform:uppercase;color:var(--ink);padding:0;margin:0 0 7px}.woocommerce-page-shell .woocommerce ul.products li.product .price{font-size:13px;color:var(--ink);font-weight:800}.woocommerce-page-shell .woocommerce ul.products li.product .button{display:none}.woocommerce-page-shell .woocommerce ul.products li.product .onsale{border-radius:0;min-width:0;min-height:0;padding:7px 10px;line-height:1.4;background:var(--red)}
.woocommerce-page-shell .woocommerce .woocommerce-result-count,.woocommerce-page-shell .woocommerce .woocommerce-ordering{font-size:12px}.woocommerce-page-shell .woocommerce .woocommerce-ordering select{border:0;border-bottom:1px solid #777;background:transparent;font-size:12px;max-width:220px}
/* Product */
.woocommerce-page-shell .woocommerce div.product .product_title{font:900 clamp(48px,5vw,78px)/1 Impact,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:10px 0 23px}.woocommerce-page-shell .woocommerce div.product p.price,.woocommerce-page-shell .woocommerce div.product span.price{color:var(--ink);font-size:25px;font-weight:700;margin-bottom:27px}.woocommerce-page-shell .woocommerce div.product p.price ins,.woocommerce-page-shell .woocommerce div.product span.price ins{color:var(--red);text-decoration:none}
.woocommerce-page-shell .woocommerce div.product div.images img{background:#e8e7e3}.woocommerce-page-shell .woocommerce div.product div.summary{padding-left:clamp(0px,3vw,45px)}.woocommerce-page-shell .woocommerce div.product .woocommerce-product-details__short-description{line-height:1.7;color:#5c5b57;margin-bottom:25px}
.woocommerce-page-shell .woocommerce div.product form.cart{margin-top:27px;margin-bottom:32px}.woocommerce-page-shell .woocommerce div.product form.cart .button{min-height:51px}.woocommerce-page-shell .woocommerce div.product form.cart div.quantity{margin-right:10px}.woocommerce-page-shell .woocommerce div.product .quantity .qty{width:70px;min-height:51px;border:1px solid #a7a5a1;background:transparent;text-align:center}
.woocommerce-page-shell .woocommerce div.product form.cart .variations{margin-bottom:20px}.woocommerce-page-shell .woocommerce div.product form.cart .variations th{text-align:left;vertical-align:middle;padding:0 10px 10px 0}.woocommerce-page-shell .woocommerce div.product form.cart .variations td{padding:0 0 10px}.woocommerce-page-shell .woocommerce div.product form.cart .variations select{min-width:170px}.woocommerce-page-shell .woocommerce div.product .stock{color:#595a53}.woocommerce-page-shell .woocommerce div.product .stock.out-of-stock{color:var(--red)}.woocommerce-page-shell .woocommerce .product_meta{font-size:11px;color:#82807b;line-height:2}
.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs{padding-top:45px}.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-bottom:1px solid #bebdb9}.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none}.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;border-radius:0;background:none;padding:0;margin:0 28px 0 0}.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs .panel h2,.woocommerce-page-shell .woocommerce .related h2{font:900 30px/1.1 Impact,sans-serif;text-transform:uppercase}.woocommerce-page-shell .woocommerce .related{margin-top:65px}
.woocommerce-page-shell .woocommerce span.onsale{background:var(--red);border-radius:0;padding:7px 12px;min-height:0;min-width:0;line-height:1.2;font-size:11px}
/* Cart, checkout, accounts & Woo blocks */
.woocommerce-page-shell .woocommerce table.shop_table{border:1px solid #d3d1cc;border-radius:0;border-collapse:collapse}.woocommerce-page-shell .woocommerce table.shop_table td,.woocommerce-page-shell .woocommerce table.shop_table th{padding:16px}.woocommerce-page-shell .woocommerce table.shop_table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.woocommerce-page-shell .woocommerce-cart table.cart img{width:85px}.woocommerce-page-shell .woocommerce table.cart .product-name a{font-weight:700}.woocommerce-page-shell .woocommerce .cart-collaterals .cart_totals{float:right}.woocommerce-page-shell .woocommerce .cart_totals h2,.woocommerce-page-shell .woocommerce .woocommerce-checkout h3{font:900 29px/1.1 Impact,sans-serif;text-transform:uppercase;margin-bottom:25px}.woocommerce-page-shell .woocommerce #payment{background:#e9e8e3;border-radius:0}.woocommerce-page-shell .woocommerce #payment div.payment_box{background:#dbdad5}.woocommerce-page-shell .woocommerce #payment div.payment_box:before{border-bottom-color:#dbdad5}
.woocommerce-page-shell .wc-block-components-button:not(.is-link){border-radius:0!important;background:var(--ink)!important;color:#fff!important;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.09em;min-height:48px}.woocommerce-page-shell .wc-block-components-button:not(.is-link):hover{background:var(--red)!important}.woocommerce-page-shell .wc-block-components-text-input input,.woocommerce-page-shell .wc-block-components-combobox .wc-block-components-combobox-control input{border-radius:0!important}.woocommerce-page-shell .wp-block-woocommerce-cart,.woocommerce-page-shell .wp-block-woocommerce-checkout{max-width:1250px}
.woocommerce-page-shell .woocommerce .woocommerce-pagination ul.page-numbers{border:0}.woocommerce-page-shell .woocommerce .woocommerce-pagination ul.page-numbers li{border:0;margin:0 5px}.woocommerce-page-shell .woocommerce .woocommerce-pagination ul.page-numbers li a,.woocommerce-page-shell .woocommerce .woocommerce-pagination ul.page-numbers li span{padding:10px 14px}.woocommerce-page-shell .woocommerce .woocommerce-pagination ul.page-numbers li span.current{background:var(--ink);color:#fff}
@media(max-width:980px){.factory-products,.woocommerce-page-shell .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-title{font-size:clamp(76px,12vw,125px)}.footer-title{font-size:clamp(63px,11vw,110px)}}
@media(max-width:680px){:root{--pad:20px}.announcement{font-size:9px;letter-spacing:.095em}.header-inner{min-height:74px}.brand-icon{width:31px;height:31px;font-size:23px}.brand-name{font-size:28px}.brand-sub{font-size:7px}.header-nav{gap:14px}.header-nav .nav-shop,.header-nav .nav-about{display:none}.bag-link .bag-label{display:none}.mobile-nav-toggle{display:flex}.header-nav.is-open .nav-shop,.header-nav.is-open .nav-about{display:flex}.header-nav.is-open{position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:16px var(--pad) 23px;border-top:1px solid #333;display:flex;align-items:flex-start;flex-wrap:wrap}.header-nav.is-open .bag-link{margin-left:auto}.header-nav.is-open .mobile-nav-toggle{position:absolute;right:var(--pad);top:-57px}.header-nav.is-open .nav-shop{order:2;width:100%;padding-top:12px}.header-nav.is-open .nav-about{order:3;width:100%}
.hero-inner{padding-top:65px;padding-bottom:66px;min-height:0}.hero-kicker{font-size:10px;margin-bottom:32px}.hero-title{font-size:clamp(68px,15.5vw,104px)}.hero-bottom{align-items:start;flex-direction:column;gap:21px;margin-top:44px}.hero-copy{font-size:13px}.action-link{gap:40px}.section-head{align-items:start}.section-title{font-size:clamp(55px,12vw,90px)}.section-index{display:none}.shop-section{padding-top:75px;padding-bottom:85px}.factory-products,.woocommerce-page-shell .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.factory-product__status{top:8px;left:8px;font-size:8px;padding:6px}.factory-product__details{flex-direction:column;gap:6px;padding-top:12px}.factory-product__name{font-size:12px}.factory-product__price{font-size:12px}.factory-product__image .factory-product__cta{display:none}.shop-empty{grid-template-columns:1fr;padding:20px}.shop-empty__image{max-height:390px}.statement-inner{align-items:start;flex-direction:column;gap:13px}.statement h2{font-size:clamp(34px,8vw,65px)}.footer-top{grid-template-columns:1fr;gap:42px}.footer-title{font-size:clamp(71px,17vw,130px)}.footer-links{gap:15px}.footer-bottom{flex-direction:column;gap:8px}.woocommerce-page-shell .woocommerce div.product div.summary{padding-left:0}.woocommerce-page-shell .woocommerce div.product .product_title{font-size:55px}.woocommerce-page-shell .woocommerce div.product .woocommerce-tabs ul.tabs li{margin-right:16px}.woocommerce-page-shell .woocommerce table.shop_table td,.woocommerce-page-shell .woocommerce table.shop_table th{padding:9px}}
@media(max-width:380px){.hero-title{font-size:15vw}.section-title{font-size:55px}.factory-products,.woocommerce-page-shell .woocommerce ul.products{gap:20px 10px}.brand-sub{letter-spacing:.1em}}
@media(hover:none){.factory-product__image .factory-product__cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Venue rental */
.header-nav .nav-rental{color:#fff}
.venue-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.venue-hero:after{content:'//';position:absolute;right:var(--pad);bottom:-.25em;color:rgba(255,255,255,.045);font:900 clamp(180px,30vw,460px)/1 Impact,sans-serif;pointer-events:none}
.venue-hero-inner{position:relative;z-index:1;padding-top:clamp(28px,3vw,45px);padding-bottom:clamp(28px,3vw,45px)}
.venue-kicker{color:#b6b6b6;margin-bottom:14px}.venue-kicker:before{content:'';display:inline-block;width:25px;height:2px;background:var(--red);vertical-align:middle;margin-right:12px}
.venue-title{font:900 clamp(50px,7vw,96px)/.88 Impact,'Arial Narrow','Arial Black',sans-serif;letter-spacing:-.032em;margin:0 0 18px;max-width:1100px}
.venue-intro{max-width:460px;color:#b8b8b8;font-size:15px;line-height:1.75;margin-bottom:16px}
.venue-hero-link{display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid #fff;padding:12px 0;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:gap .2s,color .2s}
.venue-hero-link:hover{gap:62px;color:var(--red)}
.venue-inquiry-section{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:clamp(45px,9vw,130px);padding-top:clamp(70px,9vw,128px);padding-bottom:clamp(90px,11vw,155px)}
.venue-form-kicker{color:var(--red);margin-bottom:20px}
.venue-form-intro h2{font:900 clamp(45px,6vw,78px)/.94 Impact,'Arial Narrow','Arial Black',sans-serif;letter-spacing:-.02em;margin:0 0 22px}
.venue-form-intro>p:not(.eyebrow){max-width:330px;color:#696865;font-size:14px;line-height:1.75}
.venue-form-intro .venue-required-note{margin-top:42px;font-size:11px!important;letter-spacing:.06em;text-transform:uppercase}
.venue-form-notice{margin:0 0 25px;padding:15px 18px;font-size:13px;line-height:1.6;border-left:3px solid var(--red);background:var(--paper2)}
.venue-form-notice.is-success{border-color:#347456}.venue-form-notice.is-error{border-color:var(--red)}
.venue-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.venue-field{margin:0;min-width:0}.venue-field label{display:block;margin-bottom:9px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.venue-field input,.venue-field select,.venue-field textarea{display:block;width:100%;min-height:49px;border:1px solid #c8c6c1;border-radius:0;background:#fff;color:var(--ink);padding:12px 13px;box-shadow:none}
.venue-field textarea{min-height:140px;resize:vertical}.venue-field input:focus,.venue-field select:focus,.venue-field textarea:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:1px}
.venue-field-wide{grid-column:1/-1}
.venue-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:52px;margin-top:24px;padding:0 19px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,border-color .2s}
.venue-submit:hover{background:var(--red);border-color:var(--red)}
@media(max-width:680px){.header-nav .nav-rental{display:none}.header-nav.is-open .nav-rental{display:flex;order:4;width:100%}.venue-inquiry-section{grid-template-columns:1fr;gap:35px;padding-top:62px;padding-bottom:85px}.venue-form-intro .venue-required-note{margin-top:22px}.venue-form-grid{grid-template-columns:1fr;gap:16px}.venue-field-wide{grid-column:auto}.venue-title{font-size:clamp(56px,13vw,90px)}}
/* One-piece drop: editorial product feature instead of an empty 3-column grid. */
.factory-products.is-single{grid-template-columns:1fr}
.factory-products.is-single .factory-product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(35px,6vw,100px);align-items:center}
.factory-products.is-single .factory-product__image{max-height:760px}
.factory-products.is-single .factory-product__details{display:flex;align-items:start;flex-direction:column;gap:20px;padding:0}
.factory-products.is-single .factory-product__name{font:900 clamp(54px,5.2vw,86px)/1 Impact,'Arial Black',sans-serif;letter-spacing:-.02em;max-width:600px}
.factory-products.is-single .factory-product__type{font-size:11px;margin-top:16px}
.factory-products.is-single .factory-product__price{font-size:25px}
.factory-single-cta{display:none}
.factory-products.is-single .factory-single-cta{display:inline-flex;gap:45px;justify-content:space-between;min-width:230px;border-bottom:1px solid var(--ink);padding:14px 0;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.factory-products.is-single .factory-single-cta:hover{border-color:var(--red)}
@media(max-width:680px){.factory-products.is-single .factory-product{grid-template-columns:1fr;gap:26px}.factory-products.is-single .factory-product__image{max-height:none}.factory-products.is-single .factory-product__name{font-size:clamp(49px,12vw,75px)}.factory-products.is-single .factory-product__details{gap:15px}.factory-products.is-single .factory-product__price{font-size:20px}}
/* Long typography should scale to fit the viewport. */
.hero-title{font-size:clamp(68px,8.5vw,138px)}
@media(max-width:680px){.hero-title{font-size:clamp(48px,9.4vw,80px)}}

/* Checkout/cart/account are regular WordPress pages, not the product template. */
body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content,body.woocommerce-account .entry-content{max-width:none}
body.woocommerce-cart .page-heading,body.woocommerce-checkout .page-heading,body.woocommerce-account .page-heading{margin-bottom:40px}

.footer-custom-menu{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;align-items:start;gap:18px}
.footer-custom-menu li{margin:0;padding:0}

/* Upcoming event: details alongside the full, uncropped poster. */
.hero-event{display:grid;grid-template-columns:min(40%,var(--event-image-width,360px)) minmax(0,1fr);align-items:center;align-content:center;gap:24px;padding-block:clamp(48px,6vw,90px)}
.hero-event-details{min-width:0}
.hero-event .hero-title{font-size:clamp(56px,7vw,112px)}
.hero-event .hero-bottom{flex-direction:column;align-items:flex-start;gap:22px;margin-top:36px}
.hero-event .action-link{background:var(--red);color:#fff;border:0;padding:16px 24px;gap:32px;transition:background .2s}
.hero-event .action-link:hover{background:#c9322a;color:#fff}
.hero-event-date{margin:0;color:var(--paper);font-size:clamp(28px,3vw,44px);font-weight:800;line-height:1.2;letter-spacing:.025em}
.hero-event-media{min-width:0;width:100%;justify-self:start}
.hero-event-image{display:block;width:100%;height:auto}
@media(max-width:800px){.hero-event{grid-template-columns:1fr;gap:24px;justify-items:center;text-align:center}.hero-event-media{max-width:min(360px,var(--event-image-width,360px));justify-self:center}.hero-event .hero-kicker{justify-content:center}.hero-event .hero-title{font-size:clamp(48px,9.4vw,80px)}.hero-event .hero-bottom{margin-top:28px;align-items:center}}
