/* Shared catalogue surfaces; never dim colour-critical product photography. */
.p-item{min-width:0;display:flex;flex-direction:column;position:relative;opacity:1!important;visibility:visible!important;transform:none!important;height:auto!important;overflow-wrap:anywhere}
.p-item .p-card{flex:1;min-width:0}.p-media{aspect-ratio:1;background:#edf0f1;overflow:hidden}.p-media img{object-fit:contain;width:100%;height:100%;filter:none!important}.p-item .am-card-quote{margin-top:10px;position:static}
html[data-theme=night] .p-media img,html[data-theme=dark] .p-media img,.pdp img,.woocommerce-product-gallery img,.am-p10-world img{filter:none!important;mix-blend-mode:normal!important}
.p-flag,.badge{background:#eaf0f2;color:#17242a;opacity:1}.am-catalog-filters,.am-department-chips{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.am-catalog-filters label{display:grid;gap:5px}.am-catalog-filters select{padding:12px;max-width:100%;color:var(--ink);background:var(--paper,#fff)}.am-department-chips a{border:1px solid currentColor;padding:10px 14px;border-radius:24px}.am-p10-world{padding-top:140px;padding-bottom:50px}.am-p10-world>.grid{margin-bottom:40px}.am-p10-world .p-price{display:none}.am-p10-world>h1{font-size:clamp(2rem,5vw,4rem)}
.am-quote-context{display:flex;gap:16px;align-items:center}.am-quote-context img{width:90px;height:90px;object-fit:contain}.am-logo-details{margin:24px 0}.am-sticky-quote{display:none}.header-actions>a:first-child{background:#eaf0f2;color:#17242a;padding:10px 14px}
.home .hero .btn,.home .hero .button,.home .hero-cta,.home .hero a.cta{background:#f5f3eb!important;color:#17242a!important;opacity:1!important;visibility:visible!important}.home .hero a span{opacity:1!important}
@media(hover:none),(pointer:coarse){.qv-btn{display:none!important}}
@media(max-width:700px){.breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}.single-product{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.am-sticky-quote{display:block;position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--paper,#fff);z-index:45;border-top:1px solid #88949a}.am-sticky-quote .btn{display:block;text-align:center}.pdp{display:flex!important;flex-direction:column}.pdp-info{width:100%;min-width:0}.am-catalog-filters label{width:100%}.am-catalog-filters select{width:100%}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.p-title{overflow-wrap:anywhere}}
.am-h8 .slide-cta{background:#f5f3eb!important;color:#17242a!important;opacity:1!important;visibility:visible!important}.am-h8 .slide-cta *{color:inherit!important;opacity:1!important}.pdp .p-media img,.pdp .product-media img{filter:none!important}.am-p10-world [data-reveal]{opacity:1!important;visibility:visible!important;transform:none!important}
.am-h8 .drop-art img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}.am-product-specs{width:100%;border-collapse:collapse;margin:24px 0}.am-product-specs th,.am-product-specs td{padding:10px;text-align:left;border-bottom:1px solid currentColor;vertical-align:top}.am-p10-world .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.am-p10-world .p-card{color:var(--ink)}@media(max-width:900px){.am-p10-world .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
.am-catalog-mode .p-item .p-price{display:none}
.am-h8 .departments{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:320px}.am-h8 .departments .tile{grid-column:auto;grid-row:auto;min-height:0}@media(max-width:650px){.am-h8 .departments{display:grid;grid-template-columns:1fr;grid-auto-rows:300px}.am-h8 .departments .tile h3{font-size:30px;overflow-wrap:normal}}
.am-h8 .environment{padding:18px 5%}.am-h8 .environment .env-grid{display:flex;gap:18px;flex-wrap:wrap;border:0}.am-h8 .environment .env-cell{padding:10px 0;min-height:0;min-width:0;border:0;flex:1}.am-h8 .environment .env-clock{font-size:24px}.am-h8 .environment .env-temp{font-size:28px}.am-h8 .environment .env-detail{font-size:12px}.am-h8 .environment .sun-cell,.am-h8 .environment .location-cell,.am-h8 .environment .forecast,.am-h8 .environment .region-tabs,.am-h8 .environment .env-foot{display:none!important}.am-h8 .environment .env-source{font-size:10px;margin:6px 0 0}.am-h8 .environment .weather-cell{flex:2}.am-h8 .environment .env-heading{margin-bottom:6px}.am-weather-more{display:inline-block;font-size:12px;text-decoration:underline!important}
.am-h8 .quote-bar,.am-h8 .quantity,.am-h8 .quote-price{min-width:0}.am-h8 .quantity input{width:100%;min-width:0}.am-h8 .quote-price{overflow-wrap:anywhere}@media(max-width:650px){.am-h8 .quote-bar{display:flex;flex-direction:column;align-items:stretch;gap:16px}.am-h8 .quote-bar .lab-cta{text-align:center}.am-h8 .environment .env-heading{display:none}.am-h8 .environment .time-cell .env-label,.am-h8 .environment .time-cell .env-detail{display:none}.am-h8 .environment .env-grid{gap:8px}}
.am-h8 .environment .env-grid{min-height:0}
.am-card-quote,.am-catalog-contact{background:#f5f3eb!important;color:#17242a!important;border:1px solid #17242a}.am-card-quote:hover,.am-catalog-contact:hover{background:#e0e6e8!important;color:#17242a!important}

/* Batch 2: prose uses explicit tokens because legacy blocks set their own ink. */
html[data-theme=night] .prose,html[data-theme=night] .prose :is(h1,h2,h3,h4,p,li,td,th,caption,strong){color:#e6e4de!important}
html[data-theme=night] .prose :is(table,td,th){background:#101415;border-color:#68716f}
html[data-theme=night] .prose a{color:#9cddeb}
.am-not-found .btn{background:#17242a;color:#f5f3eb}
html[data-theme=night] .am-not-found{color:#e6e4de}
html[data-theme=night] .am-not-found .btn{background:#f5f3eb;color:#17242a}
.am-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.am-table-scroll:focus-visible{outline:3px solid #16769b}
@media(max-width:768px){body input,body select,body textarea{font-size:16px!important}.prose table{min-width:100%}}

/* Batch 5: the shared .woocommerce grid also matches WooCommerce body classes.
   Keep that content layout from imposing a min-content grid track on the page. */
body.woocommerce{display:block}
.wp-site-blocks,.pdp>*{min-width:0}
.pdp-info h1,.am-quote-context p{overflow-wrap:anywhere}
.am-catalog-filters .btn{background:#17242a!important;color:#f5f3eb!important;border:1px solid #17242a;align-self:end}
html[data-theme=night] .am-catalog-filters .btn{background:#f5f3eb!important;color:#17242a!important;border-color:#f5f3eb}
.am-department-menu{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.mega-heading a{display:block;font-family:var(--serif);font-size:1.25rem;padding:12px 0}
.department-children{list-style:none;margin:0;padding:0 0 0 18px}
.department-children a{display:block;padding:10px 0;color:var(--ink);font-size:.9rem}
.mega-all{grid-column:1/-1;border-top:1px solid var(--line)}
.mega-all a{font-family:var(--sans);font-size:1rem;text-decoration:underline}
.mobile-nav .mobile-department>a{font-weight:600}
.mobile-nav .department-children{padding-left:24px}
.mobile-nav .department-children a{font-weight:400}
/* These selectors also beat the night hero tint and reveal colour rules. */
html body .am-h8 .hero .slide-copy .slide-cta{background:#f5f3eb!important;color:#17242a!important;opacity:1!important;border-color:#17242a;animation:none}
.am-filter-disclosure{margin:20px 0}
.am-filter-disclosure>summary{cursor:pointer;font-weight:600;padding:12px 0}
/* Keep the native disclosure control when closed-content styling is unsupported. */
@supports selector(::details-content){
@media(min-width:701px){.am-filter-disclosure::details-content{content-visibility:visible;display:block}.am-filter-disclosure>summary{display:none}.am-filter-disclosure>.am-filter-content{display:block!important}}
}
.am-product-placeholder{height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:20px;background:#edf0f1;color:#17242a}
.am-product-placeholder>span{font:600 clamp(12px,2vw,24px)/1.3 var(--sans);letter-spacing:.12em}
.am-product-placeholder>small{font-size:12px}
.am-not-found form[role=search]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;max-width:600px;margin:24px auto}
.am-not-found form[role=search] label{flex-basis:100%}
.am-not-found input[type=search]{flex:1;min-width:0;font-size:16px;min-height:48px}
.am-not-found form[role=search] .btn{flex-shrink:0}
/* The selected-product summary inherits the quote panel's explicit night colours. */
html[data-theme=night] form[data-quote-form]{background:#172124;color:#f5f3eb}
html[data-theme=night] form[data-quote-form] :is(input,select,textarea){background:#101415;color:#f5f3eb;border-color:#68716f}
html[data-theme=night] form[data-quote-form] :is(label,.muted){color:#c2cacc}

/* Batch 6: one palette for every native field, including legacy inline styles.
   Keep native checkbox/radio/range/button rendering and accent colours. */
html[data-theme=night] body :is(input,select,textarea){color-scheme:dark;accent-color:#9cddeb}
html[data-theme=night] body :is(input:not([type=checkbox],[type=radio],[type=range],[type=hidden],[type=submit],[type=button],[type=reset],[type=image]),select,textarea){background:#101415!important;color:#f5f3eb!important;border-color:#68716f!important;-webkit-text-fill-color:#f5f3eb!important}
html[data-theme=night] body :is(input,textarea)::placeholder{color:#b7c2c5!important;-webkit-text-fill-color:#b7c2c5!important;opacity:1}
html[data-theme=night] body :is(input,select,textarea):focus-visible{outline:3px solid #9cddeb!important;outline-offset:3px}
html[data-theme=night] body :is(select option,select optgroup){background:#101415;color:#f5f3eb}
html[data-theme=night] body input[type=file]::file-selector-button{background:#28383d;color:#f5f3eb;border:1px solid #68716f;border-radius:4px;padding:8px 12px;margin-right:12px}
html[data-theme=night] body input::-webkit-calendar-picker-indicator{opacity:1}
html[data-theme=night] body :is(input,textarea,select):-webkit-autofill,
html[data-theme=night] body :is(input,textarea,select):-webkit-autofill:hover,
html[data-theme=night] body :is(input,textarea,select):-webkit-autofill:focus{box-shadow:0 0 0 1000px #101415 inset!important;-webkit-box-shadow:0 0 0 1000px #101415 inset!important;-webkit-text-fill-color:#f5f3eb!important;caret-color:#f5f3eb}

/* Batch 7: flex cards must not stretch status labels across the card. */
html[data-theme=night] .p-card :is(.p-flag,.badge){align-self:flex-start;width:fit-content;max-width:100%;background:#26383e;color:#f5f3eb;opacity:1}
