/* Isolated to product archives on staging; approved selection grids remain independent. */
body.ac-products-page #main { background:linear-gradient(135deg,#f3f8fc 0%,#f6f9fc 55%,#eff5fa 100%); }
body.ac-products-page #main #content-wrap.container { width:calc(100% - 112px)!important; max-width:1380px!important; padding:30px 0 64px!important; margin:0 auto!important; }
body.ac-products-page #main #primary,body.ac-products-page #main #content { width:100%!important; max-width:none!important; padding:0!important; margin:0!important; float:none!important; border:0!important; }
body.ac-products-page #main article.entry-content { color:#071b46; font-family:'AC Source Sans','Segoe UI',sans-serif; }
body.ac-products-page #main .woocommerce-products-header { margin:0!important; padding:0!important; }
body.ac-products-page #main .oceanwp-toolbar,body.ac-products-page #main #right-sidebar { display:none!important; }
body.ac-products-page #main .ac-product-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px 9px; margin:0 0 22px; color:#63758d; font-size:14px; line-height:1.4; }
body.ac-products-page #main .ac-product-breadcrumb a { color:#63758d; text-decoration:none; }
body.ac-products-page #main .ac-product-breadcrumb a:hover { color:#164bd5; }
body.ac-products-page #main .ac-product-breadcrumb [aria-current] { color:#173a75; font-weight:600; }
body.ac-products-page #main .ac-product-header { display:flex; align-items:center; gap:23px; margin:0 0 30px; }
body.ac-products-page #main .ac-product-badge { display:flex; justify-content:center; align-items:center; width:88px; height:88px; border:1px solid #dce6f0; border-radius:50%; background:#fff; flex-shrink:0; }
body.ac-products-page #main .ac-product-intro { min-width:0; }
body.ac-products-page #main .ac-product-back { display:inline-flex; gap:7px; align-items:center; margin:0 0 8px; font-size:14px; color:#536c8c; text-decoration:none; }
body.ac-products-page #main .ac-product-back:hover { color:#164bd5; }
body.ac-products-page #main .ac-product-context { margin:0 0 4px; color:#164789; font-size:15px; line-height:1.35; font-weight:600; }
body.ac-products-page #main .ac-product-intro h1 { margin:0 0 6px; color:#071b46; font-family:'AC Institutional Montserrat',sans-serif; font-size:30px; line-height:1.2; letter-spacing:-.5px; font-weight:600; text-transform:none; overflow-wrap:anywhere; }
body.ac-products-page #main .ac-product-description { margin:0; color:#65738a; font-size:17px; line-height:1.4; }
body.ac-products-page #main .ac-product-subcategories { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 24px; font-size:14px; color:#63758d; }
body.ac-products-page #main .ac-product-subcategories a { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; min-height:44px; padding:8px 13px; border:1px solid #ccd9e7; border-radius:4px; background:#fff; color:#17478e; text-decoration:none; }
body.ac-products-page #main .ac-product-subcategories a:hover { border-color:#2863eb; background:#f5f8ff; }
body.ac-products-page #main .ac-model-art { --ac-logo-width:64px; --ac-logo-height:46px; display:block; position:relative; width:var(--ac-logo-width); height:var(--ac-logo-height); overflow:hidden; flex-shrink:0; }
body.ac-products-page #main .ac-model-art img { position:absolute; left:50%; top:50%; display:block; width:min(calc(100% * var(--ac-art-w)),calc(var(--ac-logo-height) * var(--ac-art-hw)))!important; height:auto!important; max-width:none!important; max-height:none!important; padding:0!important; margin:0!important; border-radius:0!important; box-shadow:none!important; transform:translate(calc(-1 * var(--ac-art-x)),calc(-1 * var(--ac-art-y)))!important; object-fit:contain!important; }
body.ac-products-page #main .ac-product-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid #dce6f0; }
body.ac-products-page #main .ac-product-results { display:flex; align-items:baseline; gap:12px; flex-shrink:0; }
body.ac-products-page #main .ac-product-results h2 { margin:0; color:#123d80; font-family:inherit; font-size:20px; font-weight:600; line-height:1.35; }
body.ac-products-page #main .ac-product-results p { margin:0; color:#78869b; font-size:14px; white-space:nowrap; }
body.ac-products-page #main .ac-product-controls { display:flex; align-items:center; justify-content:flex-end; gap:14px; min-width:0; }
body.ac-products-page #main .ac-product-search { display:flex; align-items:center; width:280px; height:42px; margin:0; border:1px solid #ccd9e7; border-radius:4px; background:#fff; overflow:hidden; }
body.ac-products-page #main .ac-product-search input { width:100%; min-width:0; height:40px; margin:0; padding:8px 12px; border:0; background:transparent; font:inherit; font-size:15px; color:#173a75; box-shadow:none; }
body.ac-products-page #main .ac-product-search input::placeholder { color:#7a879b; opacity:1; }
body.ac-products-page #main .ac-product-search button { display:flex; align-items:center; justify-content:center; width:44px; height:42px; padding:10px; margin:0; border:0; background:transparent; color:#1b4fc1; flex-shrink:0; cursor:pointer; }
body.ac-products-page #main .ac-product-search:focus-within { outline:2px solid #2863eb; outline-offset:2px; }
body.ac-products-page #main .ac-product-search input:focus { outline:0; }
body.ac-products-page #main .ac-product-view { display:flex; gap:8px; flex-shrink:0; }
body.ac-products-page #main .ac-product-view button { display:flex; align-items:center; justify-content:center; width:42px; height:42px; padding:9px; margin:0; border:1px solid #ccd9e7; border-radius:3px; background:#fff; color:#8093ad; cursor:pointer; box-shadow:none; }
body.ac-products-page #main .ac-product-view button[aria-pressed=true] { border-color:#2863eb; color:#1753db; }
body.ac-products-page #main .ac-product-search svg,body.ac-products-page #main .ac-product-view svg { display:block; width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
body.ac-products-page #main .ac-product-sort { display:flex; align-items:center; gap:10px; margin:0; }
body.ac-products-page #main .ac-product-sort select { appearance:auto!important; width:auto; max-width:220px; height:42px; min-height:42px; margin:0; padding:8px 10px; border:1px solid #ccd9e7; border-radius:4px; background:#fff; color:#536982; font-family:inherit; font-size:14px; line-height:1.3; opacity:1!important; position:static!important; }
body.ac-products-page #main ul.ac-product-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%!important; padding:0!important; margin:0!important; list-style:none; }
body.ac-products-page #main ul.ac-product-grid:before,body.ac-products-page #main ul.ac-product-grid:after { display:none; content:none; }
body.ac-products-page #main li.ac-product-card { display:flex!important; flex-direction:column; width:auto!important; min-width:0; padding:0!important; margin:0!important; float:none!important; clear:none!important; border:1px solid #dbe5ef; border-radius:8px; background:#fff; overflow:hidden; list-style:none; box-shadow:0 2px 10px rgba(21,50,94,.018); transition:border-color .18s ease,box-shadow .18s ease; text-align:left!important; }
body.ac-products-page #main li.ac-product-card:hover { border-color:#779acb; box-shadow:0 5px 16px rgba(21,50,94,.055); }
body.ac-products-page #main .ac-product-photo { display:flex; align-items:center; justify-content:center; width:100%; height:220px; padding:18px; background:#fff; overflow:hidden; }
body.ac-products-page #main .ac-product-image { display:block; width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important; object-fit:contain!important; margin:0!important; padding:0!important; border-radius:0!important; }
body.ac-products-page #main .ac-product-no-photo { color:#78869b; font-size:14px; text-align:center; }
body.ac-products-page #main .ac-product-card-body { display:flex; flex-direction:column; flex:1; min-width:0; padding:16px 18px 18px; border-top:1px solid #edf1f6; }
body.ac-products-page #main .ac-product-reference { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; margin:0 0 10px; }
body.ac-products-page #main .ac-product-reference>span { color:#7a879b; font-size:12px; line-height:1.3; }
body.ac-products-page #main .ac-product-reference strong { color:#123d80; font-family:'AC Institutional Montserrat',sans-serif; font-size:20px; font-weight:600; line-height:1.3; letter-spacing:.1px; overflow-wrap:anywhere; }
body.ac-products-page #main .ac-product-name { margin:0 0 10px!important; padding:0!important; color:#112c55; background:transparent!important; font-family:inherit; font-size:16px; font-weight:600; line-height:1.4; text-transform:none; text-align:left!important; overflow-wrap:anywhere; }
body.ac-products-page #main .ac-product-name a { color:#112c55!important; text-decoration:none; }
body.ac-products-page #main .ac-product-name a:hover { color:#1753db!important; }
body.ac-products-page #main .ac-product-category { margin:0 0 17px; color:#76859a; font-size:13px; line-height:1.35; }
body.ac-products-page #main .ac-product-action { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; margin-top:auto; padding:9px 13px; border:1px solid #8aabdf; border-radius:4px; background:#fff; color:#16458e; font-size:15px; font-weight:600; line-height:1.3; text-decoration:none; }
body.ac-products-page #main .ac-product-action:hover { background:#f2f7fe; border-color:#2863eb; color:#1753db; }
body.ac-products-page #main .ac-product-search-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; font-size:15px; line-height:1.4; }
body.ac-products-page #main .ac-product-search-summary p { margin:0; color:#63738b; overflow-wrap:anywhere; }
body.ac-products-page #main .ac-product-search-summary a { color:#174bbd; text-decoration:underline; }
body.ac-products-page #main .ac-product-empty { padding:24px; border:1px solid #dbe5ef; border-radius:7px; background:#fff; color:#52647f; }
body.ac-products-page #main .ac-product-empty h2 { margin:0 0 7px; color:#123d80; font-family:inherit; font-size:20px; }
body.ac-products-page #main .ac-product-empty p { margin:0; font-size:16px; }
body.ac-products-page #main .woocommerce-pagination { margin:28px 0 0; padding:0; text-align:center; }
body.ac-products-page #main .woocommerce-pagination ul { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin:0; padding:0; border:0; }
body.ac-products-page #main .woocommerce-pagination li { margin:0; padding:0; border:0; }
body.ac-products-page #main .woocommerce-pagination a,body.ac-products-page #main .woocommerce-pagination span { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #ccd9e7; border-radius:4px; background:#fff; color:#173f7c; font:inherit; font-size:15px; }
body.ac-products-page #main .woocommerce-pagination .current { background:#17478b; border-color:#17478b; color:#fff; }
body.ac-products-page #main ul.ac-product-grid[data-view=list] { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.ac-products-page #main ul.ac-product-grid[data-view=list] li.ac-product-card { flex-direction:row; }
body.ac-products-page #main ul.ac-product-grid[data-view=list] .ac-product-photo { width:180px; min-height:220px; height:auto; flex-shrink:0; padding:18px; }
body.ac-products-page #main ul.ac-product-grid[data-view=list] .ac-product-card-body { border-top:0; border-left:1px solid #edf1f6; }
body.ac-products-page #main .ac-product-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.ac-products-page #main a:focus-visible,body.ac-products-page #main button:focus-visible,body.ac-products-page #main select:focus-visible { outline:3px solid #1e60e7; outline-offset:3px; }
@media(max-width:1250px) {
 body.ac-products-page #main .ac-product-toolbar { align-items:flex-start; }
 body.ac-products-page #main .ac-product-controls { flex-wrap:wrap; }
 body.ac-products-page #main .ac-product-search { width:260px; }
 body.ac-products-page #main .ac-product-results { flex-direction:column; gap:3px; }
}
@media(max-width:1100px) {
 body.ac-products-page #main #content-wrap.container { width:calc(100% - 64px)!important; }
 body.ac-products-page #main ul.ac-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
 body.ac-products-page #main ul.ac-product-grid[data-view=list] .ac-product-photo { width:140px; }
}
@media(max-width:820px) {
 body.ac-products-page #main #content-wrap.container { width:calc(100% - 48px)!important; padding:25px 0 48px!important; }
 body.ac-products-page #main ul.ac-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.ac-products-page #main ul.ac-product-grid[data-view=list] { grid-template-columns:minmax(0,1fr); }
 body.ac-products-page #main .ac-product-toolbar { flex-wrap:wrap; gap:16px; }
 body.ac-products-page #main .ac-product-results { flex-direction:row; align-items:baseline; width:100%; justify-content:space-between; }
 body.ac-products-page #main .ac-product-controls { width:100%; justify-content:flex-start; }
 body.ac-products-page #main .ac-product-search { flex:1; }
}
@media(max-width:640px) {
 body.ac-products-page #main #content-wrap.container { width:calc(100% - 32px)!important; padding:22px 0 36px!important; }
 body.ac-products-page #main .ac-product-breadcrumb { font-size:13px; margin-bottom:20px; }
 body.ac-products-page #main .ac-product-header { gap:15px; align-items:center; margin-bottom:26px; }
 body.ac-products-page #main .ac-product-badge { width:68px; height:68px; }
 body.ac-products-page #main .ac-model-art { --ac-logo-width:48px; --ac-logo-height:36px; }
 body.ac-products-page #main .ac-product-intro h1 { font-size:26px; letter-spacing:-.4px; }
 body.ac-products-page #main .ac-product-description { font-size:15px; }
 body.ac-products-page #main .ac-product-context { font-size:14px; }
 body.ac-products-page #main .ac-product-back { font-size:13px; }
 body.ac-products-page #main .ac-product-results h2 { font-size:18px; }
 body.ac-products-page #main .ac-product-results p { font-size:13px; }
 body.ac-products-page #main .ac-product-controls { gap:10px; }
 body.ac-products-page #main .ac-product-search { width:auto; min-width:0; height:44px; }
 body.ac-products-page #main .ac-product-search input { height:42px; padding:8px 10px; font-size:14px; }
 body.ac-products-page #main .ac-product-search button { height:44px; }
 body.ac-products-page #main .ac-product-view { gap:6px; }
 body.ac-products-page #main .ac-product-view button { width:44px; height:44px; }
 body.ac-products-page #main .ac-product-sort { width:100%; gap:10px; }
 body.ac-products-page #main .ac-product-sort select { min-width:0; max-width:none; min-height:44px; height:44px; flex:1; width:50%; font-size:13px; }
 body.ac-products-page #main ul.ac-product-grid { gap:12px; }
 body.ac-products-page #main .ac-product-photo { height:145px; padding:10px; }
 body.ac-products-page #main .ac-product-card-body { padding:12px 11px; }
 body.ac-products-page #main .ac-product-reference { flex-direction:column; gap:3px; margin-bottom:9px; }
 body.ac-products-page #main .ac-product-reference>span { font-size:11px; }
 body.ac-products-page #main .ac-product-reference strong { font-size:17px; }
 body.ac-products-page #main .ac-product-name { font-size:14px; line-height:1.4; margin-bottom:8px!important; }
 body.ac-products-page #main .ac-product-category { font-size:12px; margin-bottom:12px; }
 body.ac-products-page #main .ac-product-action { min-height:44px; padding:9px 10px; font-size:14px; }
 body.ac-products-page #main ul.ac-product-grid[data-view=list] .ac-product-photo { width:105px; min-height:170px; padding:10px; }
 body.ac-products-page #main ul.ac-product-grid[data-view=list] .ac-product-reference { flex-direction:row; gap:5px 8px; }
 body.ac-products-page #main .ac-product-search-summary { display:block; font-size:14px; }
 body.ac-products-page #main .ac-product-search-summary a { display:inline-block; margin-top:7px; }
}
@media(prefers-reduced-motion:reduce) { body.ac-products-page #main li.ac-product-card { transition:none; } }

/* Shared staging product cards: the approved catalogue visual, without changing product data. */
body #main ul.products.ac-product-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%!important; padding:0!important; margin:0!important; list-style:none; }
body #main ul.products.ac-product-grid::before,body #main ul.products.ac-product-grid::after { display:none; content:none; }
body #main .ac-product-grid > li.ac-product-card { display:flex!important; flex-direction:column; width:auto!important; min-width:0; padding:0!important; margin:0!important; float:none!important; clear:none!important; border:1px solid #dce7f3; border-radius:16px; background:#fff; overflow:hidden; list-style:none; box-shadow:0 4px 18px rgba(18,55,105,.035); text-align:left!important; }
body #main .ac-product-grid > li.ac-product-card:hover { border-color:#b6cff0; box-shadow:0 6px 20px rgba(18,55,105,.07); }
body #main .ac-product-grid .ac-product-card .ac-product-photo { display:flex; align-items:center; justify-content:center; width:100%; height:230px; padding:14px 18px 0; background:#fff; overflow:hidden; }
body #main .ac-product-grid .ac-product-card .ac-product-image { display:block; width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important; object-fit:contain!important; margin:0!important; padding:0!important; border-radius:0!important; }
body #main .ac-product-grid .ac-product-card .ac-product-no-photo { color:#687e9e; font-size:14px; text-align:center; }
body #main .ac-product-grid .ac-product-card .ac-product-card-body { display:flex; flex-direction:column; flex:1; min-width:0; padding:12px 22px 24px; border:0; font-family:'AC Source Sans','Segoe UI',sans-serif; }
body #main .ac-product-grid .ac-product-card .ac-product-category { margin:0 0 5px; color:#657fA6; font-size:15px; line-height:1.35; }
body #main .ac-product-grid .ac-product-card h3.ac-product-name { margin:0 0 10px!important; padding:0!important; min-height:2.3em; background:transparent!important; font-family:inherit; font-size:23px!important; font-weight:700!important; line-height:1.15!important; letter-spacing:-.25px; text-transform:none; text-align:left!important; overflow-wrap:anywhere; }
body #main .ac-product-grid .ac-product-card .ac-product-name a { color:#082d70!important; text-decoration:none; }
body #main .ac-product-grid .ac-product-card .ac-product-name a:hover { color:#075cff!important; }
body #main .ac-product-grid .ac-product-card .ac-product-reference { display:flex; flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:5px; margin:auto 0 16px; padding-top:8px; border-top:1px solid #dce7f3; font-size:17px; line-height:1.35; }
body #main .ac-product-grid .ac-product-card .ac-product-reference > span { color:#7186aa; font-size:inherit; line-height:inherit; }
body #main .ac-product-grid .ac-product-card .ac-product-reference strong { color:#0a2b62; font-family:inherit; font-size:inherit; font-weight:700; line-height:inherit; letter-spacing:0; overflow-wrap:anywhere; }
body #main .ac-product-grid .ac-product-card .ac-product-purchase { display:flex; flex-direction:column; gap:8px; margin:0; width:100%; }
body #main .ac-product-grid .ac-product-card .ac-product-purchase button { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:46px; margin:0; padding:10px 8px; border:1px solid #075cff; border-radius:6px; font-family:inherit; font-size:17px; font-weight:600; line-height:1.3; letter-spacing:0; text-transform:none; box-shadow:none; }
body #main .ac-product-grid .ac-product-card .ac-product-purchase button:disabled { opacity:1!important; cursor:not-allowed; filter:none; }
body #main .ac-product-grid .ac-product-card .ac-product-cart,body #main .ac-product-grid .ac-product-card .ac-product-cart:disabled:hover { background:#075cff!important; color:#fff!important; }
body #main .ac-product-grid .ac-product-card .ac-product-buy,body #main .ac-product-grid .ac-product-card .ac-product-buy:disabled:hover { background:#fff!important; color:#0640bd!important; }
body #main .ac-product-grid .ac-product-card .ac-product-cart svg { display:block; width:25px; height:25px; flex-shrink:0; }
body #main .ac-product-grid .ac-product-card a:focus-visible { outline:3px solid #075cff; outline-offset:-3px; }
body #main .ac-product-purchase-notice { margin:0 0 18px; color:#657b99; font-family:'AC Source Sans','Segoe UI',sans-serif; font-size:14px; line-height:1.4; }
body #main ul.products.ac-product-grid[data-view=list] { grid-template-columns:repeat(2,minmax(0,1fr)); }
body #main ul.products.ac-product-grid[data-view=list] > li.ac-product-card { flex-direction:row; }
body #main ul.products.ac-product-grid[data-view=list] .ac-product-card .ac-product-photo { width:190px; height:auto; min-height:280px; padding:18px; flex-shrink:0; }
body #main ul.products.ac-product-grid[data-view=list] .ac-product-card .ac-product-card-body { padding:20px; border-left:1px solid #edf2f8; }
@media(max-width:1100px) {
 body #main ul.products.ac-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
 body #main .ac-product-grid .ac-product-card .ac-product-card-body { padding:12px 18px 20px; }
 body #main ul.products.ac-product-grid[data-view=list] .ac-product-card .ac-product-photo { width:145px; }
}
@media(max-width:820px) {
 body #main ul.products.ac-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body #main ul.products.ac-product-grid[data-view=list] { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:640px) {
 body #main ul.products.ac-product-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 body #main .ac-product-grid .ac-product-card .ac-product-photo { height:250px; padding:16px 20px 0; }
 body #main .ac-product-grid .ac-product-card .ac-product-card-body { padding:12px 20px 22px; }
 body #main .ac-product-grid .ac-product-card h3.ac-product-name { min-height:0; font-size:23px!important; line-height:1.2!important; margin-bottom:12px!important; }
 body #main .ac-product-grid .ac-product-card .ac-product-category { font-size:15px; margin-bottom:5px; }
 body #main .ac-product-grid .ac-product-card .ac-product-reference { font-size:17px; gap:5px; margin:0 0 16px; }
 body #main .ac-product-grid .ac-product-card .ac-product-purchase button { min-height:48px; font-size:17px; }
 body #main ul.products.ac-product-grid[data-view=list] > li.ac-product-card { flex-direction:column; }
 body #main ul.products.ac-product-grid[data-view=list] .ac-product-card .ac-product-photo { width:100%; height:250px; min-height:0; padding:16px 20px 0; }
 body #main ul.products.ac-product-grid[data-view=list] .ac-product-card .ac-product-card-body { border-left:0; padding:12px 20px 22px; }
}
@media(prefers-reduced-motion:reduce) { body #main .ac-product-grid > li.ac-product-card { transition:none; } }

body #main .related ul.products.ac-product-grid,body #main .up-sells ul.products.ac-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1100px) { body #main .related ul.products.ac-product-grid,body #main .up-sells ul.products.ac-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { body #main .related ul.products.ac-product-grid,body #main .up-sells ul.products.ac-product-grid { grid-template-columns:minmax(0,1fr); } }
