/*
Theme Name: QVATRE — Arquivo da banda
Author: QVATRE
Description: Tema clássico original para a camiseta comemorativa QVATRE. PHP, CSS puro e jQuery, com suporte a WooCommerce.
Version: 0.4.0
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: qvatre
Tags: e-commerce, custom-logo, custom-menu, featured-images
*/
@font-face{font-family:DMSerif;src:url('assets/fonts/dm-serif-display.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#eeeae0;--ink:#20211e;--muted:#585950;--accent:#b62927;--line:#c2bfb3;--space:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}::selection{background:var(--accent);color:#fff}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,summary,select{touch-action:manipulation}button{cursor:pointer}button,input,textarea,select{accent-color:var(--accent);caret-color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1,h2{font-family:DMSerif,Georgia,serif;line-height:1.04;font-weight:400;text-wrap:balance;letter-spacing:-.03em}h1{font-size:clamp(56px,6.3vw,96px)}h2{font-size:clamp(38px,4.5vw,64px);letter-spacing:-.025em}h3{font-weight:400;line-height:1.2}p{max-width:65ch}img{max-width:100%;height:auto;display:block}svg{max-width:100%}[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;left:20px;z-index:99999;background:var(--ink);color:var(--paper);padding:12px}.skip-link:focus{top:20px}.site-header{display:flex;align-items:center;justify-content:space-between;margin:0 var(--space);padding:28px 0;gap:24px;border-bottom:1px solid var(--line)}.brand{width:138px;flex-shrink:0}.brand a{display:block}.brand img{width:100%;height:auto}.site-header nav,.nav-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.site-header nav{font-size:14px;justify-content:flex-end}.nav-links{list-style:none;padding:0;margin:0}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.cart-count{font-variant-numeric:tabular-nums}.landing{flex:1}.hero{margin:0 var(--space);display:grid;grid-template-columns:1fr 1.25fr;column-gap:4vw;padding-top:55px;align-items:center}.hero-copy{padding-bottom:50px}.hero h1{max-width:11ch}.hero-copy>p{font-size:18px;max-width:40ch;margin-top:24px}.hero-action{display:flex;gap:22px;align-items:center;margin-top:30px}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;background:var(--ink);color:var(--paper);border:0;border-radius:0;padding:15px 25px;min-height:54px;text-decoration:none;font-weight:700;font-size:14px;line-height:1.4;transition:background .2s ease-out}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--accent);color:#fff}.button svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}.hero-note{font-size:12px;max-width:16ch}.hero-visual{margin:0;min-width:0}.hero-editions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-edition{min-width:0}.hero-edition-photo{overflow:hidden;aspect-ratio:2/3;background:#c9c1bb}.hero-edition-photo img{width:200%;max-width:none;height:100%;object-fit:cover;object-position:left center}.site-footer{margin:0 var(--space);margin-top:auto}.footer-copy{padding:40px 0;display:flex;justify-content:space-between;gap:32px;border-top:1px solid var(--line);align-items:center}.footer-copy p{font-size:12px;color:var(--muted)}.footer-copy a{font-size:13px}.footer-meta{padding:18px 0;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.page-shell,.commerce-shell{padding:70px var(--space) 100px;flex:1;min-width:0}.page-shell h1,.commerce-shell h1{margin-bottom:45px}.entry-content{margin-top:35px;max-width:1100px}.entry-content>p+p{margin-top:22px}.entry-content img{height:auto}.entry-content ul,.entry-content ol{padding-left:24px}.entry-content table{max-width:100%}.post-summary{border-top:1px solid var(--line);padding:30px 0}.post-summary h2{font-size:36px;margin-bottom:16px}.empty-page p{margin-bottom:28px}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{background:transparent;color:var(--ink);border-top-color:var(--ink);font-size:16px}.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before{color:var(--ink)}.woocommerce .woocommerce-error{border-top-color:var(--accent)}.woocommerce .woocommerce-error::before{color:var(--accent)}.woocommerce a.remove{color:var(--accent)!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-selection{color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:0;padding:12px;min-height:48px}.woocommerce table.shop_table{border-color:var(--line);border-radius:0}.woocommerce form.login,.woocommerce form.register{border-color:var(--line);border-radius:0}.woocommerce .quantity .qty{min-height:48px;background:transparent;border:1px solid var(--line);color:var(--ink)}.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--ink);color:var(--paper)}.woocommerce #payment{background:transparent}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:30px}.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{border-color:var(--line)}.woocommerce .woocommerce-breadcrumb{color:var(--muted);margin-bottom:28px}.woocommerce .woocommerce-breadcrumb a{color:var(--ink)}.woocommerce .woocommerce-MyAccount-navigation li{padding:8px 0}.woocommerce .woocommerce-MyAccount-navigation ul{padding-left:18px}.woocommerce .woocommerce-MyAccount-content p{margin-bottom:22px}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{min-width:0}
@media(min-width:1600px){.site-header,.hero,.site-footer{max-width:1440px;width:calc(100% - 2 * var(--space));margin-left:auto;margin-right:auto}.page-shell,.commerce-shell{padding-left:max(var(--space),calc((100vw - 1440px)/2));padding-right:max(var(--space),calc((100vw - 1440px)/2))}}
@media(max-width:900px){.hero-note{display:none}.site-header nav,.nav-links{gap:20px}.hero{grid-template-columns:1fr 1.1fr;column-gap:28px}.hero h1{font-size:56px}.hero-copy>p{font-size:16px}.hero-editions{gap:10px}.hero-action .button{padding:15px 20px}}
@media(max-width:650px){:root{--space:22px}h1{font-size:56px}h2{font-size:40px}.site-header{padding:22px 0;gap:15px}.brand{width:112px}.site-header nav,.nav-links{gap:16px;font-size:12px}.desktop-nav{display:none}.hero{grid-template-columns:1fr;padding-top:30px;gap:28px}.hero-copy{padding-bottom:0}.hero h1{font-size:56px;max-width:12ch}.hero-copy>p{font-size:16px;margin-top:20px}.hero-action{margin-top:24px}.footer-copy{align-items:start;flex-direction:column;gap:24px}.footer-meta{flex-wrap:wrap;gap:12px}.page-shell,.commerce-shell{padding-top:45px;padding-bottom:65px}.page-shell h1,.commerce-shell h1{font-size:42px;margin-bottom:30px}.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{font-size:14px}.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content{float:none;width:100%}.woocommerce .woocommerce-MyAccount-navigation{margin-bottom:30px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none}.woocommerce .woocommerce-ordering select{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.statement{display:flex;justify-content:space-between;gap:32px;margin:0 var(--space);padding:56px 0;border-bottom:1px solid var(--line)}.statement strong{font:400 32px/1.2 DMSerif,Georgia,serif;max-width:24ch}.statement>p{color:var(--muted);font-size:14px;max-width:42ch}.product{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);padding:80px var(--space) 100px}.product-photo{margin:40px 0 0;align-self:start}.product-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#d6d2c9}.product-photo figcaption{font-size:12px;margin-top:12px;color:var(--muted)}.product-copy{border-top:1px solid var(--ink);padding-top:22px}.product-copy>p{color:var(--muted);margin-top:20px}.price{margin:24px 0!important;color:var(--ink)!important;font-size:22px}.price small{display:block;font-size:12px;color:var(--muted)}fieldset{border:0;padding:0;margin:25px 0}legend{font-size:14px;padding:0;margin-bottom:12px;font-weight:700}.options{display:flex;flex-wrap:wrap;gap:10px}.option{border:1px solid var(--line);color:var(--ink);background:transparent;min-width:48px;min-height:46px;padding:9px 14px;display:inline-flex;justify-content:center;align-items:center;gap:10px}.option[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.option:hover{border-color:var(--accent)}.swatch{width:14px;height:14px;border-radius:50%;background:#b99448;box-shadow:inset 0 0 0 1px #0003}.swatch.silver{background:#c2c4c5}.size-preview{margin:25px 0}.size-preview>p{font-size:14px;font-weight:700}.size-preview ul{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 0;padding:0;list-style:none}.size-preview li{min-width:48px;padding:9px 14px;min-height:46px;border:1px solid var(--line);text-align:center;font-size:14px}.sale-pending{width:100%}.product-status{font-size:13px;min-height:26px;margin-top:12px!important;color:var(--ink)!important}.purchase-help{font-size:12px!important}.measurements{margin-top:26px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-size:14px}details p{font-size:14px;margin-top:14px;color:var(--muted)}.faq{padding:70px var(--space) 100px;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;border-top:1px solid var(--line)}.faq-list{border-top:1px solid var(--line)}.campaign-story{padding:0 var(--space) 70px}.campaign-story .entry-content{margin-top:0;max-width:75ch}.campaign-story h2{margin-bottom:22px}.campaign-story p+p{margin-top:22px}
@media(min-width:1600px){.statement{max-width:1440px;width:calc(100% - 2 * var(--space));margin-left:auto;margin-right:auto}.product,.faq,.campaign-story{padding-left:max(var(--space),calc((100vw - 1440px)/2));padding-right:max(var(--space),calc((100vw - 1440px)/2))}}
@media(max-width:900px){.faq{gap:30px}}
@media(max-width:650px){.statement{flex-direction:column;padding:35px 0;gap:18px}.statement strong{font-size:28px}.statement>p{font-size:13px}.product{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:55px}.product-photo{margin-top:0}.product-copy>p{margin-top:16px}.faq{padding-top:45px;padding-bottom:60px;grid-template-columns:1fr;gap:26px}}
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{padding:18px 20px;border-top-width:1px}
.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-error::before{content:none}

.product .variations{width:100%;border:0;border-collapse:collapse;margin:0 0 20px}.product .variations tr,.product .variations th,.product .variations td{display:block;text-align:left;padding:0;border:0}.product .variations th{font-size:14px;margin:20px 0 10px}.product .variations select{max-width:100%;min-height:48px;background:transparent;border:1px solid var(--line);padding:10px}.product .reset_variations{display:inline-block;font-size:12px;margin-top:12px}.product .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center}.product .quantity .qty{width:70px;min-height:54px;padding:10px;background:transparent;border:1px solid var(--line)}.product .single_add_to_cart_button{flex:1;min-height:54px;padding:15px 20px;border:0;background:var(--ink);color:var(--paper);font-size:14px;font-weight:700}.product .single_add_to_cart_button:hover{background:var(--accent)}.product .single_add_to_cart_button:disabled{background:var(--ink)}.product .woocommerce-variation-availability{font-size:13px;margin:10px 0}.cart-confirmation{display:inline-flex;gap:15px;align-items:center;margin-top:12px;font-size:14px;font-weight:700}.cart-confirmation svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.product .variations_form{margin-top:24px}

.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{color:var(--paper);background:var(--ink);opacity:.55}.woocommerce table.cart td.actions .coupon .input-text{width:190px;min-height:54px;padding:10px;background:transparent;border:1px solid var(--line);color:var(--ink)}.woocommerce .cart_totals h2{font-size:clamp(32px,4vw,48px);margin:24px 0 16px}.woocommerce a.remove{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:768px){.woocommerce table.cart td.actions .coupon .input-text{width:48%}}

.woocommerce-checkout .entry-content{max-width:1200px}.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,6vw,90px);row-gap:18px}.woocommerce form.checkout .checkout-conditions,.woocommerce form.checkout .checkout-test-notice,.woocommerce form.checkout .woocommerce-NoticeGroup{grid-column:1/-1}.checkout-conditions{font-size:16px;margin-bottom:4px}.checkout-test-notice{font-size:13px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.woocommerce form.checkout #customer_details{grid-column:1;grid-row:auto/span 2;width:100%}.woocommerce form.checkout #customer_details .col-1,.woocommerce form.checkout #customer_details .col-2{width:100%;float:none}.woocommerce form.checkout #order_review_heading{grid-column:2;margin:0}.woocommerce form.checkout #order_review{grid-column:2;min-width:0}.woocommerce form.checkout h3{font:700 20px/1.3 Arial,sans-serif;margin:0 0 22px}.woocommerce form.checkout .form-row{padding:0;margin:0 0 18px}.woocommerce form.checkout .form-row label{font-size:14px;margin-bottom:6px}.woocommerce form.checkout .woocommerce-billing-fields__field-wrapper{display:grid;gap:0}.woocommerce form.checkout .woocommerce-additional-fields:empty{display:none}.woocommerce form.checkout table.shop_table{margin:0 0 22px;font-size:14px}.woocommerce form.checkout table.shop_table th,.woocommerce form.checkout table.shop_table td{padding:14px 12px}.woocommerce-checkout #payment ul.payment_methods{padding:0 0 20px;border-bottom-color:var(--line)}.woocommerce-checkout #payment div.payment_box{background:transparent;padding:10px 0;color:var(--muted);font-size:14px}.woocommerce-checkout #payment div.payment_box::before{display:none}.woocommerce-checkout #payment div.form-row{padding:18px 0 0}.woocommerce-checkout #payment #place_order{width:100%;float:none;margin-top:20px}.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;color:var(--muted)}.woocommerce form.checkout .checkout-inline-error-message{display:block;color:var(--accent);font-size:13px;margin-top:7px}.woocommerce form.checkout [aria-invalid=true]{border-color:var(--accent)!important}.woocommerce-checkout #payment .woocommerce-info{margin:0;font-size:14px}.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:28px}
@media(max-width:768px){.woocommerce form.checkout{grid-template-columns:minmax(0,1fr);row-gap:20px}.woocommerce form.checkout #customer_details{grid-column:1;grid-row:auto}.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:1}.woocommerce form.checkout #order_review_heading{margin-top:12px}.woocommerce form.checkout .checkout-test-notice{padding-bottom:16px}}

.woocommerce-checkout #payment button#place_order:disabled,.woocommerce-checkout #payment button#place_order:disabled[disabled]{background:var(--ink);color:var(--paper);opacity:.55}

.woocommerce form.checkout .form-row.woocommerce-invalid label{color:var(--accent)}.woocommerce form.checkout .form-row.woocommerce-invalid .input-text{border-color:var(--accent)}.woocommerce-checkout .woocommerce-error:focus,.woocommerce-checkout .woocommerce-NoticeGroup:focus{outline:3px solid var(--accent);outline-offset:4px}

/* The campaign offers pickup only; the native residence destination is not relevant. */
.qvatre-pickup-cart .woocommerce-shipping-destination{display:none}

/* Enlarge touch areas while preserving the approved navigation layout. */
.site-header nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}

.site-header nav .cart-link{gap:4px}

/* RUN08: inverse narrative band, using the established ink/paper palette. */
.statement{max-width:none;width:100%;margin:48px 0 0;padding:56px var(--space);background:var(--ink);color:var(--paper);border:0;align-items:center}
.statement>p{color:var(--paper)}
/* Native cart summary: one integrated footer instead of a floating half-width block. */
.woocommerce .cart-collaterals .cart_totals{float:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 56px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.woocommerce .cart-collaterals .cart_totals h2{grid-column:1;grid-row:1;font-size:32px;line-height:1.15;margin:0}
.woocommerce .cart-collaterals .cart_totals table.shop_table{grid-column:2;grid-row:1/span 2;width:100%;margin:0;border:0;border-collapse:collapse}
.woocommerce .cart-collaterals .cart_totals table.shop_table th,.woocommerce .cart-collaterals .cart_totals table.shop_table td{padding:14px 0;border:0;border-bottom:1px solid var(--line);background:transparent}
.woocommerce .cart-collaterals .cart_totals table.shop_table td{text-align:right}
.woocommerce .cart-collaterals .cart_totals .order-total th,.woocommerce .cart-collaterals .cart_totals .order-total td{border-bottom:0;padding-top:20px}
.woocommerce .cart-collaterals .cart_totals .order-total .amount{font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}
.woocommerce .cart-collaterals .wc-proceed-to-checkout{grid-column:1;grid-row:2;padding:0;align-self:end}
.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button{margin:0;font-size:16px;min-height:54px;padding:16px 22px;line-height:1.4}
@media(min-width:1600px){.statement{padding-left:max(var(--space),calc((100vw - 1440px)/2));padding-right:max(var(--space),calc((100vw - 1440px)/2))}}
@media(max-width:768px){.woocommerce .cart-collaterals .cart_totals{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:26px;padding-top:24px}.woocommerce .cart-collaterals .cart_totals h2,.woocommerce .cart-collaterals .cart_totals table.shop_table,.woocommerce .cart-collaterals .wc-proceed-to-checkout{grid-column:1;grid-row:auto}.woocommerce .cart-collaterals .cart_totals h2{font-size:28px}.woocommerce .cart-collaterals .cart_totals table.shop_table tr td{padding:14px 0}.woocommerce .cart-collaterals .wc-proceed-to-checkout{order:3}}
@media(max-width:650px){.statement{margin-top:36px;padding-top:36px;padding-bottom:36px;align-items:flex-start}}

/* Anniversary copy and separate front/back frames from the original compositions. */
.hero h1{font-size:clamp(46px,4.4vw,68px);max-width:15ch}
.statement .statement-story{font:400 clamp(20px,1.7vw,26px)/1.5 DMSerif,Georgia,serif;max-width:65ch;flex:1.6}
.statement>p:not(.statement-story){flex:1;max-width:32ch}
.product-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.product-view{margin:0;min-width:0}
.product-view-frame{overflow:hidden;aspect-ratio:2/3;background:#d6d2c9}
.product-view-frame img{width:200%;max-width:none;height:100%;aspect-ratio:auto;object-fit:fill}
.product-view-back img{transform:translateX(-50%)}
.product-image-caption{font-size:12px;margin-top:12px;color:var(--muted)}
@media(max-width:650px){.hero h1{font-size:46px}.statement .statement-story{font-size:22px}.product-views{gap:12px}}
