/* =====================================================================
   KISO — High‑End Restyle (Bootstrap 5)
   Luxe, stilistisch rustig, toegankelijk en animation‑safe
   ===================================================================== */

/* ---------------------------------
   Design tokens / CSS variables
---------------------------------- */
:root{
  /* Brand (gedempt warm oranje blijft leidend) */
  --kiso-primary: #ff6a3c;               /* iets zachter dan #ff6600 */
  --kiso-primary-600: #e55c2f;
  --kiso-primary-500: #ff6a3c;
  --kiso-primary-300: #ffc4ad;
  --kiso-primary-100: rgba(255,106,60,.10);

  /* Neutrals / ink */
  --kiso-dark: #0b0f1c;
  --kiso-ink: #111827;                   /* iets dieper voor luxe contrast */
  --kiso-muted: #6b7280;                 /* subtiel grijs voor body copy */
  --kiso-border: #e7eaf3;                /* zachtere randen */
  --kiso-bg: #f6f8fb;                    /* elegante pagina‑achtergrond */
  --kiso-surface: #ffffff;               /* standaard surface */

  /* Radii & shadows (realistisch, niet schreeuwerig) */
  --kiso-radius: 14px;
  --kiso-radius-xl: 18px;
  --kiso-shadow-sm: 0 8px 24px rgba(3,7,18,.06), 0 1px 0 rgba(17,24,39,.04);
  --kiso-shadow-md: 0 16px 40px rgba(2,6,23,.10), 0 4px 12px rgba(2,6,23,.06);
  --kiso-shadow-lg: 0 32px 80px -16px rgba(2,6,23,.22), 0 12px 24px -8px rgba(2,6,23,.14);

  /* Motion */
  --kiso-transition-fast: .15s ease;
  --kiso-transition-base: .25s ease;

  /* Elevated surfaces */
  --kiso-glass-bg: rgba(255,255,255,.65);
  --kiso-glass-border: rgba(255,255,255,.25);
}

/* Sync met Bootstrap tokens */
:root{
  --bs-primary: var(--kiso-primary);
  --bs-link-color: var(--kiso-primary);
  --bs-link-hover-color: var(--kiso-primary-600);
}

/* ---------------------------------
   Base / reset / typografie
---------------------------------- */
html { scroll-behavior: smooth; }
body{
  color: var(--kiso-ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
  letter-spacing:.01em;
}
a{ color: inherit; text-decoration: none; transition: color var(--kiso-transition-base); }
a:hover{ color: var(--kiso-primary); }
img{ display:block; max-width:100%; height:auto; }
:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--kiso-primary) 60%, white);
  outline-offset: 2px; border-radius: 6px;
}

.container-narrow{ max-width: 1120px; margin-inline:auto; }
.section{ padding:72px 0; }
.section-sm{ padding:48px 0; }
.section-lg{ padding:96px 0; }
.section-muted{ background: var(--kiso-bg); }
.rounded-xl{ border-radius: var(--kiso-radius-xl); }
.shadow-xl{ box-shadow: var(--kiso-shadow-lg); }

/* ---------------------------------
   Buttons (inclusief “soft” & “ghost” varianten)
---------------------------------- */
.btn{ border-radius: 12px; font-weight:600; letter-spacing:.01em; transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), background-color var(--kiso-transition-base); }
.btn:active{ transform: translateY(1px); }

.btn-primary{
  --bs-btn-bg: var(--kiso-primary);
  --bs-btn-border-color: var(--kiso-primary);
  --bs-btn-hover-bg: var(--kiso-primary-600);
  --bs-btn-hover-border-color: var(--kiso-primary-600);
  --bs-btn-focus-shadow-rgb: 255,106,60;
  box-shadow: 0 8px 26px rgba(255,106,60,.16);
}
.btn-primary:hover{ box-shadow: 0 12px 34px rgba(255,106,60,.24); }

.btn-outline-primary{
  --bs-btn-color: var(--kiso-primary);
  --bs-btn-border-color: var(--kiso-primary);
  --bs-btn-hover-bg: var(--kiso-primary);
  --bs-btn-hover-border-color: var(--kiso-primary);
  --bs-btn-hover-color: #fff;
}

.btn-soft-primary{
  color: var(--kiso-primary);
  background: var(--kiso-primary-100);
  border:1px solid color-mix(in srgb, var(--kiso-primary) 28%, transparent);
}
.btn-soft-primary:hover{
  background: color-mix(in srgb, var(--kiso-primary) 12%, white);
  border-color: color-mix(in srgb, var(--kiso-primary) 40%, transparent);
}

.btn-ghost{
  background: transparent; border:1px solid var(--kiso-border); color:var(--kiso-ink);
}
.btn-ghost:hover{ border-color: color-mix(in srgb, var(--kiso-primary) 50%, var(--kiso-border)); color:var(--kiso-primary); }

.badge-primary-soft{ background: var(--kiso-primary-100); color: var(--kiso-primary); border:1px solid color-mix(in srgb, var(--kiso-primary) 30%, transparent); }
.text-kiso{ color: var(--kiso-primary)!important; }
.bg-kiso{ background: var(--kiso-primary)!important; }
.border-kiso{ border-color: var(--kiso-primary)!important; }

/* ---------------------------------
   High‑end Topbar (glas + subtiele scheiding)
---------------------------------- */
.kiso-topbar-glass{
  padding:.75rem 0; width:100%; z-index:1030; position:relative;
  background: var(--kiso-glass-bg);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--kiso-glass-border);
  box-shadow: 0 6px 24px rgba(0,0,0,.08);
}
@supports not (backdrop-filter: blur(10px)){
  .kiso-topbar-glass{ background: rgba(255,255,255,.95); }
}
.kiso-topbar-glass .topbar-item{
  color:#2b3143; font-size:.9rem; font-weight:600; display:flex; align-items:center; transition: color var(--kiso-transition-base);
}
.kiso-topbar-glass .topbar-item:hover{ color: var(--kiso-primary); }
.kiso-topbar-glass .topbar-icon{
  color:#525a6a; font-size:.95rem; transition: color var(--kiso-transition-fast), transform var(--kiso-transition-fast);
}
.kiso-topbar-glass .topbar-icon:hover{ color: var(--kiso-primary); transform: translateY(-1px) scale(1.06); }
.topbar-divider{ width:1px; height:18px; background-color: rgba(0,0,0,.08); margin:0 .5rem; }
.topbar-cart-link{ font-size:1.1rem; color:#2b3143; position:relative; }
.topbar-cart-link .cart-count{
  position:absolute; top:-6px; right:-10px; font-size:.65rem; padding:.2em .5em; border-radius:999px;
  background: var(--kiso-primary); color:#fff; box-shadow:0 6px 18px rgba(255,106,60,.25);
}

/* Swiper desktop */
.kiso-topbar-swiper .swiper-wrapper{ display:flex; flex-wrap:nowrap; gap:1.25rem; }
.kiso-topbar-swiper .swiper-slide{ width:auto; }

/* Mobile */
@media (max-width: 767.98px){
  .kiso-topbar-glass .container{ justify-content:flex-start!important; }
  .kiso-topbar-swiper{ width:100%; }
  .kiso-topbar-swiper .swiper-slide{ width:100%; display:flex; justify-content:flex-start; text-align:left; }
  .topbar-right{ display:none!important; }
}

/* ---------------------------------
   Header / Navbar
---------------------------------- */
.site-header{ background:#fff; border-bottom:1px solid var(--kiso-border); }
.navbar{ position:relative; z-index:1030; transition: box-shadow var(--kiso-transition-fast), background var(--kiso-transition-fast); }
.is-scrolled .navbar{
  background: rgba(255,255,255,.86);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: var(--kiso-shadow-sm);
}
.navbar .navbar-brand img{ max-height:52px; width:auto; }
.navbar.navbar-light .navbar-nav .nav-link{ color:var(--kiso-ink); font-weight:600; }
.navbar.navbar-light .navbar-nav .nav-link:hover,
.navbar.navbar-light .navbar-nav .nav-link:focus{ color:var(--kiso-primary); }
.navbar .nav-link.active,
.navbar .menu-item.current-menu-item > .nav-link,
.navbar .menu-item.current-menu-ancestor > .nav-link{ color: var(--kiso-primary)!important; }
.navbar .btn{ margin-left:.25rem; }

/* Dropdowns (floating cards) */
.dropdown-menu{
  border:1px solid var(--kiso-border);
  border-radius: var(--kiso-radius);
  box-shadow: var(--kiso-shadow-md);
  padding:.5rem;
  animation: kisoDropdown .16s ease;
  transform-origin: top center;
}
@keyframes kisoDropdown{ from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none} }
.dropdown-item{ border-radius:10px; }
.dropdown-item:hover, .dropdown-item:focus{ background: var(--kiso-primary-100); color: var(--kiso-primary); }
.dropdown-submenu{ position:relative; }
.dropdown-submenu > .dropdown-menu{ top:0; left:100%; margin-inline:.25rem; }

/* Offcanvas (mobile nav) */
.offcanvas{ background: var(--kiso-dark); color:#fff; }
.offcanvas .offcanvas-title{ color:#fff; }
.offcanvas .navbar-nav .nav-link{ color:#e5e7eb; opacity:.94; font-weight:600; }
.offcanvas .navbar-nav .nav-link:hover{ color:#fff; opacity:1; }

/* ---------------------------------
   Mega menu
---------------------------------- */
.dropdown-mega.position-static .dropdown-menu.mega-menu{
  width:min(1140px, calc(100vw - 2rem));
  left:50%; transform:translateX(-50%);
  margin-top:.5rem; border:1px solid var(--kiso-border);
  border-radius: var(--kiso-radius);
  box-shadow: 0 20px 60px rgba(16,24,40,.12);
  padding: 1.25rem 1.25rem 1rem;
}
.dropdown-mega .dropdown-menu .dropdown-item{ border-radius:10px; padding:.55rem .8rem; }
.dropdown-mega .dropdown-menu .dropdown-item:hover{ background: var(--kiso-primary-100); color: var(--kiso-primary); }
.mega-menu h6{ letter-spacing:.04em; margin-bottom:.5rem; color: var(--kiso-muted); font-weight:700; }
.highlight-kazumi{
  background: linear-gradient(160deg, rgba(255,106,60,.12), rgba(255,106,60,.06));
  border:1px solid rgba(255,106,60,.22);
  border-radius: var(--kiso-radius);
}

/* Brand logo’s */
.brands-row .brand-logo{
  max-height:34px; width:auto; display:block;
  filter:grayscale(100%); opacity:.85; transition:.2s ease;
}
.brands-row .brand-logo:hover{ filter:none; opacity:1; }

@media (max-width:991.98px){
  .dropdown-mega.position-static .dropdown-menu.mega-menu{
    width:calc(100vw - 1.5rem); left:50%; transform:translateX(-50%); padding:1rem;
  }
}

/* ---------------------------------
   Hero (video + overlay)
---------------------------------- */
.hero{ position:relative; min-height:68vh; display:flex; align-items:center; background:#000; overflow:hidden; }
.hero video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.8; }
.hero .hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.50), rgba(0,0,0,.72)); }
.hero .hero-content{ position:relative; z-index:2; color:#fff; }
.hero .lead{ opacity:.92; }
.hero .badge{ backdrop-filter: blur(3px); }
.kazumi-flag{
  display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .65rem;
  border-radius:999px; background: var(--kiso-primary-100); color:#fff;
  border:1px solid rgba(255,106,60,.42);
}
.kazumi-flag .dot{ width:8px; height:8px; border-radius:50%; background: var(--kiso-primary); }

/* ---------------------------------
   USP strip
---------------------------------- */
.usp{
  background:#fff; border:1px solid var(--kiso-border);
  border-radius: var(--kiso-radius); padding:14px 18px;
}
.usp .icon{
  width:40px; height:40px; border-radius:50%;
  background: var(--kiso-primary-100); color: var(--kiso-primary);
  display:inline-flex; align-items:center; justify-content:center;
}

/* ---------------------------------
   Generic cards
---------------------------------- */
.card-kiso{
  border:1px solid var(--kiso-border); border-radius: var(--kiso-radius);
  overflow:hidden; background: var(--kiso-surface);
  transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), border-color var(--kiso-transition-base);
}
.card-kiso:hover{ transform: translateY(-4px); box-shadow: var(--kiso-shadow-md); border-color: color-mix(in srgb, var(--kiso-primary) 35%, var(--kiso-border)); }

/* ---------------------------------
   Services / tiles
---------------------------------- */
.service-tile{
  border:1px solid var(--kiso-border); border-radius: var(--kiso-radius);
  padding:18px; background:#fff; height:100%;
  transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), border-color var(--kiso-transition-base);
}
.service-tile:hover{ transform: translateY(-4px); box-shadow: var(--kiso-shadow-md); border-color: color-mix(in srgb, var(--kiso-primary) 35%, var(--kiso-border)); }
.service-tile .icon{
  width:52px; height:52px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background: var(--kiso-primary-100); color: var(--kiso-primary); font-size:20px;
}
.service-tile h5{ margin-top:.75rem; }
.service-tile .thumb{ border-radius:12px; overflow:hidden; }
.service-tile .thumb img{ width:100%; height:190px; object-fit:cover; }

/* ---------------------------------
   Brands carousel
---------------------------------- */
.brand-logo{ height:46px; max-width:160px; object-fit:contain; filter:grayscale(100%); opacity:.85; transition: transform .2s ease, filter .2s ease, opacity .2s ease; }
.brand-logo:hover{ filter:none; opacity:1; transform:scale(1.05); }
#brandsCarousel .carousel-indicators [data-bs-target]{ width:10px; height:10px; border-radius:50%; background-color: rgba(0,0,0,.25); }
#brandsCarousel .carousel-indicators .active{ background-color: var(--kiso-primary); }
#brandsCarousel .carousel-item .d-flex{ gap:1.75rem; }
@media (min-width:992px){ .brand-logo{ height:54px; } }
@media (max-width:575.98px){ .brand-logo{ width:128px; height:48px; } #brandsCarousel .carousel-item .d-flex{ gap:1.25rem; } }

/* ---------------------------------
   Testimonials
---------------------------------- */
.testimonial{
  border:1px solid var(--kiso-border); border-radius: var(--kiso-radius);
  background:#fff; padding:20px; box-shadow:0 2px 12px rgba(2,6,23,.04);
}
.testimonial .avatar{
  width:64px; height:64px; border-radius:50%; overflow:hidden; margin-right:12px; border:2px solid var(--kiso-primary-100);
}

/* ---------------------------------
   Blog cards
---------------------------------- */
.blog-card{
  border:1px solid var(--kiso-border); border-radius: var(--kiso-radius);
  overflow:hidden; background:#fff;
  transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), border-color var(--kiso-transition-base);
}
.blog-card:hover{ transform: translateY(-4px); box-shadow: var(--kiso-shadow-md); border-color: color-mix(in srgb, var(--kiso-primary) 35%, var(--kiso-border)); }
.blog-card .thumb{ max-height:220px; overflow:hidden; }
.blog-card .thumb img{ width:100%; height:220px; object-fit:cover; }

/* ---------------------------------
   Footer (diep & rustig)
---------------------------------- */
.site-footer{ background: linear-gradient(180deg, #0a0e19 0%, #0b0f1c 100%); color:#d0d6e0; }
.site-footer .footer-top{ padding:64px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.site-footer .footer-bottom{ padding:22px 0; }
.site-footer .widgettitle, .site-footer .widget-title{ color:#fff; margin-bottom:1rem; font-size:1rem; letter-spacing:.02em; }
.site-footer .menu a, .site-footer .widget a{ color:#d0d6e0; opacity:.92; }
.site-footer .menu a:hover, .site-footer .widget a:hover{ color:#fff; opacity:1; }
.footer-social .icon{
  width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background: #0f172a; color:#fff; margin-right:.5rem; transition: transform var(--kiso-transition-fast), background var(--kiso-transition-base);
  box-shadow: 0 8px 26px rgba(0,0,0,.18);
}
.footer-social .icon:hover{ transform: translateY(-3px); background: var(--kiso-primary); }

/* ---------------------------------
   Forms / inputs (+ header search)
---------------------------------- */
.form-control, .form-select{ border-radius:12px; border-color:#e6eaf0; }
.form-control:focus, .form-select:focus{ border-color: var(--kiso-primary); box-shadow: 0 0 0 .25rem rgba(255,106,60,.15); }
#headerSearch .form-control{ border-radius:12px; }
#headerSearch .btn{ border-radius:12px; }

/* ==================================================
   Offerte Survey – High‑End
================================================== */
.kiso-offerte-modal{ border:0; border-radius: var(--kiso-radius-xl); overflow:hidden; box-shadow: var(--kiso-shadow-lg); }
.kiso-offerte__hero{ position:relative; background:#0c0f1c; color:#fff; isolation:isolate; }
.kiso-offerte__hero.has-bg::before{ content:""; position:absolute; inset:0; background-image:var(--hero-bg); background-size:cover; background-position:center; opacity:.28; z-index:-2; }
.kiso-offerte__hero::after{ content:""; position:absolute; inset:0; background: radial-gradient(1100px 400px at 10% -15%, rgba(255,106,60,.28), transparent); z-index:-1; }
.kiso-offerte__hero .progress{ height:10px; border-radius:999px; background:#1c2234; }
.kiso-offerte__hero .progress-bar{ background: var(--kiso-primary); }
.kiso-offerte__body .card.kiso-review{ border-radius: var(--kiso-radius); background:#f8fafc; }

/* Steps */
.kiso-step{ display:none; }
.kiso-step.is-active{ display:block; animation:kisoFadeIn .35s ease; }
.kiso-step.anim-in{ animation:kisoSlideUp .4s ease; }
@keyframes kisoFadeIn{ from{opacity:0} to{opacity:1} }
@keyframes kisoSlideUp{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }

/* Tiles Premium */
.kiso-tile{ position:relative; border:1px solid var(--kiso-border); border-radius: var(--kiso-radius); overflow:hidden; cursor:pointer; background:#fff; transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), border-color var(--kiso-transition-base); outline:0; }
.kiso-tile:focus-visible{ box-shadow:0 0 0 .25rem rgba(255,106,60,.18); }
.kiso-tile__media img{ width:100%; height:110px; object-fit:cover; display:block; }
.kiso-tile__body{ position:relative; padding:12px 14px; display:flex; align-items:center; gap:.6rem; }
.kiso-tile__icon{ width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background: var(--kiso-primary-100); color: var(--kiso-primary); }
.kiso-tile__label{ font-weight:700; }
.kiso-tile__check{ margin-left:auto; transform:scale(.6); opacity:0; transition: transform var(--kiso-transition-fast), opacity var(--kiso-transition-fast); }
.kiso-tile.is-active{ border-color: color-mix(in srgb, var(--kiso-primary) 45%, var(--kiso-border)); box-shadow: var(--kiso-shadow-md); transform: translateY(-2px); }
.kiso-tile.is-active .kiso-tile__icon{ background: var(--kiso-primary); color:#fff; }
.kiso-tile.is-active .kiso-tile__check{ opacity:1; transform:scale(1); }
.kiso-tile.pulse-in{ animation:kisoPulse .26s ease; }
@keyframes kisoPulse{ from{transform:scale(.98)} to{transform:scale(1)} }

/* Toast / feedback */
.kiso-toast{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px);
  background:#111; color:#fff; padding:10px 14px; border-radius:10px; opacity:0; pointer-events:none;
  box-shadow:0 8px 30px rgba(0,0,0,.2); z-index:9999; transition: opacity .2s ease, transform .2s ease;
}
.kiso-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.glow-in{ animation:glowIn 1.2s ease; }
@keyframes glowIn{ 0%{ box-shadow:0 0 0 0 rgba(255,106,60,0) } 40%{ box-shadow:0 0 0 .25rem rgba(255,106,60,.18) } 100%{ box-shadow:none } }

/* Success screen */
.kiso-success .display-4{ font-size:clamp(2.4rem, 2vw + 1.6rem, 3rem); }

/* ---------------------------------
   WooCommerce basics
---------------------------------- */
.woocommerce ul.products{ display:flex; flex-wrap:wrap; gap:16px; list-style:none; margin:0; padding:0; }
.woocommerce ul.products li.product{
  border:1px solid var(--kiso-border); border-radius: var(--kiso-radius); padding:16px; width:calc(25% - 12px); display:block;
  transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), border-color var(--kiso-transition-base);
}
.woocommerce ul.products li.product:hover{ transform: translateY(-3px); box-shadow: var(--kiso-shadow-sm); border-color: color-mix(in srgb, var(--kiso-primary) 30%, var(--kiso-border)); }
.woocommerce ul.products li.product .button{ background: var(--kiso-primary); color:#fff; border:none; border-radius:10px; box-shadow:0 8px 24px rgba(255,106,60,.16); }
.woocommerce .products .product .price{ font-weight:700; }
.woocommerce div.product .summary .price{ font-size:1.25rem; font-weight:800; }
.single-product .cart .button, .woocommerce ul.products li.product .button{ border-radius:12px; }

/* ---------------------------------
   Page hero
---------------------------------- */
.page-hero{ min-height:240px; overflow:hidden; }
.page-hero-bg{ background-size:cover; background-position:center; filter:brightness(.86); }
.page-hero-overlay{ background: linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.66)); }
.page-hero .display-5, .page-hero h1, .page-hero .breadcrumbs{ color:#fff; }

/* ---------------------------------
   Airco Vergelijker helpers
---------------------------------- */
.ac-compare .compare-matrix .table thead th,
.ac-compare .compare-matrix .table tfoot th,
.ac-compare .compare-matrix .table tfoot td{ position:sticky; top:0; z-index:2; background:#fff; }
.ac-compare .compare-matrix .sticky-col{ position:sticky; left:0; z-index:3; border-right:1px solid var(--kiso-border); background:#fff; }
.ac-compare .compare-matrix table{ min-width:760px; }
.ac-compare .compare-matrix td, .ac-compare .compare-matrix th{ white-space:nowrap; }
@media (max-width:991.98px){ .ac-compare .compare-matrix table{ min-width:680px; } }
@media (max-width:575.98px){ .ac-compare .compare-matrix table{ min-width:620px; } }

/* ---------------------------------
   Blog & categories scroller
---------------------------------- */
.kiso-horizontal{ display:flex; gap:16px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; padding-bottom:4px; }
.kiso-horizontal > *{ flex:0 0 auto; width:280px; scroll-snap-align:start; }
@media (min-width:576px){ .kiso-horizontal > *{ width:300px; } }
@media (min-width:992px){ .kiso-horizontal > *{ width:320px; } }
.kiso-card{
  border:1px solid var(--kiso-border); border-radius: var(--kiso-radius); overflow:hidden; background:#fff;
  transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base), border-color var(--kiso-transition-base);
}
.kiso-card:hover{ transform: translateY(-3px); box-shadow: var(--kiso-shadow-md); border-color: color-mix(in srgb, var(--kiso-primary) 35%, var(--kiso-border)); }
.kiso-ig-item{ display:block; border:1px solid var(--kiso-border); border-radius:12px; overflow:hidden; background:#fff; }
.kiso-ig-item img{ width:100%; height:220px; object-fit:cover; display:block; }

/* ---------------------------------
   Branding / logos in header/footer
---------------------------------- */
.navbar .brand-logo{ max-height:52px; height:auto; }
.site-footer .brand-logo{ max-height:56px; height:auto; }
.brand-logo--dark[data-fallback-invert="1"]{ filter: invert(1) brightness(1.15) contrast(1.05); }
.certification img{ max-height:40px; height:auto; filter: grayscale(100%); opacity:.85; transition: filter .2s ease, opacity .2s ease; }
.payments img, .payments svg{ max-height:32px; filter: grayscale(100%); opacity:.85; transition: filter .2s ease, opacity .2s ease; }
.certification img:hover, .payments svg:hover{ filter:none; opacity:1; }

/* ---------------------------------
   FAQ Tabs – Premium
---------------------------------- */
.kiso-faq-tabs{
  background:#fff; border-radius:1.25rem; padding:2.5rem;
  box-shadow:0 12px 32px rgba(0,0,0,.08);
  transition: box-shadow var(--kiso-transition-base), transform var(--kiso-transition-fast);
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
}
.kiso-faq-tabs:hover{ transform: translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.10); }

.kiso-faq-tabs .nav-pills{ gap:.75rem; }
.kiso-faq-tabs .nav-pills .nav-link{
  border-radius:40px; padding:.7rem 1.6rem; font-weight:700; font-size:.95rem;
  color:#444; background:#f5f7fa; border:1px solid #e4e7eb; transition: all var(--kiso-transition-base);
}
.kiso-faq-tabs .nav-pills .nav-link:hover{
  background:#fff1e9; color:#f66000; border-color:#ffc9a7; box-shadow:0 4px 10px rgba(246,96,0,.15);
}
.kiso-faq-tabs .nav-pills .nav-link.active{
  background: linear-gradient(135deg, #f66000, #ff7b26); color:#fff!important; border:none; box-shadow:0 6px 18px rgba(246,96,0,.35);
}

.kiso-faq-tabs .accordion-item{
  border:none; margin-bottom:1rem; border-radius:1rem; overflow:hidden; background:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.06); transition: box-shadow var(--kiso-transition-base);
}
.kiso-faq-tabs .accordion-item:hover{ box-shadow:0 6px 20px rgba(0,0,0,.1); }
.kiso-faq-tabs .accordion-button{
  font-weight:700; font-size:1rem; padding:1.1rem 1.4rem; background:#f9fafb; color:#222; border:none; box-shadow:none; transition: background var(--kiso-transition-base), color var(--kiso-transition-base);
}
.kiso-faq-tabs .accordion-button:not(.collapsed){
  background: linear-gradient(135deg, #f66000, #ff7b26); color:#fff;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.2);
}
.kiso-faq-tabs .accordion-button::after{ filter:brightness(.6); transition: transform var(--kiso-transition-fast), filter var(--kiso-transition-fast); }
.kiso-faq-tabs .accordion-button:not(.collapsed)::after{ filter:brightness(1); transform: rotate(-180deg); }
.kiso-faq-tabs .accordion-body{ padding:1.25rem 1.4rem; font-size:.95rem; color:#555; line-height:1.7; background:#fff; border-top:1px solid #f1f1f1; }

@media (max-width:768px){
  .kiso-faq-tabs{ padding:1.5rem; }
  .kiso-faq-tabs .nav-pills{ flex-wrap:wrap; justify-content:center; }
  .kiso-faq-tabs .nav-pills .nav-link{ flex:1 1 auto; text-align:center; font-size:.9rem; margin-bottom:.5rem; }
}

/* ---------------------------------
   Premium Landing / Daisekai – CTA’s, checks
---------------------------------- */
.daisekai-premium .object-fit-cover{ object-fit:cover; }
.daisekai-premium .brochure-banner:hover{ box-shadow:0 12px 30px rgba(0,0,0,.08); }
.daisekai-premium .card .badge{ font-weight:700; letter-spacing:.01em; }
.daisekai-premium .card .h5{ letter-spacing:.01em; }
.daisekai-premium .ratio{ background:#fff; }

.daisekai-premium .btn.rounded-pill, .premium-landing .btn.rounded-pill{ border-radius:9999px; }
.daisekai-premium .btn-success{ box-shadow:0 6px 18px rgba(16,185,129,.15); }

.kiso-checks li{ position:relative; padding-left:1.8rem; margin:.4rem 0; }
.kiso-checks li i{ position:absolute; left:0; top:.15rem; width:1.25rem; text-align:center; opacity:.9; }

.premium-landing .object-fit-cover{ object-fit:cover; }
.premium-landing .btn-success{
  box-shadow:0 8px 26px rgba(16,185,129,.18); transition: transform var(--kiso-transition-fast), box-shadow var(--kiso-transition-base);
}
.premium-landing .btn-success:hover{ transform: translateY(-1px); box-shadow:0 12px 34px rgba(16,185,129,.24); }
.premium-landing .btn-primary{ box-shadow:0 8px 26px rgba(13,110,253,.15); }
.premium-landing .btn-primary:hover{ transform: translateY(-1px); box-shadow:0 12px 34px rgba(13,110,253,.22); }

.kiso-advantages .kiso-tabs .nav-link{ font-weight:700; padding:.85rem 1.1rem; border-top-left-radius:1rem; border-top-right-radius:1rem; }
.kiso-advantages .kiso-tabs .nav-link.active{ background:#fff; border-color:#dee2e6 #dee2e6 #fff; }

.premium-sticky-cta{ position:fixed; left:0; right:0; bottom:0; display:flex; z-index:1050; box-shadow:0 -10px 24px rgba(0,0,0,.08); }

/* ---------------------------------
   Offerte Modal – Responsive polish
---------------------------------- */
.kiso-offerte-modal-premium .modal-dialog{ margin:.5rem; width:auto; }
.kiso-offerte-modal-premium .modal-content{
  height: calc(100vh - 1rem);
  display:flex; flex-direction:column; border-radius:1rem; overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.2); border:none;
}
.kiso-offerte-modal-premium .modal-body{ padding:0; flex-grow:1; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.kiso-offerte-modal-premium .modal-header{ position:absolute; top:1rem; right:1rem; z-index:10; padding:0; }
.kiso-offerte-modal-premium .btn-close-custom{
  background: rgba(255,255,255,.2); border:none; border-radius:50%; width:40px; height:40px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem; transition: all var(--kiso-transition-base); opacity:.9;
}
.kiso-offerte-modal-premium .btn-close-custom:hover{ background: rgba(255,255,255,.35); transform: rotate(90deg); }

.kiso-offerte__hero{ background-size:cover; background-position:center; position:relative; color:#fff; padding:3rem 1.5rem; display:flex; align-items:center; min-height:220px; }
.kiso-offerte__hero-layer{ background: linear-gradient(to bottom, rgba(0,0,0,.6) 0%, rgba(0,0,0,.8) 100%); position:absolute; inset:0; z-index:1; }
.kiso-offerte__hero .container{ position:relative; z-index:2; }
.kiso-offerte__hero h2{ font-weight:800; text-shadow:0 2px 8px rgba(0,0,0,.5); font-size: clamp(1.8rem, 1vw + 1.2rem, 2.6rem); }
.kiso-offerte__hero p.lead{ font-size:1.05rem; opacity:.95; }

.kiso-progress .progress{ height:8px; background-color: rgba(255,255,255,.22); border-radius:6px; }
.kiso-progress .progress-bar{ background-color: var(--kiso-primary); border-radius:6px; transition: width .4s ease-in-out; }

.kiso-offerte__body{ background:#f8f9fa; padding: clamp(2rem, 2vw + 1rem, 5rem) clamp(1.5rem, 1.5vw + .5rem, 3rem); }
.kiso-step{ display:none; animation: fadeIn .5s ease-out; }
.kiso-step.is-active{ display:block; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(20px)} to{opacity:1; transform:none} }

.form-label{ font-weight:700; color:#343a40; }
.kiso-readonly-input{ background:#e9ecef; cursor:not-allowed; }
.kiso-readonly-input:focus{ box-shadow:none; border-color:#ced4da; }

/* Premium Select‑Tiles */
.kiso-tile--premium{
  background:#fff; border:1px solid #e9ecef; border-radius:.75rem; overflow:hidden; box-shadow:0 4px 15px rgba(0,0,0,.05);
  transition: all var(--kiso-transition-base); height:100%; cursor:pointer; display:flex; flex-direction:column;
}
.kiso-tile--premium:hover{ border-color: var(--kiso-primary); box-shadow:0 10px 26px rgba(255,106,60,.15); transform: translateY(-5px); }
.kiso-tile--premium.is-selected{ border-color:var(--kiso-primary); box-shadow:0 12px 28px rgba(255,106,60,.25); background: rgba(255,106,60,.05); }
.kiso-tile__media{ height:120px; overflow:hidden; position:relative; }
.kiso-tile__media img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.kiso-tile--premium:hover .kiso-tile__media img{ transform: scale(1.05); }
.kiso-tile__overlay{ position:absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 50%); }
.kiso-tile__body{ padding:1.5rem; position:relative; flex-grow:1; }
.kiso-tile__icon{
  background: var(--kiso-primary); color:#fff; border-radius:50%; width:45px; height:45px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; position:absolute; top:-22px; left:1.5rem; box-shadow:0 4px 10px rgba(255,106,60,.3);
}
.kiso-tile__label{ margin-top:1.5rem; margin-bottom:.5rem; color:#212529; font-weight:800; }
.kiso-tile__description{ font-size:.9rem; line-height:1.55; color:#6c757d; }
.kiso-tile__check{ position:absolute; top:1rem; right:1rem; color:#22c55e; font-size:1.5rem; opacity:0; transform:scale(.5); transition: all var(--kiso-transition-base); }
.kiso-tile--premium.is-selected .kiso-tile__check{ opacity:1; transform:scale(1); }
.service-questions{ display:none; animation: fadeIn .5s ease-out; }

/* Navigatieknoppen in offerte */
.kiso-nav{ display:flex; flex-direction:column; gap:1rem; }
.kiso-nav .d-flex{ width:100%; justify-content:flex-end; }
.kiso-nav .kiso-nav__button{ font-size:.9rem; padding:.8rem 1.1rem; flex-grow:1; }
.kiso-nav #kisoPrev{ flex-grow:0; width:auto; margin-right:auto; }
.kiso-nav .d-flex .kiso-nav__button{ flex-grow:0; min-width:140px; }

/* Animaties / alerts */
.animated-fade-in{ opacity:0; animation: fadeInSlideUp .8s ease-out forwards; }
.animated-fade-in.delay-1{ animation-delay:.2s; }
.animated-fade-in.delay-2{ animation-delay:.4s; }
@keyframes fadeInSlideUp{ from{opacity:0; transform:translateY(20px)} to{opacity:1; transform:none} }
.alert{ border-radius:.75rem; font-size:.95rem; }

/* Media queries offerte */
@media (min-width:576px){
  .kiso-offerte-modal-premium .modal-dialog{ max-width:540px; }
  .kiso-offerte__body{ padding:3rem 2rem; }
  .kiso-review dt{ text-align:right; }
  .kiso-review dd{ text-align:left; }
}
@media (min-width:768px){
  .kiso-offerte-modal-premium .modal-dialog{ max-width:720px; }
  .kiso-offerte__hero{ padding:4rem 0; }
  .kiso-offerte__hero h2{ font-size:2.4rem; }
  .kiso-offerte__hero p.lead{ font-size:1.12rem; }
  .kiso-offerte__body{ padding:4rem 2.5rem; }
  .kiso-nav{ flex-direction:row; align-items:center; }
  .kiso-nav .kiso-nav__button{ flex-grow:0; }
}
@media (min-width:992px){
  .kiso-offerte-modal-premium .modal-dialog{ max-width:960px; }
  .kiso-offerte__hero{ padding:5rem 0; }
  .kiso-offerte__hero h2{ font-size:3rem; }
  .kiso-offerte__hero p.lead{ font-size:1.25rem; }
  .kiso-offerte__body{ padding:5rem 3rem; }
}
@media (min-width:1200px){ .kiso-offerte-modal-premium .modal-dialog{ max-width:1140px; } }

/* Woo notices */
.woocommerce-notices-wrapper{ margin-bottom:1rem; }
.woocommerce-info, .woocommerce-message, .woocommerce-error{ border-radius:1rem; padding:.75rem 1rem; }

/* ---------------------------------
   Dark theme (optioneel via .theme-dark)
---------------------------------- */
.theme-dark .site-header{ background: var(--kiso-dark); border-color: rgba(255,255,255,.08); }
.theme-dark .navbar .nav-link{ color:#d0d6e0; }
.theme-dark .navbar .nav-link:hover{ color:#fff; }
.theme-dark .brand-logo--light{ display:none; }
.theme-dark .brand-logo--dark{ display:inline-block; }
.theme-dark .site-footer{ background: var(--kiso-dark); }
.theme-dark .site-footer .footer-logo{ max-height:56px; height:auto; }

/* ---------------------------------
   Responsive tweaks
---------------------------------- */
@media (min-width:992px){ .navbar{ padding-top:12px; padding-bottom:12px; } }
@media (max-width:991.98px){
  .hero{ min-height:56vh; }
  .blog-card .thumb img{ height:200px; }
}
@media (max-width:575.98px){
  .hero .display-4, .hero .h1{ font-size:1.8rem; }
  .service-tile .thumb img{ height:160px; }
  #kiso-offerte .card{ border-radius:12px; }
  #kiso-offerte .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mt-4{ flex-direction:column; align-items:stretch; }
  #kiso-offerte .d-flex.align-items-center.justify-content-between.flex-wrap.gap-2.mt-4 .btn{ width:100%; }
}

.kiso-product-hero {
  min-height: 60vh;
  overflow: hidden;
  position: relative;
}
.kiso-product-hero .hero-bg img {
  object-fit: cover;
  height: 100%;
}
.kiso-product-hero .hero-overlay {
  backdrop-filter: brightness(0.6);
}
.kiso-product-hero h1, 
.kiso-product-hero p {
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.kiso-product-content .price {
  font-size: 1.8rem;
  font-weight: 700;


.kiso-product-content{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

/* -----------------------------------------------------
   HERO fallback
----------------------------------------------------- */
[aria-label="Product hero"]{
  background:#f8fafc;
  background-image:var(--kiso-grad-soft);
}
[aria-label="Product hero"] h1{ letter-spacing:-.01em; }
[aria-label="Product hero"] p{ max-width:62ch; }

/* -----------------------------------------------------
   Breadcrumbs & Notices
----------------------------------------------------- */
.woocommerce-breadcrumb{
  margin:0;
  font-size:.9375rem;
  color:#64748b;
}
.woocommerce-breadcrumb a{
  color:#334155;
  text-decoration:none;
}
.woocommerce-breadcrumb a:hover{ color:#0d6efd; }

.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  border:none;
  border-radius:var(--kiso-radius);
  box-shadow:var(--kiso-shadow-sm);
  padding:1rem 1.25rem;
  background:#fff;
}
.woocommerce-message{ background:linear-gradient(0deg,rgba(16,185,129,.08),rgba(16,185,129,.08)),#fff; }
.woocommerce-info{ background:linear-gradient(0deg,rgba(13,110,253,.08),rgba(13,110,253,.08)),#fff; }
.woocommerce-error{ background:linear-gradient(0deg,rgba(220,38,38,.08),rgba(220,38,38,.08)),#fff; }

/* -----------------------------------------------------
   Gallery
----------------------------------------------------- */
.woocommerce-product-gallery{
  border-radius:var(--kiso-radius);
  overflow:hidden;
  border:var(--kiso-border);
}
.woocommerce-product-gallery__wrapper{
  background:#0b1220;
  background-image:radial-gradient(800px 400px at 50% 0%,rgba(14,165,233,.12),transparent 60%);
}
.woocommerce-product-gallery__image{
  display:grid;
  place-items:center;
  padding:1.25rem;
  min-height:420px;
}
.woocommerce-product-gallery__image img{
  width:auto!important;
  max-height:560px;
  object-fit:contain;
  transition:transform .35s ease;
}
.woocommerce-product-gallery__image:hover img{ transform:scale(1.01); }

.flex-control-nav.flex-control-thumbs{
  display:grid!important;
  gap:.5rem;
  padding:.75rem;
  grid-template-columns:repeat(5,1fr);
}
.flex-control-nav.flex-control-thumbs img{
  border-radius:.75rem;
  border:1px solid rgba(255,255,255,.12);
  background:#0b1220;
  aspect-ratio:1/1;
  object-fit:cover;
  opacity:.85;
  transition:opacity .25s ease,box-shadow .25s ease,transform .25s ease;
}
.flex-control-nav.flex-control-thumbs img:hover,
.flex-control-nav.flex-control-thumbs img.flex-active{
  opacity:1;
  box-shadow:0 0 0 3px rgba(13,110,253,.45);
  transform:translateY(-1px);
}

/* Sale flash */
.onsale{
  position:absolute;
  top:.75rem;left:.75rem;
  background:linear-gradient(135deg,#0ea5e9 0%,#22c55e 60%,#9b87f5 100%);
  color:#fff;
  border-radius:999px;
  padding:.35rem .65rem;
  font-weight:700;
  box-shadow:var(--kiso-shadow);
}

/* -----------------------------------------------------
   Summary column (no button styling)
----------------------------------------------------- */
#order{
  border:var(--kiso-border);
  box-shadow:var(--kiso-shadow);
}
#order header .h3{ letter-spacing:-.01em; }
#order .price.h3{
  font-size:clamp(1.5rem,1.2rem + .9vw,2rem);
  background:linear-gradient(90deg,#111827,#0d6efd 60%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:800;
}
.badge.bg-success,.badge.bg-danger{
  padding:.5rem .65rem;
  border-radius:999px;
  font-weight:700;
}
.quantity .qty{ max-width:110px; border-radius:999px; }

/* Payment methods (auto detect) */
.kiso-payment-methods img,.mollie-methods img{
  max-height:22px;
  filter:saturate(1.05) contrast(1.05);
  opacity:.9;
  transition:opacity .2s ease;
}
.kiso-payment-methods img:hover,.mollie-methods img:hover{ opacity:1; }

/* -----------------------------------------------------
   Tabs
----------------------------------------------------- */
#productTabs{ border-bottom:none; gap:.35rem; }
#productTabs .nav-link{
  border:var(--kiso-border);
  background:#fff;
  color:#0f172a;
  border-radius:999px;
  padding:.5rem .9rem;
  font-weight:600;
  box-shadow:var(--kiso-shadow-sm);
}
#productTabs .nav-link.active{
  color:#0d6efd;
  box-shadow:0 0 0 3px rgba(13,110,253,.18);
}
#productTabsContent{
  border:var(--kiso-border)!important;
  border-top:0!important;
  background:#fff;
}
#productTabsContent table{
  border:var(--kiso-border);
  border-radius:var(--kiso-radius-sm);
  overflow:hidden;
}
#productTabsContent table th{
  background:#f1f5f9;
  font-weight:700;
}
#productTabsContent table td,#productTabsContent table th{
  padding:.75rem 1rem;
  border-color:rgba(15,23,42,.08);
}

/* -----------------------------------------------------
   Related products sidebar
----------------------------------------------------- */
[aria-label="Gerelateerde producten"]{
  border:var(--kiso-border);
  box-shadow:var(--kiso-shadow);
}
[aria-label="Gerelateerde producten"] ul.products{
  display:grid;
  gap:1rem;
}
[aria-label="Gerelateerde producten"] .product{
  list-style:none;
  margin:0!important;
  border:var(--kiso-border);
  border-radius:var(--kiso-radius-sm);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
[aria-label="Gerelateerde producten"] .product:hover{
  transform:translateY(-2px);
  box-shadow:var(--kiso-shadow);
}

/* -----------------------------------------------------
   Trust Section
----------------------------------------------------- */
.kiso-trust{
  background:
    radial-gradient(1200px 800px at 10% 0%, rgba(14,165,233,.12), transparent 60%),
    radial-gradient(1200px 800px at 100% 100%, rgba(34,197,94,.12), transparent 60%),
    #0b1220;
  color:#e5e7eb;
}
.kiso-trust .display-5{
  background:linear-gradient(135deg,#0ea5e9 0%,#22c55e 60%,#9b87f5 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.kiso-trust .h5{ color:#f8fafc; }
.kiso-trust p{ color:#cbd5e1; }

/* -----------------------------------------------------
   Sticky mobile CTA (layout only)
----------------------------------------------------- */
.kiso-sticky-cta{
  box-shadow:0 -10px 24px rgba(8,15,30,.06);
  backdrop-filter:saturate(1.1) blur(6px);
}

/* -----------------------------------------------------
   Responsive tweaks
----------------------------------------------------- */
@media (max-width:991.98px){
  .flex-control-nav.flex-control-thumbs{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:575.98px){
  .woocommerce-product-gallery__image{ min-height:300px; padding:.75rem; }
}