/* soehne-faces: generated by scripts/subset-soehne.py. Rerun that script. Do not edit this block by hand. */
@font-face{font-family:"Soehne";src:url("../fonts/soehne/soehne-buch-core.woff2") format("woff2");font-weight:100 450;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00EF,U+2013-2014,U+2018-2019,U+201C-201D,U+2026}
@font-face{font-family:"Soehne";src:url("../fonts/soehne/soehne-buch-ext.woff2") format("woff2");font-weight:100 450;font-style:normal;font-display:swap;unicode-range:U+00A0-00A3,U+00A5,U+00A7-00AB,U+00AE-00B4,U+00B6-00EE,U+00F0-0121,U+0123-0135,U+0138-013A,U+013D-0144,U+0147-0148,U+014A-0155,U+0157-017E,U+2022,U+2039-203A,U+20AC,U+2192,U+2212,U+2260,U+2264-2265}
@font-face{font-family:"Soehne";src:url("../fonts/soehne/soehne-extrafett-core.woff2") format("woff2");font-weight:500 900;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00EF,U+2013-2014,U+2018-2019,U+201C-201D,U+2026}
@font-face{font-family:"Soehne Extrafett";src:url("../fonts/soehne/soehne-extrafett-core.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00EF,U+2013-2014,U+2018-2019,U+201C-201D,U+2026}
@font-face{font-family:"Soehne";src:url("../fonts/soehne/soehne-extrafett-ext.woff2") format("woff2");font-weight:500 900;font-style:normal;font-display:swap;unicode-range:U+00A0-00A3,U+00A5,U+00A7-00AB,U+00AE-00B4,U+00B6-00EE,U+00F0-0121,U+0123-0135,U+0138-013A,U+013D-0144,U+0147-0148,U+014A-0155,U+0157-017E,U+2022,U+2039-203A,U+20AC,U+2192,U+2212,U+2260,U+2264-2265}
@font-face{font-family:"Soehne Extrafett";src:url("../fonts/soehne/soehne-extrafett-ext.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+00A0-00A3,U+00A5,U+00A7-00AB,U+00AE-00B4,U+00B6-00EE,U+00F0-0121,U+0123-0135,U+0138-013A,U+013D-0144,U+0147-0148,U+014A-0155,U+0157-017E,U+2022,U+2039-203A,U+20AC,U+2192,U+2212,U+2260,U+2264-2265}
/* /soehne-faces */
:root{--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-font-family:Soehne,sans-serif;--bs-body-font-size:17px;--bs-body-font-weight:400;--bs-body-line-height:1.6;--bs-body-color:#344054;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-emphasis-color-rgb:33,37,41;--bs-link-color:#000;--bs-secondary-color:rgba(33,37,41,.75)}

*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.list-unstyled{padding-left:0;list-style:none}.img-fluid{max-width:100%;height:auto}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}@media (min-width:768px){.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-6{flex:0 0 auto;width:50%}.col-md-12{flex:0 0 auto;width:100%}}@media (min-width:992px){.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-12{flex:0 0 auto;width:100%}}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.dropdown-menu.show{display:block}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.btn .badge{position:relative;top:-1px}.toast:not(.show){display:none}.modal.show .modal-dialog{transform:none}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.tooltip.show{opacity:var(--bs-tooltip-opacity)}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop.show{opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.overflow-hidden{overflow:hidden!important}.d-flex{display:flex!important}.d-none{display:none!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.top-0{top:0!important}.start-0{left:0!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-column{flex-direction:column!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.me-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.ms-3{margin-left:1rem!important}.p-4{padding:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.fw-bold{font-weight:700!important}.text-center{text-align:center!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.rounded{border-radius:var(--bs-border-radius)!important}.z-n1{z-index:-1!important}.z-1{z-index:1!important}@media (min-width:992px){.d-lg-flex{display:flex!important}.d-lg-none{display:none!important}}

body.lumi-home-light h2 {
	text-align: left;
	font-family: "Soehne", sans-serif;
}

body.lumi-home-light h2.info-cards-heading,
body.lumi-home-light h2.main-title,
body.lumi-home-light h2.testimonial-title,
body.lumi-home-light h2.about-us-title,
body.lumi-home-light h2.Calculator-heading,
body.lumi-home-light h2.main-tab-title,
body.lumi-home-light h2.guides-section__title {
	font-size: 32px !important;
	font-weight: 800 !important;
	line-height: 36px !important;
	text-align: center;
}


/* css/new-homepage.css */

body {
	margin: 0 !important;
	font-family: "Soehne", Sans-serif !important;
	line-height: 1.6;
	background-color: #fff;
	color: #344054;
}

a {
	color: #000;
	text-decoration: none !important;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

[hidden] {
	display: none !important;
}

@media (min-width: 1400px) {
	section .container {
		max-width: 1240px !important;
	}
}


.custom-header {
	padding: 1px 32px 1px 42px;
	background: #fff;
	border-bottom: 1px solid #eee;
}

.custom-header .header-container.container {
	padding: 0 !important;
	max-width: 100% !important;
}

.header-container {
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.header-right {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
}

.site-logo img {
	width: 100%;
	max-width: 122px;
}

.site-logo svg {
	width: 100%;
	max-width: 122px;
}

.site-logo {
	display: inline-block;
	max-width: 122px !important;
	width: 100%;
}

#menu-primary-menu {
	justify-content: center;
	align-items: center;
	gap: 40px !important;
}

#menu-primary-menu li a {
	font-size: 16px;
	font-weight: 800 !important;
	font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
	font-synthesis: none !important;
	line-height: 20px;
	text-decoration: none !important;
	color: #101828 !important;
}

.desktop-menu {
	display: none;
}

.mobile-menu {
	display: flex;
	flex-direction: column;
}

@media (min-width: 992px) {

	.desktop-menu {
		display: flex;
	}

	.mobile-menu {
		display: none;
	}
}

@media (min-width: 680px) and (max-width: 1024px) {
	.main-nav.navbar .my-account-menu a::after {
		display: none !important;
	}
}


.site.grid-container {
	padding: 0;
}

.container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 20px;
}


.hero-section {
	z-index: 1;
	overflow: hidden;
	position: relative;
	height: 622px;

}

.hero-section h3, .hero-section .hero-title {
	color: #fff !important;
	font-family: "Soehne", Sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	line-height: 58px !important;
	letter-spacing: 1.16px !important;
	word-spacing: 3px !important;
	text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3) !important;
	margin-bottom: 0;
}

.hero-section h2, .hero-section .hero-subtitle {
	/* LV-101: was 84px uppercase (built for the old "£1.59/can" price focal).
	   Now a supporting proof line under "Cut the Markup" — smaller, sentence
	   case, lighter, with a stronger shadow for legibility over the photo. */
	color: #fff !important;
	font-family: "Soehne", Sans-serif !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	line-height: 1.25 !important;
	letter-spacing: 0.2px !important;
	word-spacing: normal !important;
	text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.45) !important;
	margin-bottom: 16px;
}

.hero-section .container {
	position: relative;
	z-index: 2;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	height: 100%;
}

.hero-content {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	height: calc(100% - 93px);
}

.hero-content-top {
	display: flex;
	flex-direction: column;
	/* Center subtitle under title; whole block still sits right via .hero-content */
	align-items: center;
	text-align: center;
}


.hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.hero-content {
	position: relative;
	z-index: 1;
}

.hero-section::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 72%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
	z-index: 1;
}

.hero-section {
	min-height: 620px;
	overflow: hidden;
}

.hero-picture img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

@media (min-width: 1025px) and (max-width: 1281px) {

	.hero-content {
		height: calc(100% - 177px);
	}

	.hero-section::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 72%;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
		z-index: 1;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {

	.hero-content {
		height: calc(100% - 110px);
	}
}

.hero-section .btn-success {
	background-color: #17DE81;
	font-family: "Soehne", Sans-serif;
	font-size: 24px;
	font-weight: 800;
	text-transform: capitalize;
	text-decoration: none;
	line-height: 28px;
	letter-spacing: 1.1px;
	color: #fff;
	border-style: solid;
	border-width: 1px;
	border-color: #086b40;
	background-clip: padding-box;
	-webkit-text-stroke: 2px #05482c;
	paint-order: stroke fill;
	border-radius: 8px 8px 8px 8px;
	box-shadow: 0px 2px 10px 0px rgba(255, 255, 255, 0.2);
	padding: 14px 32px 14px 32px !important;
}


.reviews {
	padding: 80px 0;
	background-color: #fff;
	text-align: center;
}

.reviews h2 {
	font-size: 36px;
	margin-bottom: 40px;
}

.hero-content-bottom {
	display: flex;
	flex-direction: row-reverse;
	gap: 30px;
	align-items: center;
	width: 100%;
}

.review-slider {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}

.review-box {
	display: flex;
	flex: 1 1 320px;
	max-width: 320px;
	gap: 10px;
	justify-content: flex-start;
	flex-direction: row-reverse;

}

.review-box .image-block {
	max-width: 90px;
}

.review-box .text-block p {
	margin: 0 !important;
	font-weight: 400;
	color: #fff;
	font-size: 17px;
	line-height: 18px;
	text-align: right;
}


.icon-list-section {
	display: flex;
	padding: 50px 0 15px;
	justify-content: space-between;
	align-items: center;
}


.icon-list-section .icon-list-item .icon-list-title {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 18px;
}

.icon-list-section .icon-list-item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.icon-list-section .checkmark {
	display: inline-flex;
	align-items: center;
	width: 24px;
	height: 28px;
	line-height: 0;
	flex: 0 0 24px;
}
.icon-list-section .checkmark svg {
	display: block;
	width: 20px;
	height: 20px;
}

.product-variation-slider .woocommerce-Price-amount {
	color: #101828 !important;
}

.pswp:not(.pswp--open) {
	display: none !important;
}

.site-footer {
	background-color: #111111;
	color: #fff;
	font-size: 14px;
	width: 100%;
}

.footer-top {
	padding: 3em 28px 2em;
	width: 100%;
}

.footer-top h2, .footer-top h4, .footer-top p.wp-block-heading {
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 18px !important;
}

.footer-top p {
	font-size: 14px;
	line-height: 28px;
	font-weight: 500 !important;
}

.footer-widget.col-md-6 svg {
	margin-bottom: 25px;
}

.footer-container {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.footer-widget.col-md-6 {
	flex: 0 0 56%;
	max-width: 56%;
}

.footer-widget.col-md-4 {
	flex: 0 0 21.127%;
	max-width: 21.127%;
}

.footer-widget.col-md-3 {
	flex: 0 0 14.562%;
	max-width: 14.562%;
}

.footer-container .footer-widgets {
	position: relative !important;
}

.footer-widget.col-md-2 {
	flex: 0 0 8%;
	max-width: 8%;
	text-align: right;
	position: relative;
	z-index: 500;
}

.footer-widget.col-md-2 a {
	margin-left: 15px;
}

.footer-widget.col-md-2 h2 {
	text-align: right;
}

.footer-star-icon {
	position: absolute;
	right: -25px;
	bottom: -32px;
	display: inline-block;
	width: auto !important;
}

.footer-widget a {
	z-index: 9999 !important;
}

.footer-top .footer-widget.col-md-6 img {
	max-width: 114px;
	margin-bottom: 30px;
}

.footer-widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-widget ul li {
	margin: 8px 0;
}

.footer-widget ul li a {
	color: #DBDBDB;
	fill: #DBDBDB;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
}

.footer-widget ul li a {
	color: #fff;
	text-decoration: none;
}

.footer-widget ul li a:hover {
	text-decoration: underline;
}

.footer-widgets {
	background-color: transparent !important;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

/* FOOTER-1: five columns when the Legal widget area is populated.
   Logo 40 / Lumi Club 17 / Customer support 17 / Legal 17 / Socials 8. */
.footer-widgets--has-legal .footer-widget.col-md-6 {
	flex: 0 0 40%;
	max-width: 40%;
}

.footer-widgets--has-legal .footer-widget.col-md-4,
.footer-widgets--has-legal .footer-widget.col-md-3 {
	flex: 0 0 17%;
	max-width: 17%;
}

.footer-bottom {
	padding: 10px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #111111;

}

.footer-bottom .footer-container {
	border-top: 1px solid #EFE0CABF;
	padding: 15px 0 5px;
	margin: 0 1em;
}

.footer-bottom p {
	font-size: 14px;
	font-weight: 400;
}

.footer-bottom .payment-icons {
	display: flex;
	gap: 20px;
	align-items: center;
}

.copyright {
	margin: 0;
}

.payment-icons img {
	height: 20px;
	margin-left: 10px;
}

.payment-icons .age-gate-icon img {
	height: 40px !important;
	width: auto;
	margin-left: 0;
	display: block;
}

.calculator-section {
	padding: 100px 0;
	background-color: #fff;
}


.testimonials-section {
	position: relative;
	background: rgba(17, 17, 17, 1);
	padding: 100px 0;
}

.star-icon-absolute.top {
	position: absolute;
	left: 35px;
	top: 35px;
}

.star-icon-absolute.left {
	position: absolute;
	left: 12%;
	bottom: 12%;
	max-width: 104px;
}

.star-icon-absolute.right {
	position: absolute;
	right: 12%;
	top: 12%;
	max-width: 104px;
}

.star-icon-absolute.bottom {
	position: absolute;
	right: 35px;
	bottom: 35px;
}

.testimonials-section .container {
	padding: 0 100px;
}

.testimonials-slider {
	color: #fff;
	padding: 20px 20px;
	text-align: center;
	position: relative;
}

.testimonials-section .image-block {
	max-width: 115px;
	padding: 0;
	margin: 0 auto 35px;
}

.testimonial-content {
	padding: 0 20%;
}


.testimonial-item {
	max-width: 1500px;
	margin: 0 auto;
}

@media (min-width: 2040px) {
	.testimonial-item {
		max-width: 1624px;
	}
}

.stars svg {
	margin: 0 2px;
}

blockquote {
	margin: 20px auto 0 !important;
	font-family: "Soehne", Sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	font-style: normal !important;
	border-left: 0 !important;


}

.testimonials-section .testimonial-title {
	color: #fff !important;
	text-align: center;
	text-transform: uppercase;
	font-family: "Soehne", Sans-serif !important;
	font-size: 32px !important;
	line-height: 36px !important;
	font-weight: 700 !important;
	margin-bottom: 14px;
	z-index: 200;
}

cite {
	display: block;
	margin-top: 20px;
	font-family: "Soehne", Sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 24px !important;
	font-style: normal !important;
}


.testimonials-slider {
	width: 100%;
	overflow: hidden;
}

.testimonials-slider .swiper-wrapper {
	display: flex;
}

.testimonials-slider .swiper-slide {
	width: 100% !important;
	flex-shrink: 0;
	box-sizing: border-box;
}

.swiper-slide {
	display: flex;
	justify-content: space-between;
}

.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	top: 43% !important;
	transform: translateY(-50%);
	cursor: pointer;
}

.swiper-button-prev {
	left: 20px;
}

.swiper-button-next {
	right: 20px;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-next:after, .swiper-button-prev:after {
	display: none !important;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next, .swiper-button-next, .swiper-rtl .swiper-button-prev {
	background: transparent !important;
	width: 52px;
	height: 52px;
	padding: 0;
}

.swiper-button-next svg, .swiper-button-prev svg {
	width: 26px !important;
	height: 26px !important;
}

.review-box-test {
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	padding: 2px !important;
	border-radius: 12px;
	color: white;
	font-family: sans-serif;
	backdrop-filter: blur(6px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	gap: 16px;
	max-width: 250px !important;
	margin: auto !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	height: 68px !important;
}

.review-box-test a {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 100% !important;
	width: 100%;
	flex-direction: row;
}

.rating {
	display: flex;
	align-items: center;
	background: white;
	color: black;
	border-radius: 10px;
	padding: 8px 12px;
	font-weight: bold;
	font-size: 20px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	height: 100%;
}

.rating .star {
	color: #ffc107;
	margin-right: 6px;
	font-size: 18px;
}

.review-text strong {
	font-size: 24px;
	line-height: 22px;
	color: #fff;
}

.review-text span {
	font-size: 18px;
	line-height: 22px;
	color: rgba(255, 255, 255, 0.82);
}

.products-section {
	background-color: #fff;
	padding: 70px 0;
}

.products-section .main-title {
	font-size: 32px;
	font-weight: 700;
	line-height: 32px;
	text-transform: uppercase;
	color: rgba(16, 24, 40, 1);
	margin-bottom: 8px;
}

.products-section .main-subtitle {
	font-size: 18px;
	font-weight: 400;
	color: rgba(52, 64, 84, 1);
	margin-bottom: 2px;
}

.products-section .product-variation-slider {
	margin-top: 35px;
}

.products-section .products {
	margin-top: 32px;
}

.products-section .products-mobile {
	display: none;
}

.products-section .col-lg-2 {
	flex: 0 0 20% !important;
	max-width: 20% !important;
}

.products-section .product-card {
	text-align: left;
	position: relative;
	max-width: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	transition-duration: 0.3s;
}

/* LV-77: the hover-darken is a DESKTOP affordance. On touch devices iOS
   latches :hover on tap, so swiping the carousel darkened the touched card
   (brightness 78%). Gate the effect to real hover-capable pointers and kill
   the iOS tap-highlight wash on the cards. */
.products-section .product-card {
	-webkit-tap-highlight-color: transparent;
}
@media (hover: hover) and (pointer: fine) {
	.products-section .product-card:hover {
		/* LV-77.1: softened 78% -> 90% (owner) */
		filter: brightness(90%) contrast(100%) saturate(100%) blur(0px) hue-rotate(0deg);
		cursor: pointer;
	}
}

.quantity-tag {
	position: absolute;
	top: 10px;
	left: 20px;
	color: rgba(18, 183, 106, 1);
	font-size: 15px;
	font-weight: 400;
	font-family: "Soehne", Sans-serif !important;
	background-color: #F1FEF8;
	padding: 4px 5px 4px 5px;
	border-radius: 2px 2px 2px 2px;
	line-height: 16px;

}

.products-section .product-image {
	max-width: 100%;
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	border-radius: 8px;
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: #EAECF0;
	transition-duration: 0.3s;
	box-shadow: 0px 2px 8px 0px rgba(16, 24, 40, 0.06) !important;
}

.products-section .product-title {
	font-size: 18px;
	font-weight: 700;
	color: rgba(16, 24, 40, 1);
	margin-bottom: 5px;
	line-height: 20px;
}

.product-strength-wrapper {
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-strength-wrapper > li {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.products-section .product-strength-wrapper .product-strength {
	margin: 0;
	line-height: 1;
}

.product-strength-wrapper > li:not(:last-child)::after {
	content: '';
	display: block;
	width: 0.55em;
	height: 1.5px;
	margin: 0 7px;
	flex-shrink: 0;
	background: currentColor;
	border-radius: 1px;
}

.products-section .product-strength {
	font-size: 16px;
	font-weight: 400;
	color: rgba(52, 64, 84, 1);
	line-height: 18px;
	margin-bottom: 0.5rem;
}

.products-section .product-price {
	font-size: 18px !important;
	line-height: 20px !important;
	font-weight: 600;
	color: rgba(16, 24, 40, 1);
	margin: 12px 0 0 0;
}

.products-section .product-price .woocommerce-Price-amount {
	font-size: 18px !important;
	line-height: 20px !important;
}

.info-card.p-4 {
	padding: 23px !important;
}


.section-divider {
	display: block;
	position: relative;
	width: 100%;
	height: 10px;
	border-top: 1px solid rgba(225, 228, 234, 1);
	border-bottom: 1px solid rgba(225, 228, 234, 1);
	margin: 0;
	padding: 0;
}

@media (max-width: 991px) {
	.col-lg-2 {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

@media (max-width: 767px) {
	.col-lg-2 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


.about-us-section {
	padding: 32px 0;
	background-color: #fff;
}

body.lumi-home-light .about-us-section h2 {
	color: #101828 !important;
	font-family: "Soehne", Sans-serif;
	text-transform: none;
}

.about-us-section .about-text {
	color: #344054;
	font-family: "Soehne", Sans-serif;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 28px;
	padding-right: 15%;
	margin-bottom: 34px;
}

.about-us-image img {
	border-radius: 8px;
}

.about-us-section .btn {
	background-color: #17DE81;
	font-family: "Soehne", Inter, sans-serif;
	font-size: 16px;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	text-decoration: none;
	line-height: 18px;
	letter-spacing: 1.1px;
	border-style: solid;
	border-width: 1px;
	border-color: #086b40;
	background-clip: padding-box;
	-webkit-text-stroke: 2px #05482c;
	paint-order: stroke fill;
	border-radius: 8px 8px 8px 8px;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
	padding: 12px 18px 12px 18px;
	color: #fff;
	transition: all 0.3s ease-in-out;
}

.about-us-section .btn:hover, .lumi-btn:hover {
	background-color: #17DE81 !important;
	border-color: #086b40 !important;
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.3) !important;
}

.lumi-btn {
	background-color: #17DE81;
	font-family: "Soehne", Sans-serif;
	color: #fff;
	transition: all 0.3s ease-in-out;
	border-style: solid;
	border-width: 1px;
	border-color: #086b40;
	background-clip: padding-box;
	-webkit-text-stroke: 2px #05482c;
	paint-order: stroke fill;
	border-radius: 8px 8px 8px 8px;
	box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
	text-transform: uppercase;

}

.faq-section {
	background-color: #fff;
	padding: 70px 0;
}

.faq-section .main-title {
	font-family: "Soehne", Sans-serif !important;
	font-size: 32px;
	line-height: 36px;
	color: rgba(16, 24, 40, 1);
	margin-bottom: 25px;
	font-weight: 700;
	text-transform: uppercase;
}

.faq-section .main-subtitle {
	font-size: 18px;
	line-height: 26px;
	color: rgba(52, 64, 84, 1);
	font-weight: 400;
	width: 44%;
	margin: 0 auto 10px;
}

@media (min-width: 681px) and (max-width: 1920px) {
	.faq-section .main-subtitle {
		width: 64%;
	}
}

.faq-section .main-description {
	font-size: 18px;
	line-height: 26px;
	color: rgba(52, 64, 84, 1);
	margin-bottom: 10px;
	font-weight: 400;
}

.faq-section .accordion {
	max-width: 800px;
	margin: 0 auto;
}

.faq-section .accordion-item {
	padding: 24px 0;
	text-align: left;
	border-bottom: 2px dashed #E1E4EA;
	border-left: 0;
	border-top: 0;
	border-right: 0;
}

.faq-section .accordion-title {
	color: #101828;
	cursor: pointer;
	position: relative;
	padding-right: 0;
	margin: 0;
	font-family: "Soehne", Sans-serif;
	font-size: 18px;
	line-height: 26px;
	margin-bottom: 0;
	font-weight: 500;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.faq-section .accordion-title > button {
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	color: inherit;
	font: inherit;
	line-height: inherit;
	text-align: inherit;
	cursor: pointer;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.icon-wrapper {
	display: inline-block;
	margin-left: 10px;
}

.icon-minus {
	display: none;
}

.accordion-title.open .icon-plus {
	display: none;
}

.accordion-title.open .icon-minus {
	display: inline;
}

.faq-section .accordion-content {
	display: none;
	padding: 1rem 0;
}

.faq-section .accordion-content p {
	font-size: 15px;
	color: rgba(52, 64, 84, 1);
	font-weight: 400;
	margin: 0;
}

.info-cards-section {
	background-color: #fff;
	/* LV-105: side padding 70px -> 32px so the three value cards are wide enough for
	   the value-prop lines to sit on one row at common desktop widths. The 70px sides
	   squeezed each card to ~351px at 1280px and wrapped the longest lines; 32px widens
	   them to ~377px. Vertical rhythm unchanged; the <=680px rule below keeps its own. */
	padding: 70px 32px;
}

.info-cards-section .card-title {
	font-size: 19px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 22px;
}

.info-cards-section .info-cards-top {
	display: flex;
	align-items: center;
	gap: 12px;
}

.info-card {
	background-color: #fff;
	box-shadow: 0px 3px 6px 0px rgba(77, 77, 77, 0.12);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border-radius: 8px;
	border: 1px solid #EAECF0;
	padding: 24px;
}

.info-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 680px) {
	.info-card:hover {
		transform: none !important;
	}
}

.info-cards-section .list-unstyled {
	margin: 5px 0 0 0;
}

.info-cards-section .list-unstyled li {
	color: #344054;
	font-weight: 400;
	padding-inline-start: 0;
	/* COPY-23: list text 14px. */
	font-size: 14px;
	line-height: 25px;
	display: flex;
	align-items: flex-start;
	gap: 5px;
	margin-bottom: 10px !important;
}
.info-cards-section .item-icon {
	display: flex;
	line-height: 0;
	flex: 0 0 auto;
	/* Sit on the first line when the bullet wraps. (25px line − 13px tick) / 2. */
	margin-top: 6px;
}
.info-cards-section .item-icon svg {
	display: block;
	width: 13px;
	height: 13px;
}

.card-icon {
	width: 36px;
	height: 36px;
	overflow: hidden;
	flex-shrink: 0;
	line-height: 0;
}
.card-icon svg {
	width: 36px;
	height: 36px;
	display: block;
	transform: scale(1.08);
	transform-origin: center;
}

.newsletter-section {
	background-image: url('https://thelumiclub.com/uk/wp-content/uploads/sites/5/2024/10/just-cubes.svg');
	--background-overlay: '';
	background-size: cover;
	padding: 70px 0;
}

.newsletter-wrapper {
	max-width: 520px;
	margin: auto;
}

.newsletter-section .green-bg {
	background: linear-gradient(218.53deg, #0AAF63 6.02%, #0D9155 72.47%);
	padding: 56px 16px;
	text-align-last: center;
	border-top-right-radius: 16px;
	border-top-left-radius: 16px;
	position: relative;
	z-index: 1;
	overflow: visible;
}

.newsletter-section .green-bg:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background-image: url('https://thelumiclub.com/uk/wp-content/uploads/sites/5/2025/06/pattern-cube.png');
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: repeat;
	display: block;
	overflow: visible;
	background-size: 44px 70px;
}

.newsletter input[type="submit"] {
	display: inline-block;
	font-weight: 400 !important;
	text-align: center;
	white-space: nowrap !important;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border-radius: 0;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	padding: 12px 72px !important;
	font-size: 16px !important;
	background-color: rgba(17, 17, 17, 1) !important;
	border: 0 solid #000 !important;
	color: #fff !important;
	cursor: pointer;
	line-height: 0 !important;
	width: 113px !important;
}

.newsletter-section .form-desc {
	font-weight: 400;
	color: rgba(52, 64, 84, 1);
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 10px !important;
}

.newsletter-section .newsletter .form-info .fields {
	display: flex;
	gap: 10px !important;
}

.newsletter-section .newsletter input[type="email"] {
	color: #000000;
	background-color: #fff;
	border: 1px solid #e7e7e7;
	font-size: 14px;

}

.newsletter-section .green-bg p {
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
	color: #fff;
	margin-bottom: 0;
}

.newsletter-section .fields p {
	margin-bottom: 0 !important;
}

.newsletter-section .wpcf7-spinner {
	display: none;
}

.newsletter-section .fields input {
	max-width: 340px;
	padding: 8px !important;
	border-radius: 8px !important;
	margin: 8px 0 !important;
	height: 38px !important;
}

.newsletter-section .form-info {
	padding: 25px;
	background: #fff;
	border: 1px solid rgba(234, 236, 240, 1);
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
	box-shadow: 0px 0px 6px 0px rgba(77, 77, 77, 0.16);
}

.offer-section {
	background-color: #fff;
	padding: 70px 0;
}

.offer-section .offer-tabs-wrapper {
	max-width: 465px;
	margin: auto;
	height: 80%;
}

@media (min-width: 2040px) {
	.offer-section .offer-tabs-wrapper {
		max-width: 580px;
	}
}

.offer-section .tab-contents {
	height: 100%;
	display: flex;
	width: 100%;
	align-self: stretch;
	justify-content: flex-end;
}

.offer-section .main-tab-title {
	text-align: center;
	color: #101828;
	font-size: 32px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 38px;
}

.offer-section .tab-buttons {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}

.offer-section .tab-button {
	padding: 10px 12px !important;
	background-color: #fff !important;
	color: rgba(52, 64, 84, 1);
	border: none;
	cursor: pointer;
	font-weight: bold;
	margin-right: 8px;
	border-radius: 8px 8px 0 0;
	font-size: 18px !important;
	line-height: 20px;
	width: 100%;
}

.offer-section .tab-button.active {
	background-color: #FAFAFA !important;
	color: #17DE81 !important;
	border-radius: 4px 4px 4px 4px !important;
}

.offer-section .tab-contents .tab-content .tab-content-top {
	padding: 25px 25px 0 25px;
}

.offer-section .tab-contents .tab-content .tab-content-bottom {
	padding: 0;
	border-top: 1px solid rgba(234, 236, 240, 1);
	background: rgba(250, 250, 250, 1);
	display: flex;
	align-items: center;
	justify-content: center;
	height: 18%;
}

.offer-section .tab-contents .tab-content {
	height: 100%;
	display: none;
	background: #fff;
	border-radius: 8px;
	border: 1px solid transparent;
	background: linear-gradient(#fff, #fff) padding-box, /* Background color */ linear-gradient(0.26deg, #EAECF0 66.26%, #17DE81 100%) border-box;
	text-align: center;
	box-shadow: 0px 3px 6px 0px rgba(77, 77, 77, 0.12);
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	width: 100%;
	align-self: stretch;
	gap: 15px;
}

.offer-section .tab-contents .tab-content.active {
	display: flex;
}

.offer-section .section-title {
	color: rgba(52, 64, 84, 1); /* match inactive .tab-button (Subscription) */
	font-size: 18px;
	font-weight: 700;
	line-height: 18px;
	margin-bottom: 20px;
	text-align: center;
}

.offer-section .price-block .price {
	font-size: 62px;
	font-weight: 700;
	line-height: 62px;
	color: rgb(16, 24, 40);
}

.offer-section .period {
	font-size: 16px;
	font-weight: 400;
	color: rgba(52, 64, 84, 1);
	margin: 5px 0 10px;
	display: block;
}

.offer-section .subscribe-button {
	display: block;
	width: 100%;
	max-width: 390px;
	padding: 11px 24px;
	background: #17DE81 !important; /* brand green — match hero .lumi-btn */
	border: 1px solid #086b40;
	background-clip: padding-box;
	-webkit-text-stroke: 2px #05482c;
	paint-order: stroke fill;
	color: #fff !important;
	font-size: 16px !important;
	text-align: center !important;
	border-radius: 8px;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	text-decoration: none;
	margin: auto;
	transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.offer-section .subscribe-button:hover {
	background: #10C06E !important;
	border-color: #10C06E;
	color: #fff !important;
}

.offer-section .info-text,
.offer-section .info-text2 {
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	color: rgba(52, 64, 84, 1);
	margin-top: 25px;
}

.offer-section .info-text p {
	margin: 0 !important;
}

.offer-section .offer-list {
	margin: 0 !important;
	list-style: none;
	padding: 0;
	font-size: 14px;
	text-align: center;
}

.offer-section .offer-list li {
	font-size: 16px;
	font-weight: 400;
	color: #344054;
	line-height: 18px;
	margin: 12px 0;
}

.offer-section .offer-static-image img {
	width: 100%;
	height: 604px;
	object-fit: cover;
	object-position: center center;
	border-radius: 16px;
}


@media (max-width: 1024px) {
	.footer-container {
		flex-wrap: wrap;
		gap: 30px;
	}

	.footer-top h2 {
		margin: 27px 0 11px !important;
	}


	.footer-widget.col-md-2 a {
		margin-left: 0;
		margin-right: 15px;
	}

	.footer-widget.col-md-6,
	.footer-widget.col-md-4,
	.footer-widget.col-md-3,
	.footer-widget.col-md-2 {
		flex: 0 0 25%;
		max-width: 25%;
		text-align: left;
	}

	/* FOOTER-1: five columns share the row at tablet widths. */
	.footer-widgets--has-legal .footer-widget.col-md-6,
	.footer-widgets--has-legal .footer-widget.col-md-4,
	.footer-widgets--has-legal .footer-widget.col-md-3,
	.footer-widgets--has-legal .footer-widget.col-md-2 {
		flex: 0 0 20%;
		max-width: 20%;
	}

	.footer-widget.col-md-2 {
		position: relative;
	}

	.footer-widget.col-md-2 h2 {
		text-align: left;
	}

}

@media (max-width: 1024px) {
	.hero-section::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 72%;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
		z-index: 1;
	}

	.info-cards-section {
		padding: 70px 0;
	}

	#menu-primary-menu {
		flex-direction: row !important;
	}

	.header-right {
		flex-direction: row;
	}

	.custom-header {
		padding: 9px 12px;
	}

	.icon-list-section {
		padding: 35px 0 15px;
	}

	.navbar-collapse {
		width: 100vw;
		background-color: #fff;
		z-index: -1;
		padding: 85px 0 0 0;
		position: fixed;
		top: 0;
		left: 0;
		flex-direction: column;

	}

	.navbar-collapse .nav .header-switcher {
		padding: 0 15px !important;
	}

	.navbar-collapse .nav li.header-switcher {
		padding: 15px 0 0 !important;
		border: 0 !important;
	}

	.mobile-menu .nav {
		margin: 0 !important;
		gap: 0 !important;
	}

	.mobile-menu .header-switcher .select-arrow {
		right: 27px;
		top: 41%;
	}

	.mobile-menu li {
		font-size: 16px !important;
		border-bottom: 1px solid #E6E6E6 !important;
		border-radius: 0 !important;
		font-weight: 700 !important;
		color: #111111 !important;

	}

	.mobile-menu li:last-child {
		border-bottom: 0 !important;
	}

	.mobile-menu li a {
		font-weight: 700 !important;
		color: #111111 !important;
		padding: 18px 15px !important;
		display: block;
	}

	.mobile-menu .select-wrapper {
		position: relative;
	}

	li.login-menu.menu-item.menu-item-type-post_type.menu-item-object-page > a {
		width: 100%;
		display: block;
		text-align: center;
		color: white !important;
		justify-content: center !important;
		padding: 14px 0 !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		letter-spacing: 1.1px;
		text-transform: uppercase !important;
		line-height: 13px !important;
		border-radius: 12px;
		background-color: #101828;
		margin-left: 0;
		position: relative;
	}

	#menu-mobile-menu .login-menu {
		margin: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		padding: 18px 15px;
	}


	.main-nav {
		position: relative;
	}

	.main-nav.navbar .navbar-toggler {
		z-index: 10000;
		background-color: rgba(250, 250, 250, 1);
		padding: 6px !important;
		border: 1px solid rgba(230, 230, 230, 1);
		width: 44px;
		height: 44px;
		line-height: 16px;
		color: rgba(17, 17, 17, 1);
		border-radius: 5px;
	}

	.navbar-toggler:focus {
		outline: none;
		box-shadow: none;
	}

	.nav {
		flex-direction: column !important;
		gap: 1rem;
	}

	.header-container {
		position: relative;
		z-index: 10001;
	}

	.navbar-toggler .close-icon {
		font-size: 1.5rem;
		line-height: 1;
		color: rgba(17, 17, 17, 1);
	}

	.navbar-toggler-icon {
		line-height: 24px !important;
		width: 24px !important;
		height: 24px !important;
	}

	.navbar-toggler .navbar-toggler-icon,
	.navbar-toggler .close-icon {
		transition: opacity 0.3s ease;
	}

	.navbar-toggler:focus {

		box-shadow: 0px 0px 6px 0px rgba(77, 77, 77, 0.16) !important;
	}

}

@media (max-width: 768px) {
	.summary-info.toggle-summary > span {
		display: flex;
	}

	.about-us-image {
		margin-top: 0 !important;
	}

	.right-offer {
		margin-top: 50px !important;
	}

	.products-section .products {
		display: none;
	}

	.products-section .products-mobile {
		display: block;
		margin-top: 25px;
	}

	.mobile-menu li {
		font-size: 16px;
	}

	.header-right {
		gap: 5px;
		flex-direction: row-reverse !important;
	}

	.footer-container {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}

	.footer-bottom .footer-container {
		padding: 31px 0 5px;
		gap: 10px;
		flex-direction: column-reverse;
	}

	.footer-widget.col-md-6,
	.footer-widget.col-md-4,
	.footer-widget.col-md-3,
	.footer-widget.col-md-2,
	.footer-widgets--has-legal .footer-widget.col-md-6,
	.footer-widgets--has-legal .footer-widget.col-md-4,
	.footer-widgets--has-legal .footer-widget.col-md-3,
	.footer-widgets--has-legal .footer-widget.col-md-2 {
		flex: 0 0 100%;
		max-width: 100%;
		text-align: left;
	}

	.footer-star-icon {
		position: absolute;
		right: 0;
		bottom: 0;
		margin-top: 20px;
	}
}

@media (max-width: 680px) {
	.hero-content-top {
		/* LV-101: stack title over subtitle on mobile (was row — built for the
		   old two-word "NOW ONLY / £1.59/can" flag; longer copy overlapped). */
		flex-direction: column;
		align-items: center;
		gap: 4px;
		justify-content: center;
	}

	.review-box .text-block p {
		font-size: 14px;
	}

	.review-box .text-block p strong {
		font-size: 17px;
	}

	.products-section .product-variation-slider {
		margin-top: 25px !important;
	}

	.newsletter-section {
		padding: 32px 0;
	}

	.offer-section .info-text, .offer-section .info-text2 {
		font-size: 14px !important;
	}

	.offer-section .offer-list li {
		font-size: 14px !important;
	}

	.offer-section .tab-button {
		font-size: 15px !important;
	}

	.stars svg {
		width: 16px;
	}

	.testimonial-content {
		padding: 0 8%;
	}

	#menu-primary-menu {
		gap: 25px !important;
		width: 100%;
		margin: 0;
		align-items: flex-start;
	}

	.footer-top {
		padding: 36px 16px 36px;
	}


	.footer-widget p {
		font-size: 14px;
		line-height: 24px;
		font-weight: 400 !important;
	}


	.payment-icons svg {
		width: 36px;
		height: auto;
	}

	.payment-icons .age-gate-icon img {
		height: 44px !important;
	}

	.copyright {
		font-size: 12px;
		line-height: 1.4;
	}

	.hero-section {
		/* LV-83: fixed height RESTORED (was LV-80's height:auto). The hero's
		   internal layout is a %-height chain — .container height:100% →
		   .hero-content calc(100% - Npx) with flex-end + an absolutely
		   top-pinned review box. height:auto collapsed the chain: content
		   clustered at the top, the price flag overlapped the review box,
		   dead space below the ticks. The real defect was the old 570px
		   being sized for 3 tick rows; 630px fits 4 rows including wraps
		   at 360px, with the content chain reserving a 200px tick zone. */
		height: 630px;
	}

	.hero-section h3 {
		font-size: 30px !important;
		line-height: 38px !important;
		margin-bottom: 10px !important;
	}

	.hero-section h2 {
		font-size: 30px !important;
		line-height: 38px !important;
		margin-bottom: 10px !important;
	}

	.review-box {
		max-width: 280px;
		gap: 15px;
		position: absolute;
		left: 10px;
		right: 0;
		margin: auto;
		top: 14px;
		justify-content: center;
	}

	.icon-list-section {
		padding: 20px 0 15px;
		align-items: flex-start;
		gap: 5px;
		flex-direction: column;
	}

	.hero-content {
		/* LV-83: reserve 200px (was 150px) for the 4-row tick zone. */
		height: calc(100% - 200px);
		align-items: center;
	}

	.hero-section .btn-success {
		width: 100%;
		padding: 12px 32px 12px 32px !important;
	}

	.icon-list-section .icon-list-item .icon-list-title {
		font-size: 16px;
	}

	.hero-section::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 45%;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
		z-index: 1;
	}

	.products-section {
		padding: 30px 0;
	}


	.products-section .main-title {
		font-size: 22px;
		line-height: 38px;
	}

	.products-section .main-subtitle {
		font-size: 16px;
		line-height: 21px;
	}

	.product-variation-slider .woocommerce-Price-amount {
		font-size: 18px !important;
	}

	.info-cards-section {
		padding: 32px 0 8px;
	}

	.info-cards-section .info-card {
		padding: 12px !important;
	}

	.info-cards-section .card-title {
		font-size: 19px;
	}

	.info-cards-section .list-unstyled li {
		/* COPY-23: 14px on mobile as well. */
		font-size: 14px;
		margin-bottom: 12px !important;
	}

	.testimonials-section {
		padding: 50px 0;
	}

	.testimonials-section .container {
		padding: 0 15px;
	}

	.testimonials-section .testimonial-title {
		font-size: 32px !important;
		line-height: 36px !important;
	}

	.testimonials-slider {
		padding: 0 20px;
	}

	.review-text span {
		font-size: 16px;
	}

	.review-text strong {
		font-size: 19px;
	}

	.rating {
		font-size: 18px;
	}

	.swiper-button-prev, .swiper-button-next {
		top: 43% !important;
	}

	blockquote {
		padding: 20px 10px;
		font-size: 16px !important;
		line-height: 22px !important;
	}

	.star-icon-absolute.top, .star-icon-absolute.bottom, .star-icon-absolute.left, .star-icon-absolute.right {
		display: none;
	}


	.testimonial-title {
		margin-bottom: 35px;
	}

	.about-us-section {
		padding: 35px 0;
	}

	.about-us-section h2 {
		margin-bottom: 20px !important;
		text-align: center !important;
	}

	.about-us-section .about-text {
		font-size: 15px !important;
		line-height: 18px;
		padding-right: 0;
		margin-bottom: 33px;
	}

	.about-us-section .row.align-items-center {
		flex-direction: column-reverse;
		gap: 20px;
	}

	.about-us-section .btn {
		width: 100%;
		text-align: center;
	}

	.calculator-section {
		padding: 35px 0;
	}

	.calculator-section .main-container {
		padding-bottom: 0 !important;
	}

	.calculator-section .calculator .result-container .result {
		font-size: 68px !important;
	}

	.faq-section {
		padding: 35px 0px;
	}

	.faq-section .main-title {
		font-size: 24px;
	}

	.faq-section .main-subtitle, .faq-section .main-description {
		line-height: 22px;
		font-size: 16px;
		width: 100%;
	}

	.faq-section .container.text-center {
		text-align: left !important;
	}

	.faq-section .accordion-title {
		font-size: 16px;
		line-height: 24px;
		font-weight: 600;
	}

	.faq-section .accordion-item {
		padding: 21px 0;
	}

	.faq-section .accordion-content p {
		font-size: 15px;
	}

	.newsletter-section .green-bg {
		padding: 44px 16px;
	}

	.newsletter-section .green-bg p {
		font-size: 18px;
	}

	.newsletter-section .newsletter .form-info .fields div {
		width: 100%;
	}

	.newsletter input[type="submit"] {
		width: 100%;
	}

	.newsletter-section .newsletter .form-info .fields {
		flex-direction: column;

	}

	.offer-section {
		padding: 32px 0;
	}

	.right-offer {
		margin-top: 0 !important;
	}

	.offer-section .main-tab-title {
		font-size: 24px;

	}

	.offer-section .container .row {
		flex-direction: column-reverse;
		gap: 30px;
	}

	.offer-section .offer-static-image img {
		height: 340px;
	}

	.offer-section .tab-buttons {
		flex-direction: row;
	}

	.offer-section .price-block .price {
		font-size: 62px;
	}

	.offer-section .subscribe-button {
		font-size: 18px !important;
	}

	.newsletter-section .fields input {
		max-width: 100% !important;
		width: 100% !important;
	}

}


@media screen and (min-width: 992px) {
	.navbar-expand-lg .navbar-collapse {
		display: flex !important;
		flex-basis: auto !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		flex-direction: row-reverse !important;
		padding: 0 !important;
		height: auto !important;
		min-height: auto !important;
	}
}

@media screen and (max-width: 1024px) {
	.custom-header {
		display: block;
		position: fixed;
		z-index: 999999;
		width: 100vw;
		top: 0;
	}
	body.lumi-home-light .custom-header,
	body.lumi-light-shell .custom-header,
	body.lumi-pdp-light .custom-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 30 !important;
	}

	.hero-section {
		/* LV-101: header offset now comes from body.page-id-24643 padding-top
		   (LV-99). The old 78px margin double-offset and opened a big empty band
		   between the H1 bar and the hero image on mobile. */
		margin-top: 0;
	}

	.site {
		padding-top: 85px !important;
	}

	#menu-mobile-menu .login-menu {
		margin: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		padding: 18px 15px;
	}

	li.login-menu.menu-item.menu-item-type-post_type.menu-item-object-page > a {
		width: 100%;
		display: block;
		text-align: center;
		color: white !important;
		justify-content: center !important;
		padding: 14px 0 !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		letter-spacing: 1.1px;
		text-transform: uppercase !important;
		line-height: 13px !important;
		border-radius: 12px;
		background-color: #101828;
		margin-left: 0;
		position: relative;
	}

	.mobile-menu li a {
		font-weight: 700 !important;
		color: #111111 !important;
		padding: 18px 15px !important;
		display: block;
	}

	.mobile-menu li {
		font-size: 16px !important;
		border-bottom: 1px solid #E6E6E6 !important;
		border-radius: 0 !important;
		font-weight: 700 !important;
		color: #111111 !important;

	}
}

/* Flickering section on safaru iphone 13 Pro */

@supports (-webkit-touch-callout: none) {
	.about-us-section,
	.calculator-section,
	.about-us-section *,
	.calculator-section * {
		-webkit-transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		transform: translateZ(0);
		backface-visibility: hidden;
		will-change: transform;
	}
}

@media (max-width: 680px) {
    /* LV-101: split title/subtitle sizing on mobile — title leads, subtitle
       is a compact proof line (was both 30px, which overlapped as a row). */
    .hero-section .hero-title {
        margin-bottom: 0 !important;
    }
    .hero-section .hero-subtitle {
        font-size: 15px !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
    }
}
/* ============================================================
   LV-44: logged-in admin-bar artefact at ≤1024px.
   WP core adds html{margin-top:46px} (32px above 782px) for the
   admin bar, but the fixed .custom-header (z-index 999999) covers
   the bar itself — so the offset renders as a dead strip between
   the header and the content. Compensate the .site padding for
   logged-in admins only. Logged-out customers are untouched
   (verified flush at 390px: header 85px + padding 85px, gap 0).
   Checkout is unaffected: checkout-polish.css loads later and
   keeps .woocommerce-checkout .site at its own padding.
   ============================================================ */
@media screen and (max-width: 1024px) {
	body.admin-bar .site {
		padding-top: 53px !important; /* 85 − 32px admin bar */
	}
}
@media screen and (max-width: 782px) {
	body.admin-bar .site {
		padding-top: 39px !important; /* 85 − 46px admin bar */
	}
}

/* ============================================================
   LV-53: slider pre-init FOUC guard. On a cold load Swiper
   initialises late (CDN bundle in the footer), and until then the
   raw slides render crammed side-by-side in one row (seen on the
   first uncached mobile visit). Until Swiper adds
   .swiper-initialized, lay the track out as "slide 1, full width"
   so the pre-init state looks intentional at any network speed.
   Product flavour slider: mobile only — desktop is a CSS grid and
   must not inherit flex:0 0 100% when Swiper is destroyed on resize.
   ============================================================ */
.testimonials-slider:not(.swiper-initialized) .swiper-wrapper {
	display: flex;
	overflow: hidden;
}
.testimonials-slider:not(.swiper-initialized) .swiper-slide {
	flex: 0 0 100%;
	max-width: 100%;
}
@media (max-width: 767px) {
	.product-variation-slider:not(.swiper-initialized) .swiper-wrapper {
		display: flex;
		overflow: hidden;
	}
	.product-variation-slider:not(.swiper-initialized) .swiper-slide {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* ============================================================
   LV-62: product-page free-delivery projection bar (mounted by
   custom-script.js after the add-to-cart form). Same visual
   system as the mini-cart drawer bar and checkout nudge.
   LV-61: muted billing suffix in the rebuilt subscribe label.
   ============================================================ */
.lumi-fsn-product {
	margin: 14px 0 4px;
	padding: 12px 16px;
	background: #F9FAFB;
	border: 1px solid #E4E7EC;
	border-radius: 10px;
}
.lumi-fsn-product .lumi-fsn-text {
	font-size: 14px;
	font-weight: 500;
	color: #344054;
	text-align: left;
}
.lumi-fsn-product .lumi-fsn-text strong {
	color: #101828;
	font-weight: 700;
}
.lumi-fsn-product .lumi-fsn-bar {
	height: 6px;
	background: #EAECF0;
	border-radius: 999px;
	margin-top: 8px;
	overflow: hidden;
}
.lumi-fsn-product .lumi-fsn-bar span {
	display: block;
	height: 100%;
	background: #17DE81;
	border-radius: 999px;
	transition: width .3s ease;
}
.lumi-fsn-product.is-unlocked .lumi-fsn-text,
.lumi-fsn-product.is-unlocked .lumi-fsn-text strong {
	color: #0F9D63;
}
/* LV-65: long billing suffixes ("every 2 months") cramped the subscribe row
   at phone widths. .currency-text is a flex ROW — let it wrap and give the
   suffix the full second line: price on line 1, billing period right-aligned
   beneath it. */
.wcsatt-options-prompt-label-subscription .currency-text {
	flex-wrap: wrap;
	justify-content: flex-end;
}
.lumi-sub-suffix {
	flex-basis: 100%;
	display: block;
	text-align: right;
	font-weight: 500;
	color: #667085;
	font-size: 13px;
	line-height: 1.3;
	margin-top: 2px;
	white-space: nowrap;
}
/* per-can chips never wrap mid-text ("£1.59 / can") */
.wcsatt-options-prompt-action .save-text {
	white-space: nowrap;
}

/* LV-66: iOS Safari detaches the native <select> options popover — tapping a
   select makes iOS scroll it into view, but html{scroll-behavior:smooth}
   turns that into an ANIMATED scroll that runs after the popover has already
   anchored, leaving the menu floating hundreds of px away (reported on the
   subscription plan dropdown). Disable smooth scrolling only while a select
   has focus; anchor-link smoothness elsewhere is untouched. */
html:has(select:focus) {
	scroll-behavior: auto !important;
}

/* LV-78: home calculator value boxes — style.css locks them to
   width:63px!important with padding:9-10px 20px (content area ~21px), sized
   for the old bare "5"/"15" text. LV-77's formatted price ("£3.70") is ~40px
   wide, so as overflowing inline content it anchored to the content-box left
   edge and sat +9.5px right of the box centre. inline-flex centring makes
   single-item overflow spill symmetrically, so the text stays visually
   centred (and inside the 63px box) at every value up to "£10.00" — no width
   change, so the box/slider row can never wrap. This file loads after
   style.css, so the equal-specificity override wins. */
#range-result1,
#range-result2 {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	white-space: nowrap !important;
}

/* LV-79: home heading-tag promotions + offer trust strip.
   The FAQ and offer section titles were h3s and the info-cards section had
   no heading at all — the SEO pass promotes them into a proper H2 layer.
   style.css carries a global `h2 { font-size:20px !important }` (plus
   weight/line-height/text-align:left), which would crush the promoted
   headings, so their class sizes are re-asserted with !important here.
   .lumi-strip re-renders the hero ACF rows (icon_list_items) as a compact
   dark-on-light trust strip above the offer tabs. */
.faq-section h2.main-title,
.products-section h2.main-title,
.offer-section h2.main-tab-title,
.info-cards-section .info-cards-heading,
.guides-section h2.guides-section__title {
	text-transform: uppercase !important;
	color: #101828;
	text-align: center;
}
.lumi-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 26px;
	margin: 0 0 22px;
}
.lumi-strip-item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.lumi-strip-item .checkmark {
	display: inline-flex;
	flex: 0 0 auto;
}
.lumi-strip-text {
	font-size: 14px;
	font-weight: 500;
	color: #344054;
	white-space: nowrap;
}
@media (max-width: 680px) {
	.lumi-strip {
		gap: 6px 16px;
		justify-content: flex-start;
	}
	.lumi-strip-text {
		white-space: normal;
	}
}

/* LV-81: home polish pass on the LV-79 additions.
   - Hero tick band (desktop): four longer rows at 18px in a nowrap
     space-between row wrapped raggedly mid-text. Centred wrapping grid,
     15px, items keep their text on one line each.
   - Offer section: title now sits at container level (template change) —
     give it breathing room; strip follows it, then the tabs row. */
@media (min-width: 681px) {
	/* LV-83: keep the base fixed height (622px) — LV-81's height:auto here
	   collapsed the %-height layout chain and floated the tick band over
	   the product shot (see the mobile note above). Instead, widen the
	   reserved tick zone: the band is two centred rows now, and the base
	   .hero-content reservation (93px) was sized for the old single row. */
	.hero-content {
		height: calc(100% - 130px);
	}
	.icon-list-section {
		flex-wrap: wrap;
		justify-content: center;
		column-gap: 40px;
		row-gap: 8px;
	}
	.icon-list-section .icon-list-item .icon-list-title {
		font-size: 15px;
		white-space: nowrap;
	}
}
.offer-section h2.main-tab-title {
	margin: 0 0 16px;
}
.offer-section .lumi-strip {
	margin: 0 0 32px;
}

/* LV-84: hero trust ticks on ONE row at desktop (≥1200px). The LV-81 band
   wrapped to 2 rows — four uppercase labels at 15px exceed the container
   below ~1250px. A viewport-scaled font keeps them on a single line and
   caps at 14px: verified 1 row / 0 overflow at 1200px (renders 12.2px)
   and 1440px (14px). Tablet 681–1199 keeps the 2×2 wrap; mobile ≤680
   stays stacked (user confirmed mobile is good). */
@media (min-width: 1200px) {
	.icon-list-section {
		flex-wrap: nowrap;
		column-gap: 20px;
	}
	.icon-list-section .icon-list-item .icon-list-title {
		font-size: clamp(11px, 1.02vw, 14px);
	}
}

/* LV-86: (a) drop the one-row desktop tick band to where the old 2nd row
   sat — base padding-top 50px placed the single row at the old ROW-1 y
   (top 542); +26px lands it at the old ROW-2 y (top 568), measured.
   (b) review-chip typography: gold emoji stars over a "Rated X/5 from N
   reviews" line (fits one line at 14px in the ~220px text slot). */
@media (min-width: 1200px) {
	.icon-list-section {
		padding-top: 86px; /* LV-87: +10px lower than LV-86's 76 */
	}
}
/* LV-90 / LV-96: hero rating chip — identical to Trusted Quality
   (.lumi-reviews-badge .lumi-rev-chip). Shell only; pill chrome lives on the chip
   so nested link line-height cannot inflate height (was ~42px vs 29px). */
.review-box {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	flex: 0 0 auto;
	gap: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.review-box .image-block {
	display: none;
}
.review-box .lumi-rev-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 999px;
	padding: 9px 18px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
	font-size: 15px;
	line-height: 1;
	white-space: nowrap;
	color: #667085;
	font-weight: 500;
	text-decoration: none;
	text-shadow: none;
}
.review-box .lumi-rev-chip strong {
	color: #101828;
	font-weight: 700;
}
.review-box .lumi-rev-stars {
	display: inline-flex;
	gap: 2px;
	margin: 0;
	line-height: 0;
}
.review-box .lumi-rev-stars .lumi-star {
	width: 15px;
	height: 15px;
	display: block;
}
@media (max-width: 680px) {
	.review-box {
		max-width: none;
		left: 0;
		right: 0;
		margin: 0 auto;
		top: 16px;
	}
}

/* LV-92: per-can value clarifier under the product-card price (£7.95 = 5 x £1.59). */
.product-variation-slider .product-subprice {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.2;
	color: #667085;
	font-weight: 400;
}

/* LV-93: reviews rebuilt as 3 titled, 5-star cards on the dark band. */
.lumi-reviews .lumi-review-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 1080px;
	margin: 26px auto 40px;
	position: relative;
	z-index: 2;
}
.lumi-reviews .lumi-review-card {
	display: flex;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	padding: 28px 26px;
	text-align: left;
	color: #fff;
}
.lumi-reviews .lumi-review-stars {
	display: flex;
	gap: 3px;
	margin-bottom: 14px;
	line-height: 0;
}
.lumi-reviews .lumi-review-stars .lumi-star {
	width: 18px;
	height: 18px;
	display: block;
}
.lumi-reviews .lumi-review-title {
	margin: 0 0 10px;
	font-family: "Soehne", sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
}
.lumi-reviews .lumi-review-card .lumi-review-text {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 23px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: rgba(255, 255, 255, 0.85);
	text-align: left !important;
	border-left: 0 !important;
	flex: 1 1 auto;
}
.lumi-reviews .lumi-review-card .lumi-review-author {
	display: block;
	margin-top: 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: rgba(255, 255, 255, 0.85);
	text-align: left !important;
}
.lumi-reviews .lumi-reviews-badge {
	position: relative;
	z-index: 2;
}
@media (max-width: 900px) {
	.lumi-reviews .lumi-review-grid {
		grid-template-columns: 1fr;
		max-width: 460px;
	}
}

/* LV-94: the £/can figure matches the rest of the sublabel. Weight 400 stays
   on Soehne Buch; 500 and above is Extrafett on this page. */
.product-variation-slider .product-subprice .woocommerce-Price-amount,
.product-variation-slider .product-subprice .woocommerce-Price-amount bdi,
.product-variation-slider .product-subprice .woocommerce-Price-currencySymbol,
.product-variation-slider .product-subprice bdi {
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #667085 !important;
}

/* LV-94: polished reviews badge — a clean white "verified" pill on the dark band
   (matches the hero pill), replacing the white-square-in-a-dark-box treatment. */
.lumi-reviews .lumi-reviews-badge {
	display: flex;
	justify-content: center;
	margin-top: 10px;
	position: relative;
	z-index: 2;
}
.lumi-reviews .lumi-reviews-badge .lumi-rev-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 999px;
	padding: 9px 18px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
	color: #667085;
	font-weight: 500;
	text-decoration: none;
}
.lumi-reviews .lumi-reviews-badge .lumi-rev-chip strong {
	color: #101828;
	font-weight: 700;
}
.lumi-reviews .lumi-reviews-badge .lumi-rev-stars {
	display: inline-flex;
	gap: 2px;
	line-height: 0;
}
.lumi-reviews .lumi-reviews-badge .lumi-rev-stars .lumi-star {
	width: 15px;
	height: 15px;
	display: block;
}
@media (max-width: 480px) {
	.lumi-reviews .lumi-reviews-badge .lumi-rev-chip {
		font-size: 14px;
		padding: 8px 14px;
		gap: 8px;
	}
	.lumi-reviews .lumi-reviews-badge .lumi-rev-stars .lumi-star {
		width: 13px;
		height: 13px;
	}
}

/* LV-96: hero pill mirrors the reviews pill exactly; same shrink on small screens. */
@media (max-width: 480px) {
	.review-box .lumi-rev-chip {
		font-size: 14px;
		padding: 14px;
		gap: 8px;
	}
	.review-box .lumi-rev-stars .lumi-star {
		width: 13px;
		height: 13px;
	}
}

/* LV-97: calculator result caption — gives the big saving figure its meaning. */
.calculator-container .result-caption {
	margin: 8px 0 0;
	font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
	font-size: 14px;
	font-weight: 800 !important;
	font-synthesis: none !important;
	color: #101828;
	text-align: center;
}
.calculator-container .result-caption::first-letter {
	text-transform: uppercase;
}

/* LV-98/99: on mobile/tablet .custom-header is position:fixed (<=1024px) and the
   home page (header-empty.php) has no .site wrapper to offset it. Offset the home
   page content ONCE with non-collapsing body padding so the fixed header clears
   everything (bar + hero) with no gap. LV-98's bar margin-top collapsed and left
   a large empty band above the hero — padding on the body avoids that entirely. */
@media (max-width: 1024px) {
	body.lumi-home-light,
	body.lumi-light-shell,
	body.lumi-pdp-light {
		padding-top: 0;
	}
	body.lumi-light-shell .site,
	body.lumi-pdp-light .site {
		padding-top: 0 !important;
	}
}

/* Hero title is the page H1. The old paragraph matched a Soehne Extrafett
   rule that this heading does not. style.css still sets Inter at weight 700. */
html body .hero-section h1.hero-title {
	font-family: "Soehne", sans-serif !important;
	font-weight: 800 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

/* LV-101b: AUTHORITATIVE hero subtitle sizing. The theme duplicates the hero
   font rules in style.css (84px !important desktop) and an inline <style>
   (30px !important, max-width:680px) which out-cascade new-homepage.css at equal
   specificity. We win cleanly with higher specificity via .hero-content-top so
   the subtitle reads as a small proof line under "Cut the Markup", not a second
   headline. (Tech debt: consolidate the duplicated hero rules into one sheet.) */
.hero-section .hero-content-top .hero-subtitle {
	font-size: 20px !important;
	font-weight: 400 !important;
	font-synthesis: none !important;
	text-transform: none !important;
	line-height: 1.3 !important;
	letter-spacing: 0.2px !important;
	word-spacing: normal !important;
	margin-bottom: 14px !important;
}
@media (max-width: 680px) {
	.hero-section .hero-content-top .hero-subtitle {
		font-size: 15px !important;
		margin-bottom: 10px !important;
	}
}

/* LV-102: mobile hero layout.
   (a) Admin-bar gap: when logged in, WordPress adds html{margin-top:46px} which stacks
   on the home page's 85px header offset (LV-99) and opens a gap above the H1 bar. Trim
   the body offset by the admin-bar height so the fixed header still clears but the gap
   closes. Logged-out visitors are unaffected (no .admin-bar → full 85px offset), so this
   is purely an authoring/preview cleanup.
   (b) Block position: anchor the whole text + CTA + ticks group to the bottom of the
   hero as one unit (was floating with dead space beneath the ticks). Bottom-anchoring
   adapts to whatever dead space exists, so the block always sits at the base of the
   dark band with a small 16px breathing gap. */
@media screen and (max-width: 782px) {
	body.admin-bar.lumi-home-light { padding-top: 0 !important; }
}
@media screen and (min-width: 783px) and (max-width: 1024px) {
	body.admin-bar.lumi-home-light { padding-top: 0 !important; }
}
@media (max-width: 680px) {
	.hero-section .container {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		padding-bottom: 16px !important;
	}
	.hero-section .hero-content {
		height: auto !important;
		flex: 0 0 auto !important;
	}
	.hero-section .icon-list-section {
		padding-top: 14px !important;
		padding-bottom: 0 !important;
	}
}

/* LV-103: re-pin the hero review pill to the TOP of the hero on mobile.
   The pill is position:absolute; top:16px, but its offset parent is
   .hero-content (position:relative, line ~193). LV-102 bottom-anchored
   .hero-content (container flex-end + height:auto), so the pill — pinned to the
   TOP of that now-bottom-anchored box — rode down onto the "Cut the Markup"
   title. Dropping .hero-content's positioning on mobile makes the pill resolve
   to .container instead (position:relative, full 630px height, top-anchored),
   so top:16px is the top of the hero again — as before — without disturbing the
   bottom-anchored copy/CTA/ticks. (.container keeps z-index:2, so hero content
   still stacks above the ::before gradient regardless of hero-content's own
   position.) */
@media (max-width: 680px) {
	.hero-section .hero-content {
		position: static !important;
	}
}

/* ============================================================================
   Overnight Track A6 — 2026-08-09 (cursor). Home does NOT load custom-style.css
   (functions.php home branch), so the quantity-tag contrast fix must live here
   too. Append-only. Rollback: delete this block.
   ============================================================================ */
.quantity-tag.slider-pack,
.quantity-tag {
	color: #097a4c !important;
}

/* ============================================================================
   Hardening 2026-08-09 — home stylesheet gap (Bugbot).
   new-homepage.css is the sitewide design-system sheet (loads on home AND
   every other page). custom-style.css is OMITTED on the home branch, so any
   hardening append that only lands in custom-style never reaches home.
   Append-only. Rollback: delete from this marker down.
   ============================================================================ */

/* LV-232 family — home currently renders .quantity-tag (above). .save-text /
   ATC classes are not in the initial home DOM (0 nodes 2026-08-09) but the
   purchase-card / slider markup can inject them; mirror the custom-style
   tokens so home never falls back to failing contrast. */
.save-text {
	color: #097a4c !important;
}

button.single_add_to_cart_button.button.alt,
.woocommerce button.single_add_to_cart_button.button.alt,
.shopengine-widget button.single_add_to_cart_button.button.alt,
.single_add_to_cart_button.button.alt {
	background-color: #0a8754 !important;
	background-image: none !important;
	border-color: #0a8754 !important;
	color: #ffffff !important;
}

button.single_add_to_cart_button.button.alt:hover,
.woocommerce button.single_add_to_cart_button.button.alt:hover,
.shopengine-widget button.single_add_to_cart_button.button.alt:hover,
.single_add_to_cart_button.button.alt:hover {
	background-color: #097a4c !important;
	border-color: #097a4c !important;
	color: #ffffff !important;
}

/* Phase 2.5 prefers-reduced-motion — MUST live here for home coverage. */
@media (prefers-reduced-motion: reduce) {
	html:not([data-lumi-allow-motion='1']) *,
	html:not([data-lumi-allow-motion='1']) *::before,
	html:not([data-lumi-allow-motion='1']) *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}


/* -------------------------------------------------------------------------
 * LV-262 — touch-action: manipulation (append-only, 2026-08-09).
 * Home omits custom-style.css; this sheet also loads site-wide, so the same
 * interactive-control set must live here. Do NOT apply to swipe containers.
 * Rollback: delete from this marker down.
 * ------------------------------------------------------------------------- */
button,
[role="button"],
a.button,
a.wp-element-button,
a.elementor-button,
.elementor-button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
#place_order,
.wc-block-components-button,
.wp-block-button__link,
.quantity .plus,
.quantity .minus,
.quantity-wrap .plus,
.quantity-wrap .minus,
button.plus,
button.minus,
.wc-block-components-quantity-selector__button,
.woocommerce-checkout .select2-selection,
.woocommerce-checkout select,
#payment .payment_methods .button,
.woocommerce-checkout #payment button {
	touch-action: manipulation;
}

.quantity .plus,
.quantity .minus,
.quantity-wrap .plus,
.quantity-wrap .minus,
button.plus,
button.minus {
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	box-sizing: border-box !important;
}

/* Homepage guides list (replaces unused newsletter). Re-assert sizes:
   style.css sets global h2 to 20px !important (same reason as LV-79). */
.guides-section {
	background-color: #fff;
	padding: 70px 0;
}

.guides-section.faq-section .main-subtitle a,
.guides-section.faq-section .accordion-title a,
.guides-section.faq-section .main-subtitle a:visited,
.guides-section.faq-section .accordion-title a:visited {
	color: #111111 !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

/* The guide blurb's default bottom margin sat under the last line, on top of
   the same padding the FAQ questions use. Drop it so the gap to the dashed
   line matches a FAQ item. */
body.lumi-home-light .guides-section .accordion-item > p {
	margin-bottom: 0;
	font-size: 15px;
	line-height: 28px;
}

body.lumi-home-light .guides-section .accordion-item:last-child {
	border-bottom: 0;
}

.guides-section.faq-section .main-subtitle a:hover,
.guides-section.faq-section .accordion-title a:hover,
.guides-section.faq-section .main-subtitle a:focus,
.guides-section.faq-section .accordion-title a:focus {
	color: #111111 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.guides-section h2.guides-section__title {
	font-family: "Soehne", Sans-serif !important;
	color: #101828;
	text-align: center;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.guides-section__hub {
	text-align: center;
	margin: 0 0 28px;
	font-size: 16px;
	line-height: 24px;
}

.guides-section__hub a,
.guides-section__name a {
	color: #101828;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.guides-section__hub a:hover,
.guides-section__name a:hover {
	color: #0d9155;
}

.guides-section__list {
	list-style: none;
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
}

.guides-section__item {
	padding: 24px 0;
	border-bottom: 2px dashed #e1e4ea;
	text-align: left;
}

.guides-section__item:last-child {
	border-bottom: 0;
}

.guides-section__name {
	font-family: "Soehne", Sans-serif;
	font-size: 18px !important;
	line-height: 26px !important;
	font-weight: 500 !important;
	margin: 0 0 8px;
	text-align: left;
}

.guides-section__text {
	font-size: 18px;
	line-height: 26px;
	color: rgba(52, 64, 84, 1);
	font-weight: 400;
	margin: 0;
}

@media (max-width: 680px) {
	.guides-section {
		padding: 48px 0;
	}

	body.lumi-home-light .guides-section .accordion-item > p {
		line-height: 18px;
	}

	.guides-section h2.guides-section__title {
		line-height: 36px;
	}

	.guides-section__name,
	.guides-section__text {
		font-size: 16px !important;
		line-height: 24px !important;
	}
}

/* Offer tabs + pack price: Soehne Extrafett on desktop and mobile.
   body * { font-weight: 400 !important } beats the old `bold` / 700. */
.offer-section .tab-button,
.offer-section .tab-button.active,
.offer-section .price-block .price {
	font-family: "Soehne", Inter, sans-serif !important;
	font-weight: 800 !important;
}

/* Home product-card pack price: Soehne Extrafett, sign and digits.
   The £ is its own span, so it has to be named or body * keeps it Buch. */
.products-section .product-variation-slider .product-price .woocommerce-Price-amount,
.products-section .product-variation-slider .product-price .woocommerce-Price-amount bdi,
.products-section .product-variation-slider .product-price .woocommerce-Price-currencySymbol {
	font-family: "Soehne", Inter, sans-serif !important;
	font-weight: 800 !important;
}

/* Calculator questions: Soehne Buch. Weight 400 stays on the Buch face. */
.calculator-section .first-input label,
.calculator-section .secound-input label {
	font-family: "Soehne", sans-serif !important;
	font-weight: 400 !important;
	font-synthesis: none !important;
	color: #101828 !important;
}

/* About "Learn More": Soehne Extrafett, uppercase. */
.about-us-section .btn.btn-primary {
	font-family: "Soehne", Inter, sans-serif !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
}

.offer-section .subscribe-button {
	text-transform: uppercase !important;
}

/* css/lumi-info-heading.css */
/* COPY-7: H2 case on a URL Rocket has never year-cached. */
.info-cards-section .info-cards-heading {
	text-transform: uppercase !important;
}

/* css/lumi-calc-h2.css */
/* COPY-15: calculator H2 matches homepage section titles (32px / 700 / 36).
   Beat style.css global h2 and #calc-mob 18px. New URL vs year-cached minify. */
.calculator-section h2.Calculator-heading,
.calculator-section #calc-desktop,
.calculator-section #calc-mob {
	color: #101828 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
}

/* css/lumi-hero-list-chip.css */
/* COPY-17: review chip in the hero tick band, centred. */
.hero-section .icon-list-section .review-box {
	position: static !important;
	inset: auto !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	margin: 0 !important;
	justify-content: center !important;
	width: auto;
	max-width: 100%;
	flex: 0 0 auto;
}

@media (max-width: 680px) {
	.hero-section .icon-list-section {
		align-items: flex-start;
	}

	.hero-section .icon-list-section .review-box {
		width: 100%;
		align-self: stretch;
		justify-content: center !important;
	}

	.hero-section .icon-list-section > .icon-list-item {
		align-self: flex-start;
	}
}

/* css/lumi-hero-ticks-left.css */
/* COPY-18: left-align hero ticks on mobile. New URL so Rocket cannot serve
   the COPY-17 minify that centred the column (COPY-7). Chip stays centred. */
@media (max-width: 680px) {
	.hero-section .icon-list-section {
		align-items: flex-start !important;
	}

	.hero-section .icon-list-section .review-box {
		width: 100% !important;
		align-self: stretch !important;
		justify-content: center !important;
	}

	.hero-section .icon-list-section > .icon-list-item {
		align-self: flex-start !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* css/lumi-hero-chip-cta.css */
/* COPY-19: desktop chip next to the CTA. Mobile keeps COPY-17 in the tick band.
   New URL so Rocket cannot year-cache the previous hero sheets (COPY-7). */
@media (min-width: 1200px) {
	.hero-section .icon-list-section > .review-box {
		display: none !important;
	}
}

@media (max-width: 1199px) {
	.hero-section .hero-content-bottom > .review-box {
		display: none !important;
	}
}

/* css/lumi-hero-fullwidth.css */
/* IMG-9: desktop hero shows the full lineup. The 622px lock is shorter
   than the 1920×760 photo, so object-fit:cover cropped the left and right. */
@media (min-width: 1200px) {
	.hero-section {
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: var(--lumi-hero-w, 1920) / var(--lumi-hero-h, 760);
	}

	.hero-section .hero-picture img {
		aspect-ratio: auto !important;
		object-fit: contain !important;
		object-position: center center;
		width: 100%;
		height: 100%;
	}
}

/* css/lumi-hero-mobile-top.css */
/* IMG-10 / IMG-11: phone + tablet keep the top of the lineup under the
   header. The 630px lock + cover/center cropped the top when widening.
   Desktop ≥1200 is IMG-9 (landscape lineup). */
@media (max-width: 680px) {
	.hero-section {
		height: auto !important;
		min-height: 630px !important;
		aspect-ratio: var(--lumi-hero-mw, 780) / var(--lumi-hero-mh, 1202);
	}

	.hero-section .hero-picture {
		top: 0;
		bottom: auto;
	}

	.hero-section .hero-picture img {
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: top center !important;
		width: 100%;
		height: 100%;
	}
}

@media (min-width: 681px) and (max-width: 1199px) {
	.hero-section {
		width: 100% !important;
		max-width: none !important;
		aspect-ratio: auto !important;
		height: min(860px, max(640px, calc(100vh - 96px))) !important;
		min-height: 640px !important;
		max-height: none !important;
	}

	.hero-section .hero-picture {
		inset: 0;
		width: 100%;
		height: 100%;
	}

	.hero-section .hero-picture img {
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: top center !important;
		width: 100%;
		height: 100%;
	}
}

/* css/lumi-hero-tablet.css */
/* IMG-11: tablet (681–1199) uses the stacked mobile hero, not the short
   1920×760 strip. new-homepage.css mobile stack stops at 680 — this sheet
   carries title, CTA, chip and ticks through iPad portrait and landscape. */
@media (min-width: 681px) and (max-width: 1199px) {
	.hero-section .container {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		height: 100%;
		padding-bottom: 20px !important;
	}

	.hero-section .hero-content {
		position: static !important;
		height: auto !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
		text-align: center;
	}

	.hero-section .hero-content-top {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.hero-section .hero-content-top .hero-subtitle {
		font-size: 16px !important;
		margin-bottom: 12px !important;
	}

	.hero-section .hero-content-bottom {
		width: 100%;
		max-width: 420px;
		justify-content: center;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 12px;
	}

	.hero-section .hero-content-bottom .lumi-btn,
	.hero-section .btn-success {
		width: 100%;
	}

	.hero-section .icon-list-section {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		column-gap: 0 !important;
		padding-top: 14px !important;
		padding-bottom: 0 !important;
	}

	.hero-section .icon-list-section .review-box {
		position: static !important;
		inset: auto !important;
		width: 100% !important;
		align-self: stretch !important;
		justify-content: center !important;
		margin: 0 !important;
	}

	.hero-section .icon-list-section > .icon-list-item {
		align-self: flex-start !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.hero-section .icon-list-section .icon-list-item .icon-list-title {
		white-space: normal !important;
		font-size: 16px !important;
	}
}

/* css/lumi-hero-title-center.css */
/* COPY-20: desktop title, subtitle, chip and Buy Now sit together in the
   middle of the photo's black panel. LUMI-hero-desktop-lineup-clean.webp
   is 1920×760; black starts at x=1076. IMG-9 shows the full frame, so that
   fraction tracks the viewport. Phone and tablet ≤1199 use the stacked
   mobile photo (IMG-11). */
@media (min-width: 1200px) {
	.hero-section .hero-content {
		align-self: stretch;
		box-sizing: border-box;
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		padding-left: calc(1076 / 1920 * 100vw);
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
		text-align: center;
	}

	.hero-section .hero-content-top {
		width: auto;
		max-width: 100%;
		margin-left: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.hero-section .hero-content-bottom {
		width: auto;
		max-width: 100%;
		justify-content: center;
		flex-wrap: wrap;
	}

	.hero-section .hero-content-bottom > .review-box {
		flex: 0 0 auto;
	}

}

/* css/lumi-hero-tablet-frame.css */
/* IMG-12: tablet hero stays full viewport width. IMG-11's aspect-ratio +
   max-height made used width 860 × 780/1202 = 558px on iPad. New URL (COPY-7)
   so Rocket minify cannot keep the 558px rule. */
@media (min-width: 681px) and (max-width: 1199px) {
	.hero-section {
		width: 100% !important;
		max-width: none !important;
		aspect-ratio: auto !important;
		height: min(860px, max(640px, calc(100vh - 96px))) !important;
		min-height: 640px !important;
		max-height: none !important;
	}

	.hero-section .hero-picture {
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}

	.hero-section .hero-picture img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: top center !important;
	}
}

/* css/lumi-hero-phone-frame.css */
/* IMG-13: phone hero stays full viewport width. min-height 630 +
   aspect-ratio 780/1202 made used width 630 × 780/1202 = 409px at 390.
   Height still grows with the frame (IMG-10). New URL (COPY-7). */
@media (max-width: 680px) {
	.hero-section {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		aspect-ratio: auto !important;
		height: max(630px, calc(100vw * 1202 / 780)) !important;
	}

	.hero-section .hero-picture {
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}

	.hero-section .hero-picture img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: top center !important;
	}
}

/*
 * IMG-1 — flavour plate behind transparent pack photos.
 * Home: .products-section img.product-image
 * PDP: ShopEngine gallery + thumbs, classed from the selected flavour.
 * The mixed assortment has no plate. Do not merge into custom-style.css.
 */

.products-section img.product-image.lumi-flavour-freeze-mint {
	background-color: #91FFB5;
}

.products-section img.product-image.lumi-flavour-blue-ice {
	background-color: #61B8F2;
}

.products-section img.product-image.lumi-flavour-watermelon {
	background-color: #FF3B19;
}

.products-section img.product-image.lumi-flavour-citrus {
	background-color: #CFFF1C;
}

.products-section img.product-image.lumi-flavour-forest-fruits {
	background-color: #A10064;
}

@media (max-width:767.98px){
.swiper-container.product-variation-slider .swiper-wrapper{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.swiper-container.product-variation-slider .swiper-wrapper::-webkit-scrollbar{display:none}
.swiper-container.product-variation-slider .swiper-slide{flex:0 0 calc((100% - 10px) / 1.5);width:auto!important;margin:0!important;scroll-snap-align:start}
}
@media (min-width:768px){
.swiper-container.product-variation-slider .swiper-wrapper{display:flex;flex-wrap:wrap;gap:20px}
.swiper-container.product-variation-slider .swiper-slide{width:calc(20% - 20px);margin-bottom:20px;margin-right:0!important}
}


body.lumi-home-light,body.lumi-home-light button,body.lumi-home-light input,body.lumi-home-light select,body.lumi-home-light textarea{font-family:"Soehne",sans-serif}
body.lumi-home-light{font-size:17px;line-height:1.6}
body.lumi-home-light h2,body.lumi-home-light h3{margin-top:0}
.products-section .product-title{margin-top:11px}

/* Calculator layout and range controls from style.css. That file is not
   loaded on this template. Soehne replaces Inter. */
.calculator-container {
	display: flex;
	flex-wrap: nowrap;
	column-gap: 40px;
	row-gap: 20px;
	justify-content: center;
	align-items: flex-start;
}
.calculator-container > .lumi-calc-controls,
.container-div:first-of-type {
	width: 60%;
}
.calculator-container > .lumi-calc-result,
.container-div:last-child {
	width: 40%;
}
#range-result1,
#range-result2 {
	width: 63px !important;
	text-align: center;
	background: #fafafa !important;
	border: 1px solid #e4e7ec;
	border-radius: 8px;
	padding: 9px 20px;
	font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
	font-weight: 800 !important;
	font-synthesis: none !important;
	font-size: 16px;
	color: #101828;
}
#calc-mob,
#calc-line {
	display: none;
}
.calculator-section input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	accent-color: #101828;
	color: #101828;
	background: linear-gradient(to right, #101828 0%, #101828 var(--value), #c8c8c8 var(--value), #c8c8c8 100%);
	border-radius: 0;
	height: 0.3rem;
	cursor: pointer;
	width: 83%;
	padding: 0 !important;
	margin-left: 8px;
}
.calculator-section input[type="range"]:focus {
	outline: none;
}
.calculator-section input[type="range"]::-webkit-slider-runnable-track {
	background: linear-gradient(to right, #101828 0%, #101828 var(--value), #c8c8c8 var(--value), #c8c8c8 100%);
	border-radius: 0.5rem;
	height: 0.3rem;
}
.calculator-section input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background-color: #101828 !important;
	border: 0;
	box-shadow: none;
	border-radius: 1rem;
	height: 1.5rem;
	width: 1.5rem;
	margin-top: -11px;
}
.calculator-section input[type="range"]::-moz-range-track {
	background-color: #c8c8c8;
	border-radius: 0.5rem;
	height: 0.4rem;
}
.calculator-section input[type="range"]::-moz-range-thumb {
	background-color: #101828 !important;
	border: none;
	box-shadow: none;
	border-radius: 1rem;
	height: 1.5rem;
	width: 1.5rem;
}
.calculator-input {
	margin: 20px 0 24px;
}
.calculator-section .result-container {
	border: 1px dashed #101828;
	border-radius: 4px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0;
	min-height: 260px;
	background-color: #fafafa;
}
.calculator-section .result-container .result {
	font-size: 68px !important;
	font-weight: 700 !important;
	line-height: 72px !important;
	text-align: left !important;
	color: #17de81 !important;
	text-shadow: 1px 1px 0 #12b066 !important;
}
@media screen and (max-width: 680px) {
	.calculator-section .result-container {
		min-height: 168px;
	}
	#range-result1,
	#range-result2 {
		padding: 10px 20px;
	}
}
@media screen and (max-width: 900px) {
	.calculator-container {
		flex-direction: column-reverse !important;
	}
	.calculator-section .container-div {
		width: 100% !important;
	}
	.calculator-section input[type="range"] {
		width: 90% !important;
	}
	.calculator-section .result-container {
		margin-top: 0 !important;
	}
}
@media screen and (max-width: 768px) {
	.calculator-section input[type="range"] {
		width: 80% !important;
	}
}
@media screen and (max-width: 500px) {
	.calculator-section input[type="range"] {
		width: 70% !important;
	}
	.calculator-section .main-container {
		width: 100% !important;
	}
	.calculator-section .calculator-input label {
		line-height: 40px !important;
		font-size: 16px !important;
	}
	body.lumi-home-light .calculator-section #calc-desktop {
		display: block;
	}
	.calculator-container {
		row-gap: 0;
	}
}

/* Hero frame from template-parts/hero.php. The picture is hidden; the square product photo is the painted hero. */
.hero-section .hero-panel,
.hero-section .hero-subtitle,
.hero-section .icon-list-title,
.hero-section .lumi-rev-chip {
font-family: "Soehne", sans-serif !important;
font-weight: 400 !important;
}
.hero-section .lumi-btn {
font-family: "Soehne", sans-serif !important;
font-weight: 800 !important;
text-transform: uppercase !important;
}
.hero-section .hero-title {
font-family: "Soehne", sans-serif !important;
font-weight: 800 !important;
}
.hero-section .icon-list-section .icon-list-title {
text-transform: none !important;
}
.hero-section .icon-list-age .age-gate-icon {
display: inline-flex;
align-items: center;
justify-content: flex-start;
flex: 0 0 24px;
width: 24px;
height: 28px;
line-height: 0;
}
.hero-section .icon-list-age .age-gate-icon img,
.hero-section .icon-list-age .age-gate-icon svg {
display: block;
height: 20px;
width: 20px;
}
.hero-section .icon-list-age .icon-list-title {
white-space: normal !important;
}
.hero-section .hero-subtitle .hero-sub-l1,
.hero-section .hero-subtitle .hero-sub-l2,
.hero-section .hero-subtitle .hero-sub-l3,
.hero-section .hero-subtitle .hero-sub-lines,
.hero-section .hero-subtitle .hero-sub-line {
display: block;
}
.hero-section .hero-subtitle .hero-sub-lines {
margin-top: 8px;
font-size: 16px !important;
font-weight: 500 !important;
line-height: 1.4 !important;
color: rgba(255, 255, 255, 0.86);
}
.hero-section .hero-subtitle .hero-sub-line + .hero-sub-line {
margin-top: 3px;
}
.hero-section .hero-subtitle .hero-sub-amt {
font-weight: 800 !important;
color: #fff !important;
}
.hero-section .hero-price {
margin-top: 8px;
margin-bottom: 12px;
}
.hero-section .hero-sub-foot {
margin: 5px 0;
font-family: "Soehne", sans-serif !important;
font-size: 15px !important;
font-weight: 400 !important;
font-synthesis: none !important;
line-height: 1.2 !important;
color: #fff !important;
text-align: center;
text-decoration: underline !important;
text-decoration-color: #fff !important;
text-underline-offset: 2px;
}
.hero-section .hero-price-table {
width: auto;
margin: 0 auto;
border-collapse: collapse;
border: 0;
background: transparent;
}
.hero-section .hero-price-table caption {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.hero-section .hero-price-table th,
.hero-section .hero-price-table td {
border: 0;
background: transparent;
padding: 0 16px;
text-align: center;
vertical-align: top;
}
.hero-section .hero-price-table td {
line-height: 1;
}
.hero-section .hero-price-table td + td,
.hero-section .hero-price-table th + th {
border-left: 1px solid rgba(255, 255, 255, 0.22);
}
.hero-section .hero-price-table th {
font-family: "Soehne", sans-serif !important;
font-size: 14px !important;
font-weight: 600 !important;
line-height: 1.2 !important;
letter-spacing: 0.04em !important;
text-transform: uppercase !important;
text-shadow: none !important;
color: #fff !important;
padding-bottom: 4px;
}
body.lumi-home-light .hero-title data,
body.lumi-home-light .hero-subtitle data {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
	text-transform: inherit;
}
.hero-section .hero-price-table data {
font-family: "Soehne", sans-serif !important;
font-size: 18px !important;
font-weight: 400 !important;
font-synthesis: none;
line-height: 1 !important;
color: #fff !important;
}
.hero-section .hero-price-table .hero-sub-unit {
font-family: "Soehne", sans-serif !important;
font-size: 12px !important;
font-weight: 400 !important;
font-synthesis: none;
line-height: 1 !important;
color: #fff !important;
}
@media (max-width: 680px) {
.hero-section .hero-price-table th {
font-size: 14px !important;
color: #fff !important;
}
.hero-section .hero-price-table data {
font-size: 16px !important;
}
}
.hero-title-break {
display: none;
}
@media (max-width: 1199px) {
.hero-section .container,
.hero-section .hero-content,
.hero-section .hero-content-top {
max-width: 100% !important;
width: 100% !important;
}
	.hero-section .hero-content-top .hero-title {
width: 100%;
max-width: 100%;
box-sizing: border-box;
padding: 0 8px !important;
/* 11.2 is the Soehne 800 width of "BUY 99P SNUS ONLINE" per 1px of font, plus slack, so the line stays one line. */
font-size: calc((100vw - 56px) / 11.2) !important;
line-height: 1.05 !important;
letter-spacing: 0 !important;
word-spacing: 0 !important;
text-align: center;
white-space: nowrap;
}
.hero-section .hero-title .hero-title-l1,
.hero-section .hero-title .hero-title-l2 {
display: block;
margin: 0;
letter-spacing: 0 !important;
white-space: nowrap;
font-family: "Soehne", sans-serif !important;
font-weight: 800 !important;
line-height: 1.05;
}
}

@media (max-width: 680px) {
.hero-section .icon-list-section > .review-box + .icon-list-item {
margin-top: 0 !important;
}

.hero-section .icon-list-section > .icon-list-item {
margin-bottom: 0 !important;
}
}

.hero-section {
min-height: 550px;
}

.hero-picture img {
width: 100%;
height: 100%;
object-fit: cover;
aspect-ratio: 16 / 9;
}

.hero-product {
display: none;
}

@media (max-width: 1199px) {
html body .hero-section {
display: flex !important;
flex-direction: column !important;
align-items: stretch !important;
height: auto !important;
min-height: 0 !important;
max-height: none !important;
aspect-ratio: auto !important;
overflow: visible !important;
background: #000 !important;
}

.hero-section .hero-picture,
.hero-section::before {
display: none !important;
}

.hero-section .hero-product {
display: block;
width: 100%;
aspect-ratio: 1 / 1;
flex: 0 0 auto;
overflow: hidden;
position: relative;
}

.hero-section .hero-product-img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

html body .hero-section .hero-panel {
display: block !important;
background: #000;
color: #fff;
width: 100%;
height: auto;
flex: 0 0 auto;
position: relative;
z-index: 2;
}

.hero-section .hero-panel .container {
height: auto !important;
display: flex;
flex-direction: column;
padding: 28px 20px 32px !important;
}

.hero-section .hero-content,
.hero-section .icon-list-section {
height: auto !important;
position: static !important;
}

.hero-section .icon-list-section {
position: static !important;
left: auto !important;
right: auto !important;
bottom: auto !important;
display: flex !important;
flex-direction: column !important;
align-items: flex-start !important;
justify-content: flex-start !important;
width: max-content !important;
max-width: 100% !important;
gap: 8px !important;
padding: 16px 0 0 !important;
margin: 0 auto !important;
}

.hero-section .icon-list-section > .icon-list-item,
.hero-section .icon-list-section > .review-box {
margin-top: 0 !important;
margin-bottom: 0 !important;
}

.hero-section .icon-list-section > .icon-list-item + .icon-list-item {
margin-top: -8px !important;
}

.hero-section .review-box {
position: static !important;
top: auto !important;
}

.hero-section .icon-list-section .icon-list-item .icon-list-title {
font-size: clamp(12px, 3.7vw, 15px) !important;
white-space: nowrap !important;
}
}

@media (min-width: 1200px) {
.hero-section {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
align-items: stretch !important;
width: 100% !important;
height: auto !important;
min-height: 0 !important;
max-height: none !important;
aspect-ratio: auto !important;
overflow: hidden !important;
background: #000 !important;
padding-bottom: 52px !important;
}

.hero-section .hero-picture,
.hero-section::before {
display: none !important;
}

.hero-section .hero-product {
display: block !important;
width: 50% !important;
height: 50vw !important;
flex: 0 0 50% !important;
max-width: 50% !important;
aspect-ratio: 1 / 1;
overflow: hidden;
position: relative !important;
}

.hero-section .hero-product-img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.hero-section .hero-panel {
display: flex !important;
flex-direction: column;
justify-content: center;
width: 50% !important;
height: 50vw !important;
flex: 0 0 50% !important;
max-width: 50% !important;
background: #000;
position: static !important;
}

.hero-section .hero-panel > .container {
display: flex !important;
flex-direction: column;
justify-content: center;
width: 100% !important;
max-width: 100% !important;
height: 100% !important;
margin: 0 !important;
padding: 24px 32px !important;
position: static !important;
}

.hero-section .hero-content,
.hero-section .hero-content-top {
width: 100% !important;
max-width: 100% !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
position: static !important;
}

.hero-section .hero-panel .hero-title {
width: 100%;
letter-spacing: 0 !important;
word-spacing: 0 !important;
text-align: center;
}

.hero-section .hero-panel .hero-title .hero-title-l1,
.hero-section .hero-panel .hero-title .hero-title-l2 {
display: block;
margin: 0;
letter-spacing: 0 !important;
white-space: nowrap;
font-family: "Soehne", sans-serif !important;
font-weight: 800 !important;
line-height: 1.05;
}

.hero-section .icon-list-section {
position: absolute;
left: 0;
right: 0;
bottom: 0;
display: flex !important;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
column-gap: 40px;
width: 100%;
height: 52px;
box-sizing: border-box;
background: #000;
padding: 0 24px;
margin: 0;
}

.hero-section .icon-list-section .icon-list-item {
align-items: center;
margin: 0 !important;
}

.hero-section .icon-list-section .checkmark,
.hero-section .icon-list-section .icon-list-age .age-gate-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
flex: 0 0 20px;
}

.hero-section .icon-list-section .icon-list-age .age-gate-icon img,
.hero-section .icon-list-section .icon-list-age .age-gate-icon svg {
display: block;
height: 20px;
width: 20px;
}

.hero-section .icon-list-section .icon-list-item .icon-list-title {
font-family: "Soehne", sans-serif !important;
font-weight: 400 !important;
font-size: 15px !important;
line-height: 20px !important;
}

.hero-section .icon-list-section .icon-list-age .icon-list-title {
white-space: nowrap !important;
}

.hero-section .icon-list-section .review-box {
display: none !important;
}
}

/* Smart header: in the page at the top, slides away on scroll down, returns on scroll up. */
body.lumi-home-light .custom-header,
body.lumi-light-shell .custom-header,
body.lumi-pdp-light .custom-header {
	position: sticky;
	top: 0;
	z-index: 30;
	width: 100%;
	transition: transform 0.2s ease;
}
body.lumi-home-light .custom-header.is-hidden,
body.lumi-light-shell .custom-header.is-hidden,
body.lumi-pdp-light .custom-header.is-hidden {
	transform: translateY(-100%) !important;
}
body.admin-bar.lumi-home-light .custom-header {
	top: 32px;
}
@media (max-width: 782px) {
	body.admin-bar.lumi-home-light .custom-header {
		top: 46px;
	}
}
@media (prefers-reduced-motion: reduce) {
	body.lumi-home-light .custom-header {
		transition: none;
	}
}

/* The logo SVG is inline on the text baseline. The line box keeps
   descender space under the mark, so centering that box lifts the ink. */
.custom-header .site-logo,
.custom-header .site-logo a {
	display: flex;
	align-items: center;
	line-height: 0;
}
body.lumi-home-light .custom-header .site-logo svg {
	display: block;
}
body.lumi-home-light .custom-header #menu-primary-menu {
	margin: 0;
}
body.lumi-home-light .custom-header #menu-primary-menu li a {
	font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
	font-weight: 800 !important;
	font-synthesis: none !important;
}
/* Phone and tablet: basket, then the menu button on the far right.
   The 769–991px band was still left-to-right, so the button sat left of the basket. */
@media (max-width: 991.98px) {
	body.lumi-home-light .header-right,
	body.lumi-light-shell .header-right,
	body.lumi-pdp-light .header-right {
		flex-direction: row-reverse;
		gap: 12px;
	}
	body.lumi-home-light .header-right .cart-icon,
	body.lumi-light-shell .header-right .cart-icon,
	body.lumi-pdp-light .header-right .cart-icon {
		position: relative;
		z-index: 2;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Calculator result: the figure and its caption sit together. The old min-height left a tall empty box with the caption at the bottom. */
body.lumi-home-light .calculator-section .calculator-shop-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin-top: 16px;
	padding: 12px 24px;
	font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	font-synthesis: none !important;
	letter-spacing: 1.1px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
}
body.lumi-home-light .calculator-section .result-container {
	min-height: 0;
	padding: 16px 16px 12px;
	border-radius: 8px;
	gap: 0;
}
body.lumi-home-light .calculator-section .result-container .result {
	margin: 0 !important;
	text-align: center !important;
	font-size: 48px !important;
	line-height: 1 !important;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
}
body.lumi-home-light .calculator-container .result-caption {
	margin: 0;
	max-width: none;
	width: 100%;
	align-self: stretch;
	box-sizing: border-box;
	color: #101828 !important;
}
body.lumi-home-light .calculator-section .result-method {
	margin: 6px 0 0;
	max-width: 28em;
	color: #475467 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	text-align: center;
}
body.lumi-home-light .calculator-section .lumi-calc-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-self: stretch;
	box-sizing: border-box;
	width: calc(100% + 32px);
	margin: 12px -16px 0;
	border-top: 1px solid #e4e7ec;
}
body.lumi-home-light .calculator-section .lumi-calc-split-col {
	padding: 10px 8px 2px;
	text-align: center;
}
body.lumi-home-light .calculator-section .lumi-calc-split-col + .lumi-calc-split-col {
	border-left: 1px solid #e4e7ec;
}
body.lumi-home-light .calculator-section .lumi-calc-split-label {
	margin: 0 0 4px;
	color: #667085 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}
body.lumi-home-light .calculator-section .lumi-calc-split-now,
body.lumi-home-light .calculator-section .lumi-calc-split-lumi {
	margin: 0;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}
body.lumi-home-light .calculator-section .lumi-calc-split-now {
	color: #b42318 !important;
}
body.lumi-home-light .calculator-section .lumi-calc-split-lumi {
	color: #086b40 !important;
}
body.lumi-home-light .calculator-section .calculator-input {
	margin: 14px 0 0;
}
body.lumi-home-light .calculator-section .lumi-calc-plan {
	display: flex;
	width: 100%;
	max-width: none;
	margin: 14px 0 2px;
	padding: 3px;
	box-sizing: border-box;
	background: #f2f4f7;
	border-radius: 8px;
}
body.lumi-home-light .calculator-section .lumi-calc-plan-btn {
	flex: 1 1 0;
	min-height: 36px;
	margin: 0;
	padding: 6px 10px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #667085;
	font: inherit;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.2;
	cursor: pointer;
}
body.lumi-home-light .calculator-section .lumi-calc-plan-btn.is-on {
	background: #fff;
	color: #101828;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.12);
}
/* Selected plan label and price: Soehne Buch. Weight 400 stays on the Buch face. */
body.lumi-home-light .calculator-section .lumi-calc-plan-btn.is-on,
body.lumi-home-light .calculator-section .lumi-calc-plan-btn.is-on span,
body.lumi-home-light .calculator-section .lumi-calc-plan-btn.is-on data {
	font-family: "Soehne", sans-serif !important;
	font-weight: 400 !important;
	font-synthesis: none !important;
}
body.lumi-home-light .calculator-section .lumi-calc-plan-amt {
	margin-left: 6px;
	white-space: nowrap;
}
body.lumi-home-light .calculator-section .lumi-calc-field-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	width: 100%;
	gap: 12px;
	margin-bottom: 6px;
}
body.lumi-home-light .calculator-section .lumi-calc-field-head label {
	flex: 1 1 auto;
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	text-align: left;
}
body.lumi-home-light .calculator-section #range-result1,
body.lumi-home-light .calculator-section #range-result2 {
	width: auto !important;
	min-width: 0;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 0;
	font-size: 18px !important;
	line-height: 1;
	text-align: right;
	font-variant-numeric: tabular-nums;
}
body.lumi-home-light .calculator-section .lumi-calc-scale {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 8px;
	color: #98a2b3;
	font-size: 13px;
	line-height: 1.2;
}
body.lumi-home-light .calculator-section input[type="range"] {
	width: 100% !important;
	height: 28px;
	margin: 0 !important;
	background: transparent;
}
body.lumi-home-light .calculator-section input[type="range"]::-webkit-slider-runnable-track {
	height: 4px;
	border-radius: 999px;
}
body.lumi-home-light .calculator-section input[type="range"]::-webkit-slider-thumb {
	background: #fff !important;
	border: 3px solid #101828;
	height: 26px;
	width: 26px;
	margin-top: -11px;
}
body.lumi-home-light .calculator-section input[type="range"]::-moz-range-thumb {
	background: #fff !important;
	border: 3px solid #101828;
	height: 26px;
	width: 26px;
}
/* Under 901px the result column sits above the sliders. One heading stays first. */
@media (max-width: 900px) {
	body.lumi-home-light .calculator-section .calculator-container {
		flex-direction: column !important;
		row-gap: 0;
	}
	body.lumi-home-light .calculator-section .lumi-calc-intro,
	body.lumi-home-light .calculator-section #calc-desktop {
		display: block;
		order: -1;
		width: 100%;
		flex: 1 0 100%;
	}
	body.lumi-home-light .calculator-section .calculator-container > .lumi-calc-controls,
	body.lumi-home-light .calculator-section .calculator-container > .container-div:first-of-type {
		order: 2;
	}
	body.lumi-home-light .calculator-section .calculator-container > .lumi-calc-result,
	body.lumi-home-light .calculator-section .calculator-container > .container-div:last-child {
		order: 1;
	}
}
@media (min-width: 901px) {
	body.lumi-home-light .calculator-section .calculator-container {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		column-gap: 48px;
		row-gap: 0;
		align-items: center;
	}
	body.lumi-home-light .calculator-section .calculator-container > .lumi-calc-controls,
	body.lumi-home-light .calculator-section .calculator-container > .container-div:first-of-type {
		display: contents;
		width: auto;
	}
	body.lumi-home-light .calculator-section .lumi-calc-intro {
		grid-column: 1 / -1;
		margin-bottom: 0 !important;
		text-align: center !important;
	}
	body.lumi-home-light .calculator-section #calc-desktop {
		grid-column: 1 / -1;
		margin-bottom: 32px !important;
		text-align: center !important;
	}
	body.lumi-home-light .calculator-section .calculator-container > .lumi-calc-result,
	body.lumi-home-light .calculator-section .calculator-container > .container-div:last-child {
		grid-column: 2;
		grid-row: 2 / span 2;
		width: auto;
		align-self: center;
	}
	body.lumi-home-light .calculator-section .lumi-calc-plan,
	body.lumi-home-light .calculator-section .calculator-input {
		grid-column: 1;
		max-width: 420px;
		margin: 0 0 20px;
	}
	body.lumi-home-light .calculator-section .calculator-input + .calculator-input {
		margin-bottom: 0;
	}
	body.lumi-home-light .calculator-section .calculator-shop-cta {
		grid-column: 1;
		width: 100%;
		max-width: 420px;
		margin-top: 20px;
	}
	body.lumi-home-light .calculator-section .calculator-input br {
		display: none;
	}
	body.lumi-home-light .calculator-section .first-input,
	body.lumi-home-light .calculator-section .secound-input {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}
	body.lumi-home-light .calculator-section .lumi-calc-field-head label {
		flex: 1 1 auto;
		margin-bottom: 0 !important;
	}
	body.lumi-home-light .calculator-section input[type="range"] {
		flex: 1 1 auto;
		width: auto !important;
		margin: 0;
	}
	body.lumi-home-light .calculator-section .result-container {
		min-height: 0;
	}
	body.lumi-home-light .calculator-section .result-container .result {
		font-size: 52px !important;
	}
}

/* Centered section headings share one gap. 32px above the title matches
   the 32px under it. 35px is the phone gap. */
body.lumi-home-light .info-cards-section,
body.lumi-home-light .products-section,
body.lumi-home-light .testimonials-section,
body.lumi-home-light .calculator-section,
body.lumi-home-light .guides-section,
body.lumi-home-light .faq-section {
	padding-top: 32px;
}
@media (min-width: 681px) {
	body.lumi-home-light .info-cards-section,
	body.lumi-home-light .products-section,
	body.lumi-home-light .testimonials-section,
	body.lumi-home-light .calculator-section,
	body.lumi-home-light .guides-section,
	body.lumi-home-light .faq-section {
		padding-bottom: 32px;
	}
}
@media (min-width: 992px) {
	body.lumi-home-light .info-cards-section .col-lg-4 {
		margin-bottom: 0 !important;
	}
}
/* Stacked cards: the last column's mb-4 sat under Quality, inside the container. */
@media (max-width: 991px) {
	body.lumi-home-light .info-cards-section .row > .col-lg-4:last-child {
		margin-bottom: 0 !important;
	}
}
@media (max-width: 680px) {
	body.lumi-home-light .info-cards-section,
	body.lumi-home-light .products-section,
	body.lumi-home-light .testimonials-section,
	body.lumi-home-light .calculator-section,
	body.lumi-home-light .guides-section,
	body.lumi-home-light .faq-section {
		padding-top: 35px;
		padding-bottom: 35px;
	}
	body.lumi-home-light .calculator-section .main-container {
		padding-top: 0 !important;
	}
}
/* Last guide item keeps its padding (21px phone, 24px desktop) after the
   dotted line was removed. Section padding makes the text-to-section gap
   match the calculator: 35px phone, 32px desktop. */
@media (max-width: 680px) {
	body.lumi-home-light .guides-section {
		padding-bottom: 14px;
	}
}
@media (min-width: 681px) {
	body.lumi-home-light .guides-section {
		padding-bottom: 8px;
	}
}
/* Last FAQ item: no dotted line. The answer's 16px bottom padding is
   dropped so the text-to-section gap matches the calculator, same as
   the guides: 21+14=35px on a phone, 24+8=32px on desktop. */
body.lumi-home-light section.faq-section:not(.guides-section):not(.products-section) .accordion-item:last-child {
	border-bottom: 0;
}
body.lumi-home-light section.faq-section:not(.guides-section):not(.products-section) .accordion-item:last-child .accordion-content {
	padding-bottom: 0;
}
@media (max-width: 680px) {
	body.lumi-home-light section.faq-section:not(.guides-section):not(.products-section) {
		padding-bottom: 14px;
	}
}
@media (min-width: 681px) {
	body.lumi-home-light section.faq-section:not(.guides-section):not(.products-section) {
		padding-bottom: 8px;
	}
}
@media (max-width: 680px) {
	body.lumi-home-light section.faq-section:not(.guides-section):not(.products-section) .accordion > .accordion-item:first-child {
		padding-top: 0;
	}
}

/* One gap from a section heading to the block under it.
   The flavour row also had a 35px top margin, which made that heading
   sit twice as far from its cans as the other headings sit from theirs. */
body.lumi-home-light h2.info-cards-heading,
body.lumi-home-light .products-section h2.main-title,
body.lumi-home-light .testimonials-section h2.testimonial-title,
body.lumi-home-light .calculator-section h2.Calculator-heading,
body.lumi-home-light .calculator-section #calc-desktop,
body.lumi-home-light .calculator-section #calc-mob,
body.lumi-home-light .guides-section h2.main-title,
body.lumi-home-light .faq-section h2.main-title {
	margin-bottom: 32px !important;
}
body.lumi-home-light .calculator-section .lumi-calc-intro #calc-desktop {
	margin-bottom: 8px !important;
}
body.lumi-home-light .calculator-section .lumi-calc-lead {
	margin: 0 0 16px;
	color: #344054;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	text-transform: none;
}
/* About: the heading-to-paragraph gap matches the 20px gap between
   the photo and the heading. Same at every width. */
body.lumi-home-light .about-us-section h2 {
	margin-bottom: 20px !important;
}
body.lumi-home-light .products-section .product-variation-slider {
	margin-top: 0 !important;
}
/* Phone carousel only. The container's 20px padding left a white strip at
   the screen edge that covered the card while it was swiped. The track is
   the viewport width; the heading stays in the container. */
@media (max-width: 767.98px) {
	body.lumi-home-light .products-section .product-variation-slider {
		box-sizing: border-box;
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-left: 0;
		padding-right: 0;
	}
	body.lumi-home-light .products-section .product-variation-slider .swiper-wrapper {
		box-sizing: border-box;
		padding-left: 20px;
		padding-right: 20px;
		scroll-padding-left: 20px;
		scroll-padding-right: 20px;
	}
}
body.lumi-home-light .lumi-reviews .lumi-review-grid {
	margin-top: 0;
}
/* Tablet hero: the tick lines stay in one left edge, and that block sits
   under the centred button. Full-width align-start left them on the edge. */
@media (min-width: 681px) and (max-width: 1199px) {
	body.lumi-home-light .hero-section .icon-list-section {
		align-items: flex-start !important;
		width: max-content !important;
		max-width: 100%;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	body.lumi-home-light .hero-section .icon-list-section > .icon-list-item {
		align-self: flex-start !important;
	}
	body.lumi-home-light .hero-section .icon-list-section > .review-box {
		align-self: center !important;
		width: 100% !important;
	}
}

/* Basket. Same panel as the Woo drawer, without its stylesheets. */
html.lumi-cart-open {
	overflow: hidden;
}
.lumi-cart-button {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 18px;
	line-height: 0;
	cursor: pointer;
}
.lumi-cart-button:focus {
	outline: none;
}
.lumi-cart-button:focus-visible {
	outline: 2px solid #101828;
	outline-offset: 2px;
}
.lumi-cart-icon {
	position: relative;
	display: inline-block;
	line-height: 0;
}
.lumi-cart-icon svg {
	display: block;
	width: 30px;
	height: 30px;
}
.lumi-cart-badge {
	position: absolute;
	top: auto;
	bottom: -4px;
	right: -4px;
	left: auto;
	margin: 0;
	transform: none;
	width: 19px;
	height: 19px;
	border-radius: 100%;
	background: #ed422d;
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 19px;
	text-align: center;
	z-index: 1;
}
.lumi-cart {
	position: fixed;
	inset: 0;
	z-index: 1000000;
}
.lumi-cart-overlay {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.35);
	cursor: pointer;
}
.lumi-cart-drawer {
	position: absolute;
	display: flex;
	flex-direction: column;
	background: #fff;
	box-sizing: border-box;
	overflow: hidden;
	z-index: 1;
	top: calc(68px + 5%);
	height: calc(90% - 68px);
	width: 400px;
	right: 1%;
	border-radius: 12px;
}
.lumi-cart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 16px 8px;
}
.lumi-cart-title {
	margin: 0;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 400;
	color: #101828;
}
.lumi-cart-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	padding: 0;
	cursor: pointer;
	color: #101828;
}
.lumi-cart-caption,
.lumi-cart-status {
	margin: 0;
	padding: 8px 16px 0;
	text-align: center;
	color: #344054;
	font-size: 16px;
}
.lumi-cart-items {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 0;
}
.lumi-cart-row {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	border-bottom: 1px solid #e1e4ea;
}
.lumi-cart-row img {
	width: 112px;
	height: 112px;
	object-fit: contain;
	border: 1px solid #e1e4ea;
	border-radius: 8px;
	background: #f6f7f9;
	flex: 0 0 112px;
}
.lumi-cart-row-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	align-self: stretch;
	position: relative;
	box-sizing: border-box;
	min-width: 0;
	height: 112px;
	min-height: 112px;
	padding: 0 64px 0 0;
}
.lumi-cart-name,
.lumi-cart-meta,
.lumi-cart-price {
	margin: 0;
}
.lumi-cart-name {
	font-family: "Soehne", sans-serif !important;
	font-size: 14px;
	/* Soehne Buch (≤450). 500+ loads Extrafett. */
	font-weight: 400 !important;
	line-height: 1.35;
	color: #101828;
}
.lumi-cart-meta {
	margin-top: 2px;
	font-size: 14px;
	font-weight: 400 !important;
	line-height: 1.3;
	color: #344054;
}
.lumi-cart-plan {
	margin: 2px 0 0;
	font-family: "Soehne", sans-serif;
	font-size: 12px;
	font-weight: 400;
	font-synthesis: none;
	line-height: 1.3;
	color: #667085;
}
.lumi-cart-price {
	position: absolute;
	top: 16px;
	right: 16px;
	font-family: "Soehne", sans-serif !important;
	font-size: 14px;
	/* Soehne Buch (≤450). 500+ loads Extrafett. */
	font-weight: 400 !important;
	line-height: 1.35;
	color: #101828;
	white-space: normal;
	text-align: right;
}
.lumi-cart-can,
.lumi-cart-line {
	display: block;
}
.lumi-cart-can {
	color: #667085;
	font-size: 12px;
}
.lumi-cart-actions {
	display: flex;
	align-items: flex-end;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
}
.lumi-cart-qty-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: 126px;
}
.lumi-cart-qty-label {
	display: block;
	margin: 0 0 2px;
	font-family: "Soehne", sans-serif;
	font-size: 12px;
	/* Soehne Buch (≤450). 500+ loads Extrafett. */
	font-weight: 400;
	font-synthesis: none;
	line-height: 1.2;
	color: #667085;
	text-align: center;
}
.lumi-cart-qty {
	display: flex;
	box-sizing: border-box;
	width: 126px;
	height: 34px;
	margin-top: 0;
	border: 1px solid #e1e4ea;
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}
.lumi-cart-qty button {
	box-sizing: border-box;
	flex: 0 0 32px;
	width: 32px;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	background: #fff;
	color: #101828;
	font-size: 19px;
	line-height: 32px;
	text-align: center;
	cursor: pointer;
}
.lumi-cart-qty button:disabled {
	color: #98a2b3;
	cursor: default;
}
.lumi-cart-qty input {
	box-sizing: border-box;
	flex: 1 1 auto;
	width: 62px;
	min-width: 0;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid #e1e4ea;
	border-right: 1px solid #e1e4ea;
	text-align: center;
	font: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 32px;
	color: #101828;
	background: #fff;
}
.lumi-cart-remove {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 34px;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	line-height: 0;
}
.lumi-cart-remove svg {
	display: block;
	width: 18px;
	height: 21px;
}
.lumi-cart-foot {
	position: relative;
	flex: 0 0 auto;
	padding: 16px;
	background: #fafafa;
	box-shadow: none;
}
.lumi-cart-foot::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: repeating-linear-gradient(90deg, #e1e4ea 0 6px, transparent 6px 12px);
}
.lumi-cart-ship {
	margin: 0;
	padding: 12px 16px;
	background: #fff;
	border: 0;
}
.lumi-cart-ship-text {
	margin: 0 !important;
	font-size: 14px;
	font-weight: 400 !important;
	color: #344054;
	text-align: left;
}
.lumi-cart-ship-text strong {
	color: #101828;
	font-weight: 700 !important;
}
.lumi-cart-ship.is-unlocked {
	margin: 0 16px 14px;
	padding: 10px 12px;
	background: #ecfdf3;
	border: 1px solid #abefc6;
	border-radius: 10px;
}
.lumi-cart-ship.is-unlocked .lumi-cart-ship-text,
.lumi-cart-ship.is-unlocked .lumi-cart-ship-text strong {
	color: #067647;
}
.lumi-cart-ship.is-unlocked .lumi-cart-ship-text {
	font-size: 14px;
	line-height: 1.3;
	font-weight: 600;
}
.lumi-cart-ship.is-unlocked .lumi-cart-ship-text strong {
	font-family: "Soehne Extrafett", "Soehne", sans-serif;
	font-weight: 800 !important;
}
.lumi-cart-ship.is-unlocked .lumi-cart-ship-bar {
	height: 4px;
	margin-top: 8px;
	background: #d1fadf;
}
.lumi-cart-ship-bar {
	height: 6px;
	margin-top: 8px;
	background: #eaecf0;
	border-radius: 999px;
	overflow: hidden;
}
.lumi-cart-ship-bar span {
	display: block;
	height: 100%;
	background: #17de81;
	border-radius: 999px;
}
.lumi-cart-sub {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 400;
	color: #344054;
}
.lumi-cart-checkout {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 44px;
	box-sizing: border-box;
	background: #17de81;
	color: #fff !important;
	border: 1px solid #086b40;
	background-clip: padding-box;
	-webkit-text-stroke: 2px #05482c;
	paint-order: stroke fill;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	font-family: "Soehne", sans-serif !important;
	font-size: 16px;
	font-weight: 800 !important;
	line-height: 18px;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	text-decoration: none !important;
}
.lumi-cart-checkout:hover,
.lumi-cart-checkout:focus {
	background: #17de81;
	color: #fff !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
@media (max-width: 680px) {
	.lumi-cart-button {
		padding: 9px 0;
	}
	.lumi-cart-drawer {
		left: 0;
		right: 0;
		width: 100%;
		height: calc(90% - 26px);
		border-radius: 12px 12px 0 0;
	}
}

@media (min-width: 992px) {
	.custom-header .header-container {
		justify-content: space-between !important;
		align-items: center;
		min-height: 48px;
	}

	.custom-header .site-logo,
	.custom-header .site-logo a {
		position: static;
		display: flex;
		align-items: center;
		align-self: center;
		width: 122px;
		height: auto;
		margin: 0;
		line-height: 0;
		transform: none;
	}

	.custom-header .site-logo svg {
		display: block;
	}

	.custom-header .header-right {
		display: flex;
		align-items: center;
		margin-left: auto;
	}

	.custom-header #menu-primary-menu {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		margin: 0;
		transform: none;
	}
}

@media (min-width: 1025px) {
	.custom-header {
		position: relative;
	}
}

/* Footer columns share the row, and each list starts under its heading. */
.site-footer .footer-widgets.row {
	margin-left: 0;
	margin-right: 0;
}
.site-footer .footer-widget ul,
.site-footer .footer-widget ul.menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.site-footer .footer-widget ul li {
	margin: 0 0 10px !important;
	padding: 0 !important;
}
.site-footer .footer-top h4,
.site-footer .footer-widget .wp-block-heading {
	margin: 0 0 14px !important;
	text-align: left !important;
}
.site-footer .footer-widget.col-md-2,
.site-footer .footer-widget.col-md-2 h2,
.site-footer .footer-widget.col-md-2 h4 {
	text-align: left !important;
}
.site-footer .footer-widget.col-md-2 a {
	margin-left: 0 !important;
}
.site-footer .footer-widget.col-md-2 > div:last-child {
	display: flex;
	align-items: center;
	gap: 16px;
}
@media (min-width: 992px) {
	.site-footer .footer-widgets.footer-widgets--has-legal {
		display: grid !important;
		grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(0, 1fr)) minmax(120px, 0.7fr);
		column-gap: 48px;
		align-items: start;
		justify-content: stretch;
		width: 100%;
	}
	.site-footer .footer-widgets--has-legal > .footer-widget {
		flex: none !important;
		max-width: none !important;
		width: auto !important;
		padding: 0 !important;
		text-align: left !important;
	}
}

@media (max-width: 991.98px) {
	.site-footer .footer-top {
		padding: 36px 20px 12px;
	}
	.site-footer .footer-widgets.footer-widgets--has-legal {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 28px 28px;
		width: 100%;
	}
	.site-footer .footer-widgets--has-legal > .footer-widget {
		flex: none !important;
		max-width: none !important;
		width: auto !important;
		padding: 0 !important;
	}
	.site-footer .footer-widgets--has-legal > .footer-widget.col-md-6 {
		grid-column: 1 / -1;
	}
	.site-footer .footer-widget.col-md-6 svg {
		width: 148px;
		height: auto;
		margin-bottom: 12px;
	}
	.site-footer .footer-star-icon {
		display: none;
	}
	.site-footer .footer-top h4,
	.site-footer .footer-widget .wp-block-heading {
		margin: 0 0 10px !important;
		font-family: "Soehne Extrafett", "Soehne", sans-serif;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
	}
	.site-footer .footer-widget ul li a {
		color: #e4e7ec;
		font-size: 14px;
		line-height: 1.35;
	}
	.site-footer .footer-bottom .footer-container {
		padding: 8px 0 16px;
		gap: 14px;
	}
}

/* Footer logo line sits against the wordmark. Soehne Buch: weight 400 stays on the Buch face. */
.site-footer .footer-widget.col-md-6 > div:first-child svg {
	display: block;
	margin-bottom: 0 !important;
}
.site-footer .footer-widget.col-md-6 p.wp-block-paragraph {
	margin-top: 0 !important;
	font-family: "Soehne", sans-serif !important;
	font-weight: 400 !important;
	font-synthesis: none !important;
}

/* Rules that used to print as #lumi-home-light-late. They stay in this
   file so the homepage does not ship a second style block. */
.hero-section .hero-title,
.hero-section .hero-subtitle {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.product-strength-wrapper {
	flex-wrap: nowrap;
}
.products-section .product-strength {
	margin-top: 0;
}
.hero-section .hero-content-top .hero-subtitle {
	margin-bottom: 0 !important;
}
@media (max-width: 680px) {
	.hero-section .hero-content-top .hero-subtitle {
		font-size: 15px !important;
		line-height: 1.3 !important;
		margin-bottom: 0 !important;
	}
	.hero-section .hero-content-top .hero-subtitle .hero-sub-lines {
		font-size: 13px !important;
	}
	.hero-section .hero-sub-foot {
		font-size: 15px !important;
		margin-top: 0 !important;
	}
	.hero-section .icon-list-section {
		padding-top: 14px !important;
	}
}
@media (min-width: 1200px) {
	.hero-section .hero-panel .hero-title {
		/* Fixed size: the old vw formula stretched one line to the edges of the half panel. */
		font-size: 48px !important;
		line-height: 1.05 !important;
		margin: 0 0 16px !important;
		white-space: nowrap;
	}

	.hero-section .hero-panel .hero-content-top .hero-subtitle {
		margin: 0 0 8px !important;
		font-size: 20px !important;
		line-height: 1.35 !important;
	}

	.hero-section .hero-panel .hero-price {
		margin: 0 !important;
	}

	.hero-section .hero-panel .hero-price-table th,
	.hero-section .hero-panel .hero-price-table td {
		min-width: 168px;
		padding: 0 22px;
	}

	.hero-section .hero-panel .hero-price-table th {
		font-size: 16px !important;
		color: #fff !important;
		padding-bottom: 8px;
	}

	.hero-section .hero-panel .hero-price-table data {
		font-size: 28px !important;
		line-height: 1.15 !important;
	}

	.hero-section .hero-panel .hero-price-table .hero-sub-unit {
		font-size: 14px !important;
	}

	.hero-section .hero-panel .hero-sub-foot {
		margin-top: 0 !important;
		font-size: 20px !important;
		line-height: 1.35 !important;
	}
}

/* Below 1200 the chip next to Shop now is hidden and the tick-band copy
   shows under the button. Show the button chip instead, stacked above it.
   14px is the gap that copy had under the button. */
@media (max-width: 1199px) {
	.hero-section .icon-list-section > .review-box {
		display: none !important;
	}
	.hero-section .hero-content-bottom > .review-box {
		display: flex !important;
	}
	.hero-section .hero-content-bottom {
		flex-direction: column !important;
		align-items: center;
		gap: 14px !important;
		margin-top: 0 !important;
	}
	.hero-section .hero-sub-foot {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.hero-section .hero-content-bottom .lumi-btn {
		align-self: stretch;
	}
	.hero-section .hero-price {
		margin-bottom: 14px !important;
	}
}
@media (min-width: 1200px) {
	.hero-section .hero-panel .hero-content-bottom {
		margin-top: 20px !important;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}

	.hero-section .hero-panel .hero-content-bottom > .review-box {
		flex: 0 0 auto;
		max-width: none;
		margin: 0;
	}

	.hero-section .hero-panel .hero-content-bottom .lumi-btn {
		flex: 0 0 auto;
		margin: 0;
	}
}

/* One desktop header for the home page and the other light pages.
   Sign In is a text link here. The dark button is only in the phone menu. */
@media (min-width: 992px) {
	body.lumi-home-light .custom-header,
	body.lumi-light-shell .custom-header,
	body.lumi-pdp-light .custom-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 30 !important;
		display: block !important;
		width: 100% !important;
		box-sizing: border-box;
		padding: 16px 32px 16px 42px !important;
		background: #fff !important;
		border-bottom: 1px solid #eee !important;
	}
	body.lumi-home-light .custom-header .header-container,
	body.lumi-light-shell .custom-header .header-container,
	body.lumi-pdp-light .custom-header .header-container {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 0 !important;
		width: 100%;
		padding: 0 !important;
	}
	body.lumi-home-light .custom-header .site-logo,
	body.lumi-home-light .custom-header .site-logo a,
	body.lumi-light-shell .custom-header .site-logo,
	body.lumi-light-shell .custom-header .site-logo a,
	body.lumi-pdp-light .custom-header .site-logo,
	body.lumi-pdp-light .custom-header .site-logo a {
		display: flex;
		align-items: center;
		width: 122px;
		height: auto;
		margin: 0;
		line-height: 0;
	}
	body.lumi-home-light .custom-header .site-logo svg,
	body.lumi-light-shell .custom-header .site-logo svg,
	body.lumi-pdp-light .custom-header .site-logo svg {
		display: block;
		width: 122px;
		height: auto;
	}
	body.lumi-home-light .custom-header .header-right,
	body.lumi-light-shell .custom-header .header-right,
	body.lumi-pdp-light .custom-header .header-right {
		display: flex;
		align-items: center;
		gap: 22px;
		margin-left: auto;
	}
	body.lumi-home-light .custom-header .main-nav,
	body.lumi-light-shell .custom-header .main-nav {
		padding: 0 !important;
		min-height: 0 !important;
	}
	body.lumi-home-light #menu-primary-menu,
	body.lumi-light-shell #menu-primary-menu {
		display: flex;
		align-items: center;
		gap: 40px !important;
		margin: 0;
	}
	body.lumi-home-light #menu-primary-menu > li,
	body.lumi-light-shell #menu-primary-menu > li {
		margin: 0 !important;
		padding: 0 !important;
		background: none !important;
		background-color: transparent !important;
		border-radius: 0 !important;
	}
	body.lumi-home-light #menu-primary-menu > li > a,
	body.lumi-light-shell #menu-primary-menu > li > a,
	body.lumi-home-light #menu-primary-menu > li.login-menu > a,
	body.lumi-light-shell #menu-primary-menu > li.login-menu > a {
		display: inline !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		background: none !important;
		background-color: transparent !important;
		border-radius: 0 !important;
		color: #101828 !important;
		font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
		font-size: 16px !important;
		font-weight: 800 !important;
		font-synthesis: none !important;
		line-height: 20px !important;
		letter-spacing: normal !important;
		text-transform: none !important;
		text-align: left !important;
	}
}

/* Phone header. Measured on the home page at 384px: bar 69px,
   basket 30×48 starting 10px down, menu 44×40 starting 14px down, 10px gap. */
@media (max-width: 680px) {
	body.lumi-home-light .custom-header,
	body.lumi-light-shell .custom-header,
	body.lumi-pdp-light .custom-header {
		height: 69px;
		min-height: 69px;
		box-sizing: border-box;
		padding: 0 16px !important;
	}
	body.lumi-home-light .custom-header .header-container,
	body.lumi-light-shell .custom-header .header-container,
	body.lumi-pdp-light .custom-header .header-container {
		height: 69px;
		align-items: center;
	}
	body.lumi-home-light .custom-header .site-logo,
	body.lumi-light-shell .custom-header .site-logo,
	body.lumi-pdp-light .custom-header .site-logo,
	body.lumi-home-light .custom-header .site-logo a,
	body.lumi-light-shell .custom-header .site-logo a,
	body.lumi-pdp-light .custom-header .site-logo a {
		display: flex;
		align-items: center;
		width: 122px;
		height: auto;
		margin-top: 0;
	}
	body.lumi-home-light .custom-header .site-logo svg,
	body.lumi-light-shell .custom-header .site-logo svg,
	body.lumi-pdp-light .custom-header .site-logo svg {
		width: 122px !important;
		height: auto;
	}
	body.lumi-home-light .header-right,
	body.lumi-light-shell .header-right,
	body.lumi-pdp-light .header-right {
		align-items: center;
		gap: 10px !important;
	}
	body.lumi-home-light .lumi-cart-button,
	body.lumi-light-shell .lumi-cart-button,
	body.lumi-pdp-light .lumi-cart-button {
		width: 30px;
		height: 48px;
		margin-top: 0;
		padding: 0;
		box-sizing: border-box;
	}
	body.lumi-home-light .navbar-toggler,
	body.lumi-light-shell .navbar-toggler,
	body.lumi-pdp-light .navbar-toggler {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 44px !important;
		height: 40px !important;
		margin-top: 0;
		padding: 0 !important;
		box-sizing: border-box;
		border: 1px solid #e6e6e6 !important;
		border-radius: 5px !important;
		background: #fafafa !important;
	}
	body.lumi-home-light .navbar-toggler .navbar-toggler-icon,
	body.lumi-light-shell .navbar-toggler .navbar-toggler-icon,
	body.lumi-pdp-light .navbar-toggler .navbar-toggler-icon {
		display: block !important;
		width: 18px !important;
		height: 2px !important;
		background: #111 !important;
		background-image: none !important;
		box-shadow: 0 -6px 0 #111, 0 6px 0 #111;
	}
	body.lumi-home-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon,
	body.lumi-light-shell .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon,
	body.lumi-pdp-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
		display: none !important;
	}
	body.lumi-home-light .navbar-toggler[aria-expanded="true"] .close-icon,
	body.lumi-light-shell .navbar-toggler[aria-expanded="true"] .close-icon,
	body.lumi-pdp-light .navbar-toggler[aria-expanded="true"] .close-icon {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		margin: 0;
		line-height: 1;
	}
}

/* Logo is 122×26 on every light header, phone and desktop. */
body.lumi-home-light .custom-header .site-logo a,
body.lumi-light-shell .custom-header .site-logo a,
body.lumi-pdp-light .custom-header .site-logo a,
body.lumi-home-light .custom-header .site-logo svg,
body.lumi-light-shell .custom-header .site-logo svg,
body.lumi-pdp-light .custom-header .site-logo svg {
	width: 122px !important;
	height: 26px !important;
	max-width: 122px !important;
	max-height: 26px !important;
}

body.lumi-home-light .products-section .product-variation-slider .swiper-wrapper {
	align-items: stretch;
}

body.lumi-home-light .products-section .product-card {
	background: transparent;
	border: 0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: none;
	height: auto;
	align-self: stretch;
}

body.lumi-home-light .products-section .lumi-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	background: #fff;
	border: 1px solid #1a9158;
	border-top: 0;
	border-left-color: #e4e7ec;
	border-right-color: #e4e7ec;
	border-radius: 0 0 15px 15px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

body.lumi-home-light .products-section .product-card,
body.lumi-home-light .products-section .product-card > article,
body.lumi-home-light .products-section .slide-link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.lumi-home-light .products-section .product-card > article {
	flex: 1 1 auto;
	min-height: 100%;
}

body.lumi-home-light .products-section .slide-link {
	color: inherit;
	text-decoration: none;
	flex: 1 1 auto;
	min-height: 100%;
}

body.lumi-home-light .products-section .product-subprice {
	margin-bottom: 16px;
}

body.lumi-home-light .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.lumi-home-light .products-section .lumi-card-prices {
	width: calc(100% - 28px);
	margin: 18px 14px 16px;
	border-collapse: collapse;
	border: 0;
	background: transparent;
	text-align: center;
}

body.lumi-home-light .products-section .lumi-card-prices caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.lumi-home-light .products-section .lumi-card-prices th,
body.lumi-home-light .products-section .lumi-card-prices td {
	width: 50%;
	padding: 0;
	border: 0;
	background: transparent;
	vertical-align: top;
	text-align: center;
}

body.lumi-home-light .products-section .lumi-card-prices th + th,
body.lumi-home-light .products-section .lumi-card-prices td + td {
	padding-left: 12px;
	border-left: 1px solid #eaecf0;
}

body.lumi-home-light .products-section .product-strength {
	font-size: 14px;
	line-height: 1.2;
}

body.lumi-home-light .products-section .lumi-card-prices th {
	padding-bottom: 2px;
	font-size: 14px;
	line-height: 1.15;
	font-weight: 600 !important;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #475569;
	white-space: nowrap;
}

body.lumi-home-light .products-section .lumi-card-prices td .lumi-card-plan-amt,
body.lumi-home-light .products-section .lumi-card-prices td .lumi-card-plan-amt data,
body.lumi-home-light .products-section .lumi-card-prices td .lumi-card-plan-amt .woocommerce-Price-amount,
body.lumi-home-light .products-section .lumi-card-prices td .lumi-card-plan-amt .woocommerce-Price-amount bdi,
body.lumi-home-light .products-section .lumi-card-prices td .lumi-card-plan-amt .woocommerce-Price-currencySymbol,
body.lumi-home-light .products-section .lumi-card-prices td .lumi-card-plan-unit {
	font-family: "Soehne", sans-serif !important;
	font-weight: 400 !important;
	font-synthesis: none;
	color: rgba(52, 64, 84, 1) !important;
}

body.lumi-home-light .products-section .lumi-card-plan-amt,
body.lumi-home-light .products-section .lumi-card-plan-amt data,
body.lumi-home-light .products-section .lumi-card-plan-amt .woocommerce-Price-amount,
body.lumi-home-light .products-section .lumi-card-plan-amt .woocommerce-Price-amount bdi,
body.lumi-home-light .products-section .lumi-card-plan-amt .woocommerce-Price-currencySymbol {
	font-family: "Soehne", sans-serif !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	color: #101828;
	white-space: nowrap;
}

body.lumi-home-light .products-section .lumi-card-plan-unit {
	font-size: 11px !important;
	font-weight: 500 !important;
	color: #667085;
}

body.lumi-home-light .products-section .product-image {
	margin-bottom: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none !important;
}

body.lumi-home-light .products-section .product-title,
body.lumi-home-light .products-section .product-strength-block,
body.lumi-home-light .products-section .product-price,
body.lumi-home-light .products-section .product-subprice {
	margin-left: 14px;
	margin-right: 14px;
	text-align: center;
}

body.lumi-home-light .products-section .product-strength-wrapper {
	justify-content: center;
}

body.lumi-home-light .products-section .product-title {
	margin-top: 14px;
	font-size: 22px;
	line-height: 26px;
	text-transform: uppercase;
}

body.lumi-home-light .products-section .lumi-card-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% + 2px);
	margin: auto -1px 0;
	min-height: 48px;
	padding: 12px 10px;
	box-sizing: border-box;
	border: 0;
	border-top: 1px solid #1a9158;
	border-left: 1px solid #1a9158;
	border-right: 1px solid #1a9158;
	border-radius: 0 0 15px 15px;
	background: #17de81;
	background-clip: padding-box;
	-webkit-text-stroke: 2px #05482c;
	paint-order: stroke fill;
	color: #fff;
	font-family: "Soehne Extrafett", "Soehne", sans-serif !important;
	font-size: 14px;
	font-weight: 800 !important;
	font-synthesis: none !important;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
	body.lumi-home-light .products-section .product-card:hover {
		filter: none;
	}
	body.lumi-home-light .products-section .product-card:hover .lumi-card-body {
		border-color: #1a9158;
		box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08);
	}
}
