/* 2.72.0 — one type scale and one button system across the site (loaded last). */
:root{--ml-btn-h:48px;--ml-btn-fs:16px;--ml-btn-r:8px}

/* ---------- Buttons ---------- */
html body.ml-v4 #page #content :is(.v7-btn,.v13-btn,.v21-btn,.v12-btn,.v3-btn,.v4-btn,.v5-btn,.v70-wa-btn,.v70-mail,.v16-search>button,.v12-hsearch>button){
 font-size:var(--ml-btn-fs)!important;min-height:var(--ml-btn-h)!important;height:auto!important;padding:10px 22px!important;line-height:1.2!important;
 border-radius:var(--ml-btn-r)!important;font-weight:700!important;letter-spacing:.005em;gap:8px!important;
 transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,color .15s ease!important}
html body.ml-v4 #page #content :is(.v7-btn,.v13-btn,.v21-btn,.v12-btn,.v3-btn,.v4-btn,.v5-btn) svg{width:18px!important;height:18px!important;flex:none}
html body.ml-v4 #page #content :is(.v7-btn-red,.v13-btn-red,.v21-btn-red,.v4-btn-red,.v5-btn-red,.v3-btn-red,.v12-btn){background:var(--ml-red)!important;border-color:var(--ml-red)!important;color:#fff!important;box-shadow:0 2px 6px rgba(230,0,35,.18)!important}
html body.ml-v4 #page #content :is(.v7-btn-red,.v13-btn-red,.v21-btn-red,.v4-btn-red,.v5-btn-red,.v3-btn-red,.v12-btn):hover{background:var(--ml-red-d)!important;border-color:var(--ml-red-d)!important;box-shadow:0 6px 16px rgba(196,0,29,.28)!important;transform:translateY(-1px)}
html body.ml-v4 #page #content :is(.v7-btn-line,.v13-btn-line,.v21-btn-line,.v4-btn-line,.v5-btn-line,.v3-btn-line){background:#fff!important;border:1.5px solid var(--ml-navy)!important;color:var(--ml-navy)!important;box-shadow:none!important}
html body.ml-v4 #page #content :is(.v7-btn-line,.v13-btn-line,.v21-btn-line,.v4-btn-line,.v5-btn-line,.v3-btn-line):hover{background:var(--ml-panel)!important}
html body.ml-v4 #page #content :is(.v7-btn,.v13-btn,.v21-btn,.v12-btn,.v3-btn,.v4-btn,.v5-btn):focus-visible{outline:3px solid var(--ml-blue)!important;outline-offset:2px}
/* Large: checkout, basket and sign-in actions */
html body.ml-v4 #page #content :is(.v7-btn-xl,.checkout-button.v7-btn){font-size:17px!important;min-height:54px!important;padding:12px 24px!important}
/* Small: product cards and compact rows */
html body.ml-v4 #page #content :is(.v7-btn-sm,.v5-fatc,.v5-frfq){font-size:14px!important;min-height:38px!important;height:38px!important;padding:0 12px!important}
html body.ml-v4 #page #content .v5-panels .v5-btn{font-size:15px!important;min-height:44px!important}
html body.ml-v4 #page #content .v5-hero .v5-btn{font-size:17px!important;min-height:50px!important}
/* Quantity steppers */
html body.ml-v4 #page #content :is(.v7-qty,.v5-qty) button{font-size:18px!important}
/* Shop by buyer type tiles */
html body.ml-v4 #page #content .v17-tiles>a{font-size:16px!important}

/* ---------- Headings ---------- */
/* Page-section headings */
html body.ml-v4 #page #content :is(.v21-sec>h2,.v15-h2,.v68-sec>h2,.v13-bform>h2,.v13-bhow>h2,.v15-hform>h2,.v15-listing>h2,.v15-how>h2,.v15-guide>h2,.v4-h2,.v4-band>h2,.v4-cta h2,.v53-head h2,.v56-phead h2,.v5-sec>h2,.v5-mk-box>h2,.v7-related>h2,.v3-h2,.v16-whole h2,.v12-faq>h2,.v13-mk-h h2,.v70-feat>h2,.faq-head h2,.v16-areas>h2,.v16-proc>h2,.v16-sup>h2,.v8-lcard-h h2){font-size:32px!important;line-height:1.15!important;letter-spacing:-.01em}
/* Headings inside boxes, panels, forms and side cards */
html body.ml-v4 #page #content :is(.v13-card h2,.v15-side>h2,.v12-cbox>h2,.v12-ph,.v7-box>h2,.v7-navyh,.v7-box-ih,.v15-side>h2,.v12-cbox>h2,.v3-card h2,.card>h2,h2.h3,.v15-helpcard h2,.v7-alert h2,.v7-rq-notes h2,.v3-cart-sum h2,.v3-cart-box h2,.v3-cart-inst h2,.v8-signin h2,.v21-help-h h2,.v21-proc-tx h2,.v16-card h2,.v2-fhead h2,.v70-help h2,.v65-catdesc>h2,.ih-panel>h2,.v3-rqband h2,.guide h2,.v51-card h2){font-size:22px!important;line-height:1.2!important}
html body.ml-v4 #page #content .v7-box>h2 small{font-size:14px!important}
html body.ml-v4 #page #content .v5-panel-tx h2{font-size:24px!important}
@media (max-width:760px){
html body.ml-v4 #page #content :is(.v21-sec>h2,.v15-h2,.v68-sec>h2,.v13-bform>h2,.v13-bhow>h2,.v15-hform>h2,.v15-listing>h2,.v15-how>h2,.v15-guide>h2,.v4-h2,.v4-band>h2,.v4-cta h2,.v53-head h2,.v56-phead h2,.v5-sec>h2,.v5-mk-box>h2,.v7-related>h2,.v3-h2,.v16-whole h2,.v12-faq>h2,.v13-mk-h h2,.v70-feat>h2,.faq-head h2,.v16-areas>h2,.v16-proc>h2,.v16-sup>h2,.v8-lcard-h h2){font-size:24px!important}
html body.ml-v4 #page #content :is(.v13-card h2,.v12-ph,.v7-box>h2,.v7-navyh,.v7-box-ih,.v15-side>h2,.v12-cbox>h2,.v3-card h2,.card>h2,h2.h3,.v15-helpcard h2,.v7-alert h2,.v7-rq-notes h2,.v3-cart-sum h2,.v3-cart-box h2,.v3-cart-inst h2,.v8-signin h2,.v21-help-h h2,.v21-proc-tx h2,.v16-card h2,.v2-fhead h2,.v70-help h2,.v65-catdesc>h2,.ih-panel>h2,.v3-rqband h2,.guide h2,.v51-card h2){font-size:20px!important}
html body.ml-v4 #page #content .v5-panel-tx h2{font-size:22px!important}
html body.ml-v4 #page #content :is(.v7-btn,.v13-btn,.v21-btn,.v12-btn,.v3-btn,.v4-btn,.v5-btn){padding:10px 16px!important}
html body.ml-v4 #page #content :is(.v7-btn-xl,.checkout-button.v7-btn){font-size:16px!important;min-height:52px!important}
}
/* ---------- Hero (homepage) ---------- */
html body.ml-v4.home .v5-hero{position:relative}
html body.ml-v4.home .v5-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,41,77,.18) 0%,rgba(8,41,77,0) 45%)}
html body.ml-v4.home .v5-hero-copy{position:relative;z-index:1;background:rgba(255,255,255,.94)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7)!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(8,41,77,.18)!important}
html body.ml-v4.home .v5-hero .v5-eyebrow{font-size:13px!important;letter-spacing:.14em!important;font-weight:800!important;color:var(--ml-red-d)!important}
html body.ml-v4.home #v5-hero-h{letter-spacing:-.02em!important;line-height:1.02!important}
/* Trust bar under the hero */
html body.ml-v4.home .v5-trust{border-bottom:1px solid var(--ml-line)}
html body.ml-v4.home .v5-trust li{font-size:16px!important}
html body.ml-v4.home .v5-trust svg{color:var(--ml-red)!important}

/* ---------- Footer ---------- */
html body.ml-v4 footer.v11-foot{background:linear-gradient(180deg,#08294D 0%,#061F3B 100%)!important;border-top:3px solid var(--ml-red)!important}
html body.ml-v4 footer.v11-foot .v11-fgrid{padding-top:52px!important;padding-bottom:40px!important}
html body.ml-v4 footer.v11-foot .v11-fcol{border-left:0!important;padding-left:0!important}
html body.ml-v4 footer.v11-foot .v11-fcol h2{font-size:15px!important;letter-spacing:.08em!important;text-transform:uppercase;color:#fff!important;margin:0 0 16px!important;padding-bottom:10px;position:relative}
html body.ml-v4 footer.v11-foot .v11-fcol h2::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--ml-red)}
html body.ml-v4 footer.v11-foot .v11-fcol li{margin:0 0 9px!important}
html body.ml-v4 footer.v11-foot .v11-fcol a,html body.ml-v4 footer.v11-foot .v11-fcol li{color:rgba(255,255,255,.80)!important;font-size:15px!important;text-decoration:none!important;transition:color .15s}
html body.ml-v4 footer.v11-foot .v11-fcol a:hover{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
html body.ml-v4 footer.v11-foot .v11-fcol svg{color:rgba(255,255,255,.65)!important}
html body.ml-v4 footer.v11-foot .v11-fbrand .v11-fsince{color:rgba(255,255,255,.72)!important;font-size:14.5px!important;line-height:1.55}
html body.ml-v4 footer.v11-foot .v11-fbot{border-top:1px solid rgba(255,255,255,.12)!important;background:rgba(0,0,0,.12)}
html body.ml-v4 footer.v11-foot .v11-fbot,html body.ml-v4 footer.v11-foot .v11-fbot *{font-size:14px!important;color:rgba(255,255,255,.75)!important}
html body.ml-v4 footer.v11-foot .v11-fbot a:hover{color:#fff!important}

/* ---------- Cart, quotation basket and checkout: calmer, even text sizes ---------- */
html body.ml-v4 #page #content :is(.v7-steps,.v7-nsteps) b{font-size:17px!important}
html body.ml-v4 #page #content .v7-lead{font-size:18px!important}
html body.ml-v4 #page #content .v7-cart h2:not(.v7-navyh):not(.v7-box-ih):not(.v7-sum>h2),html body.ml-v4 #page #content .v7-alert h2{font-size:19px!important;line-height:1.3!important}
html body.ml-v4 #page #content .v7-sum>h2{font-size:22px!important}
html body.ml-v4 #page #content :is(.v7-sum,.v7-sumdl) :is(dt,dd){font-size:16px!important}
html body.ml-v4 #page #content .v7-sum-total :is(dt,dd),html body.ml-v4 #page #content .v7-sum-total .woocommerce-Price-amount{font-size:18px!important}
html body.ml-v4 #page #content :is(.v7-ct-name b,.v7-ct-name a,.v7-ct-row b>a,.v7-rq-name,.v7-os-name b,.v7-rv-name){font-size:17px!important}
html body.ml-v4 #page #content .v7-ct-row .woocommerce-Price-amount{font-size:19px!important}
html body.ml-v4 #page #content :is(.v7-cont,.v7-backlink a){font-size:16px!important}
html body.ml-v4 #page #content .v7-bar :is(b,a){font-size:17px!important}
html body.ml-v4 #page #content :is(.v7-ct-head,.v7-rq-head) span{font-size:14px!important;letter-spacing:.05em;text-transform:uppercase}
html body.ml-v4 #page #content .v7-rq-empty b{font-size:18px!important}
html body.ml-v4 #page #content .v7-cart p,html body.ml-v4 #page #content .v7-cart li{font-size:16px}
@media (max-width:760px){html body.ml-v4 #page #content :is(.v7-steps,.v7-nsteps) b{font-size:14px!important}html body.ml-v4 #page #content .v7-lead{font-size:16px!important}}

/* 2.72.3 — homepage hero on phones: taller photo, white card overlapping it with proper inner spacing */
@media (max-width:760px){
html body.ml-v4.home .v5-hero-pic{height:200px!important;min-height:0!important}
html body.ml-v4.home .v5-hero-pic img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 45%!important}
html body.ml-v4.home .v5-hero-copy{position:relative;z-index:2;margin:-44px 0 0!important;padding:22px 18px 18px!important;border-radius:16px!important;background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 10px 30px rgba(8,41,77,.14)!important;border:1px solid var(--ml-line)!important;width:auto!important;max-width:none!important}
html body.ml-v4.home .v5-hero::after{display:none}
html body.ml-v4.home #v5-hero-h{font-size:30px!important;margin:0 0 10px!important}
html body.ml-v4.home .v5-hero-copy>p:not(.v5-eyebrow){font-size:16px!important;line-height:1.5!important;margin:0 0 16px!important}
html body.ml-v4.home .v5-hero .v5-btn{min-height:50px!important;font-size:16px!important}
html body.ml-v4.home .v5-hero-copy>p.v53-pop.v53-pop{margin:14px 0 0!important;font-size:15px!important}
}

/* 2.72.4: logo polish — one red heartbeat everywhere, clear gap after "live", crisp rendering. */
html body.ml-v4 .v3-logo{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}
html body.ml-v4 .v3-logo .v3-logo-row{display:inline-flex;align-items:center}
html body.ml-v4 .v3-logo .v3-logo-beat,html body.ml-v4 .v3-logo-light .v3-logo-beat{color:#E60023!important;margin-left:5px!important;margin-top:3px!important}
@media (max-width:640px){html body.ml-v4 .v3-logo .v3-logo-beat{margin-left:3px!important;margin-top:2px!important}}

/* 2.72.5: new hero photo. Desktop/tablet image has the full room on its right side (left half is a soft fill behind the copy card), so anchor right; phones get their own full-room crop. */
@media (min-width:761px){html body.ml-v4.home .v5-hero .v5-hero-pic img{object-position:100% 50%!important;filter:none!important}}
@media (max-width:760px){html body.ml-v4.home .v5-hero .v5-hero-pic img{object-position:50% 40%!important;filter:none!important}}

/* 2.72.7: hero copy card sits further left on desktop (wider hero container), leaving more room for the photo. */
@media (min-width:1000px){html body.ml-v4.home .v5-hero .v5-hero-in.wrap{max-width:1760px!important;padding-left:clamp(16px,1.8vw,32px)!important;padding-right:clamp(16px,1.8vw,32px)!important}}
/* Department tiles: product compositions on a light studio backdrop. */
html body.ml-v4.home .v5-dpic{background:#EEF3F9}
html body.ml-v4.home .v5-dpic img{object-fit:contain;object-position:50% 50%}

/* 2.72.9: shop/department grid — square, full-width picture box with sharp images, consistent framing and a subtle hover. */
html body.ml-v4 ul.products:not(.v67-list) li.product.v5-card a.v5-cimg.v5-cimg{aspect-ratio:1/1!important;width:100%!important;height:auto!important;max-height:none!important;padding:12px!important;margin:0 0 12px!important;background:#fff!important;border-radius:10px;border:1px solid #EEF2F7;box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;overflow:hidden}
html body.ml-v4 ul.products:not(.v67-list) li.product.v5-card a.v5-cimg.v5-cimg img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transition:transform .35s ease}
@media (hover:hover){html body.ml-v4 ul.products:not(.v67-list) li.product.v5-card:hover a.v5-cimg.v5-cimg img{transform:scale(1.04)}}
@media (max-width:760px){html body.ml-v4 ul.products:not(.v67-list) li.product.v5-card a.v5-cimg.v5-cimg{padding:8px!important;margin-bottom:8px!important}}

/* 2.72.12: product page picture — never wider than its frame on phones (small originals carried an inline max-width), larger square frame on phones, cleaner frame. */
@media (max-width:760px){
html body.ml-v4 .v7-gallery .v7-gmain{height:auto!important;aspect-ratio:1/1!important;padding:14px!important;box-sizing:border-box;overflow:hidden}
html body.ml-v4 .v7-gallery .v7-gmain img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
}
html body.ml-v4 .v7-gallery .v7-gmain{border-radius:12px}

/* 2.72.13: hero <picture> wrapper is layout-transparent. */
html body.ml-v4 .v5-hero-pic picture{display:contents}
