/* Lumen commerce: presentation of native WooCommerce and Germanized markup. */
.efh-lu .lu-shop { min-width: 0; color: var(--lu-text); font-family: var(--lu-sans); }
.efh-lu .lu-shop :where(*, *::before, *::after) { box-sizing: border-box; }
.efh-lu .lu-shop :where(h1, h2, h3, h4, p, a, label) { overflow-wrap: anywhere; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-Price-amount, .amount) { white-space: nowrap; overflow-wrap: normal; word-break: normal; hyphens: none; }
.efh-lu .lu-page.lu-shop > .lu-shop__hero { display: block; padding-top: calc(var(--lu-head-offset, 0px) + clamp(48px, 6.5vw, 96px)); }
.efh-lu .lu-page.lu-shop:not(.lu-shop--single) > .lu-shop__hero { padding-bottom: clamp(44px, 5vw, 72px); }
.efh-lu .lu-shop__intro { max-width: 900px; }
.efh-lu .lu-shop .woocommerce-products-header__title { margin: 0; color: var(--lu-ink); font: 800 clamp(38px, 4.5vw, 64px)/1.08 var(--lu-sans); letter-spacing: -.018em; }
.efh-lu .lu-shop__hero :is(.term-description, .page-description) { max-width: 760px; margin-top: 24px; font-size: 18px; line-height: 1.75; }
.efh-lu .lu-shop__hero :is(.term-description, .page-description) > * + * { margin-top: 1em; }
.efh-lu .lu-shop__content { min-width: 0; padding: clamp(36px, 4.5vw, 64px) var(--lu-pad) clamp(72px, 8vw, 112px); }
.efh-lu .lu-shop__content > p { margin-top: 24px; }
.efh-lu .lu-shop__content > h3 { margin-top: 32px; color: var(--lu-turq-deep); font-size: 26px; }
.efh-lu .lu-shop__tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 28px; margin-bottom: 32px; }
.efh-lu .lu-shop__tools .woocommerce-notices-wrapper { flex-basis: 100%; }
.efh-lu .lu-shop__tools .woocommerce-notices-wrapper:empty { display: none; }
.efh-lu .lu-shop__tools :is(.woocommerce-result-count, .woocommerce-ordering) { float: none; margin: 0; }
.efh-lu .lu-shop__tools .woocommerce-result-count { color: var(--lu-meta); font-size: 16px; }
.efh-lu .lu-shop__tools .woocommerce-ordering { max-width: 100%; }
.efh-lu .lu-shop .woocommerce-ordering select { width: 100%; max-width: 100%; min-height: 48px; padding: 10px 36px 10px 18px; border: 1px solid var(--lu-line-strong); border-radius: 999px; background: var(--lu-mist); color: var(--lu-ink); font: 400 16px/1.5 var(--lu-sans); }
@media (max-width: 599px) {
    .efh-lu .lu-shop__tools .woocommerce-ordering { width: 100%; }
}

/* Product cards, shared by the shop, upsells, related products and cross-sells;
   the markup hooks are in lumen-commerce.php. The box photo stands on a stage lit
   in the colour of its box (its white background is multiplied into the stage).
   Above the title a row of wells, one per parameter, coloured as on the plate of
   the product page. The footer holds the price beside its Germanized notes and
   the cart button below, at the same height in every card of a row. */
body.efh-lu { --lu-tile-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8.5h13l-1 11.5h-11z'/%3E%3Cpath d='M9 8.5V7a3 3 0 0 1 6 0v1.5'/%3E%3C/svg%3E"); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(20px, 2.5vw, 32px); margin: 0; padding: 0; list-style: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products::before, .efh-lu :is(.lu-shop, .woocommerce) ul.products::after { display: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product { position: relative; display: flex; float: none; clear: none; flex-direction: column; width: auto; min-width: 0; margin: 0; padding: 10px; border: 1px solid var(--lu-line); border-radius: 30px; background: #fff; box-shadow: 0 1px 2px rgba(20, 58, 64, .04); text-align: left; transition: box-shadow .35s var(--lu-ease); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex: 1 1 auto; flex-direction: column; margin-bottom: 0; border-radius: 21px; color: var(--lu-ink); text-decoration: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__stage { --lu-tile: var(--lu-turq); position: relative; display: block; isolation: isolate; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 21px; background: linear-gradient(180deg, #f8fbfb 0%, #eaf3f3 100%); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__stage::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(64% 82% at 68% 50%, color-mix(in srgb, var(--lu-tile) 44%, transparent) 0%, color-mix(in srgb, var(--lu-tile) 16%, transparent) 50%, transparent 82%); opacity: .8; transition: opacity .5s var(--lu-ease); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .lu-tile__stage img { display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; object-fit: contain; mix-blend-mode: multiply; transform: none; transition: transform .5s var(--lu-ease); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 20px 12px 10px; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__wells { display: flex; flex-wrap: wrap; gap: 4px; max-width: 100%; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__well { --kind: var(--lu-turq); width: 9px; height: 9px; border-radius: 50%; background: var(--kind); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__well--intra { --kind: var(--lu-green); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__well--urine { --kind: #fbb900; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__well--saliva { --kind: var(--lu-ink); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__count { color: var(--lu-turq-deep); font: 700 14px/1.3 var(--lu-sans); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title) { margin: 0 12px; padding: 0; color: var(--lu-ink); font: 800 clamp(20px, 1.6vw, 22px)/1.3 var(--lu-sans); letter-spacing: -.01em; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .lu-tile__stage + .woocommerce-loop-product__title { margin-top: 20px; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .price { display: block; margin: 0; color: var(--lu-ink); font: 800 26px/1.3 var(--lu-sans); letter-spacing: -.01em; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .price .amount { display: inline; padding: 0; border-radius: 0; background: none; color: inherit; font: inherit; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .price ins { background: none; text-decoration: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .price del { color: var(--lu-meta); font-size: .8em; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .price-unit { margin: 2px 0 0; font-size: 15px; font-weight: 400; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .price-unit .amount { color: inherit; font: inherit; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin: 0; padding: 20px 12px 12px; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__price { flex: none; min-width: 0; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__legal { flex: 1 1 130px; min-width: 0; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products .lu-tile__legal:empty { display: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product :is(.wc-gzd-additional-info, .legal-price-info) { margin: 0; color: var(--lu-meta); font: 400 14px/1.6 var(--lu-sans); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .wc-gzd-additional-info a { color: inherit; text-decoration: underline; text-decoration-color: var(--lu-line-strong); text-underline-offset: 3px; }
.efh-lu :is(.lu-shop, .woocommerce) .shipping-costs-info { filter: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .button { display: flex; flex: 1 1 100%; align-items: center; justify-content: center; gap: 10px; min-height: 54px; max-width: 100%; margin: 14px 0 0; padding: 13px 22px; border: 0; border-radius: 999px; background: var(--lu-button); background-size: 220% 100%; background-position: 0 0; color: #fff; font: 700 19px/1.25 var(--lu-sans); letter-spacing: .005em; text-align: center; text-decoration: none; text-shadow: 0 1px 1px rgba(30, 70, 10, .28); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 -2px 0 rgba(0, 0, 0, .08), 0 14px 28px -14px rgba(92, 159, 44, .95); opacity: 1; transition: background-position .4s var(--lu-ease), box-shadow .25s ease, transform .16s ease-out; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .button.add_to_cart_button::before { content: ""; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--lu-tile-bag) center / contain no-repeat; mask: var(--lu-tile-bag) center / contain no-repeat; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .button:active { transform: scale(.97); }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product a.added_to_cart { flex-basis: 100%; display: block; min-height: 44px; margin: 0; padding: 10px 0 0; color: var(--lu-turq-deep); font: 700 15px/1.5 var(--lu-sans); text-align: center; }
.efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .onsale { top: 22px; right: 22px; left: auto; z-index: 1; min-width: 44px; min-height: 44px; margin: 0; padding: 10px; border-radius: 999px; background: var(--lu-turq-deep); color: #fff; font: 700 14px/1.6 var(--lu-sans); }
.efh-lu .lu-shop .woocommerce-pagination { margin-top: 44px; }
.efh-lu .lu-shop .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; border: 0; list-style: none; }
.efh-lu .lu-shop .woocommerce-pagination ul.page-numbers li { float: none; margin: 0; border: 0; }
.efh-lu .lu-shop .woocommerce-pagination .page-numbers :is(a, span) { display: grid; place-items: center; min-width: 46px; min-height: 46px; padding: 10px 16px; border: 1px solid var(--lu-line-strong); border-radius: 999px; background: #fff; color: var(--lu-turq-deep); font: 700 16px/1.4 var(--lu-sans); text-decoration: none; }
.efh-lu .lu-shop .woocommerce-pagination .page-numbers .current { border-color: var(--lu-turq-deep); background: var(--lu-turq-deep); color: #fff; }
@media (min-width: 600px) {
    .efh-lu :is(.lu-shop, .woocommerce) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
    .efh-lu :is(.lu-shop, .woocommerce) ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (hover: hover) and (pointer: fine) {
    .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product:hover { box-shadow: 0 22px 48px -22px rgba(20, 58, 64, .3); }
    .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product:hover .lu-tile__stage::before { opacity: 1; }
    .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product:hover .lu-tile__stage img { transform: translateY(-6px); }
    .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product .button:hover { background-position: 100% 0; color: #fff; opacity: 1; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 -2px 0 rgba(0, 0, 0, .08), 0 18px 34px -14px rgba(42, 155, 161, .9); }
    .efh-lu .lu-shop .woocommerce-pagination .page-numbers a:hover { background: var(--lu-mist-2); color: var(--lu-ink); }
}
@media (prefers-reduced-motion: reduce) {
    .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product, .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product :is(.button, .lu-tile__stage img, .lu-tile__stage::before) { transition: none; }
    .efh-lu :is(.lu-shop, .woocommerce) ul.products li.product:hover .lu-tile__stage img { transform: none; }
}

/* The approved buy hero, with the native WC layout/price badges neutralised. */
.efh-lu div.lu-shop.product .lu-buy .summary.entry-summary { float: none; width: auto; min-width: 0; margin: 0; }
.efh-lu .lu-shop .lu-buy .product_title { overflow-wrap: anywhere; }
.efh-lu .lu-buy .summary.entry-summary .lu-buy__price > .price:not(.price-unit) { margin: 0; color: var(--lu-ink); font: 800 clamp(36px, 3.2vw, 46px)/1 var(--lu-sans); letter-spacing: -.01em; }
.efh-lu .lu-buy .summary.entry-summary .price:not(.price-unit) .amount { display: inline; padding: 0; border-radius: 0; background: linear-gradient(100deg, #5c9f2c 0%, #2a9ba1 42%, var(--lu-ink) 58%) 100% 0 / 240% 100% no-repeat; color: var(--lu-ink); font: inherit; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; transition: background-position .6s var(--lu-ease); }
.efh-lu .lu-buy .summary.entry-summary .price:not(.price-unit) ins { background: none; text-decoration: none; }
.efh-lu .lu-buy .summary.entry-summary .price:not(.price-unit) del { font-size: .65em; opacity: .75; }
.efh-lu .lu-buy .summary.entry-summary .price-unit { margin-top: 12px; color: var(--lu-text); font: 400 16px/1.6 var(--lu-sans); letter-spacing: 0; }
.efh-lu .lu-buy .summary.entry-summary .price-unit .amount { display: inline; padding: 0; border-radius: 0; background: none; color: inherit; font: inherit; -webkit-text-fill-color: currentColor; }
.efh-lu .lu-buy .summary.entry-summary .legal-price-info p { margin: 10px 0 0; }
.efh-lu .lu-buy .summary.entry-summary .woocommerce-product-rating { margin-top: 20px; margin-bottom: 0; color: var(--lu-text); font-size: 15px; }
.efh-lu .lu-buy .summary.entry-summary .product_meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 24px; color: var(--lu-meta); font: 400 14px/1.65 var(--lu-sans); }
.efh-lu .lu-buy .summary.entry-summary .product_meta > span { display: block; }
.efh-lu div.lu-shop.product .lu-buy form.cart { align-items: center; gap: 14px; margin: 34px 0 0; }
.efh-lu div.lu-shop.product .lu-buy form.cart .quantity { gap: 0; min-height: 58px; margin: 0; padding: 4px; border: 0; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--lu-line-strong); }
.efh-lu div.lu-shop.product .lu-buy form.cart .quantity input.qty { width: 52px; height: 48px; min-height: 48px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--lu-ink); font: 700 18px/1 var(--lu-sans); }
.efh-lu div.lu-shop.product .lu-buy form.cart .quantity .qty-btn { width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: var(--lu-mist); color: var(--lu-ink); font: 700 20px/1 var(--lu-sans); transform: none; }
.efh-lu div.lu-shop.product .lu-buy form.cart .single_add_to_cart_button { min-height: 58px; margin: 0; padding: 15px 34px; border: 0; border-radius: 999px; background: var(--lu-button); background-size: 220% 100%; color: #fff; font: 700 19px/1.25 var(--lu-sans); filter: none; opacity: 1; }
/* Preserve the pilot's box photo size; a portrait fits fully inside the lens. */
.efh-lu .lu-buy .lu-buy__box--portrait img { width: 60%; height: 76%; max-width: 60%; max-height: 76%; object-fit: contain; }
.efh-lu .lu-shop .lu-buy :is(input, button):focus-visible { outline: 2px solid var(--lu-turq-deep); outline-offset: 3px; box-shadow: none; }
.efh-lu .lu-shop .lu-buy { scroll-margin-top: var(--lu-sticky, 100px); }
@media (hover: hover) and (pointer: fine) {
    .efh-lu .lu-buy .summary.entry-summary .lu-buy__price:hover .price:not(.price-unit) .amount { background-position: 0 0; }
    .efh-lu div.lu-shop.product .lu-buy form.cart .single_add_to_cart_button:hover { background-position: 100% 0; color: #fff; opacity: 1; }
    .efh-lu div.lu-shop.product .lu-buy form.cart .quantity .qty-btn:hover { background: var(--lu-mist-2); }
}
@media (max-width: 599px) {
    .efh-lu div.lu-shop.product .lu-buy form.cart .single_add_to_cart_button { flex: 1 1 100%; width: 100%; padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .efh-lu .lu-buy .summary.entry-summary .price .amount { transition: none; }
}

/* Complete short descriptions: a calm reading column, without invented copy. */
.efh-lu .lu-product-text { padding-block: clamp(56px, 6vw, 88px); }
.efh-lu .lu-product-text__content { max-width: 760px; margin-inline: auto; color: var(--lu-text); font-size: 18px; line-height: 1.8; }
.efh-lu .lu-product-text__content :where(p, ul, ol, blockquote, figure, table) { margin: 0; }
.efh-lu .lu-product-text__content > * + * { margin-top: 1.15em; }
.efh-lu .lu-product-text__content :is(h2, h3, h4, h5, h6) { margin: 1.8em 0 .7em; color: var(--lu-turq); font-weight: 800; line-height: 1.25; }
.efh-lu .lu-product-text__content h2 { font-size: clamp(27px, 2.5vw, 34px); }
.efh-lu .lu-product-text__content h3 { font-size: clamp(23px, 2vw, 28px); }
.efh-lu .lu-product-text__content :is(h4, h5, h6) { font-size: 21px; }
.efh-lu .lu-product-text__content > :first-child { margin-top: 0; }
.efh-lu .lu-product-text__content :is(h2, h3, h4) + * { margin-top: .7em; }
.efh-lu .lu-product-text__content strong { color: var(--lu-ink); }
.efh-lu .lu-product-text__content ul { display: grid; gap: .5em; padding: 0; list-style: none; }
.efh-lu .lu-product-text__content ul > li { position: relative; margin: 0; padding-left: 30px; }
.efh-lu .lu-product-text__content ul > li::before { content: ""; position: absolute; top: .62em; left: 6px; width: 9px; height: 9px; border-radius: 50%; background: linear-gradient(135deg, var(--lu-turq), var(--lu-green)); }
.efh-lu .lu-product-text__content ol { padding-left: 1.5em; }
.efh-lu .lu-product-text__content ol > li { margin-block: .5em; padding-left: .4em; }
.efh-lu .lu-product-text__content li :is(ul, ol) { margin-top: .5em; }
.efh-lu .lu-product-text__content a { color: var(--lu-turq-deep); text-decoration: underline; text-underline-offset: .18em; }
.efh-lu .lu-product-text__content img { max-width: 100%; height: auto; object-fit: contain; }
.efh-lu .lu-product-text__content :is(iframe, video) { max-width: 100%; }
.efh-lu .lu-product-text__content .efh-icons { font-family: var(--lu-sans); }
.efh-lu .lu-product-text__content .efh-icons__grid { grid-template-columns: minmax(0, 1fr); align-items: center; gap: 20px 24px; margin: 0; padding: 24px; border: 1px solid var(--lu-line); border-radius: 24px; background: var(--lu-mist); }
.efh-lu .lu-product-text__content .efh-icons__grid > li { padding-left: 0; }
.efh-lu .lu-product-text__content .efh-icons__grid > li::before { content: none; }
.efh-lu .lu-product-text__content .efh-icon { grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 14px; min-width: 0; color: var(--lu-ink); font: 700 16px/1.3 var(--lu-sans); letter-spacing: 0; }
.efh-lu .lu-product-text__content .efh-icon > img { box-sizing: border-box; width: 52px; height: 52px; padding: 12px; border-radius: 50%; background: #fff; object-fit: contain; box-shadow: 0 0 0 1px rgba(68, 184, 190, .35), 0 8px 18px -10px rgba(20, 58, 64, .3); }
.efh-lu .lu-product-text__content .efh-icon__label { color: var(--lu-ink); font: 700 16px/1.3 var(--lu-sans); opacity: 1; overflow-wrap: normal; hyphens: auto; }
.efh-lu .lu-shop > :is(.related.products, .upsells.products) { float: none; width: auto; margin: 0; padding: clamp(56px, 6vw, 88px) var(--lu-pad); border-top: 1px solid var(--lu-line); }
.efh-lu .lu-shop--single > :is(.related.products, .upsells.products) > h2 { margin: 0 0 32px; color: var(--lu-turq); font-size: clamp(32px, 3.6vw, 50px); line-height: 1.1; letter-spacing: -.015em; }
/* Free text around the goals and parameters (lumen-product-sections.php): an
   introduction reads as a lead, a note after the parameters as a quiet card. */
.efh-lu .lu-product-text--lead,
.efh-lu .lu-product-text--note { padding-block: clamp(40px, 5vw, 72px) 0; }
.efh-lu .lu-product-text--lead + .lu-assay-section { padding-top: clamp(48px, 6vw, 88px); }
.efh-lu .lu-product-text .notice-single-product { display: block; font-size: inherit; line-height: inherit; }
/* A note after the parameters belongs to them: close below the plate, on its left edge. */
.efh-lu .lu-assay-section:has(+ .lu-product-text--note) { padding-bottom: clamp(36px, 4vw, 56px); }
.efh-lu .lu-assay-section + .lu-product-text--note { padding-top: 0; }
.efh-lu .lu-assay-section + .lu-product-text--note .lu-product-text__content { max-width: 820px; margin-inline: 0; }
.efh-lu .lu-product-text--lead .lu-product-text__content { color: var(--lu-ink); font-size: clamp(19px, 1.6vw, 22px); line-height: 1.65; }
.efh-lu .lu-product-text--note .notice-single-product { padding: clamp(22px, 2.6vw, 30px) clamp(24px, 3vw, 36px); border-radius: 24px; background: var(--lu-mist); box-shadow: inset 0 0 0 1px var(--lu-line); font-size: 16.5px; line-height: 1.7; }
.efh-lu .lu-product-text--note { padding-bottom: clamp(56px, 6vw, 88px); }
.efh-lu .lu-shop .lu-product-tabs { clear: both; padding-block: clamp(48px, 5vw, 72px); border-top: 1px solid var(--lu-line); }
.efh-lu .lu-shop.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; padding: 0; overflow: visible; }
.efh-lu .lu-shop.product .woocommerce-tabs ul.tabs::before, .efh-lu .lu-shop.product .woocommerce-tabs ul.tabs li::before, .efh-lu .lu-shop.product .woocommerce-tabs ul.tabs li::after { content: none; }
.efh-lu .lu-shop.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 1px solid var(--lu-line-strong); border-radius: 999px; background: var(--lu-mist); }
.efh-lu .lu-shop.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 22px; color: var(--lu-turq-deep); font-size: 16px; }
.efh-lu .lu-shop.product .woocommerce-tabs ul.tabs li.active { border-color: var(--lu-turq-deep); background: #fff; }
.efh-lu .lu-shop.product .woocommerce-tabs .panel { max-width: 760px; margin: 0; color: var(--lu-text); line-height: 1.8; }
.efh-lu .lu-shop.product .woocommerce-tabs .panel :is(h2, h3) { margin: 0 0 24px; color: var(--lu-turq-deep); font-size: 28px; }
.efh-lu .lu-shop.product .woocommerce-tabs .panel p + p { margin-top: 1em; }
@media (max-width: 599px) {
    .efh-lu .lu-product-text__content { font-size: 17px; }
    .efh-lu .lu-product-text__content .efh-icons__grid { gap: 18px; padding: 20px; }
}
@media (min-width: 600px) {
    .efh-lu .lu-product-text__content .efh-icons__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Legacy analysis markup keeps its wording and tap toggle, with Lumen surfaces. */
.efh-lu .lu-product-text .single-analysis-container { width: 100%; max-width: none; margin: 32px 0 0; border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; color: var(--lu-ink); font: 400 17px/1.55 var(--lu-sans); overflow: visible; }
.efh-lu .lu-product-text .single-analysis-container:first-child { margin-top: 0; }
.efh-lu .lu-product-text .analysis-header { display: block; padding: 24px 20px; border: 0; border-bottom: 1px solid var(--lu-line); color: var(--lu-turq); font: 800 clamp(23px, 2vw, 28px)/1.25 var(--lu-sans); }
.efh-lu .lu-product-text .analysis-item { display: grid; grid-template-columns: minmax(0, 1fr) 24px; align-items: center; gap: 16px; min-height: 48px; padding: 14px 20px; border: 0; border-bottom: 1px solid var(--lu-line); background: transparent; color: var(--lu-ink); font: 400 17px/1.55 var(--lu-sans); line-height: 1.55 !important; }
.efh-lu .lu-product-text .analysis-item:last-child { border-bottom: 0; }
.efh-lu .lu-product-text .analysis-item-text { color: var(--lu-ink); }
.efh-lu .lu-product-text .analysis-checkmark { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, var(--lu-green), #5c9f2c); color: #fff; font: 800 16px/1 var(--lu-sans); }
.efh-lu .lu-product-text .custom-tooltip-container { position: relative; display: block; min-width: 0; min-height: 44px; margin-block: -8px; padding-block: 8px; border-radius: 6px; color: var(--lu-ink); text-align: left; cursor: help; }
.efh-lu .lu-product-text .tooltip-trigger-text { border: 0; color: var(--lu-ink); font: inherit; text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--lu-turq); text-decoration-thickness: 1.5px; text-underline-offset: .25em; text-decoration-skip-ink: none; }
.efh-lu .lu-product-text .custom-tooltip { position: absolute; z-index: 30; top: auto; right: auto; bottom: calc(100% + 12px); left: 0; width: min(320px, calc(100vw - 2 * var(--lu-gutter) - 42px)); max-width: none; margin: 0; padding: 18px; border: 1px solid var(--lu-line); border-radius: 16px; background: #fff; color: var(--lu-text); font: 400 15px/1.55 var(--lu-sans); text-align: left; white-space: normal; overflow-wrap: anywhere; box-shadow: var(--lu-shadow); transform: none; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .15s ease, visibility .15s ease; }
.efh-lu .lu-product-text .custom-tooltip::before { content: ""; position: absolute; top: 100%; left: 0; width: 100%; height: 13px; }
.efh-lu .lu-product-text .custom-tooltip::after { content: ""; position: absolute; top: 100%; left: 24px; width: 12px; height: 12px; margin: -6px 0 0; border: 0; border-right: 1px solid var(--lu-line); border-bottom: 1px solid var(--lu-line); background: #fff; transform: rotate(45deg); }
.efh-lu .lu-product-text .custom-tooltip .tooltip-heading { margin: 0 0 10px; padding: 0; border: 0; color: var(--lu-ink); font: 600 16px/1.4 var(--lu-sans); }
.efh-lu .lu-product-text .custom-tooltip .tooltip-body { margin: 0; padding: 0; color: var(--lu-text); font: 400 15px/1.55 var(--lu-sans); }
.efh-lu .lu-product-text .custom-tooltip .tooltip-body > * + * { margin-top: .7em; }
/* Focus-visible opens the card for keyboards without keeping a tapped toggle open. */
.efh-lu .lu-product-text .custom-tooltip-container:is(:focus-visible, :has(:focus-visible), .show-tooltip) > .custom-tooltip { visibility: visible; opacity: 1; pointer-events: auto; }
.efh-lu .lu-product-text .custom-tooltip-container:is(:focus-visible, :has(:focus-visible)) { outline: 2px solid var(--lu-turq-deep); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
    .efh-lu .lu-product-text .custom-tooltip-container:hover > .custom-tooltip { visibility: visible; opacity: 1; pointer-events: auto; }
}
@media (max-width: 599px) {
    .efh-lu .lu-product-text .analysis-item { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .efh-lu .lu-product-text .custom-tooltip { transition: none; }
}

/* Classic form controls follow the Lumen contact form. */
.efh-lu :is(.lu-shop, .woocommerce) form :is(input.input-text, textarea, select), .efh-lu .woocommerce-ordering select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 54px; max-width: 100%; padding: 14px 18px; border: 0; border-radius: 16px; background: var(--lu-mist); color: var(--lu-ink); font: 400 16px/1.5 var(--lu-sans); box-shadow: inset 0 0 0 1px var(--lu-line-strong); transition: background-color .2s ease, box-shadow .2s ease; }
.efh-lu :is(.lu-shop, .woocommerce) form textarea { min-height: 150px; resize: vertical; }
.efh-lu :is(.lu-shop, .woocommerce) form :is(input.input-text, textarea, select):focus, .efh-lu .woocommerce-ordering select:focus { outline: 2px solid var(--lu-turq-deep); outline-offset: 2px; background: #fff; box-shadow: inset 0 0 0 2px var(--lu-turq); }
.efh-lu :is(.lu-shop, .woocommerce) form :is(input, textarea)::placeholder { color: var(--lu-meta); opacity: 1; }
.efh-lu :is(.lu-shop, .woocommerce) form .form-row { min-width: 0; margin: 0 0 22px; padding: 0; }
.efh-lu :is(.lu-shop, .woocommerce) form .form-row label { margin-bottom: 8px; color: var(--lu-ink); font: 600 16px/1.6 var(--lu-sans); }
.efh-lu :is(.lu-shop, .woocommerce) form .form-row .required { color: #a73514; text-decoration: none; }
.efh-lu :is(.lu-shop, .woocommerce) form [data-checkbox], .efh-lu :is(.lu-shop, .woocommerce) form [data-checkbox] :is(label, span) { color: var(--lu-text); font-size: 17px; line-height: 1.7; }
.efh-lu :is(.lu-shop, .woocommerce) form :is(input[type="checkbox"], input[type="radio"]) { flex: none; width: 22px; height: 22px; min-width: 22px; margin: 0 8px 0 0; accent-color: var(--lu-turq-deep); vertical-align: middle; }
.efh-lu :is(.lu-shop, .woocommerce) form :is(input[type="checkbox"], input[type="radio"]):focus-visible { outline: 2px solid var(--lu-turq-deep); outline-offset: 3px; }
.efh-lu :is(.lu-shop, .woocommerce) form label:has(> :is(input[type="checkbox"], input[type="radio"])) { min-height: 44px; padding-block: 8px; cursor: pointer; }
.efh-lu :is(.lu-shop, .woocommerce) form .form-row.woocommerce-invalid :is(input.input-text, textarea, select) { box-shadow: inset 0 0 0 2px #e84f14; }
.efh-lu :is(.lu-shop, .woocommerce) .select2-container { width: 100% !important; min-width: 0; max-width: 100%; }
.efh-lu :is(.lu-shop, .woocommerce) .select2-container--default .select2-selection--single { min-height: 54px; height: auto; padding: 14px 38px 14px 18px; border: 0; border-radius: 16px; background: var(--lu-mist); box-shadow: inset 0 0 0 1px var(--lu-line-strong); }
.efh-lu :is(.lu-shop, .woocommerce) .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; color: var(--lu-ink); font: 400 16px/26px var(--lu-sans); white-space: normal; }
.efh-lu :is(.lu-shop, .woocommerce) .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 12px; height: 54px; }
.efh-lu :is(.lu-shop, .woocommerce) .select2-container--open .select2-selection--single, .efh-lu :is(.lu-shop, .woocommerce) .select2-selection--single:focus { outline: 2px solid var(--lu-turq-deep); outline-offset: 2px; background: #fff; box-shadow: inset 0 0 0 2px var(--lu-turq); }
.efh-lu .select2-dropdown { border: 1px solid var(--lu-line-strong); border-radius: 16px; background: #fff; color: var(--lu-ink); font: 400 16px/1.6 var(--lu-sans); box-shadow: var(--lu-shadow); overflow: hidden; }
.efh-lu .select2-container--default .select2-search--dropdown .select2-search__field { min-height: 44px; border: 1px solid var(--lu-line-strong); border-radius: 10px; background: var(--lu-mist); color: var(--lu-ink); font: inherit; }
.efh-lu .select2-container--default .select2-results__option { min-height: 44px; padding: 10px 16px; }
.efh-lu .select2-container--default .select2-results__option--highlighted[aria-selected], .efh-lu .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--lu-turq-deep); color: #fff; }
.efh-lu :is(.lu-shop, .woocommerce) :is(a, button, input).button, .efh-lu.woocommerce-checkout #place_order, .efh-lu .lu-shop #respond input#submit { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; max-width: 100%; padding: 14px 28px; border: 0; border-radius: 999px; background: var(--lu-button); background-size: 220% 100%; color: #fff; font: 700 19px/1.3 var(--lu-sans); text-align: center; text-decoration: none; text-shadow: 0 1px 1px rgba(30, 70, 10, .28); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 -2px 0 rgba(0, 0, 0, .08), 0 14px 28px -14px rgba(92, 159, 44, .7); filter: none; opacity: 1; white-space: normal; cursor: pointer; transition: background-position .5s var(--lu-ease), box-shadow .25s ease; }
.efh-lu :is(.lu-shop, .woocommerce) :is(a, button, input).button:focus-visible, .efh-lu.woocommerce-checkout #place_order:focus-visible, .efh-lu .lu-shop #respond input#submit:focus-visible { outline: 2px solid var(--lu-turq-deep); outline-offset: 4px; }
.efh-lu :is(.lu-shop, .woocommerce) :is(button, input).button:disabled, .efh-lu :is(.lu-shop, .woocommerce) .button.disabled { opacity: .6; cursor: default; }
.efh-lu :is(.lu-shop, .woocommerce) :is(button[name="update_cart"], button[name="apply_coupon"], .shipping-calculator-form .button, .woocommerce-orders-table .button, .woocommerce-Address .edit) { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 22px; border: 1px solid var(--lu-turq-deep); border-radius: 999px; background: #fff; color: var(--lu-turq-deep); font: 700 16px/1.5 var(--lu-sans); text-shadow: none; box-shadow: none; text-decoration: none; }
@media (max-width: 599px) {
    .efh-lu :is(.lu-shop, .woocommerce) form .form-row-first, .efh-lu :is(.lu-shop, .woocommerce) form .form-row-last { float: none; width: 100%; }
}
@media (hover: hover) and (pointer: fine) {
    .efh-lu :is(.lu-shop, .woocommerce) :is(a, button, input).button:hover, .efh-lu.woocommerce-checkout #place_order:hover, .efh-lu .lu-shop #respond input#submit:hover { background-position: 100% 0; color: #fff; opacity: 1; filter: none; box-shadow: 0 16px 30px -16px rgba(42, 155, 161, .7); }
    .efh-lu :is(.lu-shop, .woocommerce) :is(button[name="update_cart"], button[name="apply_coupon"], .shipping-calculator-form .button, .woocommerce-orders-table .button, .woocommerce-Address .edit):hover { background: var(--lu-mist-2); color: var(--lu-turq-deep); box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
    .efh-lu :is(.lu-shop, .woocommerce) :is(input, textarea, select, .button), .efh-lu.woocommerce-checkout #place_order { transition: none; }
}

/* Notices remain in the native live regions. Authored page paragraphs keep their colours. */
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { display: block; width: 100%; margin: 0 0 24px; padding: 18px 22px; border: 0; border-radius: 20px; background: #fff; color: var(--lu-ink); font: 400 16px/1.65 var(--lu-sans); list-style: none; box-shadow: inset 0 0 0 1.5px var(--lu-turq); overflow-wrap: anywhere; }
.efh-lu :is(.lu-shop, .woocommerce) .woocommerce-error { box-shadow: inset 0 0 0 1.5px #e84f14; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { content: none; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::after { content: ""; display: block; clear: both; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) li { margin: 0; padding: 0; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) li + li { margin-top: 10px; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) { color: var(--lu-turq-deep); text-decoration: underline; text-underline-offset: .16em; }
.efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button { float: none; min-height: 44px; margin: 8px 12px 8px 0; padding: 10px 20px; border: 1px solid var(--lu-turq-deep); background: #fff; color: var(--lu-turq-deep); font-size: 16px; text-shadow: none; box-shadow: none; }
@media (hover: hover) and (pointer: fine) {
    .efh-lu :is(.lu-shop, .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button:hover { background: var(--lu-mist-2); color: var(--lu-turq-deep); box-shadow: none; }
}

/* Quiet tables and totals, preserving WooCommerce's data-title mobile pattern. */
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table { width: 100%; margin: 0 0 28px; border: 1px solid var(--lu-line); border-collapse: separate; border-spacing: 0; border-radius: 24px; background: #fff; color: var(--lu-text); font-size: 16px; line-height: 1.65; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table :is(th, td) { padding: 16px 18px; border: 0; border-top: 1px solid var(--lu-line); color: var(--lu-text); vertical-align: middle; overflow-wrap: normal; word-break: normal; hyphens: auto; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table :is(th, td) :is(p, a, label) { overflow-wrap: normal; word-break: normal; hyphens: auto; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table th { color: var(--lu-ink); font-weight: 700; text-align: left; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table thead th { border-top: 0; background: var(--lu-mist); }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table thead th:first-child { border-top-left-radius: 24px; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table thead th:last-child { border-top-right-radius: 24px; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table .order-total { background: var(--lu-mist); color: var(--lu-ink); }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table .order-total :is(th, td, .amount) { color: var(--lu-ink); font-weight: 800; }
.efh-lu :is(.lu-shop, .woocommerce) table.shop_table a { color: var(--lu-turq-deep); }
.efh-lu.woocommerce-cart table.cart .product-thumbnail { width: 112px; }
.efh-lu.woocommerce-cart table.cart .product-thumbnail img { width: 90px; height: 75px; margin: 0; border-radius: 12px; background: #fff; object-fit: contain; }
.efh-lu.woocommerce-cart table.cart .product-name a { color: var(--lu-ink); font-weight: 700; text-decoration: none; }
.efh-lu.woocommerce-cart table.cart .quantity input.qty { width: 76px; min-height: 48px; padding: 10px; border: 0; border-radius: 14px; background: var(--lu-mist); color: var(--lu-ink); font: 700 16px/1.5 var(--lu-sans); box-shadow: inset 0 0 0 1px var(--lu-line-strong); }
.efh-lu .lu-shop a.remove { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--lu-line); border-radius: 50%; background: #fff; color: #a73512 !important; font-size: 26px; line-height: 1; text-decoration: none; }
.efh-lu.woocommerce-cart table.cart td.actions { padding: 22px; background: #fff; border-radius: 0 0 24px 24px; }
.efh-lu.woocommerce-cart table.cart td.actions .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 100%; }
.efh-lu.woocommerce-cart table.cart td.actions .coupon .input-text { float: none; width: 180px; min-height: 48px; margin: 0; padding: 10px 16px; border: 0; border-radius: 14px; background: var(--lu-mist); box-shadow: inset 0 0 0 1px var(--lu-line-strong); }
.efh-lu.woocommerce-cart table.cart td.actions .coupon .button { float: none; width: auto; margin: 0; }
.efh-lu.woocommerce-cart .cart-collaterals { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px; margin-top: 44px; }
.efh-lu.woocommerce-cart .cart-collaterals::before, .efh-lu.woocommerce-cart .cart-collaterals::after { content: none; display: none; }
.efh-lu.woocommerce-cart .cart-collaterals .cross-sells { float: none; width: auto; min-width: 0; flex: 1 1 480px; }
.efh-lu.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; min-width: 0; max-width: 100%; flex: 1 1 100%; margin-left: auto; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; box-shadow: var(--lu-shadow); }
.efh-lu.woocommerce-cart .cart-collaterals :is(.cross-sells, .cart_totals) > h2 { margin: 0 0 26px; color: var(--lu-turq-deep); font-size: clamp(26px, 2.5vw, 34px); }
.efh-lu.woocommerce-cart .cart_totals table.shop_table { margin-bottom: 12px; border: 0; }
.efh-lu.woocommerce-cart .cart_totals table.shop_table :is(th, td) { padding: 14px 8px; }
.efh-lu.woocommerce-cart .wc-proceed-to-checkout { padding: 16px 0 0; }
.efh-lu.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; margin: 0; padding: 16px 20px; border-radius: 999px; background: var(--lu-button); background-size: 220% 100%; color: #fff; font-size: 19px; }
.efh-lu :is(.lu-shop, .woocommerce) ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.efh-lu :is(.lu-shop, .woocommerce) ul#shipping_method li { margin: 0 0 12px; padding: 0; text-indent: 0; }
.efh-lu :is(.lu-shop, .woocommerce) ul#shipping_method label { color: var(--lu-text); font-size: 16px; line-height: 1.65; }
@media (max-width: 768px) {
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive thead { display: none; }
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive tbody th { display: none; }
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive tr { display: block; }
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive tr td { display: block; width: auto; min-height: 48px; text-align: right !important; }
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive tr td::before { content: attr(data-title) ": "; float: left; margin-right: 12px; color: var(--lu-ink); font-weight: 700; }
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive tr td:not([data-title])::before { content: none; }
    .efh-lu :is(.lu-shop, .woocommerce) table.shop_table_responsive tr:nth-child(2n) td { background: #fff; }
}
/* Six cart columns become labelled cards before the tablet layout gets cramped. */
@media (max-width: 999px) {
    .efh-lu.woocommerce-cart table.cart { display: block; border: 0; background: transparent; }
    .efh-lu.woocommerce-cart table.cart thead { display: none; }
    .efh-lu.woocommerce-cart table.cart tbody { display: block; width: 100%; }
    .efh-lu.woocommerce-cart table.cart tr { display: block; }
    .efh-lu.woocommerce-cart table.cart tr td { display: block; width: auto; min-height: 48px; text-align: right !important; }
    .efh-lu.woocommerce-cart table.cart tr td::before { content: attr(data-title) ": "; float: left; margin-right: 12px; color: var(--lu-ink); font-weight: 700; }
    .efh-lu.woocommerce-cart table.cart tr td:not([data-title])::before { content: none; }
    .efh-lu.woocommerce-cart table.cart tr:nth-child(2n) td { background: #fff; }
    .efh-lu.woocommerce-cart table.cart tr.cart_item { margin-bottom: 20px; padding: 12px 18px; border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; }
    .efh-lu.woocommerce-cart table.cart tr.cart_item td { padding: 14px 0; }
    .efh-lu.woocommerce-cart table.cart tr.cart_item .product-remove { min-height: 44px; padding: 0; border: 0; text-align: left !important; }
    .efh-lu.woocommerce-cart table.cart tr.cart_item .product-thumbnail { display: block; width: auto; border-top: 0; text-align: center !important; }
    .efh-lu.woocommerce-cart table.cart tr.cart_item .product-name { text-align: left !important; }
    .efh-lu.woocommerce-cart table.cart tr.cart_item .product-name::before { content: none; }
    .efh-lu.woocommerce-cart table.cart td.actions { padding: 0; border: 0; background: transparent; }
    .efh-lu.woocommerce-cart table.cart td.actions .coupon { float: none; width: 100%; padding: 0 0 16px; }
    .efh-lu.woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; }
    .efh-lu.woocommerce-cart table.cart td.actions .coupon .button, .efh-lu.woocommerce-cart table.cart td.actions > .button { width: 100%; }
    .efh-lu.woocommerce-cart .cart-collaterals { gap: 36px; }
}
@media (min-width: 1000px) {
    .efh-lu.woocommerce-cart .cart-collaterals .cart_totals { flex: 0 1 560px; max-width: 560px; }
}
@media (hover: hover) and (pointer: fine) {
    .efh-lu .lu-shop a.remove:hover { background: #fff0eb; color: #a73512 !important; }
    .efh-lu.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background-position: 100% 0; }
}

/* Classic checkout, including Germanized's native payment/review/submit order. */
.efh-lu.woocommerce-checkout { background: #fff; }
.efh-lu.woocommerce-checkout .efh-main { padding-bottom: 0; }
.efh-lu.woocommerce-checkout form.checkout { min-width: 0; margin-top: 32px; }
.efh-lu.woocommerce-checkout :is(#customer_details, #order_review) { min-width: 0; max-width: 100%; margin: 0; padding: clamp(20px, 2.7vw, 36px); border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; box-shadow: var(--lu-shadow); }
.efh-lu.woocommerce-checkout #order_review { position: static; border: 2px solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #95c23d, #4dbdc6) border-box; }
.efh-lu.woocommerce-checkout #customer_details :is(.col-1, .col-2) { float: none; width: 100%; margin: 0; }
.efh-lu.woocommerce-checkout #customer_details .col-2 { margin-top: 30px; }
.efh-lu.woocommerce-checkout form.checkout h3, .efh-lu.woocommerce-checkout #order_review_heading { margin: 0 0 24px; color: var(--lu-turq-deep); font: 800 clamp(25px, 2.3vw, 32px)/1.25 var(--lu-sans); }
.efh-lu.woocommerce-checkout #ship-to-different-address { font-size: 19px; }
.efh-lu.woocommerce-checkout #ship-to-different-address label { color: var(--lu-ink); font-weight: 700; }
.efh-lu.woocommerce-checkout #order_review table.shop_table { margin: 28px 0 0; border: 0; border-radius: 0; background: transparent; table-layout: fixed; }
.efh-lu.woocommerce-checkout #order_review table.shop_table thead { display: table-header-group; }
.efh-lu.woocommerce-checkout #order_review table.shop_table :is(th, td) { padding: 14px 8px; border: 0; border-bottom: 1px solid var(--lu-line); background: transparent; color: var(--lu-text); vertical-align: top; }
.efh-lu.woocommerce-checkout #order_review table.shop_table th { color: var(--lu-ink); }
.efh-lu.woocommerce-checkout #order_review table.shop_table :is(th, td):first-child { width: 64%; padding-left: 0; }
.efh-lu.woocommerce-checkout #order_review table.shop_table :is(th, td):last-child { padding-right: 0; text-align: right; }
.efh-lu.woocommerce-checkout #order_review table.shop_table .order-total :is(th, td) { border-top: 1px solid var(--lu-line-strong); color: var(--lu-ink); font-size: 20px; font-weight: 800; }
.efh-lu.woocommerce-checkout #order_review img { width: 56px; max-width: 100%; height: auto; max-height: 78px; margin: 0 10px 8px 0; object-fit: contain; }
.efh-lu.woocommerce-checkout #order_review .wc-gzd-product-name-left { float: none; width: auto; margin: 0; }
.efh-lu.woocommerce-checkout #order_review .wc-gzd-product-name-right { float: none; width: auto; }
.efh-lu.woocommerce-checkout #payment { margin: 0 0 28px; padding: clamp(16px, 2vw, 24px); border: 1px solid var(--lu-line); border-radius: 20px; background: var(--lu-mist); box-shadow: none; }
.efh-lu.woocommerce-checkout #payment :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { border: 1px solid var(--lu-line); background: #fff; box-shadow: none; }
.efh-lu.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; list-style: none; }
.efh-lu.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--lu-line); color: var(--lu-text); font: 400 16px/1.65 var(--lu-sans); }
.efh-lu.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.efh-lu.woocommerce-checkout #payment ul.payment_methods li label { display: inline; color: var(--lu-ink); font-size: 16px; line-height: 1.65; cursor: pointer; }
.efh-lu.woocommerce-checkout #payment ul.payment_methods li input { margin: 0 8px 0 0; }
.efh-lu.woocommerce-checkout #payment ul.payment_methods li img { width: auto; max-width: 100%; max-height: 32px; margin: 0 0 0 8px; vertical-align: middle; }
.efh-lu.woocommerce-checkout #payment div.payment_box { width: 100%; margin: 14px 0 0; padding: 16px; border: 1px solid var(--lu-line); border-radius: 16px; background: var(--lu-mist); color: var(--lu-text); font-size: 16px; line-height: 1.65; }
.efh-lu.woocommerce-checkout #payment div.payment_box::before { content: none; }
.efh-lu.woocommerce-checkout #payment div.payment_box p + p { margin-top: 1em; }
.efh-lu.woocommerce-checkout #payment .form-row { margin: 0; }
.efh-lu.woocommerce-checkout :is(.wc-gzd-checkbox-placeholder, .woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text) { margin-block: 20px; color: var(--lu-text); font-size: 17px; line-height: 1.7; }
.efh-lu.woocommerce-checkout :is(.wc-gzd-checkbox-placeholder, .woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text) :is(p, label, span) { color: inherit; font-size: inherit; line-height: inherit; }
.efh-lu.woocommerce-checkout .wc-gzd-checkbox-placeholder p { margin: 0 0 18px; }
.efh-lu.woocommerce-checkout .wc-gzd-checkbox-placeholder label { display: block; font-weight: 400; }
.efh-lu.woocommerce-checkout :is(.wc-gzd-checkbox-placeholder, .woocommerce-terms-and-conditions-wrapper) a { color: var(--lu-turq-deep); text-decoration: underline; text-underline-offset: .16em; }
.efh-lu.woocommerce-checkout .wc-gzd-order-submit { clear: both; margin-top: 28px; }
.efh-lu.woocommerce-checkout #place_order { float: none; width: 100%; margin: 0; }
.efh-lu.woocommerce-checkout .wc-gzd-order-submit .place-order { float: none; margin: 0; padding: 0; }
.efh-lu.woocommerce-checkout :is(form.login, form.checkout_coupon) { margin: 24px 0; padding: clamp(20px, 3vw, 32px); border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; }
.efh-lu.woocommerce-checkout .woocommerce-order > * + * { margin-top: 28px; }
.efh-lu.woocommerce-checkout ul.order_details { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 24px; border: 1px solid var(--lu-line); border-radius: 24px; background: var(--lu-mist); }
.efh-lu.woocommerce-checkout ul.order_details li { float: none; min-width: 0; margin: 0; padding: 0; border: 0; color: var(--lu-text); font-size: 15px; }
.efh-lu.woocommerce-checkout ul.order_details li strong { color: var(--lu-ink); font-size: 18px; }
@media (min-width: 1000px) {
    .efh-lu.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 32px; align-items: start; }
    .efh-lu.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
    .efh-lu.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; margin: 0; }
    .efh-lu.woocommerce-checkout form.checkout > #order_review { grid-column: 2; }
    .efh-lu.woocommerce-checkout form.checkout > .wc-gzd-order-submit { grid-column: 2; margin-top: 0; }
    .efh-lu.woocommerce-checkout form.checkout > :is(.woocommerce-NoticeGroup, .woocommerce-NoticeGroup-checkout) { grid-column: 1 / -1; grid-row: 1; }
    .efh-lu.woocommerce-checkout form.checkout > :is(.woocommerce-NoticeGroup, .woocommerce-NoticeGroup-checkout) ~ #customer_details { grid-row: 2 / span 3; }
}
@media (max-width: 999px) {
    .efh-lu.woocommerce-checkout form.checkout { display: block; }
    .efh-lu.woocommerce-checkout #customer_details { margin-bottom: 36px; }
    .efh-lu.woocommerce-checkout #order_review_heading { margin: 0 0 24px; }
}
@media (max-width: 599px) {
    .efh-lu.woocommerce-checkout #order_review { padding: 20px 16px; }
    .efh-lu.woocommerce-checkout #order_review table.shop_table { font-size: 15px; }
    .efh-lu.woocommerce-checkout #order_review table.shop_table :is(th, td):first-child { width: 52%; }
    .efh-lu.woocommerce-checkout #order_review table.shop_table .order-total :is(th, td) { font-size: 18px; }
}

/* Account navigation chips, login/register cards and native endpoint content. */
.efh-lu.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; margin: 0 0 32px; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 46px; padding: 10px 20px; border: 1px solid var(--lu-line-strong); border-radius: 999px; background: #fff; color: var(--lu-turq-deep); font: 600 16px/1.5 var(--lu-sans); text-decoration: none; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color: var(--lu-turq-deep); background: var(--lu-turq-deep); color: #fff; font-weight: 700; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; min-width: 0; padding: clamp(22px, 3vw, 40px); border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; box-shadow: var(--lu-shadow); }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content > * + * { margin-top: 24px; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3), .efh-lu.woocommerce-account #customer_login h2, .efh-lu.woocommerce-account .woocommerce > h2 { margin: 0 0 24px; color: var(--lu-turq-deep); font-size: clamp(26px, 2.5vw, 34px); }
.efh-lu.woocommerce-account :is(form.login, form.register, form.lost_reset_password) { margin: 0; padding: clamp(22px, 3vw, 36px); border: 1px solid var(--lu-line); border-radius: 24px; background: #fff; box-shadow: var(--lu-shadow); }
.efh-lu.woocommerce-account :is(form.login, form.lost_reset_password) { width: 100%; max-width: 640px; }
.efh-lu.woocommerce-account #customer_login form.login { max-width: none; }
.efh-lu.woocommerce-account :is(form.login, form.register, form.lost_reset_password) > p + p { margin-top: 22px; }
.efh-lu.woocommerce-account #customer_login { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.efh-lu.woocommerce-account #customer_login::before, .efh-lu.woocommerce-account #customer_login::after { content: none; }
.efh-lu.woocommerce-account #customer_login :is(.col-1, .col-2) { float: none; width: 100%; min-width: 0; }
.efh-lu.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit { float: none; margin: 12px 16px 0 0; }
.efh-lu.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: block; }
.efh-lu.woocommerce-account .woocommerce-LostPassword a { display: inline-flex; align-items: center; min-height: 44px; color: var(--lu-turq-deep); }
.efh-lu.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.efh-lu.woocommerce-account .woocommerce-Addresses::before, .efh-lu.woocommerce-account .woocommerce-Addresses::after { content: none; }
.efh-lu.woocommerce-account .woocommerce-Addresses :is(.col-1, .col-2) { float: none; width: 100%; min-width: 0; padding: 24px; border: 1px solid var(--lu-line); border-radius: 24px; background: var(--lu-mist); }
.efh-lu.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.efh-lu.woocommerce-account .woocommerce-Address-title::before, .efh-lu.woocommerce-account .woocommerce-Address-title::after { content: none; }
.efh-lu.woocommerce-account .woocommerce-Address-title h2 { float: none; margin: 0; font-size: 24px; }
.efh-lu.woocommerce-account .woocommerce-Address-title a.edit { float: none; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content fieldset { min-width: 0; margin: 30px 0; padding: 24px; border: 1px solid var(--lu-line); border-radius: 24px; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content legend { padding-inline: 10px; color: var(--lu-ink); font-weight: 700; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content table.shop_table { table-layout: fixed; }
.efh-lu.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button { margin: 4px; }
.efh-lu :is(.lu-shop, .woocommerce) .password-input { position: relative; }
.efh-lu :is(.lu-shop, .woocommerce) .show-password-input { --lu-password-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='m3 3 18 18'/%3E%3C/svg%3E"); position: absolute; display: grid; place-items: center; width: 44px; height: 44px; top: 50%; right: 8px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--lu-ink); line-height: 1; box-shadow: none; transform: translateY(-50%); }
.efh-lu :is(.lu-shop, .woocommerce) .show-password-input.display-password { --lu-password-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.efh-lu :is(.lu-shop, .woocommerce) .show-password-input::before, .efh-lu :is(.lu-shop, .woocommerce) .show-password-input.display-password::before { content: ""; display: block; width: 22px; height: 22px; margin: 0; background: currentColor; -webkit-mask: var(--lu-password-eye) center / contain no-repeat; mask: var(--lu-password-eye) center / contain no-repeat; }
.efh-lu :is(.lu-shop, .woocommerce) .show-password-input:focus-visible { outline: 2px solid var(--lu-turq-deep); outline-offset: 2px; }
.efh-lu :is(.lu-shop, .woocommerce) .password-input input[type="password"], .efh-lu :is(.lu-shop, .woocommerce) .password-input input[type="text"] { padding-right: 58px; }
@media (min-width: 1000px) {
    .efh-lu.woocommerce-account #customer_login, .efh-lu.woocommerce-account .woocommerce-Addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (hover: hover) and (pointer: fine) {
    .efh-lu.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: var(--lu-mist-2); color: var(--lu-ink); }
}
