/* Server-rendered forms use the approved prototype's visual tokens and layout. */
.catalog-table .list-head{color:#526771}
.pagination{flex-wrap:wrap}
.pagination-numbers{display:flex;justify-content:center;align-items:center;gap:6px;width:100%;flex-wrap:wrap}
.pagination-numbers a,.pagination-numbers span{min-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}
.pagination-numbers a:hover,.pagination-numbers a[aria-current="page"]{background:var(--pale);color:var(--teal)}
.brand-directory-card{border:1px solid var(--line);border-radius:8px;padding:18px;scroll-margin-top:24px;min-width:0}
.brand-directory-card h2{font-size:18px;margin:0 0 12px}
.server-brand-grid .brand-directory-card a{padding:10px 0;border:0;font-size:13px;min-height:44px;gap:12px;font-weight:600}
.brand-directory-card svg{flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.server-nav>a,.catalog-disclosure>summary{font-size:13px;font-weight:750;min-height:46px;display:flex;align-items:center;gap:12px;cursor:pointer}
summary{list-style:none}summary::-webkit-details-marker{display:none}
.catalog-disclosure>summary svg{color:var(--teal)}.catalog-disclosure[open]>summary{color:var(--teal);box-shadow:inset 0 -2px var(--teal)}.catalog-disclosure[open] .desktop-caret{transform:rotate(180deg)}
.mobile-menu-icon{display:none}.mega-mobile-links a{min-height:44px;display:flex;align-items:center}
.brand-strip img[alt="LEMA"]{filter:brightness(0);opacity:.36}
/* The server footer has two full-width rows, unlike the prototype's flat flex row. */
.site-footer{display:block;border:0;padding:0 0 24px}
.site-footer>.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px 30px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px}
.footer-inner .logo-link{flex-shrink:0}
.footer-inner>div{flex:1 1 220px;min-width:0}
.footer-inner p{font-size:12px}
.footer-phone{flex:0 0 auto;white-space:nowrap;font-size:16px;font-weight:750;min-height:44px;display:inline-flex;align-items:center}
.footer-phone:hover{color:var(--teal)}
/* Each image and caption is one direct, keyboard-accessible section link. */
.home-categories .category-pictures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;height:auto;margin:0}
.category-picture-link{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:6px 4px;border-radius:7px;text-align:center;color:var(--muted)}
.category-picture-link img{width:100%;height:112px;object-fit:contain}
.category-picture-link span{font-size:11px;font-weight:650;line-height:1.4;min-height:31px;display:flex;align-items:center;justify-content:center;max-width:100%}
.category-picture-link:hover{background:var(--pale);color:var(--teal)}
.category-picture-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px;background:var(--pale)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.category-picture-link:hover img{transform:translateY(-3px)}}

.server-toolbar{position:relative;display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.server-desktop-filters{flex:1}.server-desktop-filters .desktop-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto auto;gap:10px;align-items:stretch}.server-desktop-filters .desktop-filters>.select-field:first-child{display:flex}
.filter-reset{display:flex;align-items:center;padding:0 8px;color:var(--teal);font-size:12px}.server-mobile-filters{display:none}
.server-sort{display:flex;align-items:center;gap:6px;margin-left:auto}.server-sort label{display:flex;align-items:center;gap:7px;border:1px solid #d5dce1;border-radius:5px;min-height:44px;padding:0 10px}.server-sort select{border:0;background:white;font-size:12px;max-width:145px}.server-sort button{font-size:11px}.auto-filters .server-sort>button{display:none}
.product-actions>form:first-child{flex:1}.product-actions .add-cart{width:100%}.product-actions .compare-form{flex:0}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0;font-size:12px}.no-photo{color:var(--muted);font-size:12px;text-align:center}
.source-content{max-width:960px;margin:38px 0;font-size:14px;line-height:1.75}.source-content p,.source-content ul,.source-content ol{margin:0 0 16px}.source-content h2,.source-content h3{margin:24px 0 14px}.source-content table{max-width:100%;border-collapse:collapse}.source-content td,.source-content th{border:1px solid var(--line);padding:8px}.source-content a{color:var(--teal);text-decoration:underline}.content-page{padding-bottom:25px}.content-page>h1{margin:20px 0}
.server-brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}.server-brand-grid a{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:22px;font-weight:800}.server-brand-grid a:hover{background:var(--pale);color:var(--teal)}
.gallery-main{cursor:zoom-in}.gallery-thumbnails a{width:64px;height:68px;padding:5px;border:1px solid var(--line);border-radius:5px}.gallery-thumbnails a.active{border-color:var(--teal)}.gallery-thumbnails a img{width:100%;height:100%;object-fit:contain}
.quantity input,.cart-quantity-form input{width:66px;min-height:44px;border:1px solid var(--line);border-radius:5px;text-align:center;background:white;font-size:14px}.detail-tabs a{display:flex;align-items:center;min-height:48px;padding:10px 18px;font-size:13px;font-weight:750}.detail-tabs a:first-child{color:var(--teal);border-bottom:2px solid var(--teal)}.detail-content>h2{margin-bottom:20px}.cart-quantity-form{display:flex;align-items:center;gap:8px}.cart-item-controls>form:last-child{display:flex}.cart-item-controls .inline-link{font-size:11px}
.checkout-form textarea{width:100%;border:1px solid var(--line);border-radius:5px;resize:vertical;padding:10px;font:inherit}.errorlist{color:#a42b37;font-size:12px;padding-left:18px;margin:8px 0}.success-state>ul{padding:0;list-style:none;font-size:13px;margin:20px 0}.success-state>h1{font-size:28px}.comparison-scroll{max-width:100%;overflow:auto;margin:25px 0}.comparison-table{min-width:600px}.comparison-table img{object-fit:contain;margin:auto}.comparison-table th,.comparison-table td{min-width:160px}
.server-zoom{max-width:900px;width:calc(100% - 30px)}.server-zoom img{height:70dvh;width:100%;object-fit:contain}.server-zoom .icon-button{margin-left:auto;display:flex}
@media(min-width:761px) and (max-width:1150px){.server-toolbar{flex-wrap:wrap}.server-desktop-filters{flex-basis:100%}.server-sort{margin-bottom:4px}.mega-brands{gap:0 15px}}
@media(max-width:760px){
 .source-content li>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:4px 0}
 .server-nav{display:block;height:auto;width:100%;margin:0}.server-nav>a,.server-nav>span{display:none}.catalog-disclosure>summary{position:absolute;left:8px;top:6px;width:42px;min-height:44px;justify-content:center}.catalog-summary-text,.desktop-caret{display:none}.mobile-menu-icon{display:block}.catalog-disclosure[open]>summary{box-shadow:none;background:var(--pale);border-radius:5px}.catalog-disclosure[open]>.mega-menu{display:block}.header-main .menu-spacer{width:34px;min-height:44px}
 .site-footer>.footer-inner{gap:8px 16px}.footer-inner>div{order:3;flex-basis:100%}.footer-inner .logo-link{width:130px}.footer-phone{font-size:14px}
 .home-categories .category-group{grid-template-columns:minmax(0,1fr);gap:10px}.home-categories .category-copy h2,.home-categories .category-copy p{max-width:none}.home-categories .category-copy p{font-size:11px}.home-categories .category-copy .text-link{font-size:11px}.home-categories .category-pictures{gap:6px}.category-picture-link{padding:5px 0}.category-picture-link img{height:92px}.category-picture-link span{font-size:10px;overflow-wrap:anywhere;min-height:28px}
 .server-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.server-desktop-filters{display:none}.server-mobile-filters{display:block;min-width:0}.server-mobile-filters>summary{min-height:40px;border:1px solid #d5dce1;border-radius:5px;display:flex;align-items:center;gap:8px;padding:8px 11px;font-size:11px;font-weight:750;background:white}.server-mobile-filters>summary>svg:last-child{margin-left:auto}.server-mobile-filters .desktop-filters{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.server-mobile-filters[open]{grid-column:1/-1}.server-mobile-filters[open] .desktop-filters{margin:10px 0}.server-mobile-filters .desktop-filters>.select-field:first-child{display:flex}.server-sort{margin:0;min-width:0}.server-sort label{min-height:40px;width:100%;padding:0 8px}.server-sort label svg{width:15px;flex-shrink:0}.server-sort select{min-width:0;width:100%;max-width:none;font-size:10px;padding:0}.server-mobile-filters[open]+.server-sort{grid-column:1/-1;justify-self:end}
 .product-actions>form:first-child{width:100%;flex:1}.product-actions .compare-form{position:absolute;top:4px;right:4px;width:32px;height:32px}.product-actions .primary{min-height:44px}.pagination{gap:12px;font-size:11px}.pagination .secondary{padding:8px 10px;font-size:11px}.source-content{font-size:13px;overflow-wrap:anywhere}.server-brand-grid{grid-template-columns:1fr 1fr;gap:10px}.server-brand-grid a{padding:18px;font-size:13px}.detail-tabs{overflow-x:auto;white-space:nowrap}.detail-tabs a{padding:10px;font-size:11px}.cart-item-controls{gap:8px;flex-wrap:wrap}.cart-quantity-form input{width:52px}.cart-item-controls .inline-link{font-size:10px}.gallery-thumbnails a{width:52px;height:56px}.comparison-table th,.comparison-table td{min-width:140px}.success-state>h1{font-size:24px}
}

.quick-picker .picker-heading{font-size:30px;margin-bottom:18px}.home-editorial{padding-top:38px}.home-editorial h1{font-size:26px}.home-editorial .source-content{margin-top:20px}
@media(min-width:761px) and (max-width:1000px){.server-desktop-filters .desktop-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-reset{justify-content:center}}
@media(max-width:760px){.comparison-table{min-width:100%;width:max-content}.comparison-table th,.comparison-table td{min-width:118px;max-width:145px;padding:12px 7px;white-space:normal}.comparison-table tr>*:first-child{min-width:100px;max-width:100px;width:100px}.comparison-table img{width:90px;height:100px}.comparison-table .primary{font-size:11px;padding:9px;min-height:44px}.comparison-table .inline-link{font-size:10px;margin-top:12px}}
@media(max-width:760px){.quick-picker .picker-heading{font-size:22px;max-width:320px;line-height:1.25;letter-spacing:-.04em;margin-bottom:17px}}

.catalogue-directory{padding-bottom:42px}.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 26px}.directory-heading h1{font-size:32px;margin-bottom:9px}.directory-heading p{color:var(--muted);font-size:13px}.directory-heading>.text-link{white-space:nowrap;font-size:13px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.directory-section{border:1px solid var(--line);border-radius:7px;padding:20px;background:white;scroll-margin-top:20px}.directory-stackers{grid-column:1/-1}.directory-section-title{display:flex;align-items:center;gap:15px;margin-bottom:16px}.directory-section-title img{object-fit:contain}.directory-section-title h2{font-size:18px;line-height:1.3}.directory-section-title>svg{margin-left:auto;color:var(--teal);flex-shrink:0}.directory-stackers .directory-children{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.directory-child>a{font-size:12px;line-height:1.4;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;font-weight:700}.directory-child>a svg{color:var(--teal);flex-shrink:0;transform:rotate(-90deg)}.directory-child>a:hover,.directory-all:hover{color:var(--teal);text-decoration:underline}.directory-capacities{display:flex;gap:6px;flex-wrap:wrap;margin:3px 0 13px}.directory-capacities a,.section-chip{border:1px solid var(--line);border-radius:4px;background:#f7fafb;min-height:32px;display:inline-flex;align-items:center;padding:5px 10px;font-size:11px;line-height:1.3}.directory-capacities a:hover,.section-chip:hover{color:var(--teal);border-color:var(--teal)}.directory-all{display:flex;align-items:center;gap:8px;color:var(--teal);font-size:12px;font-weight:700;margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.section-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px}.section-chip.active{background:var(--teal);border-color:var(--teal);color:white}.source-catalogue .page-title{align-items:baseline;gap:12px}.source-catalogue .page-title h1{font-size:28px}.source-catalogue .server-desktop-filters .desktop-filters{grid-template-columns:1fr 1fr 1fr auto auto}.breadcrumbs a{flex-shrink:0}
.enhanced-select{position:absolute!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}.custom-select{width:100%;min-width:0}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;font-size:12px;font-weight:750;min-height:23px}.custom-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger>svg{flex-shrink:0;color:var(--muted)}.custom-select-trigger:focus-visible{outline:2px solid var(--teal);outline-offset:5px;border-radius:2px}.has-custom-select>svg{display:none}.select-field:has(.custom-select-trigger[aria-expanded="true"]){border-color:var(--teal);box-shadow:0 0 0 3px #2b6a7214}.custom-select-options{position:fixed;z-index:1200;background:white;border:1px solid #cbd9dd;border-radius:7px;padding:5px;box-shadow:0 12px 32px #19313b24;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4c6cb transparent}.custom-select-options[hidden]{display:none}.custom-select-option{padding:10px 12px;min-height:40px;display:flex;align-items:center;border-radius:4px;color:var(--ink);font-size:12px;line-height:1.35;cursor:pointer}.custom-select-option.highlighted,.custom-select-option:hover{background:var(--pale);color:var(--teal)}.custom-select-option[aria-selected="true"]{background:var(--teal);color:white;font-weight:750}.custom-select-option[aria-disabled="true"]{opacity:.4;pointer-events:none}.server-sort .custom-select-trigger{font-weight:500}.server-sort .custom-select{max-width:170px}
@media(min-width:761px) and (max-width:1000px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-stackers .directory-children{grid-template-columns:repeat(2,minmax(0,1fr))}.source-catalogue .server-desktop-filters .desktop-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.catalogue-directory{padding-bottom:20px}.directory-heading{display:block;margin:16px 0 20px}.directory-heading h1{font-size:26px}.directory-heading>.text-link{margin-top:13px;font-size:12px}.directory-grid{grid-template-columns:1fr;gap:12px}.directory-section{padding:16px}.directory-section-title h2{font-size:19px}.directory-section-title img{width:48px;height:52px}.directory-stackers .directory-children{grid-template-columns:1fr;gap:6px}.directory-child>a{font-size:13px;min-height:44px}.directory-capacities a{min-height:36px}.source-catalogue .breadcrumbs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;white-space:nowrap;padding-bottom:2px}.source-catalogue .page-title{display:block;margin-top:9px}.source-catalogue .page-title h1{font-size:20px;line-height:1.25;margin-bottom:4px}.source-catalogue .result-count{font-size:9px}.section-navigation{gap:6px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;margin-bottom:10px}.section-chip{flex-shrink:0;min-height:32px;font-size:10px;padding:5px 9px}.custom-select-trigger{font-size:11px}.server-sort .custom-select-trigger{font-size:10px;gap:5px}.custom-select-options{max-width:calc(100vw - 24px)}.custom-select-option{font-size:13px;min-height:44px}}

.directory-more>summary{display:flex;align-items:center;gap:8px;color:var(--teal);font-size:12px;min-height:44px;cursor:pointer}.directory-more[open]>summary svg{transform:rotate(180deg)}.directory-more .directory-children{margin-top:6px}
/* Long source headings and section links share the first screen with four products. */
@media(max-width:760px){.source-catalogue .page-title h1{font-size:18px}.source-catalogue .product-card{height:224px}.source-catalogue .product-photo{height:66px}}
@media(max-width:370px){.source-catalogue .product-card{height:200px}.source-catalogue .product-photo{height:50px}}
.quick-picker .custom-select-trigger{font-size:14px}
@media(max-width:760px){.quick-picker .custom-select-trigger{font-size:12px}}

.product-name>.stock-label{display:inline-flex;align-items:center;color:#3d7864;font-size:10px;margin:4px 0 0 8px;letter-spacing:0;text-transform:none}.availability{display:flex;align-items:center;gap:6px}.stock-stock{color:#3d7864}.stock-order,.product-name>.stock-order{color:#8b692c}.stock-unavailable,.product-name>.stock-unavailable{color:#8b5454}
@media(max-width:760px){.product-name>.stock-label{position:absolute;top:7px;left:7px;margin:0;font-size:9px;line-height:1.3;padding:2px 3px;border-radius:3px;background:#fffffff0}.product-photo{position:static}}

/* Keep the approved palette while meeting contrast for small interface text. */
:root{--muted:#596871}.logo small,.select-field>span,.picker-hint,.mobile-bottom a,.desktop-nav>span,.site-footer small,.site-footer p{color:#596871}.site-footer .logo{opacity:1}.mobile-bottom a.active{color:var(--teal)}
.service-intro{font-size:17px;line-height:1.7;color:var(--muted);max-width:720px;margin:12px 0 28px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 32px}.service-grid-three{grid-template-columns:repeat(3,1fr)}.service-card{padding:28px;border:1px solid var(--border,#dce3e6);border-radius:10px;background:#fbfcfc}.service-card h2{font-size:21px;margin:12px 0}.service-card p,.service-next p,.order-steps p{color:var(--muted);line-height:1.75}.contact-primary{display:block;color:var(--teal);font-weight:750;font-size:25px;margin:18px 0 12px}.contact-email{display:block;color:var(--teal);font-size:18px;overflow-wrap:anywhere}.contact-address{font-size:21px!important;color:var(--ink)!important;font-weight:650}.service-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid #e5e9ec}.service-next h2{font-size:23px;margin:0}.order-steps{padding:0;list-style:none;max-width:780px;margin:32px 0}.order-steps li{display:flex;gap:22px;margin:26px 0}.order-steps li>span{flex:0 0 42px;height:42px;border-radius:50%;background:#edf5f5;color:var(--teal);display:grid;place-items:center;font-weight:750}.order-steps h2{font-size:22px;margin:4px 0 10px}.order-steps p{margin:0}@media(max-width:700px){.service-grid,.service-grid-three{grid-template-columns:1fr;gap:12px}.service-card{padding:20px}.service-intro{font-size:15px}.service-next{align-items:flex-start;flex-direction:column}.contact-primary{font-size:23px}.order-steps h2{font-size:19px}.order-steps li{gap:14px}}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:20px;padding-bottom:24px}.footer-links a{font-size:13px;min-height:32px;display:flex;align-items:center;color:var(--muted)}.footer-links a:hover{color:var(--teal)}
.form-alert{color:#923f3f;font-weight:650;line-height:1.6}.checkout-form [aria-invalid=true]{border-color:#a34b4b;box-shadow:0 0 0 1px #a34b4b}

.page-title .result-count,.product-meta .compare-toggle,.key-specs strong span{color:#596871}
.delivery-note,.delivery-note a,.spec-table dt,.text-content p{color:#596871}.legal-copy{max-width:860px}.legal-copy h2{margin-top:30px}
.empty-state>p,.page-title>span{color:#596871}

.specification-note{font-size:13px;line-height:1.7;color:#596871;margin:12px 0 20px;max-width:680px}

.product-visual{width:100%;min-width:0}.product-visual>.specification-note{margin:10px 0 0;font-size:12px}

/* Small, event-driven motion: no timers, layout changes or continuous animation. */
.primary{position:relative;isolation:isolate;overflow:hidden}
@media(prefers-reduced-motion:no-preference){
  :is(.primary,.secondary,.icon-button){
    transition:transform 180ms cubic-bezier(.2,.8,.2,1),box-shadow 180ms ease,background-color 180ms ease,border-color 180ms ease;
  }
  :is(.picker-submit,.category-copy .text-link,.directory-all,.mega-all)>svg{
    transition:transform 220ms cubic-bezier(.2,.8,.2,1);
  }
  :is(.primary,.secondary,.icon-button):not(:disabled):not([aria-disabled="true"]):active{
    transform:translateY(0) scale(.98);
    box-shadow:0 1px 3px #163e4314;
    transition-duration:80ms;
  }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .primary::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(110deg,transparent 25%,#ffffff14 43%,#ffffff20 50%,transparent 70%);
    transform:translateX(-120%);
    opacity:0;
  }
  .primary:not(:disabled):not([aria-disabled="true"]):hover::before{
    opacity:1;
    transform:translateX(120%);
    transition:transform 650ms cubic-bezier(.2,.65,.3,1);
  }
  :is(.primary,.secondary):not(:disabled):not([aria-disabled="true"]):hover{
    transform:translateY(-2px);
    box-shadow:0 6px 16px #1b525b24,0 1px 3px #1b525b12;
  }
  :is(.primary,.secondary):not(:disabled):not([aria-disabled="true"]):active{
    transform:translateY(0) scale(.98);
    box-shadow:0 1px 3px #163e4314;
  }
  :is(.picker-submit,.category-copy .text-link,.directory-all,.mega-all):not(:disabled):not([aria-disabled="true"]):hover>svg{
    transform:translateX(4px);
  }
}
.primary:is(:disabled,[aria-disabled="true"]){background:var(--teal)}
.secondary:is(:disabled,[aria-disabled="true"]){background:white;border-color:#d5dde1}

/* Menu text stays still; only its colour and a fine underline fade on interaction. */
.nav-label{display:block;position:relative;line-height:1.6;white-space:nowrap;transition:color 200ms ease}
.nav-label::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;opacity:0;pointer-events:none;transition:opacity 200ms ease}
:is(.server-nav>a,.catalog-disclosure>summary):focus-visible .nav-label{color:var(--teal)}
:is(.server-nav>a,.catalog-disclosure>summary):focus-visible .nav-label::after{opacity:.65}
@media(hover:hover) and (pointer:fine){
  :is(.server-nav>a,.catalog-disclosure>summary):hover .nav-label{color:var(--teal)}
  :is(.server-nav>a,.catalog-disclosure>summary):hover .nav-label::after{opacity:.65}
}
.header-action>svg{flex-shrink:0;overflow:visible}
.header-action:is(:hover,:focus-visible){color:var(--teal)}
.compare-dot-one{--dot-x:-14px;--dot-y:-14px}
.compare-dot-two{--dot-x:14px;--dot-y:-14px}
.compare-dot-three{--dot-x:-14px;--dot-y:14px}
.compare-plus{transform-origin:176px 176px}
.cart-action>svg{transform-origin:55% 85%}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .category-subtypes a>svg{flex-shrink:0;transition:transform 180ms ease}
  .category-subtypes a:is(:hover,:focus-visible)>svg{
    transform:translateX(3px);
    animation:section-arrow-pass 480ms cubic-bezier(.2,.7,.3,1);
  }
  .header-action{transition:color 180ms ease}
  .compare-action:is(:hover,:focus-visible) .compare-dot{
    animation:compare-separate 520ms cubic-bezier(.2,.7,.3,1);
  }
  .compare-action:is(:hover,:focus-visible) .compare-dot-two{animation-delay:35ms}
  .compare-action:is(:hover,:focus-visible) .compare-dot-three{animation-delay:70ms}
  .compare-action:is(:hover,:focus-visible) .compare-plus{
    animation:compare-plus-turn 580ms cubic-bezier(.2,.7,.3,1);
  }
  .cart-action:is(:hover,:focus-visible)>svg{animation:cart-roll 560ms cubic-bezier(.2,.7,.3,1)}
  .cart-action:is(:hover,:focus-visible) .badge{animation:cart-badge-lift 450ms ease 80ms}
}
@keyframes section-arrow-pass{
  0%{transform:translateX(0);opacity:1}
  40%{transform:translateX(8px);opacity:0}
  41%{transform:translateX(-6px);opacity:0}
  100%{transform:translateX(3px);opacity:1}
}
@keyframes compare-separate{
  0%,100%{transform:translate(0,0)}
  45%{transform:translate(var(--dot-x),var(--dot-y))}
}
@keyframes compare-plus-turn{
  0%{transform:rotate(0)}
  55%{transform:rotate(100deg)}
  100%{transform:rotate(90deg)}
}
@keyframes cart-roll{
  0%,100%{transform:translateX(0) rotate(0)}
  35%{transform:translateX(3px) rotate(-9deg)}
  70%{transform:translateX(1px) rotate(3deg)}
}
@keyframes cart-badge-lift{
  0%,100%{transform:translateY(0)}
  45%{transform:translateY(-3px)}
}

/* The four logo tiles open and reassemble once; the wordmark stays stationary. */
.logo-motion-mark{overflow:visible}
.logo-tile-one{--tile-x:-12px;--tile-y:-12px;transform-origin:80px 80px}
.logo-tile-two{--tile-x:12px;--tile-y:-12px;transform-origin:176px 80px}
.logo-tile-three{--tile-x:-12px;--tile-y:12px;transform-origin:80px 176px}
.logo-tile-four{--tile-x:12px;--tile-y:12px;transform-origin:176px 176px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .logo-link:is(:hover,:focus-visible) .logo-tile{
    animation:logo-tile-turn 740ms cubic-bezier(.22,.65,.3,1);
  }
  .logo-link:is(:hover,:focus-visible) .logo-tile-two{animation-delay:35ms}
  .logo-link:is(:hover,:focus-visible) .logo-tile-four{animation-delay:70ms}
  .logo-link:is(:hover,:focus-visible) .logo-tile-three{animation-delay:105ms}
}
@keyframes logo-tile-turn{
  0%{transform:translate(0,0) rotate(0)}
  42%{transform:translate(var(--tile-x),var(--tile-y)) rotate(45deg)}
  100%{transform:translate(0,0) rotate(90deg)}
}

/* Delivery is one link; only the vehicle moves, with a short wheel turn. */
.delivery-link{display:inline-flex;align-items:center;gap:13px;max-width:100%}
.delivery-truck{flex-shrink:0;overflow:visible}
.truck-wheel-back{transform-origin:80px 192px}
.truck-wheel-front{transform-origin:192px 192px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .delivery-link:is(:hover,:focus-visible) .delivery-truck{animation:delivery-drive 900ms cubic-bezier(.25,.6,.3,1)}
  .delivery-link:is(:hover,:focus-visible) .truck-wheel{animation:delivery-wheel-turn 900ms ease-in-out}
  .delivery-link:is(:hover,:focus-visible) .truck-body{animation:delivery-body-ride 900ms ease-in-out}
}
@keyframes delivery-drive{
  0%{transform:translateX(0);opacity:1}
  30%{transform:translateX(5px);opacity:1}
  49%{transform:translateX(8px);opacity:0}
  50%{transform:translateX(-6px);opacity:0}
  100%{transform:translateX(0);opacity:1}
}
@keyframes delivery-wheel-turn{
  from{transform:rotate(0)}
  to{transform:rotate(360deg)}
}
@keyframes delivery-body-ride{
  0%,50%,100%{transform:translateY(0)}
  25%,75%{transform:translateY(-4px)}
}

/* Search suggestions keep the same compact, quiet visual language as the catalogue. */
.global-search{position:relative}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:90;border:1px solid #cbd9dd;border-radius:8px;background:white;box-shadow:0 12px 32px #19313b24;max-height:min(520px,calc(100dvh - 120px));overflow:auto;overscroll-behavior:contain}
.search-suggestions[hidden]{display:none}
.search-feedback{font-size:11px;color:var(--muted);line-height:1.5;margin:0;padding:12px 14px 8px}
.search-result{display:flex;align-items:center;gap:13px;padding:10px 14px;border-top:1px solid #edf1f2;min-height:70px}
.search-result img,.search-no-photo{flex:0 0 42px;width:42px;height:48px;object-fit:contain;text-align:center}
.search-result-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;flex:1;min-width:0}
.search-result strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.search-result small{grid-column:1;font-size:10px;line-height:1.5;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-result b{grid-column:2;grid-row:1/3;font-size:13px;white-space:nowrap;align-self:center}
.search-result[aria-selected="true"],.search-all[aria-selected="true"]{background:var(--pale);color:var(--teal)}
.search-all{display:flex;align-items:center;justify-content:center;min-height:44px;border-top:1px solid var(--line);padding:10px 14px;font-size:12px;font-weight:750;color:var(--teal)}
.auto-filters .filter-apply{display:none}
.auto-filters .server-desktop-filters .desktop-filters{grid-template-columns:1.2fr 1fr 1fr 1fr auto}
.auto-filters .source-catalogue .server-desktop-filters .desktop-filters{grid-template-columns:1fr 1fr 1fr auto}
.catalogue-updating .catalog-table{opacity:.55}
.catalogue-updating .result-count{color:var(--teal)}
@media(min-width:761px) and (max-width:1000px){.auto-filters .server-desktop-filters .desktop-filters,.auto-filters .source-catalogue .server-desktop-filters .desktop-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 .search-suggestions{max-height:min(430px,calc(100dvh - 155px))}
 .search-result{padding:9px 11px;gap:10px;min-height:75px}
 .search-result-copy{grid-template-columns:minmax(0,1fr);gap:2px}
 .search-result strong{font-size:12px}.search-result b{grid-column:1;grid-row:auto;font-size:12px}
 .search-result small{font-size:10px}
}

.discount-offer{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.discount-trigger{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;width:100%;color:var(--teal);border-color:#9ab9bf;background:#f7fbfb;font-size:13px;text-align:center}
.discount-trigger svg{flex-shrink:0}.discount-trigger[aria-busy="true"]{opacity:.6;cursor:wait}
.discount-offer>p{font-size:11px;color:var(--muted);margin:9px 0 0;text-align:center;line-height:1.5}
.discount-offer+.delivery-note{margin-top:20px;padding-top:0;border:0}
.discount-page{padding-top:32px;padding-bottom:40px}.discount-panel{max-width:500px;margin:0 auto}.discount-back{margin:20px auto;max-width:500px}
.discount-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.discount-heading h1{font-size:25px;line-height:1.2;margin:0}
.discount-close{display:none;flex-shrink:0;min-width:44px;min-height:44px;margin:-9px -9px 0 0}
.discount-dialog .discount-close{display:flex;align-items:center;justify-content:center}
.discount-product{font-size:14px;font-weight:750;margin:18px 0 8px;line-height:1.5}.discount-intro{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 18px}
.discount-form .form-label{display:grid;gap:6px;margin:14px 0;font-size:12px}.discount-form .form-label small{color:var(--muted);font-weight:400}
.discount-form textarea{min-height:66px}.discount-form .primary{width:100%;margin-top:12px;min-height:48px}.discount-form .discount-intro{text-align:center;margin:10px 0 0}
.discount-dialog{width:calc(100% - 24px);max-width:540px;max-height:calc(100dvh - 24px);padding:28px;border:1px solid var(--line);border-radius:12px;overflow:auto;box-shadow:0 20px 80px #112e3b33}
.discount-dialog::backdrop{background:#172a3566}
@media(max-width:760px){.discount-trigger{font-size:12px}.discount-dialog{padding:22px 18px}.discount-heading h1{font-size:22px}.discount-product{font-size:13px}.discount-offer{margin-top:20px;padding-top:17px}}
.discount-form{gap:12px}.discount-form .form-label{margin:0}.discount-form input:not([type=checkbox]):not([type=hidden]){font-size:16px}
.discount-form .consent{font-size:11px;line-height:1.5;margin:0}.discount-form .consent input{width:18px;height:18px;flex-shrink:0}
.discount-comment>summary{font-size:12px;color:var(--teal);cursor:pointer;min-height:32px;display:flex;align-items:center}
.discount-comment>summary::before{content:'+';margin-right:8px;font-size:18px}.discount-comment[open]>summary::before{content:'−'}
.discount-comment .form-label>span{display:none}

.requisites-upload{min-width:0}
.requisites-label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}
.requisites-label small{font-size:11px;font-weight:400;color:var(--muted);margin-left:5px}
.requisites-control{display:flex;align-items:center;gap:6px;min-width:0}
.checkout-form .requisites-picker{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:48px;flex:1;border:1px dashed #8dabb3;border-radius:6px;background:#fff;color:var(--teal);font-size:12px;font-weight:700;cursor:pointer;overflow:hidden;transition:background-color 180ms,border-color 180ms}
.requisites-picker svg{flex-shrink:0}
.checkout-form .requisites-picker input[type=file]{width:100%;min-width:0;font-size:11px}
.checkout-form .requisites-picker{flex-wrap:wrap;padding:10px}
.checkout-form .requisites-enhanced .requisites-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.requisites-picker:focus-within{outline:2px solid var(--teal);outline-offset:3px}
.requisites-picker:has([aria-invalid=true]){border-color:#a34b4b}
.requisites-remove{display:flex;align-items:center;justify-content:center;width:44px;min-height:48px;flex-shrink:0;color:var(--muted);border-radius:6px}
.requisites-remove[hidden]{display:none}
.requisites-status,.requisites-help{font-size:11px;line-height:1.5;margin:7px 0 0;overflow-wrap:anywhere;color:var(--muted)}
.requisites-status:empty{display:none}.requisites-status{color:var(--teal)}
.receipt-attachment{overflow-wrap:anywhere}
@media(hover:hover){.requisites-picker:hover{background:#f7fbfb;border-color:var(--teal)}.requisites-remove:hover{background:#e3edef;color:var(--teal)}}
