/*
Theme Name: noson.ch
Theme URI: https://noson.ch
Author: Unity Shield LLC
Description: Swiss WooCommerce theme for noson.ch.
Version: 2026.06.22
Text Domain: noson-ch
*/
:root{--blue:#082a44;--blue2:#0d4e78;--red:#d52b1e;--ink:#14212b;--muted:#5a6873;--line:#dfe7ec;--soft:#f3f7fa;--white:#fff;--ok:#0d7a51;--warn:#9b5a00;--radius:8px;--shadow:0 16px 40px rgba(8,42,68,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:var(--blue2);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:20}.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.topbar{background:var(--blue);color:#fff;font-size:14px}.topbar-inner,.header-inner,.footer-inner,.section-inner{max-width:1180px;margin:0 auto;padding:0 20px}.topbar-inner{display:flex;gap:18px;align-items:center;justify-content:center;min-height:36px}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px}.brand{display:flex;flex-direction:column;color:var(--blue);font-weight:800;font-size:28px;letter-spacing:0}.brand small{font-size:12px;color:var(--muted);font-weight:600}.main-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.main-nav a{color:var(--ink);font-weight:700;font-size:15px}.main-nav .button{background:var(--red);color:#fff;padding:10px 14px;border-radius:6px}.site-main{min-height:60vh}.hero{background:linear-gradient(180deg,#f7fbfd 0%,#fff 100%);border-bottom:1px solid var(--line)}.hero-grid{max-width:1180px;margin:0 auto;padding:70px 20px 54px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:42px;align-items:center}.eyebrow{font-weight:800;color:var(--red);text-transform:uppercase;font-size:13px;letter-spacing:.04em}.hero h1,.page-title{font-size:clamp(36px,5vw,62px);line-height:1.05;margin:10px 0 18px;color:var(--blue);letter-spacing:0}.hero p.lead,.lead{font-size:20px;color:#314453;max-width:760px}.hero-actions,.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn,.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:6px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:800;text-decoration:none}.btn.secondary,.button.secondary{background:#fff;color:var(--blue)}.btn.red{border-color:var(--red);background:var(--red)}.hero-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.hero-card img{border-radius:6px;display:block}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}.trust-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;font-weight:750;color:var(--blue)}.section{padding:58px 0}.section.alt{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section h2{font-size:32px;line-height:1.18;margin:0 0 14px;color:var(--blue)}.grid{display:grid;gap:18px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.card h3{margin-top:0;color:var(--blue);font-size:21px}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800;color:var(--blue);background:#fff}.notice{border-left:4px solid var(--red);background:#fff7f6;padding:14px 16px;border-radius:6px;margin:18px 0}.notice.blue{border-left-color:var(--blue2);background:#f3f9fc}.page-shell{max-width:980px;margin:0 auto;padding:54px 20px}.wide-shell{max-width:1180px;margin:0 auto;padding:54px 20px}.content-card{background:#fff}.content-card h1{font-size:42px;line-height:1.12;color:var(--blue)}.content-card h2{margin-top:34px;color:var(--blue)}.content-card table{width:100%;border-collapse:collapse}.content-card th,.content-card td{border:1px solid var(--line);padding:10px;text-align:left}.site-footer{background:var(--blue);color:#fff;margin-top:60px}.footer-inner{padding-top:40px;padding-bottom:34px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px}.site-footer a{color:#fff}.site-footer small,.site-footer p{color:#dce9f0}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding:18px 20px;text-align:center;color:#dce9f0}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.woocommerce div.product .product_title{color:var(--blue)}.noson-product-meta{border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0;background:#f8fbfd}.noson-product-meta strong{color:var(--blue)}.woocommerce-message,.woocommerce-info{border-top-color:var(--blue2)}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:16px;z-index:50;display:none}.cookie-banner.active{display:block}.cookie-inner{max-width:1120px;margin:0 auto;display:flex;gap:18px;align-items:center;justify-content:space-between}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-actions button{border:1px solid var(--blue);border-radius:6px;padding:10px 14px;font-weight:800;background:#fff;color:var(--blue);cursor:pointer}.cookie-actions button.accept{background:var(--blue);color:#fff}.source-list{font-size:14px;color:var(--muted)}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;padding-top:42px}.grid.cols-3,.grid.cols-4,.trust-row,.footer-inner{grid-template-columns:1fr}.header-inner{align-items:flex-start;gap:14px;flex-direction:column}.main-nav{gap:12px}.hero h1,.page-title{font-size:38px}.cookie-inner{display:block}.cookie-actions{margin-top:12px}}

/* June 2026 refinement: calmer header, stronger shop surface, interactive model. */
.site-header{box-shadow:0 12px 32px rgba(8,42,68,.08)}
.topbar{background:#f6fafc;color:#12324a;border-bottom:1px solid #dfe7ec;font-size:13px}
.topbar-inner{justify-content:space-between;font-weight:800;min-height:34px}
.topbar span{display:inline-flex;align-items:center;white-space:nowrap}
.topbar span:before{content:"";width:7px;height:7px;border-radius:50%;background:#d52b1e;margin-right:8px}.topbar span:nth-child(2):before{background:#0d7a51}.topbar span:nth-child(3):before{background:#0d4e78}
.header-inner{min-height:76px}.brand{font-size:30px}.brand:hover{text-decoration:none}.main-nav a{position:relative}.main-nav a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:#d52b1e;transition:right .18s ease}.main-nav a:not(.button):hover{text-decoration:none}.main-nav a:not(.button):hover:after{right:0}.main-nav .button{box-shadow:0 8px 20px rgba(213,43,30,.18)}
.hero{background:radial-gradient(circle at 78% 18%,rgba(13,78,120,.12),transparent 34%),linear-gradient(180deg,#f8fcfd 0%,#fff 100%)}.hero-card{box-shadow:0 24px 60px rgba(8,42,68,.13)}.card{box-shadow:0 10px 28px rgba(8,42,68,.05)}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{box-shadow:0 14px 32px rgba(8,42,68,.07);transition:transform .18s ease,box-shadow .18s ease}.woocommerce ul.products li.product:hover,.woocommerce-page ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(8,42,68,.12)}.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:contain;background:#f6fafc;border-radius:6px;padding:10px}.woocommerce div.product{max-width:1180px;margin:42px auto;padding:0 20px}.woocommerce div.product .summary{padding-top:12px}.price,.woocommerce div.product p.price{color:#0d4e78;font-weight:900}.source-list{display:none}
.noson-3d-viewer{float:left;width:48%;min-width:320px;margin:0 4% 34px 0;border:1px solid var(--line);border-radius:8px;background:#f6fafc;box-shadow:0 20px 52px rgba(8,42,68,.11);overflow:hidden}.noson-3d-stage{height:520px;min-height:420px;position:relative}.noson-3d-stage canvas{display:block;width:100%;height:100%;cursor:grab}.noson-3d-stage canvas:active{cursor:grabbing}.noson-3d-panel{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-top:1px solid var(--line);background:#fff}.noson-3d-panel h2{font-size:20px;line-height:1.15;margin:0 0 3px;color:var(--blue)}.noson-3d-panel p{margin:0;color:var(--muted);font-size:14px}.noson-3d-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.noson-3d-controls .color-dot{width:24px;height:24px;border-radius:50%;border:2px solid #fff;outline:1px solid #cddce5;background:var(--dot);box-shadow:0 3px 8px rgba(8,42,68,.15);cursor:pointer;padding:0}.noson-3d-controls .color-dot.active{outline:3px solid var(--red);transform:scale(1.08)}.viewer-toggle{min-height:36px;border:1px solid var(--blue);border-radius:6px;background:#fff;color:var(--blue);font-weight:850;padding:7px 11px;cursor:pointer}.is-transparent .viewer-toggle{background:var(--blue);color:#fff}.noson-3d-viewer.is-error{background:#fff7f6}.single-product .product .summary:after{content:"";display:table;clear:both}
@media (max-width:900px){.topbar-inner{justify-content:center;gap:12px}.topbar span{white-space:normal}.noson-3d-viewer{float:none;width:100%;margin:0 0 26px}.noson-3d-stage{height:430px}.noson-3d-panel{align-items:flex-start;flex-direction:column}.noson-3d-controls{justify-content:flex-start}.header-inner{min-height:70px}}

.brand-logo{gap:3px;align-items:flex-start;line-height:1}.brand-logo picture{display:block}.brand-logo img{display:block;width:154px;height:auto;max-height:54px;object-fit:contain}.brand-logo small{display:block;margin-top:2px}
@media (max-width:900px){.brand-logo img{width:138px;max-height:48px}}


/* model-viewer replacement for the homepage hero */
.hero-3d-card{padding:0;overflow:hidden;background:#f6fafc}
.hero-3d-card .noson-3d-viewer{float:none;width:100%;min-width:0;margin:0;border:0;border-radius:0;box-shadow:none;background:#f6fafc}
.hero-3d-card .noson-3d-stage{height:520px;min-height:420px;background:radial-gradient(circle at center,#ffffff 0%,#eef5f8 100%)}
.noson-model-viewer{display:block;width:100%;height:100%;--poster-color:transparent;background:transparent}
.noson-model-fallback{width:100%;height:100%;object-fit:contain;padding:22px;background:#f6fafc}
.noson-3d-controls .dot-black{background:#1a1a1a}.noson-3d-controls .dot-white{background:#f3f4f6}.noson-3d-controls .dot-blue{background:#bae6fd}.noson-3d-controls .dot-pink{background:#fbcfe8}.noson-3d-controls .dot-beige{background:#e0a673}
.noson-3d-viewer.is-loaded .noson-model-fallback{display:none}
@media (max-width:900px){.hero-3d-card .noson-3d-stage{height:430px;min-height:360px}}

/* Header logo size correction */
.brand-logo img{width:92px!important;max-height:34px!important}.brand-logo small{font-size:10px!important;margin-top:0}.header-inner{min-height:64px}.brand-logo{gap:0}
@media (max-width:900px){.brand-logo img{width:86px!important;max-height:32px!important}}

/* Product grid: align add-to-cart buttons consistently. */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;display:flex;flex-direction:column;min-height:100%;height:100%}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1 1 auto;text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:52px;margin-bottom:8px;line-height:1.22}
.woocommerce ul.products li.product .price{margin-top:auto;min-height:30px;display:flex;align-items:flex-end}
.woocommerce ul.products li.product .button{margin-top:14px;width:100%;align-self:stretch;text-align:center}
@media (max-width:980px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.woocommerce ul.products{grid-template-columns:1fr}}

/* Cart and checkout refinement */
.woocommerce-cart .site-main,.woocommerce-checkout .site-main{background:linear-gradient(180deg,#f6fafc 0%,#fff 360px)}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{max-width:1180px;margin:42px auto 72px;padding:0 20px}
.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content{max-width:1180px;margin:0 auto}
.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-cart .page-title,.woocommerce-checkout .page-title{max-width:1180px;margin:0 auto 18px;padding:42px 20px 0;color:var(--blue);font-size:42px;line-height:1.1}
.woocommerce-cart .woocommerce-cart-form,.woocommerce-checkout form.checkout{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(8,42,68,.08);padding:24px}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(8,42,68,.08);padding:24px}
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{border:0;border-collapse:separate;border-spacing:0;width:100%;margin:0;border-radius:8px;overflow:hidden;background:#fff}
.woocommerce-cart table.shop_table th,.woocommerce-checkout table.shop_table th{background:#f1f7fa;color:var(--blue);font-weight:900;border:0;padding:14px 16px;font-size:14px;text-transform:none}
.woocommerce-cart table.shop_table td,.woocommerce-checkout table.shop_table td{border-top:1px solid var(--line);padding:16px;vertical-align:middle}
.woocommerce-cart table.shop_table .product-thumbnail img{width:72px;height:72px;object-fit:contain;background:#f6fafc;border-radius:6px;padding:6px}
.woocommerce-cart table.shop_table .product-name a,.woocommerce-checkout table.shop_table .product-name{font-weight:850;color:var(--blue)}
.woocommerce-cart .quantity .qty{width:76px;min-height:42px;border:1px solid var(--line);border-radius:6px;text-align:center;font-weight:800;color:var(--blue)}
.woocommerce-cart .actions{background:#fbfdfe!important}.woocommerce-cart .actions .coupon{display:flex;gap:10px;flex-wrap:wrap}.woocommerce-cart .actions .coupon .input-text{min-height:44px;border:1px solid var(--line);border-radius:6px;padding:0 12px;min-width:220px}
.woocommerce-cart .cart-collaterals{margin-top:24px}.woocommerce-cart .cart-collaterals .cart_totals h2,.woocommerce-checkout #order_review_heading{font-size:24px;line-height:1.2;color:var(--blue);margin:0 0 16px;padding:0;background:transparent;border:0;box-shadow:none}
.woocommerce-cart .wc-proceed-to-checkout{padding-bottom:0}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #place_order{width:100%;min-height:52px;font-size:17px;background:var(--red);border-color:var(--red);border-radius:6px;box-shadow:0 12px 28px rgba(213,43,30,.18)}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(8,42,68,.08);padding:24px}.woocommerce-checkout h3{color:var(--blue);font-size:22px;margin:0 0 16px}.woocommerce form .form-row label{font-weight:850;color:var(--blue);font-size:14px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px 11px;background:#fff;color:var(--ink)}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:28px}.woocommerce-checkout-payment{background:#f8fbfd!important;border:1px solid var(--line);border-radius:8px!important}.woocommerce-checkout-payment ul.payment_methods{border-bottom:1px solid var(--line)!important;padding:18px!important}.woocommerce-checkout-payment .place-order{padding:18px!important}.woocommerce-terms-and-conditions-wrapper{font-size:14px;color:var(--muted)}
.woocommerce-error,.woocommerce-info,.woocommerce-message{border-radius:8px;background:#fff;border-top:4px solid var(--blue2);box-shadow:0 12px 28px rgba(8,42,68,.06);max-width:1180px;margin-left:auto;margin-right:auto}
.woocommerce-cart .cart-empty,.woocommerce-checkout .cart-empty,.woocommerce-cart .return-to-shop,.woocommerce-checkout .return-to-shop{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}.woocommerce-cart .cart-empty,.woocommerce-checkout .cart-empty{padding:32px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 44px rgba(8,42,68,.08);font-size:18px;color:var(--blue);font-weight:800}.woocommerce-cart .return-to-shop .button,.woocommerce-checkout .return-to-shop .button{min-width:220px;background:var(--red);border-color:var(--red)}
@media (max-width:900px){.woocommerce-checkout .col2-set{grid-template-columns:1fr}.woocommerce-cart .woocommerce-cart-form,.woocommerce-checkout form.checkout,.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{padding:16px}.woocommerce-cart table.shop_table_responsive tr td::before{color:var(--blue);font-weight:900}.woocommerce-cart table.shop_table .product-thumbnail img{width:58px;height:58px}.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-cart .page-title,.woocommerce-checkout .page-title{font-size:34px;padding-top:30px}}

/* Product color selection */
.single-product form.variations_form table.variations{width:100%;border:0;margin:18px 0 10px}
.single-product form.variations_form table.variations th,.single-product form.variations_form table.variations td{display:block;border:0;padding:0;text-align:left}
.single-product form.variations_form table.variations label{display:block;margin:0 0 10px;color:var(--blue);font-weight:900}
.single-product .noson-native-color-select{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.noson-color-choice{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}
.noson-color-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:118px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 8px;cursor:pointer;box-shadow:0 8px 20px rgba(8,42,68,.05);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.noson-color-card:hover{border-color:#9bb8ca;box-shadow:0 12px 26px rgba(8,42,68,.09);transform:translateY(-1px)}
.noson-color-card.is-selected{border-color:var(--red);box-shadow:0 0 0 2px rgba(213,43,30,.14),0 14px 30px rgba(8,42,68,.10)}
.noson-color-media{width:58px;height:58px;border-radius:8px;background:#f6fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}
.noson-color-media img{width:100%;height:100%;object-fit:contain;padding:4px}
.noson-color-swatch{display:block;width:34px;height:34px;border-radius:50%;border:1px solid #cbd5e1;box-shadow:inset 0 0 0 4px rgba(255,255,255,.55)}
.noson-color-label{font-size:12px;line-height:1.2;font-weight:850;color:var(--blue);text-align:center;word-break:normal}
.single-product .reset_variations{display:inline-flex;margin-top:6px;font-size:13px;font-weight:800}
.single-product .single_variation_wrap{margin-top:14px}
@media (max-width:760px){.noson-color-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.noson-color-card{min-height:104px;flex-direction:row;justify-content:flex-start;text-align:left}.noson-color-media{width:46px;height:46px}.noson-color-label{text-align:left;font-size:13px}}

/* Homepage redesign */
.home-hero{position:relative;overflow:hidden;background:#071f33;color:#fff;border-bottom:1px solid rgba(255,255,255,.10)}
.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 38%),linear-gradient(180deg,rgba(13,78,120,.28),transparent 62%);pointer-events:none}
.home-hero__inner{position:relative;max-width:1240px;margin:0 auto;padding:82px 24px 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:44px;align-items:center}
.home-hero__copy{max-width:680px}.home-kicker{margin:0 0 12px;color:#d52b1e;text-transform:uppercase;font-size:12px;line-height:1.3;font-weight:900;letter-spacing:.08em}.home-hero .home-kicker{color:#ffb4ac}.home-hero h1{margin:0 0 20px;font-size:clamp(42px,6vw,74px);line-height:1.02;color:#fff;letter-spacing:0}.home-lead{margin:0;color:#dce8ef;font-size:20px;line-height:1.65;max-width:660px}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.home-actions .btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.46)}.home-actions .btn.secondary:hover{background:#fff;color:var(--blue);text-decoration:none}.home-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}.home-proof div{border:1px solid rgba(255,255,255,.20);border-radius:8px;padding:14px;background:rgba(255,255,255,.08);min-height:92px}.home-proof strong{display:block;color:#fff;font-size:17px;line-height:1.25}.home-proof span{display:block;margin-top:5px;color:#bcd0dc;font-size:13px;line-height:1.35}.home-hero__media{border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 30px 70px rgba(0,0,0,.28);overflow:hidden;background:#f7fbfd}.home-hero__media .noson-3d-stage{height:560px;min-height:460px}.home-hero__media .noson-3d-panel{border-top:1px solid #dfe7ec}
.home-product{background:#fff}.home-product__inner{max-width:1180px;margin:0 auto;padding:82px 24px;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1fr);gap:54px;align-items:center}.home-product__image{background:#f4f8fb;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 18px 44px rgba(8,42,68,.08)}.home-product__image img{display:block;width:100%;height:auto;object-fit:contain}.home-product__copy h2,.home-section-head h2{margin:0 0 14px;color:var(--blue);font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:0}.home-product__copy p,.home-section-head p{margin:0;color:#425667;font-size:18px;line-height:1.7}.home-color-row{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.home-color-row span{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fff;font-size:13px;font-weight:850;color:var(--blue)}.home-color-row span:before{content:"";width:16px;height:16px;border-radius:50%;background:var(--swatch);border:1px solid #cbd5e1;box-shadow:inset 0 0 0 3px rgba(255,255,255,.50)}.home-text-link{display:inline-flex;align-items:center;min-height:42px;font-weight:900;color:var(--red)}
.home-focus{padding:78px 0;background:#f6fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-section-head{max-width:760px;margin-bottom:30px}.home-section-head--row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.home-section-head--row .btn{flex:0 0 auto}.home-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-focus-grid article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;min-height:220px;box-shadow:0 12px 30px rgba(8,42,68,.06)}.home-focus-grid span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#eaf2f6;color:var(--blue);font-weight:900;font-size:13px}.home-focus-grid h3{margin:22px 0 10px;color:var(--blue);font-size:22px;line-height:1.18}.home-focus-grid p{margin:0;color:#4d6272;line-height:1.65}.home-shop{padding:82px 0;background:#fff}.home-shop .woocommerce ul.products{margin-top:26px}.home-shop .woocommerce ul.products li.product{background:#fff}.home-shop .woocommerce ul.products li.product a img{background:#f3f7fa}
.home-coverage-note{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 24px}.home-coverage-note span{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--line);border-radius:999px;background:#f6fafc;color:var(--blue);font-size:13px;font-weight:850;padding:5px 11px}
.home-services{padding:78px 0 86px;background:#f6fafc;color:var(--ink);border-top:1px solid var(--line)}.home-services .home-kicker{color:var(--red)}.home-services h2{color:var(--blue)}.home-services .home-section-head p{color:#425667}.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-service-grid a{display:flex;flex-direction:column;gap:10px;min-height:170px;border:1px solid var(--line);border-radius:8px;padding:22px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 12px 30px rgba(8,42,68,.06);transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.home-service-grid a:hover{background:#fff;border-color:#b9cbd7;box-shadow:0 18px 42px rgba(8,42,68,.11);transform:translateY(-2px)}.home-service-grid strong{font-size:20px;line-height:1.25;color:var(--blue)}.home-service-grid span{color:#526879;line-height:1.55}.home-disclaimer{margin-top:24px;border-left:4px solid var(--red);background:#fff;border-radius:6px;padding:14px 16px;color:#425667;line-height:1.55;box-shadow:0 10px 26px rgba(8,42,68,.05)}
@media (max-width:980px){.home-hero__inner,.home-product__inner{grid-template-columns:1fr}.home-hero__inner{padding-top:54px}.home-hero__media .noson-3d-stage{height:460px;min-height:380px}.home-proof,.home-focus-grid,.home-service-grid{grid-template-columns:1fr}.home-section-head--row{display:block}.home-section-head--row .btn{margin-top:18px}.home-product__inner,.home-focus,.home-shop,.home-services{padding-top:58px;padding-bottom:58px}}
@media (max-width:620px){.home-hero__inner,.home-product__inner{padding-left:18px;padding-right:18px}.home-hero h1{font-size:40px}.home-lead,.home-product__copy p,.home-section-head p{font-size:16px}.home-proof{gap:10px}.home-proof div{min-height:auto}.home-actions .btn{width:100%}.home-product__image{padding:14px}.home-hero__media .noson-3d-stage{height:390px;min-height:330px}.home-focus-grid article,.home-service-grid a{min-height:auto}}

/* Mobile navigation refinement */
.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--blue);cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .16s ease,opacity .16s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:900px){.site-header{position:sticky}.topbar-inner{min-height:30px;font-size:12px;gap:10px}.topbar span:nth-child(3){display:none}.header-inner{position:relative;min-height:62px;display:flex;align-items:center;justify-content:space-between;flex-direction:row}.menu-toggle{display:flex}.main-nav{display:none;position:absolute;left:18px;right:18px;top:calc(100% + 8px);z-index:30;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(8,42,68,.14)}.nav-open .main-nav{display:flex}.main-nav a{min-height:46px;display:flex;align-items:center;padding:0 12px;border-radius:6px}.main-nav a:not(.button):after{display:none}.main-nav .button{justify-content:center;margin-top:6px}.brand-logo small{display:none!important}}

/* Homepage footer must connect directly to the final dark section. */
body.home .site-footer{margin-top:0}

/* Header spacing correction: keep the trust bar visually separate from the main nav. */
.site-header .topbar{border-bottom:1px solid #d9e4ea}
.site-header .topbar-inner{min-height:36px}
.site-header .header-inner{min-height:82px;padding-top:14px;padding-bottom:14px;gap:32px}
.site-header .brand-logo{gap:5px;flex:0 0 auto}
.site-header .brand-logo img{width:104px!important;max-height:40px!important}
.site-header .brand-logo small{font-size:11px!important;margin-top:3px;line-height:1.2}
.site-header .main-nav{gap:22px;margin-left:auto}
@media (max-width:900px){.site-header .topbar-inner{min-height:32px}.site-header .header-inner{min-height:72px;padding-top:10px;padding-bottom:10px;gap:14px}.site-header .brand-logo img{width:92px!important;max-height:34px!important}.site-header .main-nav{gap:0;margin-left:0}}

/* Responsive overflow hardening for long German headings and compact commerce views. */
.page-title,
.content-card h1,
.woocommerce div.product .product_title,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
.home-hero h1,
.home-product__copy h2,
.home-section-head h2,
.home-focus-grid h3,
.home-service-grid strong,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    text-wrap:balance;
}
.site-header .header-inner{
    padding-top:18px;
    padding-bottom:18px;
}
@media (max-width:900px){
    .site-header .topbar-inner{
        padding-top:6px;
        padding-bottom:6px;
        line-height:1.25;
    }
    .site-header .header-inner{
        min-height:78px;
        padding-top:14px;
        padding-bottom:14px;
    }
    .page-title,
    .content-card h1,
    .woocommerce div.product .product_title{
        font-size:clamp(30px,7.4vw,38px);
        line-height:1.08;
    }
}
@media (max-width:520px){
    .page-shell,
    .wide-shell,
    .section-inner{
        padding-left:16px;
        padding-right:16px;
    }
    .page-title,
    .content-card h1,
    .woocommerce div.product .product_title,
    .woocommerce-cart h1,
    .woocommerce-checkout h1,
    .woocommerce-cart .page-title,
    .woocommerce-checkout .page-title{
        font-size:clamp(28px,8vw,32px);
        line-height:1.1;
    }
    .site-header .topbar-inner{
        justify-content:flex-start;
        gap:14px;
        overflow-x:auto;
        scrollbar-width:none;
    }
    .site-header .topbar-inner::-webkit-scrollbar{
        display:none;
    }
    .site-header .brand-logo img{
        width:86px!important;
        max-height:32px!important;
    }
    .menu-toggle{
        flex:0 0 44px;
    }
}

/* Homepage offer-area chips: keep category/service labels as separate boxes on mobile. */
.home-coverage-note{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:10px;
    margin:10px 0 28px;
    align-items:stretch;
}
.home-coverage-note span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    width:100%;
    border:1px solid #d8e5ec;
    border-radius:8px;
    background:#f6fafc;
    color:var(--blue);
    box-shadow:0 8px 22px rgba(8,42,68,.05);
    font-size:13px;
    font-weight:850;
    line-height:1.25;
    padding:8px 12px;
    text-align:center;
    white-space:normal;
}
@media (max-width:620px){
    .home-coverage-note{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:12px;
    }
    .home-coverage-note span{
        min-height:46px;
        padding:8px 9px;
        font-size:12px;
        overflow-wrap:normal;
        word-break:normal;
        hyphens:none;
    }
}

.header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-left:auto;
}
.language-select{
    display:inline-flex;
    align-items:center;
    position:relative;
}
.language-select select{
    height:38px;
    min-width:76px;
    border:1px solid var(--line);
    border-radius:6px;
    background:#fff;
    color:var(--blue);
    font-weight:850;
    font-size:13px;
    line-height:1;
    padding:0 30px 0 10px;
    cursor:pointer;
}
.header-cart{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:38px;
    border:1px solid var(--line);
    border-radius:6px;
    background:#fff;
    color:var(--blue);
    text-decoration:none;
    flex:0 0 auto;
}
.header-cart:hover{
    border-color:var(--blue);
    text-decoration:none;
}
.header-cart svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.header-cart-count{
    position:absolute;
    right:-7px;
    top:-7px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    font-size:11px;
    font-weight:900;
    line-height:18px;
    text-align:center;
}
.site-header .language-select{order:1}
.site-header .header-cart{order:2}
.site-header .main-nav{order:3;margin-left:0}
.site-header .menu-toggle{order:4}
@media (min-width:901px){
    .site-header .menu-toggle{display:none}
    .site-header .main-nav{display:flex}
}
@media (max-width:900px){
    .header-actions{gap:8px;margin-left:0}
    .language-select select{height:36px;min-width:72px;font-size:12px;padding-left:8px}
    .header-cart{width:38px;height:36px}
    .site-header .main-nav{order:5}
    .site-header .menu-toggle{display:flex}
    .site-header .header-inner{gap:10px}
    .site-header .brand-logo{margin-right:auto}
}
@media (max-width:360px){
    .home-coverage-note{
        grid-template-columns:1fr;
    }
}

/* Mobile overflow fixes found by server-side Chromium audit. */
@media (max-width:620px){
    html,
    body{
        max-width:100%;
    }
    .home-service-grid,
    .home-service-grid a{
        width:100%;
        max-width:100%;
        min-width:0;
    }
    .home-service-grid a{
        box-sizing:border-box;
        padding:20px;
    }
    .home-service-grid strong,
    .home-service-grid span{
        max-width:100%;
        overflow-wrap:normal;
        word-break:normal;
        hyphens:none;
    }
    .cookie-banner{
        left:12px;
        right:12px;
        bottom:12px;
        max-width:calc(100vw - 24px);
        box-sizing:border-box;
        overflow:hidden;
        padding:14px;
    }
    .cookie-banner .cookie-inner,
    .cookie-banner .cookie-inner > div,
    .cookie-banner .cookie-actions{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }
    .cookie-banner p,
    .cookie-banner h2,
    .cookie-banner h3{
        max-width:100%;
        overflow-wrap:anywhere;
    }
    .cookie-banner .cookie-actions{
        gap:8px;
    }
    .cookie-banner .cookie-actions button{
        flex:1 1 130px;
        min-width:0;
        white-space:normal;
    }
    article.post-18 .page-title{
        font-size:26px;
        line-height:1.12;
        text-wrap:auto;
    }
}

.noson-shipping-note,
.noson-order-tax-note{
    border:1px solid var(--line);
    border-left:4px solid var(--blue2);
    border-radius:8px;
    padding:14px;
    margin:14px 0;
    background:#f8fbfd;
    color:var(--ink);
    font-weight:650;
}
.noson-shipping-note strong,
.noson-order-tax-note strong{
    color:var(--blue);
}

.home-reference-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:flex-end;
}

.home-section-head--row .home-reference-actions .btn{
    margin-top:0;
}

@media (max-width:980px){
    .home-reference-actions{
        justify-content:flex-start;
        margin-top:18px;
    }
}

@media (max-width:620px){
    .home-reference-actions .btn{
        width:100%;
    }
}

.noson-product-video{
    margin:22px 0;
    padding:18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#f8fbfd;
}
.noson-product-video h2{
    margin:0 0 12px;
    font-size:20px;
    line-height:1.2;
    color:var(--blue);
}
.noson-product-video video{
    display:block;
    width:100%;
    max-width:100%;
    aspect-ratio:16 / 9;
    border-radius:8px;
    background:#eef4f7;
}

.noson-license-checkout{
    margin:24px 0;
    padding:18px;
    border:1px solid var(--line);
    border-left:4px solid var(--blue2);
    border-radius:8px;
    background:#f8fbfd;
}
.noson-license-checkout legend{
    padding:0 8px;
    font-weight:800;
    color:var(--blue);
}
.noson-license-checkout p{
    margin:0 0 14px;
}
.noson-license-checkout .form-row{
    margin-bottom:14px;
}
.noson-order-license-summary{
    margin:24px 0;
    padding:18px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#f8fbfd;
}
.noson-order-license-summary h2{
    margin:0 0 12px;
    font-size:20px;
}
.noson-order-license-summary dl{
    display:grid;
    grid-template-columns:minmax(140px, 220px) 1fr;
    gap:8px 16px;
    margin:0;
}
.noson-order-license-summary dt{
    font-weight:800;
    color:var(--blue);
}
.noson-order-license-summary dd{
    margin:0;
}

@media (max-width:620px){
    .noson-product-video,
    .noson-license-checkout,
    .noson-order-license-summary{
        padding:14px;
    }
    .noson-order-license-summary dl{
        grid-template-columns:1fr;
        gap:4px;
    }
}

/* Header actions: compact language/cart/menu cluster on all viewports. */
.site-header .header-inner{
    position:relative;
}
.site-header .header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-left:auto;
    flex:0 0 auto;
    flex-wrap:nowrap;
}
.site-header .menu-toggle{
    display:flex;
    flex:0 0 auto;
}
.site-header .main-nav{
    display:none;
    position:absolute;
    right:20px;
    top:calc(100% + 8px);
    z-index:40;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    min-width:230px;
    max-width:min(320px, calc(100vw - 36px));
    padding:8px;
    margin-left:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 18px 44px rgba(8,42,68,.14);
}
.nav-open .site-header .main-nav{
    display:flex;
}
.site-header .main-nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:0 12px;
    border-radius:6px;
}
.site-header .main-nav a:not(.button):after{
    display:none;
}
.site-header .main-nav .button{
    justify-content:center;
    margin-top:6px;
}
.site-header .language-select,
.site-header .header-cart,
.site-header .menu-toggle{
    flex:0 0 auto;
}
.site-header .header-cart{
    width:42px;
    height:40px;
    min-width:42px;
    max-width:42px;
    min-height:40px;
    max-height:40px;
    padding:0;
    overflow:visible;
}
.site-header .header-cart svg{
    width:21px!important;
    height:21px!important;
    max-width:21px!important;
    max-height:21px!important;
    display:block;
}
@media (max-width:900px){
    .site-header .header-inner{
        align-items:center;
        flex-direction:row;
        justify-content:space-between;
        flex-wrap:nowrap;
        gap:10px;
    }
    .site-header .brand-logo{
        min-width:0;
        flex:1 1 auto;
    }
    .site-header .brand-logo img{
        width:88px!important;
        max-width:88px!important;
        height:auto!important;
    }
    .site-header .header-actions{
        flex:0 0 auto;
        gap:7px;
        order:2;
    }
    .site-header .language-select{
        order:1;
    }
    .site-header .header-cart{
        order:2;
        width:38px!important;
        height:36px!important;
        min-width:38px!important;
        max-width:38px!important;
        min-height:36px!important;
        max-height:36px!important;
    }
    .site-header .menu-toggle{
        order:3;
        width:40px;
        height:38px;
    }
    .site-header .main-nav{
        left:auto;
        right:18px;
    }
}
@media (min-width:901px) and (max-width:1180px){
    .site-header .header-inner{
        align-items:center;
        flex-direction:row;
        flex-wrap:nowrap;
        gap:14px;
    }
    .site-header .brand-logo{
        min-width:0;
        flex:1 1 auto;
    }
    .site-header .brand-logo img{
        width:118px!important;
        max-width:118px!important;
        height:auto!important;
    }
    .site-header .header-actions{
        flex:0 0 auto;
        gap:8px;
    }
    .site-header .language-select{order:1}
    .site-header .header-cart{order:2}
    .site-header .menu-toggle{order:3}
}
@media (max-width:420px){
    .site-header .header-inner{
        padding-left:12px;
        padding-right:12px;
    }
    .site-header .header-actions{
        gap:5px;
    }
    .language-select select{
        width:66px;
        min-width:66px;
        height:34px;
        padding:0 20px 0 6px;
        font-size:11px;
    }
    .site-header .header-cart{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        max-width:34px!important;
        min-height:34px!important;
        max-height:34px!important;
    }
    .site-header .header-cart svg{
        width:19px!important;
        height:19px!important;
        max-width:19px!important;
        max-height:19px!important;
    }
    .site-header .menu-toggle{
        width:36px;
        height:34px;
    }
}

.woocommerce-cart table.cart td.actions .button[name="update_cart"],
.woocommerce-cart table.cart td.actions button[name="update_cart"],
.woocommerce-cart table.cart td.actions input[name="update_cart"]{
    min-height:46px!important;
    border:1px solid var(--blue)!important;
    background:#fff!important;
    color:var(--blue)!important;
    opacity:1!important;
    font-weight:850!important;
    box-shadow:none!important;
}
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:not(:disabled):hover,
.woocommerce-cart table.cart td.actions button[name="update_cart"]:not(:disabled):hover,
.woocommerce-cart table.cart td.actions input[name="update_cart"]:not(:disabled):hover{
    background:var(--blue)!important;
    color:#fff!important;
}
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:disabled,
.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled,
.woocommerce-cart table.cart td.actions input[name="update_cart"]:disabled{
    background:#eef4f7!important;
    color:#486675!important;
    border-color:#c8d7df!important;
    cursor:not-allowed;
}

/* Practice and treatment context, June 2026. */
.nav-practice-group{position:relative;display:flex;align-items:center}
.nav-practice-link{color:var(--blue)!important;font-weight:900}
.nav-practice-submenu{position:absolute;left:-14px;top:calc(100% + 14px);z-index:40;display:none;min-width:230px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 44px rgba(8,42,68,.16)}
.nav-practice-group:hover .nav-practice-submenu,.nav-practice-group:focus-within .nav-practice-submenu{display:grid;gap:2px}
.nav-practice-submenu a{display:flex;align-items:center;min-height:38px;padding:8px 10px;border-radius:6px;color:var(--ink);font-size:14px;font-weight:800;white-space:nowrap}
.nav-practice-submenu a:hover{background:#f6fafc;text-decoration:none}
.nav-practice-submenu a:after{display:none!important}
.home-practice{padding:78px 0;background:#fff;border-bottom:1px solid var(--line)}
.home-practice__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:42px;align-items:center}
.home-practice .home-kicker{color:var(--red)}
.home-practice h2{margin:0 0 16px;color:var(--blue);font-size:clamp(30px,3.5vw,48px);line-height:1.12;letter-spacing:0}
.home-practice p{color:#425667;font-size:18px;line-height:1.7}
.home-practice__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}
.home-practice__cards article{border:1px solid var(--line);border-radius:8px;background:#f8fbfd;padding:16px;min-height:132px}
.home-practice__cards strong{display:block;color:var(--blue);font-size:17px;line-height:1.25;margin-bottom:6px}
.home-practice__cards span{display:block;color:#526879;font-size:14px;line-height:1.45}
.home-practice__visual{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#f6fafc,#fff);padding:22px;box-shadow:0 18px 44px rgba(8,42,68,.08)}
.home-practice__visual img{display:block;width:100%;height:auto;object-fit:contain}
.home-practice__note{margin-top:16px;border-left:4px solid var(--red);background:#fff;padding:13px 14px;border-radius:6px;color:#425667;font-weight:700;line-height:1.45}
.practice-page{font-size:17px}
.practice-eyebrow{display:inline-flex;align-items:center;min-height:34px;padding:5px 11px;border-radius:999px;background:#fff4f2;color:var(--red);font-size:13px!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.practice-lead{font-size:20px;line-height:1.7;color:#314453}
.practice-anchor-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 30px}
.practice-anchor-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#f6fafc;color:var(--blue);font-weight:900;text-align:center;padding:8px 10px}
.practice-anchor-nav a:hover{background:#fff;text-decoration:none;border-color:#b9cbd7}
.practice-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:center;margin:28px 0 34px}
.practice-hero-grid figure,.practice-image-row figure{margin:0;border:1px solid var(--line);border-radius:8px;background:#f6fafc;padding:18px;box-shadow:0 12px 30px rgba(8,42,68,.06)}
.practice-hero-grid img,.practice-image-row img{display:block;width:100%;height:auto;object-fit:contain}
.practice-signal-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.practice-signal-list li{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff}
.practice-signal-list strong{display:block;color:var(--blue);font-size:17px;margin-bottom:3px}
.practice-section{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}
.practice-section h2{font-size:28px;line-height:1.18;margin:0 0 12px;color:var(--blue)}
.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.practice-grid article{border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px;box-shadow:0 8px 22px rgba(8,42,68,.05)}
.practice-grid h3{margin:0 0 8px;color:var(--blue);font-size:18px;line-height:1.22}
.practice-grid p{margin:0;color:#4d6272;line-height:1.55}
.practice-image-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.practice-cta-box{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:22px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:8px;background:#fff;padding:18px}
.practice-cta-box p{margin:0;color:#425667;max-width:620px}
@media (max-width:980px){.home-practice__inner,.practice-hero-grid,.practice-image-row{grid-template-columns:1fr}.home-practice__cards,.practice-grid,.practice-anchor-nav{grid-template-columns:1fr 1fr}.home-practice{padding:58px 0}.nav-practice-group{display:block}.nav-practice-submenu{position:static;display:grid;min-width:0;box-shadow:none;border:0;background:#f8fbfd;margin:0 0 4px 12px;padding:4px}.nav-practice-submenu a{min-height:36px;font-size:13px}}
@media (max-width:620px){.home-practice__cards,.practice-grid,.practice-anchor-nav{grid-template-columns:1fr}.home-practice p,.practice-lead{font-size:16px}.practice-section h2{font-size:24px}.practice-cta-box{display:block}.practice-cta-box .btn{width:100%;margin-top:12px}}

/* Service-grid hardening: keep WordPress autop wrappers from breaking desktop cards. */
.home-services .home-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.home-services .home-service-grid>a,.home-services .home-service-grid>p>a{height:100%}
.home-service-grid>p{display:contents;margin:0}
.home-service-grid br{display:none}
.home-service-grid>p:empty,.home-services .home-section-head p:empty,.home-services>.section-inner>p:empty{display:none}
@media (max-width:1180px){.home-services .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.home-services .home-service-grid{grid-template-columns:1fr}}

/* Visual contrast and reliable controls, June 2026. */
:root{
    --surface-alt-strong:#edf4f8;
    --surface-panel-strong:#e7f0f5;
    --surface-card-strong:#ffffff;
    --line-strong:#b8cad6;
    --line-stronger:#8fa8ba;
    --control-ring:#082a44;
}
@media (min-width:901px){
    .home-focus,
    .home-services{
        background:linear-gradient(180deg,var(--surface-alt-strong) 0%,var(--surface-panel-strong) 100%);
        border-top:1px solid var(--line-strong);
        border-bottom:1px solid var(--line-strong);
    }
    .home-product__image,
    .home-focus-grid article,
    .home-service-grid a,
    .home-disclaimer,
    .home-coverage-note span,
    .home-practice__cards article,
    .home-practice__visual,
    .practice-hero-grid figure,
    .practice-image-row figure,
    .practice-grid article,
    .practice-cta-box{
        border-color:var(--line-strong);
        box-shadow:0 16px 38px rgba(8,42,68,.10);
    }
    .home-product__image,
    .home-practice__visual,
    .practice-hero-grid figure,
    .practice-image-row figure{
        background:linear-gradient(180deg,#eef5f8 0%,#f8fbfd 100%);
    }
    .home-service-grid a:hover,
    .home-focus-grid article:hover{
        border-color:var(--line-stronger);
        box-shadow:0 20px 48px rgba(8,42,68,.14);
    }
}
.home-color-row span{
    border-color:var(--line-strong);
    box-shadow:0 6px 16px rgba(8,42,68,.07);
}
.home-color-row span:before{
    width:18px;
    height:18px;
    border:2px solid #93a8b8;
    box-shadow:0 0 0 2px #fff,0 2px 5px rgba(8,42,68,.16);
}
.home-color-row span[style*="#f8fafc"]:before,
.home-color-row span[style*="#F8FAFC"]:before{
    background:
        linear-gradient(135deg,transparent 0 42%,#7f96a8 43% 50%,transparent 51% 100%),
        #fff!important;
    border-color:#60798d;
}
.noson-3d-controls .color-dot{
    width:28px;
    height:28px;
    border:2px solid #fff;
    outline:2px solid #8fa8ba;
    box-shadow:0 4px 11px rgba(8,42,68,.20);
}
.noson-3d-controls .color-dot.active{
    outline:3px solid var(--red);
    box-shadow:0 0 0 2px #fff,0 8px 18px rgba(8,42,68,.22);
}
.noson-3d-controls .dot-white{
    background:
        linear-gradient(135deg,transparent 0 43%,#71889a 44% 50%,transparent 51% 100%),
        #fff!important;
    border-color:#fff;
    outline-color:#60798d;
}
.noson-color-card{
    border-color:var(--line-strong);
}
.noson-color-media{
    background:linear-gradient(180deg,#eef5f8,#fff);
    border:1px solid var(--line-strong);
}
.noson-color-swatch{
    width:36px;
    height:36px;
    border:2px solid #93a8b8;
    box-shadow:0 0 0 3px #fff,0 4px 10px rgba(8,42,68,.16);
}
.noson-color-swatch-white,
.noson-color-swatch[style*="#f8fafc"],
.noson-color-swatch[style*="#F8FAFC"]{
    background:
        linear-gradient(135deg,transparent 0 42%,#71889a 43% 50%,transparent 51% 100%),
        #fff!important;
    border-color:#60798d;
}
.noson-language-switcher{
    position:relative;
    display:inline-flex;
    align-items:center;
}
.noson-language-native{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    border:0!important;
    opacity:0!important;
    pointer-events:none!important;
    overflow:hidden!important;
}
.noson-language-current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:92px;
    height:40px;
    border:1px solid var(--line-strong);
    border-radius:6px;
    background:#fff;
    color:var(--blue);
    font-size:13px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(8,42,68,.06);
}
.noson-language-current:after{
    content:"";
    width:7px;
    height:7px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
}
.noson-language-menu{
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    z-index:60;
    display:none;
    min-width:142px;
    padding:6px;
    border:1px solid var(--line-strong);
    border-radius:8px;
    background:#fff;
    box-shadow:0 18px 44px rgba(8,42,68,.18);
}
.noson-language-switcher.is-open .noson-language-menu{
    display:grid;
    gap:2px;
}
.noson-language-option{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:38px;
    padding:7px 9px;
    border-radius:6px;
    color:var(--blue);
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}
.noson-language-option:hover,
.noson-language-option.is-current{
    background:#edf4f8;
    text-decoration:none;
}
.noson-lang-flag{
    position:relative;
    display:inline-block;
    flex:0 0 auto;
    width:24px;
    height:16px;
    overflow:hidden;
    border:1px solid #60798d;
    border-radius:3px;
    background:#fff;
    box-shadow:0 0 0 1px rgba(255,255,255,.95),0 2px 5px rgba(8,42,68,.16);
}
.noson-lang-flag.flag-de{
    background:
        linear-gradient(90deg,#60798d 0 2px,transparent 2px 100%),
        linear-gradient(180deg,#fff 0%,#f8fafc 100%);
    border-color:#425a6b;
}
.noson-lang-flag.flag-de:after{
    content:"";
    position:absolute;
    left:3px;
    top:3px;
    width:15px;
    height:9px;
    background:#fff;
    border:1px solid #8fa8ba;
    border-radius:1px 3px 3px 1px;
}
.noson-lang-flag.flag-it{
    background:linear-gradient(90deg,#16834a 0 33.33%,#fff 33.33% 66.66%,#c03235 66.66% 100%);
}
.noson-lang-flag.flag-fr{
    background:linear-gradient(90deg,#244aa5 0 33.33%,#fff 33.33% 66.66%,#d7373f 66.66% 100%);
}
.noson-lang-flag.flag-en{
    background:repeating-linear-gradient(180deg,#b91c1c 0 2px,#fff 2px 4px);
}
.noson-lang-flag.flag-en:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:11px;
    height:8px;
    background:#244aa5;
}
@media (max-width:420px){
    .noson-language-current{
        min-width:66px;
        width:66px;
        height:34px;
        gap:5px;
        font-size:11px;
    }
    .noson-language-current:after{
        width:6px;
        height:6px;
    }
    .noson-lang-flag{
        width:20px;
        height:14px;
    }
    .noson-language-menu{
        right:0;
        min-width:124px;
    }
}

/* June 22 follow-up: stronger desktop separation, readable service cards, Swiss DE flag. */
:root{
    --surface-alt-strong:#e4eef4;
    --surface-panel-strong:#dbe8f0;
    --line-strong:#9fb6c5;
    --line-stronger:#6f899d;
}
.home-focus,
.home-services{
    background:linear-gradient(180deg,var(--surface-alt-strong) 0%,var(--surface-panel-strong) 100%);
    border-top:1px solid var(--line-strong);
    border-bottom:1px solid var(--line-strong);
}
.home-product__image,
.home-focus-grid article,
.home-service-grid a,
.home-disclaimer,
.home-coverage-note span,
.home-practice__cards article,
.home-practice__visual,
.practice-hero-grid figure,
.practice-image-row figure,
.practice-grid article,
.practice-cta-box{
    border-color:var(--line-strong);
    box-shadow:0 16px 38px rgba(8,42,68,.10);
}
.home-product__image,
.home-practice__visual,
.practice-hero-grid figure,
.practice-image-row figure{
    background:linear-gradient(180deg,#eaf2f7 0%,#f8fbfd 100%);
}
.home-services .home-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.home-service-grid a{
    overflow:hidden;
}
.home-service-grid strong,
.home-service-grid span{
    min-width:0;
    overflow-wrap:anywhere;
    hyphens:auto;
}
@media (max-width:980px){
    .home-services .home-service-grid{
        grid-template-columns:1fr;
    }
}
.noson-language-current:focus-visible,
.noson-language-option:focus-visible{
    outline:3px solid rgba(27,90,130,.38);
    outline-offset:2px;
}
.noson-lang-flag.flag-de{
    background:#d52b1e;
    border-color:#9f1f16;
}
.noson-lang-flag.flag-de:before,
.noson-lang-flag.flag-de:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    background:#fff;
    border:0;
    border-radius:1px;
    transform:translate(-50%,-50%);
}
.noson-lang-flag.flag-de:before{
    width:52%;
    height:22%;
}
.noson-lang-flag.flag-de:after{
    width:17%;
    height:68%;
}

/* June 26 Felber follow-up: practice assortment hierarchy and calmer shop cards. */
.practice-anchor-nav{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.practice-product-overview{
    border-top:0;
    margin-top:20px;
    padding-top:0;
}
.practice-product-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:18px 0 0;
    padding:0;
    list-style:none;
    counter-reset:practice-products;
}
.practice-product-list li{
    counter-increment:practice-products;
}
.practice-product-list a{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    border:1px solid var(--line-strong);
    border-radius:8px;
    background:#fff;
    padding:16px 16px 16px 52px;
    color:var(--ink);
    box-shadow:0 10px 24px rgba(8,42,68,.06);
}
.practice-product-list a:hover{
    border-color:var(--line-stronger);
    text-decoration:none;
}
.practice-product-list a:before{
    content:counter(practice-products);
    position:absolute;
    left:16px;
    top:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font-size:13px;
    font-weight:900;
}
.practice-product-list strong{
    display:block;
    color:var(--blue);
    line-height:1.25;
}
.practice-product-list span{
    display:block;
    margin-top:7px;
    color:#536a7b;
    font-size:14px;
    line-height:1.45;
}
.practice-product-image{
    max-width:360px;
    margin:4px 0 18px;
    border:1px solid var(--line-strong);
    border-radius:8px;
    background:linear-gradient(180deg,#eaf2f7 0%,#f8fbfd 100%);
    padding:16px;
    box-shadow:0 14px 32px rgba(8,42,68,.08);
}
.practice-product-image img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:contain;
}
.woocommerce ul.products{
    gap:18px;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
    padding:12px;
    box-shadow:0 10px 24px rgba(8,42,68,.06);
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(8,42,68,.10);
}
.woocommerce ul.products li.product a img{
    max-height:220px;
    padding:8px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    min-height:44px;
    font-size:15px;
}
.woocommerce ul.products li.product .button{
    margin-top:10px;
}
@media (max-width:980px){
    .practice-product-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:620px){
    .practice-product-list{
        grid-template-columns:1fr;
    }
    .practice-product-image{
        max-width:100%;
    }
}
