/* Generated from the approved mockup; all layout selectors scoped. */
#abc-commerce{--red:#9e1d22;--red-hover:#7d171b;--ink:#171715;--paper:#faf9f7;--muted:#67645f;--line:#dedbd7;--soft:#f0eeeb;--green:#376348;--white:#fff}
#abc-commerce *{box-sizing:border-box}
/* WooCommerce ships an olive --wc-highlight (#958e09) and paints every .amount with it,
   which is why the product price read gold while the cards read ink. Prices take the
   colour of whatever they sit in, and the token points at the brand red so anything else
   WooCommerce decides to highlight is on brand rather than olive. */
#abc-commerce{--wc-highlight:var(--red);--wc-highlight-text:#fff;--wc-highligh-text:#fff}
#abc-commerce .price,#abc-commerce .amount{color:inherit}
#abc-commerce{scroll-behavior:smooth;scroll-padding-top:110px}
#abc-commerce{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Chivo,Arial,sans-serif}
#abc-commerce button,#abc-commerce input,#abc-commerce select,#abc-commerce textarea{font:inherit;color:inherit}
#abc-commerce button,#abc-commerce a,#abc-commerce input,#abc-commerce select,#abc-commerce summary{touch-action:manipulation}
#abc-commerce a{color:inherit;text-decoration:none}
#abc-commerce a:hover{color:var(--red)}
#abc-commerce button{cursor:pointer}
#abc-commerce button:disabled{cursor:default;opacity:.45}
#abc-commerce button{border:0}
#abc-commerce img{display:block;max-width:100%}
#abc-commerce h1,#abc-commerce h2,#abc-commerce h3,#abc-commerce p,#abc-commerce figure{margin:0}
#abc-commerce h1,#abc-commerce h2{font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:1.12}
#abc-commerce h1{font-size:54px}
#abc-commerce h2{font-size:34px}
#abc-commerce h3{font-size:18px;line-height:1.35}
#abc-commerce p{color:var(--muted)}
#abc-commerce :focus-visible{outline:3px solid var(--red);outline-offset:4px}
#abc-commerce .wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}
#abc-commerce .utility{background:var(--ink);color:#e5e2df;font-size:11px}
#abc-commerce .utility .wrap{display:flex;justify-content:flex-end;gap:9px;padding-block:6px}
#abc-commerce .utility a:hover{color:white}
#abc-commerce .header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
#abc-commerce .header-inner{height:97px;display:flex;align-items:center;gap:32px}
#abc-commerce .brand{flex-shrink:0}
#abc-commerce .brand img{width:154px;height:76px;object-fit:contain}
#abc-commerce .desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:12px;font-weight:600}
#abc-commerce .desktop-nav a{padding-block:33px}
#abc-commerce .desktop-nav span{color:#8b8680;margin-left:3px}
#abc-commerce .desktop-nav .current{color:var(--red);position:relative}
#abc-commerce .desktop-nav .current:after{content:"";position:absolute;height:2px;background:var(--red);bottom:22px;inset-inline:0}
#abc-commerce .header-actions{display:flex;align-items:center;gap:18px;font-size:11px;font-weight:600}
#abc-commerce .button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:13px 22px;background:var(--red);color:#fff;border:1px solid var(--red);font-size:13px;font-weight:600;border-radius:2px;line-height:1.5;text-align:center;transition:background .15s,color .15s}
#abc-commerce .button:hover{background:var(--red-hover);color:white;border-color:var(--red-hover)}
#abc-commerce .button span:last-child{margin-left:auto}
#abc-commerce .button.outline{background:transparent;color:var(--ink);border-color:var(--line)}
#abc-commerce .button.outline:hover{border-color:var(--red);color:var(--red)}
#abc-commerce .button.white{background:white;border-color:white;color:var(--ink)}
#abc-commerce .button.full{width:100%}
#abc-commerce .quote-button{min-height:42px;font-size:11px;padding:10px 15px}
#abc-commerce .cart-button{display:flex;align-items:center;gap:7px;min-height:44px;border-left:1px solid var(--line);padding-left:18px;white-space:nowrap}
#abc-commerce .cart-button svg{width:21px;height:21px}
#abc-commerce #cart-count{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;background:var(--red);color:white;font-size:10px;border-radius:50%}
#abc-commerce .menu-button{display:none;background:transparent;font-size:22px;min-width:44px;min-height:44px}
#abc-commerce .mobile-nav{background:white;padding:18px 24px;border-top:1px solid var(--line)}
#abc-commerce .mobile-nav a{display:block;padding:10px 0}
#abc-commerce .skip-link{position:fixed;top:-100px;z-index:100;background:white;padding:15px}
#abc-commerce .skip-link:focus{top:0}
#abc-commerce .breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);padding-block:23px}
#abc-commerce .breadcrumb span{color:#aaa39b}
#abc-commerce .breadcrumb b{font-weight:500;color:var(--ink)}
/* Elementor's global kit sets a font-size on every <a>, so a linked crumb would
   render larger than the current page's. Every part follows the trail instead. */
#abc-commerce .breadcrumb a,#abc-commerce .breadcrumb b,#abc-commerce .breadcrumb span{font-size:inherit;line-height:1.6}
#abc-commerce .eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
#abc-commerce .eyebrow:before{content:"///";color:var(--red);font-weight:800;font-size:15px;letter-spacing:-1px}
#abc-commerce .shop-hero{background:var(--ink);color:#fff;border-bottom:4px solid var(--red)}
#abc-commerce .shop-hero .wrap{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-block:47px}
#abc-commerce .shop-hero h1{margin:12px 0 15px;font-size:51px}
#abc-commerce .shop-hero p{color:#c2bfba;max-width:580px;font-size:15px}
#abc-commerce .shop-hero .eyebrow{color:#d5d1cc}
#abc-commerce .hero-aside{width:290px;flex-shrink:0;border-left:1px solid #494641;padding:9px 0 9px 30px}
#abc-commerce .hero-aside strong{font-size:16px;display:block;margin-bottom:8px;font-weight:500}
#abc-commerce .hero-aside p{font-size:12px;line-height:1.7}
#abc-commerce .hero-aside a{display:inline-block;font-size:12px;margin-top:13px;color:#fff;text-decoration:underline;text-underline-offset:5px}
#abc-commerce .catalog{padding-block:42px 58px}
#abc-commerce .catalog-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:27px}
#abc-commerce .filter-tabs{display:flex;gap:5px;flex-wrap:wrap}
/* An unselected tab carries its own outline: with no fill behind it, a border is the
   only thing that reads as something to press. */
#abc-commerce .filter-tab{background:var(--white);min-height:42px;border:1px solid var(--line);padding:8px 16px;border-radius:2px;font-size:12px;color:var(--muted)}
#abc-commerce .filter-tab[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:white}
#abc-commerce .filter-tab:hover{border-color:#b7ada7;color:var(--ink)}
#abc-commerce .filter-tab[aria-pressed=true]:hover{border-color:var(--ink);color:#fff}
#abc-commerce .filter-tab small{opacity:.65;margin-left:8px}
/* Category view and full list are two URLs, so the shop's own switch is a pair of links
   rather than the buttons the in-page category filter uses. */
#abc-commerce .catalog-views{margin-bottom:21px}
/* Scoped to .catalog-views so these beat the general "#abc-commerce a ... {color:inherit}"
   rule further down, which otherwise paints the active tab's text onto its own ink fill. */
#abc-commerce .catalog-views a.filter-tab{display:inline-flex;align-items:center;text-decoration:none;color:var(--muted)}
#abc-commerce .catalog-views a.filter-tab:hover{color:var(--ink)}
#abc-commerce .catalog-views a.filter-tab[aria-pressed=true],
#abc-commerce .catalog-views a.filter-tab[aria-pressed=true]:hover{color:#fff}
#abc-commerce .abc-back{margin-bottom:18px}
#abc-commerce .abc-back-link{display:inline-flex;align-items:center;gap:9px;background:var(--white);border:1px solid var(--line);border-radius:2px;padding:9px 16px;min-height:42px;font-size:12px;color:var(--ink);text-decoration:none}
#abc-commerce .abc-back-link:hover{border-color:#b7ada7}
#abc-commerce .catalog-tools{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:11px}
#abc-commerce .catalog-tools select{background:var(--white);border:1px solid var(--line);border-radius:2px;padding:10px 30px 10px 12px;font-size:11px;max-width:180px;min-height:42px;color:var(--ink)}
#abc-commerce .catalog-tools select:hover{border-color:#b7ada7}
#abc-commerce .catalog-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:12px;color:var(--muted)}
#abc-commerce .catalog-meta h2{font-family:Chivo,Arial,sans-serif;font-style:normal;font-size:20px;text-transform:none;font-weight:600;letter-spacing:-.01em}
#abc-commerce .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#abc-commerce .product-card{position:relative;border:1px solid var(--line);background:white;display:flex;flex-direction:column;min-width:0;border-radius:3px;overflow:hidden;transition:border-color .15s,transform .15s}
#abc-commerce .product-card:hover{border-color:#b7ada7;transform:translateY(-3px)}
#abc-commerce .card-image{aspect-ratio:1.12;display:block;background:#fff;position:relative;overflow:hidden}
#abc-commerce .card-image img{width:100%;height:100%;object-fit:contain}
#abc-commerce .card-image img.abc-bleed{object-fit:cover}
#abc-commerce .card-badge{position:absolute;left:14px;top:14px;z-index:1;background:white;color:var(--red);font-size:9px;padding:4px 8px;font-weight:700;letter-spacing:.035em;border:1px solid #e0d5d4}
/* Says what the product is, in the top corner of its photograph. */
#abc-commerce .abc-br-pill{position:absolute;right:12px;top:12px;z-index:1;background:var(--red);color:#fff;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap}
#abc-commerce .product-main-image .abc-br-pill{right:16px;top:16px;font-size:10px;padding:7px 14px}
@media(max-width:600px){#abc-commerce .abc-br-pill{right:8px;top:8px;font-size:8px;letter-spacing:.08em;padding:4px 9px}}
#abc-commerce .card-body{padding:21px 20px 18px;display:flex;flex-direction:column;flex:1}
#abc-commerce .card-category{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
/* The cards stretch to the tallest in their row and the price is pushed down by
   margin-top:auto, so the price and buttons line up without reserving blank lines
   under short titles and teasers. */
#abc-commerce .product-card h3{font-size:18px;line-height:1.3;letter-spacing:-.02em;font-weight:600}
#abc-commerce .card-description{font-size:12px;line-height:1.6;margin:9px 0 13px}
/* What the client's buyers ask first: is it ballistic, and to what level. */
#abc-commerce .card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 13px;padding:0;list-style:none}
#abc-commerce .card-tag{font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted);white-space:nowrap}
#abc-commerce .card-tag-ballistic,#abc-commerce .card-tag-both{color:var(--red);border-color:#e6d6d6;background:#fdf8f8}
#abc-commerce .card-price{font-size:20px;font-weight:600;letter-spacing:-.025em;margin-top:auto;margin-bottom:13px}
#abc-commerce .card-price small{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0}
#abc-commerce .card-add{width:100%;background:#fff;border:1px solid var(--line);color:var(--ink);min-height:43px;font-size:12px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:2px}
#abc-commerce .card-add:hover{background:var(--red);border-color:var(--red);color:white}
/* Stacked, full width: side by side, half a card is not enough for "Add to cart" to stay
   on one line. */
#abc-commerce .card-actions{display:flex;flex-direction:column;gap:8px}
#abc-commerce .card-actions>*{min-width:0;margin:0}
#abc-commerce .card-link{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;text-align:center;padding:10px 12px;min-height:43px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);text-decoration:none;white-space:nowrap}
#abc-commerce .card-link:hover{border-color:var(--ink)}
/* The shop front lists categories. A category tile carries no price or quantity, so the
   name sizes to its own text and the browse link sits on the floor of the card. */
#abc-commerce .category-grid{grid-template-columns:repeat(auto-fit,minmax(243px,1fr))}
/* Product shots sit on white and must not be cropped, so they letterbox. A category tile
   is a photograph: it fills the frame instead of floating in a grey band. */
#abc-commerce .category-card .card-image{aspect-ratio:1.6}
#abc-commerce .category-card .card-image img{object-fit:cover}
#abc-commerce .category-card h3{min-height:0;margin-bottom:11px}
#abc-commerce .category-card .card-category{color:var(--red);font-weight:600}
#abc-commerce .category-card .card-description{min-height:0;margin:0 0 17px}
#abc-commerce .category-card .card-add{margin-top:auto;text-decoration:none;color:var(--ink)}
#abc-commerce .category-card .card-add:hover,#abc-commerce .category-card:hover .card-add{background:var(--red);border-color:var(--red);color:#fff}
#abc-commerce .assurance{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0}
#abc-commerce .assurance>div{display:flex;justify-content:center;gap:12px;align-items:center;font-size:12px}
#abc-commerce .assurance>div+div{border-left:1px solid var(--line)}
#abc-commerce .assurance svg{width:24px;height:24px;color:var(--red);flex-shrink:0}
#abc-commerce .assurance strong{font-weight:500;display:block}
#abc-commerce .assurance small{display:block;color:var(--muted);font-size:10px}
#abc-commerce .help-band{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;background:#eeebe7;border-left:3px solid var(--red);padding:36px 40px;margin-bottom:62px}
#abc-commerce .help-band h2{font-size:25px;margin:8px 0}
#abc-commerce .help-band p{font-size:13px}
#abc-commerce .help-actions{display:flex;gap:20px;align-items:center}
#abc-commerce .help-actions>a:not(.button){font-size:13px;text-decoration:underline;text-underline-offset:5px}
#abc-commerce .footer{background:var(--ink);color:#edeae6;padding:48px 0 0}
#abc-commerce .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:48px}
#abc-commerce .footer-intro img{width:138px;background:white;padding:7px;margin-bottom:20px}
#abc-commerce .footer h2{font-size:23px;margin-bottom:12px}
#abc-commerce .footer p{color:#aaa69f;font-size:12px;line-height:1.8}
#abc-commerce .footer h3{font-size:11px;font-weight:500;margin:8px 0 21px;text-transform:uppercase;letter-spacing:.08em}
#abc-commerce .footer a{font-size:12px;display:block;margin-top:10px;color:#d5d1cc}
#abc-commerce .footer a:hover{color:white}
#abc-commerce .footer-intro>a{font-size:13px;color:white;display:inline-flex;gap:36px;border-bottom:1px solid #5a5550;padding-bottom:7px}
#abc-commerce .footer a.footer-phone{font-size:18px;color:white;margin-bottom:10px}
#abc-commerce .footer-bottom{border-top:1px solid #3d3933;margin-top:42px;padding-block:20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#aba69f}
#abc-commerce .footer-bottom a{font-size:9px;margin:0}
#abc-commerce .product-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:66px;padding:5px 0 52px;align-items:start}
#abc-commerce .product-gallery{position:relative}
@media (min-width:601px){#abc-commerce .product-gallery{position:sticky;top:var(--abc-sticky-top,124px)}
#abc-commerce .product-gallery .product-main-image>img{max-height:calc(100vh - var(--abc-sticky-top,124px) - 170px)}}
body.admin-bar #abc-commerce .product-gallery{--abc-sticky-top:156px}
#abc-commerce .product-main-image{background:#fff;position:relative;border:1px solid var(--line);border-radius:3px;overflow:hidden}
/* The photograph sets the frame's height rather than being letterboxed inside a fixed
   one: the catalogue mixes square renders with wide product shots, and a fixed ratio
   left white margins down the sides of whichever did not match it. */
#abc-commerce .product-main-image img{display:block;width:100%;height:auto;object-fit:contain}
#abc-commerce .image-expand{position:absolute;right:16px;bottom:16px;min-height:39px;background:white;border:1px solid var(--line);padding:8px 13px;font-size:10px;display:flex;gap:14px;align-items:center}
#abc-commerce .product-info .eyebrow{margin:3px 0 12px}
#abc-commerce .product-info h1{font-size:43px;line-height:1.13}
#abc-commerce .product-subtitle{font-size:14px;margin-top:10px}
#abc-commerce .product-price-row{display:flex;justify-content:space-between;align-items:center;margin:22px 0 18px;padding-bottom:19px;border-bottom:1px solid var(--line)}
#abc-commerce .product-price{font-size:30px;font-weight:600;letter-spacing:-.02em}
#abc-commerce .product-price small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}
#abc-commerce .stock{font-size:11px;color:var(--green);display:flex;align-items:center;gap:7px}
#abc-commerce .stock:before{content:"";width:5px;height:5px;background:var(--green);border-radius:50%}
#abc-commerce .product-description{font-size:13px;line-height:1.8}
#abc-commerce .quick-specs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:22px 0 24px}
#abc-commerce .quick-specs>div{padding:13px 12px;display:flex;flex-direction:column;gap:4px}
#abc-commerce .quick-specs>div+div{border-left:1px solid var(--line)}
#abc-commerce .quick-specs small{text-transform:uppercase;font-size:8px;letter-spacing:.08em;color:var(--muted)}
#abc-commerce .quick-specs strong{font-size:12px;font-weight:500}
#abc-commerce .buy-label{font-size:10px;font-weight:500;margin-bottom:7px}
#abc-commerce .buy-row{display:flex;gap:12px}
#abc-commerce .buy-row>.button{flex:1}
#abc-commerce .qty{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:2px;width:120px;flex-shrink:0;height:48px}
#abc-commerce .qty button{background:transparent;width:38px;height:46px;font-size:18px;padding:0}
#abc-commerce .qty input{width:40px;border:0;text-align:center;background:transparent;padding:0;font-size:13px;-moz-appearance:textfield;appearance:textfield}
#abc-commerce .qty input::-webkit-inner-spin-button{appearance:none}
#abc-commerce .purchase-note{font-size:10px;margin-top:10px;color:var(--muted)}
#abc-commerce .product-help{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;display:flex;gap:11px;align-items:center}
#abc-commerce .product-help svg{width:23px;height:23px;color:var(--red)}
#abc-commerce .product-help a{font-weight:500;text-decoration:underline;text-underline-offset:4px}
#abc-commerce .product-body{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#abc-commerce .section-nav{display:flex;gap:38px;border-bottom:1px solid var(--line);font-size:12px;padding:0}
#abc-commerce .section-nav a{padding:20px 0;display:block}
#abc-commerce .section-nav a:first-child{border-bottom:2px solid var(--red);color:var(--red)}
#abc-commerce .details-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:48px 0}
#abc-commerce .details-grid h2{font-size:29px;margin:12px 0 20px}
#abc-commerce .details-grid p{font-size:13px;line-height:1.85;margin-bottom:14px}
#abc-commerce .features{padding:0;margin:25px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}
#abc-commerce .features li{position:relative;padding-left:21px;font-size:12px;line-height:1.7}
#abc-commerce .features li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:700}
#abc-commerce .spec-panel{border:1px solid var(--line);padding:25px 28px;background:var(--paper)}
#abc-commerce .spec-panel h3{font-size:17px;font-weight:600;margin-bottom:17px}
#abc-commerce .spec-table{width:100%;border-collapse:collapse;font-size:12px}
#abc-commerce .spec-table th,#abc-commerce .spec-table td{text-align:left;border-bottom:1px solid var(--line);padding:11px 0;vertical-align:top}
#abc-commerce .spec-table th{font-weight:400;color:var(--muted);width:45%}
#abc-commerce .spec-table tr:last-child>*{border-bottom:0}
#abc-commerce .product-accordion{border-top:1px solid var(--line);margin-bottom:38px}
#abc-commerce .product-accordion details{border-bottom:1px solid var(--line);font-size:13px}
#abc-commerce .product-accordion summary{cursor:pointer;min-height:60px;padding:18px 0;display:flex;justify-content:space-between;gap:20px;list-style:none;font-weight:500}
#abc-commerce .product-accordion summary:after{content:"+";font-size:22px;line-height:1}
#abc-commerce .product-accordion details[open] summary:after{content:"−"}
#abc-commerce .product-accordion .accordion-content{padding:0 0 24px;max-width:880px;color:var(--muted);line-height:1.8}
#abc-commerce .source-description h3,#abc-commerce .source-description h4{font-size:15px;font-weight:600;line-height:1.5;margin:18px 0 10px}
#abc-commerce .source-description p{margin:0 0 12px}
#abc-commerce .source-description ul{padding-left:20px}
#abc-commerce .related{padding-block:48px 62px}
#abc-commerce .section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:26px}
#abc-commerce .section-head h2{font-size:30px;margin-top:8px}
#abc-commerce .section-head>a{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px}
#abc-commerce .related .product-grid{grid-template-columns:repeat(3,1fr)}
#abc-commerce .related .product-card{display:grid;grid-template-columns:152px 1fr;overflow:visible;align-items:center}
/* A square block, centred: the whole photo shows at a readable size instead of being
   painted small inside a tall column with grey above and below it. */
#abc-commerce .related .card-image{aspect-ratio:1;height:auto;align-self:center;background:#fff}
#abc-commerce .related .card-badge,#abc-commerce .related .card-description,#abc-commerce .related .card-link,#abc-commerce .related .card-tags{display:none}
#abc-commerce .related .card-body{padding:18px}
#abc-commerce .related .product-card h3{font-size:15px;min-height:39px}
#abc-commerce .related .card-category{font-size:8px}
#abc-commerce .related .card-price{font-size:16px;margin:12px 0}
#abc-commerce .related .card-add{min-height:36px;padding:8px 10px;font-size:10px}
#abc-commerce .page-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:12px 0 35px}
#abc-commerce .page-heading h1{font-size:46px;margin:9px 0 12px}
#abc-commerce .page-heading p{font-size:13px}
#abc-commerce .checkout-steps{display:flex;gap:25px;align-items:center;font-size:11px;color:#8b847c}
#abc-commerce .checkout-steps>span,#abc-commerce .checkout-steps>a{display:flex;align-items:center;gap:7px}
#abc-commerce .checkout-steps b{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;font-size:10px;font-weight:500}
#abc-commerce .checkout-steps .active{color:var(--ink)}
#abc-commerce .checkout-steps .active b{background:var(--ink);color:white;border-color:var(--ink)}
#abc-commerce .checkout-steps .done{color:var(--red)}
#abc-commerce .checkout-steps .done b{border-color:var(--red)}
#abc-commerce .order-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:44px;align-items:start;padding-bottom:66px}
#abc-commerce .cart-table{border-top:2px solid var(--ink);background:white}
#abc-commerce .cart-table-head{display:grid;grid-template-columns:1fr 114px 110px;gap:22px;padding:16px 0;font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;border-bottom:1px solid var(--line);background:var(--paper)}
#abc-commerce .cart-table-head span:last-child{text-align:right}
#abc-commerce .cart-row{display:grid;grid-template-columns:minmax(0,1fr) 114px 110px;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);background:var(--paper)}
#abc-commerce .cart-item{display:grid;grid-template-columns:108px 1fr;gap:20px;align-items:center;min-width:0}
#abc-commerce .cart-item img{width:108px;aspect-ratio:1.12;object-fit:contain;border:1px solid var(--line)}
#abc-commerce .cart-item h3{font-size:16px;font-weight:500;margin:4px 0}
#abc-commerce .cart-item p{font-size:11px}
#abc-commerce .cart-item .unit-price{font-size:12px;margin-top:8px}
#abc-commerce .cart-item .card-category{margin:0;font-size:8px}
#abc-commerce .cart-row .qty{width:110px;height:42px}
#abc-commerce .cart-row .qty button{height:40px;width:35px}
#abc-commerce .cart-row .qty input{width:38px}
#abc-commerce .cart-total{font-size:16px;text-align:right;font-weight:600;align-self:center}
#abc-commerce .remove{display:block;font-size:10px;text-decoration:underline;text-underline-offset:3px;background:transparent;color:var(--muted);padding:6px 0 6px 15px;margin:7px 0 0 auto;min-height:32px;font-weight:400}
#abc-commerce .continue-link{font-size:12px;display:inline-block;margin-top:20px;padding-block:9px}
#abc-commerce .cart-extra{margin-top:42px;border:1px solid var(--line);padding:24px;background:white}
#abc-commerce .cart-extra .eyebrow{margin-bottom:14px}
#abc-commerce .cart-extra-inner{display:flex;align-items:center;gap:20px}
#abc-commerce .cart-extra img{width:85px;aspect-ratio:1.12;object-fit:contain}
#abc-commerce .cart-extra h3{font-size:15px;font-weight:500}
#abc-commerce .cart-extra p{font-size:11px;margin:5px 0}
#abc-commerce .cart-extra .button{margin-left:auto;white-space:nowrap;min-height:40px;padding:9px 15px;font-size:11px}
#abc-commerce .summary{background:white;border:1px solid var(--line);border-top:3px solid var(--red);padding:28px;position:sticky;top:118px}
#abc-commerce .summary h2{font-size:24px;margin-bottom:24px}
#abc-commerce .summary-line{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;margin:15px 0;color:var(--muted)}
#abc-commerce .summary-line strong{font-weight:500;color:var(--ink)}
#abc-commerce .summary-line small{font-size:10px;text-align:right}
#abc-commerce .summary-total{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px;font-size:13px;font-weight:600}
#abc-commerce .summary-total strong{font-size:25px;letter-spacing:-.03em}
#abc-commerce .summary-note{font-size:10px;color:var(--muted);margin:7px 0 22px}
#abc-commerce .summary-secure{display:flex;align-items:center;gap:6px;justify-content:center;font-size:10px;color:var(--muted);margin-top:14px}
#abc-commerce .summary-secure svg{width:13px;height:13px}
#abc-commerce .summary-help{border-top:1px solid var(--line);margin-top:22px;padding-top:19px;font-size:11px;text-align:center}
#abc-commerce .summary-help strong{display:block;font-size:15px;font-weight:500;margin-top:5px}
#abc-commerce .coupon{border-top:1px solid var(--line);margin:22px 0 0;padding-top:15px;font-size:11px}
#abc-commerce .coupon summary{cursor:pointer;min-height:32px}
#abc-commerce .coupon-entry{display:flex;gap:8px;margin:10px 0}
#abc-commerce .coupon input{width:100%;min-width:0;height:40px;padding:8px;border:1px solid var(--line)}
#abc-commerce .coupon button{background:var(--ink);color:white;padding:8px 14px;font-size:11px}
#abc-commerce .coupon-message{font-size:10px;color:var(--red)}
#abc-commerce .empty-cart{padding:40px;text-align:center;border:1px solid var(--line);background:white}
#abc-commerce .empty-cart svg{width:48px;height:48px;margin:0 auto 20px;color:var(--red)}
#abc-commerce .empty-cart h2{font-size:27px}
#abc-commerce .empty-cart p{margin:15px 0 23px}
#abc-commerce .checkout-intro{padding:15px 20px;background:#f0eeeb;border-left:2px solid var(--red);font-size:11px;margin-bottom:25px;display:flex;align-items:center;gap:12px}
#abc-commerce .checkout-intro svg{width:18px;height:18px;flex-shrink:0}
#abc-commerce .form-section{background:white;border:1px solid var(--line);margin-bottom:20px;padding:27px 29px}
#abc-commerce .form-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}
#abc-commerce .form-heading span{font-size:11px;display:grid;place-items:center;border:1px solid var(--line);height:27px;width:27px;border-radius:50%;color:var(--red)}
#abc-commerce .form-heading h2{font-size:22px}
#abc-commerce .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#abc-commerce .field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:500}
#abc-commerce .field.wide{grid-column:1/-1}
#abc-commerce .field label small{font-size:10px;color:var(--muted);font-weight:400}
#abc-commerce .field input,#abc-commerce .field select,#abc-commerce .field textarea{border:1px solid #d4d0cb;min-height:46px;border-radius:2px;background:#fff;padding:10px 12px;width:100%;font-size:12px}
#abc-commerce .field input::placeholder,#abc-commerce .field textarea::placeholder{color:#94908b}
#abc-commerce .field textarea{min-height:80px;resize:vertical}
#abc-commerce .field .hint{font-size:10px;color:var(--muted);font-weight:400}
#abc-commerce .check-row{display:flex;gap:9px;align-items:start;font-size:11px;margin-top:18px;font-weight:400;cursor:pointer}
#abc-commerce .check-row input{accent-color:var(--red);margin:3px 0 0;flex-shrink:0;width:15px;height:15px}
#abc-commerce .shipping-option{display:flex;align-items:center;gap:12px;border:1px solid var(--red);background:#fcf8f7;padding:17px 15px;font-size:12px}
#abc-commerce .shipping-option strong{font-weight:500;display:block}
#abc-commerce .shipping-option small{font-size:10px;color:var(--muted);display:block}
#abc-commerce .shipping-option>span:last-child{margin-left:auto;font-size:11px}
#abc-commerce .radio-mark{width:14px;height:14px;border:4px solid var(--red);border-radius:50%;background:white;flex-shrink:0}
#abc-commerce .payment-panel{border:1px solid var(--line);background:var(--paper)}
#abc-commerce .payment-choice{display:flex;align-items:center;gap:9px;font-size:12px;padding:15px;border-bottom:1px solid var(--line)}
#abc-commerce .payment-types{margin-left:auto;display:flex;gap:5px}
#abc-commerce .payment-types span{font:700 8px Arial,sans-serif;background:white;border:1px solid var(--line);border-radius:2px;padding:4px 5px}
#abc-commerce .payment-demo{padding:17px}
#abc-commerce .payment-demo p{font-size:11px;line-height:1.7}
#abc-commerce .payment-placeholder{margin:13px 0 0;padding:13px 14px;border:1px solid var(--line);background:white;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#918a82}
#abc-commerce .payment-placeholder svg{width:19px;height:19px}
#abc-commerce .payment-demo .sample-card{font-size:10px;color:var(--muted);margin-top:9px}
#abc-commerce .billing-fields{margin-top:20px}
#abc-commerce .summary-items{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:8px}
#abc-commerce .summary-item{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:center;margin-bottom:18px}
#abc-commerce .summary-item img{width:58px;aspect-ratio:1.1;object-fit:contain;border:1px solid var(--line)}
#abc-commerce .summary-item h3{font-size:11px;font-weight:500;line-height:1.5}
#abc-commerce .summary-item p{font-size:10px;margin-top:4px}
#abc-commerce .summary-item strong{font-size:11px;font-weight:500}
#abc-commerce .summary-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
#abc-commerce .summary-title>a{font-size:10px;text-decoration:underline}
#abc-commerce .order-terms{font-size:10px;line-height:1.7;color:var(--muted);margin:17px 0}
#abc-commerce .order-terms a{text-decoration:underline}
#abc-commerce .checkout-form .summary .check-row{margin-bottom:18px}
#abc-commerce .demo-disclaimer{font-size:9px;text-align:center;color:var(--muted);margin-top:11px}
#abc-commerce .confirmation{max-width:720px;margin:55px auto 75px;padding:42px;background:white;border:1px solid var(--line);border-top:3px solid var(--red);text-align:center}
#abc-commerce .confirmation h1{font-size:38px;margin:15px 0}
#abc-commerce .confirmation p{margin:12px 0}
#abc-commerce .confirmation svg{width:44px;height:44px;color:var(--red);margin:auto}
#abc-commerce .confirmation .button{margin-top:22px}
#abc-commerce .toast{position:fixed;right:26px;bottom:24px;z-index:80;max-width:440px;padding:19px 23px;background:var(--ink);color:white;box-shadow:0 5px 25px #0003;border-left:3px solid var(--red);font-size:13px}
#abc-commerce .toast a{color:white;text-decoration:underline;display:inline-block;margin-left:20px}
#abc-commerce .toast button{background:transparent;color:#d6d1ca;padding:6px;margin-left:13px}
#abc-commerce .close-dialog{position:absolute;top:12px;right:12px;width:42px;height:42px;background:white;border:1px solid var(--line);font-size:25px}
#abc-commerce dialog{border:1px solid var(--line);padding:30px;max-width:min(1000px,95vw);max-height:90vh}
#abc-commerce dialog img{max-height:80vh;width:auto;object-fit:contain}
#abc-commerce dialog::backdrop{background:#14120fcc}
#abc-commerce [hidden]{display:none!important}
#abc-commerce .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (min-width:1500px){#abc-commerce .wrap{width:min(1320px,calc(100% - 120px))}}
@media (max-width:1190px){#abc-commerce .wrap{width:calc(100% - 64px)}
#abc-commerce .header-inner{gap:22px}
#abc-commerce .desktop-nav{gap:16px}
#abc-commerce .find-rep{display:none}
#abc-commerce .header-actions{gap:13px}
#abc-commerce .cart-word{display:none}
#abc-commerce .product-grid{gap:15px}
#abc-commerce .card-body{padding:18px 16px}
#abc-commerce .product-card h3{font-size:17px}
#abc-commerce .product-layout{gap:40px}
#abc-commerce .order-layout{grid-template-columns:minmax(0,1fr) 330px;gap:30px}
#abc-commerce .cart-row,#abc-commerce .cart-table-head{grid-template-columns:minmax(0,1fr) 100px 86px;gap:15px}
#abc-commerce .cart-item{grid-template-columns:80px 1fr;gap:15px}
#abc-commerce .cart-item img{width:80px}
#abc-commerce .cart-row .qty{width:99px}
#abc-commerce .cart-row .qty input{width:29px}
#abc-commerce .cart-row .qty button{width:34px}
#abc-commerce .cart-item h3{font-size:14px}
#abc-commerce .cart-total{font-size:14px}
#abc-commerce .related .product-card{grid-template-columns:118px 1fr}
#abc-commerce .footer-grid{gap:30px}
#abc-commerce .hero-aside{width:255px}
#abc-commerce .shop-hero h1{font-size:45px}}
@media (max-width:960px){#abc-commerce .desktop-nav{display:none}
#abc-commerce .header-inner{justify-content:space-between;height:85px}
#abc-commerce .menu-button{display:block}
#abc-commerce .header-actions{gap:18px}
#abc-commerce .cart-word{display:inline}
#abc-commerce .header-inner .brand img{width:142px;height:68px}
#abc-commerce .shop-hero .wrap{gap:30px}
#abc-commerce .shop-hero h1{font-size:40px}
#abc-commerce .hero-aside{width:215px;padding-left:24px}
#abc-commerce .catalog-head{align-items:start}
#abc-commerce .catalog-tools{flex-direction:column;gap:3px;align-items:end}
#abc-commerce .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#abc-commerce .card-image{aspect-ratio:1.25}
#abc-commerce .product-card h3{min-height:0;font-size:20px}
#abc-commerce .card-description{min-height:0}
#abc-commerce .card-body{padding:24px}
#abc-commerce .product-layout{gap:30px}
#abc-commerce .product-info h1{font-size:34px}
#abc-commerce .product-price-row{margin:17px 0 14px}
#abc-commerce .quick-specs{grid-template-columns:1fr}
#abc-commerce .quick-specs>div{flex-direction:row;justify-content:space-between;padding:8px 12px;align-items:center}
#abc-commerce .quick-specs>div+div{border-left:0;border-top:1px solid var(--line)}
#abc-commerce .details-grid{gap:35px}
#abc-commerce .order-layout{grid-template-columns:1fr;gap:30px}
#abc-commerce .summary{position:static}
#abc-commerce .page-heading{align-items:start}
#abc-commerce .checkout-steps{gap:14px;margin-top:23px}
#abc-commerce .cart-row,#abc-commerce .cart-table-head{grid-template-columns:1fr 120px 120px;gap:20px}
#abc-commerce .cart-item{grid-template-columns:108px 1fr;gap:20px}
#abc-commerce .cart-item img{width:108px}
#abc-commerce .cart-item h3{font-size:17px}
#abc-commerce .cart-total{font-size:17px}
#abc-commerce .cart-row .qty{width:110px}
#abc-commerce .cart-row .qty input{width:40px}
#abc-commerce .cart-row .qty button{width:35px}
#abc-commerce .summary{max-width:none}
#abc-commerce .related .product-grid{grid-template-columns:1fr}
#abc-commerce .related .product-card{grid-template-columns:135px 1fr}
#abc-commerce .related .card-body{display:grid;grid-template-columns:1fr 140px;column-gap:25px}
#abc-commerce .related .card-category{grid-column:1}
#abc-commerce .related .product-card h3{grid-column:1;min-height:0;font-size:17px}
#abc-commerce .related .card-price{grid-column:2;grid-row:1/3;margin:0;align-self:center;text-align:right;font-size:20px}
#abc-commerce .related .card-add{grid-column:2;grid-row:3;font-size:12px;margin-top:10px}
#abc-commerce .footer-grid{grid-template-columns:1.4fr 1fr;row-gap:36px}
#abc-commerce .help-band{padding:30px}
#abc-commerce .help-actions{flex-direction:column;gap:12px}
#abc-commerce .assurance>div{padding:0 12px}
#abc-commerce .assurance strong{font-size:11px}}
@media (max-width:600px){#abc-commerce{font-size:14px}
#abc-commerce .wrap{width:calc(100% - 40px)}
#abc-commerce .utility .wrap{justify-content:center;font-size:10px;padding-block:5px}
#abc-commerce .header-inner{height:77px;gap:12px}
#abc-commerce .header-inner .brand img{width:119px;height:61px}
#abc-commerce .quote-button{display:none}
#abc-commerce .header-actions{gap:8px}
#abc-commerce .cart-button{padding-left:0;border:0;gap:5px}
#abc-commerce .cart-word{display:none}
#abc-commerce .cart-button svg{width:22px}
#abc-commerce .menu-button{font-size:21px}
#abc-commerce .breadcrumb{padding-block:18px;font-size:10px;gap:7px}
#abc-commerce .shop-hero .wrap{padding-block:32px;display:block}
#abc-commerce .shop-hero h1{font-size:37px;max-width:310px;margin:13px 0 14px}
#abc-commerce .shop-hero p{font-size:13px;line-height:1.7}
#abc-commerce .hero-aside{display:none}
#abc-commerce .eyebrow{font-size:9px}
#abc-commerce .catalog{padding-block:25px 35px}
#abc-commerce .catalog-head{display:block;margin-bottom:23px}
#abc-commerce .filter-tabs{gap:5px}
#abc-commerce .filter-tab{font-size:10px;padding:8px 11px;min-height:39px}
#abc-commerce .filter-tab small{margin-left:5px}
#abc-commerce .catalog-tools{flex-direction:row;justify-content:space-between;align-items:center;margin-top:15px;font-size:10px}
#abc-commerce .catalog-tools select{font-size:10px}
#abc-commerce .catalog-meta{margin-bottom:18px;font-size:10px}
#abc-commerce .catalog-meta h2{font-size:17px}
#abc-commerce .product-grid{grid-template-columns:minmax(0,1fr);gap:16px}
/* Two category tiles side by side leaves no room for the name and its browse link, and
   a full-width square image would push the last category off the end of a long scroll. */
#abc-commerce .category-grid{grid-template-columns:1fr}
#abc-commerce .category-card .card-image{aspect-ratio:1.9}
/* One product per row: full-size type, nothing reserved to line up a neighbour, and a
   4:3 photo so a list of products is not a long scroll of squares. */
#abc-commerce .card-image{aspect-ratio:4/3}
#abc-commerce .card-badge{font-size:9px;padding:4px 7px;top:10px;left:10px}
#abc-commerce .card-body{padding:16px 16px 18px}
#abc-commerce .card-category{font-size:9px;letter-spacing:.08em;min-height:0;margin-bottom:8px}
#abc-commerce .product-card h3{font-size:18px;line-height:1.3;min-height:0}
#abc-commerce .card-description{font-size:13px;line-height:1.6;margin:8px 0 14px;min-height:0}
#abc-commerce .card-price{font-size:19px;margin-bottom:12px}
#abc-commerce .card-price small{font-size:10px}
#abc-commerce .card-add{font-size:12px;min-height:46px;padding:10px 14px}
#abc-commerce .card-link{font-size:12px;padding:10px 12px;min-height:46px}
#abc-commerce .assurance{grid-template-columns:1fr;padding:5px 0;margin-top:27px}
#abc-commerce .assurance>div{justify-content:start;padding:15px 2px;gap:14px}
#abc-commerce .assurance>div+div{border-left:0;border-top:1px solid var(--line)}
#abc-commerce .assurance strong{font-size:12px}
#abc-commerce .assurance small{font-size:10px}
#abc-commerce .help-band{grid-template-columns:1fr;padding:26px 23px;gap:24px;margin-bottom:36px}
#abc-commerce .help-band h2{font-size:25px}
#abc-commerce .help-band p{font-size:12px}
#abc-commerce .help-actions{align-items:stretch;gap:16px}
#abc-commerce .help-actions>a:not(.button){font-size:12px;text-align:center}
#abc-commerce .footer{padding-top:35px}
#abc-commerce .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
#abc-commerce .footer-intro{grid-column:1/-1;max-width:320px}
#abc-commerce .footer-intro img{width:125px}
#abc-commerce .footer h3{font-size:10px;margin-bottom:16px}
#abc-commerce .footer a,#abc-commerce .footer p{font-size:10px}
#abc-commerce .footer a.footer-phone{font-size:15px}
#abc-commerce .footer h2{font-size:25px}
#abc-commerce .footer-bottom{flex-wrap:wrap;gap:10px;margin-top:28px;padding-block:20px;font-size:8px}
#abc-commerce .footer-bottom span:first-child{width:100%}
#abc-commerce .footer-bottom a{font-size:8px}
#abc-commerce .product-layout{grid-template-columns:1fr;gap:27px;padding-bottom:33px}
#abc-commerce .product-main-image img{aspect-ratio:auto}
#abc-commerce .product-info h1{font-size:36px}
#abc-commerce .product-subtitle{font-size:13px}
#abc-commerce .product-price-row{margin:18px 0}
#abc-commerce .product-price{font-size:28px}
#abc-commerce .quick-specs{grid-template-columns:repeat(3,1fr);margin-block:22px}
#abc-commerce .quick-specs>div{flex-direction:column;align-items:start;gap:5px;padding:11px 10px}
#abc-commerce .quick-specs>div+div{border-top:0;border-left:1px solid var(--line)}
#abc-commerce .quick-specs strong{font-size:10px}
#abc-commerce .quick-specs small{font-size:7px}
#abc-commerce .product-help{line-height:1.7}
#abc-commerce .section-nav{gap:24px;font-size:10px;overflow:auto;white-space:nowrap}
#abc-commerce .section-nav a{padding-block:16px}
#abc-commerce .details-grid{grid-template-columns:1fr;padding:32px 0;gap:28px}
#abc-commerce .details-grid h2{font-size:27px}
#abc-commerce .features{gap:12px;font-size:11px}
#abc-commerce .spec-panel{padding:22px}
#abc-commerce .product-accordion{margin-bottom:25px}
#abc-commerce .related{padding-block:32px 38px}
#abc-commerce .section-head{gap:18px}
#abc-commerce .section-head h2{font-size:25px}
#abc-commerce .section-head>a{font-size:10px;white-space:nowrap}
#abc-commerce .related .product-card{grid-template-columns:112px 1fr}
#abc-commerce .related .card-body{display:flex;padding:15px}
#abc-commerce .related .product-card h3{font-size:14px;min-height:0}
#abc-commerce .related .card-price{font-size:15px;text-align:left;margin:9px 0}
#abc-commerce .related .card-add{font-size:10px;margin:0}
#abc-commerce .page-heading{display:block;padding:7px 0 26px}
#abc-commerce .page-heading h1{font-size:37px;margin:9px 0 12px}
#abc-commerce .page-heading p{font-size:12px}
#abc-commerce .checkout-steps{margin-top:23px;gap:20px;font-size:10px}
#abc-commerce .cart-table-head{display:none}
#abc-commerce .cart-table{padding-top:2px}
#abc-commerce .cart-row{grid-template-columns:1fr 1fr;gap:17px;padding:22px 0}
#abc-commerce .cart-item{grid-column:1/-1;grid-template-columns:87px 1fr;gap:16px}
#abc-commerce .cart-item img{width:87px}
#abc-commerce .cart-item h3{font-size:15px}
#abc-commerce .cart-item p{font-size:10px}
#abc-commerce .cart-item .card-category{font-size:8px}
#abc-commerce .cart-row>.qty{margin-left:103px;width:100px;height:41px}
#abc-commerce .cart-row .qty button{height:39px;width:31px}
#abc-commerce .cart-row .qty input{width:36px}
#abc-commerce .cart-total{font-size:15px;align-self:start}
#abc-commerce .remove{font-size:10px;margin-top:2px;padding-top:3px;min-height:30px}
#abc-commerce .continue-link{font-size:11px}
#abc-commerce .cart-extra{margin-top:27px;padding:20px}
#abc-commerce .cart-extra-inner{display:grid;grid-template-columns:69px 1fr;gap:14px}
#abc-commerce .cart-extra img{width:69px}
#abc-commerce .cart-extra h3{font-size:14px}
#abc-commerce .cart-extra p{font-size:10px}
#abc-commerce .cart-extra .button{grid-column:1/-1;width:100%;font-size:12px}
#abc-commerce .order-layout{padding-bottom:36px;gap:25px}
#abc-commerce .summary{padding:24px}
#abc-commerce .summary h2{font-size:23px}
#abc-commerce .summary-total strong{font-size:26px}
#abc-commerce .form-section{padding:22px 18px;margin-bottom:17px}
#abc-commerce .form-grid{gap:16px 12px}
#abc-commerce .field{font-size:10px}
#abc-commerce .field input,#abc-commerce .field select{font-size:11px;padding:10px;min-height:46px}
#abc-commerce .form-heading{gap:10px;margin-bottom:20px}
#abc-commerce .form-heading h2{font-size:20px}
#abc-commerce .checkout-intro{padding:14px;font-size:10px;align-items:start}
#abc-commerce .shipping-option{padding:14px 12px;font-size:11px;gap:10px}
#abc-commerce .shipping-option small{font-size:9px}
#abc-commerce .shipping-option>span:last-child{font-size:10px}
#abc-commerce .payment-types span{font-size:7px}
#abc-commerce .payment-choice{font-size:11px;padding:12px}
#abc-commerce .payment-demo{padding:14px}
#abc-commerce .payment-placeholder{font-size:10px;padding:13px 10px;gap:5px}
#abc-commerce .check-row{font-size:10px}
#abc-commerce .summary-item{grid-template-columns:54px 1fr auto;gap:10px}
#abc-commerce .summary-item h3{font-size:11px}
#abc-commerce .summary-item img{width:54px}
#abc-commerce .toast{bottom:15px;right:15px;left:15px;max-width:none;font-size:11px;padding:15px}
#abc-commerce .toast a{margin-left:12px}
#abc-commerce .confirmation{margin:25px auto 40px;padding:28px 22px}
#abc-commerce .confirmation h1{font-size:29px}
#abc-commerce .confirmation p{font-size:12px}}
#abc-commerce:focus-visible{outline:none}
@media (max-width:600px){#abc-commerce .checkout-steps{gap:12px}
#abc-commerce .cart-row{grid-template-columns:minmax(0,1fr) 110px}
#abc-commerce .cart-row>.qty{margin-left:0}
#abc-commerce .cart-total{justify-self:end}}
@media (prefers-reduced-motion:reduce){#abc-commerce{scroll-behavior:auto}
#abc-commerce *{transition:none!important}}
/* Native WooCommerce components retain their names, hooks, nonces and handlers. */
/* Stick only when the full card fits below the measured, visible header. */
#abc-commerce :is(.cart-collaterals,.abc-checkout-summary).summary{position:static;max-height:none;overflow:visible}
@media(min-width:961px){#abc-commerce :is(.cart-collaterals,.abc-checkout-summary).summary.abc-sticky-summary{position:sticky;top:var(--abc-summary-top,180px)}}
#abc-commerce .abc-receipt-hero,#abc-commerce .abc-order-private{display:flex;align-items:flex-start;gap:24px;background:white;border:1px solid var(--line);border-top:3px solid var(--red);padding:34px;margin-bottom:26px}
#abc-commerce .abc-receipt-icon{width:54px;height:54px;flex:0 0 54px;background:var(--paper);color:var(--red);display:grid;place-items:center;border:1px solid var(--line)}
#abc-commerce .abc-receipt-icon svg{width:28px;height:28px}
#abc-commerce .abc-receipt-hero h2,#abc-commerce .abc-order-private h2{font-size:30px;line-height:1.2;margin:10px 0 14px}
#abc-commerce .abc-receipt-hero p,#abc-commerce .abc-order-private p{font-size:13px;line-height:1.8;max-width:740px;margin:0 0 10px}
#abc-commerce .abc-receipt-hero p:last-child,#abc-commerce .abc-order-private p:last-child{margin-bottom:0}
#abc-commerce .abc-receipt-hero .button{margin-top:16px}
#abc-commerce .abc-receipt-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 0 35px;padding:26px 0;border-block:1px solid var(--line)}
#abc-commerce .abc-receipt-meta>div{border-right:1px solid var(--line);padding-right:16px}
#abc-commerce .abc-receipt-meta>div:last-child{border-right:0}
#abc-commerce .abc-receipt-meta dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
#abc-commerce .abc-receipt-meta dd{font-size:16px;font-weight:500;margin:0;overflow-wrap:anywhere}
#abc-commerce .abc-receipt-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;align-items:start}
#abc-commerce .abc-receipt-details{min-width:0}
#abc-commerce .abc-receipt-help{background:white;border:1px solid var(--line);padding:28px}
#abc-commerce .abc-receipt-help h2{font-size:25px;line-height:1.2;margin:12px 0 18px}
#abc-commerce .abc-receipt-help h3{font-size:15px;text-transform:none;font-style:normal;margin:0 0 10px}
#abc-commerce .abc-receipt-help p{font-size:12px;line-height:1.8;margin:0 0 18px}
#abc-commerce .abc-receipt-help hr{margin:24px 0;border:0;border-top:1px solid var(--line)}
#abc-commerce .abc-receipt-help .button{width:100%;font-size:12px;margin-top:8px}
#abc-commerce .abc-receipt-layout .woocommerce-order-details h2,#abc-commerce .abc-receipt-layout .woocommerce-customer-details h2{font-size:22px;line-height:1.3;margin:0 0 20px}
#abc-commerce .abc-receipt-layout table.shop_table{border:0;border-top:2px solid var(--ink);border-collapse:collapse;background:transparent;width:100%;margin:0 0 35px}
#abc-commerce .abc-receipt-layout table.shop_table :is(th,td){font-size:12px;line-height:1.7;text-align:left;border:0;border-bottom:1px solid var(--line);padding:15px 10px;background:transparent}
#abc-commerce .abc-receipt-layout table.shop_table tr>:last-child{text-align:right}
#abc-commerce .abc-receipt-layout table.shop_table thead th{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
#abc-commerce .abc-receipt-layout table.shop_table tfoot th{font-weight:400}
#abc-commerce .abc-receipt-layout .woocommerce-customer-details address{font-size:12px;line-height:1.8;font-style:normal;border:1px solid var(--line);padding:20px;background:white;border-radius:0;width:auto}
#abc-commerce .abc-receipt-layout .woocommerce-customer-details .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#abc-commerce .abc-receipt-layout .woocommerce-customer-details .col2-set>div{float:none;width:auto}
#abc-commerce .woocommerce-verify-email{max-width:640px;background:white;padding:28px;border:1px solid var(--line)}
#abc-commerce .woocommerce-verify-email p{font-size:13px;line-height:1.8;margin-bottom:18px}
@media(max-width:960px){#abc-commerce .abc-receipt-layout{grid-template-columns:1fr;gap:24px}#abc-commerce .abc-receipt-help{max-width:none}}
@media(max-width:600px){#abc-commerce .abc-receipt-hero,#abc-commerce .abc-order-private{padding:24px;flex-direction:column;gap:16px}#abc-commerce .abc-receipt-hero h2,#abc-commerce .abc-order-private h2{font-size:25px}#abc-commerce .abc-receipt-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}#abc-commerce .abc-receipt-meta>div:nth-child(even){border-right:0}#abc-commerce .abc-receipt-meta dd{font-size:14px}#abc-commerce .abc-receipt-layout .woocommerce-customer-details .col2-set{grid-template-columns:1fr}#abc-commerce .abc-receipt-help{padding:24px}#abc-commerce .woocommerce-verify-email{padding:22px}}
#abc-commerce :is(p,td,th,h3,.woocommerce-info,.woocommerce-message,.woocommerce-error,.abc-toast) a:not(.button):not(.checkout-button){font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;text-underline-offset:.18em}
#abc-commerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a:not(.button){text-decoration:underline}
#abc-commerce .summary-title>a{font:400 11px/1.5 Chivo,Arial,sans-serif!important;white-space:nowrap}
#abc-commerce .summary-title{flex-wrap:wrap;margin-bottom:24px;gap:8px}
#abc-commerce .summary-title h2{margin:0}
#abc-commerce :is(.product-card,.cart-item,.cart-extra) h3{font-style:normal!important;text-transform:none!important;font-weight:600!important}
#abc-commerce.abc-auto-cart:not(.abc-cart-update-failed) .woocommerce-cart-form button[name=update_cart]{display:none!important}
#abc-commerce .abc-cart-update-status{font:400 11px/1.6 Chivo,Arial,sans-serif;color:#67645f}
#abc-commerce .abc-cart-update-status.is-error{color:#9e1d22}
.abc-cart-pending #abc-commerce .cart-collaterals{opacity:.65}
.abc-cart-pending #abc-commerce #wc-stripe-express-checkout-element{pointer-events:none}
#abc-commerce .abc-shipping-pending{font:400 11px/1.7 Chivo,Arial,sans-serif;color:#67645f;margin:0 0 16px}
html:has(#abc-commerce){scroll-padding-top:170px}
#abc-commerce{width:100%;max-width:none;clear:both;overflow-x:clip;overflow-y:visible}
/* A clipping ancestor is a sticky container, so the product page lifts the clip to let
   the gallery pin, and puts it back on the one block that actually bleeds wider than the
   page: the tab bar. That block is a sibling of the gallery, not its parent. */
#abc-commerce:has(.product-layout){overflow-x:visible}
#abc-commerce .product-body{overflow-x:clip}
#abc-commerce{--brand:#9e1d22;--brand-hover-on-light:#7b171b;--text-on-brand:#fff;--font-heading:Chivo,Arial,sans-serif;--font-body:Chivo,Arial,sans-serif;--font-number:Chivo,Arial,sans-serif;--text-heading:#171715}
#abc-commerce :is(h1,h2,h3,h4){font-family:Chivo,Arial,sans-serif!important}
#abc-commerce .shop-hero h1{color:#fff!important}
#abc-commerce .button{background:var(--red)!important;color:#fff!important;border-radius:2px!important;font-family:Chivo,Arial,sans-serif!important}
#abc-commerce .button.outline,#abc-commerce .abc-loop-add>a.button{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}
#abc-commerce .button:hover,#abc-commerce .abc-loop-add>a.button:hover{background:#7b171b!important;color:#fff!important;border-color:#7b171b!important}
#abc-commerce .button:disabled{opacity:.5}
#abc-commerce a:not(.button):not(.stock){color:inherit}
#abc-commerce input.input-text,#abc-commerce textarea.input-text{border-radius:2px!important}
#abc-commerce .woocommerce-shipping-fields:not(:has(input)){display:none}
#abc-commerce #payment #place_order{background:var(--red)!important;color:#fff!important;border:1px solid var(--red)!important}
#abc-commerce #order_review{border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;background:transparent!important}
#abc-commerce .woocommerce-info,#abc-commerce .woocommerce-message,#abc-commerce .woocommerce-error{border-left:0!important}
#abc-commerce .abc-shipping-note{font-size:11px;color:var(--muted);line-height:1.8;margin:18px 0}
#abc-commerce .abc-shipping-note a{text-decoration:underline}
#abc-commerce .product-info h1{font-size:50px!important;line-height:1.08!important}
#abc-commerce .spec-table{border:0;border-collapse:collapse;background:transparent}
#abc-commerce .spec-table th,#abc-commerce .spec-table td{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0}
#abc-commerce .spec-table th{text-align:left;font-weight:400;color:var(--muted)}
#abc-commerce .spec-table td{text-align:right}
#abc-commerce .spec-table tr:last-child>*{border-bottom:0}
@media(max-width:600px){#abc-commerce .product-info h1{font-size:36px!important}}
@media(max-width:600px){#abc-commerce .section-nav{gap:18px}#abc-commerce .section-nav a{font-size:10px!important}}
#abc-commerce .abc-native-flow{padding-bottom:60px}
#abc-commerce .abc-product{margin:0;float:none;width:100%}
#abc-commerce .entry-summary{float:none;width:auto;margin:0}
#abc-commerce .abc-product-notices:empty{display:none}
#abc-commerce .abc-product-notices .woocommerce-message{margin-top:0}
#abc-commerce .product-main-image>img{height:auto!important;width:100%;max-height:none}
#abc-commerce .product-gallery{min-width:0}
#abc-commerce .abc-gallery-thumbs{display:flex;gap:12px;margin-top:14px}
#abc-commerce .abc-gallery-thumbs img{width:72px;border:1px solid var(--line)}
#abc-commerce .product-info>.stock{display:none}
#abc-commerce .product-info form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 10px;float:none}
#abc-commerce .product-info .single_add_to_cart_button{float:none;flex:1;padding:14px 20px!important;font:600 13px/1.4 Chivo,Arial,sans-serif!important;text-transform:none;background:var(--red)!important;color:white!important;min-height:48px;border-radius:2px}
#abc-commerce .product-info form.variations_form{display:block}
#abc-commerce .product-info .woocommerce-variation-add-to-cart{display:flex;gap:12px}
#abc-commerce .product-info table.variations{width:100%}
#abc-commerce .product-info table.variations th{text-align:left}
/* Protection levels. Once the cards are live they replace WooCommerce's select, its
   label cell and the price it repeats under them - the chosen card and the headline
   price already say it twice. */
#abc-commerce form[data-abc-levels-on] table.variations,
#abc-commerce form[data-abc-levels-on] .reset_variations,
#abc-commerce form[data-abc-levels-on] .single_variation .price{display:none}
/* The companion a product needs, offered where the decision is being made. */
#abc-commerce .abc-addon{border:1px solid var(--line);border-radius:3px;background:var(--soft);padding:13px 14px;margin:14px 0 0}
#abc-commerce .abc-addon-head{margin:0 0 10px}
#abc-commerce .abc-addon-head .eyebrow{display:block;margin:0 0 4px}
#abc-commerce .abc-addon-note{font-size:11.5px;line-height:1.5;color:var(--muted);margin:0}
#abc-commerce .abc-addon-body{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}
#abc-commerce .abc-addon-media{display:block;border:1px solid var(--line);border-radius:2px;background:#fff;overflow:hidden;aspect-ratio:1}
#abc-commerce .abc-addon-media img{display:block;width:100%;height:100%;object-fit:cover}
#abc-commerce .abc-addon-main{min-width:0}
#abc-commerce .abc-addon-name{font-size:13px;font-weight:700;line-height:1.3;margin:0 0 8px;letter-spacing:-.01em}
#abc-commerce .abc-addon-name a{color:inherit;text-decoration:none}
#abc-commerce .abc-addon-name a:hover{color:var(--red)}
#abc-commerce .abc-addon-form{display:flex;flex-wrap:wrap;gap:7px;align-items:end}
#abc-commerce .abc-addon-field{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 86px}
#abc-commerce .abc-addon-field span{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#abc-commerce .abc-addon-field select,#abc-commerce .abc-addon-field input{background:#fff;border:1px solid var(--line);border-radius:2px;min-height:36px;padding:6px 8px;font-size:12.5px;width:100%}
#abc-commerce .abc-addon-qty{flex:0 0 58px}
#abc-commerce .abc-addon-add{flex:1 1 104px;justify-content:center;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:2px;min-height:36px;padding:8px 14px;font-size:11.5px;font-weight:600;letter-spacing:.04em;display:flex;align-items:center;gap:7px;white-space:nowrap}
#abc-commerce .abc-addon-price{font-weight:700;letter-spacing:0}
#abc-commerce .abc-addon-add:hover{background:var(--red);border-color:var(--red)}
#abc-commerce .abc-addon-add[disabled]{opacity:.5}
#abc-commerce .abc-addon-matched{font-size:10.5px;color:var(--muted);margin:7px 0 0}
#abc-commerce .abc-addon-matched.is-warning{color:var(--red)}
@media(max-width:600px){#abc-commerce .abc-addon-body{grid-template-columns:52px minmax(0,1fr);gap:10px}#abc-commerce .abc-addon-field{flex:1 1 72px}#abc-commerce .abc-addon-add{flex:1 1 100%;justify-content:center}}
#abc-commerce .abc-choices{margin:0 0 20px}
#abc-commerce .abc-choice{border:0;padding:0;margin:0 0 16px;min-width:0}
#abc-commerce .abc-choice:last-child{margin-bottom:0}
#abc-commerce .abc-choice-options{display:flex;flex-wrap:wrap;gap:8px}
/* With two axes to pick, each option is a plain pill: no price, because a price on half
   a decision is not a price. */
#abc-commerce .abc-level-pill{flex:0 0 auto;flex-direction:row;align-items:center;gap:0;padding:10px 16px;border-radius:999px}
#abc-commerce .abc-level-pill .abc-level-text{padding-left:0;gap:0}
#abc-commerce .abc-level-pill .abc-level-text:before{display:none}
#abc-commerce .abc-level-pill .abc-level-name{font-size:13px;font-weight:500}
/* Scoped under .abc-choice to outrank the rich card's selected state, which is defined
   further down the file and would otherwise paint white text on its near-white fill. */
#abc-commerce .abc-choice .abc-level-pill.is-selected{background:var(--ink);border-color:var(--ink)}
#abc-commerce .abc-choice .abc-level-pill.is-selected .abc-level-name{color:#fff}
#abc-commerce .abc-choice-rich .abc-choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
#abc-commerce .abc-levels{border:0;padding:0;margin:0 0 20px;min-width:0}
#abc-commerce .abc-choice legend,#abc-commerce .abc-levels legend{padding:0;margin-bottom:11px;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
#abc-commerce .abc-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
#abc-commerce .abc-level{display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:15px 16px;cursor:pointer;transition:border-color .15s,background .15s}
#abc-commerce .abc-level:hover{border-color:#b7ada7}
#abc-commerce .abc-level input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#abc-commerce .abc-level-text{display:flex;flex-direction:column;gap:3px;padding-left:27px;position:relative}
#abc-commerce .abc-level-text:before{content:"";position:absolute;left:0;top:1px;width:17px;height:17px;border:1px solid #c9c2bc;border-radius:50%;background:#fff}
#abc-commerce .abc-level-name{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
#abc-commerce .abc-level-detail{font-size:11px;line-height:1.5;color:var(--muted)}
#abc-commerce .abc-level-price{font-size:19px;font-weight:600;letter-spacing:-.025em;color:var(--ink);margin-top:auto;padding-left:27px}
#abc-commerce .abc-level-price .price,#abc-commerce .abc-level-price .amount{font-size:inherit;font-weight:inherit;color:inherit}
#abc-commerce .abc-level.is-selected{border-color:var(--red);background:#fdfaf9}
#abc-commerce .abc-level.is-selected .abc-level-text:before{border-color:var(--red);border-width:5px}
#abc-commerce .abc-level:focus-within{outline:2px solid var(--red);outline-offset:2px}
#abc-commerce form[data-abc-levels-on] .woocommerce-variation-description p{margin:0 0 15px;font-size:12px;line-height:1.6;color:var(--muted)}
#abc-commerce .quantity{display:inline-flex;align-items:center;float:none!important;width:auto!important;max-width:134px;height:48px;border:1px solid var(--line);border-radius:2px;background:white;position:relative;flex-shrink:0}
#abc-commerce .quantity input.qty{appearance:textfield;width:42px!important;min-width:0;height:46px;border:0!important;padding:0!important;text-align:center;background:transparent!important;font:400 13px/1.5 Chivo,Arial,sans-serif;color:var(--ink);margin:0!important;box-shadow:none}
#abc-commerce .quantity input::-webkit-inner-spin-button{appearance:none}
#abc-commerce .quantity button{height:46px;width:34px;min-width:0;min-height:0;border:0;background:transparent!important;color:var(--ink)!important;box-shadow:none;padding:0!important;font-size:19px;border-radius:0;line-height:1}
#abc-commerce .quantity:has(input[type=hidden]){display:none}
/* Centred label and mark, so it reads as a pair with the View product button under it. */
#abc-commerce .abc-loop-add>a.button{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;background:white;color:var(--ink);border:1px solid var(--line);font-size:12px;font-weight:500;line-height:1.5;border-radius:2px;min-height:43px;text-transform:none;white-space:normal}
#abc-commerce .abc-loop-add>a.button:after{content:'+';font-size:14px;position:static;margin:0}
#abc-commerce .abc-loop-add>a.button:hover{background:var(--red);border-color:var(--red);color:white}
#abc-commerce .abc-loop-add>a.button.loading{opacity:.5}
#abc-commerce .abc-loop-add>a.added_to_cart{display:none}
#abc-commerce .abc-loop-add{margin:0}
#abc-commerce .price del,#abc-commerce .card-price del{font-size:.75em;color:var(--muted)}
#abc-commerce .price ins,#abc-commerce .card-price ins{text-decoration:none}
#abc-commerce .product-card img{margin:0!important}
#abc-commerce .abc-cart-table{border:0;border-collapse:collapse;border-top:2px solid var(--ink);margin:0;background:transparent;table-layout:auto;width:100%}
#abc-commerce .abc-cart-table thead th{border:0;border-bottom:1px solid var(--line);padding:16px 0;background:transparent;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:400;color:var(--muted);text-align:left}
#abc-commerce .abc-cart-table .product-quantity{width:124px;padding-inline:14px}
#abc-commerce .abc-cart-table .product-subtotal{width:110px;text-align:right}
#abc-commerce .abc-cart-table tbody td{padding-block:25px;padding-inline:0;border:0;border-bottom:1px solid var(--line);background:transparent;vertical-align:middle}
#abc-commerce .abc-cart-table tbody td.product-quantity{padding-inline:14px}
#abc-commerce .abc-cart-table .cart-item{grid-template-columns:108px minmax(0,1fr);gap:20px;text-align:left}
#abc-commerce .abc-cart-table .cart-item img{width:108px!important;max-width:108px!important;height:auto;aspect-ratio:1.12;object-fit:contain}
#abc-commerce .abc-cart-table .quantity{height:42px}
#abc-commerce .abc-cart-table .quantity button,#abc-commerce .abc-cart-table .quantity input.qty{height:40px}
#abc-commerce .abc-cart-table .abc-line-total{font-size:16px;font-weight:600;white-space:nowrap}
#abc-commerce .abc-cart-table a.remove{display:inline-block;width:auto;height:auto;font-size:11px!important;line-height:1.5;font-weight:400;color:var(--muted)!important;border-radius:0;margin:8px 0 0;padding:6px 0 6px 12px;text-decoration:underline;background:transparent!important}
#abc-commerce .abc-cart-table a.remove:hover{color:var(--red)!important}
#abc-commerce .abc-cart-actions{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}
#abc-commerce .abc-cart-actions .coupon{display:flex;align-items:center;gap:8px;margin:0;padding:0;border:0;float:none}
#abc-commerce .abc-cart-actions .coupon input{width:150px;height:43px;margin:0;padding:10px;border:1px solid var(--line);font-size:12px}
#abc-commerce .abc-cart-actions button{font-size:11px;min-height:43px;padding:10px 13px;float:none}
#abc-commerce .cart-collaterals{width:auto;float:none;clear:none}
#abc-commerce .cart_totals{width:100%!important;float:none!important}
#abc-commerce .cart_totals>h2{font-size:24px;margin:0 0 24px}
#abc-commerce .cart_totals table{width:100%;border:0;border-collapse:collapse;margin:0 0 18px;font-size:12px;background:transparent}
#abc-commerce .cart_totals table th,#abc-commerce .cart_totals table td{background:transparent;border:0;padding:12px 0;font-size:12px;vertical-align:top}
#abc-commerce .cart_totals table th{font-weight:400;color:var(--muted);width:35%;text-align:left}
#abc-commerce .cart_totals table td{text-align:right}
#abc-commerce .cart_totals table tr.order-total>*{border-top:1px solid var(--line);padding-top:20px;color:var(--ink)}
#abc-commerce .cart_totals .order-total .amount{font-size:25px}
#abc-commerce .cart_totals .woocommerce-shipping-destination,#abc-commerce .cart_totals .woocommerce-shipping-calculator{font-size:11px}
#abc-commerce .cart_totals .woocommerce-shipping-calculator input,#abc-commerce .cart_totals .woocommerce-shipping-calculator select{font-size:12px;width:100%}
#abc-commerce .woocommerce-shipping-methods{list-style:none;padding:0;margin:0}
#abc-commerce .woocommerce-shipping-methods li{font-size:12px;margin:0 0 8px}
#abc-commerce .woocommerce-shipping-methods label{font-weight:400;display:inline}
#abc-commerce .wc-proceed-to-checkout{padding:0}
#abc-commerce .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--red);color:white;border-radius:2px;font-size:13px;line-height:1.6;font-weight:600;padding:14px 20px;margin:0;text-transform:none}
#abc-commerce .wc-proceed-to-checkout a.checkout-button:after{content:'→'}
#abc-commerce .cross-sells{display:none}
#abc-commerce .empty-cart{max-width:820px;margin:0 auto 20px;padding:50px 35px}
#abc-commerce .empty-cart>.cart-empty{display:none}
#abc-commerce .empty-cart .woocommerce-info{margin:20px 0}
#abc-commerce .checkout.woocommerce-checkout{margin:0;position:relative}
#abc-commerce #customer_details{display:block;width:auto;float:none}
#abc-commerce .woocommerce-billing-fields:after,#abc-commerce .woocommerce-additional-fields:after{display:none}
#abc-commerce .woocommerce-billing-fields__field-wrapper,#abc-commerce .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#abc-commerce form .form-row{float:none;width:auto;clear:none;margin:0;padding:0;display:block;min-width:0}
#abc-commerce form .form-row-wide,#abc-commerce .abc-contact-fields .form-row{grid-column:1/-1}
#abc-commerce form .form-row label{font-size:12px;font-weight:500;line-height:1.5;margin:0 0 7px;display:block;color:var(--ink);font-style:normal;text-transform:none;letter-spacing:0}
#abc-commerce form .form-row label .optional{font-size:10px;color:var(--muted);font-weight:400}
#abc-commerce form .form-row .required{color:var(--red)}
#abc-commerce form .form-row .input-text,#abc-commerce form .form-row select{background:white;border:1px solid #d4d0cb;border-radius:2px;min-height:46px;width:100%;padding:10px 12px;font:400 13px/1.5 Chivo,Arial,sans-serif;color:var(--ink);box-shadow:none}
#abc-commerce form .form-row input::placeholder,#abc-commerce form .form-row textarea::placeholder{color:#827c76}
#abc-commerce form .form-row textarea{min-height:90px;resize:vertical}
#abc-commerce .select2-container{width:100%!important;font-size:13px}
#abc-commerce .select2-container .select2-selection--single{height:46px;border:1px solid #d4d0cb;border-radius:2px}
#abc-commerce .select2-container .select2-selection__rendered{line-height:44px;padding-left:12px;color:var(--ink)}
#abc-commerce .select2-container .select2-selection__arrow{height:44px;right:8px}
.abc-commerce-page .select2-dropdown{font:400 13px/1.5 Chivo,Arial,sans-serif;border-color:#d4d0cb}
#abc-commerce .woocommerce-input-wrapper{display:block;width:100%}
#abc-commerce form .form-row.woocommerce-invalid .input-text{border-color:#9e1d22}
#abc-commerce #ship-to-different-address{font-size:13px;font-style:normal;text-transform:none;letter-spacing:0;line-height:1.6;margin:0;font-weight:400}
#abc-commerce #ship-to-different-address label{display:flex;align-items:center;gap:10px}
#abc-commerce #ship-to-different-address input{accent-color:var(--red);width:16px;height:16px;margin:0}
#abc-commerce .shipping_address{margin-top:22px}
#abc-commerce .woocommerce-shipping-fields:empty{display:none}
#abc-commerce .woocommerce-additional-fields>h3{font-style:italic;text-transform:uppercase;font-size:20px;margin:0 0 20px}
#abc-commerce .woocommerce-account-fields{background:white;border:1px solid var(--line);padding:22px;margin-bottom:20px}
#abc-commerce .woocommerce-account-fields .create-account{margin-top:15px}
#abc-commerce .abc-checkout-summary{min-width:0}
#abc-commerce .woocommerce-checkout-review-order-table{width:100%;margin:0;border:0;border-collapse:collapse;background:transparent;table-layout:auto}
#abc-commerce .woocommerce-checkout-review-order-table thead{display:none}
#abc-commerce .woocommerce-checkout-review-order-table tbody td{background:transparent;border:0;padding:0 0 19px;vertical-align:middle;font-size:11px}
#abc-commerce .woocommerce-checkout-review-order-table tbody td.product-total{width:76px;text-align:right;white-space:nowrap;padding-left:8px}
#abc-commerce .abc-summary-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;align-items:center;line-height:1.6;font-weight:500}
#abc-commerce .abc-summary-item>img{width:54px;height:auto;aspect-ratio:1.1;object-fit:contain;border:1px solid var(--line)}
#abc-commerce .abc-summary-item .product-quantity{display:block;color:var(--muted);font-weight:400;font-size:10px}
#abc-commerce .woocommerce-checkout-review-order-table tfoot th,#abc-commerce .woocommerce-checkout-review-order-table tfoot td{border:0;padding:12px 0;font-size:12px;vertical-align:top;background:transparent}
#abc-commerce .woocommerce-checkout-review-order-table tfoot th{font-weight:400;color:var(--muted);text-align:left}
#abc-commerce .woocommerce-checkout-review-order-table tfoot td{text-align:right}
#abc-commerce .woocommerce-checkout-review-order-table tfoot .cart-subtotal>*{border-top:1px solid var(--line);padding-top:20px}
#abc-commerce .woocommerce-checkout-review-order-table .woocommerce-shipping-totals>*{display:block;text-align:left;width:100%;padding:4px 0}
#abc-commerce .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td{font-size:11px;line-height:1.7;padding-bottom:14px}
#abc-commerce .woocommerce-checkout-review-order-table .order-total>*{border-top:1px solid var(--line);padding-top:19px;font-weight:500}
#abc-commerce .woocommerce-checkout-review-order-table .order-total .amount{font-size:25px;letter-spacing:-.02em}
#abc-commerce #payment{background:transparent;border:0;border-radius:0;margin-top:23px}
#abc-commerce .abc-payment-section #payment{margin-top:0}
#abc-commerce .abc-payment-section{margin-bottom:0;min-width:0}
#abc-commerce .abc-checkout-left{min-width:0}
#abc-commerce .abc-checkout-layout{grid-template-areas:"details summary" "payment summary";row-gap:24px}
#abc-commerce .abc-checkout-left{grid-area:details}
#abc-commerce .abc-payment-section{grid-area:payment}
#abc-commerce .abc-checkout-summary{grid-area:summary}
@media(max-width:960px){#abc-commerce .abc-checkout-layout{grid-template-areas:"details" "summary" "payment";grid-template-columns:minmax(0,1fr)}}
#abc-commerce #payment ul.payment_methods{border:1px solid var(--line);padding:14px;background:var(--paper);margin:0 0 22px;list-style:none}
#abc-commerce #payment ul.payment_methods li{margin:0 0 10px;line-height:1.6;font-size:12px;text-align:left}
#abc-commerce #payment ul.payment_methods li:last-child{margin:0}
#abc-commerce #payment ul.payment_methods label{font-size:12px;line-height:1.6}
#abc-commerce #payment ul.payment_methods img{display:inline-block;max-height:25px;width:auto;vertical-align:middle;margin:0 0 0 8px}
#abc-commerce #payment ul.payment_methods input[type=radio]{accent-color:var(--red);margin-right:7px}
#abc-commerce #payment div.payment_box{background:white;padding:12px;border:1px solid var(--line);font-size:12px;color:var(--ink);margin:12px 0 0;box-shadow:none;border-radius:2px}
#abc-commerce #payment div.payment_box:before{display:none}
#abc-commerce #payment div.payment_box p{font-size:11px;line-height:1.7}
#abc-commerce #payment .place-order{padding:0;float:none;width:auto;margin:0}
#abc-commerce #payment .woocommerce-privacy-policy-text,#abc-commerce #payment .woocommerce-terms-and-conditions-wrapper{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:18px}
#abc-commerce #payment .woocommerce-privacy-policy-text a{text-decoration:underline}
#abc-commerce #payment #place_order{width:100%;float:none;background:var(--red);border:1px solid var(--red);color:white;min-height:49px;border-radius:2px;font:600 13px/1.5 Chivo,Arial,sans-serif;padding:13px 20px;text-transform:none}
#abc-commerce .woocommerce-form-coupon-toggle .woocommerce-info,#abc-commerce .woocommerce-form-login-toggle .woocommerce-info{font-size:12px}
#abc-commerce form.checkout_coupon{margin:0 0 25px;border:1px solid var(--line);padding:22px;background:white}
#abc-commerce form.checkout_coupon .form-row{display:inline-block;margin-right:10px}
#abc-commerce .woocommerce-message,#abc-commerce .woocommerce-info,#abc-commerce .woocommerce-error{background:#f0eeeb;border-top:2px solid var(--red);border-radius:0;color:var(--ink);font-size:13px;line-height:1.7;padding:18px 20px 18px 48px;margin:0 0 25px;list-style:none}
#abc-commerce .woocommerce-message:before,#abc-commerce .woocommerce-info:before,#abc-commerce .woocommerce-error:before{color:var(--red);top:18px;left:20px}
#abc-commerce .woocommerce-message a.button{font-size:12px;min-height:38px;padding:8px 15px}
#abc-commerce .source-description :is(h3,h4){font-size:16px!important;line-height:1.5!important;margin:22px 0 10px!important;text-transform:none;font-style:normal}
#abc-commerce .product-accordion summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
#abc-commerce .abc-unavailable{font-size:11px;color:var(--red)}
#abc-commerce .abc-image-dialog img{width:auto;max-width:100%;height:auto;max-height:80vh;object-fit:contain}
#abc-commerce .abc-image-dialog{padding:35px;background:white}
#abc-commerce .related .abc-loop-add>a.button{font-size:11px;min-height:37px;padding:8px 10px}
#abc-commerce .related .card-image img{height:100%!important;object-fit:contain}
#abc-commerce .product-card[hidden],#abc-commerce .abc-js-control[hidden],#abc-commerce .abc-toast[hidden]{display:none!important}
@media(max-width:1190px){#abc-commerce .abc-cart-table .cart-item{grid-template-columns:80px minmax(0,1fr);gap:15px}#abc-commerce .abc-cart-table .cart-item img{width:80px!important;max-width:80px!important}#abc-commerce .abc-cart-table .product-quantity{width:104px;padding-inline:8px}#abc-commerce .abc-cart-table .product-subtotal{width:93px}#abc-commerce .abc-cart-table .abc-line-total{font-size:14px}#abc-commerce .abc-checkout-summary{padding:23px}#abc-commerce .abc-summary-item{grid-template-columns:44px minmax(0,1fr);gap:8px}#abc-commerce .abc-summary-item>img{width:44px}#abc-commerce .abc-cart-table .quantity input.qty{width:33px!important}#abc-commerce .abc-cart-table .quantity button{width:30px}}
@media(max-width:960px){#abc-commerce .abc-checkout-summary{position:static}#abc-commerce .abc-cart-table .cart-item{grid-template-columns:108px minmax(0,1fr);gap:20px}#abc-commerce .abc-cart-table .cart-item img{width:108px!important;max-width:108px!important}#abc-commerce .abc-summary-item{grid-template-columns:60px minmax(0,1fr)}#abc-commerce .abc-summary-item>img{width:60px}#abc-commerce .woocommerce-checkout-review-order-table .product-total{width:100px}#abc-commerce .related .abc-loop-add{grid-column:2;grid-row:3}}
@media(max-width:600px){html:has(#abc-commerce){scroll-padding-top:135px}#abc-commerce .abc-native-flow{padding-bottom:35px}#abc-commerce .abc-cart-table thead{display:none}#abc-commerce .abc-cart-table tbody,#abc-commerce .abc-cart-table{display:block;width:100%}#abc-commerce .abc-cart-table tr.cart_item{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:17px;border-bottom:1px solid var(--line);padding:23px 0}#abc-commerce .abc-cart-table tbody td{border:0;padding:0;background:transparent}#abc-commerce .abc-cart-table td.product-name{grid-column:1/-1;width:100%}#abc-commerce .abc-cart-table .cart-item{grid-template-columns:87px minmax(0,1fr);gap:16px}#abc-commerce .abc-cart-table .cart-item img{width:87px!important;max-width:87px!important}#abc-commerce .abc-cart-table tbody td.product-quantity{padding:0;width:auto}#abc-commerce .abc-cart-table td.product-subtotal{width:auto;text-align:right}#abc-commerce .abc-cart-table .actions{display:block;padding:22px 0;border-bottom:1px solid var(--line)}#abc-commerce .abc-cart-actions{gap:15px}#abc-commerce .abc-cart-actions>.button{width:100%}#abc-commerce .abc-cart-actions .coupon{width:100%;gap:8px}#abc-commerce .abc-cart-actions .coupon input{min-width:0;flex:1;width:100%}#abc-commerce .abc-cart-actions .coupon button{white-space:nowrap}#abc-commerce .abc-cart-table .abc-line-total{font-size:16px}#abc-commerce .cart_totals table th,#abc-commerce .cart_totals table td{display:table-cell!important;background:transparent!important}#abc-commerce .cart_totals table td:before{display:none}#abc-commerce .cart_totals tr{display:table-row}#abc-commerce .woocommerce-billing-fields__field-wrapper,#abc-commerce .woocommerce-shipping-fields__field-wrapper{gap:16px 12px}#abc-commerce form .form-row label{font-size:11px}#abc-commerce form .form-row .input-text,#abc-commerce form .form-row select,#abc-commerce .select2-container{font-size:13px}#abc-commerce .product-info .single_add_to_cart_button{font-size:12px!important}#abc-commerce .abc-loop-add>a.button{font-size:10px;padding:10px 9px;min-height:41px}#abc-commerce .abc-loop-add>a.button:after{margin-left:5px}#abc-commerce .empty-cart{padding:33px 24px}#abc-commerce .woocommerce-message a.button{float:none;display:block;margin:0 0 10px}#abc-commerce .summary .woocommerce-info{padding:12px;font-size:11px}#abc-commerce .summary .woocommerce-info:before{display:none}#abc-commerce .woocommerce-checkout-review-order-table .product-total{width:85px}#abc-commerce .abc-summary-item{grid-template-columns:54px minmax(0,1fr)}#abc-commerce .abc-summary-item>img{width:54px}#abc-commerce .woocommerce-checkout-review-order-table .order-total .amount{font-size:23px}}

/* Product tabs: one panel per section of the product write-up. Panels stay visible
   until product-tabs.js marks the set as active, so no-JS readers lose nothing. */
#abc-commerce .abc-tabs{padding-bottom:38px}
#abc-commerce .abc-tabbar{position:sticky;top:var(--abc-header-bottom,0px);z-index:20;background:var(--white);margin:0 calc(var(--abc-tab-bleed,0px)*-1);border-bottom:1px solid var(--line)}
#abc-commerce .abc-tabbar.is-pinned{box-shadow:0 10px 24px -18px #171715a6}
#abc-commerce .abc-tabbar-inner{display:flex;gap:38px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#abc-commerce .abc-tabbar-inner::-webkit-scrollbar{display:none}
#abc-commerce .abc-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin:0;padding:20px 0;font:500 12px/1.4 Chivo,Arial,sans-serif;letter-spacing:.04em;color:var(--muted);white-space:nowrap;cursor:pointer;min-height:44px}
#abc-commerce .abc-tab:hover{color:var(--ink)}
#abc-commerce .abc-tab[aria-selected=true]{color:var(--red);border-bottom-color:var(--red)}
#abc-commerce .abc-tab:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
#abc-commerce .abc-panel{padding-top:34px;font-size:14px;line-height:1.7;max-width:860px}
#abc-commerce .abc-panel:focus{outline:none}
#abc-commerce .abc-tabs[data-abc-tabs=on] .abc-panel[data-abc-inactive]{display:none}
#abc-commerce .abc-panel-title{font:800 italic 26px/1.15 Chivo,Arial,sans-serif;text-transform:uppercase;margin:0 0 18px;color:var(--ink)}
#abc-commerce .abc-panel-body>:first-child{margin-top:0}
#abc-commerce .abc-panel-body p{margin:0 0 14px}
#abc-commerce .abc-panel-body ul{margin:0 0 16px;padding-left:20px}
#abc-commerce .abc-panel-body li{margin-bottom:7px}
#abc-commerce .abc-panel-body h3{font:700 15px/1.4 Chivo,Arial,sans-serif;margin:24px 0 7px;color:var(--ink)}
#abc-commerce .abc-panel-body h3+p{margin-top:0}
#abc-commerce .abc-panel-body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:13px}
/* A wide table is swiped, not clipped. The wrapper scrolls; the table keeps its natural
   width so the columns stay readable instead of being squeezed to nothing. */
#abc-commerce .abc-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 18px;max-width:100%}
#abc-commerce .abc-table-scroll table{margin:0}
#abc-commerce .abc-panel-body th,#abc-commerce .abc-panel-body td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
#abc-commerce .abc-panel-body th{background:var(--soft);font-weight:600;width:38%}
/* A variable product's description labels the passages that differ by level, and opens
   with a table comparing them. Both come from implementation/ballistic-panels. */
#abc-commerce .abc-panel-body p.abr-level{margin:26px 0 9px;color:var(--ink);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
#abc-commerce .abc-panel-body p.abr-level strong{font-weight:600}
#abc-commerce .abc-panel-body p.abr-level+*{margin-top:0}
#abc-commerce .abc-panel-body table.abr-compare th{width:auto}
#abc-commerce .abc-panel-body table.abr-compare thead th{background:var(--ink);color:var(--white);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
#abc-commerce .abc-panel-body table.abr-compare thead th:first-child{background:var(--soft)}
#abc-commerce .abc-panel-body table.abr-compare th[scope=row]{width:32%;background:var(--soft)}
#abc-commerce .abc-panel-body table.abr-compare td{background:var(--white)}
@media(max-width:600px){
  #abc-commerce .abc-panel-body table.abr-compare{font-size:11px}
  #abc-commerce .abc-panel-body table.abr-compare th,#abc-commerce .abc-panel-body table.abr-compare td{padding:8px 9px}
  #abc-commerce .abc-table-scroll table{min-width:540px}
  #abc-commerce .abc-table-scroll table.abr-compare th[scope=row]{position:sticky;left:0;z-index:1;width:auto;min-width:62px;box-shadow:1px 0 0 var(--line)}
  #abc-commerce .abc-table-scroll table.abr-compare thead th:first-child{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--line)}
}
#abc-commerce .abc-panel-body a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
@media(max-width:960px){
  #abc-commerce .abc-tabbar-inner{gap:24px}
  #abc-commerce .abc-tab{font-size:11px;padding-block:16px}
  #abc-commerce .abc-panel{padding-top:26px}
  #abc-commerce .abc-panel-title{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  #abc-commerce{scroll-behavior:auto}
}

/* Sticky tab strip runs edge to edge so it reads as a bar, not a cut-off box. */
#abc-commerce .abc-tabbar{margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%)}
#abc-commerce .abc-tabbar.is-pinned{box-shadow:0 8px 20px -14px #171715b3;border-bottom-color:var(--line)}

/* Gallery: thumbnails swap the main image, so they read as controls. */
#abc-commerce .abc-gallery-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
#abc-commerce .abc-thumb{padding:0;background:var(--white);border:1px solid var(--line);border-radius:3px;cursor:pointer;line-height:0;width:78px;overflow:hidden;transition:border-color .15s}
#abc-commerce .abc-thumb img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover}
#abc-commerce .abc-thumb:hover{border-color:var(--muted)}
#abc-commerce .abc-thumb[aria-pressed=true]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
#abc-commerce .abc-thumb:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* Lightbox: dark backdrop, image sized to the viewport, close button clear of it. */
#abc-commerce .abc-image-dialog{width:min(1100px,94vw);max-width:94vw;max-height:92vh;padding:0;border:0;border-radius:4px;background:var(--white);box-shadow:0 30px 90px #00000059;overflow:visible}
#abc-commerce .abc-image-dialog::backdrop{background:#14120fd9}
#abc-commerce .abc-image-dialog img{display:block;width:100%;height:auto;max-height:86vh;object-fit:contain;background:var(--soft);border-radius:4px}
#abc-commerce .abc-image-dialog .close-dialog{position:absolute;top:-14px;right:-14px;width:44px;height:44px;display:grid;place-items:center;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:50%;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 6px 18px #0000002e}
#abc-commerce .abc-image-dialog .close-dialog:hover{background:var(--red);color:var(--white);border-color:var(--red)}
#abc-commerce .abc-image-dialog .close-dialog:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media(max-width:720px){
  #abc-commerce .abc-image-dialog{width:96vw}
  #abc-commerce .abc-image-dialog .close-dialog{top:-10px;right:-10px;width:40px;height:40px}
  #abc-commerce .abc-thumb{width:64px}
}

/* Scrollable tab strip: fade the edges so a long list reads as scrollable, not cut off. */
#abc-commerce .abc-tabbar{position:sticky;--fade:0px}
#abc-commerce .abc-tabbar:before,#abc-commerce .abc-tabbar:after{content:'';position:absolute;top:0;bottom:1px;width:46px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:1}
#abc-commerce .abc-tabbar:before{left:0;background:linear-gradient(to right,var(--white),#ffffff00)}
#abc-commerce .abc-tabbar:after{right:0;background:linear-gradient(to left,var(--white),#ffffff00)}
#abc-commerce .abc-tabbar.can-scroll-left:before{opacity:1}
#abc-commerce .abc-tabbar.can-scroll-right:after{opacity:1}
#abc-commerce .abc-tabbar-inner{scroll-padding-inline:28px;padding-right:12px}
/* No-JS: panels all show, so the strip is decoration only. */
#abc-commerce .abc-tabs:not([data-abc-tabs=on]) .abc-tabbar{position:static}

/* Fewer, grouped tabs now fit, so the row wraps instead of scrolling sideways. */
#abc-commerce .abc-tabbar-inner{flex-wrap:wrap;overflow:visible;gap:0 32px;padding-right:0}
#abc-commerce .abc-tabbar:before,#abc-commerce .abc-tabbar:after{content:none}
#abc-commerce .abc-panel-title{margin:0 0 18px}
#abc-commerce .abc-panel-toggle{display:block;width:100%;padding:0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:default}
#abc-commerce .abc-panel-toggle .abc-chevron{display:none;width:22px;height:22px;flex:none;stroke:currentColor;stroke-width:2;fill:none}

@media(prefers-reduced-motion:reduce){
  #abc-commerce .abc-panel-toggle .abc-chevron{transition:none}
}

/* The heading text inherits uppercase/nowrap from the theme; in accordion mode it has
   to wrap inside the row instead of running off the screen. */
#abc-commerce .abc-tabs[data-abc-mode=accordion] .abc-panel-toggle>span{text-transform:none;white-space:normal;min-width:0;flex:1;line-height:1.35}
#abc-commerce .abc-tabs[data-abc-mode=accordion] .abc-panel-title{letter-spacing:0}

/* Narrow screens: a scrolling row of pills. Desktop keeps the wrapped underline tabs,
   so horizontal scrolling only ever happens where there is no room for a second row. */
@media(max-width:760px){
  #abc-commerce .abc-tabbar{margin-inline:calc(50% - 50vw);padding-inline:0}
  #abc-commerce .abc-tabbar-inner{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:12px 18px;scroll-padding-inline:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #abc-commerce .abc-tabbar-inner::-webkit-scrollbar{display:none}
  #abc-commerce .abc-tab{flex:none;border:1px solid var(--line);border-radius:999px;background:var(--white);padding:10px 16px;min-height:40px;font-size:11px;color:var(--ink)}
  #abc-commerce .abc-tab[aria-selected=true]{background:var(--red);border-color:var(--red);color:var(--white)}
  #abc-commerce .abc-tabbar:before,#abc-commerce .abc-tabbar:after{content:'';width:24px}
  #abc-commerce .abc-panel-title{font-size:21px}
  /* The heading is a plain title here; the pills do the switching. */
  #abc-commerce .abc-panel-toggle{cursor:default}
  #abc-commerce .abc-panel-toggle .abc-chevron{display:none}
}

/* ---- Spec bar over the product photograph (abc_level_plate) --------------------------
   The level chosen, the round it was tested against, and gauges for level, thickness and
   the weight of the panel chosen. product-variations.js fills it. */
#abc-commerce .abc-spec{display:flex;flex-direction:column;gap:16px;margin:0 0 12px;padding:18px 20px 20px;background:var(--ink);color:var(--white);border-radius:3px;box-shadow:0 14px 30px rgba(23,23,21,.16)}
#abc-commerce .abc-spec-head{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 20px}
#abc-commerce .abc-spec-level{display:flex;flex-direction:column;gap:4px;padding-left:13px;border-left:4px solid var(--red)}
#abc-commerce .abc-spec-std{font-size:10px;font-weight:700;letter-spacing:.22em;color:rgba(255,255,255,.64)}
#abc-commerce .abc-spec-name{font:italic 800 30px/1 Chivo,Arial,sans-serif;letter-spacing:.005em;text-transform:uppercase}
#abc-commerce .abc-spec-threat{display:flex;flex-direction:column;gap:3px;flex:1 1 170px;min-width:0}
#abc-commerce .abc-spec-threat strong{font-size:16px;font-weight:700;line-height:1.25}
#abc-commerce .abc-spec-threat span{font-size:12px;line-height:1.35;color:rgba(255,255,255,.76)}
#abc-commerce .abc-spec-class{padding:6px 11px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
#abc-commerce .abc-spec-class[hidden]{display:none}
#abc-commerce .abc-spec-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#abc-commerce .abc-gauge{display:flex;flex-direction:column;gap:8px;min-width:0}
#abc-commerce .abc-gauge-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64)}
#abc-commerce .abc-gauge-label b{color:var(--white);font-weight:700;letter-spacing:.06em;white-space:nowrap}
#abc-commerce .abc-gauge-ticks{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;height:8px}
#abc-commerce .abc-gauge-ticks i{border-radius:1px;background:rgba(255,255,255,.14);transition:background .3s ease}
#abc-commerce .abc-gauge-ticks i.is-on{background:var(--white)}
#abc-commerce .abc-gauge-ticks i.is-current{background:#d8484e}
#abc-commerce .abc-gauge-ticks i:nth-child(2){transition-delay:.03s}#abc-commerce .abc-gauge-ticks i:nth-child(3){transition-delay:.06s}#abc-commerce .abc-gauge-ticks i:nth-child(4){transition-delay:.09s}#abc-commerce .abc-gauge-ticks i:nth-child(5){transition-delay:.12s}#abc-commerce .abc-gauge-ticks i:nth-child(6){transition-delay:.15s}#abc-commerce .abc-gauge-ticks i:nth-child(7){transition-delay:.18s}#abc-commerce .abc-gauge-ticks i:nth-child(8){transition-delay:.21s}
#abc-commerce .abc-gauge-track{height:8px;border-radius:1px;background:rgba(255,255,255,.14);overflow:hidden}
#abc-commerce .abc-gauge-track i{display:block;width:0;height:100%;background:var(--white);transition:width .55s cubic-bezier(.2,.8,.2,1),background .3s ease}
#abc-commerce .abc-gauge-track i.is-heavy{background:#d8484e}
#abc-commerce .abc-spec.is-changing .abc-spec-name,#abc-commerce .abc-spec.is-changing .abc-spec-threat{animation:abc-plate-in .28s cubic-bezier(.2,0,0,1)}
@keyframes abc-plate-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:600px){
  #abc-commerce .abc-spec{padding:14px 14px 16px;gap:14px}
  #abc-commerce .abc-spec-name{font-size:22px}
  #abc-commerce .abc-spec-gauges{gap:12px}
  #abc-commerce .abc-gauge-label{flex-direction:column;gap:3px;letter-spacing:.1em}
}

/* ---- Choice legends that carry the chosen value on the right ------------------------- */
#abc-commerce .abc-choice-bar legend,#abc-commerce .abc-choice-size legend{display:flex;justify-content:space-between;gap:12px;width:100%;color:var(--ink);font-weight:700}
#abc-commerce .abc-choice-value{color:var(--muted);font-weight:500;letter-spacing:.03em;text-transform:none;font-size:12px}

/* ---- Level bar (abc_level_bar) --------------------------------------------------------
   One track, a cell per level; the marker slides to the level chosen and a fill sits
   behind the levels before it. --abc-bar-index is set by product-variations.js. */
#abc-commerce .abc-bar-bands{display:grid;grid-template-columns:repeat(var(--abc-bar-count),minmax(0,1fr));margin:0 0 8px}
#abc-commerce .abc-bar-band{grid-column:span var(--span);margin:0 2px;padding:0 0 6px 2px;border-bottom:2px solid #e6e2de;font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s ease,border-color .25s ease}
#abc-commerce .abc-bar-band.is-on{color:var(--red);border-color:var(--red)}
#abc-commerce .abc-bar-track{position:relative;display:grid;grid-template-columns:repeat(var(--abc-bar-count),minmax(0,1fr));height:64px;border:1px solid var(--line);border-radius:3px;background:var(--white);overflow:hidden}
#abc-commerce .abc-bar-fill{position:absolute;left:0;top:0;bottom:0;width:calc(100% * (var(--abc-bar-index) + 1) / var(--abc-bar-count));background:rgba(158,29,34,.07);transition:width .45s cubic-bezier(.2,.8,.2,1)}
#abc-commerce .abc-bar-marker{position:absolute;top:4px;bottom:4px;left:calc(100% * var(--abc-bar-index) / var(--abc-bar-count) + 4px);width:calc(100% / var(--abc-bar-count) - 8px);background:var(--red);border-radius:2px;box-shadow:0 6px 14px rgba(158,29,34,.28);transition:left .42s cubic-bezier(.3,1.25,.4,1)}
#abc-commerce .abc-choice-bar.is-empty .abc-bar-marker,#abc-commerce .abc-choice-bar.is-empty .abc-bar-fill{opacity:0}
#abc-commerce .abc-bar-cell{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:44px;border-left:1px solid #efece9;color:var(--ink);cursor:pointer;transition:color .2s ease}
#abc-commerce .abc-bar-cell:first-of-type{border-left:0}
#abc-commerce .abc-bar-cell input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#abc-commerce .abc-bar-cell:hover{color:var(--red)}
#abc-commerce .abc-bar-cell.is-before{color:var(--red)}
#abc-commerce .abc-bar-cell.is-selected{color:var(--white)}
#abc-commerce .abc-bar-cell:focus-within{outline:2px solid var(--red);outline-offset:-3px}
#abc-commerce .abc-bar-num{font:italic 800 22px/1 Chivo,Arial,sans-serif}
#abc-commerce .abc-bar-sub{font-size:10px;font-weight:600;opacity:.85;white-space:nowrap}
#abc-commerce .abc-bar-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
#abc-commerce .abc-bar-note:empty{display:none}
@media(max-width:600px){
  #abc-commerce .abc-bar-track{height:58px}
  #abc-commerce .abc-bar-num{font-size:18px}
  #abc-commerce .abc-bar-sub{font-size:8.5px}
  #abc-commerce .abc-bar-band{font-size:8px;letter-spacing:.06em}
}

/* ---- Size bars (abc_size_bars) ---------------------------------------------------------
   Width and Length as two segmented bars; --i is the chosen segment. */
#abc-commerce .abc-size{display:flex;align-items:stretch;gap:20px}
#abc-commerce .abc-size-axes{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:12px}
#abc-commerce .abc-size-axis{display:flex;align-items:center;gap:14px}
#abc-commerce .abc-size-label{flex:0 0 52px;font-size:11px;font-weight:600;color:var(--muted)}
#abc-commerce .abc-seg{position:relative;flex-grow:1;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));height:48px;border:1px solid var(--line);border-radius:3px;background:var(--white);overflow:hidden}
#abc-commerce .abc-seg-marker{position:absolute;top:4px;bottom:4px;left:calc(100% * var(--i) / var(--n) + 4px);width:calc(100% / var(--n) - 8px);background:var(--ink);border-radius:2px;transition:left .4s cubic-bezier(.3,1.25,.4,1)}
#abc-commerce .abc-seg.is-empty .abc-seg-marker{opacity:0}
#abc-commerce .abc-seg button{position:relative;z-index:1;min-height:44px;border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:700;cursor:pointer;transition:color .2s ease}
#abc-commerce .abc-seg button:hover{color:var(--red)}
#abc-commerce .abc-seg button[aria-pressed=true]{color:var(--white)}
#abc-commerce .abc-seg button:focus-visible{outline:2px solid var(--red);outline-offset:-3px}
#abc-commerce .abc-size-figure{flex:0 0 200px;margin:0;display:flex;flex-direction:column;gap:8px}
#abc-commerce .abc-size-frame{flex-grow:1;display:flex;align-items:center;padding:12px;background:var(--white);border:1px solid var(--line);border-radius:3px}
#abc-commerce .abc-size-max{position:relative;width:100%;border:1px dashed #c9c2bc}
#abc-commerce .abc-size-panel{position:absolute;left:-1px;top:-1px;box-sizing:border-box;border:2px solid var(--red);background:repeating-linear-gradient(135deg,rgba(158,29,34,.12) 0 2px,rgba(158,29,34,.04) 2px 7px);transition:width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1)}
#abc-commerce .abc-size-figure figcaption{font-size:10.5px;line-height:1.4;color:var(--muted)}
@media(max-width:600px){
  #abc-commerce .abc-size{flex-direction:column}
  #abc-commerce .abc-size-figure{flex-basis:auto;max-width:240px}
}

/* ---- Pills on the photograph: bullet resistant, and fire rated where confirmed ------- */
#abc-commerce .product-main-image .abc-pills{position:absolute;right:16px;top:16px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
#abc-commerce .product-main-image .abc-pills .abc-br-pill{position:static}
#abc-commerce .abc-fire-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px 7px 11px;border-radius:999px;background:var(--ink);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
#abc-commerce .abc-fire-pill svg{width:13px;height:13px;color:#f0a046}
#abc-commerce .abc-fire-pill[hidden],#abc-commerce .abc-br-pill[hidden]{display:none}
@media(max-width:600px){
  #abc-commerce .product-main-image .abc-pills{right:8px;top:8px;gap:5px}
  #abc-commerce .abc-fire-pill{font-size:8px;letter-spacing:.08em;padding:4px 9px 4px 7px}
}

/* ---- Documents tab: download cards (abc_document_cards) ------------------------------ */
#abc-commerce .abc-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:2px 0 6px}
#abc-commerce .abc-panel-body a.abc-doc{display:flex;align-items:center;gap:14px;min-height:76px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:3px;color:var(--ink);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
#abc-commerce .abc-panel-body a.abc-doc:hover{border-color:var(--red);box-shadow:0 8px 20px rgba(20,18,15,.08);transform:translateY(-1px);color:var(--ink)}
#abc-commerce .abc-panel-body a.abc-doc:focus-visible{outline:2px solid var(--red);outline-offset:2px}
#abc-commerce .abc-doc-icon{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:3px;background:rgba(158,29,34,.07);color:var(--red)}
#abc-commerce .abc-doc-icon svg{width:22px;height:22px}
#abc-commerce .abc-doc-text{flex:1;min-width:0}
#abc-commerce .abc-doc-text strong{display:block;font-size:14px;font-weight:700;line-height:1.3}
#abc-commerce .abc-doc-text small{display:block;margin-top:4px;font-size:12px;color:var(--muted);letter-spacing:.01em}
#abc-commerce .abc-doc-arrow{flex:none;width:18px;height:18px;color:var(--red);transition:transform .15s ease}
#abc-commerce .abc-doc-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#abc-commerce .abc-panel-body a.abc-doc:hover .abc-doc-arrow{transform:translateY(2px)}

/* ---- Loading: WooCommerce's grey disc redrawn as a red sight ------------------------
   A ring closing on a crosshair. Shown wherever WooCommerce blocks a form while it works:
   add to cart, cart and checkout updates. */
#abc-commerce .blockUI.blockOverlay{background:rgba(250,249,247,.74)!important;opacity:1!important;cursor:progress!important}
#abc-commerce .blockUI.blockOverlay::before,#abc-commerce .loader::before{content:""!important;position:absolute;top:50%;left:50%;width:48px!important;height:48px!important;margin:-24px 0 0 -24px!important;font-size:0!important;border-radius:50%;background:conic-gradient(from 0deg,var(--red) 0 28%,rgba(158,29,34,.14) 28% 100%)!important;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:abc-sight-turn .8s linear infinite!important}
#abc-commerce .blockUI.blockOverlay::after,#abc-commerce .loader::after{content:"";position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;background:radial-gradient(circle,var(--red) 0 2.5px,transparent 3px),linear-gradient(var(--red),var(--red)) center/2px 100% no-repeat,linear-gradient(var(--red),var(--red)) center/100% 2px no-repeat;-webkit-mask:radial-gradient(circle,#000 0 3px,transparent 3.5px 7px,#000 7.5px);mask:radial-gradient(circle,#000 0 3px,transparent 3.5px 7px,#000 7.5px);animation:abc-sight-settle 1.6s ease-in-out infinite}
@keyframes abc-sight-turn{to{transform:rotate(1turn)}}
@keyframes abc-sight-settle{0%,100%{transform:scale(.82);opacity:.75}50%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){
  #abc-commerce .blockUI.blockOverlay::before,#abc-commerce .loader::before{animation-duration:2.4s!important}
  #abc-commerce .blockUI.blockOverlay::after,#abc-commerce .loader::after,#abc-commerce .abc-spec.is-changing *,#abc-commerce .abc-bar-marker,#abc-commerce .abc-bar-fill,#abc-commerce .abc-seg-marker,#abc-commerce .abc-size-panel,#abc-commerce .abc-gauge-track i{animation:none;transition-duration:.01s}
}

/* ---- Document reader (document-viewer.js) -------------------------------------------
   A document opens over the product rather than taking the visitor off it. The browser's
   own PDF viewer fills the stage; this is the frame and the actions around it. */
#abc-commerce .abc-doc.is-readable .abc-doc-arrow svg{fill:none}
#abc-commerce dialog.abc-reader{width:min(1180px,100vw - 32px);height:min(92vh,100vh - 32px);max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);overflow:hidden;display:flex;flex-direction:column}
#abc-commerce dialog.abc-reader::backdrop{background:#14120fd9}
#abc-commerce dialog.abc-reader:not([open]){display:none}
#abc-commerce .abc-reader-bar{display:flex;align-items:center;gap:18px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--white);flex:0 0 auto}
#abc-commerce .abc-reader-id{min-width:0;display:flex;flex-direction:column;gap:2px}
#abc-commerce .abc-reader-id strong{font:700 14px/1.3 Chivo,Arial,sans-serif;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#abc-commerce .abc-reader-id small{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#abc-commerce .abc-reader-actions{margin-left:auto;display:flex;align-items:center;gap:7px;flex:0 0 auto}
#abc-commerce .abc-reader-action{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 13px;border:1px solid var(--line);border-radius:2px;background:var(--white);color:var(--ink);font:600 11.5px/1 Chivo,Arial,sans-serif;letter-spacing:.04em;text-transform:none;text-decoration:none;cursor:pointer}
#abc-commerce .abc-reader-action:hover{border-color:var(--ink);background:var(--soft);color:var(--ink)}
#abc-commerce .abc-reader-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
#abc-commerce .abc-reader-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:2px;background:var(--white);color:var(--ink);cursor:pointer}
#abc-commerce .abc-reader-close:hover{background:var(--red);border-color:var(--red);color:#fff}
#abc-commerce .abc-reader-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#abc-commerce .abc-reader-stage{flex:1 1 auto;min-height:0;background:var(--soft)}
#abc-commerce .abc-reader-stage iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:700px){
#abc-commerce dialog.abc-reader{width:100vw;height:100vh;max-width:100vw;border:0;border-radius:0}
#abc-commerce .abc-reader-bar{gap:10px;padding:9px 11px}
#abc-commerce .abc-reader-action span{display:none}
#abc-commerce .abc-reader-action{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){dialog.abc-reader{animation:none}}
/* Cart line choices as pills (abc_cart_item_options): cart page and checkout summary */#abc-commerce .abc-item-options{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px;padding:0;list-style:none}#abc-commerce .abc-item-options li{display:inline-flex;align-items:baseline;gap:6px;margin:0;padding:4px 10px;border:1px solid #dedbd7;border-radius:999px;background:#fff;font-size:12px;font-weight:600;line-height:1.35;color:#171715;white-space:nowrap}#abc-commerce .abc-item-option-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6f6a64}#abc-commerce .abc-item-options .screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#abc-commerce .abc-summary-item .abc-item-options{margin:6px 0 2px;gap:4px}#abc-commerce .abc-summary-item .abc-item-options li{padding:2px 8px;font-size:11px}

/* Panel preview (panel-preview.js): the chosen sheet drawn over the photograph, resizing
   with the level and size. The photograph keeps its space so nothing moves when it swaps. */
#abc-commerce .abc-panel-preview{position:absolute;inset:0;z-index:1;background:var(--white);container-type:size}
#abc-commerce .product-main-image.has-panel-preview:not(.is-panel-preview) .abc-panel-preview{display:none}
#abc-commerce .product-main-image.is-panel-preview>img{visibility:hidden}
#abc-commerce .product-main-image.is-panel-preview .image-expand{display:none}
#abc-commerce .abc-pp-svg{position:absolute;inset:0;display:block;overflow:visible}
#abc-commerce .abc-pp-cut{fill:var(--red);fill-opacity:.24;opacity:0}
#abc-commerce .abc-pp-frame{opacity:0;transition:opacity .3s ease}
#abc-commerce .abc-pp-frame.is-on{opacity:1}
#abc-commerce .abc-pp-frame polygon{fill:var(--red);fill-opacity:.06;stroke:var(--red);stroke-width:1.25;stroke-linejoin:round}
#abc-commerce .abc-pp-frame .abc-pp-dash{stroke-dasharray:6 4;animation:abc-pp-march .8s linear infinite}
@keyframes abc-pp-march{to{stroke-dashoffset:-20}}
#abc-commerce .abc-pp-label{position:absolute;transform:translate(-50%,-50%);font-size:13px;font-weight:700;line-height:1;color:#4a4540;white-space:nowrap;pointer-events:none}
#abc-commerce .abc-pp-chips{position:absolute;left:16px;top:16px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}
#abc-commerce .abc-pp-chip{padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap;animation:abc-pp-chip .25s ease}
#abc-commerce .abc-pp-chip.is-grow{background:var(--red);color:var(--white)}
#abc-commerce .abc-pp-chip.is-cut{background:var(--ink);color:var(--white)}
@keyframes abc-pp-chip{from{opacity:0;transform:translateY(-4px)}}
#abc-commerce .abc-pp-note{position:absolute;right:16px;bottom:18px;margin:0;font-size:11px;line-height:1.3;color:var(--muted)}
#abc-commerce .abc-pp-toggle{position:absolute;left:16px;bottom:12px;z-index:3;display:flex;border:1px solid var(--line);border-radius:3px;background:var(--white);overflow:hidden}
#abc-commerce .abc-pp-toggle button{min-height:38px;padding:0 13px;border:0;background:transparent;font:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer}
#abc-commerce .abc-pp-toggle button+button{border-left:1px solid var(--line)}
#abc-commerce .abc-pp-toggle button[aria-pressed=true]{background:var(--ink);color:var(--white)}
#abc-commerce .abc-pp-toggle button:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
/* The big drawing replaces the small to-scale sketch beside the size bars. */
#abc-commerce:has(.abc-panel-preview:not([hidden])) .abc-size-figure{display:none}
@media (max-width:600px){#abc-commerce .abc-pp-note{display:none}#abc-commerce .abc-pp-label{font-size:12px}#abc-commerce .abc-pp-chips{left:10px;top:10px}#abc-commerce .abc-pp-toggle{left:10px;bottom:10px}}
@media (prefers-reduced-motion:reduce){#abc-commerce .abc-pp-frame .abc-pp-dash,#abc-commerce .abc-pp-chip{animation:none}}
@container (max-width:580px){#abc-commerce .abc-pp-note{display:none}}
/* Stacked layouts (phones; panel pages below 1000px): the photo column is hidden and the drawing sits in a box directly
   above the level bar, so the change is seen where it is made. panel-preview.js moves it. */
#abc-commerce .abc-pp-inline{position:relative;height:clamp(214px,40vw,320px);margin:0 0 18px;background:var(--white);border:1px solid var(--line);border-radius:3px;overflow:hidden}
#abc-commerce .abc-pp-inline[hidden]{display:none}
#abc-commerce .abc-pp-inline .abc-pp-chips{left:10px;top:10px}
#abc-commerce .abc-pp-inline .abc-pp-chip{font-size:11px;padding:5px 10px}
#abc-commerce .abc-pp-inline .abc-pp-label{font-size:12px}
#abc-commerce .abc-pp-inline .abc-pp-note{display:none}
#abc-commerce .product-gallery.is-pp-stacked{display:none}
#abc-commerce .abc-pp-inline .abc-pills{position:absolute;right:10px;top:10px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:5px}#abc-commerce .abc-pp-inline .abc-pills .abc-br-pill{position:static}

/* Checkout errors (checkout-notices.js). WooCommerce prepends its list to the form, where it
   used to land in a grid row of its own below Place order. It is a slim bar attached to the
   bottom of the header instead, edge to edge, with its contents inside the header's margins
   (--abc-notice-inset); the script sets both from the header as it sticks. Fixed, so it takes
   no place in the grid. The red top edge is the one the menu panels carry. */
#abc-commerce .abc-checkout-layout>.woocommerce-NoticeGroup{position:fixed;z-index:60;top:0;left:0;right:0;margin:0;transition:opacity .18s ease,transform .18s ease}
#abc-commerce .abc-checkout-layout>.woocommerce-NoticeGroup.is-away{opacity:0;transform:translateY(-6px);pointer-events:none}
#abc-commerce .abc-notice-card{display:flex;align-items:center;gap:12px;min-height:48px;box-sizing:border-box;padding:7px var(--abc-notice-inset,20px);background:var(--white);border:0;border-top:2px solid var(--red);border-bottom:1px solid #e9e3df;border-radius:0;box-shadow:0 10px 24px rgba(23,23,21,.12);animation:abc-notice-in .26s cubic-bezier(.2,.9,.25,1)}
#abc-commerce .abc-notice-card:focus,#abc-commerce .abc-notice-card:focus-visible{outline:none}
@keyframes abc-notice-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#abc-commerce .abc-notice-card{animation:none}#abc-commerce .abc-checkout-layout>.woocommerce-NoticeGroup{transition:none}}
#abc-commerce .abc-notice-icon{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;font:800 12px/1 Chivo,Arial,sans-serif}
#abc-commerce .abc-notice-icon:before{content:"!"}
#abc-commerce .abc-notice-body{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
#abc-commerce .abc-notice-title{flex:none;margin:0;font:700 13.5px/1.3 Chivo,Arial,sans-serif;color:var(--ink);white-space:nowrap}
#abc-commerce .abc-notice-message{order:2;flex:0 1 auto;min-width:0;margin:0;font-size:13px;line-height:1.4;color:var(--ink)}
#abc-commerce .abc-notice-fields{order:3}
#abc-commerce .abc-notice-ready{order:4}
#abc-commerce .abc-notice-fields{flex:1 1 0;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
#abc-commerce .abc-notice-fields::-webkit-scrollbar{display:none}
#abc-commerce .abc-notice-chip{flex:none;display:inline-flex;align-items:center;min-height:28px;margin:0;padding:3px 10px;border:1px solid #e3c9ca;border-radius:999px;background:#fbf3f3;color:var(--red);font:600 12px/1.2 Chivo,Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background-color .15s ease,border-color .15s ease}
#abc-commerce .abc-notice-chip:hover,#abc-commerce .abc-notice-chip:focus{background:#f6e4e5;border-color:var(--red);color:var(--red)}
#abc-commerce .abc-notice-chip:focus-visible{outline:2px solid var(--red);outline-offset:1px}
#abc-commerce .abc-notice-chip[hidden]{display:none}
#abc-commerce .abc-notice-close{flex:none;display:grid;place-items:center;width:32px;height:32px;margin:0 -8px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;box-shadow:none}
#abc-commerce .abc-notice-close:hover,#abc-commerce .abc-notice-close:focus{background:var(--soft);color:var(--ink)}
#abc-commerce .abc-notice-close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
#abc-commerce .abc-notice-ready{flex:none;margin:0;padding:7px 14px;border:0;border-radius:3px;background:var(--green);color:#fff;font:700 11.5px/1.2 Chivo,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:none}
#abc-commerce .abc-notice-ready[hidden]{display:none}
#abc-commerce .abc-notice-card.is-ready{border-top-color:var(--green)}
#abc-commerce .abc-notice-card.is-ready .abc-notice-icon{background:var(--green)}
#abc-commerce .abc-notice-card.is-ready .abc-notice-icon:before{content:"✓"}
/* on a phone the title takes a line and the chips swipe along the next */
@media(max-width:700px){
  #abc-commerce .abc-notice-card{align-items:flex-start;gap:10px;padding:8px var(--abc-notice-inset,20px)}
  #abc-commerce .abc-notice-icon{margin-top:2px}
  #abc-commerce .abc-notice-title{flex:1 0 100%;white-space:normal;font-size:13px}
  #abc-commerce .abc-notice-fields{flex:1 0 100%}
  #abc-commerce .abc-notice-close{width:30px;height:30px;margin:-3px -7px 0 0}
}
