/* 2.65 — Site-wide audit fixes (loaded on every front-end page after v18). */
/* Footer links: 24px minimum touch target at every width (WCAG 2.2, 2.5.8). */
html body.ml-v4.v11 .v11-fcol a{display:inline-block;min-height:24px;line-height:24px}
/* Minimum 13px for visible interface text. */
html body.ml-v4.v11 .v4-act.v4-acct .v4-act-t small,html body.ml-v4 .v4-act.v4-acct .v4-act-t small{font-size:13px!important}
html body.ml-v4 .v3-logo .v3-logo-tag{font-size:13px!important}
html body.ml-v4 .v4-bbar a span{font-size:13px!important}
/* 404 page */
html body.ml-v4 .ml-404{max-width:1100px;margin:0 auto;padding:40px 0 56px}
html body.ml-v4 .ml-404-top{text-align:center;max-width:720px;margin:0 auto 36px}
html body.ml-v4 .ml-404-code{margin:0 0 6px;color:#C4001D;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
html body.ml-v4 .ml-404 h1{margin:0 0 12px;color:#08294D;font-size:clamp(28px,4vw,40px);line-height:1.15}
html body.ml-v4 .ml-404-top>p{margin:0 0 22px;color:#3E4A58;font-size:17px;line-height:1.55}
html body.ml-v4 .ml-404-search{display:flex;gap:8px;max-width:560px;margin:0 auto}
html body.ml-v4 .ml-404-search input[type=search]{flex:1;min-width:0;height:48px;padding:0 14px;border:1px solid #9FB6D3;border-radius:8px;font-size:16px;background:#fff;color:#20272F}
html body.ml-v4 .ml-404-search button{height:48px;padding:0 22px;border:0;border-radius:8px;background:#E60023;color:#fff;font-weight:700;font-size:16px;cursor:pointer}
html body.ml-v4 .ml-404-search button:hover{background:#C4001D}
html body.ml-v4 .ml-404-depts h2{margin:0 0 14px;color:#08294D;font-size:22px}
html body.ml-v4 .ml-404-depts ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
html body.ml-v4 .ml-404-depts a{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border:1px solid #D2DFEE;border-radius:10px;background:#fff;color:#08294D;font-weight:600;font-size:15.5px;text-decoration:none;box-shadow:0 1px 2px rgba(8,41,77,.05)}
html body.ml-v4 .ml-404-depts a:hover,html body.ml-v4 .ml-404-depts a:focus-visible{border-color:#145DA0;background:#F3F7FC}
html body.ml-v4 .ml-404-depts .ico{width:26px;height:26px;flex:none;color:#145DA0}
html body.ml-v4 .ml-404-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
html body.ml-v4 .ml-404-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border:1.5px solid #08294D;border-radius:8px;color:#08294D;font-weight:700;text-decoration:none}
html body.ml-v4 .ml-404-btn.ml-404-primary{background:#E60023;border-color:#E60023;color:#fff}
@media (max-width:999px){html body.ml-v4 .ml-404-depts ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){html body.ml-v4 .ml-404{padding:28px 16px 40px}html body.ml-v4 .ml-404-depts ul{grid-template-columns:repeat(2,minmax(0,1fr))}html body.ml-v4 .ml-404-depts a{font-size:14.5px;gap:8px;padding:10px}}
/* Sector pages: the laboratory and home-care two-column rows stayed two columns on phones and tablets
   (later desktop rules overrode the 1100px stack rule), squeezing the enquiry form to ~135px. */
@media (max-width:1100px){
html body.ml-v4 .v15-cols.v15-cols-labs,html body.ml-v4.v15-homecare .v15-hcrow,html body.ml-v4 .v15-hcrow{grid-template-columns:minmax(0,1fr)}
}
/* Touch targets: homepage product-card quantity buttons and shop filter checkboxes (WCAG 2.2, 2.5.8). */
html body.ml-v4 .v5-fbuy button[data-q],html body.ml-v4 .v5-qty button[data-q]{min-width:28px!important}
html body.ml-v4 label.chk.v2-chk{display:flex;align-items:center;min-height:26px}
html body.error404 .storefront-breadcrumb{display:none}
/* Variable products (size options): style the option select and keep quantity + Add to Cart on one row,
   matching simple products; drop the duplicate "Compare" link (the "Add to comparison" link remains). */
html body.single-product form.variations_form table.variations{margin:0 0 14px;border:0}
html body.single-product form.variations_form table.variations th,html body.single-product form.variations_form table.variations td{display:block;padding:0;background:none;border:0;text-align:left}
html body.single-product form.variations_form table.variations label{font-weight:700;color:#08294D;font-size:15px}
html body.single-product form.variations_form table.variations select{min-width:260px;max-width:100%;height:46px;margin-top:6px;padding:0 12px;border:1px solid #9FB6D3;border-radius:8px;background-color:#fff;color:#20272F;font-size:15.5px}
html body.single-product form.variations_form .reset_variations{margin-left:12px;font-size:14px}
html body.single-product form.variations_form .variations_button{display:flex!important;align-items:center;flex-wrap:wrap;gap:12px}
html body.single-product form.variations_form .variations_button .quantity{margin:0!important;flex:none!important;width:150px!important;max-width:150px!important;display:flex!important}
html body.single-product form.variations_form .variations_button .quantity input.qty{width:auto!important;min-width:0!important;flex:1 1 auto}
html body.single-product form.variations_form .variations_button .single_add_to_cart_button{flex:1 1 220px!important;width:auto!important;margin:0!important;min-height:46px;font-size:17px;font-weight:700}
html body.single-product .summary p.v3-cmp-link{display:none}
html body.single-product form.variations_form,html body.single-product form.variations_form .single_variation_wrap,html body.single-product form.variations_form .variations_button{width:100%!important;max-width:560px}
html body.single-product form.variations_form .variations_button .quantity .ml-qbtn{min-width:36px!important;width:36px!important;flex:none}
/* Category archives: sub-category links and full description */
html body.ml-v4 .v65-subcats{margin:-6px 0 14px}
html body.ml-v4 .v65-subcats .wrap{display:flex;align-items:baseline;gap:10px 14px;flex-wrap:wrap}
html body.ml-v4 .v65-subcats-h{font-weight:700;color:#08294D;font-size:15px}
html body.ml-v4 .v65-subcats ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
html body.ml-v4 .v65-subcats a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid #C9D6E5;border-radius:999px;background:#fff;color:#08294D;font-size:14.5px;font-weight:600;text-decoration:none}
html body.ml-v4 .v65-subcats a:hover,html body.ml-v4 .v65-subcats a:focus-visible{border-color:#145DA0;background:#EEF4FB}
html body.ml-v4 .v65-subcats a[aria-current="page"]{background:#08294D;border-color:#08294D;color:#fff}
html body.ml-v4 .v65-subcats .v65-n{margin-left:4px;font-weight:500;opacity:.8}
html body.ml-v4 .v65-catdesc{margin:28px 0 8px;padding:22px 26px;border:1px solid #D2DFEE;border-radius:12px;background:#fff;color:#20272F;font-size:16px;line-height:1.65}
html body.ml-v4 .v65-catdesc h2{margin:0 0 10px;color:#08294D;font-size:22px}
html body.ml-v4 .v65-catdesc p{margin:0 0 10px;max-width:90ch}
@media (max-width:760px){html body.ml-v4 .v65-subcats ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}html body.ml-v4 .v65-subcats a{white-space:nowrap}html body.ml-v4 .v65-catdesc{padding:18px 16px;font-size:15.5px}}
/* Breadcrumbs on phones: wrap as a line of text instead of squeezed columns. */
@media (max-width:760px){
html body.ml-v4 .v15-crumbs,html body.ml-v4 .v12-crumbs{flex-wrap:wrap!important;row-gap:4px!important;column-gap:6px!important;font-size:15px!important;line-height:1.35}
html body.ml-v4 .v15-crumbs>a,html body.ml-v4 .v15-crumbs>span,html body.ml-v4 .v12-crumbs>a,html body.ml-v4 .v12-crumbs>span{white-space:nowrap;flex:none;max-width:100%;overflow:hidden;text-overflow:ellipsis}
}
/* Country pages: local facts section */
html body.ml-v4 .v65-cinfo{margin-top:8px}
html body.ml-v4 .v65-ci-lead{margin:-4px 0 16px;color:#3E4A58;font-size:16px}
html body.ml-v4 .v65-ci-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html body.ml-v4 .v65-ci-card{padding:18px 20px;border:1px solid #D2DFEE;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(8,41,77,.05)}
html body.ml-v4 .v65-ci-card h3{margin:0 0 8px;color:#08294D;font-size:17px}
html body.ml-v4 .v65-ci-card p{margin:0 0 8px;color:#20272F;font-size:15px;line-height:1.55}
html body.ml-v4 .v65-ci-card .v65-ci-main{font-weight:600;color:#08294D}
html body.ml-v4 .v65-ci-card a{color:#145DA0;text-decoration:underline}
html body.ml-v4 .v65-ci-card ul{margin:0 0 8px;padding-left:18px;font-size:15px;line-height:1.55}
html body.ml-v4 .v65-ci-note{margin:14px 0 0;padding:12px 16px;border-radius:10px;background:#EEF4FB;font-size:15px}
html body.ml-v4 .v65-ci-guides,html body.ml-v4 .v65-ci-faq{margin-top:22px}
html body.ml-v4 .v65-ci-guides h3,html body.ml-v4 .v65-ci-faq h3{margin:0 0 10px;color:#08294D;font-size:19px}
html body.ml-v4 .v65-ci-guides ul{margin:0;padding-left:18px;font-size:15.5px;line-height:1.8}
html body.ml-v4 .v65-ci-guides a{color:#145DA0}
html body.ml-v4 .v65-ci-faq details{border:1px solid #D2DFEE;border-radius:10px;background:#fff;margin-bottom:8px}
html body.ml-v4 .v65-ci-faq summary{cursor:pointer;padding:14px 16px;font-weight:600;color:#08294D;font-size:15.5px;min-height:24px}
html body.ml-v4 .v65-ci-faq details p{margin:0;padding:0 16px 14px;font-size:15px;line-height:1.55}
html body.ml-v4 .v65-ci-src{margin:16px 0 0;font-size:14px;color:#3E4A58;line-height:1.7}
html body.ml-v4 .v65-ci-src a{color:#145DA0}
@media (max-width:1000px){html body.ml-v4 .v65-ci-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){html body.ml-v4 .v65-ci-grid{grid-template-columns:minmax(0,1fr)}}
/* Field error text (2.65.2) */
html body.ml-v4 .v65-err{display:block;margin-top:6px;color:#B0001B;font-size:14px;font-weight:600;line-height:1.35}
html body.ml-v4 .v7-agree .v65-err,html body.ml-v4 .v7-agreebox .v65-err{flex-basis:100%;text-align:center}
/* Pay-for-order page: show the payment box (hidden on the step checkout only) */
html body.ml-v4.woocommerce-order-pay #order_review #payment{position:static!important;left:auto!important;width:auto!important;height:auto!important;overflow:visible!important;margin-top:18px;padding:18px 20px;border:1px solid #D2DFEE;border-radius:12px;background:#fff}
html body.ml-v4.woocommerce-order-pay #payment .payment_methods{list-style:none;margin:0 0 12px;padding:0}
html body.ml-v4.woocommerce-order-pay #payment .payment_methods label{font-weight:700;color:#08294D;font-size:16px}
html body.ml-v4.woocommerce-order-pay #payment .payment_box{margin:8px 0 0;padding:12px 14px;border-radius:8px;background:#EEF4FB;color:#20272F;font-size:15px}
html body.ml-v4.woocommerce-order-pay #payment #place_order{display:inline-flex;align-items:center;min-height:48px;padding:0 28px;border:0;border-radius:8px;background:#E60023;color:#fff;font-weight:700;font-size:17px;cursor:pointer}
html body.ml-v4.woocommerce-order-pay #payment #place_order:hover{background:#C4001D}
html body.ml-v4 .v65-pay-head{margin:18px 0 16px}
html body.ml-v4 .v65-pay-head h1{margin:0 0 8px;color:#08294D;font-size:clamp(26px,3.4vw,36px)}
html body.ml-v4 .v65-pay-head p{margin:0;color:#3E4A58;font-size:16px;max-width:75ch}
/* Order confirmation after payment (2.65.2) */
html body.ml-v4 .v65-ty-facts{list-style:none;margin:16px 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:12px}
html body.ml-v4 .v65-ty-facts li{flex:1 1 200px;padding:14px 16px;border:1px solid #D2DFEE;border-radius:10px;background:#fff}
html body.ml-v4 .v65-ty-facts span{display:block;color:#3E4A58;font-size:14px}
html body.ml-v4 .v65-ty-facts b{color:#08294D;font-size:18px}
html body.ml-v4 .v65-ty .ml-eft-note{margin:0 0 18px;padding:18px 20px;border:1px solid #D2DFEE;border-radius:12px;background:#EEF4FB}
html body.ml-v4 .v65-ty .woocommerce-order-details{margin-top:8px;padding:18px 20px;border:1px solid #D2DFEE;border-radius:12px;background:#fff}
html body.ml-v4 .v65-ty-acts{margin:20px 0 8px}
html body.ml-v4 .v65-ty-facts b *{font-size:inherit!important;display:inline!important;white-space:nowrap}
/* 2.66.1 — One page grid: every page's content lines up with the header (logo on the left, cart on the right). */
/* 1000–1240px: the header and footer use a 16px gutter, so page content does too (was 28px). */
@media (min-width:1000px) and (max-width:1240px){:root{--ml-g:16px}}
/* Homepage sections were 24px wider than the header from 1241px (1440px container, 24px gutter). */
@media (min-width:1241px){
html body.home .v5-trust.wrap,html body.home .v5-sec.wrap,html body.home .v5-panels.wrap,html body.home main.site-main>.v62-sect.wrap,html body.home .wrap{max-width:1400px!important;padding-left:var(--ml-g)!important;padding-right:var(--ml-g)!important}
}
@media (min-width:1000px) and (max-width:1240px){html body.home main.site-main>.v62-sect.wrap{padding-left:16px!important;padding-right:16px!important}}
/* Country pages: 24px gutter inside a 1400px box; use the site gutter. */
html body.ml-v4 .v21{padding-left:var(--ml-g)!important;padding-right:var(--ml-g)!important}
/* News & Resources: a .wrap inside the padded page container doubled the gutter (content sat 28px in). */
html body.ml-v4 .site-content .col-full .wrap.v2-articles{padding-left:0!important;padding-right:0!important;max-width:none!important}
/* 404: use the full page width like other pages. */
html body.ml-v4 .ml-404{max-width:none;padding-left:0;padding-right:0}
/* Homepage trust strip: even space above and below the row (was 36px above, 4–6px below). */
html body.home main.site-main>.v5-trust.wrap,html body.home main.site-main>.v5-trust{padding-top:20px!important;padding-bottom:20px!important;margin-top:0!important;margin-bottom:0!important}
@media (max-width:760px){html body.home main.site-main>.v5-trust.wrap,html body.home main.site-main>.v5-trust{padding-top:14px!important;padding-bottom:14px!important}}
/* "Our 12 Priority Markets" heading sat 12px right of the country chips below it. */
html body.ml-v4 .v13-mk .v13-mk-h h2{margin-left:0!important}
/* Careers: the content card touched the page banner (0px gap). */
html body.ml-v4 .v2-phero + .wrap,html body.ml-v4 .v2-phero + .v2-careers{margin-top:24px!important}
/* Comparison (empty): phones and tablets show one empty "Add a product" slot (compared products always show). */
@media (max-width:1023px){html body.ml-v4 .v3-cmp-slots li:not(.v3-cmp-full) ~ li:not(.v3-cmp-full){display:none}}
/* Article tables */
html body.ml-v4 .v65-tablewrap{max-width:100%;overflow-x:auto;margin:0 0 1.5em;border:1px solid #D2DFEE;border-radius:10px;-webkit-overflow-scrolling:touch}
html body.ml-v4 .v65-tablewrap:focus-visible{outline:3px solid #145DA0;outline-offset:2px}
html body.ml-v4 .v65-tablewrap table{margin:0;min-width:760px;width:100%;border-collapse:collapse}
html body.ml-v4 .v65-tablewrap th,html body.ml-v4 .v65-tablewrap td{padding:10px 12px!important;vertical-align:top;border-bottom:1px solid #E3EAF3;font-size:15px;line-height:1.45;text-align:left}
html body.ml-v4 .v65-tablewrap th{background:#EEF4FB;color:#08294D;font-weight:700}
html body.ml-v4 .v65-tablewrap tr:last-child td{border-bottom:0}
/* 2.66.2 — one type scale for page titles and section headings (home hero excluded) */
html body.ml-v4:not(.home) #content h1,html body.ml-v4:not(.home) #content h1.v7-h1,html body.ml-v4:not(.home) #content h1.v16-h1,html body.ml-v4:not(.home) #content h1.v3-cart-h1{font-size:46px!important;line-height:1.12!important;letter-spacing:-.01em}
html body.ml-v4.single-product #content h1.product_title{font-size:38px!important;line-height:1.15!important}
html body.ml-v4.single-post #content h1.entry-title,html body.ml-v4.page #content h1.entry-title{font-size:42px!important;line-height:1.15!important}
html body.ml-v4:not(.home) #content h2.v15-h2,html body.ml-v4:not(.home) #content .v4-ship h2,html body.ml-v4:not(.home) #content .v4-band h2,html body.ml-v4:not(.home) #content .v13-bhow h2,html body.ml-v4:not(.home) #content .v13-bform h2,html body.ml-v4:not(.home) #content .v13-mk-h h2,html body.ml-v4:not(.home) #content .v12-faq h2,html body.ml-v4:not(.home) #content .v12-cbox h2,html body.ml-v4:not(.home) #content .v11-markets h2,html body.ml-v4:not(.home) #content .v15-listing h2,html body.ml-v4:not(.home) #content .v15-how h2,html body.ml-v4:not(.home) #content .v15-side h2,html body.ml-v4:not(.home) #content .v15-hform h2{font-size:32px!important;line-height:1.2!important}
@media (max-width:1023px){
html body.ml-v4:not(.home) #content h1,html body.ml-v4:not(.home) #content h1.v7-h1,html body.ml-v4:not(.home) #content h1.v16-h1,html body.ml-v4:not(.home) #content h1.v3-cart-h1{font-size:40px!important}
html body.ml-v4.single-product #content h1.product_title{font-size:34px!important}
html body.ml-v4.single-post #content h1.entry-title,html body.ml-v4.page #content h1.entry-title{font-size:36px!important}
html body.ml-v4:not(.home) #content h2.v15-h2,html body.ml-v4:not(.home) #content .v4-ship h2,html body.ml-v4:not(.home) #content .v4-band h2,html body.ml-v4:not(.home) #content .v13-bhow h2,html body.ml-v4:not(.home) #content .v13-bform h2,html body.ml-v4:not(.home) #content .v13-mk-h h2,html body.ml-v4:not(.home) #content .v12-faq h2,html body.ml-v4:not(.home) #content .v12-cbox h2,html body.ml-v4:not(.home) #content .v11-markets h2,html body.ml-v4:not(.home) #content .v15-listing h2,html body.ml-v4:not(.home) #content .v15-how h2,html body.ml-v4:not(.home) #content .v15-side h2,html body.ml-v4:not(.home) #content .v15-hform h2{font-size:28px!important}}
@media (max-width:760px){
html body.ml-v4:not(.home) #content h1,html body.ml-v4:not(.home) #content h1.v7-h1,html body.ml-v4:not(.home) #content h1.v16-h1,html body.ml-v4:not(.home) #content h1.v3-cart-h1{font-size:32px!important;line-height:1.15!important}
html body.ml-v4.single-product #content h1.product_title{font-size:28px!important}
html body.ml-v4.single-post #content h1.entry-title,html body.ml-v4.page #content h1.entry-title{font-size:30px!important}
html body.ml-v4:not(.home) #content h2.v15-h2,html body.ml-v4:not(.home) #content .v4-ship h2,html body.ml-v4:not(.home) #content .v4-band h2,html body.ml-v4:not(.home) #content .v13-bhow h2,html body.ml-v4:not(.home) #content .v13-bform h2,html body.ml-v4:not(.home) #content .v13-mk-h h2,html body.ml-v4:not(.home) #content .v12-faq h2,html body.ml-v4:not(.home) #content .v12-cbox h2,html body.ml-v4:not(.home) #content .v11-markets h2,html body.ml-v4:not(.home) #content .v15-listing h2,html body.ml-v4:not(.home) #content .v15-how h2,html body.ml-v4:not(.home) #content .v15-side h2,html body.ml-v4:not(.home) #content .v15-hform h2{font-size:24px!important}}
html body.ml-v4 .v17-shead h1{font-size:46px!important;line-height:1.12!important}
@media (max-width:1023px){html body.ml-v4 .v17-shead h1{font-size:40px!important}
html body.ml-v4:not(.home) #content .v21-sec h2,html body.ml-v4:not(.home) #content .v16-whole h2,html body.ml-v4:not(.home) #content .v3-cart-box h2,html body.ml-v4:not(.home) #content .v15-guide h2{font-size:28px!important;line-height:1.2!important}}
@media (max-width:760px){html body.ml-v4 .v17-shead h1{font-size:32px!important;line-height:1.15!important}
html body.ml-v4:not(.home) #content .v21-sec h2,html body.ml-v4:not(.home) #content .v16-whole h2,html body.ml-v4:not(.home) #content .v3-cart-box h2,html body.ml-v4:not(.home) #content .v15-guide h2,html body.ml-v4:not(.home) #content .v3-cart-sum h2,html body.ml-v4:not(.home) #content h2.v12-ph,html body.ml-v4:not(.home) #content .v16-card h2{font-size:24px!important;line-height:1.2!important}}
