/*
Theme Name: Tillverkeriet Custom
Theme URI: https://tillverkeriet.se/
Author: Tillverkeriet
Description: Klassiskt WordPress/WooCommerce-tema för Tillverkeriet med stabil custom-header, responsiv hamburgermeny, sidovarukorg och redigerbart sidinnehåll.
Version: 4.11
License: GPL-2.0-or-later
Text Domain: tillverkeriet-lite
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
*/

:root{
  --tv-navy:#071b33;
  --tv-navy-2:#0b2748;
  --tv-navy-3:#10365f;
  --tv-blue:#1976d2;
  --tv-blue-soft:#7cc7ff;
  --tv-cyan:#38d6ff;
  --tv-bg:#f5f2eb;
  --tv-bg-2:#fbf8f1;
  --tv-panel:#ffffff;
  --tv-text:#15191f;
  --tv-muted:#6b6f75;
  --tv-line:rgba(7,27,51,.12);
  --tv-line-dark:rgba(255,255,255,.14);
  --tv-radius:10px;
  --tv-btn-radius:999px;
  --tv-shadow:0 18px 46px rgba(7,27,51,.10);
  --tv-max:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--tv-text);
  background:#f5f2eb;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:16px;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}
.tv-wrap{width:min(var(--tv-max), calc(100% - 56px));margin-inline:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:rgba(255,255,255,.96);
  color:var(--tv-navy);
  border-bottom:1px solid rgba(7,27,51,.10);
  box-shadow:0 10px 30px rgba(7,27,51,.055);
  backdrop-filter:saturate(1.35) blur(16px);
  transition:background .34s ease, color .34s ease, border-color .34s ease, box-shadow .34s ease;
}
.home .site-header.is-over-hero{
  background:linear-gradient(90deg, rgba(7,27,51,.92), rgba(11,39,72,.86));
  color:#fff;
  border-bottom-color:rgba(124,199,255,.24);
  box-shadow:none;
}
.header-inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.site-branding{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-.03em;white-space:nowrap}
.brand-logo{display:inline-flex;align-items:center;max-height:38px}
.brand-logo img{max-height:36px;width:auto;display:block}
.brand-mark{width:32px;height:32px;border-radius:7px;display:grid;place-items:center;background:linear-gradient(135deg,var(--tv-blue),var(--tv-cyan));box-shadow:0 10px 24px rgba(56,214,255,.18);color:#fff;font-weight:900}
.brand-name{line-height:1;font-size:17px}
.header-right{display:flex;align-items:center;gap:12px}

.main-nav .menu{display:flex;align-items:center;gap:18px;margin:0;padding:0;list-style:none}
.main-nav li{margin:0;padding:0;list-style:none}
.main-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:9px 0;
  color:rgba(7,27,51,.74);
  font-size:16px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.015em;
  transition:color .22s ease;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:2px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
  opacity:.9;
}
.main-nav a:hover,.main-nav .current-menu-item > a{color:var(--tv-navy)}
.main-nav a:hover::after,.main-nav .current-menu-item > a::after{transform:scaleX(1)}
.home .site-header.is-over-hero .main-nav a{color:rgba(255,255,255,.78)}
.home .site-header.is-over-hero .main-nav a:hover,.home .site-header.is-over-hero .main-nav .current-menu-item > a{color:#fff}

.header-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
.header-quote{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:9px 15px;border-radius:999px;
  background:var(--tv-blue);color:#fff;font-size:15px;font-weight:850;
  box-shadow:0 12px 26px rgba(25,118,210,.20);
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.header-quote:hover{background:#fff;color:var(--tv-blue);transform:translateY(-1px);box-shadow:0 14px 30px rgba(7,27,51,.16)}
.home .site-header.is-over-hero .header-quote{background:var(--tv-blue);color:#fff}
.home .site-header.is-over-hero .header-quote:hover{background:#fff;color:var(--tv-blue)}
.header-icon{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:999px;color:rgba(7,27,51,.72);
  transition:color .2s ease,background .2s ease,transform .2s ease;
}
.header-icon svg{width:21px;height:21px;stroke:currentColor}
.header-icon:hover{color:var(--tv-navy);background:rgba(7,27,51,.06);transform:translateY(-1px)}
.home .site-header.is-over-hero .header-icon{color:rgba(255,255,255,.82)}
.home .site-header.is-over-hero .header-icon:hover{color:#fff;background:rgba(255,255,255,.10)}
.cart-count{position:absolute;right:1px;top:0;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--tv-blue);color:#fff;font-size:10px;font-weight:900;line-height:16px;text-align:center}
.menu-toggle{display:none}
main{padding:0;background:#f5f2eb}

.hero-clean{
  position:relative;
  min-height:clamp(500px, 76vh, 690px);
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 18% 18%, rgba(68,215,255,.34), transparent 24rem),
    radial-gradient(circle at 82% 22%, rgba(30,136,229,.28), transparent 30rem),
    radial-gradient(circle at 50% 78%, rgba(120,199,255,.13), transparent 28rem),
    linear-gradient(145deg, #041326 0%, #071b33 46%, #0a2b52 100%);
}
.hero-clean::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(68,215,255,.13) 39%, transparent 42% 100%),
    linear-gradient(65deg, transparent 0 61%, rgba(120,199,255,.10) 62%, transparent 66% 100%);
  animation:tvSweep 7.5s ease-in-out infinite alternate;
}
.hero-bg-effect{position:absolute;inset:0;pointer-events:none;opacity:1}
.hero-bg-effect::before{
  content:"";position:absolute;inset:-24%;
  background:
    conic-gradient(from 20deg at 50% 50%, transparent 0 12%, rgba(68,215,255,.18) 16%, transparent 25%, rgba(30,136,229,.16) 34%, transparent 46%, rgba(120,199,255,.13) 58%, transparent 72%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.10), transparent 28rem);
  animation:tvDrift 24s linear infinite;
}
.hero-bg-effect::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px),
    radial-gradient(circle, rgba(68,215,255,.20) 1px, transparent 1.5px);
  background-size:48px 48px,48px 48px,96px 96px;
  mask-image:radial-gradient(circle at 50% 48%, black, transparent 74%);
}
.factory-lines{position:absolute;inset:0;pointer-events:none;opacity:.75;mix-blend-mode:screen}
.factory-lines span{position:absolute;display:block;background:rgba(68,215,255,.34);box-shadow:0 0 24px rgba(68,215,255,.30);transform-origin:left center}
.factory-lines span:nth-child(1){width:22vw;height:1px;left:8%;top:27%;animation:tvPulse 4.2s ease-in-out infinite}
.factory-lines span:nth-child(2){width:1px;height:18vh;left:28%;top:16%;animation:tvPulse 4.8s ease-in-out infinite .8s}
.factory-lines span:nth-child(3){width:20vw;height:1px;right:10%;top:34%;animation:tvPulse 5.1s ease-in-out infinite .3s}
.factory-lines span:nth-child(4){width:1px;height:16vh;right:27%;bottom:22%;animation:tvPulse 4.6s ease-in-out infinite 1.1s}
.factory-lines span:nth-child(5){width:18vw;height:1px;left:18%;bottom:24%;animation:tvPulse 5.5s ease-in-out infinite .6s}
.factory-rings{position:absolute;inset:0;pointer-events:none;opacity:.52}
.factory-rings::before,.factory-rings::after{content:"";position:absolute;border:1px solid rgba(120,199,255,.26);border-radius:50%;box-shadow:inset 0 0 30px rgba(68,215,255,.08),0 0 30px rgba(68,215,255,.08)}
.factory-rings::before{width:190px;height:190px;left:9%;bottom:13%;background:repeating-conic-gradient(from 0deg, rgba(68,215,255,.22) 0 8deg, transparent 8deg 18deg);mask:radial-gradient(circle, transparent 0 42%, #000 43% 55%, transparent 56%);animation:tvGear 30s linear infinite}
.factory-rings::after{width:250px;height:250px;right:8%;top:20%;background:repeating-conic-gradient(from 0deg, rgba(120,199,255,.20) 0 6deg, transparent 6deg 16deg);mask:radial-gradient(circle, transparent 0 45%, #000 46% 55%, transparent 56%);animation:tvGear 38s linear infinite reverse}
@keyframes tvDrift{to{transform:rotate(360deg)}}
@keyframes tvGear{to{transform:rotate(360deg)}}
@keyframes tvPulse{0%,100%{opacity:.22;transform:scaleX(.55)}50%{opacity:.86;transform:scaleX(1)}}
@keyframes tvSweep{0%{transform:translateX(-4%) translateY(0)}100%{transform:translateX(4%) translateY(-2%)}}
.hero-center{position:relative;z-index:1;text-align:center;padding:64px 0 58px;display:flex;flex-direction:column;align-items:center}
.hero-center h1{max-width:820px;margin:0;font-size:clamp(42px,7vw,82px);line-height:.96;letter-spacing:-.075em;text-wrap:balance}
.hero-center p{max-width:690px;margin:22px 0 0;color:rgba(255,255,255,.78);font-size:clamp(18px,2vw,22px);line-height:1.45;text-wrap:balance}
.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.btn,.wp-block-button__link,button,input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border:0;border-radius:var(--tv-btn-radius);background:var(--tv-blue);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 14px 28px rgba(25,118,210,.18);transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover{background:#fff;color:var(--tv-blue);transform:translateY(-1px);box-shadow:0 16px 34px rgba(7,27,51,.14)}
.btn-light{background:var(--tv-blue);color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.16)}
.btn-light:hover{background:#fff;color:var(--tv-blue)}
.btn-outline-light{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:none;backdrop-filter:blur(8px)}
.btn-outline-light:hover{background:#fff;color:var(--tv-blue)}

.products-strip{background:#f5f2eb;padding:58px 0 70px;border-top:1px solid rgba(255,255,255,.22)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-kicker{margin:0 0 8px;color:var(--tv-blue);font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.section-head h2,.quote-inner h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.055em;color:var(--tv-text)}
.section-head p{margin:0;color:var(--tv-muted);font-weight:750}.section-head a{color:var(--tv-navy)}
.panel{background:rgba(255,255,255,.82);border:1px solid var(--tv-line);border-radius:var(--tv-radius);box-shadow:var(--tv-shadow)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{padding:22px;min-height:170px}.info-card h3{margin:0 0 8px;font-size:22px;letter-spacing:-.035em}.info-card p{margin:0;color:var(--tv-muted)}

.entry-content,.page-content,.woocommerce-content{width:min(var(--tv-max), calc(100% - 56px));margin-inline:auto}.featured-products.woocommerce{width:100%}.entry-content{padding:52px 0 70px}.entry-content > *{max-width:820px}.entry-content > .alignwide{max-width:var(--tv-max)}.entry-content > .alignfull{max-width:none;width:100vw;margin-left:50%;transform:translateX(-50%)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0!important;padding:0!important}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:13px!important;background:#fff;border:1px solid var(--tv-line);border-radius:var(--tv-radius);box-shadow:0 14px 34px rgba(7,27,51,.07);overflow:hidden;text-align:left}.woocommerce ul.products li.product img{border-radius:7px;background:#e2ded5;margin-bottom:12px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:18px;color:var(--tv-text);letter-spacing:-.02em;padding:0;margin:6px 0}.woocommerce ul.products li.product .price{color:var(--tv-navy);font-weight:900}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{border-radius:999px;background:var(--tv-blue);color:#fff;font-weight:850;box-shadow:0 12px 26px rgba(25,118,210,.16)}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:#fff;color:var(--tv-blue)}

.quote-band{background:#f5f2eb;padding:0 0 70px}.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px;background:#fff;border:1px solid var(--tv-line);border-radius:var(--tv-radius);box-shadow:var(--tv-shadow)}.quote-inner p:not(.section-kicker){margin:14px 0 0;max-width:640px;color:var(--tv-muted)}.quote-inner .btn{flex:0 0 auto}

.site-footer{background:var(--tv-navy);color:rgba(255,255,255,.76);padding:44px 0;border-top:1px solid rgba(255,255,255,.08)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:34px}.site-footer strong{display:block;color:#fff;font-size:20px;letter-spacing:-.035em}.site-footer h3{margin:0 0 10px;color:#fff;font-size:15px}.site-footer p{margin:8px 0 0;max-width:430px}.site-footer small{display:block;margin-top:18px;color:rgba(255,255,255,.52)}.footer-links{display:grid;gap:8px}.footer-links a,.footer-cart{color:rgba(255,255,255,.76)}.footer-links a:hover,.footer-cart:hover{color:#fff}

@media (max-width:900px){
  .tv-wrap,.entry-content,.page-content,.woocommerce-content{width:min(100% - 30px, var(--tv-max))}.header-inner{min-height:54px}.menu-toggle{display:inline-flex;min-height:38px;padding:8px 13px;background:rgba(7,27,51,.08);color:var(--tv-navy);box-shadow:none;border:1px solid rgba(7,27,51,.12)}.home .site-header.is-over-hero .menu-toggle{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.16)}.main-nav{display:none;position:absolute;left:15px;right:15px;top:62px;background:rgba(7,27,51,.98);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px;box-shadow:0 25px 60px rgba(0,0,0,.24)}.main-nav.is-open{display:block}.main-nav .menu{display:flex;flex-direction:column;align-items:stretch;gap:2px}.main-nav a{display:flex;padding:12px 14px}.main-nav .nav-cta,.main-nav .menu li:last-child > a{margin-left:0;justify-content:center}.hero-clean{min-height:clamp(490px, 74vh, 660px)}.hero-center{padding:54px 0}.section-head{display:block}.section-head p{margin-top:10px}.woocommerce ul.products,.card-grid{grid-template-columns:1fr}.quote-inner{display:block}.quote-inner .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr;gap:24px}
}
@media (max-width:520px){.brand-name{font-size:15px}.hero-center h1{font-size:42px}.hero-center p{font-size:17px}.actions{width:100%}.actions .btn{flex:1 1 160px}.products-strip{padding-top:42px}.footer-grid{gap:20px}}


/* v1.3 layout polish */
.site-header,.site-footer{width:100%;max-width:none}
.woocommerce-page .site-header,.woocommerce-page .site-footer,.post-type-archive-product .site-header,.post-type-archive-product .site-footer{left:0;right:0;margin-left:0;margin-right:0}
@media (max-width:900px){
  .header-inner{min-height:58px}
  .header-right{gap:8px}
  .menu-toggle{display:inline-flex;min-height:38px;padding:8px 13px;background:rgba(7,27,51,.08);color:var(--tv-navy);box-shadow:none;border:1px solid rgba(7,27,51,.12);border-radius:999px;font-weight:800}
  .home .site-header.is-over-hero .menu-toggle{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.16)}
  .main-nav{display:none;position:absolute;left:15px;right:15px;top:66px;background:rgba(255,255,255,.98);border:1px solid rgba(7,27,51,.10);border-radius:10px;padding:12px;box-shadow:0 25px 60px rgba(0,0,0,.18)}
  .home .site-header.is-over-hero .main-nav{background:rgba(7,27,51,.98);border-color:rgba(255,255,255,.13)}
  .main-nav.is-open{display:block}
  .main-nav .menu{display:flex;flex-direction:column;align-items:stretch;gap:2px}
  .main-nav a{display:flex;padding:12px 4px;font-size:16px}
  .header-quote{padding:9px 12px;font-size:14px}
  .header-icon{width:36px;height:36px}
  .hero-center{padding:54px 0 48px}
}
@media (max-width:620px){
  .brand-name{display:none}
  .header-actions{gap:4px}
  .header-quote{padding:8px 10px}
  .hero-clean{min-height:clamp(470px, 72vh, 620px)}
}


/* v1.4 fixes: full-width chrome, softer background, non-bold menu */
body{background:#f5f2eb;}
body.woocommerce, body.woocommerce-page{width:auto;max-width:none;margin:0;background:#f5f2eb;}
.site-header{left:0;right:0;width:100%;}
.site-footer{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.main-nav a{font-weight:500;}
.main-nav .current-menu-item > a{font-weight:600;}
.home .site-header.is-over-hero{background:linear-gradient(90deg, rgba(7,27,51,.94), rgba(10,43,82,.88));color:#fff;}
.woocommerce-content{padding:52px 0 70px;}
.woocommerce-page main,.post-type-archive-product main{background:#f5f2eb;}
.woocommerce-page .site-main,.post-type-archive-product .site-main{background:#f5f2eb;}

/* v1.8: cleaner cart summary and side-cart */
.header-icon,
.cart-summary-trigger,
.side-cart-close{
  appearance:none;
  border:0;
  font-family:inherit;
  cursor:pointer;
}
.cart-summary-trigger{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 2px;
  background:transparent;
  color:rgba(7,27,51,.70);
  font-size:14px;
  line-height:1;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:color .2s ease;
}
.cart-summary-trigger strong{font-weight:750;color:var(--tv-navy)}
.cart-summary-trigger:hover{color:var(--tv-navy)}
.home .site-header.is-over-hero .cart-summary-trigger{color:rgba(255,255,255,.76)}
.home .site-header.is-over-hero .cart-summary-trigger strong{color:#fff}
.home .site-header.is-over-hero .cart-summary-trigger:hover{color:#fff}
.cart-summary-total .woocommerce-Price-amount,
.cart-summary-total bdi{font-weight:750}
.cart-count.is-empty{display:none}
.side-cart-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(7,27,51,.46);
  backdrop-filter:blur(3px);
}
.side-cart-overlay[hidden]{display:none}
.side-cart{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:10001;
  width:min(430px, 92vw);
  background:#fff;
  color:var(--tv-text);
  box-shadow:-25px 0 70px rgba(7,27,51,.22);
  transform:translateX(105%);
  transition:transform .28s ease;
  display:flex;
  flex-direction:column;
}
.side-cart.is-open{transform:translateX(0)}
.side-cart-head{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  border-bottom:1px solid var(--tv-line);
  background:#fff;
}
.side-cart-head strong{font-size:19px;color:var(--tv-navy);letter-spacing:-.03em}
.side-cart-close{
  width:38px;
  height:38px;
  border-radius:999px;
  background:rgba(7,27,51,.06);
  color:var(--tv-navy);
  font-size:28px;
  line-height:1;
}
.side-cart-close:hover{background:rgba(25,118,210,.10);color:var(--tv-blue)}
.side-cart-content{
  flex:1;
  overflow:auto;
  padding:20px 22px 24px;
}
.side-cart .woocommerce-mini-cart{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.side-cart .woocommerce-mini-cart-item{position:relative;padding:0 26px 14px 0;border-bottom:1px solid rgba(7,27,51,.10)}
.side-cart .woocommerce-mini-cart-item a{color:var(--tv-navy);font-weight:650}
.side-cart .woocommerce-mini-cart-item img{width:54px;height:54px;object-fit:cover;border-radius:8px;margin-right:10px;float:left}
.side-cart .remove_from_cart_button{position:absolute;right:0;top:0;color:var(--tv-muted);font-size:20px;line-height:1}
.side-cart .remove_from_cart_button:hover{color:var(--tv-blue)}
.side-cart .quantity{display:block;margin-top:5px;color:var(--tv-muted);font-size:14px}
.side-cart .woocommerce-mini-cart__total{margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--tv-line);display:flex;justify-content:space-between;gap:16px;color:var(--tv-navy)}
.side-cart .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.side-cart .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:999px;background:var(--tv-blue);color:#fff;font-weight:650;box-shadow:0 12px 26px rgba(25,118,210,.18)}
.side-cart .button:hover{background:#fff;color:var(--tv-blue)}
.side-cart .woocommerce-mini-cart__empty-message{margin:0;color:var(--tv-muted)}
html.side-cart-open{overflow:hidden}
@media (max-width:760px){
  .cart-summary-trigger{display:none}
}

/* v1.9: header/cart/mobile/breadcrumb/WooCommerce polish */
/* Version marker handled in theme header below. */
.site-branding{font-weight:500;letter-spacing:0;min-width:0}
.brand-logo img{height:auto;max-height:34px;width:auto;min-width:150px;display:block}
.brand-mark,.brand-name{display:none!important}
.home .site-header.is-over-hero .brand-logo img{filter:none}
.footer-logo{display:block;max-width:220px;width:100%;height:auto;filter:brightness(0) invert(1);margin:0 0 12px}

.header-icon,
.header-icon:hover,
.header-cart,
.header-cart:hover{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0;
  transform:none;
}
.header-icon{width:34px;height:38px;color:rgba(7,27,51,.74)}
.header-icon:hover{color:var(--tv-blue)}
.home .site-header.is-over-hero .header-icon:hover{color:#fff}
.header-icon svg{width:22px;height:22px;display:block}
.cart-count.is-empty{display:none!important}
.cart-summary-trigger{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0 2px!important;
  min-height:auto;
  color:rgba(7,27,51,.68);
  font-weight:400!important;
}
.cart-summary-trigger:hover{background:transparent!important;color:var(--tv-blue)!important;transform:none!important;box-shadow:none!important}
.cart-summary-trigger strong,
.cart-summary-trigger bdi,
.cart-summary-trigger .woocommerce-Price-amount,
.cart-summary-total{font-weight:700!important;color:inherit}
.cart-summary-text{font-weight:400!important}
.cart-summary-text.is-empty{display:none!important}
.home .site-header.is-over-hero .cart-summary-trigger{color:rgba(255,255,255,.78)}
.home .site-header.is-over-hero .cart-summary-trigger:hover{color:#fff!important}

.header-quote{font-weight:600!important;box-shadow:0 10px 24px rgba(25,118,210,.18)}
.main-nav a{font-weight:400!important}.main-nav .current-menu-item>a{font-weight:500!important}

.btn,.wp-block-button__link,button,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.side-cart .button{
  font-weight:400!important;
  background:linear-gradient(180deg, #2184e5 0%, var(--tv-blue) 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 24px rgba(25,118,210,.16), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.side-cart .button:hover{
  background:#fff!important;
  color:var(--tv-blue)!important;
  border-color:rgba(25,118,210,.20)!important;
  box-shadow:0 12px 26px rgba(7,27,51,.12)!important;
}
.header-icon,.cart-summary-trigger,.menu-toggle,.side-cart-close{appearance:none;font-family:inherit;cursor:pointer}
.header-icon:not(.side-cart-close),.cart-summary-trigger{border:none!important}

.tv-woo-breadcrumb{margin:0 0 12px!important;padding:0!important}
.tv-woo-breadcrumb .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb{
  margin:0!important;
  padding:0!important;
  color:var(--tv-muted)!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.tv-woo-breadcrumb .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb a{color:var(--tv-blue)!important;text-decoration:none!important}
.tv-woo-breadcrumb .woocommerce-breadcrumb a:hover{text-decoration:underline!important}
.tv-bc-sep{display:inline-block;margin:0 7px;color:rgba(7,27,51,.35)}
.woocommerce-content .product_title,
.woocommerce-products-header__title{margin-top:0!important}
.woocommerce div.product{margin-top:0!important}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce #reviews,
.woocommerce-Tabs-panel{
  padding:22px!important;
  background:#fff;
  border:1px solid var(--tv-line);
  border-radius:var(--tv-radius);
}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0!important;margin-bottom:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--tv-line)!important}

.woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.tv-quantity-row{display:inline-flex;align-items:center;gap:9px;min-height:44px}
.tv-qty-label{font-size:15px;color:var(--tv-navy);font-weight:400;line-height:1}
.woocommerce .quantity .qty{
  width:74px!important;
  min-height:44px!important;
  padding:8px 10px!important;
  border:1px solid rgba(7,27,51,.18)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--tv-text)!important;
  font-size:16px!important;
  box-shadow:inset 0 1px 2px rgba(7,27,51,.05)!important;
}
.woocommerce div.product form.cart .button{min-height:44px!important;padding:10px 19px!important}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{font-weight:400!important;font-size:14px!important;min-height:39px!important;padding:9px 14px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:500!important;font-size:17px!important}
.woocommerce ul.products li.product .price{font-weight:500!important}
.product-card-short-description,.woocommerce ul.products li.product .short-description{font-weight:400!important;color:var(--tv-muted);font-size:14px;line-height:1.45}

@media (max-width:900px){
  .header-inner{position:relative;gap:10px}
  .header-right{margin-left:auto;gap:8px;display:flex;align-items:center}
  .header-actions{order:1;gap:7px}
  .menu-toggle{
    order:3;
    display:inline-flex!important;
    width:38px;height:38px;min-height:38px;
    padding:0!important;
    align-items:center;justify-content:center;flex-direction:column;gap:4px;
    margin-left:2px;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:var(--tv-navy)!important;
    font-weight:400!important;
  }
  .menu-toggle span{display:block;width:22px;height:2px;border-radius:99px;background:currentColor;transition:transform .2s ease, opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .home .site-header.is-over-hero .menu-toggle{color:#fff!important;background:transparent!important;border:0!important}
  .main-nav{top:calc(100% + 8px);left:auto;right:0;width:min(320px, calc(100vw - 30px));border-radius:10px}
  .main-nav a{font-size:16px!important;padding:12px 6px!important}
}
@media (max-width:760px){
  .cart-summary-trigger{display:none!important}
  .header-icon{width:32px;height:38px}
  .header-quote{font-size:14px;padding:8px 11px;min-height:36px}
}
@media (max-width:560px){
  .brand-logo img{max-height:30px;min-width:128px;max-width:160px}
  .header-actions{gap:4px}
  .header-account{display:inline-flex}
}

/* final v1.9 specificity fixes for non-CTA header controls */
.site-header .header-icon,
.site-header .header-icon:hover,
.site-header .header-cart,
.site-header .header-cart:hover,
.site-header .cart-summary-trigger,
.site-header .cart-summary-trigger:hover{
  background:transparent!important;
  color:inherit;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  font-weight:400!important;
}
.site-header .header-icon{color:rgba(7,27,51,.74)!important}
.site-header .header-icon:hover{color:var(--tv-blue)!important}
.site-header .cart-summary-trigger{color:rgba(7,27,51,.68)!important}
.site-header .cart-summary-trigger:hover{color:var(--tv-blue)!important}
.home .site-header.is-over-hero .header-icon{color:rgba(255,255,255,.82)!important}
.home .site-header.is-over-hero .header-icon:hover{color:#fff!important}
.home .site-header.is-over-hero .cart-summary-trigger{color:rgba(255,255,255,.78)!important}
.home .site-header.is-over-hero .cart-summary-trigger:hover{color:#fff!important}
.side-cart-close,
.side-cart-close:hover{
  background:rgba(7,27,51,.06)!important;
  color:var(--tv-navy)!important;
  border:0!important;
  box-shadow:none!important;
  font-weight:400!important;
}
.side-cart-close:hover{background:rgba(25,118,210,.10)!important;color:var(--tv-blue)!important}

/* v2.0 fixes: cart drawer spacing, admin bar offset, white logo on splash, cleaner empty cart state and modern button hover */
.admin-bar .site-header{top:32px;}
@media (max-width:782px){.admin-bar .site-header{top:46px;}}

.home .site-header.is-over-hero .brand-logo img{filter:brightness(0) invert(1)!important;transition:filter .28s ease, opacity .28s ease;}
.site-header:not(.is-over-hero) .brand-logo img{filter:none!important;transition:filter .28s ease, opacity .28s ease;}

.cart-summary-slot:empty,
.cart-summary-text.is-empty{display:none!important;}
.cart-summary-trigger:has(.cart-summary-slot:empty){display:none!important;}
@supports not selector(:has(*)){
  .cart-summary-trigger{min-width:0;}
}

.side-cart{
  top:18px!important;
  bottom:18px!important;
  border-radius:14px 0 0 14px;
  overflow:hidden;
}
.admin-bar .side-cart{top:50px!important;}
@media (max-width:782px){.admin-bar .side-cart{top:64px!important;}}
@media (max-width:520px){.side-cart{top:12px!important;bottom:12px!important;width:min(390px,94vw)}}

.side-cart .woocommerce-mini-cart__buttons .button{
  background:#eef3f8!important;
  background-image:linear-gradient(90deg, #e2edf7 0%, #d8e7f4 100%)!important;
  color:var(--tv-navy)!important;
  border:1px solid rgba(7,27,51,.10)!important;
  box-shadow:none!important;
}
.side-cart .woocommerce-mini-cart__buttons .checkout{
  background:var(--tv-blue)!important;
  background-image:linear-gradient(90deg, #1976d2 0%, #1688e5 100%)!important;
  color:#fff!important;
  border-color:rgba(25,118,210,.25)!important;
  box-shadow:0 10px 24px rgba(25,118,210,.18)!important;
}
.side-cart .woocommerce-mini-cart__buttons .button:hover,
.side-cart .woocommerce-mini-cart__buttons .checkout:hover{
  transform:translateY(-1px)!important;
}
.side-cart .woocommerce-mini-cart__buttons .button:hover{
  background-image:linear-gradient(90deg, #dceaf6 0%, #cfe1f1 100%)!important;
  color:var(--tv-navy)!important;
}
.side-cart .woocommerce-mini-cart__buttons .checkout:hover{
  background-image:linear-gradient(90deg, #135fac 0%, #1976d2 100%)!important;
  color:#fff!important;
}

/* Modern non-white button hover: animated blue sweep */
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.header-quote{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
  font-weight:400!important;
  background:var(--tv-blue)!important;
  background-image:linear-gradient(90deg, var(--tv-blue) 0%, #2291ef 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 24px rgba(25,118,210,.17), inset 0 1px 0 rgba(255,255,255,.20)!important;
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease, border-color .18s ease!important;
}
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,
.header-quote::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, #0f5fae 0%, #135fac 46%, #1ba8e8 100%);
  transform:translateX(-102%);
  transition:transform .32s ease;
}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.header-quote:hover{
  color:#fff!important;
  background:var(--tv-blue)!important;
  border-color:rgba(25,118,210,.28)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(7,27,51,.14), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.btn:hover::before,.wp-block-button__link:hover::before,input[type="submit"]:hover::before,
.woocommerce a.button:hover::before,.woocommerce button.button:hover::before,.woocommerce input.button:hover::before,.woocommerce #respond input#submit:hover::before,
.woocommerce .single_add_to_cart_button:hover::before,
.header-quote:hover::before{transform:translateX(0);}

/* Quantity label on product pages */
.woocommerce div.product form.cart .tv-quantity-row{display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:44px;}
.woocommerce div.product form.cart .tv-qty-label{display:inline-flex!important;color:var(--tv-navy);font-weight:400;font-size:15px;}
.woocommerce div.product form.cart .quantity{display:inline-flex!important;margin:0!important;}
.woocommerce div.product form.cart .single_add_to_cart_button{font-weight:400!important;background:var(--tv-blue)!important;color:#fff!important;}

/* Header controls should not inherit button skin */
.site-header .header-icon,
.site-header .header-icon:hover,
.site-header .cart-summary-trigger,
.site-header .cart-summary-trigger:hover,
.site-header .menu-toggle,
.site-header .menu-toggle:hover{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}
.site-header .header-icon::before,
.site-header .cart-summary-trigger::before,
.site-header .menu-toggle::before{display:none!important;}



/* v2.1 polish: smoother buttons, product gallery, hero separator, mobile menu and mobile product tabs */
.footer-logo{max-width:110px!important;}

.hero-actions{align-items:center;gap:14px;}
.hero-or{display:inline-flex;align-items:center;justify-content:center;min-height:46px;color:rgba(255,255,255,.88);font-size:16px;line-height:1;font-weight:400;}

/* Smoother button hover: full-shape wash, same radius as the button */
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.header-quote,
.side-cart .button{
  isolation:isolate!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:var(--tv-btn-radius)!important;
  font-weight:400!important;
  background:linear-gradient(180deg, #2088eb 0%, var(--tv-blue) 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 10px 24px rgba(25,118,210,.16), inset 0 1px 0 rgba(255,255,255,.20)!important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s cubic-bezier(.2,.8,.2,1), color .18s ease, border-color .18s ease!important;
}
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,
.header-quote::before,
.side-cart .button::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg, #d9f1ff 0%, #9eddff 48%, #58bfff 100%)!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .42s cubic-bezier(.16,1,.3,1)!important;
}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.header-quote:hover,
.side-cart .button:hover{
  color:var(--tv-navy)!important;
  background:linear-gradient(180deg, #2088eb 0%, var(--tv-blue) 100%)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(7,27,51,.14), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.btn:hover::before,.wp-block-button__link:hover::before,input[type="submit"]:hover::before,
.woocommerce a.button:hover::before,.woocommerce button.button:hover::before,.woocommerce input.button:hover::before,.woocommerce #respond input#submit:hover::before,
.woocommerce .single_add_to_cart_button:hover::before,
.header-quote:hover::before,
.side-cart .button:hover::before{transform:scaleX(1)!important;}
.btn-outline-light:hover,.btn-light:hover{color:var(--tv-navy)!important;}

/* Header controls must stay clean, never inherit button animation */
.site-header .header-icon,
.site-header .header-icon:hover,
.site-header .cart-summary-trigger,
.site-header .cart-summary-trigger:hover,
.site-header .menu-toggle,
.site-header .menu-toggle:hover{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
  color:inherit;
}
.site-header .header-icon::before,
.site-header .cart-summary-trigger::before,
.site-header .menu-toggle::before{display:none!important;}

/* Side cart buttons: secondary cart, primary checkout */
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout){
  background:linear-gradient(180deg, #eaf4fb 0%, #d8e8f2 100%)!important;
  color:var(--tv-navy)!important;
  border-color:rgba(7,27,51,.10)!important;
  box-shadow:0 8px 18px rgba(7,27,51,.08)!important;
}
.side-cart .woocommerce-mini-cart__buttons .checkout{
  background:linear-gradient(180deg, #2088eb 0%, var(--tv-blue) 100%)!important;
  color:#fff!important;
}
.side-cart .woocommerce-mini-cart__buttons .button:hover{color:var(--tv-navy)!important;}

/* Product gallery: smaller main image and clickable thumbnail state */
.woocommerce div.product div.images{max-width:520px;}
.woocommerce div.product div.images img{max-height:520px;object-fit:contain;background:#fff;border-radius:10px;}
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child img{max-height:430px;width:100%;object-fit:contain;}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px!important;}
.woocommerce div.product div.images .flex-control-thumbs li{width:72px!important;margin:0!important;}
.woocommerce div.product div.images .flex-control-thumbs img{height:72px;object-fit:cover;border:1px solid var(--tv-line);border-radius:8px;opacity:.72;transition:opacity .18s ease,border-color .18s ease,transform .18s ease;}
.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs img.tv-active-thumb{opacity:1;border-color:var(--tv-blue);transform:translateY(-1px);}

/* Product form quantity label, button color and weight */
.woocommerce div.product form.cart{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;}
.woocommerce div.product form.cart .tv-quantity-row{display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;}
.woocommerce div.product form.cart .tv-qty-label{display:inline-flex!important;color:var(--tv-navy)!important;font-weight:400!important;font-size:15px!important;}
.woocommerce div.product form.cart .quantity{display:inline-flex!important;margin:0!important;}
.woocommerce div.product form.cart .single_add_to_cart_button{font-weight:400!important;}
.woocommerce .quantity .qty{font-weight:400!important;}

/* Mobile menu: full-width background, left aligned links, quote goes inside hamburger */
.mobile-menu-quote{display:none;}
@media (max-width:900px){
  .header-actions .header-quote{display:none!important;}
  .header-inner{position:relative;}
  .menu-toggle{margin-left:auto!important;border-radius:0!important;padding:8px 0!important;width:38px!important;min-width:38px!important;color:var(--tv-navy)!important;}
  .home .site-header.is-over-hero .menu-toggle{color:#fff!important;}
  .main-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:58px!important;
    width:100vw!important;
    max-width:none!important;
    border-radius:0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    background:rgba(7,27,51,.985)!important;
    padding:18px max(18px, calc((100vw - var(--tv-max))/2 + 18px)) 26px!important;
    box-shadow:0 28px 60px rgba(0,0,0,.26)!important;
  }
  .admin-bar .main-nav{top:104px!important;}
  .main-nav .menu{align-items:stretch!important;text-align:left!important;gap:0!important;}
  .main-nav a,
  .mobile-menu-quote{
    justify-content:flex-start!important;
    text-align:left!important;
    color:#fff!important;
    font-size:18px!important;
    padding:14px 0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    font-weight:400!important;
  }
  .main-nav a::after{display:none!important;}
  .main-nav a:hover{color:#bfe7ff!important;}
  .mobile-menu-quote{display:flex!important;text-decoration:none!important;}
  .header-actions{margin-left:0!important;}
}
@media (max-width:782px){.admin-bar .main-nav{top:104px!important;}}
@media (max-width:600px){.admin-bar .main-nav{top:104px!important;}}

/* Hero button row on small screens keeps 'eller' aligned */
@media (max-width:560px){
  .hero-actions{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;width:100%;}
  .hero-actions .btn{min-width:0;width:100%;padding-inline:12px;}
  .hero-or{min-height:46px;font-size:14px;}
}

/* Product tabs: mobile accordion instead of cramped tabs */
.tv-tab-toggle{display:none;}
@media (max-width:760px){
  .woocommerce div.product .woocommerce-tabs{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:none!important;}
  .tv-tab-toggle{
    display:flex!important;
    width:100%;
    justify-content:space-between;
    align-items:center;
    margin:10px 0 0;
    padding:15px 16px;
    border-radius:10px!important;
    border:1px solid var(--tv-line)!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    font-size:17px;
    font-weight:400!important;
    box-shadow:0 8px 20px rgba(7,27,51,.06)!important;
  }
  .tv-tab-toggle::before{display:none!important;}
  .tv-tab-toggle::after{content:"+";font-size:22px;line-height:1;color:var(--tv-blue);}
  .tv-tab-toggle[aria-expanded="true"]::after{content:"−";}
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{
    margin:8px 0 0!important;
    padding:17px 16px!important;
    border-radius:10px!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
  }
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.tv-panel-collapsed{display:none!important;}
  .woocommerce div.product .woocommerce-tabs table.shop_attributes,
  .woocommerce div.product .woocommerce-tabs table.shop_attributes tbody,
  .woocommerce div.product .woocommerce-tabs table.shop_attributes tr,
  .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
  .woocommerce div.product .woocommerce-tabs table.shop_attributes td{display:block!important;width:100%!important;}
  .woocommerce div.product .woocommerce-tabs table.shop_attributes th{padding:10px 0 2px!important;border:0!important;background:transparent!important;}
  .woocommerce div.product .woocommerce-tabs table.shop_attributes td{padding:0 0 10px!important;border:0!important;}
}

@media (max-width:760px){
  .woocommerce div.product div.images{max-width:100%;}
  .woocommerce div.product div.images .woocommerce-product-gallery__image:first-child img{max-height:340px;}
}

/* v2.2 fixes: cleaner duplicate quote, smoother bluer hover, side cart remove placement, mobile tabs */
:root{--tv-hover-blue:#42b7f5;--tv-hover-blue-2:#189ce8;}

/* More blue, less white hover wash */
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,
.header-quote::before,
.side-cart .button::before{
  background:linear-gradient(90deg, var(--tv-hover-blue-2) 0%, var(--tv-hover-blue) 58%, #7fd3ff 100%)!important;
  border-radius:inherit!important;
  will-change:transform;
}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.header-quote:hover,
.side-cart .button:hover{
  color:#fff!important;
}

/* Side cart remove icon should sit clearly to the right, not on top of the image */
.side-cart .woocommerce-mini-cart-item{padding:0 42px 16px 0!important;min-height:68px;}
.side-cart .remove,
.side-cart .remove_from_cart_button{
  left:auto!important;
  right:8px!important;
  top:8px!important;
  width:26px!important;
  height:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#eef5fb!important;
  color:var(--tv-navy)!important;
  font-size:18px!important;
  line-height:1!important;
  text-decoration:none!important;
  z-index:5!important;
}
.side-cart .remove:hover,
.side-cart .remove_from_cart_button:hover{background:#dcecf8!important;color:var(--tv-blue)!important;}

/* Header cart text: never show empty zero text */
.cart-summary-text.is-empty,
.cart-summary-slot:empty,
.cart-summary-trigger:empty{display:none!important;}
.cart-summary-trigger{font-weight:400!important;}
.cart-summary-trigger .cart-summary-text,
.cart-summary-trigger .cart-summary-total,
.cart-summary-trigger .woocommerce-Price-amount,
.cart-summary-trigger bdi{font-weight:400!important;}

/* Quantity label fallback and alignment */
.woocommerce div.product form.cart .quantity::before{content:"Antal";display:inline-flex;align-items:center;margin-right:10px;color:var(--tv-navy);font-size:15px;font-weight:400;}
.woocommerce div.product form.cart .tv-quantity-row .quantity::before{content:"";display:none;}

/* Mobile tabs must reveal content when expanded */
@media (max-width:760px){
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel:not(.tv-panel-collapsed){display:block!important;visibility:visible!important;height:auto!important;opacity:1!important;}
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.tv-panel-collapsed{display:none!important;}
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{clear:both!important;}
}

/* v2.3: quote link, cart summary, smoother blue hover, cart popup mobile fixes */
:root{
  --tv-hover-blue:#2aa7ee;
  --tv-hover-blue-2:#0d87dc;
  --tv-quote-soft:#d8e8f2;
  --tv-quote-soft-hover:#c6deef;
}

/* The quote item is now a text link, not a pill/button. It is rendered by the theme so it cannot duplicate. */
.main-nav .nav-quote-link,
.main-nav a.nav-quote-link,
.mobile-menu-quote{
  display:inline-flex!important;
  align-items:center!important;
  color:var(--tv-blue)!important;
  font-weight:600!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:9px 0!important;
}
.main-nav .nav-quote-link::before{display:none!important;}
.main-nav .nav-quote-link::after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:2px!important;
  height:2px!important;
  border-radius:999px!important;
  background:currentColor!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .22s ease!important;
  opacity:.95!important;
}
.main-nav .nav-quote-link:hover{color:#0f5fb8!important;transform:none!important;}
.main-nav .nav-quote-link:hover::after{transform:scaleX(1)!important;}
.home .site-header.is-over-hero .main-nav .nav-quote-link{color:#7cc7ff!important;}
.home .site-header.is-over-hero .main-nav .nav-quote-link:hover{color:#c8ecff!important;}

/* Keep old menu-created offert items hidden to avoid duplicates. Remove/comment this block if you want Begär offert to behave exactly like a normal menu item. */
.main-nav .menu a[href*="offert"]{display:none!important;}

/* Header cart summary visible on desktop, but hidden on smaller screens. */
.header-actions{gap:8px!important;}
.cart-summary-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0!important;
  margin:0 2px 0 -2px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:rgba(7,27,51,.72)!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.cart-summary-trigger:hover{color:var(--tv-blue)!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.home .site-header.is-over-hero .cart-summary-trigger{color:rgba(255,255,255,.76)!important;}
.home .site-header.is-over-hero .cart-summary-trigger:hover{color:#fff!important;}
.cart-summary-trigger:has(.cart-summary-slot:empty),
.cart-summary-trigger.is-empty{display:none!important;}
.cart-summary-slot:empty{display:none!important;}
.cart-summary-trigger .cart-summary-text,
.cart-summary-trigger .cart-summary-total,
.cart-summary-trigger .woocommerce-Price-amount,
.cart-summary-trigger bdi{font-weight:400!important;}
.cart-count{font-weight:700!important;}
@media (max-width:900px){.cart-summary-trigger{display:none!important;}}

/* Hero button changes */
.hero-actions .btn-light{min-width:190px;}
.hero-actions .btn-soft-quote{
  min-width:150px;
  background:linear-gradient(180deg, #eaf4fb 0%, var(--tv-quote-soft) 100%)!important;
  color:var(--tv-navy)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.14)!important;
}
.hero-actions .btn-soft-quote:hover{color:#fff!important;border-color:rgba(255,255,255,.28)!important;}

/* Smoother, bluer hover wash that follows the actual pill shape. */
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.side-cart .button{
  overflow:hidden!important;
  isolation:isolate!important;
  transition:color .22s ease, transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,
.side-cart .button::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg, #0e84d7 0%, #18a0ea 54%, #37b7f3 100%)!important;
  transform:translateX(-102%)!important;
  transition:transform .32s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform!important;
}
.btn:hover::before,.wp-block-button__link:hover::before,input[type="submit"]:hover::before,
.woocommerce a.button:hover::before,.woocommerce button.button:hover::before,.woocommerce input.button:hover::before,.woocommerce #respond input#submit:hover::before,
.woocommerce .single_add_to_cart_button:hover::before,
.side-cart .button:hover::before{transform:translateX(0)!important;}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.side-cart .button:hover{color:#fff!important;}

/* Side cart buttons: stack on mobile to prevent broken text. */
.side-cart .woocommerce-mini-cart__buttons .button{font-size:14px!important;font-weight:400!important;white-space:nowrap!important;}
@media (max-width:520px){
  .side-cart .woocommerce-mini-cart__buttons{grid-template-columns:1fr!important;gap:9px!important;}
  .side-cart .woocommerce-mini-cart__buttons .button{width:100%!important;min-height:42px!important;font-size:14px!important;padding:10px 14px!important;}
}

/* Loop add-to-cart buttons: prevent heavy/bold look and reduce accidental rapid double taps. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button{font-weight:400!important;}
.woocommerce ul.products li.product .button.is-adding{pointer-events:none!important;opacity:.75!important;}

/* Mobile menu: quote text should be same style as other menu links but blue-highlighted. */
@media (max-width:900px){
  .main-nav .nav-quote-link,
  .main-nav a.nav-quote-link{
    display:flex!important;
    color:#7cc7ff!important;
    font-size:18px!important;
    padding:14px 0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    font-weight:600!important;
  }
  .main-nav .nav-quote-link::after{display:none!important;}
}

/* v2.3 late layout guard */
@media (min-width:901px){
  .main-nav{display:flex!important;align-items:center!important;gap:18px!important;}
  .main-nav .menu{display:flex!important;align-items:center!important;gap:18px!important;}
}
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.side-cart .button{position:relative!important;}

/* v2.4: lighter splash effects, smoother buttons, side-cart quantity/tax and product page polish */
:root{
  --tv-hover-blue:#1a9ee8;
  --tv-hover-blue-2:#0b78c8;
  --tv-hover-blue-3:#5bc6ff;
}

/* Make the hero animation cheaper: no continuously rotating conic layers, fewer repaints. */
.hero-clean::before{
  opacity:.42!important;
  animation:tvSweepLite 12s ease-in-out infinite alternate!important;
  will-change:transform, opacity;
}
.hero-bg-effect::before{
  inset:0!important;
  background:
    radial-gradient(circle at 18% 22%, rgba(68,215,255,.20), transparent 22rem),
    radial-gradient(circle at 84% 34%, rgba(30,136,229,.18), transparent 24rem),
    radial-gradient(circle at 52% 82%, rgba(120,199,255,.10), transparent 20rem)!important;
  animation:none!important;
  transform:none!important;
}
.hero-bg-effect::after{
  opacity:.42!important;
  background-size:56px 56px,56px 56px,112px 112px!important;
  animation:tvGridFloat 18s linear infinite!important;
  will-change:background-position;
}
.factory-lines{opacity:.46!important;}
.factory-lines span{animation:tvPulseLite 7s ease-in-out infinite!important;box-shadow:0 0 14px rgba(68,215,255,.18)!important;}
.factory-rings{opacity:.34!important;}
.factory-rings::before,.factory-rings::after{
  animation:none!important;
  background:transparent!important;
  mask:none!important;
  border-color:rgba(120,199,255,.22)!important;
}
@keyframes tvSweepLite{0%{transform:translate3d(-2%,0,0)}100%{transform:translate3d(2%,-1%,0)}}
@keyframes tvGridFloat{to{background-position:56px 28px,56px 28px,112px 56px}}
@keyframes tvPulseLite{0%,100%{opacity:.22;transform:scaleX(.70)}50%{opacity:.65;transform:scaleX(1)}}
@media (prefers-reduced-motion: reduce){
  .hero-clean::before,.hero-bg-effect::after,.factory-lines span{animation:none!important;}
}

/* Button hover: smoother full-shape sweep, not a laggy round line. */
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.side-cart .button{
  transform:translateZ(0);
  backface-visibility:hidden;
  transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s cubic-bezier(.2,.8,.2,1), color .16s ease!important;
}
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,
.side-cart .button::before{
  border-radius:inherit!important;
  background:linear-gradient(90deg, var(--tv-hover-blue-2) 0%, var(--tv-hover-blue) 54%, var(--tv-hover-blue-3) 100%)!important;
  transform:translate3d(-101%,0,0)!important;
  transition:transform .26s cubic-bezier(.25,.8,.25,1)!important;
  will-change:transform;
}
.btn:hover::before,.wp-block-button__link:hover::before,input[type="submit"]:hover::before,
.woocommerce a.button:hover::before,.woocommerce button.button:hover::before,.woocommerce input.button:hover::before,.woocommerce #respond input#submit:hover::before,
.woocommerce .single_add_to_cart_button:hover::before,
.side-cart .button:hover::before{transform:translate3d(0,0,0)!important;}

/* Side cart button text should sit perfectly centered. */
.side-cart .woocommerce-mini-cart__buttons .button,
.side-cart .button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
  min-height:44px!important;
  padding:11px 16px!important;
}
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout){
  background:linear-gradient(180deg, #eaf4fb 0%, #d8e8f2 100%)!important;
  color:var(--tv-navy)!important;
}
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover{color:var(--tv-navy)!important;}

/* Editable quantities in the cart drawer. */
.side-cart .tv-mini-cart-meta{clear:both;display:grid;gap:8px;margin-top:7px;color:var(--tv-muted);font-size:14px;}
.side-cart .tv-mini-cart-price{color:var(--tv-muted);}
.side-cart .tv-mini-cart-qty{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:4px;border:1px solid rgba(7,27,51,.11);border-radius:999px;background:#f7fafc;transition:opacity .16s ease;}
.side-cart .tv-mini-cart-qty.is-updating{opacity:.55;pointer-events:none;}
.side-cart .tv-mini-cart-qty-label{font-size:13px;color:var(--tv-muted);padding-left:7px;}
.side-cart .tv-mini-cart-qty-btn{width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border:0!important;border-radius:999px!important;background:#e5f0f8!important;background-image:none!important;color:var(--tv-navy)!important;box-shadow:none!important;font-size:17px!important;line-height:1!important;font-weight:400!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.side-cart .tv-mini-cart-qty-btn::before{display:none!important;}
.side-cart .tv-mini-cart-qty-btn:hover{background:#cfe6f7!important;color:var(--tv-blue)!important;transform:none!important;}
.side-cart .tv-mini-cart-qty-input{width:42px;height:28px;padding:2px 4px;border:0;background:transparent;color:var(--tv-navy);font-size:14px;text-align:center;appearance:textfield;}
.side-cart .tv-mini-cart-qty-input::-webkit-outer-spin-button,.side-cart .tv-mini-cart-qty-input::-webkit-inner-spin-button{appearance:none;margin:0;}
.side-cart .tv-mini-cart-tax{margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid rgba(7,27,51,.10);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--tv-muted);font-size:14px;}
.side-cart .tv-mini-cart-tax strong{color:var(--tv-navy);font-weight:500;}

/* Product page price color. */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product .summary .price,
.woocommerce ul.products li.product .price{color:var(--tv-navy)!important;}

/* Product tabs/specification box: remove WooCommerce protruding tab lines and make the white box complete. */
.woocommerce div.product .woocommerce-tabs{background:transparent!important;border:0!important;padding:0!important;overflow:visible!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 10px!important;border:0!important;overflow:visible!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;border:0!important;box-shadow:none!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid var(--tv-line)!important;background:#fff!important;border-radius:10px 10px 0 0!important;margin:0 5px 0 0!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:#fff!important;}
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce #reviews,
.woocommerce-Tabs-panel{
  position:relative!important;
  margin:0!important;
  padding:22px!important;
  background:#fff!important;
  border:1px solid var(--tv-line)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 10px 26px rgba(7,27,51,.045)!important;
}
.woocommerce div.product .woocommerce-tabs .panel::before,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel::before{display:none!important;}

@media (max-width:760px){
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{margin:8px 0 0!important;border-radius:10px!important;overflow:hidden!important;}
}

/* v2.5: stability/performance fixes */
/* Keep the footer pinned to the bottom on short pages without creating horizontal overflow. */
html{min-height:100%;overflow-x:hidden;}
body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;}
main{flex:1 0 auto;width:100%;}
.site-footer{flex-shrink:0;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;}
.site-header{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;}
.woocommerce-page main,.post-type-archive-product main,.woocommerce-content{max-width:100%;overflow-x:hidden;}
.woocommerce-content{width:min(var(--tv-max), calc(100% - 56px))!important;margin-left:auto!important;margin-right:auto!important;}
@media (max-width:900px){.woocommerce-content{width:min(100% - 30px, var(--tv-max))!important;}}
.entry-content > .alignfull{width:100%;max-width:100%;margin-left:0;transform:none;}

/* Remove the laggy animated pseudo-elements from buttons. Use a cheap, smooth color/raise transition instead. */
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,
.side-cart .button::before{display:none!important;content:none!important;}
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.side-cart .button{
  background-image:none!important;
  transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
  will-change:auto!important;
}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.side-cart .button:hover{
  background:#178fdb!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 25px rgba(25,118,210,.22)!important;
}
.btn-outline-light:hover,.hero-quote:hover{background:#d6eaf8!important;color:var(--tv-navy)!important;}
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout){background:#e5f0f8!important;color:var(--tv-navy)!important;box-shadow:none!important;}
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover{background:#cfe6f7!important;color:var(--tv-navy)!important;}
.side-cart .woocommerce-mini-cart__buttons .button.checkout:hover{background:#178fdb!important;color:#fff!important;}

/* Side cart totals: shipping, VAT and final total. */
.side-cart .tv-mini-cart-shipping,
.side-cart .tv-mini-cart-tax,
.side-cart .tv-mini-cart-order-total{
  margin:0;
  padding:10px 0;
  border-top:1px solid rgba(7,27,51,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--tv-muted);
  font-size:14px;
}
.side-cart .tv-mini-cart-shipping strong,
.side-cart .tv-mini-cart-tax strong,
.side-cart .tv-mini-cart-order-total strong{color:var(--tv-navy);font-weight:500;}
.side-cart .tv-mini-cart-order-total{margin-bottom:12px;color:var(--tv-navy);font-size:16px;}
.side-cart .tv-mini-cart-order-total strong{font-weight:650;}


/* v2.6: restore always-visible header without breaking footer-bottom layout */
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:10000!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.admin-bar .site-header{top:32px!important;}
@media (max-width:782px){.admin-bar .site-header{top:46px!important;}}

/* Since the header is fixed, regular pages need breathing room under it. The front page splash may sit behind the dark header. */
body:not(.home) main{padding-top:64px!important;}
.home main{padding-top:0!important;}
@media (max-width:760px){body:not(.home) main{padding-top:58px!important;}}

/* Keep sticky footer behavior with fixed header. */
html, body{min-height:100%!important;}
body{min-height:100vh!important;display:flex!important;flex-direction:column!important;}
main{flex:1 0 auto!important;width:100%!important;}
.site-footer{margin-top:auto!important;flex-shrink:0!important;}

/* Mobile menu must anchor below the fixed header, full width. */
@media (max-width:760px){
  .main-nav{
    position:fixed!important;
    top:58px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .admin-bar .main-nav{top:104px!important;}
}
@media (max-width:782px){.admin-bar .main-nav{top:104px!important;}}


/* v2.7: performance-first hero, stable product tabs and editable theme text polish */
/* Hero/splash: keep the manufacturing feeling but remove expensive infinite animations. */
.hero-clean{
  background:
    radial-gradient(circle at 18% 16%, rgba(68,215,255,.22), transparent 22rem),
    radial-gradient(circle at 86% 24%, rgba(30,136,229,.20), transparent 28rem),
    linear-gradient(145deg, #041326 0%, #071b33 48%, #0a2b52 100%)!important;
  transform:translateZ(0);
}
.hero-clean::before{
  opacity:.38!important;
  animation:none!important;
  transform:none!important;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(68,215,255,.10) 39%, transparent 43% 100%),
    linear-gradient(65deg, transparent 0 62%, rgba(120,199,255,.08) 63%, transparent 67% 100%)!important;
}
.hero-bg-effect::before{
  display:none!important;
  animation:none!important;
}
.hero-bg-effect::after{
  opacity:.34!important;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px)!important;
  background-size:54px 54px!important;
  mask-image:radial-gradient(circle at 50% 48%, black, transparent 72%)!important;
}
.factory-rings{display:none!important;}
.factory-lines{opacity:.34!important;mix-blend-mode:normal!important;}
.factory-lines span{animation:none!important;box-shadow:none!important;background:rgba(68,215,255,.20)!important;transform:none!important;}
@media (prefers-reduced-motion: reduce){
  .hero-clean::before,.hero-bg-effect::before,.hero-bg-effect::after,.factory-lines span,.factory-rings::before,.factory-rings::after{animation:none!important;}
}

/* Buttons: no heavy pseudo animation, never turn white on product pages. */
.btn::before,.wp-block-button__link::before,input[type="submit"]::before,
.woocommerce a.button::before,.woocommerce button.button::before,.woocommerce input.button::before,.woocommerce #respond input#submit::before,
.woocommerce .single_add_to_cart_button::before,.side-cart .button::before,.header-quote::before{display:none!important;content:none!important;}
.btn,.wp-block-button__link,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,.side-cart .button{
  font-weight:400!important;
  background:#1976d2!important;
  color:#fff!important;
  background-image:none!important;
  transition:background-color .14s ease, color .14s ease, box-shadow .14s ease, transform .14s ease!important;
  will-change:auto!important;
}
.btn:hover,.wp-block-button__link:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,.side-cart .button:hover{
  background:#2196e6!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(25,118,210,.20)!important;
}
.btn-soft-quote,.btn-outline-light,.hero-quote{background:#d8e9f4!important;color:var(--tv-navy)!important;border-color:rgba(255,255,255,.22)!important;}
.btn-soft-quote:hover,.btn-outline-light:hover,.hero-quote:hover{background:#b9ddf2!important;color:var(--tv-navy)!important;}
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout){background:#e5f0f8!important;color:var(--tv-navy)!important;}
.side-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover{background:#cfe6f7!important;color:var(--tv-navy)!important;}
.side-cart .woocommerce-mini-cart__buttons .checkout{background:#1976d2!important;color:#fff!important;}
.side-cart .woocommerce-mini-cart__buttons .checkout:hover{background:#2196e6!important;color:#fff!important;}

/* Product tabs: connect tabs to the content box and make active state obvious. */
.woocommerce div.product .woocommerce-tabs{width:100%!important;clear:both!important;margin-top:34px!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;
  align-items:flex-end!important;
  gap:4px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;border:0!important;box-shadow:none!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0 0 -1px 0!important;
  padding:0!important;
  border:1px solid var(--tv-line)!important;
  border-bottom-color:var(--tv-line)!important;
  border-radius:9px 9px 0 0!important;
  background:#e8eef2!important;
  color:rgba(7,27,51,.68)!important;
  box-shadow:none!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block!important;
  padding:11px 15px!important;
  color:inherit!important;
  font-weight:400!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:#fff!important;
  color:var(--tv-navy)!important;
  border-color:var(--tv-line)!important;
  border-bottom-color:#fff!important;
  z-index:2!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tv-navy)!important;}
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:24px!important;
  background:#fff!important;
  border:1px solid var(--tv-line)!important;
  border-radius:0 10px 10px 10px!important;
  overflow:visible!important;
  box-shadow:0 10px 26px rgba(7,27,51,.045)!important;
}
.woocommerce #reviews,
.woocommerce #reviews #comments,
.woocommerce #reviews #review_form_wrapper,
.woocommerce #reviews .commentlist,
.woocommerce #reviews .comment_container,
.woocommerce #reviews .comment-text{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
.woocommerce #reviews{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;}
.woocommerce #reviews #comments ol.commentlist{padding-left:0!important;}
.woocommerce #reviews #comments ol.commentlist li .comment-text{margin-left:0!important;border-color:var(--tv-line)!important;}

/* Mobile tabs become clear accordion panels with guaranteed visible content. */
@media (max-width:760px){
  .woocommerce div.product .woocommerce-tabs{margin-top:26px!important;background:transparent!important;border:0!important;padding:0!important;}
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:none!important;}
  .tv-tab-toggle{
    display:flex!important;
    width:100%!important;
    justify-content:space-between!important;
    align-items:center!important;
    margin:10px 0 0!important;
    padding:15px 16px!important;
    border-radius:10px!important;
    border:1px solid var(--tv-line)!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    font-size:17px!important;
    font-weight:400!important;
    box-shadow:none!important;
  }
  .tv-tab-toggle[aria-expanded="true"]{background:#e8f2f9!important;border-color:rgba(25,118,210,.25)!important;}
  .tv-tab-toggle + .woocommerce-Tabs-panel,
  .tv-tab-toggle + .panel{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:17px 16px!important;
    border-radius:0 0 10px 10px!important;
    overflow:visible!important;
    display:block;
  }
  .tv-tab-toggle[aria-expanded="false"] + .woocommerce-Tabs-panel,
  .tv-tab-toggle[aria-expanded="false"] + .panel,
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.tv-panel-collapsed{display:none!important;}
  .tv-tab-toggle[aria-expanded="true"] + .woocommerce-Tabs-panel,
  .tv-tab-toggle[aria-expanded="true"] + .panel,
  .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel:not(.tv-panel-collapsed){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;}
}


/* v2.8: cart fragment refresh, stable hero CTA hover and restored product-card quick info */
.tv-loop-short-description{
  margin:6px 0 10px!important;
  color:var(--tv-muted)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:400!important;
}
.woocommerce ul.products li.product .tv-loop-short-description{
  clear:both;
}

/* Keep splash quote button stable; no blink from inherited pseudo/button rules. */
.hero-actions .btn-soft-quote,
.hero-actions .btn-soft-quote:visited{
  background:#d8e9f4!important;
  color:var(--tv-navy)!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 12px 26px rgba(7,27,51,.16)!important;
  transition:background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease!important;
}
.hero-actions .btn-soft-quote::before{display:none!important;content:none!important;}
.hero-actions .btn-soft-quote:hover,
.hero-actions .btn-soft-quote:focus-visible{
  background:#b6dcf3!important;
  color:var(--tv-navy)!important;
  border-color:rgba(182,220,243,.85)!important;
  box-shadow:0 14px 30px rgba(7,27,51,.18)!important;
  transform:translateY(-1px)!important;
}

/* Mini-cart quantity updating state: visible but not layout-shifting. */
.tv-mini-cart-qty.is-updating{opacity:.58;pointer-events:none;}
.side-cart .woocommerce-mini-cart__total,
.tv-mini-cart-shipping,
.tv-mini-cart-tax,
.tv-mini-cart-order-total{transition:opacity .12s ease;}


/* Tillverkeriet Custom v4.0 - robust classic header/menu overrides */
:root{
  --tv-header-height: 66px;
  --tv-adminbar-height: 0px;
  --tv-blue: #1976d2;
  --tv-blue-hover: #5db8ff;
  --tv-navy: #071b33;
}
html{overflow-x:hidden;scroll-padding-top:calc(var(--tv-header-height) + 18px)}
body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background:#f5f2eb!important}
body > main, #site-main{flex:1 0 auto;padding-top:var(--tv-header-height)}
body.home > main, body.home #site-main{padding-top:0}
.site-footer{margin-top:auto}
.admin-bar{--tv-adminbar-height:32px}
@media (max-width:782px){.admin-bar{--tv-adminbar-height:46px}}
.site-header.tv-custom-header,
.site-header{
  position:fixed!important;
  left:0!important;right:0!important;
  top:var(--tv-adminbar-height)!important;
  width:100%!important;
  z-index:99990!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--tv-navy)!important;
  border-bottom:1px solid rgba(7,27,51,.09)!important;
  box-shadow:0 10px 34px rgba(7,27,51,.07)!important;
  backdrop-filter:saturate(160%) blur(14px);
}
.home .site-header.is-over-hero{
  background:linear-gradient(90deg,rgba(7,27,51,.95),rgba(10,43,82,.90))!important;
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.10)!important;
}
.header-inner{
  min-height:var(--tv-header-height)!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  position:relative!important;
  width:min(100% - 40px,var(--tv-max))!important;
}
.site-branding{display:flex;align-items:center;flex:0 0 auto;min-width:0;line-height:0}.brand-logo{display:flex;align-items:center;line-height:0}.brand-logo img,.custom-logo{display:block;max-height:38px!important;width:auto!important;max-width:220px!important}.home .site-header.is-over-hero .brand-logo img,.home .site-header.is-over-hero .custom-logo{filter:brightness(0) invert(1)!important}
.main-nav{display:flex!important;align-items:center!important;gap:18px!important;position:static!important;flex:1 1 auto!important;min-width:0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}.main-nav .menu{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;list-style:none!important;white-space:nowrap!important}.main-nav li{list-style:none!important;margin:0!important;padding:0!important}.main-nav a,.nav-quote-link{display:inline-flex!important;align-items:center!important;color:rgba(7,27,51,.76)!important;text-decoration:none!important;font-size:16px!important;line-height:1.1!important;font-weight:400!important;padding:10px 0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;position:relative!important}.main-nav a::after,.nav-quote-link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .18s ease}.main-nav a:hover::after,.nav-quote-link:hover::after,.main-nav .current-menu-item>a::after{transform:scaleX(1)}.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--tv-blue)!important}.nav-quote-link{color:var(--tv-blue)!important;font-weight:500!important;flex:0 0 auto!important}.home .site-header.is-over-hero .main-nav a{color:rgba(255,255,255,.78)!important}.home .site-header.is-over-hero .main-nav a:hover,.home .site-header.is-over-hero .main-nav .current-menu-item>a{color:#fff!important}.home .site-header.is-over-hero .nav-quote-link{color:#fff!important;font-weight:500!important}
.header-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;min-width:0!important}.header-icon,.cart-summary-trigger,.menu-toggle{appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;color:rgba(7,27,51,.76)!important;font-family:inherit!important;cursor:pointer!important}.header-icon{width:36px!important;height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;padding:0!important;border-radius:999px!important}.header-icon svg{display:block;width:22px!important;height:22px!important}.header-icon:hover,.cart-summary-trigger:hover,.menu-toggle:hover{color:var(--tv-blue)!important;background:rgba(25,118,210,.08)!important}.home .site-header.is-over-hero .header-icon,.home .site-header.is-over-hero .cart-summary-trigger,.home .site-header.is-over-hero .menu-toggle{color:rgba(255,255,255,.86)!important}.home .site-header.is-over-hero .header-icon:hover,.home .site-header.is-over-hero .cart-summary-trigger:hover,.home .site-header.is-over-hero .menu-toggle:hover{color:#fff!important;background:rgba(255,255,255,.10)!important}.cart-count{position:absolute!important;right:-2px!important;top:-3px!important;min-width:18px!important;height:18px!important;border-radius:999px!important;background:var(--tv-blue)!important;color:#fff!important;border:2px solid #fff!important;font-size:11px!important;line-height:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 4px!important;font-weight:700!important}.cart-count.is-empty{display:none!important}.cart-summary-trigger{display:inline-flex!important;align-items:center!important;min-height:36px!important;padding:0 4px!important;font-size:14px!important;white-space:nowrap!important;border-radius:8px!important}.cart-summary-trigger.is-empty,.cart-summary-slot:empty{display:none!important}.cart-summary-total{font-weight:600!important;color:var(--tv-navy)!important}.home .site-header.is-over-hero .cart-summary-total{color:#fff!important}.header-account{display:inline-flex!important}.menu-toggle{display:none!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;border-radius:999px!important;padding:0!important;flex:0 0 auto!important}.menu-toggle span{display:block!important;width:24px!important;height:2px!important;border-radius:99px!important;background:currentColor!important;transition:transform .18s ease,opacity .18s 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:1100px){.main-nav .menu{gap:13px!important}.main-nav a,.nav-quote-link{font-size:15.5px!important}.cart-summary-trigger{display:none!important}.header-account{display:none!important}}
@media (max-width:900px){
  :root{--tv-header-height:62px}
  .header-inner{width:min(100% - 24px,var(--tv-max))!important;gap:10px!important}
  .brand-logo img,.custom-logo{max-height:34px!important;max-width:185px!important}
  .main-nav{display:none!important;position:fixed!important;left:0!important;right:0!important;top:calc(var(--tv-adminbar-height) + var(--tv-header-height))!important;width:100%!important;max-height:calc(100vh - var(--tv-adminbar-height) - var(--tv-header-height))!important;overflow:auto!important;background:#fff!important;border-top:1px solid rgba(7,27,51,.10)!important;border-bottom:1px solid rgba(7,27,51,.10)!important;box-shadow:0 18px 45px rgba(7,27,51,.18)!important;padding:12px 18px 18px!important;z-index:99989!important;border-radius:0!important}.main-nav.is-open{display:block!important}.home .site-header.is-over-hero .main-nav{background:#fff!important;color:var(--tv-navy)!important;border-color:rgba(7,27,51,.10)!important}.main-nav .menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;white-space:normal!important}.main-nav li{width:100%!important}.main-nav a,.home .site-header.is-over-hero .main-nav a,.nav-quote-link,.home .site-header.is-over-hero .nav-quote-link{display:flex!important;width:100%!important;padding:14px 0!important;color:var(--tv-navy)!important;font-size:17px!important;border-bottom:1px solid rgba(7,27,51,.08)!important;justify-content:flex-start!important}.nav-quote-link{color:var(--tv-blue)!important}.main-nav a::after,.nav-quote-link::after{display:none!important}.header-actions{margin-left:auto!important}.header-account,.cart-summary-trigger{display:none!important}.menu-toggle{display:inline-flex!important;margin-left:2px!important}.header-cart{width:40px!important;height:40px!important}.header-cart svg{width:23px!important;height:23px!important}
}
@media (max-width:430px){.brand-logo img,.custom-logo{max-width:160px!important}.header-inner{width:min(100% - 18px,var(--tv-max))!important}.header-actions{gap:2px!important}.menu-toggle{width:40px!important;height:40px!important}.header-cart{width:38px!important;height:38px!important}}
/* Side cart must always sit above header/menu */
.side-cart-overlay{z-index:100000!important;background:rgba(7,27,51,.42)!important;backdrop-filter:blur(3px)!important}.side-cart{z-index:100001!important;top:16px!important;right:16px!important;bottom:16px!important;max-height:calc(100vh - 32px)!important}.admin-bar .side-cart{top:48px!important;max-height:calc(100vh - 64px)!important}@media (max-width:782px){.admin-bar .side-cart{top:62px!important;max-height:calc(100vh - 78px)!important}}@media (max-width:520px){.side-cart{width:min(420px,94vw)!important;right:3vw!important;top:12px!important;bottom:12px!important;max-height:calc(100vh - 24px)!important}}
.side-cart .woocommerce-mini-cart__buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.side-cart .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-height:44px!important;font-weight:400!important;background:#d8eaf9!important;color:var(--tv-navy)!important;border-radius:999px!important;box-shadow:none!important}.side-cart .button.checkout{background:var(--tv-blue)!important;color:#fff!important}.side-cart .button:hover{background:#b9defa!important;color:var(--tv-navy)!important}.side-cart .button.checkout:hover{background:#0d5db3!important;color:#fff!important}@media (max-width:520px){.side-cart .woocommerce-mini-cart__buttons{grid-template-columns:1fr!important}.side-cart .button{width:100%!important}}
/* Lighter buttons: no heavy animations */
.btn,.wp-block-button__link,button.button,input[type="submit"],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{font-weight:400!important;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important}.btn:hover,.wp-block-button__link:hover,button.button:hover,input[type="submit"]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:#5db8ff!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 12px 24px rgba(25,118,210,.20)!important}.btn-soft-quote{background:#d8eaf9!important;color:var(--tv-navy)!important}.btn-soft-quote:hover{background:#5db8ff!important;color:#fff!important}


/* v4.1 robust fixed header + mobile menu/adminbar corrections */
:root{
  --tv-adminbar-height:0px!important;
  --tv-header-top:0px;
  --tv-header-height:62px;
  --tv-mobile-menu-top:62px;
}
html{margin-top:0!important;overflow-x:hidden!important;}
body{overflow-x:hidden!important;min-width:0!important;}
body.admin-bar{--tv-adminbar-height:0px!important;}
.site-header.tv-custom-header,
.site-header{
  position:fixed!important;
  top:var(--tv-header-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  margin:0!important;
  z-index:99990!important;
}
body:not(.home) #site-main,
body:not(.home) main{
  padding-top:var(--tv-header-height,62px)!important;
}
body.home #site-main,
body.home main{padding-top:0!important;}
.header-inner{height:var(--tv-header-height,62px)!important;min-height:0!important;flex-wrap:nowrap!important;}
@media (max-width:900px){
  :root{--tv-header-height:58px;--tv-mobile-menu-top:58px;}
  .site-header .tv-wrap.header-inner{
    width:100%!important;
    max-width:none!important;
    padding-left:15px!important;
    padding-right:12px!important;
    margin:0!important;
    gap:8px!important;
  }
  .site-branding{min-width:0!important;flex:0 1 auto!important;}
  .brand-logo img{max-height:30px!important;max-width:165px!important;min-width:0!important;}
  .header-right{display:flex!important;align-items:center!important;margin-left:auto!important;min-width:0!important;}
  .header-actions{display:flex!important;align-items:center!important;margin-left:auto!important;gap:4px!important;min-width:0!important;flex:0 0 auto!important;}
  .cart-summary-trigger,.header-account{display:none!important;}
  .header-cart{display:inline-flex!important;flex:0 0 40px!important;width:40px!important;height:40px!important;}
  .menu-toggle{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:100002!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0 0 0 2px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--tv-navy)!important;
  }
  .home .site-header.is-over-hero .menu-toggle{color:#fff!important;background:transparent!important;}
  .menu-toggle span{display:block!important;width:25px!important;height:2px!important;border-radius:999px!important;background:currentColor!important;}
  .main-nav,
  #primary-menu.main-nav{
    display:none!important;
    position:fixed!important;
    top:var(--tv-mobile-menu-top,58px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
    max-height:calc(100svh - var(--tv-mobile-menu-top,58px))!important;
    overflow:auto!important;
    margin:0!important;
    padding:12px 18px 18px!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    border-bottom:1px solid rgba(7,27,51,.10)!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    box-shadow:0 18px 44px rgba(7,27,51,.18)!important;
    z-index:99989!important;
  }
  .main-nav.is-open,
  #primary-menu.main-nav.is-open{display:block!important;}
  .main-nav .menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:0!important;}
  .main-nav li{width:100%!important;display:block!important;}
  .main-nav a,
  .home .site-header.is-over-hero .main-nav a,
  .main-nav .nav-quote-link,
  .home .site-header.is-over-hero .main-nav .nav-quote-link{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    padding:14px 0!important;
    color:var(--tv-navy)!important;
    font-size:17px!important;
    line-height:1.2!important;
    border-bottom:1px solid rgba(7,27,51,.08)!important;
  }
  .main-nav .nav-quote-link{color:var(--tv-blue)!important;font-weight:600!important;}
  .main-nav a::after,.main-nav .nav-quote-link::after{display:none!important;}
}
.side-cart-overlay{z-index:100100!important;}
.side-cart{z-index:100101!important;}

/* v4.2 fixed-height header: no rubber-band growth, taller stable menu */
:root{
  --tv-header-height:93px!important;
  --tv-mobile-menu-top:93px!important;
  --tv-header-top:0px!important;
}
.site-header.tv-custom-header,
.site-header{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  overflow:visible!important;
  top:var(--tv-header-top,0px)!important;
}
.site-header .header-inner,
.site-header .tv-wrap.header-inner{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
}
body:not(.home) #site-main,
body:not(.home) main{
  padding-top:var(--tv-header-height,93px)!important;
}
@media (max-width:900px){
  :root{
    --tv-header-height:84px!important;
    --tv-mobile-menu-top:84px!important;
  }
  .site-header.tv-custom-header,
  .site-header{
    height:var(--tv-header-height,84px)!important;
    min-height:var(--tv-header-height,84px)!important;
    max-height:var(--tv-header-height,84px)!important;
  }
  .site-header .header-inner,
  .site-header .tv-wrap.header-inner{
    height:var(--tv-header-height,84px)!important;
    min-height:var(--tv-header-height,84px)!important;
    max-height:var(--tv-header-height,84px)!important;
    align-items:center!important;
  }
  .main-nav,
  #primary-menu.main-nav{
    top:var(--tv-mobile-menu-top,84px)!important;
    max-height:calc(100svh - var(--tv-mobile-menu-top,84px))!important;
  }
}


/* v4.3 adminbar + mobile header final correction
   One source of truth: JS writes --tv-header-top based on the visible part of #wpadminbar.
   CSS must never add its own .admin-bar top offset on top of that. */
:root{
  --tv-header-height:93px!important;
  --tv-header-top:0px!important;
  --tv-mobile-menu-top:93px!important;
}
body.admin-bar,
.admin-bar{
  --tv-adminbar-height:0px!important;
}
html{scroll-padding-top:calc(var(--tv-header-height,93px) + 16px)!important;}
.site-header.tv-custom-header,
.site-header,
.admin-bar .site-header,
body.admin-bar .site-header,
html body.admin-bar .site-header.tv-custom-header{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--tv-header-top,0px)!important;
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  transform:none!important;
  margin-top:0!important;
  z-index:99990!important;
  overflow:visible!important;
}
.site-header .header-inner,
.site-header .tv-wrap.header-inner{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  align-items:center!important;
  overflow:visible!important;
}
body:not(.home) #site-main,
body:not(.home) main{
  padding-top:var(--tv-header-height,93px)!important;
}
@media (max-width:900px){
  :root{
    --tv-header-height:84px!important;
    --tv-mobile-menu-top:84px!important;
  }
  .site-header.tv-custom-header,
  .site-header,
  .admin-bar .site-header,
  body.admin-bar .site-header,
  html body.admin-bar .site-header.tv-custom-header{
    top:var(--tv-header-top,0px)!important;
    height:var(--tv-header-height,84px)!important;
    min-height:var(--tv-header-height,84px)!important;
    max-height:var(--tv-header-height,84px)!important;
  }
  .site-header .header-inner,
  .site-header .tv-wrap.header-inner{
    height:var(--tv-header-height,84px)!important;
    min-height:var(--tv-header-height,84px)!important;
    max-height:var(--tv-header-height,84px)!important;
  }
  .header-inner{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;}
  .site-branding{flex:0 1 auto!important;min-width:0!important;}
  .brand-logo img,.custom-logo{max-height:36px!important;max-width:min(190px,48vw)!important;}
  .header-actions{margin-left:auto!important;flex:0 0 auto!important;display:flex!important;align-items:center!important;}
  .header-account,.cart-summary-trigger{display:none!important;}
  .header-cart{display:inline-flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;}
  .menu-toggle,
  button.menu-toggle,
  .site-header .menu-toggle,
  .tv-custom-header .menu-toggle{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:6px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:currentColor!important;
    border-radius:999px!important;
    cursor:pointer!important;
    z-index:100005!important;
    pointer-events:auto!important;
  }
  .menu-toggle span{display:block!important;width:28px!important;height:2.5px!important;background:currentColor!important;border-radius:999px!important;}
  .main-nav,
  #primary-menu.main-nav,
  .site-header .main-nav{
    display:none!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:var(--tv-mobile-menu-top,84px)!important;
    width:100vw!important;
    max-width:100vw!important;
    max-height:calc(100svh - var(--tv-mobile-menu-top,84px))!important;
    overflow:auto!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    border-radius:0!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    border-bottom:1px solid rgba(7,27,51,.10)!important;
    box-shadow:0 18px 45px rgba(7,27,51,.18)!important;
    padding:12px 20px 20px!important;
    z-index:99989!important;
    margin:0!important;
  }
  .main-nav.is-open,
  #primary-menu.main-nav.is-open,
  .site-header .main-nav.is-open{display:block!important;}
  .main-nav .menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:0!important;white-space:normal!important;}
  .main-nav li{width:100%!important;}
  .main-nav a,
  .home .site-header.is-over-hero .main-nav a,
  .main-nav .nav-quote-link,
  .home .site-header.is-over-hero .main-nav .nav-quote-link{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:14px 0!important;
    color:var(--tv-navy)!important;
    border-bottom:1px solid rgba(7,27,51,.08)!important;
    font-size:17px!important;
    text-align:left!important;
  }
  .main-nav .nav-quote-link{color:var(--tv-blue)!important;font-weight:500!important;}
}
@media (min-width:901px){
  .menu-toggle{display:none!important;}
  .main-nav{display:flex!important;}
}
/* keep drawer above both adminbar/header/menu */
.side-cart-overlay{z-index:100200!important;}
.side-cart{z-index:100201!important;}

/* v4.4: final classic header/adminbar/mobile-menu reset
   One source of truth: JS sets --tv-header-top based on the visible WP adminbar.
   This deliberately neutralizes older experimental offsets. */
html{margin-top:0!important;scroll-padding-top:calc(var(--tv-header-height,93px) + var(--tv-header-top,0px) + 18px)!important;}
:root{
  --tv-header-height:93px!important;
  --tv-header-top:0px!important;
  --tv-mobile-menu-top:93px!important;
  --tv-adminbar-height:0px!important;
}
body.admin-bar,.admin-bar{--tv-adminbar-height:0px!important;}
.site-header.tv-custom-header,
.site-header,
.admin-bar .site-header,
body.admin-bar .site-header,
html body.admin-bar .site-header.tv-custom-header{
  position:fixed!important;
  top:var(--tv-header-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  margin:0!important;
  transform:none!important;
  overflow:visible!important;
  z-index:99990!important;
}
.site-header .header-inner,
.site-header .tv-wrap.header-inner{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow:visible!important;
}
body:not(.home) #site-main,
body:not(.home) main#site-main,
body:not(.home) main{
  padding-top:calc(var(--tv-header-height,93px) + var(--tv-header-top,0px))!important;
}
.site-branding{flex:0 1 auto!important;min-width:0!important;display:flex!important;align-items:center!important;}
.brand-logo img,.custom-logo{display:block!important;max-height:46px!important;width:auto!important;max-width:230px!important;}
.header-right{display:flex!important;align-items:center!important;min-width:0!important;margin-left:auto!important;}
.header-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;margin-left:auto!important;}
.main-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:0!important;flex:1 1 auto!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;max-height:none!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
.main-nav .menu{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:22px!important;flex-wrap:nowrap!important;white-space:nowrap!important;margin:0!important;padding:0!important;list-style:none!important;}
.main-nav .menu li{width:auto!important;margin:0!important;padding:0!important;}
.main-nav a,.main-nav .nav-quote-link{display:inline-flex!important;align-items:center!important;width:auto!important;padding:8px 0!important;border:0!important;color:var(--tv-navy)!important;font-size:16px!important;text-decoration:none!important;white-space:nowrap!important;}
.home .site-header.is-over-hero .main-nav a{color:rgba(255,255,255,.78)!important;}
.home .site-header.is-over-hero .main-nav a:hover{color:#fff!important;}
.main-nav .nav-quote-link{color:var(--tv-blue)!important;font-weight:600!important;margin-left:0!important;}
.menu-toggle{display:none!important;position:relative!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:var(--tv-navy)!important;box-shadow:none!important;cursor:pointer!important;z-index:100000!important;}
.menu-toggle span{display:block!important;position:absolute!important;left:11px!important;right:11px!important;height:2px!important;background:currentColor!important;border-radius:2px!important;opacity:1!important;transform:none!important;}
.menu-toggle span:nth-child(1){top:15px!important;}
.menu-toggle span:nth-child(2){top:23px!important;}
.menu-toggle span:nth-child(3){top:31px!important;}
.home .site-header.is-over-hero .menu-toggle{color:#fff!important;}
.header-icon,.header-cart{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.side-cart-overlay{z-index:100100!important;}
.side-cart{z-index:100101!important;top:18px!important;right:18px!important;bottom:18px!important;max-height:calc(100svh - 36px)!important;}
@media (max-width:900px){
  :root{--tv-header-height:84px!important;--tv-mobile-menu-top:84px!important;}
  .site-header.tv-custom-header,.site-header{height:var(--tv-header-height,84px)!important;min-height:var(--tv-header-height,84px)!important;max-height:var(--tv-header-height,84px)!important;}
  .site-header .header-inner,.site-header .tv-wrap.header-inner{height:var(--tv-header-height,84px)!important;min-height:var(--tv-header-height,84px)!important;max-height:var(--tv-header-height,84px)!important;width:min(100% - 24px,var(--tv-max))!important;gap:8px!important;}
  .brand-logo img,.custom-logo{max-height:40px!important;max-width:190px!important;}
  .header-actions{margin-left:auto!important;gap:4px!important;}
  .header-account,.cart-summary-trigger{display:none!important;}
  .header-cart{display:inline-flex!important;width:44px!important;height:44px!important;min-width:44px!important;}
  .header-cart svg{width:23px!important;height:23px!important;}
  .menu-toggle{display:inline-flex!important;flex:0 0 48px!important;}
  .main-nav,#primary-menu.main-nav{
    display:none!important;
    position:fixed!important;
    top:var(--tv-mobile-menu-top,84px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100svh - var(--tv-mobile-menu-top,84px))!important;
    overflow:auto!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    border-bottom:1px solid rgba(7,27,51,.10)!important;
    border-radius:0!important;
    box-shadow:0 18px 45px rgba(7,27,51,.18)!important;
    padding:10px 22px 18px!important;
    z-index:99989!important;
  }
  .main-nav.is-open,#primary-menu.main-nav.is-open{display:block!important;}
  .main-nav .menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;white-space:normal!important;width:100%!important;}
  .main-nav li{width:100%!important;}
  .main-nav a,.main-nav .nav-quote-link,.home .site-header.is-over-hero .main-nav a,.home .site-header.is-over-hero .main-nav .nav-quote-link{display:flex!important;width:100%!important;justify-content:flex-start!important;padding:15px 0!important;border-bottom:1px solid rgba(7,27,51,.08)!important;color:var(--tv-navy)!important;font-size:17px!important;}
  .main-nav .nav-quote-link{color:var(--tv-blue)!important;font-weight:600!important;}
}
@media (max-width:430px){
  .brand-logo img,.custom-logo{max-width:158px!important;}
  .site-header .header-inner,.site-header .tv-wrap.header-inner{width:min(100% - 18px,var(--tv-max))!important;}
  .menu-toggle{width:44px!important;min-width:44px!important;flex-basis:44px!important;}
  .header-cart{width:40px!important;height:44px!important;min-width:40px!important;}
}
@media (max-width:520px){.side-cart{width:min(420px,94vw)!important;right:3vw!important;top:12px!important;bottom:12px!important;max-height:calc(100svh - 24px)!important;}}


/* v4.5: hard reset for WP adminbar + fixed custom header + robust mobile menu
   WP 4+ uses #wpadminbar, not an .admin-bar wrapper. We remove WordPress' html margin
   and reserve space only with the actual #wpadminbar height measured in JS. */
html{margin-top:0!important;}
body.admin-bar{margin-top:0!important;}
#wpadminbar{z-index:2147483647!important;}
@media (max-width:782px){
  #wpadminbar{position:fixed!important;top:0!important;left:0!important;right:0!important;}
}
:root{
  --tv-header-height:93px;
  --tv-header-top:0px;
  --tv-mobile-menu-top:93px;
}
.site-header.tv-custom-header,
body .site-header.tv-custom-header,
body.admin-bar .site-header.tv-custom-header,
.admin-bar .site-header.tv-custom-header{
  position:fixed!important;
  top:var(--tv-header-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  margin:0!important;
  z-index:2147482500!important;
  overflow:visible!important;
}
.site-header.tv-custom-header .header-inner,
.site-header.tv-custom-header .tv-wrap.header-inner{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body:not(.home) #site-main,
body:not(.home) main#site-main{
  padding-top:calc(var(--tv-header-top,0px) + var(--tv-header-height,93px))!important;
}
.home #site-main,
.home main#site-main{padding-top:0!important;}

@media (min-width:1025px){
  .site-header.tv-custom-header .menu-toggle{display:none!important;}
  .site-header.tv-custom-header .main-nav{display:block!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;max-height:none!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;}
  .site-header.tv-custom-header .main-nav .menu{display:flex!important;align-items:center!important;gap:18px!important;}
}

@media (max-width:1024px){
  :root{--tv-header-height:84px;--tv-mobile-menu-top:calc(var(--tv-header-top,0px) + 84px);}
  .site-header.tv-custom-header,
  body .site-header.tv-custom-header,
  body.admin-bar .site-header.tv-custom-header,
  .admin-bar .site-header.tv-custom-header{
    height:84px!important;
    min-height:84px!important;
    max-height:84px!important;
    overflow:visible!important;
  }
  .site-header.tv-custom-header .header-inner,
  .site-header.tv-custom-header .tv-wrap.header-inner{
    height:84px!important;
    min-height:84px!important;
    max-height:84px!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:min(100% - 24px,var(--tv-max))!important;
  }
  .site-header.tv-custom-header .site-branding{order:1!important;flex:0 1 auto!important;min-width:0!important;}
  .site-header.tv-custom-header .brand-logo img{max-width:170px!important;min-width:0!important;max-height:34px!important;}
  .site-header.tv-custom-header .header-actions{order:2!important;margin-left:auto!important;display:flex!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;}
  .site-header.tv-custom-header .cart-summary-trigger,
  .site-header.tv-custom-header .header-account{display:none!important;}
  .site-header.tv-custom-header .header-cart{display:inline-flex!important;}
  .site-header.tv-custom-header .menu-toggle,
  .site-header.tv-custom-header button.menu-toggle,
  body .site-header.tv-custom-header .menu-toggle{
    order:3!important;
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    flex:0 0 52px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    max-width:52px!important;
    max-height:52px!important;
    margin:0 0 0 2px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--tv-navy)!important;
    z-index:2147482600!important;
    cursor:pointer!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:0!important;
    overflow:visible!important;
    transform:none!important;
  }
  .home .site-header.tv-custom-header.is-over-hero .menu-toggle{color:#fff!important;}
  .site-header.tv-custom-header .menu-toggle span{
    display:block!important;
    position:absolute!important;
    left:11px!important;
    right:11px!important;
    width:auto!important;
    height:3px!important;
    min-height:3px!important;
    background:currentColor!important;
    border-radius:999px!important;
    opacity:1!important;
    transform:none!important;
  }
  .site-header.tv-custom-header .menu-toggle span:nth-child(1){top:15px!important;}
  .site-header.tv-custom-header .menu-toggle span:nth-child(2){top:24px!important;}
  .site-header.tv-custom-header .menu-toggle span:nth-child(3){top:33px!important;}
  .site-header.tv-custom-header .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)!important;}
  .site-header.tv-custom-header .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important;}
  .site-header.tv-custom-header .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important;}

  .site-header.tv-custom-header .main-nav,
  body .site-header.tv-custom-header .main-nav{
    display:none!important;
    position:fixed!important;
    top:calc(var(--tv-header-top,0px) + 84px)!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:none!important;
    max-height:calc(100svh - (var(--tv-header-top,0px) + 84px))!important;
    overflow:auto!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    border-bottom:1px solid rgba(7,27,51,.10)!important;
    box-shadow:0 20px 50px rgba(7,27,51,.14)!important;
    padding:14px 24px!important;
    margin:0!important;
    border-radius:0!important;
    z-index:2147482400!important;
  }
  .site-header.tv-custom-header .main-nav.is-open{display:block!important;}
  .site-header.tv-custom-header .main-nav .menu,
  .site-header.tv-custom-header .main-nav ul.menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .site-header.tv-custom-header .main-nav li{width:100%!important;}
  .site-header.tv-custom-header .main-nav a,
  .site-header.tv-custom-header .main-nav .nav-quote-link,
  .home .site-header.tv-custom-header.is-over-hero .main-nav a,
  .home .site-header.tv-custom-header.is-over-hero .main-nav .nav-quote-link{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    min-height:48px!important;
    padding:13px 0!important;
    color:var(--tv-navy)!important;
    font-size:17px!important;
    line-height:1.2!important;
    border-bottom:1px solid rgba(7,27,51,.08)!important;
    background:transparent!important;
  }
  .site-header.tv-custom-header .main-nav a::after{display:none!important;}
}

@media (max-width:430px){
  .site-header.tv-custom-header .tv-wrap.header-inner{width:min(100% - 18px,var(--tv-max))!important;gap:7px!important;}
  .site-header.tv-custom-header .brand-logo img{max-width:150px!important;max-height:31px!important;}
  .site-header.tv-custom-header .header-icon{width:34px!important;height:42px!important;}
  .site-header.tv-custom-header .menu-toggle{width:48px!important;min-width:48px!important;flex-basis:48px!important;}
}

.side-cart-overlay{z-index:2147483000!important;}
.side-cart{z-index:2147483001!important;}
.side-cart.is-open{transform:translateX(0)!important;}


/* v4.6: simple, explicit adminbar/header/mobile-menu fix
   Rule: visible #wpadminbar + desktop = 32px, visible #wpadminbar + mobile = 46px, otherwise 0px.
   CSS never guesses adminbar offset; JS writes --tv-header-top. */
html{margin-top:0!important;}
body{margin-top:0!important;}
:root{
  --tv-header-top:0px;
  --tv-header-height:93px;
}
@media (max-width:900px){:root{--tv-header-height:84px;}}
/* Do not force the WP adminbar to fixed on mobile. Let WordPress decide; JS only reacts to what is visible. */
#wpadminbar{z-index:2147483647!important;}

.site-header.tv-custom-header{
  position:fixed!important;
  top:var(--tv-header-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  margin:0!important;
  z-index:99990!important;
}
.site-header.tv-custom-header .header-inner{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
}
body:not(.home) #site-main,
body:not(.home) .site-main{
  padding-top:calc(var(--tv-header-top,0px) + var(--tv-header-height,93px))!important;
}
body.home #site-main{padding-top:0!important;}

@media (max-width:900px){
  .site-header.tv-custom-header .main-nav{
    display:none!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:calc(var(--tv-header-top,0px) + var(--tv-header-height,84px))!important;
    width:100%!important;
    max-height:calc(100svh - var(--tv-header-top,0px) - var(--tv-header-height,84px))!important;
    overflow:auto!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    box-shadow:0 18px 45px rgba(7,27,51,.18)!important;
    padding:10px 20px 18px!important;
    border-radius:0!important;
    z-index:99991!important;
  }
  .site-header.tv-custom-header .main-nav.is-open{display:block!important;}
  .site-header.tv-custom-header .main-nav .menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    white-space:normal!important;
  }
  .site-header.tv-custom-header .main-nav li{width:100%!important;}
  .site-header.tv-custom-header .main-nav a,
  .site-header.tv-custom-header .main-nav .nav-quote-link,
  .home .site-header.tv-custom-header.is-over-hero .main-nav a,
  .home .site-header.tv-custom-header.is-over-hero .main-nav .nav-quote-link{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    padding:15px 0!important;
    color:var(--tv-navy)!important;
    border-bottom:1px solid rgba(7,27,51,.08)!important;
    font-size:17px!important;
    font-weight:400!important;
  }
  .site-header.tv-custom-header .main-nav .nav-quote-link,
  .home .site-header.tv-custom-header.is-over-hero .main-nav .nav-quote-link{color:var(--tv-blue)!important;font-weight:500!important;}
  .site-header.tv-custom-header .main-nav a::after{display:none!important;}
  .site-header.tv-custom-header .header-inner{gap:8px!important;}
  .site-header.tv-custom-header .header-right{margin-left:auto!important;}
  .site-header.tv-custom-header .header-actions{margin-left:auto!important;gap:4px!important;}
  .site-header.tv-custom-header .cart-summary-trigger,
  .site-header.tv-custom-header .header-account{display:none!important;}
  .site-header.tv-custom-header .header-cart{display:inline-flex!important;width:42px!important;height:42px!important;flex:0 0 42px!important;}
  .site-header.tv-custom-header .menu-toggle{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    flex:0 0 50px!important;
    margin-left:2px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--tv-navy)!important;
    box-shadow:none!important;
    z-index:99992!important;
  }
  .home .site-header.tv-custom-header.is-over-hero .menu-toggle{color:#fff!important;}
  .site-header.tv-custom-header .menu-toggle span{
    display:block!important;
    position:absolute!important;
    left:11px!important;
    right:11px!important;
    height:2.5px!important;
    background:currentColor!important;
    border-radius:999px!important;
    opacity:1!important;
  }
  .site-header.tv-custom-header .menu-toggle span:nth-child(1){top:16px!important;}
  .site-header.tv-custom-header .menu-toggle span:nth-child(2){top:24px!important;}
  .site-header.tv-custom-header .menu-toggle span:nth-child(3){top:32px!important;}
  .site-header.tv-custom-header .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)!important;}
  .site-header.tv-custom-header .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important;}
  .site-header.tv-custom-header .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important;}
}
@media (min-width:901px){
  .site-header.tv-custom-header .menu-toggle{display:none!important;}
  .site-header.tv-custom-header .main-nav{display:flex!important;}
}
.side-cart-overlay{z-index:100000!important;}
.side-cart{z-index:100001!important;}

/* v4.7: final brute-force classic header/adminbar/mobile menu override
   JS sets --tv-header-top to 0/32/46 based only on actual #wpadminbar visibility. */
html,
html[style],
body,
body.admin-bar{
  margin-top:0!important;
  padding-top:0!important;
}
:root{
  --tv-header-top:0px;
  --tv-header-height:93px;
}
@media (max-width:900px){
  :root{--tv-header-height:84px;}
}
#wpadminbar{z-index:2147483647!important;}
.site-header.tv-custom-header,
body.admin-bar .site-header.tv-custom-header,
html body.admin-bar .site-header.tv-custom-header{
  position:fixed!important;
  top:var(--tv-header-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  margin:0!important;
  transform:none!important;
  z-index:2147482000!important;
  overflow:visible!important;
}
.site-header.tv-custom-header .header-inner{
  height:var(--tv-header-height,93px)!important;
  min-height:var(--tv-header-height,93px)!important;
  max-height:var(--tv-header-height,93px)!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
}
body:not(.home) #site-main,
body:not(.home) .site-main{
  padding-top:calc(var(--tv-header-top,0px) + var(--tv-header-height,93px))!important;
}
body.home #site-main{padding-top:0!important;}
.site-header.tv-custom-header .menu-toggle{
  cursor:pointer!important;
  pointer-events:auto!important;
}
@media (max-width:900px){
  .site-header.tv-custom-header .header-inner{gap:10px!important;}
  .site-header.tv-custom-header .site-branding{min-width:0!important;flex:1 1 auto!important;}
  .site-header.tv-custom-header .brand-logo img{max-width:min(190px,48vw)!important;height:auto!important;}
  .site-header.tv-custom-header .header-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important;}
  .site-header.tv-custom-header .header-account,
  .site-header.tv-custom-header .cart-summary-trigger{display:none!important;}
  .site-header.tv-custom-header .header-cart{display:inline-flex!important;width:42px!important;min-width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;}
  .site-header.tv-custom-header .menu-toggle,
  body .site-header.tv-custom-header button.menu-toggle{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:2147482100!important;
    width:54px!important;
    min-width:54px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 54px!important;
    color:currentColor!important;
  }
  .site-header.tv-custom-header .menu-toggle span{
    display:block!important;
    position:absolute!important;
    left:13px!important;
    width:28px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
    opacity:1!important;
    transform:none!important;
  }
  .site-header.tv-custom-header .menu-toggle span:nth-child(1){top:15px!important;}
  .site-header.tv-custom-header .menu-toggle span:nth-child(2){top:23px!important;}
  .site-header.tv-custom-header .menu-toggle span:nth-child(3){top:31px!important;}
  .site-header.tv-custom-header .main-nav,
  body .site-header.tv-custom-header nav.main-nav{
    display:none!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:calc(var(--tv-header-top,0px) + var(--tv-header-height,84px))!important;
    width:100vw!important;
    max-width:100vw!important;
    max-height:calc(100svh - var(--tv-header-top,0px) - var(--tv-header-height,84px))!important;
    overflow:auto!important;
    margin:0!important;
    padding:12px 20px 18px!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    box-shadow:0 18px 45px rgba(7,27,51,.18)!important;
    z-index:2147482050!important;
    border-radius:0!important;
  }
  .site-header.tv-custom-header .main-nav.is-open,
  body .site-header.tv-custom-header nav.main-nav.is-open{display:block!important;}
  .site-header.tv-custom-header .main-nav .menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;white-space:normal!important;}
  .site-header.tv-custom-header .main-nav li{width:100%!important;}
  .site-header.tv-custom-header .main-nav a,
  .site-header.tv-custom-header .nav-quote-link{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    padding:15px 0!important;
    color:var(--tv-navy)!important;
    border-bottom:1px solid rgba(7,27,51,.08)!important;
    font-size:17px!important;
    line-height:1.25!important;
  }
  .site-header.tv-custom-header .main-nav a::after{display:none!important;}
}
.side-cart-overlay{z-index:2147483000!important;}
.side-cart{z-index:2147483001!important;}


/* v4.8: deterministic adminbar offset + flush right cart drawer
   Rule: if #wpadminbar is visible at top => 32px desktop / 46px mobile, otherwise 0. */
:root{--tv-header-top:0px!important;}
html, html[style], body, body.admin-bar{
  margin-top:0!important;
  padding-top:0!important;
}
#wpadminbar{z-index:2147483647!important;}
.site-header.tv-custom-header,
body.admin-bar .site-header.tv-custom-header,
html body.admin-bar .site-header.tv-custom-header{
  position:fixed!important;
  top:var(--tv-header-top,0px)!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  transform:none!important;
}
body:not(.home) #site-main,
body:not(.home) .site-main{
  padding-top:calc(var(--tv-header-top,0px) + var(--tv-header-height,93px))!important;
}
@media (max-width:900px){
  body:not(.home) #site-main,
  body:not(.home) .site-main{padding-top:calc(var(--tv-header-top,0px) + var(--tv-header-height,84px))!important;}
}
.site-header.tv-custom-header .main-nav{
  top:calc(var(--tv-header-top,0px) + var(--tv-header-height,84px))!important;
}
.side-cart{
  right:0!important;
  top:0!important;
  bottom:0!important;
  height:100svh!important;
  max-height:100svh!important;
  border-radius:16px 0 0 16px!important;
  margin:0!important;
  transform:translateX(105%)!important;
}
.side-cart.is-open{transform:translateX(0)!important;}
@media (max-width:520px){
  .side-cart{
    width:min(420px,100vw)!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    height:100svh!important;
    max-height:100svh!important;
    border-radius:0!important;
  }
}


/* v4.9: adminbar/header offset fix.
   The previous :root --tv-header-top:0px!important blocked JS from updating the variable.
   JS now writes the variable and header top as inline !important. This fallback is only for no-JS. */
body.admin-bar .site-header.tv-custom-header{top:32px!important;}
@media (max-width:782px){body.admin-bar .site-header.tv-custom-header{top:46px!important;}}
body.admin-bar:not(.tv-adminbar-visible) .site-header.tv-custom-header{top:0!important;}


/* v4.10: subtle polished white header after scroll */
.site-header.tv-custom-header.is-scrolled:not(.is-over-hero),
.site-header.is-scrolled:not(.is-over-hero){
  background:linear-gradient(to bottom, rgba(255,255,255,.965) 0%, rgba(255,255,255,.945) 72%, rgba(255,255,255,.82) 100%)!important;
  -webkit-backdrop-filter:saturate(130%) blur(10px);
  backdrop-filter:saturate(130%) blur(10px);
  box-shadow:0 10px 28px rgba(9,26,48,.08)!important;
}
.site-header.tv-custom-header.is-scrolled:not(.is-over-hero)::after,
/*.site-header.is-scrolled:not(.is-over-hero)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:14px;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,.62), rgba(255,255,255,0));
}*/

/* v4.10: never hide a valid cart total just because it contains 0,00 kr. */
.cart-summary-trigger.is-empty{display:none!important;}
.cart-summary-trigger:not(.is-empty){display:inline-flex!important;}
.cart-summary-trigger:not(.is-empty) .cart-summary-slot,
.cart-summary-trigger:not(.is-empty) .cart-summary-text{display:inline-flex!important;align-items:center!important;}
@media (max-width:900px){.cart-summary-trigger:not(.is-empty){display:none!important;}}


/* v4.11: Mobile menu attaches to the fixed header itself, not the viewport/adminbar.
   This removes the double adminbar gap between header and expanded menu. */
@media (max-width:900px){
  .site-header.tv-custom-header{
    overflow:visible!important;
  }
  .site-header.tv-custom-header .main-nav,
  body .site-header.tv-custom-header nav.main-nav,
  #primary-menu.main-nav{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    margin:0!important;
    transform:none!important;
    padding:0 20px 18px!important;
    background:#fff!important;
    color:var(--tv-navy)!important;
    border-top:1px solid rgba(7,27,51,.10)!important;
    border-radius:0!important;
    box-shadow:0 18px 45px rgba(7,27,51,.18)!important;
    z-index:2147482050!important;
    overflow:auto!important;
  }
  .site-header.tv-custom-header .main-nav.is-open,
  body .site-header.tv-custom-header nav.main-nav.is-open,
  #primary-menu.main-nav.is-open{
    display:block!important;
  }
  .site-header.tv-custom-header .main-nav .menu,
  #primary-menu.main-nav .menu{
    margin:0!important;
    padding:12px 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }
  .site-header.tv-custom-header .main-nav li{margin:0!important;padding:0!important;width:100%!important;}
  .site-header.tv-custom-header .main-nav a,
  .site-header.tv-custom-header .nav-quote-link{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    margin:0!important;
    padding:15px 0!important;
    color:var(--tv-navy)!important;
    border-bottom:1px solid rgba(7,27,51,.08)!important;
    font-size:17px!important;
    line-height:1.25!important;
  }
  .site-header.tv-custom-header .main-nav a::after{display:none!important;}
}

.cart-summary-text .cart-summary-total {
  margin-left: 8px !important;
}