/* Kvadro-TRUCK — theme + UI */

@font-face{
  font-family:"woodmart-font";
  font-weight:400;
  font-style:normal;
  font-display:block;
  src:url("../themes/woodmart/fonts/woodmart-font.woff2") format("woff2"),
      url("../themes/woodmart/fonts/woodmart-font-1-400_813b3599.woff2") format("woff2");
}

:root{
  --kv-bg:#f2f5f4;
  --kv-surface:#ffffff;
  --kv-ink:#152028;
  --kv-muted:#5b6b75;
  --kv-accent:#0f766e;
  --kv-accent-2:#14b8a6;
  --kv-accent-dark:#0b4f4a;
  --kv-warn:#ea580c;
  --kv-tg:#229ED9;
  --kv-line:rgba(21,32,40,.12);
  --wd-primary-color: #0f766e !important;
  --wd-alternative-color: #152028 !important;
  --color-primary: #0f766e !important;
}

html body{
  background:linear-gradient(180deg,#e8eef0 0%, var(--kv-bg) 220px, #eef2f1 100%) !important;
  color:var(--kv-ink) !important;
}

/* Hide legacy widgets */
#amo_social_button_script,
[id*="amo_social"],
.amo-button-holder,
.amo-button,
iframe[src*="amocrm"],
div[class*="amo-button"],
a.social-whatsapp,
a[href*="wa.me"],
a[href*="api.whatsapp.com"],
a[href*="whatsapp://"],
.elementor-social-icon-whatsapp,
a[href*="msngr.link/wc"],
a[href*="weixin"],
.fab.fa-weixin,
iframe[src*="yandex.ru/sprav"],
iframe[src*="yandex.ru/maps"],
.kvadro-removed{display:none!important;visibility:hidden!important;pointer-events:none!important}

.elementor-button,
.elementor-button-link,
a.button,
button.button,
.btn,
.searchform .searchsubmit,
.wd-header-cats .menu-opener{
  background-color:var(--kv-accent)!important;
  border-color:var(--kv-accent)!important;
  color:#fff!important;
  border-radius:10px!important;
  box-shadow:0 8px 20px rgba(15,118,110,.22)!important;
  transition:transform .18s ease, background-color .18s ease, box-shadow .18s ease!important;
}
.elementor-button:hover,
a.button:hover,
button.button:hover,
.searchform .searchsubmit:hover{
  background-color:var(--kv-accent-dark)!important;
  border-color:var(--kv-accent-dark)!important;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,118,110,.28)!important;
}

.whb-general-header,
.whb-main-header,
.whb-header,
.wd-header-nav{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--kv-line);
}
.main-footer,
.footer-container,
.elementor-location-footer,
.elementor-583{
  background:linear-gradient(160deg,#102028 0%, #16333a 55%, #0f766e 160%)!important;
  color:#e8f3f1!important;
}
.elementor-location-footer a,
.elementor-location-footer p,
.elementor-location-footer h3,
.elementor-location-footer .elementor-heading-title{
  color:#e8f3f1!important;
}
.elementor-location-footer .elementor-button{
  background:#14b8a6!important;
  border-color:#14b8a6!important;
}

.kv-fab-dock{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
  font-family:Segoe UI,Arial,sans-serif;
}
.kv-fab{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  text-decoration:none!important;
  font-weight:700;
  font-size:14px;
  line-height:1.2;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  border:0;
  cursor:pointer;
  color:#fff!important;
  transition:transform .15s ease, filter .15s ease;
}
.kv-fab:hover{transform:translateY(-2px);filter:brightness(1.05)}
.kv-fab-tg{background:linear-gradient(135deg,#1f9fd9,#0d7db0)}
.kv-fab-chat{background:linear-gradient(135deg,#0f766e,#115e59)}
.kv-fab-lead{background:linear-gradient(135deg,#ea580c,#c2410c)}
.kv-fab span.kv-ico{font-size:16px}

@media (max-width:640px){
  .kv-fab-dock{right:12px;bottom:12px}
  .kv-fab{padding:11px 13px;font-size:13px}
  .kv-fab .kv-hide-sm{display:none}
}

.kv-cta-strip{
  margin:18px 0;
  padding:18px 20px;
  border-radius:16px;
  background:linear-gradient(120deg,rgba(15,118,110,.1),rgba(20,184,166,.08));
  border:1px solid rgba(15,118,110,.18);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}
.kv-cta-strip p{
  margin:0;
  color:var(--kv-ink);
  font-weight:600;
}
.kv-cta-actions{display:flex;flex-wrap:wrap;gap:8px}
.kv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 16px;
  border-radius:10px;
  font-weight:700;
  text-decoration:none!important;
  border:0;
  cursor:pointer;
  color:#fff!important;
  background:var(--kv-accent);
}
.kv-btn-tg{background:#229ED9}
.kv-btn-chat{background:#0f766e}
.kv-btn-ghost{
  background:#fff;
  color:var(--kv-accent-dark)!important;
  border:1px solid rgba(15,118,110,.35);
}

.kv-modal-backdrop{
  position:fixed;inset:0;background:rgba(10,20,24,.55);
  z-index:100000;display:none;align-items:center;justify-content:center;padding:16px;
}
.kv-modal-backdrop.is-open{display:flex}
.kv-modal{
  width:min(440px,100%);
  background:#fff;
  border-radius:18px;
  padding:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  font-family:Segoe UI,Arial,sans-serif;
}
.kv-modal h3{margin:0 0 8px;font-size:22px;color:var(--kv-ink)}
.kv-modal p{margin:0 0 14px;color:var(--kv-muted);font-size:14px}
.kv-modal label{display:block;font-size:12px;font-weight:700;margin:0 0 6px;color:var(--kv-muted)}
.kv-modal input,.kv-modal textarea{
  width:100%;box-sizing:border-box;border:1px solid var(--kv-line);
  border-radius:10px;padding:11px 12px;margin-bottom:12px;font:inherit;color:var(--kv-ink);
  background:#f8faf9;
}
.kv-modal textarea{min-height:90px;resize:vertical}
.kv-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.kv-modal .kv-status{min-height:18px;font-size:13px;margin-top:8px}
.kv-modal .kv-status.ok{color:#0f766e}
.kv-modal .kv-status.err{color:#b91c1c}
.kv-modal-close{
  float:right;border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#667;
}

.kvadro-lead-box{
  padding:18px;
  border-radius:16px;
  background:linear-gradient(145deg,#ffffff,#f3faf8);
  border:1px solid rgba(15,118,110,.18);
  box-shadow:0 10px 28px rgba(16,40,36,.06);
}
.kvadro-lead-box h4{margin:0 0 10px;color:var(--kv-ink)}
.kvadro-lead-box input,
.kvadro-lead-box textarea{
  width:100%;box-sizing:border-box;margin:0 0 10px;padding:11px 12px;
  border-radius:10px;border:1px solid var(--kv-line);font:inherit;background:#fff;
}
.kvadro-lead-box .kv-btn{width:100%}
.kvadro-lead-box .kv-alt{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;
}
.kvadro-lead-box .kv-alt a{flex:1;min-width:140px;text-align:center}

.kv-reviews-hero{
  margin:20px auto;
  max-width:920px;
  padding:28px 24px;
  border-radius:20px;
  background:linear-gradient(135deg,#0f766e,#115e59 60%,#164e63);
  color:#fff;
  text-align:center;
  box-shadow:0 18px 40px rgba(15,118,110,.28);
}
.kv-reviews-hero h2{margin:0 0 8px;color:#fff!important;font-size:28px}
.kv-reviews-hero p{margin:0 0 16px;opacity:.92}
.kv-reviews-hero .kv-cta-actions{justify-content:center}

/* Catalog dropdown — opaque fixed panel (JS moves it to body) */
.whb-header,
.whb-main-header,
.whb-general-header,
.whb-row,
.whb-flex-row,
.whb-column,
.wd-header-cats,
.whb-header-bottom,
.whb-header-bottom-inner{
  overflow:visible!important;
}
.wd-header-cats{position:relative;z-index:600!important}
/* Hide native in-header dropdown; JS opens .kv-cats-panel on body */
.wd-header-cats > .wd-dropdown-cats{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.kv-cats-panel.wd-dropdown-cats,
.kv-cats-panel{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  color:#152028!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  isolation:isolate!important;
  mix-blend-mode:normal!important;
}
.kv-cats-panel .menu,
.kv-cats-panel .wd-nav-vertical,
.kv-cats-panel .wd-nav-vertical > li,
.kv-cats-panel .wd-nav-vertical > li > a,
.kv-cats-panel .container,
.kv-cats-panel .wd-entry-content,
.kv-cats-panel .wd-dropdown-menu,
.kv-cats-panel .wd-sub-menu{
  background:#ffffff!important;
  background-color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
  color:#152028!important;
  mix-blend-mode:normal!important;
}
.kv-cats-panel .wd-nav-vertical > li > a{
  display:flex!important;
  align-items:center;
  padding:12px 16px!important;
  font-weight:600!important;
}
.kv-cats-panel .wd-nav-vertical > li > a:hover{
  background:#eef8f6!important;
  background-color:#eef8f6!important;
  color:#0f766e!important;
}
.kv-cats-panel .wd-dropdown-menu{
  position:static!important;
  transform:none!important;
  pointer-events:auto!important;
  box-shadow:none!important;
  margin:0!important;
  padding:0 0 6px!important;
  display:none!important;
}
.kv-cats-panel .menu-item-has-children.kv-sub-open > .wd-dropdown-menu,
.kv-cats-panel .menu-item-has-children:hover > .wd-dropdown-menu{
  display:block!important;
}
.kv-cats-panel .wd-dropdown-menu,
.kv-cats-panel .wd-sub-menu{
  background:#f3faf8!important;
  background-color:#f3faf8!important;
}
.kv-cats-panel .wd-sub-menu a{
  display:block!important;
  padding:8px 16px 8px 28px!important;
  color:#334155!important;
  font-weight:500!important;
  background:transparent!important;
}
.kv-cats-veil{
  position:fixed;inset:0;z-index:100040;
  background:rgba(10,18,22,.45)!important;
  backdrop-filter:none!important;
}
.kv-cta-strip{position:relative;z-index:1}
.whb-header.kv-cats-raised,
.whb-main-header{z-index:900!important}

/* ========== Mobile optimization ========== */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
img, video, iframe, .attachment-full, .wp-post-image{
  max-width:100%;
  height:auto;
}

@media (max-width: 1024px){
  .kv-cta-strip{
    margin:10px 12px;
    padding:14px;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .kv-cta-strip p{
    font-size:15px;
    line-height:1.35;
    text-align:center;
  }
  .kv-cta-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .kv-cta-actions .kv-btn,
  .kv-cta-strip .kv-btn{
    width:100%;
    min-height:46px;
    font-size:15px;
  }

  .kv-fab-dock{
    right:10px;
    bottom:calc(64px + env(safe-area-inset-bottom, 0px));
    gap:8px;
  }
  .kv-fab{
    width:48px;
    height:48px;
    padding:0;
    justify-content:center;
    border-radius:50%;
  }
  .kv-fab .kv-hide-sm{display:none!important}

  .kv-modal-backdrop{
    padding:0;
    align-items:flex-end;
  }
  .kv-modal{
    width:100%;
    max-height:92vh;
    overflow:auto;
    border-radius:18px 18px 0 0;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling:touch;
  }
  .kv-modal h3{font-size:20px}
  .kv-modal-extra,
  .kv-modal-actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px!important;
  }
  .kv-modal-extra .kv-btn,
  .kv-modal-actions .kv-btn{
    width:100%;
    min-height:44px;
  }

  .kvadro-lead-box{
    margin:0 8px 16px;
    padding:14px;
  }
  .kvadro-lead-box .kv-alt{
    display:grid;
    grid-template-columns:1fr;
  }
  .kvadro-lead-box .kv-alt a{min-width:0}

  /* Bottom toolbar: fit all items, replace cramped compare */
  .wd-toolbar{
    display:flex!important;
    justify-content:space-around!important;
    align-items:center!important;
    gap:0!important;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px))!important;
    height:auto!important;
    min-height:56px;
    box-sizing:border-box;
    z-index:99990!important;
  }
  .wd-toolbar .wd-toolbar-item,
  .wd-toolbar .wd-tools-element{
    flex:1 1 0!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .wd-toolbar a{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px;
    padding:4px 2px!important;
  }
  .wd-toolbar .wd-toolbar-label{
    font-size:11px!important;
    line-height:1.1!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
  }
  .wd-toolbar .wd-header-compare{display:none!important}

  /* Header / logo */
  .whb-header .wd-logo img,
  .whb-header .site-logo img,
  header img.attachment-full{
    max-height:36px!important;
    width:auto!important;
  }
  .whb-main-header,
  .whb-general-header{
    padding-left:4px!important;
    padding-right:4px!important;
  }

  /* Typography / hero */
  .elementor-heading-title,
  h1.elementor-heading-title{
    font-size:clamp(22px, 7vw, 32px)!important;
    line-height:1.2!important;
    word-break:break-word;
  }
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p{
    font-size:15px!important;
    line-height:1.45!important;
  }

  /* Product grids */
  .products.wd-products,
  .wd-products.grid-columns-3,
  .wd-products.grid-columns-4{
    --wd-col-sm:2!important;
  }
  .wd-product .wd-entities-title,
  .woocommerce-loop-product__title{
    font-size:13px!important;
    line-height:1.25!important;
  }
  .product-image-summary,
  .woocommerce-product-gallery,
  .summary{
    width:100%!important;
    max-width:100%!important;
  }
  .single_add_to_cart_button,
  .cart .button{
    width:100%!important;
    min-height:48px!important;
  }

  /* Videos */
  .elementor-video,
  video.elementor-video{
    width:100%!important;
    max-height:56vw!important;
    object-fit:cover;
  }

  /* Catalog panel full-bleed on phones */
  .kv-cats-panel{
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
  }

  .kv-store-row{
    flex-wrap:wrap;
  }
  .kv-store-row .kv-btn{width:100%}

  .kv-reviews-hero{
    margin:12px;
    padding:20px 16px;
  }
  .kv-reviews-hero h2{font-size:22px!important}
  .kv-reviews-hero .kv-cta-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  /* Space above bottom toolbar so content isn't hidden */
  .main-page-wrapper,
  .site-content,
  #main{
    padding-bottom:72px;
  }

  /* Side mobile menu readability */
  .mobile-nav .wd-nav a,
  .wd-nav-mobile a,
  .wd-side-hidden a{
    min-height:44px;
    display:flex!important;
    align-items:center;
  }
}

@media (max-width: 480px){
  .kv-fab-dock{right:8px}
  .wd-toolbar .wd-toolbar-label{font-size:10px!important}
  .elementor-button{
    min-height:44px!important;
  }
}

.wd-header-wishlist .wd-tools-count{
  position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;background:var(--kv-accent);color:#fff;font-size:11px;line-height:16px;text-align:center;
}
.wd-header-wishlist{position:relative}
.wd-header-wishlist a{position:relative}
.kv-toolbar-tg .wd-tools-icon{display:flex;align-items:center;justify-content:center}

.kv-toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);
  background:#152028;color:#fff;padding:12px 18px;border-radius:999px;
  font:600 14px Segoe UI,Arial,sans-serif;opacity:0;pointer-events:none;
  z-index:100001;transition:opacity .2s ease, transform .2s ease;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.kv-toast.is-on{opacity:1;transform:translateX(-50%) translateY(0)}

.kv-store-box{
  margin:18px 0 28px;padding:20px;border-radius:18px;background:#fff;
  border:1px solid rgba(15,118,110,.16);box-shadow:0 10px 28px rgba(16,40,36,.06);
}
.kv-store-box h2{margin:0 0 14px}
.kv-store-row{
  display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(21,32,40,.08);
}
.kv-store-row img,.kv-store-ph{width:64px;height:64px;object-fit:cover;border-radius:10px;background:#eef2f1}
.kv-store-meta{flex:1;min-width:0}
.kv-store-meta a{color:var(--kv-ink);font-weight:700;text-decoration:none}

.kv-modal-extra{margin:0 0 8px}
.kv-modal-extra .kv-btn{font-size:13px;padding:10px 12px}
.kv-modal-tg-bar{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;
  border-top:1px solid rgba(21,32,40,.1);
}
.wd-wishlist-btn a.added span{color:var(--kv-accent)!important;font-weight:700}
