.elementor-16464 .elementor-element.elementor-element-7e53ebd6{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-3051f57d > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-71f4dcf9{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-22e103e2 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-cdfa312{--display:flex;}.elementor-16464 .elementor-element.elementor-element-1c400b42{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-5f24e69f > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-73a986ad{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-69311e1 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-23da979{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-693b8079 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-7119a6b5{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-4379f63e > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-e46198a{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-8582458 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-4d287458{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-3434a622 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-46eaa759{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-c7e9e42 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-6672bc62{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-27445ccb > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-68c6c0ef{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-16464 .elementor-element.elementor-element-354c26df > .elementor-element-populated{padding:0px 0px 0px 0px;}@media(max-width:767px){.elementor-16464 .elementor-element.elementor-element-43a86b0e{z-index:100;}}/* Start custom CSS for html, class: .elementor-element-64af2ca6 *//* ============================================================
   AWUX VIIKKI — HEADER & STYLING FIX
   PASTE THIS INTO: Elementor → SITE SETTINGS (top-left hamburger
   menu inside Elementor) → Theme Style → Custom CSS
   ============================================================ */

/* CRITICAL: Theme's .site-header { display: flex } makes rows side-by-side. Force block stacking. */
.awux-viikki-page .site-header,
body .awux-viikki-page .site-header,
.elementor-widget-html .awux-viikki-page .site-header {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}
.awux-viikki-page .header-top,
.awux-viikki-page .header-bottom {
  display: block !important;
  width: 100% !important;
}

/* CRITICAL: Force header logo sizes — beats .elementor img overrides */
.awux-viikki-page img.logo-awux,
.awux-viikki-page .logo-stack .logo-awux,
body .awux-viikki-page img.logo-awux {
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 44px !important;
}
.awux-viikki-page img.logo-autosky,
.awux-viikki-page .logo-autosky-stack .logo-autosky,
body .awux-viikki-page img.logo-autosky {
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 44px !important;
}

/* Header top row — proper 3-column grid */
.awux-viikki-page .header-top .container {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 14px 24px !important;
}

/* Phone number — keep single line */
.awux-viikki-page .header-phone {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-self: start !important;
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: #343539 !important;
  font-family: "Barlow Semi Condensed", sans-serif !important;
}
.awux-viikki-page .header-phone .wifi-dot {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
}

/* Logo stack center — both logos visible side by side */
.awux-viikki-page .logo-stack {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  justify-self: center !important;
}
.awux-viikki-page .logo-divider {
  width: 1px !important;
  height: 32px !important;
  background: #DDDDDB !important;
  display: block !important;
}
.awux-viikki-page .logo-autosky-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
.awux-viikki-page .logo-autosky-stack .partner-label {
  font-size: 0.875rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #69727d !important;
  font-weight: 600 !important;
}

/* Language switch right side */
.awux-viikki-page .lang-switch {
  justify-self: end !important;
}

/* Header row 2 — light grey, button + nav */
.awux-viikki-page .header-bottom {
  background: #F3F3F2 !important;
}
.awux-viikki-page .header-bottom .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 24px !important;
  position: relative !important;
}
.awux-viikki-page .header-bottom .nav-cta {
  position: absolute !important;
  left: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.awux-viikki-page .main-nav {
  display: flex !important;
  align-items: center !important;
  gap: 36px !important;
}
.awux-viikki-page .main-nav a {
  color: #343539 !important;
  text-decoration: none !important;
}

/* Buttons — fix invisible blue text */
.awux-viikki-page a.btn-solid,
.awux-viikki-page .btn-solid,
.awux-viikki-page .header-bottom .btn-solid {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
  text-decoration: none !important;
}
.awux-viikki-page a.btn-solid:hover,
.awux-viikki-page .btn-solid:hover {
  background: #343539 !important;
  color: #ffffff !important;
}
.awux-viikki-page a.btn-solid.btn-solid-outline {
  background: transparent !important;
  color: #007854 !important;
  border: 2px solid #007854 !important;
}
.awux-viikki-page a.btn-solid.btn-solid-outline:hover {
  background: #007854 !important;
  color: #ffffff !important;
}

/* Default btn (pill with arrow) — text colors */
.awux-viikki-page a.btn,
.awux-viikki-page .btn {
  text-decoration: none !important;
  color: #343539 !important;
}
.awux-viikki-page a.btn.btn-primary,
.awux-viikki-page .btn.btn-primary {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
}
.awux-viikki-page a.btn.btn-phone,
.awux-viikki-page .btn.btn-phone {
  background: #343539 !important;
  color: #ffffff !important;
  border-color: #343539 !important;
}
.awux-viikki-page a.btn.btn-outline {
  background: #ffffff !important;
  color: #343539 !important;
  border-color: #DDDDDB !important;
}

/* All images in our page — proper sizing */
.awux-viikki-page .intro-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: right center !important;
  max-width: none !important;
}
.awux-viikki-page .one-call-image img {
  width: 100% !important;
  max-width: 420px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}
.awux-viikki-page .feature-image img {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  max-width: none !important;
}
.awux-viikki-page .insurance-logos img {
  max-width: 100% !important;
  height: auto !important;
}
.awux-viikki-page .footer-logos .awux-logo {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
  filter: brightness(0) invert(1) !important;
}
.awux-viikki-page .footer-logos .autosky-logo {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
}
.awux-viikki-page .service-card .icon svg {
  width: 150px !important;
  height: auto !important;
  max-height: 150px !important;
  max-width: none !important;
}

/* Elementor wrappers allow overflow */
.elementor-widget-container,
.elementor-element-populated,
.elementor-widget-html,
.awux-viikki-page,
.awux-viikki-page .site-header {
  overflow: visible !important;
}

/* Full-width sections — override theme max-width */
.awux-viikki-page .site-header,
.awux-viikki-page .site-footer,
.awux-viikki-page section,
.awux-viikki-page .one-call,
.awux-viikki-page .contact-cta,
.awux-viikki-page .insurance,
.awux-viikki-page .hero {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove gap between Elementor sections (header → hero, etc.) */
.elementor-section,
.elementor-top-section,
.elementor-element-populated,
.elementor-widget-html,
.elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* But keep section internal padding from our own styles */
.awux-viikki-page .hero { padding: 80px 0 !important; }
.awux-viikki-page section { padding: 80px 0 !important; }
.awux-viikki-page .services-section,
.awux-viikki-page #palvelut { padding: 80px 0 !important; }
.awux-viikki-page .one-call { padding: 80px 0 !important; }
.awux-viikki-page .contact-cta { padding: 72px 0 !important; }
.awux-viikki-page .insurance { padding: 72px 0 !important; }
.awux-viikki-page .intro { padding: 80px 0 !important; }
.awux-viikki-page .quote-section { padding: 72px 0 !important; }
.awux-viikki-page .site-footer { padding: 64px 0 32px !important; }
/* Header — no big bottom padding */
.awux-viikki-page .site-header { padding: 0 !important; }
.awux-viikki-page .header-top .container { padding: 14px 24px !important; }
.awux-viikki-page .header-bottom .container { padding: 12px 24px !important; }

/* Feature rows */
.awux-viikki-page .feature-row { padding: 56px 0 !important; }

/* Mobile drawer (slide-in from right with nav + lang) */
.awux-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 320px;
  max-width: 88vw;
  height: 100vh;
  background: #ffffff;
  box-shadow: -8px 0 24px rgba(0, 120, 84, 0.15);
  z-index: 10000;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.awux-mobile-drawer.is-open { transform: translateX(0); }
.awux-mobile-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px;
  background: #007854;
  color: #ffffff;
}
.awux-mobile-drawer-head .drawer-title {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 1.25rem; font-weight: 700;
}
.awux-mobile-drawer .drawer-close {
  background: transparent; border: 0; color: #ffffff;
  font-size: 2rem; line-height: 1; cursor: pointer; padding: 0 6px;
}
.awux-mobile-drawer-nav {
  display: flex; flex-direction: column; padding: 8px 0;
}
.awux-mobile-drawer-nav a {
  display: block; padding: 16px 24px;
  color: #343539; text-decoration: none;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600; font-size: 1.125rem;
  border-bottom: 1px solid #DDDDDB;
}
.awux-mobile-drawer-nav a:hover { background: #F3F3F2; color: #007854; }
.awux-mobile-drawer-actions {
  padding: 24px; display: flex; flex-direction: column; gap: 14px; margin-top: auto;
  border-top: 1px solid #DDDDDB;
}
.awux-mobile-drawer-actions .lang-switch {
  align-self: flex-start;
  display: inline-flex;
  border: 1px solid #DDDDDB;
  border-radius: 999px;
  overflow: hidden;
}
.awux-mobile-drawer-actions .lang-switch button {
  background: transparent; border: 0; padding: 8px 18px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600; cursor: pointer; color: #69727d;
}
.awux-mobile-drawer-actions .lang-switch button.active {
  background: #007854; color: #ffffff;
}
.awux-mobile-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.4);
  z-index: 9999; opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
}
.awux-mobile-overlay.is-open { opacity: 1; pointer-events: auto; }
body.awux-drawer-open { overflow: hidden; }

/* Mobile hamburger styling for AWUX */
.mobile-menu-toggle {
  background: #007854 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 10px !important;
  width: 44px !important;
  height: 44px !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
  display: none;
}
.mobile-menu-toggle .bar {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  background: #ffffff !important;
}

/* Mobile responsive */
@media (max-width: 980px) {
  .awux-viikki-page .header-top .container {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 12px 16px !important;
  }
  .awux-viikki-page .header-phone { display: none !important; }
  .awux-viikki-page .logo-stack { justify-self: center !important; gap: 12px !important; }
  .awux-viikki-page img.logo-awux { height: 36px !important; }
  .awux-viikki-page img.logo-autosky { height: 28px !important; }
  .awux-viikki-page .logo-autosky-stack .partner-label { display: none !important; }
  /* Hide lang switcher in desktop header on mobile (it's in the drawer) */
  .awux-viikki-page .header-top .lang-switch { display: none !important; }

  .awux-viikki-page .header-bottom .container {
    justify-content: space-between !important;
    padding: 10px 16px !important;
  }
  .awux-viikki-page .header-bottom .nav-cta {
    position: static !important;
    transform: none !important;
  }
  .awux-viikki-page .main-nav { display: none !important; }
  /* Show hamburger button */
  .awux-viikki-page .mobile-menu-toggle { display: inline-flex !important; }

  /* Hero mobile */
  .awux-viikki-page .hero { min-height: 480px !important; padding: 60px 0 !important; }
  .awux-viikki-page .hero .container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center !important;
    justify-items: center !important;
  }
  .awux-viikki-page .hero-text { padding: 20px 24px !important; margin: 0 auto !important; max-width: 90vw !important; }
  .awux-viikki-page .hero-location,
  .awux-viikki-page .hero-subtitle { text-align: center !important; }
  .awux-viikki-page .hero-cta-block .hero-slogan {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  }
  .awux-viikki-page .hero-cta {
    align-items: center !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
  .awux-viikki-page .hero-cta .btn {
    width: 100% !important;
    max-width: 320px !important;
  }

  /* Intro section stack */
  .awux-viikki-page .intro-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Services 2 column */
  .awux-viikki-page .services-grid,
  .awux-viikki-page .services-grid-3col {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 16px !important;
  }
  .awux-viikki-page .service-card .icon { width: 100px !important; height: 100px !important; }
  .awux-viikki-page .service-card .icon svg { width: 88px !important; max-height: 88px !important; }
  .awux-viikki-page .service-card h3 { font-size: 1.25rem !important; }
  .awux-viikki-page .service-card p { font-size: 1rem !important; }

  /* One-call grid stack */
  .awux-viikki-page .one-call-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    text-align: center !important;
  }
  .awux-viikki-page .one-call-text { max-width: none !important; }
  .awux-viikki-page .one-call p { margin: 0 auto 28px !important; }

  /* Why grid stack */
  .awux-viikki-page .why-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Feature rows stack */
  .awux-viikki-page .feature-row-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .awux-viikki-page .feature-row.reverse .feature-image { order: -1 !important; }

  /* Footer grid */
  .awux-viikki-page .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Contact CTA stack buttons */
  .awux-viikki-page .contact-cta .actions {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  /* Sub-services pills wrap */
  .awux-viikki-page .sub-services-list { gap: 8px !important; }
  .awux-viikki-page .sub-service-pill { padding: 8px 14px !important; font-size: 0.95rem !important; }

  /* Body font slightly smaller on mobile */
  .awux-viikki-page p { font-size: 1.125rem !important; }
  .awux-viikki-page h2 { font-size: 2rem !important; }
  .awux-viikki-page h3 { font-size: 1.4rem !important; }
}

@media (max-width: 600px) {
  .awux-viikki-page .services-grid,
  .awux-viikki-page .services-grid-3col {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 12px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-71f4dcf9 *//* ============================================================
   AWUX VIIKKI — HEADER & STYLING FIX
   PASTE THIS INTO: Elementor → SITE SETTINGS (top-left hamburger
   menu inside Elementor) → Theme Style → Custom CSS
   ============================================================ */

/* CRITICAL: Theme's .site-header { display: flex } makes rows side-by-side. Force block stacking. */
.awux-viikki-page .site-header,
body .awux-viikki-page .site-header,
.elementor-widget-html .awux-viikki-page .site-header {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}
.awux-viikki-page .header-top,
.awux-viikki-page .header-bottom {
  display: block !important;
  width: 100% !important;
}

/* CRITICAL: Force header logo sizes — beats .elementor img overrides */
.awux-viikki-page img.logo-awux,
.awux-viikki-page .logo-stack .logo-awux,
body .awux-viikki-page img.logo-awux {
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 44px !important;
}
.awux-viikki-page img.logo-autosky,
.awux-viikki-page .logo-autosky-stack .logo-autosky,
body .awux-viikki-page img.logo-autosky {
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 44px !important;
}

/* Header top row — proper 3-column grid */
.awux-viikki-page .header-top .container {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 14px 24px !important;
}

/* Phone number — keep single line */
.awux-viikki-page .header-phone {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-self: start !important;
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: #343539 !important;
  font-family: "Barlow Semi Condensed", sans-serif !important;
}
.awux-viikki-page .header-phone .wifi-dot {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
}

/* Logo stack center — both logos visible side by side */
.awux-viikki-page .logo-stack {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  justify-self: center !important;
}
.awux-viikki-page .logo-divider {
  width: 1px !important;
  height: 32px !important;
  background: #DDDDDB !important;
  display: block !important;
}
.awux-viikki-page .logo-autosky-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
.awux-viikki-page .logo-autosky-stack .partner-label {
  font-size: 0.875rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #69727d !important;
  font-weight: 600 !important;
}

/* Language switch right side */
.awux-viikki-page .lang-switch {
  justify-self: end !important;
}

/* Header row 2 — light grey, button + nav */
.awux-viikki-page .header-bottom {
  background: #F3F3F2 !important;
}
.awux-viikki-page .header-bottom .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 24px !important;
  position: relative !important;
}
.awux-viikki-page .header-bottom .nav-cta {
  position: absolute !important;
  left: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.awux-viikki-page .main-nav {
  display: flex !important;
  align-items: center !important;
  gap: 36px !important;
}
.awux-viikki-page .main-nav a {
  color: #343539 !important;
  text-decoration: none !important;
}

/* Buttons — fix invisible blue text */
.awux-viikki-page a.btn-solid,
.awux-viikki-page .btn-solid,
.awux-viikki-page .header-bottom .btn-solid {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
  text-decoration: none !important;
}
.awux-viikki-page a.btn-solid:hover,
.awux-viikki-page .btn-solid:hover {
  background: #343539 !important;
  color: #ffffff !important;
}
.awux-viikki-page a.btn-solid.btn-solid-outline {
  background: transparent !important;
  color: #007854 !important;
  border: 2px solid #007854 !important;
}
.awux-viikki-page a.btn-solid.btn-solid-outline:hover {
  background: #007854 !important;
  color: #ffffff !important;
}

/* Default btn (pill with arrow) — text colors */
.awux-viikki-page a.btn,
.awux-viikki-page .btn {
  text-decoration: none !important;
  color: #343539 !important;
}

/* Mobile drawer Varaa aika button — force white text on green */
.awux-mobile-drawer .btn-solid,
.awux-mobile-drawer a.btn-solid {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
  text-decoration: none !important;
  text-align: center !important;
  display: block !important;
  padding: 14px 24px !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 1.125rem !important;
}

/* Contact CTA buttons on green bg — ALL buttons need readable text */
.awux-viikki-page .contact-cta a.btn,
.awux-viikki-page .contact-cta .btn,
.awux-viikki-page .contact-cta a.btn.btn-primary,
.awux-viikki-page .contact-cta .btn.btn-primary {
  background: #ffffff !important;
  color: #343539 !important;
  border-color: #ffffff !important;
}
.awux-viikki-page .contact-cta .btn::after {
  background-color: #007854 !important;
}
.awux-viikki-page .contact-cta a.btn:hover,
.awux-viikki-page .contact-cta .btn:hover {
  background: #343539 !important;
  color: #ffffff !important;
  border-color: #343539 !important;
}
.awux-viikki-page a.btn.btn-primary,
.awux-viikki-page .btn.btn-primary {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
}
.awux-viikki-page a.btn.btn-phone,
.awux-viikki-page .btn.btn-phone {
  background: #343539 !important;
  color: #ffffff !important;
  border-color: #343539 !important;
}
.awux-viikki-page a.btn.btn-outline {
  background: #ffffff !important;
  color: #343539 !important;
  border-color: #DDDDDB !important;
}

/* All images in our page — proper sizing */
.awux-viikki-page .intro-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: right center !important;
  max-width: none !important;
}
.awux-viikki-page .one-call-image img {
  width: 100% !important;
  max-width: 420px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}
.awux-viikki-page .feature-image img {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  max-width: none !important;
}
.awux-viikki-page .insurance-logos img {
  max-width: 100% !important;
  height: auto !important;
}
.awux-viikki-page .footer-logos .awux-logo {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
  filter: brightness(0) invert(1) !important;
}
.awux-viikki-page .footer-logos .autosky-logo {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
}
.awux-viikki-page .service-card .icon svg {
  width: 150px !important;
  height: auto !important;
  max-height: 150px !important;
  max-width: none !important;
}

/* Elementor wrappers allow overflow */
.elementor-widget-container,
.elementor-element-populated,
.elementor-widget-html,
.awux-viikki-page,
.awux-viikki-page .site-header {
  overflow: visible !important;
}

/* Full-width sections — override theme max-width */
.awux-viikki-page .site-header,
.awux-viikki-page .site-footer,
.awux-viikki-page section,
.awux-viikki-page .one-call,
.awux-viikki-page .contact-cta,
.awux-viikki-page .insurance,
.awux-viikki-page .hero {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove gap between Elementor sections (header → hero, etc.) */
.elementor-section,
.elementor-top-section,
.elementor-element-populated,
.elementor-widget-html,
.elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* But keep section internal padding from our own styles */
.awux-viikki-page .hero { padding: 80px 0 !important; }
.awux-viikki-page section { padding: 80px 0 !important; }
.awux-viikki-page .services-section,
.awux-viikki-page #palvelut { padding: 80px 0 !important; }
.awux-viikki-page .one-call { padding: 80px 0 !important; }
.awux-viikki-page .contact-cta { padding: 72px 0 !important; }
.awux-viikki-page .insurance { padding: 72px 0 !important; }
.awux-viikki-page .intro { padding: 80px 0 !important; }
.awux-viikki-page .quote-section { padding: 72px 0 !important; }
.awux-viikki-page .site-footer { padding: 64px 0 32px !important; }
/* Header — no big bottom padding */
.awux-viikki-page .site-header { padding: 0 !important; }
.awux-viikki-page .header-top .container { padding: 14px 24px !important; }
.awux-viikki-page .header-bottom .container { padding: 12px 24px !important; }

/* Feature rows */
.awux-viikki-page .feature-row { padding: 56px 0 !important; }

/* Mobile drawer (slide-in from right with nav + lang) */
.awux-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 320px;
  max-width: 88vw;
  height: 100vh;
  background: #ffffff;
  box-shadow: -8px 0 24px rgba(0, 120, 84, 0.15);
  z-index: 10000;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.awux-mobile-drawer.is-open { transform: translateX(0); }
.awux-mobile-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px;
  background: #007854;
  color: #ffffff;
}
.awux-mobile-drawer-head .drawer-title {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 1.25rem; font-weight: 700;
}
.awux-mobile-drawer .drawer-close {
  background: transparent; border: 0; color: #ffffff;
  font-size: 2rem; line-height: 1; cursor: pointer; padding: 0 6px;
}
.awux-mobile-drawer-nav {
  display: flex; flex-direction: column; padding: 8px 0;
}
.awux-mobile-drawer-nav a {
  display: block; padding: 16px 24px;
  color: #343539; text-decoration: none;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 600; font-size: 1.125rem;
  border-bottom: 1px solid #DDDDDB;
}
.awux-mobile-drawer-nav a:hover { background: #F3F3F2; color: #007854; }
.awux-mobile-drawer-actions {
  padding: 24px; display: flex; flex-direction: column; gap: 14px; margin-top: auto;
  border-top: 1px solid #DDDDDB;
}
.awux-mobile-drawer-actions .lang-switch {
  align-self: flex-start;
  display: inline-flex;
  border: 1px solid #DDDDDB;
  border-radius: 999px;
  overflow: hidden;
}
.awux-mobile-drawer-actions .lang-switch button {
  background: transparent; border: 0; padding: 8px 18px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600; cursor: pointer; color: #69727d;
}
.awux-mobile-drawer-actions .lang-switch button.active {
  background: #007854; color: #ffffff;
}
.awux-mobile-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.4);
  z-index: 9999; opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
}
.awux-mobile-overlay.is-open { opacity: 1; pointer-events: auto; }
body.awux-drawer-open { overflow: hidden; }

/* Mobile hamburger styling for AWUX */
.mobile-menu-toggle {
  background: #007854 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 10px !important;
  width: 44px !important;
  height: 44px !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
  display: none;
}
.mobile-menu-toggle .bar {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  background: #ffffff !important;
}

/* Mobile responsive */
@media (max-width: 980px) {
  .awux-viikki-page .header-top .container {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 12px 16px !important;
  }
  .awux-viikki-page .header-phone { display: none !important; }
  .awux-viikki-page .logo-stack { justify-self: center !important; gap: 12px !important; }
  .awux-viikki-page img.logo-awux { height: 36px !important; }
  .awux-viikki-page img.logo-autosky { height: 28px !important; }
  .awux-viikki-page .logo-autosky-stack .partner-label { display: none !important; }
  /* Hide lang switcher in desktop header on mobile (it's in the drawer) */
  .awux-viikki-page .header-top .lang-switch { display: none !important; }

  .awux-viikki-page .header-bottom .container {
    justify-content: space-between !important;
    padding: 10px 16px !important;
  }
  .awux-viikki-page .header-bottom .nav-cta {
    position: static !important;
    transform: none !important;
  }
  .awux-viikki-page .main-nav { display: none !important; }
  /* Show hamburger button */
  .awux-viikki-page .mobile-menu-toggle { display: inline-flex !important; }

  /* Hero mobile */
  .awux-viikki-page .hero { min-height: 480px !important; padding: 60px 0 !important; }
  .awux-viikki-page .hero .container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center !important;
    justify-items: center !important;
  }
  .awux-viikki-page .hero-text { padding: 20px 24px !important; margin: 0 auto !important; max-width: 90vw !important; }
  .awux-viikki-page .hero-location,
  .awux-viikki-page .hero-subtitle { text-align: center !important; }
  .awux-viikki-page .hero-cta-block .hero-slogan {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  }
  .awux-viikki-page .hero-cta {
    align-items: center !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
  .awux-viikki-page .hero-cta .btn {
    width: 100% !important;
    max-width: 320px !important;
  }

  /* Intro section stack */
  .awux-viikki-page .intro-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Services 2 column — proper fit, no overflow */
  .awux-viikki-page .services-grid,
  .awux-viikki-page .services-grid-3col {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px 12px !important;
    padding: 0 4px !important;
  }
  .awux-viikki-page .service-card {
    padding: 16px 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .awux-viikki-page .service-card .icon { width: 64px !important; height: 64px !important; margin: 0 auto 12px !important; }
  .awux-viikki-page .service-card .icon svg { width: 56px !important; height: 56px !important; max-height: 56px !important; }
  .awux-viikki-page .service-card h3 { font-size: 1.125rem !important; line-height: 1.15 !important; word-wrap: break-word !important; }
  .awux-viikki-page .service-card p { font-size: 0.95rem !important; max-width: none !important; line-height: 1.35 !important; }
  .awux-viikki-page .service-card .btn-solid,
  .awux-viikki-page .service-card .btn { font-size: 0.95rem !important; padding: 10px 16px !important; width: auto !important; }
  /* Containers need overflow fix */
  .awux-viikki-page #palvelut,
  .awux-viikki-page section { overflow-x: hidden !important; }
  .awux-viikki-page .container { padding: 0 16px !important; max-width: 100% !important; }

  /* One-call grid stack */
  .awux-viikki-page .one-call-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    text-align: center !important;
  }
  .awux-viikki-page .one-call-text { max-width: none !important; }
  .awux-viikki-page .one-call p { margin: 0 auto 28px !important; }

  /* Why grid stack */
  .awux-viikki-page .why-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Feature rows stack */
  .awux-viikki-page .feature-row-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .awux-viikki-page .feature-row.reverse .feature-image { order: -1 !important; }

  /* Footer grid */
  .awux-viikki-page .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Contact CTA stack buttons */
  .awux-viikki-page .contact-cta .actions {
    flex-direction: column !important;
    align-items: stretch !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  /* Sub-services pills wrap */
  .awux-viikki-page .sub-services-list { gap: 8px !important; }
  .awux-viikki-page .sub-service-pill { padding: 8px 14px !important; font-size: 0.95rem !important; }

  /* Body font slightly smaller on mobile */
  .awux-viikki-page p { font-size: 1.125rem !important; }
  .awux-viikki-page h2 { font-size: 2rem !important; }
  .awux-viikki-page h3 { font-size: 1.4rem !important; }
}

@media (max-width: 600px) {
  .awux-viikki-page .services-grid,
  .awux-viikki-page .services-grid-3col {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 12px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-68c6c0ef *//* ============================================================
   AWUX VIIKKI — HEADER & STYLING FIX
   PASTE THIS INTO: Elementor → SITE SETTINGS (top-left hamburger
   menu inside Elementor) → Theme Style → Custom CSS
   ============================================================ */

/* CRITICAL: Theme's .site-header { display: flex } makes rows side-by-side. Force block stacking. */
.awux-viikki-page .site-header,
body .awux-viikki-page .site-header,
.elementor-widget-html .awux-viikki-page .site-header {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}
.awux-viikki-page .header-top,
.awux-viikki-page .header-bottom {
  display: block !important;
  width: 100% !important;
}

/* CRITICAL: Force header logo sizes — beats .elementor img overrides */
.awux-viikki-page img.logo-awux,
.awux-viikki-page .logo-stack .logo-awux,
body .awux-viikki-page img.logo-awux {
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 44px !important;
}
.awux-viikki-page img.logo-autosky,
.awux-viikki-page .logo-autosky-stack .logo-autosky,
body .awux-viikki-page img.logo-autosky {
  height: 36px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 36px !important;
}

/* Header top row — proper 3-column grid */
.awux-viikki-page .header-top .container {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 14px 24px !important;
}

/* Phone number — keep single line */
.awux-viikki-page .header-phone {
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-self: start !important;
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: #343539 !important;
  font-family: "Barlow Semi Condensed", sans-serif !important;
}
.awux-viikki-page .header-phone .wifi-dot {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
}

/* Logo stack center — both logos visible side by side */
.awux-viikki-page .logo-stack {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  justify-self: center !important;
}
.awux-viikki-page .logo-divider {
  width: 1px !important;
  height: 32px !important;
  background: #DDDDDB !important;
  display: block !important;
}
.awux-viikki-page .logo-autosky-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
.awux-viikki-page .logo-autosky-stack .partner-label {
  font-size: 0.875rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #69727d !important;
  font-weight: 600 !important;
}

/* Language switch right side */
.awux-viikki-page .lang-switch {
  justify-self: end !important;
}

/* Header row 2 — light grey, button + nav */
.awux-viikki-page .header-bottom {
  background: #F3F3F2 !important;
}
.awux-viikki-page .header-bottom .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 24px !important;
  position: relative !important;
}
.awux-viikki-page .header-bottom .nav-cta {
  position: absolute !important;
  left: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.awux-viikki-page .main-nav {
  display: flex !important;
  align-items: center !important;
  gap: 36px !important;
}
.awux-viikki-page .main-nav a {
  color: #343539 !important;
  text-decoration: none !important;
}

/* Buttons — fix invisible blue text */
.awux-viikki-page a.btn-solid,
.awux-viikki-page .btn-solid,
.awux-viikki-page .header-bottom .btn-solid {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
  text-decoration: none !important;
}
.awux-viikki-page a.btn-solid:hover,
.awux-viikki-page .btn-solid:hover {
  background: #343539 !important;
  color: #ffffff !important;
}
.awux-viikki-page a.btn-solid.btn-solid-outline {
  background: transparent !important;
  color: #007854 !important;
  border: 2px solid #007854 !important;
}
.awux-viikki-page a.btn-solid.btn-solid-outline:hover {
  background: #007854 !important;
  color: #ffffff !important;
}

/* Default btn (pill with arrow) — text colors */
.awux-viikki-page a.btn,
.awux-viikki-page .btn {
  text-decoration: none !important;
  color: #343539 !important;
}
.awux-viikki-page a.btn.btn-primary,
.awux-viikki-page .btn.btn-primary {
  background: #007854 !important;
  color: #ffffff !important;
  border-color: #007854 !important;
}
.awux-viikki-page a.btn.btn-phone,
.awux-viikki-page .btn.btn-phone {
  background: #343539 !important;
  color: #ffffff !important;
  border-color: #343539 !important;
}
.awux-viikki-page a.btn.btn-outline {
  background: #ffffff !important;
  color: #343539 !important;
  border-color: #DDDDDB !important;
}

/* All images in our page — proper sizing */
.awux-viikki-page .intro-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: right center !important;
  max-width: none !important;
}
.awux-viikki-page .one-call-image img {
  width: 100% !important;
  max-width: 420px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}
.awux-viikki-page .feature-image img {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  max-width: none !important;
}
.awux-viikki-page .insurance-logos img {
  max-width: 100% !important;
  height: auto !important;
}
.awux-viikki-page .footer-logos .awux-logo {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
  filter: brightness(0) invert(1) !important;
}
.awux-viikki-page .footer-logos .autosky-logo {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
}
.awux-viikki-page .service-card .icon svg {
  width: 150px !important;
  height: auto !important;
  max-height: 150px !important;
  max-width: none !important;
}

/* Elementor wrappers allow overflow */
.elementor-widget-container,
.elementor-element-populated,
.elementor-widget-html,
.awux-viikki-page,
.awux-viikki-page .site-header {
  overflow: visible !important;
}

/* Full-width sections — override theme max-width */
.awux-viikki-page .site-header,
.awux-viikki-page .site-footer,
.awux-viikki-page section,
.awux-viikki-page .one-call,
.awux-viikki-page .contact-cta,
.awux-viikki-page .insurance,
.awux-viikki-page .hero {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Mobile responsive */
@media (max-width: 980px) {
  .awux-viikki-page .header-top .container {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .awux-viikki-page .header-phone { display: none !important; }
  .awux-viikki-page .logo-stack { justify-self: center !important; }
  .awux-viikki-page img.logo-awux { height: 36px !important; }
  .awux-viikki-page img.logo-autosky { height: 28px !important; }
  .awux-viikki-page .logo-autosky-stack .partner-label { display: none !important; }
  .awux-viikki-page .header-bottom .container {
    justify-content: space-between !important;
  }
  .awux-viikki-page .header-bottom .nav-cta {
    position: static !important;
    transform: none !important;
  }
  .awux-viikki-page .main-nav { display: none !important; }
}/* End custom CSS */