/* ==========================================================================
   LTV GLOBAL PREMIUM DESIGN SYSTEM  -  content-safe, reversible CSS layer
   Additive styling only. No content, URL, SEO or product data is changed.
   Delete the mu-plugin to fully revert.
   ========================================================================== */

:root, body{
  --nv-primary-accent:#2563EB;
  --nv-secondary-accent:#1D4ED8;
  --nv-site-bg:#f5f7fb;
  --nv-light-bg:#eef2f9;
  --nv-dark-bg:#0B1220;
  --nv-text-color:#0F172A;
  --nv-text-dark-bg:#ffffff;
  --nv-c-1:#22D3EE;
  --nv-c-2:#7C3AED;
}

:root, body{
  --ltv-navy:#0B1220;
  --ltv-navy-2:#111a33;
  --ltv-ink:#0F172A;
  --ltv-body:#1f2a3a;
  --ltv-muted:#4b5b73;
  --ltv-blue:#2563EB;
  --ltv-violet:#7C3AED;
  --ltv-accent:#22D3EE;
  --ltv-grad:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%);
  --ltv-grad-dark:linear-gradient(135deg,#0B1220 0%,#182148 55%,#3a1c6b 100%);
  --ltv-bg:#f5f7fb;
  --ltv-card:#ffffff;
  --ltv-border:#e3e8f3;
  --ltv-radius:18px;
  --ltv-radius-lg:26px;
  --ltv-shadow-sm:0 2px 10px rgba(2,6,23,.06);
  --ltv-shadow:0 16px 40px rgba(2,6,23,.12);
  --ltv-shadow-lg:0 30px 70px rgba(2,6,23,.20);
}

html, body{ background:var(--ltv-bg) !important; }

body, body p, body li, body a, body span, body div, body article,
body input, body textarea, body select, body button, body label{
  font-family:'Inter','Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
}
body{ color:var(--ltv-body); line-height:1.72; }

h1,h2,h3,h4,h5,h6,.nv-page-title,.entry-title,.woocommerce-loop-product__title{
  font-family:'Inter','Roboto',system-ui,sans-serif;
  letter-spacing:-.02em; line-height:1.16;
}
h1,h2{font-weight:800;} h3,h4,h5,h6{font-weight:700;}
a{ color:var(--ltv-blue); }
a:hover{ color:var(--ltv-violet); }
::selection{ background:rgba(37,99,235,.20); }

/* clear, high-contrast body copy (fixes washed-out text) */
.nv-content-wrap, .entry-content, .elementor-widget-text-editor,
.woocommerce-product-details__short-description, .woocommerce-Tabs-panel{
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.nv-content-wrap p, .entry-content p{ font-size:16.5px; }

/* ------------------------------ page titles ------------------------------ */
.nv-page-title{
  position:relative; overflow:hidden; text-align:center;
  padding:58px 18px 62px;
  background:var(--ltv-grad-dark);
  border-radius:0 0 var(--ltv-radius-lg) var(--ltv-radius-lg);
  color:#fff;
}
.nv-page-title:after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(620px 300px at 50% -12%,rgba(34,211,238,.28),transparent 70%);
}
.nv-page-title .nv-page-title-wrap, .nv-page-title h1, .nv-page-title h1 span{
  position:relative; z-index:2; color:#fff !important; font-weight:800;
}
.nv-page-title a{ color:#dbe4ff !important; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.hfg_header.site-header, .header--row{
  position:sticky; top:0; z-index:9999;
  background:rgba(11,18,32,.78) !important;
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,.09);
  transition:background .3s ease, box-shadow .3s ease;
}
body.admin-bar .hfg_header.site-header{ top:32px; }
.hfg_header.site-header.ltv-scrolled{ background:rgba(11,18,32,.94) !important; box-shadow:0 12px 34px rgba(2,6,23,.38); }
.header--row-inner, .header-main-inner{ background:transparent !important; }

/* logo lockup: old raster logo hidden, brand text preserved */
.site-header .site-logo img, .site-header .neve-site-logo{ display:none !important; }
.site-header .brand{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.site-header .brand:before{
  content:''; width:44px; height:44px; flex:0 0 44px; border-radius:14px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12.5l5 5L20 6.5'/></svg>"),linear-gradient(135deg,#2563EB,#7C3AED);
  background-repeat:no-repeat,no-repeat; background-position:center,center; background-size:24px 24px,cover;
  box-shadow:0 10px 24px rgba(37,99,235,.45);
}
.site-header .site-title{ color:#fff !important; font-weight:800 !important; font-size:20px !important; letter-spacing:-.02em; margin:0; line-height:1.1; }
.site-header .nv-title-tagline-wrap{ display:flex; flex-direction:column; justify-content:center; }

/* primary nav */
.nav-menu-primary ul li a, .nav-menu-primary .menu-item > a{
  color:rgba(255,255,255,.88) !important; font-weight:600; font-size:15px;
  padding:9px 13px; border-radius:10px; position:relative;
  transition:color .25s ease, background .25s ease;
}
.nav-menu-primary ul li a:after{
  content:''; position:absolute; left:13px; right:13px; bottom:5px; height:2px; border-radius:2px;
  background:var(--ltv-grad); transform:scaleX(0); transform-origin:left; transition:transform .28s ease;
}
.nav-menu-primary ul li a:hover{ color:#fff !important; background:rgba(255,255,255,.07); }
.nav-menu-primary ul li a:hover:after{ transform:scaleX(1); }
.nav-menu-primary ul li.current-menu-item > a{ color:#fff !important; }
.nav-menu-primary ul li.current-menu-item > a:after{ transform:scaleX(1); }
.nav-menu-primary .sub-menu, .nav-menu-primary .dropdown-menu{
  background:rgba(11,18,32,.98) !important; border:1px solid rgba(255,255,255,.10) !important;
  border-radius:14px !important; box-shadow:var(--ltv-shadow-lg) !important;
  padding:10px !important; min-width:240px;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
.nav-menu-primary .sub-menu li a{ color:rgba(255,255,255,.85) !important; border-radius:10px !important; padding:10px 14px !important; }
.nav-menu-primary .sub-menu li a:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }
.nav-menu-primary .sub-menu li a:after{ display:none; }
.nav-menu-primary .menu-item-has-children > a:before{ color:rgba(255,255,255,.6); }

/* search input in header */
.header--row .search-form input, .header--row input[type=search]{
  background:rgba(255,255,255,.10) !important; color:#fff !important; border:1px solid rgba(255,255,255,.18) !important; border-radius:999px !important;
}
.header--row .search-form input::placeholder{ color:rgba(255,255,255,.6) !important; }

/* cart icon (Woo) */
.header--row .cart-icon, .header--row .nv-cart-icon, .header--row .cart-icon-label{ color:#fff !important; }
.header--row .cart-icon .cart-count{ background:var(--ltv-grad) !important; color:#fff !important; border-radius:999px; }

/* mobile toggle + drawer */
.navbar-toggle-wrapper .navbar-toggle, .navbar-toggle .bars{ color:#fff !important; }
.navbar-toggle .bars div, .navbar-toggle .icon-bar, .navbar-toggle span{ background:#fff !important; }
.header-menu-sidebar-bg, .header-menu-sidebar{ background:var(--ltv-navy) !important; }
.header-menu-sidebar-inner a, .header-menu-sidebar .nav-menu-primary ul li a{ color:#e7edff !important; }
.header-menu-sidebar .sub-menu a{ color:#c7d2fe !important; }
.header-menu-sidebar .nav-menu-primary ul li a:hover{ background:rgba(255,255,255,.08) !important; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer, .hfg_footer, .footer--row{ background:var(--ltv-navy) !important; color:#cbd5e1 !important; }
.footer--row-inner{ background:transparent !important; }
.site-footer .widget-title, .hfg_footer .widget-title,
.hfg_footer h1, .hfg_footer h2, .hfg_footer h3, .hfg_footer h4{
  color:#fff !important; font-weight:700; letter-spacing:-.01em;
}
.site-footer .widget-title, .hfg_footer .widget-title{
  font-size:14px; text-transform:uppercase; letter-spacing:.09em; color:#9fb3d9 !important; margin-bottom:14px;
}
.site-footer a, .hfg_footer a{ color:#cbd5e1 !important; transition:color .2s ease, padding-left .2s ease; }
.site-footer a:hover, .hfg_footer a:hover{ color:#fff !important; }
.site-footer .menu-item a:hover{ padding-left:4px; }
.site-footer .menu-item{ padding:3px 0; }
.site-footer .widget, .hfg_footer .widget{ margin-bottom:20px; }
.site-footer hr, .hfg_footer hr{ border-color:rgba(255,255,255,.12); }

/* ==========================================================================
   BUTTONS  -  consistent premium system
   ========================================================================== */
.button, button, input[type=submit], input[type=button], .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wc-block-components-button,
.wpforms-submit, .wpcf7-submit{
  background:var(--ltv-grad) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important;
  padding:13px 28px !important; font-weight:700 !important;
  letter-spacing:.01em; line-height:1.1 !important; text-decoration:none !important;
  box-shadow:0 10px 24px rgba(37,99,235,.32) !important;
  transition:transform .26s cubic-bezier(.2,.7,.2,1), box-shadow .26s ease, filter .26s ease !important;
}
.button:hover, button:hover, input[type=submit]:hover, input[type=button]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .wc-block-components-button:hover,
.wpforms-submit:hover, .wpcf7-submit:hover, .wp-block-button__link:hover{
  transform:translateY(-3px) !important; filter:brightness(1.07) !important; color:#fff !important;
  box-shadow:0 18px 38px rgba(124,58,237,.42) !important;
}
.woocommerce a.button.alt, .woocommerce button.button.alt{ background:var(--ltv-grad) !important; }
.woocommerce a.added_to_cart{ border-radius:999px !important; padding:10px 18px !important; font-weight:600 !important; }

/* outline / secondary buttons keep readable */
.button.secondary, .is-style-outline .wp-block-button__link{
  background:#fff !important; color:var(--ltv-blue) !important;
  border:1.5px solid var(--ltv-blue) !important; box-shadow:none !important;
}

/* ==========================================================================
   FORMS  -  inputs, selects, textarea, labels, checkout, login
   ========================================================================== */
input[type=text], input[type=email], input[type=tel], input[type=number],
input[type=password], input[type=search], input[type=url], input[type=date],
textarea, select,
.woocommerce-Input, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single,
.wpforms-field input, .wpforms-field select, .wpforms-field textarea, .wpcf7 input, .wpcf7 textarea{
  width:100%; background:#fff !important; color:var(--ltv-ink) !important;
  border:1.5px solid var(--ltv-border) !important; border-radius:12px !important;
  padding:13px 15px !important; font-size:15px !important; line-height:1.4 !important;
  box-shadow:0 1px 2px rgba(2,6,23,.04);
  transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus, textarea:focus, select:focus,
.woocommerce-Input:focus, .select2-container--default.select2-container--focus .select2-selection--single{
  outline:none !important; border-color:var(--ltv-blue) !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.15) !important;
}
label, .woocommerce form .form-row label, .wpforms-field label{
  font-weight:600 !important; color:var(--ltv-ink) !important; margin-bottom:6px; display:inline-block;
}
::placeholder{ color:#94a3b8 !important; }
input[type=checkbox], input[type=radio]{
  width:20px !important; height:20px !important; border:1.5px solid #cbd5e1 !important;
  border-radius:6px !important; accent-color:var(--ltv-blue); background:#fff;
}
input[type=radio]{ border-radius:50% !important; }
.woocommerce form .form-row{ padding:6px 8px; }

/* WooCommerce notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-radius:14px !important; border-top:0 !important; padding:16px 20px 16px 52px !important;
  background:#eef2ff !important; color:var(--ltv-ink) !important; box-shadow:var(--ltv-shadow-sm);
}
.woocommerce-message:before, .woocommerce-info:before, .woocommerce-error:before{ color:var(--ltv-blue) !important; top:16px !important; }

/* ==========================================================================
   WPForms / CF7 wrappers
   ========================================================================== */
.wpforms-container, .wpcf7{
  background:#fff; border:1px solid var(--ltv-border); border-radius:var(--ltv-radius-lg);
  box-shadow:var(--ltv-shadow); padding:clamp(18px,3vw,34px) !important;
}
.wpforms-field{ padding-bottom:16px !important; }

/* ==========================================================================
   CARDS  -  product cards, post cards, containers
   ========================================================================== */
ul.products li.product, .wc-block-grid__product, .nv-card-content-wrapper{
  background:#fff !important; border:1px solid var(--ltv-border) !important;
  border-radius:var(--ltv-radius) !important; overflow:hidden;
  box-shadow:var(--ltv-shadow-sm);
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease, border-color .3s ease;
}
ul.products li.product:hover, .nv-card-content-wrapper:hover{
  transform:translateY(-6px); box-shadow:var(--ltv-shadow); border-color:rgba(37,99,235,.28) !important;
}
ul.products li.product img, .wc-block-grid__product img{ transition:transform .5s ease; }
ul.products li.product:hover img{ transform:scale(1.05); }
ul.products li.product .woocommerce-loop-product__title{
  font-size:16px !important; font-weight:700; color:var(--ltv-ink) !important; padding:14px 16px 6px !important;
}
ul.products li.product .price{ color:var(--ltv-blue) !important; font-weight:800; padding:4px 16px 14px; }
ul.products li.product .button{ margin:0 16px 16px !important; }
ul.products li.product .star-rating{ margin:0 16px 8px; }

/* blog / archive */
article.post, .nv-non-grid-article, .blog .post, .archive .post{
  background:#fff !important; border:1px solid var(--ltv-border) !important;
  border-radius:var(--ltv-radius) !important; overflow:hidden; box-shadow:var(--ltv-shadow-sm);
  transition:transform .3s ease, box-shadow .3s ease;
}
article.post:hover{ transform:translateY(-5px); box-shadow:var(--ltv-shadow); }
article.post .entry-title a{ color:var(--ltv-ink) !important; }
article.post .entry-title a:hover{ color:var(--ltv-blue) !important; }
.nv-post-thumbnail-wrap img{ transition:transform .5s ease; }
article.post:hover .nv-post-thumbnail-wrap img{ transform:scale(1.04); }
.nv-post-thumbnail-wrap{ border-radius:var(--ltv-radius) var(--ltv-radius) 0 0; overflow:hidden; }

/* pagination */
.page-numbers, .nv-pagination .page-numbers{
  border-radius:12px !important; font-weight:600; border:1px solid var(--ltv-border); padding:9px 14px;
}
.page-numbers.current, .nv-pagination .page-numbers.current{
  background:var(--ltv-grad) !important; color:#fff !important; border:0;
}

/* tables */
table, .woocommerce table.shop_table{
  border:1px solid var(--ltv-border) !important; border-radius:var(--ltv-radius) !important;
  overflow:hidden; background:#fff;
}
.shop_table th, table th{ background:#f1f5fb !important; color:var(--ltv-ink) !important; font-weight:700; }
.woocommerce table.shop_table td, table td{ border-color:var(--ltv-border) !important; }

/* ==========================================================================
   SINGLE PRODUCT / CART / CHECKOUT / ACCOUNT
   ========================================================================== */
.product_title, .single-product div.product .summary h1{ font-weight:800; color:var(--ltv-ink); }
.single-product .quantity input.qty{ border-radius:10px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ border-radius:12px 12px 0 0 !important; font-weight:600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ background:var(--ltv-grad) !important; color:#fff !important; }
.cart_totals, .woocommerce-checkout-review-order, .woocommerce-order{
  background:#fff; border:1px solid var(--ltv-border); border-radius:var(--ltv-radius);
  box-shadow:var(--ltv-shadow-sm); padding:22px !important;
}
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register{
  background:#fff; border:1px solid var(--ltv-border) !important; border-radius:var(--ltv-radius) !important;
  box-shadow:var(--ltv-shadow-sm); padding:24px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{ border-radius:12px !important; font-weight:600; padding:11px 15px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
  background:var(--ltv-grad) !important; color:#fff !important;
}
.woocommerce ul.product_list_widget li img{ border-radius:12px !important; }

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
/* SAFETY: content is ONLY hidden when JS has explicitly enabled animation
   (html.ltv-anim). If JS fails or is blocked, nothing is ever hidden. */
html.ltv-anim .ltv-reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); will-change:opacity, transform; }
html.ltv-anim .ltv-reveal.ltv-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  html.ltv-anim .ltv-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  .nv-page-title{ padding:46px 16px 50px; }
}
@media (max-width:767px){
  h1{ font-size:clamp(24px,7vw,32px); }
  h2{ font-size:clamp(22px,6.4vw,28px); }
  .nv-page-title{ padding:36px 14px 40px; border-radius:0 0 18px 18px; }
  .button, button, input[type=submit], .wpforms-submit, .wpcf7-submit{ padding:12px 22px !important; }
  .site-header .brand:before{ width:38px; height:38px; flex-basis:38px; background-size:20px 20px,cover; }
  .site-header .site-title{ font-size:17px !important; }
  ul.products li.product .button{ margin:0 12px 12px !important; }
  .woocommerce form .form-row{ padding:5px 0; }
}

/* ==========================================================================
   APP SHELL  -  real transformation of Elementor body sections (all pages)
   Content-safe: only background/padding/radius/shadow/colour are changed.
   ========================================================================== */
body{ background:radial-gradient(1200px 600px at 80% -10%,rgba(37,99,235,.10),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(124,58,237,.08),transparent 60%),var(--ltv-bg) !important; }

/* COLOUR-SAFE. We never change a section's own background or text colour.
   Only TRANSPARENT sections receive a white panel (class added by JS).
   Dark/coloured sections keep their design so their text stays readable. */
.elementor .e-con.e-parent{
  max-width:min(1240px,94vw) !important;
  margin:24px auto !important;
  border-radius:var(--ltv-radius-lg) !important;
  position:relative !important;
  box-sizing:border-box;
  overflow:hidden;
}
.elementor .e-con.e-parent.ltv-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f3f7ff 100%) !important;
  border:1px solid var(--ltv-border) !important;
  box-shadow:0 20px 50px rgba(2,6,23,.10) !important;
  padding:clamp(26px,3.4vw,52px) clamp(20px,3.4vw,54px) !important;
}
.elementor .e-con.e-parent.ltv-panel::before{
  content:''; position:absolute; left:0; right:0; top:0; height:5px;
  background:var(--ltv-grad); opacity:.98; pointer-events:none;
}
.elementor .e-con.e-parent.ltv-panel + .e-con.e-parent.ltv-panel{ margin-top:22px !important; }

/* nested accordions -> premium cards */
.elementor .e-n-accordion-item{
  border:1px solid var(--ltv-border) !important;
  border-radius:16px !important;
  background:#fff !important;
  margin-bottom:12px !important;
  overflow:hidden;
  box-shadow:var(--ltv-shadow-sm);
}
.elementor .e-n-accordion-item-title{
  background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(124,58,237,.10)) !important;
  padding:16px 18px !important;
  font-weight:700 !important;
  color:var(--ltv-ink) !important;
  transition:background .25s ease;
}
.elementor .e-n-accordion-item-title:hover{ background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(124,58,237,.18)) !important; }
.elementor .e-n-accordion-item-title-text{ font-weight:700 !important; font-size:16px !important; }
.elementor .e-n-accordion-item-title-icon svg{ fill:currentColor; }
.elementor .e-n-accordion-item[open] > .e-n-accordion-item-title{ background:var(--ltv-grad) !important; }
.elementor .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor .e-n-accordion-item[open] > .e-n-accordion-item-title *{ color:#fff !important; }

/* headings inside sections: stronger, tighter */
.elementor .e-con.e-parent .elementor-heading-title{ letter-spacing:-.02em; }
.elementor .e-con.e-parent .elementor-widget-heading h1.elementor-heading-title{ font-size:clamp(28px,4vw,46px) !important; }
.elementor .e-con.e-parent .elementor-widget-heading h2.elementor-heading-title{ font-size:clamp(24px,3.2vw,38px) !important; }
.elementor .e-con.e-parent .elementor-widget-heading h3.elementor-heading-title{ font-size:clamp(20px,2.4vw,28px) !important; }

/* text blocks: comfortable readable measure */
.elementor .e-con.e-parent .elementor-widget-text-editor p{ margin-bottom:1em; }

/* Elementor buttons -> premium pills */
.elementor .elementor-button{
  background:var(--ltv-grad) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important;
  padding:14px 30px !important; font-weight:700 !important;
  box-shadow:0 10px 24px rgba(37,99,235,.32) !important;
  transition:transform .26s cubic-bezier(.2,.7,.2,1), box-shadow .26s ease, filter .26s ease !important;
}
.elementor .elementor-button:hover{
  transform:translateY(-3px) !important; filter:brightness(1.07);
  box-shadow:0 18px 38px rgba(124,58,237,.42) !important; color:#fff !important;
}
.elementor .elementor-button .elementor-button-text{ color:#fff !important; }

/* Elementor forms */
.elementor .elementor-field-group input, .elementor .elementor-field-group textarea,
.elementor .elementor-field-group select{
  border-radius:12px !important; border:1.5px solid var(--ltv-border) !important;
  padding:13px 15px !important; background:#fff !important; color:var(--ltv-ink) !important;
}
.elementor .elementor-field-group input:focus, .elementor .elementor-field-group textarea:focus{
  border-color:var(--ltv-blue) !important; box-shadow:0 0 0 4px rgba(37,99,235,.15) !important; outline:none !important;
}

@media (max-width:767px){
  .elementor .e-con.e-parent{ margin:16px auto !important; padding:20px 16px !important; border-radius:20px !important; }
}

/* ==========================================================================
   CONTENT COMPONENTS  (lists -> cards, dividers, animated headline)
   Content-safe: only presentation of existing markup is changed.
   ========================================================================== */
body:not(.single-post):not(.blog) .elementor-widget-text-editor ul{
  list-style:none !important; margin:8px 0 0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
body:not(.single-post):not(.blog) .elementor-widget-text-editor ul li{
  position:relative; margin:0 !important; padding:16px 18px 16px 46px !important;
  background:#fff !important; border:1px solid var(--ltv-border) !important;
  border-radius:14px !important; box-shadow:var(--ltv-shadow-sm);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  line-height:1.5;
}
body:not(.single-post):not(.blog) .elementor-widget-text-editor ul li::before{
  content:''; position:absolute; left:16px; top:18px; width:18px; height:18px; border-radius:6px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12.5l5 5L20 6.5'/></svg>"),linear-gradient(135deg,#2563EB,#7C3AED);
  background-repeat:no-repeat,no-repeat; background-position:center,center; background-size:12px 12px,cover;
}
body:not(.single-post):not(.blog) .elementor-widget-text-editor ul li:hover{
  transform:translateY(-3px); box-shadow:var(--ltv-shadow); border-color:rgba(37,99,235,.30) !important;
}
body:not(.single-post):not(.blog) .elementor-widget-text-editor ul li a{ font-weight:700; color:var(--ltv-blue) !important; text-decoration:none; }
body:not(.single-post):not(.blog) .elementor-widget-text-editor ul li a:hover{ color:var(--ltv-violet) !important; }
/* neutralise inline <hr> dividers inside content */
.elementor-widget-text-editor hr{
  border:0 !important; height:0 !important; margin:0 !important; padding:0 !important; opacity:0;
}

/* animated headline */
.elementor-widget-animated-headline .elementor-headline{ font-weight:800; letter-spacing:-.02em; }
.elementor-widget-animated-headline .elementor-headline-dynamic-text{ color:var(--ltv-blue) !important; }

/* ==========================================================================
   FOOTER LINK MENUS  ->  clean responsive grid
   ========================================================================== */
.site-footer .menu, .hfg_footer .menu{ list-style:none; margin:0; padding:0; }
.site-footer .menu-item a, .hfg_footer .menu-item a{
  display:inline-block; padding:4px 0; font-size:14.5px;
}
.site-footer .widget_nav_menu, .hfg_footer .widget_nav_menu{ min-width:160px; }
.site-footer .hfg-grid, .hfg_footer .hfg-grid{ gap:22px; }

@media (max-width:767px){
  body:not(.single-post):not(.blog) .elementor-widget-text-editor ul{ grid-template-columns:1fr; }
}

/* ==========================================================================
   READABILITY / CONTRAST FIX  (root cause: Elementor --e-global-color-text #7A7A7A)
   Only the global TEXT variable is corrected; dark sections set their own colours.
   ========================================================================== */
:root, html, body{
  --e-global-color-text:#1F2A3A !important;
  --e-global-color-secondary:#334155 !important;
}

/* ensure default body copy is crisp, not grey */
body, .elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-text-editor li{
  color:#334155;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* visible section polish: accent bar under section headings on light areas */
.elementor-widget-heading .elementor-heading-title{ letter-spacing:-.02em; }
.e-con-full:not([class*=dark]) > .e-con-inner > .elementor-widget-heading .elementor-heading-title{
  position:relative; padding-bottom:10px;
}
.e-con-full:not([class*=dark]) > .e-con-inner > .elementor-widget-heading .elementor-heading-title::after{
  content:''; position:absolute; left:0; bottom:0; width:64px; height:4px; border-radius:999px;
  background:var(--ltv-grad);
}
/* breathing room between stacked sections */
.elementor .e-con.e-parent{ margin-bottom:6px; }

/* ==========================================================================
   THEME SYSTEM — premium DARK is the DEFAULT, LIGHT via toggle
   All dark rules are scoped under html.ltv-dark so light mode = original look.
   ========================================================================== */
html.ltv-dark{
  --ltv-d-bg:#080d18; --ltv-d-bg2:#0d1526;
  --ltv-d-panel:rgba(18,27,48,.72); --ltv-d-panel2:rgba(13,20,37,.9);
  --ltv-d-line:rgba(255,255,255,.10);
  --ltv-d-ink:#EDF2FB; --ltv-d-muted:#AEBCD6; --ltv-d-link:#8FB6FF;
}

html.ltv-dark body{
  background:
    radial-gradient(1200px 700px at 82% -10%, rgba(124,58,237,.20), transparent 60%),
    radial-gradient(1000px 620px at -10% 8%, rgba(37,99,235,.18), transparent 60%),
    linear-gradient(180deg,#080d18 0%, #0b1220 55%, #080d18 100%) !important;
  color:var(--ltv-d-muted) !important;
}
html.ltv-dark .wrapper, html.ltv-dark .neve-main, html.ltv-dark #content,
html.ltv-dark .nv-content-wrap, html.ltv-dark .container, html.ltv-dark .woocommerce,
html.ltv-dark .site-content, html.ltv-dark main, html.ltv-dark .neve-content-wrap{
  background:transparent !important;
}

/* neutralise light section backgrounds so the premium dark canvas shows */
html.ltv-dark .elementor .e-con, html.ltv-dark .elementor-section,
html.ltv-dark .e-con-inner, html.ltv-dark .elementor-column-wrap, html.ltv-dark .elementor-widget-wrap{
  background-color:transparent !important;
}

/* contained sections become elegant dark glass cards */
html.ltv-dark .elementor .e-con.e-parent.e-con-boxed{
  background:rgba(16,24,43,.55) !important;
  border:1px solid var(--ltv-d-line) !important;
  border-radius:20px !important;
}

/* text contrast in dark mode */
html.ltv-dark h1, html.ltv-dark h2, html.ltv-dark h3, html.ltv-dark h4,
html.ltv-dark h5, html.ltv-dark h6, html.ltv-dark .elementor-heading-title{
  color:var(--ltv-d-ink) !important;
}
html.ltv-dark p, html.ltv-dark li, html.ltv-dark .elementor-widget-text-editor,
html.ltv-dark .elementor-widget-text-editor p, html.ltv-dark .elementor-widget-text-editor li,
html.ltv-dark .entry-content, html.ltv-dark .woocommerce-product-details__short-description,
html.ltv-dark .woocommerce-Tabs-panel, html.ltv-dark .nv-content-wrap{
  color:var(--ltv-d-muted) !important;
}
html.ltv-dark a{ color:var(--ltv-d-link); }

/* panels + content cards + accordions in dark mode */
html.ltv-dark .elementor .e-con.e-parent.ltv-panel{
  background:linear-gradient(180deg, rgba(21,31,54,.92) 0%, rgba(13,20,37,.96) 100%) !important;
  border:1px solid var(--ltv-d-line) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.55) !important;
}
html.ltv-dark .elementor-widget-text-editor ul li{
  background:var(--ltv-d-panel) !important; border-color:var(--ltv-d-line) !important;
  color:var(--ltv-d-muted) !important;
}
html.ltv-dark .elementor-widget-text-editor ul li a{ color:var(--ltv-d-link) !important; }
html.ltv-dark details.e-n-accordion-item, html.ltv-dark .e-n-accordion-item > summary,
html.ltv-dark .e-n-accordion-item-title{
  background:var(--ltv-d-panel) !important; border-color:var(--ltv-d-line) !important;
  color:var(--ltv-d-ink) !important;
}

/* WooCommerce dark surfaces */
html.ltv-dark .woocommerce div.product .product_title,
html.ltv-dark .woocommerce .price, html.ltv-dark .woocommerce-Price-amount,
html.ltv-dark .woocommerce h2, html.ltv-dark .woocommerce h3{ color:var(--ltv-d-ink) !important; }
html.ltv-dark .products li.product, html.ltv-dark ul.products li.product,
html.ltv-dark .wc-block-grid__product{
  background:var(--ltv-d-panel) !important; border:1px solid var(--ltv-d-line) !important;
  border-radius:18px !important;
}
html.ltv-dark .shop_table, html.ltv-dark .woocommerce table{
  background:transparent !important; color:var(--ltv-d-muted) !important;
  border-color:var(--ltv-d-line) !important;
}
html.ltv-dark input, html.ltv-dark select, html.ltv-dark textarea{
  background:rgba(255,255,255,.06) !important; color:var(--ltv-d-ink) !important;
  border-color:var(--ltv-d-line) !important;
}
html.ltv-dark input::placeholder, html.ltv-dark textarea::placeholder{ color:rgba(255,255,255,.45) !important; }
html.ltv-dark .blog article, html.ltv-dark .archive article, html.ltv-dark .nv-post-cover{
  background:var(--ltv-d-panel) !important; border:1px solid var(--ltv-d-line) !important;
  border-radius:18px !important;
}

/* ==========================================================================
   HERO READABILITY FIX — invisible "FROHES NEUES JAHR" block
   Adds a rich dark overlay and forces legible light text inside the hero.
   ========================================================================== */
.elementor-33 .elementor-element-0a8251e{ position:relative; overflow:hidden; }
.elementor-33 .elementor-element-0a8251e::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(135deg, rgba(8,13,24,.94) 0%, rgba(37,99,235,.60) 55%, rgba(124,58,237,.82) 100%);
}
.elementor-33 .elementor-element-0a8251e > .e-con-inner{ position:relative; z-index:2; }
.elementor-33 .elementor-element-0a8251e :is(h1,h2,h3,h4,h5,p,strong,li,span){
  color:#ffffff !important; text-shadow:0 1px 14px rgba(0,0,0,.45);
}

/* ==========================================================================
   DROPDOWNS + MOBILE MENU BUTTON (nicer, app-like)
   ========================================================================== */
.nav-menu-primary .sub-menu, .header--row .sub-menu, .nv-nav-wrap .sub-menu{
  background:rgba(11,18,32,.97) !important; border:1px solid rgba(255,255,255,.12) !important;
  border-radius:14px !important; padding:8px !important; min-width:230px;
  box-shadow:0 22px 50px rgba(2,6,23,.55) !important; backdrop-filter:blur(10px);
  animation:ltv-drop .22s ease both;
}
@keyframes ltv-drop{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
.nav-menu-primary .sub-menu li a{ border-radius:10px !important; padding:10px 14px !important; }
.nav-menu-primary .sub-menu li a:hover{ background:rgba(37,99,235,.25) !important; color:#fff !important; }

.navbar-toggle, .navbar-toggle-wrapper, .menu-mobile-toggle{
  border-radius:12px !important; padding:8px 10px !important; border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.08) !important; transition:background .2s ease, transform .2s ease;
}
.navbar-toggle:hover{ background:rgba(255,255,255,.16) !important; transform:translateY(-1px); }
.navbar-toggle .bars, .navbar-toggle .bars span{ background:#fff !important; border-radius:2px; }

/* ==========================================================================
   ORDERLY PRODUCT / CONTENT TYPOGRAPHY (all pages)
   ========================================================================== */
.woocommerce-product-details__short-description, .woocommerce-Tabs-panel,
.elementor-widget-woocommerce-product-content{ max-width:80ch; }
.woocommerce-product-details__short-description p, .woocommerce-Tabs-panel p,
.entry-content p, .elementor-widget-text-editor p{ line-height:1.78 !important; margin:0 0 1.05em !important; }
.woocommerce-Tabs-panel ul, .woocommerce-product-details__short-description ul,
.woocommerce-Tabs-panel ol, .entry-content ul, .entry-content ol{ margin:0 0 1.1em !important; padding-left:1.35em !important; }
.woocommerce-Tabs-panel li, .woocommerce-product-details__short-description li{
  margin:0 0 .55em !important; line-height:1.7 !important;
}
.woocommerce-Tabs-panel h2, .woocommerce-Tabs-panel h3{ margin:1.4em 0 .6em !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce-product-details__short-description{
  background:linear-gradient(180deg,#ffffff,#f3f7ff) !important;
  border:1px solid var(--ltv-border) !important; border-radius:18px !important;
  padding:clamp(18px,2.6vw,34px) !important; box-shadow:var(--ltv-shadow-sm);
}
html.ltv-dark .woocommerce div.product .woocommerce-tabs,
html.ltv-dark .woocommerce-product-details__short-description{
  background:var(--ltv-d-panel2) !important; border-color:var(--ltv-d-line) !important;
}

/* ==========================================================================
   THEME TOGGLE BUTTON (top-right, accessible, keyboard focusable)
   ========================================================================== */
.ltv-theme-toggle{
  position:fixed; top:92px; right:16px; z-index:99999;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px; border-radius:999px; cursor:pointer; user-select:none;
  font:600 14px/1 Inter, system-ui, -apple-system, sans-serif;
  color:#fff !important; background:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 10px 26px rgba(37,99,235,.42) !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
.ltv-theme-toggle:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(124,58,237,.5) !important; }
.ltv-theme-toggle:focus-visible{ outline:3px solid #FFD166; outline-offset:3px; }
.ltv-theme-toggle .ltv-tt-icon{ font-size:15px; line-height:1; }
@media (max-width:782px){ .ltv-theme-toggle{ top:68px; right:10px; padding:9px 13px; font-size:13px; } }

/* ==========================================================================
   DARK-MODE ELEMENTOR FORMS (products/order forms readable on dark)
   ========================================================================== */
html.ltv-dark .elementor-form .elementor-field,
html.ltv-dark .elementor-form .elementor-field-textual,
html.ltv-dark .elementor-form input:not([type=submit]):not([type=button]),
html.ltv-dark .elementor-form select,
html.ltv-dark .elementor-form textarea{
  background:rgba(255,255,255,.06) !important;
  color:var(--ltv-d-ink) !important;
  border:1px solid var(--ltv-d-line) !important;
  border-radius:12px !important;
}
html.ltv-dark .elementor-form .elementor-field::placeholder,
html.ltv-dark .elementor-form textarea::placeholder{ color:rgba(255,255,255,.45) !important; }
html.ltv-dark .elementor-form .elementor-field-label,
html.ltv-dark .elementor-form label,
html.ltv-dark .elementor-field-group > label{ color:var(--ltv-d-ink) !important; }
html.ltv-dark .elementor-form .elementor-field-group,
html.ltv-dark .elementor-field-subgroup{ color:var(--ltv-d-muted) !important; }
html.ltv-dark .elementor-form .elementor-field-subgroup label,
html.ltv-dark .elementor-form .elementor-checkbox-label{ color:var(--ltv-d-muted) !important; }
html.ltv-dark .elementor-form .elementor-field-option{ color:var(--ltv-d-muted) !important; }
/* keep the submit button premium gradient */
html.ltv-dark .elementor-form .elementor-button{ background-image:var(--ltv-grad) !important; color:#fff !important; }

/* product page: gallery box + summary panels dark */
html.ltv-dark .woocommerce div.product div.images,
html.ltv-dark .woocommerce div.product .summary{
  background:var(--ltv-d-panel) !important; border:1px solid var(--ltv-d-line) !important;
  border-radius:18px !important; padding:18px !important;
}
/* breadcrumbs + tab links */
html.ltv-dark .woocommerce-breadcrumb, html.ltv-dark .woocommerce-breadcrumb a{ color:var(--ltv-d-muted) !important; }
html.ltv-dark .woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--ltv-d-ink) !important; }
/* related products + shop loops already dark; ensure price/titles light */
html.ltv-dark .woocommerce ul.products li.product .woocommerce-loop-product__title{ color:var(--ltv-d-ink) !important; }

/* ==========================================================================
   HOMEPAGE TIDY — normalise alignment, kill stray breaks, restore rhythm
   ========================================================================== */
.elementor-33 .elementor-heading-title{ text-align:left !important; }
.elementor-33 .elementor-widget-heading,
.elementor-33 .elementor-widget-text-editor{ text-align:left !important; }
/* centre only the intentional search prompt + welcome banner */
.elementor-33 .elementor-widget-heading:has(.elementor-heading-title:only-child) { }
.elementor-33 .elementor-widget-text-editor p{ text-align:left !important; }
/* collapse empty lines from excessive <br><br> sequences */
.elementor-33 .elementor-widget-text-editor br + br{ display:none !important; }
.elementor-33 .elementor-widget-text-editor:empty{ display:none !important; }
/* consistent vertical rhythm for homepage content blocks */
.elementor-33 .elementor-widget-text-editor{ margin-bottom:14px !important; }
.elementor-33 .elementor-widget-heading .elementor-heading-title{ margin-bottom:.35em !important; }
/* keep hero + search headline centred */
.elementor-33 .elementor-element-0a8251e .elementor-heading-title,
.elementor-33 .elementor-element-0a8251e .elementor-widget-container{ text-align:center !important; }

/* ==========================================================================
   PRODUCT ORDER PAGE — ORDERLY DESCRIPTION + REVIEWS + PROMINENT REVIEW BTN
   ========================================================================== */
/* the description block that sits before the order form */
.woocommerce-product-details__short-description,
.product .elementor-widget-theme-post-content,
.product .elementor-widget-text-editor{
  max-width:82ch !important; margin-left:auto !important; margin-right:auto !important;
}
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description li,
.product .elementor-widget-text-editor p,
.product .elementor-widget-text-editor li,
.woocommerce-Tabs-panel--description p,
.woocommerce-Tabs-panel--description li,
.woocommerce-Tabs-panel p, .woocommerce-Tabs-panel li{
  line-height:1.8 !important; margin:0 0 1.05em !important; text-align:left !important;
}
.product .elementor-widget-text-editor h2,
.product .elementor-widget-text-editor h3,
.woocommerce-Tabs-panel h2, .woocommerce-Tabs-panel h3, .woocommerce-Tabs-panel h4{
  margin:1.5em 0 .65em !important; text-align:left !important;
}

/* ORDER FORM: tidy layout + spacing */
form.elementor-form, .elementor-form .elementor-field-group{ max-width:100% !important; }
.elementor-form .elementor-field-group{ margin-bottom:16px !important; }
.elementor-form .elementor-field-label{ display:block; margin-bottom:7px !important; font-weight:600 !important; }
.elementor-form .elementor-field:focus{ outline:2px solid rgba(37,99,235,.55) !important; outline-offset:1px; }

/* PROMINENT, ACCESSIBLE REVIEW LINK/BUTTON (whole rating block clickable) */
.woocommerce-product-rating{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.woocommerce-product-rating .star-rating{ margin:0 !important; }
a.woocommerce-review-link, .woocommerce-review-link{
  display:inline-flex !important; align-items:center !important; gap:9px !important;
  padding:11px 20px !important; border:0 !important; border-radius:999px !important;
  background:var(--ltv-grad) !important; color:#fff !important;
  font-weight:700 !important; font-size:14.5px !important; letter-spacing:.01em;
  text-decoration:none !important; box-shadow:0 12px 28px rgba(37,99,235,.38) !important;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
  cursor:pointer !important;
}
a.woocommerce-review-link::before{ content:'\2605'; font-size:15px; line-height:1; }
a.woocommerce-review-link:hover{ transform:translateY(-2px); filter:brightness(1.07); box-shadow:0 18px 38px rgba(124,58,237,.48) !important; color:#fff !important; }
a.woocommerce-review-link:focus-visible{ outline:3px solid #FFD166; outline-offset:3px; }
a.woocommerce-review-link .count{ font-weight:800; }

/* REVIEWS AREA tidy arrangement */
#reviews.woocommerce-Reviews{ max-width:82ch !important; margin-left:auto !important; margin-right:auto !important; }
#reviews .woocommerce-Reviews-title, #reviews h2{
  font-size:clamp(20px,2.4vw,26px) !important; font-weight:800 !important;
  margin:0 0 .8em !important; text-align:left !important;
}
#reviews ol.commentlist, #reviews .commentlist{ list-style:none !important; margin:0 0 26px !important; padding:0 !important; display:grid; gap:16px; }
#reviews .commentlist > li, #reviews .comment-container, #reviews .review{
  background:#fff !important; border:1px solid var(--ltv-border) !important;
  border-radius:16px !important; padding:18px 20px !important; box-shadow:var(--ltv-shadow-sm);
}
#reviews .commentlist .star-rating{ margin:0 0 8px !important; }
#reviews .commentlist .meta, #reviews .commentlist .woocommerce-review__author{ color:#334155 !important; font-weight:700 !important; }
#reviews .commentlist .description p, #reviews .commentlist .woocommerce-review__published-date,
#reviews .commentlist p{ text-align:left !important; line-height:1.7 !important; }
#reviews #review_form_wrapper, #reviews .comment-form{
  background:linear-gradient(180deg,#ffffff,#f3f7ff) !important;
  border:1px solid var(--ltv-border) !important; border-radius:18px !important;
  padding:clamp(18px,2.6vw,30px) !important; box-shadow:var(--ltv-shadow-sm); margin-top:8px;
}
#reviews .comment-form label{ display:block !important; margin-bottom:6px !important; font-weight:600 !important; }
#reviews .comment-form input:not([type=submit]):not([type=checkbox]),
#reviews .comment-form textarea{ width:100% !important; border-radius:12px !important; }

/* dark-mode variants for reviews + review form */
html.ltv-dark #reviews .commentlist > li, html.ltv-dark #reviews .comment-container{
  background:var(--ltv-d-panel) !important; border-color:var(--ltv-d-line) !important;
}
html.ltv-dark #reviews .commentlist .meta, html.ltv-dark #reviews .commentlist p,
html.ltv-dark #reviews .commentlist .woocommerce-review__author{ color:var(--ltv-d-muted) !important; }
html.ltv-dark #reviews #review_form_wrapper, html.ltv-dark #reviews .comment-form{
  background:var(--ltv-d-panel2) !important; border-color:var(--ltv-d-line) !important;
}
html.ltv-dark #reviews .comment-form input:not([type=submit]), html.ltv-dark #reviews .comment-form textarea{
  background:rgba(255,255,255,.06) !important; color:var(--ltv-d-ink) !important; border-color:var(--ltv-d-line) !important;
}

/* general: keep ALL body copy left-aligned & evenly spaced (no scattered justify) */
.entry-content p, .woocommerce-Tabs-panel p, .elementor-widget-text-editor p{ text-align:left !important; }

/* ==========================================================================
   DARK-MODE FIX: Elementor post/blog cards were staying WHITE -> invisible text
   ========================================================================== */
html.ltv-dark .elementor-post__card,
html.ltv-dark .elementor-posts .elementor-post,
html.ltv-dark .elementor-posts-container .elementor-post{
  background:var(--ltv-d-panel) !important;
  border:1px solid var(--ltv-d-line) !important;
  border-radius:18px !important;
}
html.ltv-dark .elementor-post__title,
html.ltv-dark .elementor-post__title a{ color:var(--ltv-d-ink) !important; }
html.ltv-dark .elementor-post__excerpt,
html.ltv-dark .elementor-post__excerpt p{ color:var(--ltv-d-muted) !important; }
html.ltv-dark .elementor-post__meta,
html.ltv-dark .elementor-post__meta a,
html.ltv-dark .elementor-post__read-more{ color:var(--ltv-d-link) !important; }
html.ltv-dark .elementor-post__thumbnail{ background:rgba(255,255,255,.04) !important; }

/* keep inline-coloured text legible on the (now dark) cards */
html.ltv-dark .elementor-post__card span[style*="color"]:not([style*="#00CCFF"]):not([style*="0, 204, 255"]){
  color:var(--ltv-d-muted) !important;
}

/* ==========================================================================
   DYNAMIC ANIMATED HEADINGS (homepage) — works on light AND dark themes
   Uses only mid-bright colours so it never becomes invisible on either theme.
   ========================================================================== */
/* ==========================================================================
   DYNAMIC ANIMATED HEADINGS (homepage) - SAFE animated colour cycling.
   Uses REAL colours only (no transparent text fill), so text can NEVER vanish,
   on either the dark (default) or light theme.
   ========================================================================== */
@keyframes ltv-shine{ 0%{background-position:0% 50%;} 100%{background-position:200% 50%;} }
@keyframes ltv-head-dark{ 0%{color:#8FB6FF;} 33%{color:#C4A9FF;} 66%{color:#7FD4FF;} 100%{color:#8FB6FF;} }
@keyframes ltv-head-light{ 0%{color:#2563EB;} 33%{color:#7C3AED;} 66%{color:#0EA5E9;} 100%{color:#2563EB;} }
.elementor-33 .elementor-widget-heading .elementor-heading-title{
  background-image:none !important;
  -webkit-text-fill-color:currentColor !important;
  color:#2563EB;
  animation:ltv-head-light 8s ease-in-out infinite;
}
html.ltv-dark .elementor-33 .elementor-widget-heading .elementor-heading-title{
  animation:ltv-head-dark 8s ease-in-out infinite;
}
.elementor-33 .elementor-widget-heading .elementor-heading-title::after{
  content:''; display:block; width:72px; height:4px; margin-top:10px; border-radius:999px;
  background:linear-gradient(90deg,#2563EB,#7C3AED,#0EA5E9,#2563EB);
  background-size:200% 100%;
  animation:ltv-shine 6s linear infinite;
}
/* hero banner text stays crisp white, no animation, no underline */
.elementor-33 .elementor-element-0a8251e .elementor-heading-title{
  background-image:none !important; -webkit-text-fill-color:#fff !important; color:#fff !important; animation:none !important;
}
.elementor-33 .elementor-element-0a8251e .elementor-heading-title::after{ display:none !important; }
@media (prefers-reduced-motion: reduce){
  .elementor-33 .elementor-widget-heading .elementor-heading-title,
  .elementor-33 .elementor-widget-heading .elementor-heading-title::after{ animation:none !important; }
}


/* ==========================================================================
   REVIEWS SECTION — tidy, capped length, professional cards
   ========================================================================== */
#reviews .commentlist > li{ margin:0 !important; }
#reviews .commentlist .description,
#reviews .commentlist .woocommerce-review__review{
  position:relative; max-height:none;
}
#reviews .commentlist .description.is-clamped{
  overflow:hidden; max-height:9.5em;
}
#reviews .commentlist .description.is-clamped::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:3.2em;
  background:linear-gradient(180deg, rgba(255,255,255,0), #fff 85%);
}
html.ltv-dark #reviews .commentlist .description.is-clamped::after{
  background:linear-gradient(180deg, rgba(18,27,48,0), #101a2c 85%);
}
.ltv-review-more{
  display:inline-flex; align-items:center; gap:6px; margin-top:8px;
  padding:7px 14px; border-radius:999px; cursor:pointer;
  font:600 13px/1 Inter,system-ui,sans-serif; color:#fff !important;
  background:linear-gradient(135deg,#2563EB,#7C3AED) !important; border:0 !important;
}
.ltv-review-more:hover{ filter:brightness(1.08); }
.ltv-review-more:focus-visible{ outline:3px solid #FFD166; outline-offset:2px; }
#reviews .commentlist .meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
#reviews .commentlist .woocommerce-review__verified{
  font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px;
  background:rgba(37,99,235,.12); color:#2563EB !important;
}
html.ltv-dark #reviews .commentlist .woocommerce-review__verified{ background:rgba(143,182,255,.15); color:#8FB6FF !important; }

/* ==========================================================================
   PREMIUM LOGO LOCKUP (header) - design-only, reversible
   The shipped logo image is disabled; we build a refined monogram + wordmark.
   Brand name is unchanged.
   ========================================================================== */
.site-logo .brand{ display:inline-flex !important; align-items:center; gap:12px; text-decoration:none !important; }
.site-logo .title-with-logo{ display:flex !important; align-items:center; gap:12px; }
.site-logo img, .neve-site-logo{ display:none !important; }
.site-logo .brand::before{
  content:'LTV';
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:13px; flex:0 0 auto;
  font:800 15px/1 Inter, system-ui, -apple-system, sans-serif; letter-spacing:.04em; color:#fff !important;
  background:linear-gradient(135deg,#2563EB 0%,#7C3AED 55%,#0EA5E9 100%);
  box-shadow:0 10px 24px rgba(37,99,235,.42), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.site-logo .brand:hover::before{ transform:translateY(-2px) rotate(-3deg); box-shadow:0 16px 32px rgba(124,58,237,.5); }
.site-logo .site-title{
  color:#fff !important; font-size:19px !important; font-weight:800 !important;
  letter-spacing:-.015em !important; margin:0 !important; line-height:1.15 !important; white-space:nowrap;
}
@supports (-webkit-background-clip:text){
  .site-logo .site-title{
    background-image:linear-gradient(90deg,#ffffff 0%,#c7d9ff 100%) !important;
    -webkit-background-clip:text !important; background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
  }
}
@media (max-width:782px){
  .site-logo .brand::before{ width:38px; height:38px; font-size:13px; border-radius:11px; }
  .site-logo .site-title{ font-size:16px !important; }
}

/* ==========================================================================
   SHOP PREVIEW CARDS - product description snippet clearly visible
   ========================================================================== */
ul.products li.product .ltv-loop-desc{
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; margin:6px 0 8px !important;
  font:500 13.5px/1.55 Inter, system-ui, -apple-system, sans-serif;
  color:#475569 !important;
}
html.ltv-dark ul.products li.product .ltv-loop-desc{ color:#AEBBD6 !important; }

/* make the card title clearly readable */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2{
  font-size:15.5px !important; font-weight:700 !important; line-height:1.4 !important;
  margin:2px 0 4px !important;
}

/* consistent, visible 'Read more / Mehr erfahren' action button on cards */
ul.products li.product a.button{
  display:inline-flex !important; align-items:center; justify-content:center; gap:7px;
  margin-top:6px !important; padding:10px 18px !important; border-radius:999px !important;
  font-size:13.5px !important; font-weight:700 !important; letter-spacing:.01em;
  background:linear-gradient(135deg,#2563EB,#7C3AED) !important; color:#fff !important;
  border:0 !important; box-shadow:0 10px 22px rgba(37,99,235,.30) !important;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
ul.products li.product a.button:hover{ transform:translateY(-2px); filter:brightness(1.07); box-shadow:0 16px 30px rgba(124,58,237,.42) !important; color:#fff !important; }
ul.products li.product a.button:focus-visible{ outline:3px solid #FFD166; outline-offset:3px; }


/* ==========================================================================
   DARK MODE — SHOP / WOOCOMMERCE TEXT READABILITY (all text, not just titles)
   ========================================================================== */
html.ltv-dark .woocommerce-result-count,
html.ltv-dark .woocommerce-ordering label,
html.ltv-dark .woocommerce-ordering select,
html.ltv-dark .woocommerce .woocommerce-breadcrumb,
html.ltv-dark .woocommerce-breadcrumb a,
html.ltv-dark .product_meta,
html.ltv-dark .product_meta a,
html.ltv-dark .product_meta .sku,
html.ltv-dark .woocommerce div.product p.price,
html.ltv-dark .woocommerce div.product span.price,
html.ltv-dark .woocommerce ul.products li.product .price,
html.ltv-dark .woocommerce .star-rating span::before,
html.ltv-dark .woocommerce .star-rating::before,
html.ltv-dark .woocommerce-review-link,
html.ltv-dark .woocommerce-tabs .panel,
html.ltv-dark .woocommerce-tabs .panel p,
html.ltv-dark .woocommerce-tabs .panel li,
html.ltv-dark .shop_attributes th,
html.ltv-dark .shop_attributes td,
html.ltv-dark .widget,
html.ltv-dark .widget-title,
html.ltv-dark .widget a,
html.ltv-dark .nv-sidebar-wrap,
html.ltv-dark .related.products h2,
html.ltv-dark .upsells.products h2,
html.ltv-dark .cross-sells h2,
html.ltv-dark nav.woocommerce-pagination a,
html.ltv-dark nav.woocommerce-pagination span,
html.ltv-dark .woocommerce-info,
html.ltv-dark .woocommerce-message,
html.ltv-dark .woocommerce-error,
html.ltv-dark .woocommerce-info *,
html.ltv-dark .woocommerce-message *{
  color:var(--ltv-d-muted) !important;
}
html.ltv-dark .woocommerce .woocommerce-breadcrumb a:hover,
html.ltv-dark .widget a:hover{ color:#fff !important; }

/* prices + strong values stay high-contrast */
html.ltv-dark .woocommerce-Price-amount,
html.ltv-dark .woocommerce-Price-currencySymbol,
html.ltv-dark .price ins,
html.ltv-dark .woocommerce-result-count strong{ color:var(--ltv-d-ink) !important; }

/* review form + review list text */
html.ltv-dark #reviews .woocommerce-Reviews-title,
html.ltv-dark #reviews .comment-reply-title,
html.ltv-dark #reply-title,
html.ltv-dark .comment-notes,
html.ltv-dark #reviews .comment-form label,
html.ltv-dark #reviews .comment-form-rating label,
html.ltv-dark #reviews .comment-form p,
html.ltv-dark #reviews .commentlist .comment-text p,
html.ltv-dark #reviews .commentlist .comment-text,
html.ltv-dark #reviews .commentlist .meta,
html.ltv-dark #reviews .woocommerce-review__published-date,
html.ltv-dark #reviews .woocommerce-review__dash,
html.ltv-dark .comment-form-cookies-consent label,
html.ltv-dark .comment-form-rating .stars a,
html.ltv-dark .comment-form p.stars a{
  color:var(--ltv-d-muted) !important;
}
html.ltv-dark #reviews .commentlist .woocommerce-review__author,
html.ltv-dark #reviews .commentlist strong,
html.ltv-dark #reviews .woocommerce-Reviews-title{ color:var(--ltv-d-ink) !important; }

/* review form inputs on dark */
html.ltv-dark #reviews .comment-form input:not([type=submit]):not([type=checkbox]),
html.ltv-dark #reviews .comment-form textarea{
  background:rgba(255,255,255,.06) !important; color:var(--ltv-d-ink) !important;
  border:1px solid var(--ltv-d-line) !important; border-radius:12px !important;
}
html.ltv-dark #reviews .comment-form input::placeholder,
html.ltv-dark #reviews .comment-form textarea::placeholder{ color:rgba(255,255,255,.45) !important; }
html.ltv-dark #reviews .comment-form-cookies-consent,
html.ltv-dark .comment-form #wp-comment-cookies-consent{ accent-color:#7C3AED; }
html.ltv-dark #reviews .comment-form input[type=submit],
html.ltv-dark #reviews .comment-form .submit{
  background-image:var(--ltv-grad) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important; padding:12px 26px !important; font-weight:700 !important;
}

/* single-product sidebar widgets (Quicklinks etc.) become dark cards */
html.ltv-dark .widget,
html.ltv-dark .nv-sidebar-wrap .widget{
  background:var(--ltv-d-panel) !important; border:1px solid var(--ltv-d-line) !important;
  border-radius:16px !important; padding:16px 18px !important;
}
html.ltv-dark .widget-title,
html.ltv-dark .widget .widget-title{ color:var(--ltv-d-ink) !important; }

/* 'Added to cart' / notices */
html.ltv-dark .woocommerce-message,
html.ltv-dark .woocommerce-info{
  background:rgba(37,99,235,.14) !important; border-top-color:#2563EB !important;
}
html.ltv-dark .woocommerce-message::before,
html.ltv-dark .woocommerce-info::before{ color:#8FB6FF !important; }

/* pagination */
html.ltv-dark nav.woocommerce-pagination a:hover,
html.ltv-dark nav.woocommerce-pagination .current{
  background-image:var(--ltv-grad) !important; color:#fff !important; border-color:transparent !important;
}

/* ==========================================================================
   DARK MODE — SHOP LOOP TEXT: make every card line clearly readable
   (product titles were already fine; brighten+clarify the rest)
   ========================================================================== */
html.ltv-dark ul.products li.product .woocommerce-loop-product__title,
html.ltv-dark ul.products li.product .woocommerce-loop-product__title a{ color:#FFFFFF !important; }
html.ltv-dark ul.products li.product .ltv-loop-desc{ color:#C9D5EB !important; font-weight:500 !important; }
html.ltv-dark ul.products li.product .price,
html.ltv-dark ul.products li.product .woocommerce-Price-amount,
html.ltv-dark ul.products li.product .price .amount{ color:#FFFFFF !important; }
html.ltv-dark ul.products li.product .star-rating span::before,
html.ltv-dark ul.products li.product .star-rating::before,
html.ltv-dark .woocommerce .star-rating span::before,
html.ltv-dark .woocommerce .star-rating::before{ color:#FFC24B !important; }
html.ltv-dark ul.products li.product a.button,
html.ltv-dark ul.products li.product .add_to_cart_button{ color:#fff !important; text-shadow:none !important; }

/* shop header row: result count + ordering clearly readable */
html.ltv-dark .woocommerce-result-count,
html.ltv-dark .woocommerce-ordering label{ color:#C9D5EB !important; }
html.ltv-dark .woocommerce-ordering select{ color:#EDF2FB !important; background:rgba(255,255,255,.08) !important; }
html.ltv-dark .woocommerce-ordering select option{ background:#0d1526 !important; color:#EDF2FB !important; }

/* generic safety: any leftover dark ink inside a product/shop area becomes light */
html.ltv-dark ul.products li.product *:not(img):not(svg):not(.button):not(a.button){ color:#C9D5EB !important; }
html.ltv-dark ul.products li.product h2,
html.ltv-dark ul.products li.product .price{ color:#FFFFFF !important; }

/* ==========================================================================
   DARK MODE — ELEMENTOR BLOG CARDS + DYNAMIC HEADLINES
   Fixes black 'No Comments' / dark headline text on the dark canvas.
   ========================================================================== */
html.ltv-dark .elementor-post__meta,
html.ltv-dark .elementor-post__meta a,
html.ltv-dark .elementor-post-avatar,
html.ltv-dark .elementor-post__badge,
html.ltv-dark .elementor-post__read-more,
html.ltv-dark .elementor-post__meta span,
html.ltv-dark .elementor-post-info,
html.ltv-dark .elementor-post-info__item{ color:var(--ltv-d-muted) !important; }
html.ltv-dark .elementor-post__read-more{ color:#8FB6FF !important; }
html.ltv-dark .elementor-post__read-more:hover{ color:#fff !important; }

html.ltv-dark .elementor-headline,
html.ltv-dark .elementor-headline-plain-text,
html.ltv-dark .elementor-headline-dynamic-wrapper{ color:var(--ltv-d-ink) !important; }
html.ltv-dark .elementor-headline-dynamic-text{ color:#8FB6FF !important; }

/* brand-blue strong/links in text editors -> readable on dark */
html.ltv-dark .elementor-widget-text-editor strong,
html.ltv-dark .elementor-widget-text-editor b,
html.ltv-dark .elementor-widget-text-editor strong a,
html.ltv-dark .elementor-widget-text-editor b a{ color:#E7EDFF !important; }
html.ltv-dark .elementor-widget-text-editor a strong,
html.ltv-dark .elementor-widget-text-editor a b{ color:#9CC0FF !important; }

/* DARK MODE — Elementor blog card meta (black 'No Comments' etc.) */
html.ltv-dark .elementor-post__meta-data,
html.ltv-dark .elementor-post__meta-data a,
html.ltv-dark .elementor-post__meta-data span,
html.ltv-dark .elementor-post-avatar,
html.ltv-dark .elementor-post-info,
html.ltv-dark .elementor-post-info__item,
html.ltv-dark .elementor-post-info a{ color:#AEBCD6 !important; }
html.ltv-dark .elementor-post__meta-data *{ color:#AEBCD6 !important; }
/* site-wide dark safety for inline near-black/navy text (never touches images) */
html.ltv-dark [style*="color:#000"]:not(img):not(svg),
html.ltv-dark [style*="color: #000"]:not(img):not(svg){ color:#DCE6F7 !important; }
html.ltv-dark [style*="color:#000080"]:not(img):not(svg),
html.ltv-dark [style*="color: #000080"]:not(img):not(svg){ color:#C9D5EB !important; }

/* DARK MODE — brighten brand-blue inline links/strong text so nothing is borderline */
html.ltv-dark .elementor-widget-text-editor a,
html.ltv-dark .elementor-widget-text-editor a strong,
html.ltv-dark .elementor-widget-text-editor a b,
html.ltv-dark .entry-content a strong,
html.ltv-dark .entry-content a b,
html.ltv-dark .nv-content-wrap a strong,
html.ltv-dark .nv-content-wrap a b{ color:#9CC0FF !important; }
/* links that render in the brand blue on dark surfaces */
html.ltv-dark a[style*="color"][style*="37, 99, 235"],
html.ltv-dark a[style*="color:#2563EB"],
html.ltv-dark a[style*="color: #2563EB"]{ color:#9CC0FF !important; }

/* ==========================================================================
   1) FORM SUBMIT / WAITING MESSAGE — fully visible, never clipped
   ========================================================================== */
.elementor-form, .elementor-form .elementor-widget-container,
.elementor-form .e-con, .elementor-form .e-con-inner,
.elementor-form .elementor-field-group,
.elementor-form .elementor-field-type-submit{ overflow:visible !important; }
.elementor-form.elementor-form-waiting .elementor-field-type-submit{ position:relative !important; }
/* guaranteed visible CSS spinner (no dependency on external gif) */
.elementor-form.elementor-form-waiting .elementor-field-type-submit::before{
  content:"" !important; position:absolute !important; top:50% !important; left:50% !important;
  width:30px !important; height:30px !important; margin:-15px 0 0 -15px !important;
  background-image:none !important; background-color:transparent !important;
  border:3px solid rgba(255,255,255,.38) !important; border-top-color:#ffffff !important;
  border-radius:50% !important; animation:ltvSpin .8s linear infinite !important; z-index:99999 !important;
}
@keyframes ltvSpin{ to{ transform:rotate(360deg); } }
.elementor-form.elementor-form-waiting .elementor-field-type-submit::after{
  content:"Bitte warten Sie \2013 Ihr Formular wird gerade übermittelt. Dies kann bis zu 40 Sekunden dauern. Bitte bleiben Sie auf dieser Seite." !important;
  position:absolute !important; top:calc(100% + 12px) !important; left:50% !important; transform:translateX(-50%) !important;
  background:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%) !important; color:#FFFFFF !important;
  padding:13px 20px !important; border-radius:14px !important;
  font:600 14px/1.5 Inter,system-ui,-apple-system,sans-serif !important;
  white-space:normal !important; word-break:break-word !important;
  max-width:min(92vw,480px) !important; width:max-content !important; text-align:center !important;
  box-shadow:0 16px 40px rgba(37,99,235,.45), inset 0 1px 0 rgba(255,255,255,.25) !important;
  border:0 !important; z-index:99999 !important; pointer-events:none !important;
}

/* ==========================================================================
   2) HEADINGS — outstanding + colourful (dark mode), across the whole site
   ========================================================================== */
html.ltv-dark h1, html.ltv-dark h2, html.ltv-dark h3, html.ltv-dark h4,
html.ltv-dark h5, html.ltv-dark h6,
html.ltv-dark .elementor-heading-title,
html.ltv-dark .product_title,
html.ltv-dark .woocommerce-loop-product__title,
html.ltv-dark .woocommerce-Reviews-title,
html.ltv-dark .woocommerce-products-header__title{
  color:#FFFFFF !important; font-weight:800 !important;
  letter-spacing:-.02em !important; line-height:1.2 !important;
  text-shadow:0 2px 26px rgba(124,58,237,.38) !important;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  html.ltv-dark .elementor-heading-title,
  html.ltv-dark .woocommerce-products-header__title{
    background-image:linear-gradient(92deg,#7FD4FF 0%,#A9C0FF 48%,#D6B6FF 100%) !important;
    -webkit-background-clip:text !important; background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
  }
}

/* ==========================================================================
   3) SHOP / SECTION TITLES — clearer + more beautiful
   ========================================================================== */
html.ltv-dark ul.products li.product .woocommerce-loop-product__title,
html.ltv-dark ul.products li.product .woocommerce-loop-product__title a{ color:#FFFFFF !important; }
.woocommerce-products-header__title, .page-title, .entry-title{ color:inherit; }

/* accent bar under major Elementor section headings for a premium rhythm */
html.ltv-dark .elementor-widget-heading .elementor-heading-title::after{
  content:""; display:block; width:56px; height:4px; margin-top:12px; border-radius:999px;
  background:linear-gradient(90deg,#2563EB 0%,#7C3AED 60%,#0EA5E9 100%) !important;
  box-shadow:0 2px 12px rgba(124,58,237,.5);
}

/* ==========================================================================
   4) HOMEPAGE NAVIGATION BUTTONS (Shop | Fragen & Antworten | Bewertungen)
   ========================================================================== */
.ltv-nav-cta{
  display:flex !important; flex-wrap:wrap; gap:14px; justify-content:center; align-items:center;
  margin:28px auto 8px !important; max-width:960px; padding:0 18px !important;
}
.ltv-cta{
  display:inline-flex !important; align-items:center; gap:9px;
  padding:15px 28px !important; border-radius:999px !important;
  font:700 15px/1 Inter,system-ui,-apple-system,sans-serif !important; letter-spacing:.01em;
  text-decoration:none !important; cursor:pointer;
  background:#FFFFFF !important; color:#0F1B33 !important; border:1px solid rgba(15,27,51,.10) !important;
  box-shadow:0 10px 26px rgba(2,6,23,.18) !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}
.ltv-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 38px rgba(2,6,23,.28) !important; }
.ltv-cta:focus-visible{ outline:3px solid #FFD166; outline-offset:3px; }
.ltv-cta-primary{
  background:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%) !important; color:#FFFFFF !important;
  border:0 !important; box-shadow:0 12px 30px rgba(37,99,235,.45) !important;
}
.ltv-cta-primary:hover{ filter:brightness(1.06); }
html.ltv-dark .ltv-cta{
  background:rgba(255,255,255,.08) !important; color:#E7EDFF !important;
  border:1px solid rgba(255,255,255,.18) !important; box-shadow:0 10px 26px rgba(0,0,0,.35) !important;
}
html.ltv-dark .ltv-cta:hover{ background:rgba(255,255,255,.15) !important; }
html.ltv-dark .ltv-cta-primary{ background:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%) !important; color:#FFFFFF !important; border:0 !important; }
@media (max-width:640px){ .ltv-cta{ flex:1 1 100%; justify-content:center; } }

/* ==========================================================================
   PROFESSIONAL TITLE PLATES (site + shop) — the titles the owner wanted changed
   ========================================================================== */
.elementor-widget-heading .elementor-heading-title,
.elementor-33 .elementor-widget-heading .elementor-heading-title{
  display:inline-block !important;
  padding:.30em .72em !important;
  border-radius:16px !important;
  background-image:linear-gradient(135deg, rgba(37,99,235,.18) 0%, rgba(124,58,237,.18) 100%) !important;
  background-color:rgba(9,14,26,.38) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 12px 34px rgba(2,6,23,.34), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
html:not(.ltv-dark) .elementor-widget-heading .elementor-heading-title,
html:not(.ltv-dark) .elementor-33 .elementor-widget-heading .elementor-heading-title{
  background-image:linear-gradient(135deg, rgba(37,99,235,.10) 0%, rgba(124,58,237,.10) 100%) !important;
  background-color:rgba(255,255,255,.72) !important;
  border:1px solid rgba(15,27,51,.10) !important;
  box-shadow:0 10px 26px rgba(15,27,51,.10), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
/* hero banner headline keeps its clean full-width look (no plate) */
.elementor-33 .elementor-element-0a8251e .elementor-heading-title{
  display:block !important; padding:0 !important; border:0 !important; border-radius:0 !important;
  background:none !important; box-shadow:none !important;
}
.elementor-widget-heading .elementor-heading-title::after{ max-width:100% !important; }

/* shop loop product titles: elegant plate */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title a{
  display:block !important; text-align:center !important;
  padding:9px 12px !important; margin:8px 0 !important; border-radius:12px !important;
  background-image:linear-gradient(135deg, rgba(37,99,235,.24), rgba(124,58,237,.24)) !important;
  background-color:rgba(9,14,26,.35) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
html.ltv-dark ul.products li.product .woocommerce-loop-product__title,
html.ltv-dark ul.products li.product .woocommerce-loop-product__title a{ color:#FFFFFF !important; }
html:not(.ltv-dark) ul.products li.product .woocommerce-loop-product__title{
  background-image:linear-gradient(135deg, rgba(37,99,235,.10), rgba(124,58,237,.10)) !important;
  background-color:rgba(255,255,255,.75) !important;
  border:1px solid rgba(15,27,51,.10) !important; color:#0F1B33 !important;
}

/* single product + page + reviews titles */
.product_title, .woocommerce-products-header__title, .page-title, .entry-title, .woocommerce-Reviews-title{
  display:inline-block !important; padding:.22em .62em !important; border-radius:14px !important;
  background-image:linear-gradient(135deg, rgba(37,99,235,.18), rgba(124,58,237,.18)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 10px 28px rgba(2,6,23,.28) !important;
}
html:not(.ltv-dark) .product_title, html:not(.ltv-dark) .woocommerce-products-header__title,
html:not(.ltv-dark) .page-title, html:not(.ltv-dark) .entry-title, html:not(.ltv-dark) .woocommerce-Reviews-title{
  background-image:linear-gradient(135deg, rgba(37,99,235,.10), rgba(124,58,237,.10)) !important;
  border:1px solid rgba(15,27,51,.10) !important;
}

/* ==========================================================================
   REVIEWS — no overflow, perfect wrapping on every screen size
   ========================================================================== */
#reviews, #reviews .commentlist, #reviews .commentlist > li, #reviews .comment-container,
#reviews .comment-text, #reviews .description, #reviews .woocommerce-review__review,
#reviews #review_form_wrapper, #reviews .comment-form{ max-width:100% !important; min-width:0 !important; }
#reviews .commentlist{ overflow-x:hidden !important; }
#reviews .commentlist > li, #reviews .comment-container{ overflow:hidden !important; }
#reviews .description, #reviews .woocommerce-review__review, #reviews .comment-text,
#reviews .commentlist p, #reviews .woocommerce-review__author, #reviews .meta,
#reviews .comment-form label, #reviews .comment-form p, #reviews .comment-notes,
#reviews .woocommerce-review__published-date, #reviews .woocommerce-review__dash{
  overflow-wrap:anywhere !important; word-break:break-word !important;
  hyphens:auto !important; white-space:normal !important;
}
#reviews img, #reviews iframe, #reviews video, #reviews table{ max-width:100% !important; height:auto !important; }
#reviews .commentlist .meta{ flex-wrap:wrap !important; }
#reviews .comment-form input:not([type=submit]):not([type=checkbox]),
#reviews .comment-form textarea{ box-sizing:border-box !important; width:100% !important; max-width:100% !important; }
/* very long words / URLs anywhere on small screens */
@media (max-width:640px){
  #reviews .description, #reviews .woocommerce-review__review{ font-size:14.5px !important; line-height:1.75 !important; }
}

/* ==========================================================================
   SUBMIT WAIT NOTIFICATION (site-wide overlay)
   ========================================================================== */
#ltv-wait-ov{ position:fixed; inset:0; z-index:2147483000; display:none; align-items:center; justify-content:center;
  background:rgba(4,8,18,.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); padding:20px; }
#ltv-wait-ov.is-on{ display:flex; animation:ltvOvIn .22s ease-out; }
@keyframes ltvOvIn{ from{opacity:0} to{opacity:1} }
#ltv-wait-ov .ltv-wait-card{ width:100%; max-width:520px; text-align:center; padding:34px 28px 30px; border-radius:22px;
  background:linear-gradient(160deg,#101c33 0%,#0a1120 100%); border:1px solid rgba(143,182,255,.30);
  box-shadow:0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.10); }
#ltv-wait-ov .ltv-wait-spin{ width:54px; height:54px; margin:0 auto 20px; border-radius:50%;
  border:4px solid rgba(143,182,255,.25); border-top-color:#7FD4FF; border-right-color:#7C3AED; animation:ltvSpin .9s linear infinite; }
@keyframes ltvSpin{ to{ transform:rotate(360deg); } }
#ltv-wait-ov .ltv-wait-title{ margin:0 0 12px; font-size:22px; font-weight:800; color:#FFFFFF !important; letter-spacing:.2px; }
#ltv-wait-ov .ltv-wait-text{ margin:0 0 10px; font-size:15.5px; line-height:1.7; color:#D6E1F5 !important; }
#ltv-wait-ov .ltv-wait-text strong{ color:#7FD4FF !important; }
#ltv-wait-ov .ltv-wait-sub{ margin:0; font-size:13.5px; color:#9FB2D4 !important; }
@media (max-width:480px){
  #ltv-wait-ov .ltv-wait-card{ padding:26px 18px; border-radius:18px; }
  #ltv-wait-ov .ltv-wait-title{ font-size:19px; }
  #ltv-wait-ov .ltv-wait-text{ font-size:14.5px; }
}

/* ==========================================================================
   HOMEPAGE SECTION: "Führerschein-Sperren und Fahrverbote umgehen"
   The copy carries inline color:#ffffff and #00ccff spans. On a LIGHT surface
   white is invisible. Fix in Hellmodus only; dark mode already reads fine.
   ========================================================================== */
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor p,
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor li,
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor{ color:#152238 !important; }
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor span{
  color:#152238 !important; background:none !important; text-shadow:none !important;
}
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor span a,
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor a{
  color:#1D4ED8 !important; text-decoration:underline !important;
}
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor strong{
  color:#0B1B38 !important;
}
/* keep the accent words readable but clearly highlighted in light mode */
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor li span[style*="#00ccff"] strong,
html:not(.ltv-dark) .elementor-element-b6aa738 .elementor-widget-text-editor li strong span{
  color:#0B5FA5 !important;
}
/* dark mode: ensure the same section stays readable */
html.ltv-dark .elementor-element-b6aa738 .elementor-widget-text-editor a{ color:#7FD4FF !important; }

/* ==========================================================================
   1) REVIEW CARDS — use the full width, tidy on phones (less dead edge space)
   ========================================================================== */
#reviews.woocommerce-Reviews{ max-width:min(1180px,100%) !important; width:100% !important;
  margin-left:auto !important; margin-right:auto !important; padding-left:0 !important; padding-right:0 !important; }
#reviews .commentlist{ width:100% !important; }
#reviews .commentlist > li, #reviews .comment-container{ padding:20px 22px !important; }
@media (max-width:780px){
  .woocommerce div.product .woocommerce-tabs, .woocommerce-product-details__short-description{ padding:16px 13px !important; border-radius:16px !important; }
  #reviews.woocommerce-Reviews{ max-width:100% !important; }
  #reviews .commentlist{ gap:12px !important; }
  #reviews .commentlist > li, #reviews .comment-container{ padding:16px 15px !important; border-radius:14px !important; }
}
@media (max-width:420px){
  #reviews .commentlist > li, #reviews .comment-container{ padding:14px 12px !important; border-radius:12px !important; }
}

/* ==========================================================================
   2) LIGHT MODE — make the whole frame (especially the FOOTER) share the
      same app-style design as dark mode, instead of the flat default look.
   ========================================================================== */
/* footer: premium light glass panel with accent bar */
html:not(.ltv-dark) .site-footer, html:not(.ltv-dark) .hfg_footer, html:not(.ltv-dark) .footer--row{
  background:linear-gradient(180deg,#f8faff 0%,#e8eefb 100%) !important;
  color:#33415c !important; border-top:1px solid #dde5f5 !important;
  box-shadow:inset 0 14px 40px rgba(37,99,235,.05) !important;
}
html:not(.ltv-dark) .footer--row:first-of-type{ position:relative; }
html:not(.ltv-dark) .footer--row:first-of-type::before{
  content:''; display:block; height:4px; width:100%;
  background:linear-gradient(90deg,#2563EB 0%,#7C3AED 50%,#22D3EE 100%);
}
html:not(.ltv-dark) .site-footer .widget-title, html:not(.ltv-dark) .hfg_footer .widget-title{
  color:#5a6b8c !important;
}
html:not(.ltv-dark) .site-footer h1, html:not(.ltv-dark) .site-footer h2, html:not(.ltv-dark) .site-footer h3,
html:not(.ltv-dark) .hfg_footer h1, html:not(.ltv-dark) .hfg_footer h2, html:not(.ltv-dark) .hfg_footer h3{
  color:#12203A !important;
}
html:not(.ltv-dark) .site-footer a, html:not(.ltv-dark) .hfg_footer a{ color:#33415c !important; }
html:not(.ltv-dark) .site-footer a:hover, html:not(.ltv-dark) .hfg_footer a:hover{ color:#1D4ED8 !important; }
html:not(.ltv-dark) .site-footer hr, html:not(.ltv-dark) .hfg_footer hr{ border-color:#dde5f5 !important; }

/* light mode: section panels share the same soft app-card look */
html:not(.ltv-dark) .elementor .e-con.e-parent.ltv-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f4f7ff 100%) !important;
  border:1px solid #e3e8f3 !important; border-radius:22px !important;
  box-shadow:0 14px 34px rgba(15,27,51,.07) !important;
}

/* ==========================================================================
   3) DARK MODE — accordion + dropdown clarity (no muddy blur, clear contrast)
   ========================================================================== */
html.ltv-dark .elementor .e-n-accordion-item-title,
html.ltv-dark details.e-n-accordion-item > summary,
html.ltv-dark .elementor .e-n-accordion-item > summary{
  background:linear-gradient(180deg, rgba(30,42,72,.99) 0%, rgba(18,27,48,.99) 100%) !important;
  border:1px solid rgba(143,182,255,.38) !important;
  color:#FFFFFF !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  filter:none !important; text-shadow:none !important; opacity:1 !important;
}
html.ltv-dark .elementor .e-n-accordion-item-title-text,
html.ltv-dark .elementor .e-n-accordion-item-title *{ color:#FFFFFF !important; opacity:1 !important; }
html.ltv-dark .elementor .e-n-accordion-item-title-icon svg,
html.ltv-dark .elementor .e-n-accordion-item-title-icon{ color:#8FB6FF !important; fill:#8FB6FF !important; opacity:1 !important; }
html.ltv-dark .elementor .e-n-accordion-item[open] > .e-n-accordion-item-title,
html.ltv-dark details.e-n-accordion-item[open] > summary{
  background:var(--ltv-grad) !important; border-color:rgba(255,255,255,.30) !important;
}
html.ltv-dark .elementor .e-n-accordion-item[open] > .e-n-accordion-item-title *{ color:#FFFFFF !important; }
/* nav dropdown: solid enough to read clearly, keep a light blur only */
html.ltv-dark .nav-menu-primary .sub-menu, .nav-menu-primary .sub-menu{
  background:rgba(9,14,26,.99) !important; border:1px solid rgba(255,255,255,.16) !important;
  -webkit-backdrop-filter:blur(6px) !important; backdrop-filter:blur(6px) !important;
}

/* ==========================================================================
   4) WELCOME WIDGET (homepage) — friendly popup + floating icon
   ========================================================================== */
#ltv-welcome-fab{
  position:fixed; left:18px; bottom:18px; z-index:2147482000; width:58px; height:58px; border-radius:50%;
  border:1px solid rgba(255,255,255,.28); cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:26px; line-height:1; background:linear-gradient(135deg,#2563EB 0%,#7C3AED 100%);
  box-shadow:0 16px 40px rgba(37,99,235,.45); transition:transform .2s ease, box-shadow .2s ease;
  animation:ltvFabIn .5s ease both;
}
#ltv-welcome-fab:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 22px 48px rgba(124,58,237,.55); }
#ltv-welcome-fab:focus-visible{ outline:3px solid #FFD166; outline-offset:3px; }
@keyframes ltvFabIn{ from{opacity:0; transform:scale(.6)} to{opacity:1; transform:scale(1)} }
#ltv-welcome-card{
  position:fixed; left:18px; bottom:88px; z-index:2147482001; width:min(360px,calc(100vw - 36px));
  border-radius:20px; padding:20px 20px 18px; text-align:left;
  background:linear-gradient(165deg,#101c33 0%,#0a1120 100%); border:1px solid rgba(143,182,255,.30);
  box-shadow:0 26px 70px rgba(2,6,23,.55), inset 0 1px 0 rgba(255,255,255,.10);
  color:#D9E3F6; opacity:0; transform:translateY(12px) scale(.97); pointer-events:none;
  transition:opacity .26s ease, transform .26s ease;
}
#ltv-welcome-card.is-on{ opacity:1; transform:none; pointer-events:auto; }
#ltv-welcome-card h4{ margin:0 0 8px; font-size:18px; font-weight:800; color:#FFFFFF !important; }
#ltv-welcome-card p{ margin:0 0 12px; font-size:14.5px; line-height:1.65; color:#C9D5EB !important; }
#ltv-welcome-card .ltv-wc-actions{ display:flex; gap:10px; flex-wrap:wrap; }
#ltv-welcome-card a.ltv-wc-btn{
  display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; font-weight:700; font-size:14px;
  color:#fff !important; background:linear-gradient(135deg,#2563EB,#7C3AED) !important; text-decoration:none !important;
  box-shadow:0 10px 24px rgba(37,99,235,.35);
}
#ltv-welcome-card a.ltv-wc-btn:hover{ transform:translateY(-2px); }
#ltv-welcome-card button.ltv-wc-close{
  position:absolute; top:10px; right:12px; width:28px; height:28px; border-radius:50%; cursor:pointer;
  border:1px solid rgba(255,255,255,.20); background:rgba(255,255,255,.08); color:#fff !important; font-size:15px; line-height:1;
}
#ltv-welcome-card button.ltv-wc-close:hover{ background:rgba(255,255,255,.18); }
@media (max-width:480px){
  #ltv-welcome-fab{ width:52px; height:52px; font-size:23px; left:14px; bottom:14px; }
  #ltv-welcome-card{ left:14px; bottom:78px; padding:18px 16px 16px; border-radius:16px; }
  #ltv-welcome-card h4{ font-size:16.5px; }
  #ltv-welcome-card p{ font-size:13.5px; }
}

/* ==========================================================================
   REVIEWS on phones/tablets — remove dead edge space so cards use full width
   ========================================================================== */
@media (max-width:820px){
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce-tabs.wc-tabs-wrapper{ padding-left:8px !important; padding-right:8px !important; }
  .woocommerce-Tabs-panel{ padding-left:10px !important; padding-right:10px !important; }
  #reviews.woocommerce-Reviews, #reviews > div, #reviews .commentlist,
  #reviews .commentlist > li, #reviews .comment-container, #reviews .review{
    width:100% !important; max-width:100% !important;
  }
  #reviews .commentlist > li, #reviews .comment-container{ padding:15px 14px !important; }
}
@media (max-width:480px){
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce-tabs.wc-tabs-wrapper{ padding-left:6px !important; padding-right:6px !important; }
  .woocommerce-Tabs-panel{ padding-left:8px !important; padding-right:8px !important; }
  #reviews .commentlist > li, #reviews .comment-container{ padding:13px 12px !important; border-radius:12px !important; }
}

/* ==========================================================================
   WELCOME FAB — repositioned to bottom-CENTRE so it sits between the
   WhatsApp icon (bottom-left) and the back-to-top arrow (bottom-right).
   Centring uses margin-left (not transform) so hover/entry animations still work.
   ========================================================================== */
#ltv-welcome-fab{
  left:50% !important; right:auto !important; bottom:18px !important;
  margin-left:-29px !important;
}
@media (max-width:480px){
  #ltv-welcome-fab{ left:50% !important; right:auto !important; bottom:14px !important; margin-left:-26px !important; }
}
#ltv-welcome-card{
  left:50% !important; right:auto !important; bottom:88px !important;
  transform:translateX(-50%) translateY(12px) scale(.97) !important;
}
#ltv-welcome-card.is-on{ transform:translateX(-50%) translateY(0) scale(1) !important; }
@media (max-width:480px){
  #ltv-welcome-card{ left:50% !important; right:auto !important; bottom:78px !important; }
}
