/* Phase 8B.8 — responsive, accessibility, performance and final QA */
:root{--acp-touch-target:44px;--acp-readable:72ch;--acp-focus-ring:3px solid var(--acp-color-gold)}
html{overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{overflow-wrap:anywhere}
main:focus{outline:none}
[hidden]{display:none!important}
:target{scroll-margin-top:7rem}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button,input[type=button],input[type=submit],input[type=reset],.button,.wp-element-button{min-height:var(--acp-touch-target)}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-height:var(--acp-touch-target)}
textarea{resize:vertical}
label{cursor:pointer}
fieldset{min-width:0}
iframe,video,embed,object{max-width:100%}
iframe{border:0}
figure{max-width:100%;margin-inline:0}
.acp-entry-content p,.acp-entry-content li,.acp-article-body p,.acp-article-body li{max-width:var(--acp-readable)}
.acp-entry-content table,.woocommerce table{font-variant-numeric:tabular-nums}
.acp-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.acp-table-scroll:focus-visible{outline:var(--acp-focus-ring);outline-offset:3px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--acp-focus-ring);outline-offset:3px;box-shadow:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus:not(:focus-visible){outline:none}
.acp-using-keyboard :focus{outline:var(--acp-focus-ring);outline-offset:3px}
.acp-skip-link:focus{position:fixed!important;top:12px;left:12px;clip:auto!important;width:auto;height:auto;margin:0;padding:12px 18px;background:#fff;color:#111;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:1000000}
[aria-invalid=true],.woocommerce-invalid input,.woocommerce-invalid select,.woocommerce-invalid textarea{border-color:#a4262c!important}
.woocommerce-error,.woocommerce-message,.woocommerce-info{scroll-margin-top:7rem}
.woocommerce-error a,.woocommerce-message a,.woocommerce-info a{text-decoration:underline;text-underline-offset:.18em}
.screen-reader-text:focus{white-space:normal}
.woocommerce form .form-row{min-width:0}
.woocommerce form .form-row label{line-height:1.4}
.woocommerce form .required{text-decoration:none}
.woocommerce .quantity .qty{min-width:4.25rem}
.woocommerce a.remove{display:inline-grid;place-items:center;min-width:var(--acp-touch-target);min-height:var(--acp-touch-target)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;min-width:var(--acp-touch-target);min-height:var(--acp-touch-target)}
.woocommerce-product-gallery img,.products img,.wp-post-image{content-visibility:auto}
@supports (content-visibility:auto){.acp-home-section,.acp-editorial-grid,.related.products,.up-sells{content-visibility:auto;contain-intrinsic-size:auto 700px}}
@media(max-width:1180px){.acp-container,.site-main>.woocommerce,.site-main>.woocommerce-notices-wrapper{width:min(100% - 40px,var(--acp-container,1200px))}.acp-header-inner{gap:1rem}.products.columns-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:960px){.products.columns-4,.products.columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.acp-product-layout,.acp-checkout-layout,.acp-cart-layout,.acp-account-layout{grid-template-columns:minmax(0,1fr)!important}.acp-sticky,.acp-product-summary,.acp-order-summary{position:static!important;top:auto!important}.acp-article-layout{grid-template-columns:minmax(0,1fr)!important}.acp-article-sidebar{position:static!important}.acp-table-of-contents{max-height:none}}
@media(max-width:782px){body.admin-bar .acp-site-header{top:46px}.acp-container,.site-main>.woocommerce,.site-main>.woocommerce-notices-wrapper{width:min(100% - 32px,var(--acp-container,1200px))}.acp-content-shell{padding-top:2rem;padding-bottom:3rem}.woocommerce table.shop_table_responsive tr td::before{max-width:45%;text-align:left}.woocommerce table.shop_table_responsive tr td{display:flex;justify-content:space-between;gap:1rem;align-items:center}.woocommerce-checkout #payment ul.payment_methods{padding:1rem}.acp-sticky-purchase{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}}
@media(max-width:600px){:root{--acp-touch-target:46px}.acp-container,.site-main>.woocommerce,.site-main>.woocommerce-notices-wrapper{width:min(100% - 24px,var(--acp-container,1200px))}h1{font-size:clamp(2rem,10vw,2.75rem)}h2{font-size:clamp(1.55rem,7vw,2.15rem)}.products.columns-4,.products.columns-3,.products.columns-2,.products{grid-template-columns:minmax(0,1fr)!important}.woocommerce ul.products li.product{width:100%!important;margin-right:0!important}.acp-button-row,.woocommerce-cart-form__cart-item .product-quantity{flex-wrap:wrap}.woocommerce-cart-form table,.woocommerce-cart-form tbody,.woocommerce-cart-form tr,.woocommerce-cart-form td{display:block;width:100%}.woocommerce-cart-form thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.woocommerce-cart-form tr{padding:1rem;border:1px solid rgba(0,0,0,.1);border-radius:16px;margin-bottom:1rem}.woocommerce-cart-form td{border:0!important;padding:.45rem 0!important}.woocommerce-cart-form td::before{float:none!important;margin-right:.5rem}.acp-mobile-full,.checkout-button,.single_add_to_cart_button{width:100%;justify-content:center}.acp-modal,.acp-drawer{max-width:100vw}.acp-footer-grid{grid-template-columns:1fr!important}.acp-hero-actions{align-items:stretch}.acp-hero-actions .button{width:100%;justify-content:center}}
@media(max-width:380px){.acp-container,.site-main>.woocommerce,.site-main>.woocommerce-notices-wrapper{width:min(100% - 18px,var(--acp-container,1200px))}.woocommerce .quantity .qty{min-width:3.75rem}.acp-product-card{padding-inline:.75rem}}
@media(min-width:1440px){.acp-container{max-width:1280px}.acp-entry-content,.acp-article-body{font-size:1.0625rem}}
@media(hover:hover) and (pointer:fine){.button,a,button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.button:hover,button:hover{transform:translateY(-1px)}}
@media(hover:none){.button:hover,button:hover{transform:none}.acp-product-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.acp-reading-progress{transition:none!important}.button:hover,button:hover,.acp-product-card:hover{transform:none!important}}
@media(prefers-contrast:more){:root{--acp-focus-ring:4px solid currentColor}.button,input,select,textarea,.acp-card{border-width:2px!important}.screen-reader-text:focus{border:3px solid currentColor}}
@media print{.acp-site-header,.acp-announcement,.acp-site-footer,.acp-mobile-drawer,.acp-search-overlay,.acp-sticky-purchase,.woocommerce-form-coupon-toggle,.acp-share-tools{display:none!important}body{background:#fff;color:#000;font-size:11pt}a{color:#000;text-decoration:none}a[href^=http]::after{content:" (" attr(href) ")";font-size:9pt}.acp-container{width:100%;max-width:none}.woocommerce-order-details,.woocommerce-customer-details{break-inside:avoid}}

/* 2.8.2 guard against accidental horizontal page overflow. */
html, body { max-width: 100%; }
body.acp-customer-journey-page { overflow-x: clip; }
@supports not (overflow: clip) {
  body.acp-customer-journey-page { overflow-x: hidden; }
}
body.acp-customer-journey-page .acp-site-main,
body.acp-customer-journey-page .acp-customer-journey,
body.acp-customer-journey-page .acp-container { min-width: 0; max-width: 100%; }
