/*
Theme Name: Estone Block Theme
Theme URI: https://estonetech.com
Author: EstoneTech Team
Author URI: https://estonetech.com
Description: A modern Full Site Editing (FSE) Block Theme for Estone Technology, providing block templates, template parts, theme.json global styles, and custom ACF block components.
Version: 1.1.0
Text Domain: estone-block-theme
Requires at least: 6.4
Requires PHP: 7.4
*/

/* ==========================================================================
   1. Design tokens
   Colours/fonts also live in theme.json; these mirrors exist so the header
   and footer components can be read at a glance.
   ========================================================================== */
:root {
  --et-navy: #0B1E3D;
  --et-blue: #003F7C;
  --et-red: #C40808;
  /* exact red from the reference build's layout.css */
  --et-accent-cyan: #00A8FF;
  --et-dark: #0F172A;
  --et-light-bg: #F8FAFC;
  --et-white: #FFFFFF;
  --et-gray: #64748B;
  --et-border: #E2E8F0;
  --et-font: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif;

  /* Header geometry — spacious, premium & modern height */
  --et-header-h: 74px;
  --et-header-pad: clamp(65px, 6vw, 110px);
  --et-admin-offset: 0px;

  /* Footer palette (matches the reference site's gradient). */
  --et-footer-top: #081A38;
  --et-footer-bottom: #030D22;
}

body.admin-bar {
  --et-admin-offset: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar {
    --et-admin-offset: 46px;
  }
}

@media (max-width: 1023.98px) {
  :root {
    --et-header-h: 68px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  font-family: var(--et-font);
  color: var(--et-dark);
  background-color: var(--et-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--et-blue);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  color: var(--et-navy);
}

/* ==========================================================================
   2. Header template part
   The part renders <header class="wp-block-template-part"> around a group
   with .estone-header. That group is the fixed overlay bar, so the wrapper
   collapses to zero height and page content starts at the very top.
   ========================================================================== */

/* --- Header States --- */
/* The header is always sticky, white, with dark text to match the reference site. */
.wp-site-blocks {
  padding-top: var(--et-header-h) !important;
  margin-top: 0 !important;
}

.estone-header,
header.wp-block-template-part,
header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  --et-hdr-fg: #000000;
  --et-hdr-bg: #FFFFFF;
  --et-hdr-border: #E2E8F0;
  --et-hdr-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  --et-hdr-logo-filter: none;
  background-color: var(--et-hdr-bg) !important;
  background: var(--et-hdr-bg) !important;
  border-bottom: 1px solid var(--et-hdr-border) !important;
  box-shadow: var(--et-hdr-shadow) !important;
  margin: 0 !important;
  padding: 0 var(--et-header-pad) !important;
  transition: background-color 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, color 0.35s ease, min-height 0.3s ease !important;
}

/* Keep the bar clear of the WordPress admin bar for logged in users */
.admin-bar .estone-header,
.admin-bar header {
  top: 32px !important;
}

@media (max-width: 782px) {

  .admin-bar .estone-header,
  .admin-bar header {
    top: 46px !important;
  }
}

.estone-header *,
header *,
.wp-block-template-part-header * {
  color: var(--et-hdr-fg) !important;
  text-shadow: none !important;
}

.estone-header a,
.estone-header span,
header a,
header span {
  color: var(--et-hdr-fg) !important;
  fill: var(--et-hdr-fg) !important;
  stroke: var(--et-hdr-fg) !important;
  text-shadow: none !important;
}

.estone-header svg,
.estone-header svg path,
header svg,
header svg path {
  fill: var(--et-hdr-fg) !important;
  stroke: var(--et-hdr-fg) !important;
  color: var(--et-hdr-fg) !important;
}

.estone-header a:hover,
header a:hover {
  color: var(--et-red) !important;
}

.estone-header__logo img,
.wp-block-site-logo img,
header img {
  filter: none !important;
  transition: filter 0.35s ease, max-height 0.35s ease !important;
}

/* Scroll Compression */
body.header-is-scrolled .estone-header,
.estone-header.is-scrolled {
  min-height: 62px;
}

body.header-is-scrolled .estone-header__inner,
.estone-header.is-scrolled .estone-header__inner {
  min-height: 62px;
}

.estone-header.is-scrolled .estone-header__inner {
  min-height: 62px;
}

.estone-header__inner {
  max-width: 1720px;
  margin: 0 auto;
  min-height: var(--et-header-h, 74px);
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(16px, 2vw, 36px);
  padding: 0 !important;
  transition: min-height 0.3s ease;
}

.estone-header__logo,
.wp-block-site-logo {
  margin: 0 0 0 35px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.estone-header__lang {
  margin-right: 20px !important;
}

.estone-header__logo img,
.wp-block-site-logo img,
.custom-logo {
  height: auto !important;
  max-height: 50px !important;
  width: auto !important;
  display: block !important;
  transition: filter 0.3s ease, max-height 0.3s ease !important;
}

.estone-header.is-scrolled .estone-header__logo img,
body.header-is-scrolled .estone-header__logo img,
body.header-is-scrolled .wp-block-site-logo img {
  max-height: 44px !important;
}

@media (max-width: 1023.98px) {

  .estone-header__logo img,
  .wp-block-site-logo img {
    max-height: 38px !important;
  }
}

.estone-header__right {
  gap: clamp(12px, 1.5vw, 24px);
}

/* --- Primary navigation -------------------------------------------------- */
.estone-header__nav {
  font-size: 15.5px;
}

.estone-header__nav .wp-block-navigation__container {
  gap: clamp(14px, 1.35vw, 28px);
}

.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item {
  position: relative;
}

.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content,
.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item>a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 14px 8px;
  color: var(--et-hdr-fg) !important;
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.4s ease;
}

/* The reference site shows no arrow beside the top-level labels. Core renders
   one as a real toggle button, so it is collapsed rather than removed —
   keyboard users still get it back when it takes focus. */
@media (min-width: 1024px) {
  .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-icon {
    width: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
  }

  .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-icon:focus-visible {
    width: auto;
    padding: 0 4px;
    opacity: 1;
  }
}

/* Red indicator that grows out from the centre on hover.
   Centred with a negative margin (half its width) rather than a transform, because the
   site-wide ":hover::after { transform: none }" rule would cancel a translateX on hover. */
.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: none;
  width: 0;
  margin-left: 0;
  height: 2px;
  background: linear-gradient(to right, transparent, var(--et-red) 20%, var(--et-red) 80%, transparent);
  transition: width 0.3s ease, margin-left 0.3s ease;
}

.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after,
.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item:focus-within>.wp-block-navigation-item__content::after {
  width: 80%;
  margin-left: -40%;
}

.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content,
.estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item:focus-within>.wp-block-navigation-item__content {
  color: var(--et-red);
}

/* Everything from here to the "Let's Connect" tab is desktop-only: below
   1200px the whole menu is replaced by core's overlay, which lays the same
   markup out as a plain nested list. */
@media (min-width: 1024px) {

  /* --- Dropdown style A: plain list card (Desktop Only) -------------------- */
  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container {
    padding: clamp(20px, 1.823vw, 35px) 0 !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: clamp(10px, 0.781vw, 15px) !important;
    box-shadow: 0 16px 40px rgba(11, 30, 61, 0.13) !important;
    z-index: 99999 !important;
    min-width: 260px !important;
    width: max-content !important;
    max-width: 90vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: calc(var(--et-admin-offset, 0px) + 78px) !important;
    margin-top: 0 !important;
    position: absolute !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 28px 12px 28px !important;
    padding: 2px 0 2px 14px !important;
    color: #4A5568 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
    transition: color 0.25s ease !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item__content::before,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: clamp(3px, 0.208vw, 4px) !important;
    height: 100% !important;
    background: var(--et-red) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item:last-child>.wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item:last-child>.wp-block-navigation-item__content {
    margin-bottom: 0 !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: #003F7C !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before {
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega):hover>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega):hover>.wp-block-navigation__submenu-container,
  html body .estone-header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega):focus-within>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item.has-child:not(.has-mega):focus-within>.wp-block-navigation__submenu-container {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    width: auto !important;
    height: auto !important;
  }

  /* --- Dropdown style B: full-width mega panel (Desktop Only) -------------- */
  html body .estone-header .estone-header__nav .wp-block-navigation-item.has-mega,
  html body header .estone-header__nav .wp-block-navigation-item.has-mega {
    position: relative !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container,
  html body .estone-header .estone-header__nav .wp-block-navigation__submenu-container.has-mega,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega {
    position: fixed !important;
    top: calc(var(--et-admin-offset, 0px) + var(--et-header-h, 74px) + 7px) !important;
    left: clamp(12px, 1vw, 20px) !important;
    right: clamp(12px, 1vw, 20px) !important;
    margin-top: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(11, 30, 61, 0.16) !important;
    z-index: 99999 !important;
    background: linear-gradient(to right,
        #F3F6FB 0 30%,
        #E5E5E5 30% calc(30% + 1px),
        #FFFFFF calc(30% + 1px)) !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation-item.has-mega:hover>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation-item.has-mega:hover>.wp-block-navigation__submenu-container,
  html body .estone-header .estone-header__nav .wp-block-navigation-item.has-mega:focus-within>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation-item.has-mega:focus-within>.wp-block-navigation__submenu-container {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: hidden !important;
    width: auto !important;
    height: clamp(320px, 25.313vw, 486px) !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation-item.has-child,
  html body header .estone-header__nav .wp-block-navigation-item.has-child {
    position: relative !important;
  }

  html body .estone-header .estone-header__nav .wp-block-navigation-item.has-child::after,
  html body header .estone-header__nav .wp-block-navigation-item.has-child::after {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    left: -20px !important;
    right: -20px !important;
    height: 35px !important;
    z-index: 999998 !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item {
    position: static !important;
    width: 30% !important;
    padding-right: clamp(24px, 4.03vw, 78px) !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:first-child,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:first-child {
    margin-top: clamp(30px, 2.917vw, 56px) !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item>.wp-block-navigation-item__content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 clamp(4px, 0.313vw, 6px) clamp(28px, 4.583vw, 88px) !important;
    padding: clamp(9px, 0.625vw, 12px) clamp(13px, 0.99vw, 19px) !important;
    color: #A0A0A0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border-left: 4px solid transparent !important;
    transition: color 0.1s ease, background-color 0.1s ease, border-color 0.1s ease !important;
  }

  @media (min-width: 1440px) {
    html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content,
    html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item>.wp-block-navigation-item__content {
      font-size: 16px !important;
    }
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation__submenu-icon,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item>.wp-block-navigation__submenu-icon,
  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-submenu__toggle,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item>.wp-block-navigation-submenu__toggle {
    display: none !important;
  }

  /* Beautiful, vertically centered chevron arrow inside the category tab */
  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content::after,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item>.wp-block-navigation-item__content::after {
    content: "\203A" !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-left: auto !important;
    padding-right: 2px !important;
    color: #003F7C !important;
    opacity: 0 !important;
    transform: translateX(-4px) !important;
    transition: opacity 0.15s ease, transform 0.15s ease !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content,
  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:hover>.wp-block-navigation-item__content {
    background: rgba(163, 196, 229, 0.2) !important;
    color: #003F7C !important;
    border-left-color: var(--et-red) !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content::after,
  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content::after,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container:has(> .wp-block-navigation-item:not(:first-child):hover)>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega:has(> .wp-block-navigation-item:not(:first-child):hover)>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content {
    background: transparent !important;
    color: #A0A0A0 !important;
    border-left-color: transparent !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container:has(> .wp-block-navigation-item:not(:first-child):hover)>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content::after,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega:has(> .wp-block-navigation-item:not(:first-child):hover)>.wp-block-navigation-item:first-child>.wp-block-navigation-item__content::after {
    opacity: 0 !important;
    transform: translateX(-4px) !important;
  }

  html body .estone-header .estone-header__nav .has-mega .wp-block-navigation-item>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega .wp-block-navigation-item>.wp-block-navigation__submenu-container,
  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega .wp-block-navigation__submenu-container {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: calc(30% + 1px) !important;
    right: 0 !important;
    width: calc(70% - 1px) !important;
    height: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start !important;
    gap: clamp(14px, 1.2vw, 22px) clamp(40px, 5vw, 100px) !important;
    padding: clamp(36px, 3.6vw, 60px) clamp(30px, 4vw, 80px) 30px clamp(40px, 5vw, 90px) !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 0 20px 20px 0 !important;
    box-shadow: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:first-child>.wp-block-navigation__submenu-container,
  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container>.wp-block-navigation-item:hover>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:first-child>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega>.wp-block-navigation-item:hover>.wp-block-navigation__submenu-container {
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container:has(> .wp-block-navigation-item:not(:first-child):hover)>.wp-block-navigation-item:first-child>.wp-block-navigation__submenu-container,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega:has(> .wp-block-navigation-item:not(:first-child):hover)>.wp-block-navigation-item:first-child>.wp-block-navigation__submenu-container {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  html body .estone-header .estone-header__nav .has-mega .wp-block-navigation-item__content::before,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega .wp-block-navigation-item__content::before {
    display: none !important;
  }

  html body .estone-header .estone-header__nav .has-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega .wp-block-navigation__submenu-container .wp-block-navigation-item {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    margin: 0 !important;
    padding: 0 !important;
    border-left: none !important;
    color: #68717D !important;
    font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    transition: color 0.25s ease !important;
  }

  html body .estone-header .estone-header__nav .has-mega>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  html body header .estone-header__nav .wp-block-navigation__submenu-container.has-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: #003F7C !important;
    border-left: none !important;
  }

}

/* end desktop-only dropdowns */

/* --- "Let's Connect" side tab -------------------------------------------- */
.estone-connect-tab {
  position: fixed !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 999999 !important;
  width: auto !important;
  max-width: 80px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  pointer-events: auto !important;
}

.estone-connect-tab .wp-block-button {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  display: block !important;
}

.estone-connect-tab .wp-block-button__link,
.estone-connect-tab a.wp-element-button,
.estone-connect-tab a {
  display: block !important;
  width: 72px !important;
  max-width: 72px !important;
  min-width: 72px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 8px !important;
  background-color: var(--et-red, #C40808) !important;
  background: var(--et-red, #C40808) !important;
  border: none !important;
  border-radius: 6px 0 0 6px !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  text-decoration: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  box-shadow: -2px 4px 14px rgba(196, 8, 8, 0.35) !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.estone-connect-tab .wp-block-button__link:hover,
.estone-connect-tab a.wp-element-button:hover,
.estone-connect-tab a:hover {
  background-color: #A5161B !important;
  background: #A5161B !important;
  color: #FFFFFF !important;
  transform: translateX(-3px) !important;
}

@media (max-width: 767px) {

  /* The tab stays on phones, matching the reference, but as the narrow
     upright strip the design uses there rather than the 72px-wide desktop
     block - which would eat a fifth of a 375px screen. Position, link and
     click behaviour are the desktop ones, untouched. */
  .estone-header .estone-connect-tab,
  .estone-connect-tab {
    display: block !important;
    max-width: none !important;
  }

  .estone-connect-tab .wp-block-button__link,
  .estone-connect-tab a.wp-element-button,
  .estone-connect-tab a {
    writing-mode: vertical-rl !important;
    /* sideways keeps the apostrophe rotated with the rest of the word;
       the default upright orientation breaks it into "Let'  s". */
    text-orientation: sideways !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 16px 5px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    border-radius: 0 6px 6px 0 !important;
    white-space: nowrap !important;
  }

  .estone-connect-tab .wp-block-button__link:hover,
  .estone-connect-tab a.wp-element-button:hover,
  .estone-connect-tab a:hover {
    transform: translateX(-2px) !important;
  }
}

/* Tablets (768px - 1023px): same upright strip as phones, a little larger */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .estone-header .estone-connect-tab,
  .estone-connect-tab {
    max-width: none !important;
  }

  .estone-connect-tab .wp-block-button__link,
  .estone-connect-tab a.wp-element-button,
  .estone-connect-tab a {
    writing-mode: vertical-rl !important;
    text-orientation: sideways !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 14px 10px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    border-radius: 6px 0 0 6px !important;
    white-space: nowrap !important;
  }

  .estone-connect-tab .wp-block-button__link:hover,
  .estone-connect-tab a.wp-element-button:hover,
  .estone-connect-tab a:hover {
    transform: translateX(-2px) !important;
  }
}

/* Hide the tab while the mobile/tablet menu drawer is open */
html.has-modal-open .estone-connect-tab,
html.has-modal-open .estone-header .estone-connect-tab {
  display: none !important;
}

/* --- Search (core Search block, icon-only)------------------------------- */
/* Collapsed the block is just an icon in the bar. Core toggles the
   `wp-block-search__searchfield-hidden` class on the form, so `:not(...)` is
   the open state — which is restyled below into the drop-down banner the
   reference site uses (layout.css `.headerSearchformMain`).
   Geometry traced from that file: a #fff band of `4.167vw 0` padding around a
   `3.125vw` field, a `51.042vw` form, and an rgba(0,0,0,.4) + blur(1.042vw)
   mask over the rest of the page. */
.estone-header__search {
  /* Inherited by the wrapper, its ::before band, the field and the button, so
     all four share one set of numbers — including the slide-in keyframes. */
  --et-search-pad: clamp(28px, 4.167vw, 80px);
  --et-search-field: clamp(50px, 3.125vw, 60px);
  --et-search-band: calc(var(--et-search-pad) * 2 + var(--et-search-field));
  margin: 0;
}

.estone-header__search .wp-block-search__inside-wrapper {
  border: 0;
  padding: 0;
  align-items: center;
}

.estone-header__search .wp-block-search__button {
  padding: 6px;
  background: transparent;
  border: 0;
  color: var(--et-hdr-fg);
  transition: color 0.25s ease;
}

.estone-header__search .wp-block-search__button:hover {
  color: var(--et-red);
}

.estone-header__search .wp-block-search__button svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

/* Open state: white banner drops in over the header, dark blurred mask below.
   The wrapper is the mask, its ::before is the banner, and the field/button
   sit on top of both. Closing is core's own behaviour — Escape, or a click on
   the mask, which blurs the field and fires the block's focusout handler. */
.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
  position: fixed;
  inset: var(--et-admin-offset, 0px) 0 0;
  z-index: 10050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: var(--et-search-pad);
  background: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(clamp(10px, 1.042vw, 20px));
  backdrop-filter: blur(clamp(10px, 1.042vw, 20px));
  animation: et-search-mask 0.4s ease both;
}

.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--et-search-band);
  background: #FFFFFF;
  animation: et-search-drop 0.8s cubic-bezier(0.2, 1, 0.3, 1) both;
}

.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 51.042vw;
  max-width: calc(100% - 40px);
  height: var(--et-search-field);
  /* Right pad clears the button, which is pulled back over the pill below. */
  padding: 0 calc(var(--et-search-field) + 10px) 0 clamp(20px, 1.563vw, 30px);
  background: #EEEEEE;
  border: 0;
  border-radius: 999px;
  color: #757575;
  font-size: 15px;
  animation: et-search-drop 0.8s cubic-bezier(0.2, 1, 0.3, 1) both;
}

/* No focus ring, as on the reference. Opening the banner focuses the field
   for you, so the ring would be on screen every single time — and the field
   is the only control in the overlay, with its own caret to mark focus. */
.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input:focus {
  outline: none;
}

.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: var(--et-search-field);
  height: var(--et-search-field);
  /* Pulled back over the right end of the pill. */
  margin: 0 0 0 calc(var(--et-search-field) * -1);
  padding: 0;
  background: var(--et-red);
  border-radius: 50%;
  color: #FFFFFF;
  transition: box-shadow 0.4s ease;
  animation: et-search-drop 0.8s cubic-bezier(0.2, 1, 0.3, 1) both;
}

.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button:hover {
  background: var(--et-red);
  color: #FFFFFF;
  box-shadow: 0 5px 10px rgba(196, 8, 8, 0.4);
}

.estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button svg {
  width: clamp(20px, 1.25vw, 24px);
  height: clamp(20px, 1.25vw, 24px);
  margin: 0 auto;
}

/* The banner and everything on it slide down by exactly the banner's height,
   so they travel as one piece even though they are three separate elements. */
@keyframes et-search-drop {
  from {
    opacity: 0;
    transform: translateY(calc(var(--et-search-band) * -1));
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes et-search-mask {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {

  .estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper,
  .estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper::before,
  .estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input,
  .estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button {
    animation: none;
  }
}

/* Below the reference build's 1024px breakpoint the form goes edge-to-edge. */
@media (max-width: 1024px) {
  .estone-header__search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
    width: calc(100% - 40px);
  }
}

/* --- Language switcher --------------------------------------------------- */
/* Reference (layout.css `.langBtn`): the trigger is a bare globe glyph with a
   small caret, and the choices sit in a white card centred underneath it with
   an arrow pointing back up at the globe. The nav item still carries its "EN"
   label in the markup — it is hidden visually, not removed, so the control
   keeps an accessible name. */
.estone-header__lang {
  font-size: 14px;
}

.estone-header__lang>.wp-block-navigation__container>.wp-block-navigation-item {
  position: relative;
}

.estone-header__lang .wp-block-navigation-item__content {
  color: var(--et-hdr-fg);
  font-weight: 500;
  /* Full bar height, so the card below can hang off `top: 100%`. */
  padding: calc((var(--et-header-h) - 24px) / 2) 4px;
  transition: color 0.4s ease;
}

.estone-header__lang .wp-block-navigation-item.has-child>.wp-block-navigation-item__content::before,
.estone-header__lang>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::before {
  /* FontAwesome globe — the icon font is enqueued site-wide. */
  font-family: "Font Awesome 6 Free", "FontAwesome";
  font-weight: 900;
  content: "\f0ac";
  font-size: 18px;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}

.estone-header__lang .wp-block-navigation-item.has-child>.wp-block-navigation-item__content>.wp-block-navigation-item__label,
.estone-header__lang>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Core renders the caret as a real toggle button; it just needs shrinking. */
.estone-header__lang .wp-block-navigation__submenu-icon {
  margin-left: 5px;
  padding: 0;
  color: var(--et-hdr-fg);
}

.estone-header__lang .wp-block-navigation__submenu-icon svg {
  width: 10px;
  height: 10px;
  stroke: currentColor;
}

/* JP / EU sit in one white card, centred under the globe. */
.estone-header .estone-header__lang .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-container {
  top: 100% !important;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  min-width: 60px;
  width: auto;
  margin-top: 12px !important;
  padding: 4px;
  background: #FFFFFF;
  border: 0;
  border-radius: 6px;
  box-shadow: 0 2px 20px rgba(11, 30, 61, 0.22);
}

/* Invisible bridge across the 12px gap: without it the pointer leaves the
   list item on the way down and core closes the card again. */
.estone-header__lang .wp-block-navigation__submenu-container::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 12px;
}

.estone-header__lang .wp-block-navigation__submenu-container::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -100%);
  width: 10px;
  height: 6px;
  background: #FFFFFF;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item {
  width: 100%;
}

/* Five classes deep, like the main dropdown above: core ships a `padding:
   .5em 1em` on the same four-class selector and would otherwise win the tie
   and add 13px to every row. */
.estone-header .estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content {
  display: block;
  width: 100%;
  margin: 0 0 2px;
  padding: 0 10px;
  background: transparent;
  border-radius: 6px;
  color: #333333;
  font-size: 13px;
  font-weight: 400;
  line-height: 33px;
  text-align: center;
  transition: background-color 0.4s ease, color 0.4s ease;
}

.estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
  margin-bottom: 0;
}

.estone-header .estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content:hover {
  background: var(--et-red);
  color: #FFFFFF;
}

/* --- Hamburger + mobile overlay ------------------------------------------ */
.estone-header__nav .wp-block-navigation__responsive-container-open {
  color: var(--et-hdr-fg);
  padding: 6px;
}

.estone-header__nav .wp-block-navigation__responsive-container-open:hover {
  color: var(--et-red);
}

/* The core overlay only kicks in below 600px. Estone's menu is far too wide
   for a horizontal bar on tablets, so the same overlay is extended to 1200px
   by reversing core's own min-width:600px rules in that range. */
@media (min-width: 600px) and (max-width: 1023.98px) {
  .estone-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
    width: auto;
    position: fixed;
    z-index: 100000;
  }

  .estone-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }
}

/* The overlay is coloured here rather than through the block's overlay colour
   settings: core copies those settings onto every submenu container, which
   would drag the desktop dropdowns to navy as well. */
/* Padding is set outright: core's default is a clamp() around
   --wp--style--root--padding-left, which this theme does not emit, so the
   whole declaration is dropped and the menu ends up flush to the edge. */
.estone-header .estone-header__nav .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
  background-color: var(--et-navy);
  color: var(--et-white);
  padding: 84px clamp(20px, 6vw, 48px) 48px;
}

.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  top: 22px;
  right: 22px;
  color: var(--et-white);
}

/* The desktop bar is right-justified and core carries that justification into
   the overlay, which pushes the labels off-screen. The list re-declares the
   variables on itself, so they have to be reset at every level. */
.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open,
.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: flex-start;
  align-items: flex-start;
}

.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  padding: 10px 0;
  color: var(--et-white);
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}

/* No hover underline inside the overlay. */
.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
  display: none;
}

.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon {
  color: var(--et-white);
}

.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  padding-top: 0 !important;
  padding-left: 1rem !important;
  border-left: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.estone-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  font-size: 14px;
  font-weight: 400;
  opacity: 0.85;
}

/* ==========================================================================
   3. Content offset
   The bar itself is fixed, so its template-part wrapper is what reserves the
   space for it. Sizing the wrapper — rather than padding a `main` element —
   keeps this working on the Site Editor templates too, which wrap the content
   in nothing but a post-content block.
   ========================================================================== */
.wp-site-blocks>header.wp-block-template-part {
  height: var(--et-header-h);
}

/* Pages that open with a dark hero let the bar float over it instead. */
body:has(.estone-hero-overlay) header.wp-block-template-part,
body:has(.estone-header-banner) header.wp-block-template-part,
body:has(.estonetech-header-banner) header.wp-block-template-part,
body:has(.estonetech-hero-swiper) header.wp-block-template-part,
body:has(.swiper-container#banner) header.wp-block-template-part,
body:has(.et-products-archive) header.wp-block-template-part,
body:has(.et-pa-banner) header.wp-block-template-part {
  height: auto !important;
  min-height: 56px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

body:has(.estone-hero-overlay) .entry-content,
body:has(.estone-header-banner) .entry-content,
body:has(.estonetech-header-banner) .entry-content,
body:has(.estonetech-hero-swiper) .entry-content,
body:has(.et-products-archive) .entry-content,
body:has(.estone-hero-overlay) .wp-block-post-content,
body:has(.estone-header-banner) .wp-block-post-content,
body:has(.estonetech-header-banner) .wp-block-post-content,
body:has(.estonetech-hero-swiper) .wp-block-post-content,
body:has(.et-products-archive) .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hero Overlay Lighter Opacity for Bright & Clear Visuals */
.estone-hero-overlay {
  background: linear-gradient(to right, rgba(8, 26, 56, 0.38), rgba(8, 26, 56, 0.12)) !important;
}

/* Hide default static blue title banner when Estone Fully Editable Hero Banner is present on page */
body:has(.estonetech-header-banner) main>.estone-header-banner,
body:has(.estonetech-header-banner) .wp-site-blocks main>.estone-header-banner,
body:has(.wp-block-estonetech-header-banner) main>.estone-header-banner,
body:has(.wp-block-estonetech-header-banner) .wp-site-blocks main>.estone-header-banner,
body.has-hero-banner main>.estone-header-banner,
body.has-hero-banner .wp-site-blocks main>.estone-header-banner {
  display: none !important;
}

/* Full Width Breakout & Zero Margin Top for Estone Fully Editable Hero Banner */
body:not(.wp-admin) .estonetech-header-banner,
body:not(.wp-admin) .wp-block-estonetech-header-banner {
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {

  body:not(.wp-admin) .estonetech-header-banner,
  body:not(.wp-admin) .wp-block-estonetech-header-banner {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

body:has(.estonetech-header-banner) main,
body:has(.estonetech-header-banner) .entry-content,
body:has(.estonetech-header-banner) .wp-block-post-content,
body:has(.estonetech-header-banner) .wp-block-group:not(.estone-footer),
body.has-hero-banner main,
body.has-hero-banner .entry-content,
body.has-hero-banner .wp-block-post-content,
body.has-hero-banner .wp-block-group:not(.estone-footer) {
  overflow: visible !important;
  padding-top: 0 !important;
}

.estone-header-banner {
  background: linear-gradient(135deg, var(--et-navy) 0%, #1E3A8A 100%);
  color: var(--et-white);
  padding: calc(var(--et-header-h) + 3rem) 2rem 3rem;
  text-align: center;
}

.estone-header-banner h1,
.estone-header-banner .wp-block-query-title {
  font-size: 38px;
  margin-bottom: 0.5rem;
  color: var(--et-white);
}

@media (max-width: 1024px) {
  .estone-header-banner h1,
  .estone-header-banner .wp-block-query-title {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .estone-header-banner h1,
  .estone-header-banner .wp-block-query-title {
    font-size: 26px;
  }
}

@media (max-width: 480px) {
  .estone-header-banner h1,
  .estone-header-banner .wp-block-query-title {
    font-size: 22px;
  }
}

/* ==========================================================================
   4. Footer template part
   ========================================================================== */
html body .estone-footer,
html body .wp-block-group.estone-footer,
html body .wp-block-group.alignfull.estone-footer,
.estone-footer {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  background: radial-gradient(circle at 20% 35%, #0e3b7a 0%, #041738 45%, #010a1a 100%) !important;
  color: #94a3b8 !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  padding: 185px 0 35px 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.estone-footer-container {
  width: 100% !important;
  max-width: 1700px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

/* --- Head Row (Logo & Newsletter) --- */
.estone-footer-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
}

.estone-footer-logo-img {
  height: 48px !important;
  width: auto !important;
  display: block !important;
}

.estone-footer-subscribe-wrap {
  max-width: 480px !important;
  width: 100% !important;
}

.estone-footer-subscribe-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 10px 0 !important;
  font-family: inherit !important;
}

.estone-footer-input-box {
  position: relative !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
  display: flex !important;
  align-items: center !important;
  margin-bottom: 14px !important;
  padding-bottom: 4px !important;
  transition: border-bottom-color 0.25s ease !important;
}

.estone-footer-input-box:focus-within {
  border-bottom-color: #ffffff !important;
}

.estone-footer-email-input {
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-family: inherit !important;
  padding: 6px 32px 6px 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
}

.estone-footer-email-input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 14.5px !important;
  opacity: 1 !important;
}

.estone-footer-submit-btn {
  position: absolute !important;
  right: 0 !important;
  bottom: 6px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.estone-footer-submit-btn:hover {
  color: #c61d23 !important;
  transform: translate(2px, -2px) !important;
}

.estone-footer-subscribe-disclaimer {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  margin: 0 !important;
  font-family: inherit !important;
}

.estone-footer-subscribe-disclaimer a {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
  transition: opacity 0.2s ease !important;
}

.estone-footer-subscribe-disclaimer a:hover {
  opacity: 0.8 !important;
  color: #ffffff !important;
}

/* --- Horizontal Divider Line --- */
.estone-footer-divider {
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  margin: 35px 0 40px 0 !important;
}

/* --- Main Grid Columns --- */
.estone-footer-main {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: clamp(24px, 2.4vw, 48px) !important;
  margin-bottom: 50px !important;
}

/* Contact Column: Pushes link columns to the right side */
.estone-footer-col-contact {
  flex: 0 0 240px !important;
  max-width: 260px !important;
  margin-right: auto !important;
}

.estone-footer-contact-item {
  margin-bottom: 12px !important;
}

.estone-footer-contact-label {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 3px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.estone-footer-contact-val {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #94a3b8 !important;
}

.estone-footer-contact-val a {
  text-align: center;
}

/* ==========================================================================
   4. Footer template part
   ========================================================================== */
html body .estone-footer,
html body .wp-block-group.estone-footer,
html body .wp-block-group.alignfull.estone-footer,
.estone-footer {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  background: radial-gradient(circle at 20% 35%, #0e3b7a 0%, #041738 45%, #010a1a 100%) !important;
  color: #94a3b8 !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  padding: 185px 0 35px 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.estone-footer-container {
  width: 100% !important;
  max-width: 1700px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

/* --- Head Row (Logo & Newsletter) --- */
.estone-footer-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
}

.estone-footer-logo-img {
  height: 48px !important;
  width: auto !important;
  display: block !important;
}

.estone-footer-subscribe-wrap {
  max-width: 480px !important;
  width: 100% !important;
}

.estone-footer-subscribe-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 10px 0 !important;
  font-family: inherit !important;
}

.estone-footer-input-box {
  position: relative !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
  display: flex !important;
  align-items: center !important;
  margin-bottom: 14px !important;
  padding-bottom: 4px !important;
  transition: border-bottom-color 0.25s ease !important;
}

.estone-footer-input-box:focus-within {
  border-bottom-color: #ffffff !important;
}

.estone-footer-email-input {
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-family: inherit !important;
  padding: 6px 32px 6px 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
}

.estone-footer-email-input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 14.5px !important;
  opacity: 1 !important;
}

.estone-footer-submit-btn {
  position: absolute !important;
  right: 0 !important;
  bottom: 6px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.estone-footer-submit-btn:hover {
  color: #c61d23 !important;
  transform: translate(2px, -2px) !important;
}

.estone-footer-subscribe-disclaimer {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  margin: 0 !important;
  font-family: inherit !important;
}

.estone-footer-subscribe-disclaimer a {
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
  transition: opacity 0.2s ease !important;
}

.estone-footer-subscribe-disclaimer a:hover {
  opacity: 0.8 !important;
  color: #ffffff !important;
}

/* --- Horizontal Divider Line --- */
.estone-footer-divider {
  width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  margin: 35px 0 40px 0 !important;
}

/* --- Main Grid Columns --- */
.estone-footer-main {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: clamp(24px, 2.4vw, 48px) !important;
  margin-bottom: 50px !important;
}

/* Contact Column: Pushes link columns to the right side */
.estone-footer-col-contact {
  flex: 0 0 240px !important;
  max-width: 260px !important;
  margin-right: auto !important;
}

.estone-footer-contact-item {
  margin-bottom: 12px !important;
}

.estone-footer-contact-label {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 3px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.estone-footer-contact-val {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #94a3b8 !important;
}

.estone-footer-contact-val a {
  color: #94a3b8 !important;
  text-decoration: none !important;
}

.estone-footer-contact-val a:hover {
  color: #ffffff !important;
}

.estone-footer-social-wrap {
  display: flex !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.estone-footer-social-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.estone-footer-social-btn:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.estone-footer-social-btn svg {
  width: 26px !important;
  height: 26px !important;
  fill: currentColor !important;
  display: block !important;
}

.estone-footer-social-btn i {
  font-size: 20px !important;
  color: inherit !important;
}

.estone-footer-social-btn img {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
}

/* Link Columns */
.estone-footer-col {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.estone-footer-col-head {
  font-size: 15px;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 6px 0 !important;
  white-space: nowrap !important;
}

.estone-footer-col-head a {
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font-size: inherit;
}

.estone-footer-col-head a:hover {
  color: #c61d23 !important;
}

.estone-footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.estone-footer-links li {
  margin-bottom: 8px;
  padding: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
}

.estone-footer-links a {
  color: #94a3b8 !important;
  font-size: 12px;
  line-height: 1.25 !important;
  padding: 1px 0 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  display: inline-block !important;
  white-space: nowrap !important;
}

.estone-footer-links a:hover {
  color: #ffffff !important;
}

/* --- Bottom Row (Copyright & ISO & Contact Us) --- */
.estone-footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  padding-top: 25px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.estone-footer-copyright {
  font-size: 11px !important;
  color: #64748b !important;
}

.estone-footer-bottom-right {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.estone-iso-badge {
  width: 74px !important;
  height: 74px !important;
  color: #94a3b8 !important;
  display: inline-block !important;
  transition: color 0.3s ease, transform 0.3s ease !important;
}

.estone-iso-badge:hover {
  color: #ffffff !important;
  transform: scale(1.06) !important;
}

.estone-iso-badge img {
  max-height: 74px !important;
  width: auto !important;
  display: block !important;
}

.iso-svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.estone-footer-btn-contact {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 26px !important;
  background-color: #c61d23 !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(198, 29, 35, 0.4) !important;
  transition: background-color 0.3s ease, transform 0.2s ease !important;
}

.estone-footer-btn-contact:hover {
  background-color: #e11d24 !important;
  transform: translateY(-2px) !important;
}

/* Responsive Footer Breakpoints */
@media (max-width: 1199.98px) {
  .estone-footer-main {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 30px !important;
  }
}

@media (max-width: 640px) {
  .estone-footer-main {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }

  .estone-footer-head {
    flex-direction: column !important;
  }

  .estone-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ==========================================================================
   5. Shared components
   ========================================================================== */

/* --- Buttons ------------------------------------------------------------- */
.wp-block-button__link {
  border-radius: 6px;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.wp-block-button:not(.estone-footer__cta):not(.estone-footer__subscribe-btn) .wp-block-button__link:hover {
  background-color: #0052A3;
  transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 2px solid var(--et-blue);
  color: var(--et-blue);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--et-blue);
  color: var(--et-white);
}

/* --- Hero slider --------------------------------------------------------- */
.estone-hero-slider {
  position: relative;
  overflow: hidden;
  background: var(--et-navy);
  color: var(--et-white);
  min-height: 500px;
}

.estone-hero-slider .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 500px;
}

.estone-hero-slider .slide-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 3rem 2rem;
  text-align: center;
}

.estone-hero-slider .slide-title {
  font-size: 2.75rem;
  font-weight: 800;
  color: var(--et-white);
  margin-bottom: 1rem;
  line-height: 1.15;
}

.estone-hero-slider .slide-subtitle {
  font-size: 1.2rem;
  color: #E2E8F0;
  margin-bottom: 2rem;
}

.estone-hero-slider .slide-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
}

/* --- Cards --------------------------------------------------------------- */
.estone-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.75rem;
  margin: 2rem 0;
}

.estone-card {
  background: var(--et-white);
  border: 1px solid var(--et-border);
  border-radius: 10px;
  padding: 1.75rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.estone-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.estone-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--et-navy);
  margin-bottom: 0.75rem;
}

/* --- Specification table ------------------------------------------------- */
.estone-spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}

.estone-spec-table th,
.estone-spec-table td {
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid var(--et-border);
  text-align: left;
}

.estone-spec-table th {
  background: var(--et-light-bg);
  color: var(--et-navy);
  font-weight: 600;
  width: 30%;
}

@media (max-width: 768px) {
  .estone-hero-slider .slide-title {
    font-size: 1.85rem;
  }

  .estone-card-grid {
    grid-template-columns: 1fr;
  }
}

/* Swiper Pagination Dashes (Bottom Left as per reference red box) */
#banner .swiper-pagination,
.estonetech-hero-swiper .swiper-pagination {
  position: absolute !important;
  bottom: 30px !important;
  left: 40px !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 10 !important;
  text-align: left !important;
}

#banner .swiper-pagination-bullet,
.estonetech-hero-swiper .swiper-pagination-bullet {
  width: 32px !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.4) !important;
  opacity: 0.6 !important;
  transition: all 0.3s ease !important;
  margin: 0 !important;
  cursor: pointer !important;
}

#banner .swiper-pagination-bullet-active,
.estonetech-hero-swiper .swiper-pagination-bullet-active {
  width: 48px !important;
  background: #ffffff !important;
  opacity: 1 !important;
}

/* --- Full-bleed Hero Swiper & Header Overlay Integration --- */
.estonetech-hero-swiper,
.wp-block-estonetech-hero-slider,
.wp-block-estonetech-hero-swiper {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1;
}

.estonetech-hero-swiper .swiper-slide,
.estonetech-hero-swiper .estonetech-hero-slide-item {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
}

/* Remove default Gutenberg content padding when ANY hero banner is present */
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .wp-site-blocks,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) main,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) main>div:not(.estone-footer),
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .entry-content,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .wp-block-post-content,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .is-layout-constrained,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .is-layout-flow,
body.has-hero-banner .wp-site-blocks,
body.has-hero-banner main,
body.has-hero-banner main>div:not(.estone-footer),
body.has-hero-banner .entry-content,
body.has-hero-banner .wp-block-post-content,
body.has-hero-banner .is-layout-constrained,
body.has-hero-banner .is-layout-flow {
  padding-top: 0 !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* ==========================================================================
   HEADER DYNAMIC & OVERLAY STYLES
   ========================================================================== */

/* 1. Header positioning on pages with Hero Swiper or Hero Banners */
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) header,
body.has-hero-banner header,
body.home header,
.estonetech-banner-embedded-header,
.estonetech-banner-embedded-header header,
header.wp-block-template-part,
header,
.estone-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  height: auto !important;
  min-height: 56px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Admin bar offset for logged-in users */
body.admin-bar .estone-header,
body.admin-bar header.wp-block-template-part,
.admin-bar>.wp-site-blocks>header.wp-block-template-part {
  top: 32px !important;
}

@media (max-width: 782px) {

  body.admin-bar .estone-header,
  body.admin-bar header.wp-block-template-part,
  .admin-bar>.wp-site-blocks>header.wp-block-template-part {
    top: 46px !important;
  }
}

/* Spacing fixes between header and hero */
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"])>.wp-site-blocks>.entry-content,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"])>.wp-site-blocks>.wp-block-post-content,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) main,
body.has-hero-banner>.wp-site-blocks>.entry-content,
body.has-hero-banner>.wp-site-blocks>.wp-block-post-content,
body.has-hero-banner main {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"])>.wp-site-blocks>*+.entry-content,
body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"])>.wp-site-blocks>*+.wp-block-post-content,
body.has-hero-banner>.wp-site-blocks>*+.entry-content,
body.has-hero-banner>.wp-site-blocks>*+.wp-block-post-content {
  margin-block-start: 0 !important;
}

body:has(.estonetech-hero-swiper) .estonetech-hero-swiper {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .wp-site-blocks,
body.has-hero-banner .wp-site-blocks {
  gap: 0 !important;
}

body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"]) .wp-site-blocks>*:not(header),
body.has-hero-banner .wp-site-blocks>*:not(header) {
  margin-block-start: 0 !important;
}

/* ============================================================
   ESTONE HEADER & NAVIGATION ULTIMATE OVERRIDES
   ============================================================ */

/* DEFAULT HEADER STATE: Solid White Background, Crisp Dark Slate Gray Text */
html body .estone-header,
html body header.wp-block-template-part,
html body header {
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E2E8F0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

html body .estone-header *,
html body header.wp-block-template-part *,
html body header * {
  color: #334155 !important;
  fill: #334155 !important;
  stroke: #334155 !important;
  text-shadow: none !important;
}

html body .estone-header .estone-header__logo img,
html body .estone-header .custom-logo,
html body header .wp-block-site-logo img,
html body header .custom-logo {
  filter: none !important;
}

/* TRANSPARENT HEADER AT TOP ON ALL PAGES WITH DARK HERO BANNER / HERO SWIPER / EDITABLE BANNER (Not Scrolled & Not Hovered) */
html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled),
html body.has-hero-banner:not(.header-is-scrolled) header.wp-block-template-part:not(:hover):not(:focus-within):not(.is-scrolled),
html body.has-hero-banner:not(.header-is-scrolled) header:not(:hover):not(:focus-within):not(.is-scrolled),
html body.has-hero-banner:not(.header-is-scrolled) .wp-site-blocks>header:not(:hover):not(:focus-within):not(.is-scrolled),
html body:not(.header-is-scrolled) .estonetech-banner-embedded-header:not(:hover):not(:focus-within):not(.is-scrolled),
html body:not(.header-is-scrolled) .estonetech-banner-embedded-header header:not(:hover):not(:focus-within):not(.is-scrolled),
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled),
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) header.wp-block-template-part:not(:hover):not(:focus-within):not(.is-scrolled),
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) header:not(:hover):not(:focus-within):not(.is-scrolled),
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) .wp-site-blocks>header:not(:hover):not(:focus-within):not(.is-scrolled) {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body.has-hero-banner:not(.header-is-scrolled) header.wp-block-template-part:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body.has-hero-banner:not(.header-is-scrolled) header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body.has-hero-banner:not(.header-is-scrolled) .wp-site-blocks>header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body:not(.header-is-scrolled) .estonetech-banner-embedded-header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body:not(.header-is-scrolled) .estonetech-banner-embedded-header header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) header.wp-block-template-part:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) header:not(:hover):not(:focus-within):not(.is-scrolled) *,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) .wp-site-blocks>header:not(:hover):not(:focus-within):not(.is-scrolled) * {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body.has-hero-banner:not(.header-is-scrolled) header.wp-block-template-part:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body.has-hero-banner:not(.header-is-scrolled) header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body.has-hero-banner:not(.header-is-scrolled) .wp-site-blocks>header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body:not(.header-is-scrolled) .estonetech-banner-embedded-header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body:not(.header-is-scrolled) .estonetech-banner-embedded-header header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) header.wp-block-template-part:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) header:not(:hover):not(:focus-within):not(.is-scrolled) img,
html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .wp-block-estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="header-banner"], [class*="hero-banner"], [class*="hero-swiper"]):not(.header-is-scrolled) .wp-site-blocks>header:not(:hover):not(:focus-within):not(.is-scrolled) img {
  filter: brightness(0) invert(1) !important;
}

/* EXPLICIT HOVER AND SCROLLED STATE: Solid White Background */
html body.header-is-scrolled .estone-header,
html body.header-is-scrolled header.wp-block-template-part,
html body.header-is-scrolled header,
html body.header-is-scrolled .wp-site-blocks>header,
html body.header-is-scrolled .estonetech-banner-embedded-header,
html body.header-is-scrolled .estonetech-banner-embedded-header .estone-header,
html body .estone-header:hover,
html body header.wp-block-template-part:hover,
html body header:hover,
html body .wp-site-blocks>header:hover,
html body .estonetech-banner-embedded-header:hover,
html body .estone-header:focus-within,
html body header:focus-within,
html body .wp-site-blocks>header:focus-within,
html body .estonetech-banner-embedded-header:focus-within,
html body .estone-header.is-scrolled,
html body .estonetech-banner-embedded-header.is-scrolled {
  background-color: #FFFFFF !important;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E2E8F0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

html body.header-is-scrolled .estone-header *,
html body.header-is-scrolled header.wp-block-template-part *,
html body.header-is-scrolled header *,
html body.header-is-scrolled .wp-site-blocks>header *,
html body.header-is-scrolled .estonetech-banner-embedded-header *,
html body.header-is-scrolled .estonetech-banner-embedded-header .estone-header *,
html body .estone-header:hover *,
html body header.wp-block-template-part:hover *,
html body header:hover *,
html body .wp-site-blocks>header:hover *,
html body .estonetech-banner-embedded-header:hover *,
html body .estone-header:focus-within *,
html body header:focus-within *,
html body .wp-site-blocks>header:focus-within *,
html body .estonetech-banner-embedded-header:focus-within *,
html body .estone-header.is-scrolled *,
html body .estonetech-banner-embedded-header.is-scrolled * {
  color: #334155 !important;
  fill: #334155 !important;
  stroke: #334155 !important;
  text-shadow: none !important;
}

html body.header-is-scrolled .estone-header img,
html body.header-is-scrolled header.wp-block-template-part img,
html body.header-is-scrolled header img,
html body.header-is-scrolled .wp-site-blocks>header img,
html body.header-is-scrolled .estonetech-banner-embedded-header img,
html body.header-is-scrolled .estonetech-banner-embedded-header .estone-header img,
html body .estone-header:hover img,
html body header.wp-block-template-part:hover img,
html body header:hover img,
html body .wp-site-blocks>header:hover img,
html body .estonetech-banner-embedded-header:hover img,
html body.header-is-scrolled img,
html body .estone-header.is-scrolled img,
html body .estonetech-banner-embedded-header.is-scrolled img,
html body .estone-header .estone-header__logo img,
html body .estone-header .custom-logo,
html body header .wp-block-site-logo img,
html body header .custom-logo {
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hover link color */
html body .estone-header a:hover,
html body header a:hover,
html body .estone-header .wp-block-navigation-item__content:hover {
  color: #C40808 !important;
}

/* Desktop Dropdown & Language Menu Styling */
@media (min-width: 1024px) {
  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container {
    background: #FFFFFF !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 45px rgba(11, 30, 61, 0.14) !important;
    border: 0 !important;
    padding: 24px 24px 24px 24px !important;
    min-width: max-content !important;
    width: max-content !important;
    max-width: 90vw !important;
    overflow: visible !important;
    z-index: 999999 !important;
  }

  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item {
    margin-bottom: 12px !important;
    width: 100% !important;
    min-width: max-content !important;
    display: block !important;
  }

  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item:last-child {
    margin-bottom: 0 !important;
  }

  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 2px 14px 2px 14px !important;
    color: #68717D !important;
    font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
    width: auto !important;
    transition: color 0.25s ease !important;
  }

  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 3px !important;
    background: #C40808 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
  }

  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content:hover,
  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content:focus {
    color: #003F7C !important;
  }

  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content:hover::before,
  .estone-header:not(:has(.is-menu-open)) .estone-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.has-mega)>.wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content:focus::before {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .estone-header__nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .estone-header__nav .wp-block-navigation__container,
  .estone-header__right {
    gap: 12px !important;
  }

  .estone-header__lang .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-container {
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    min-width: 65px !important;
    width: 65px !important;
    margin-top: 10px !important;
    padding: 8px 4px !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    z-index: 999999 !important;
  }

  .estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content {
    display: block !important;
    width: 100% !important;
    padding: 6px 0 !important;
    margin: 0 0 4px 0 !important;
    color: #334155 !important;
    font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }

  .estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child>.wp-block-navigation-item__content {
    margin-bottom: 0 !important;
  }

  .estone-header__lang .wp-block-navigation__submenu-container .wp-block-navigation-item>.wp-block-navigation-item__content:hover {
    background: #F1F5F9 !important;
    color: #003F7C !important;
  }
}

/* ==========================================================================
   Remove hover effects (scale / zoom / translateY lift) from all pictures,
   cards, and sections across the entire website
   ========================================================================== */
.estone-techgrid-card,
.estone-techgrid-img-wrap,
.estone-techgrid-img,
.estonetech-feature-card-wrapper,
.estonetech-card-img,
.estonetech-card-img img,
.estonetech-related-card,
.estonetech-related-img-wrap,
.estonetech-related-img-wrap img,
.estone-sol-card,
.estone-sol-card-img,
.estone-core-tech-featured-card,
.estone-core-tech-featured-bg,
.estone-core-tech-card,
.wp-block-post-featured-image img,
.entry-content img,
img,
[class*="-card"],
[class*="grid-card"],
[class*="-card-wrapper"],
[class*="-section-wrapper"] {
  transition: none !important;
}

*:hover>img,
*:hover img,
*:hover::before,
*:hover::after,
.estone-techgrid-card:hover,
.estone-techgrid-card:hover .estone-techgrid-img,
.estonetech-feature-card-wrapper:hover,
.estonetech-feature-card-wrapper:hover .estonetech-card-img img,
.estonetech-related-card:hover,
.estonetech-related-card:hover .estonetech-related-img-wrap img,
.estone-sol-card:hover,
.estone-sol-card:hover .estone-sol-card-img,
.estone-core-tech-featured-card:hover,
.estone-core-tech-featured-card:hover .estone-core-tech-featured-bg,
.estone-core-tech-card:hover,
.estone-core-tech-card:hover .estone-core-tech-thumb,
.estone-cat-card:hover,
.estone-cat-card:hover .estone-cat-card-bg,
.estonetech-use-case-card:hover,
.epg-card:hover,
.epg-card:hover .epg-card-img-wrap img,
.estone-tgrid-card:hover,
.estone-tgrid-card:hover .estone-tgrid-img,
.estone-pgrid-card:hover,
.eap-grid-card:hover,
.eap-icon-card:hover,
.estone-card:hover,
[class*="-card"]:hover,
[class*="grid-card"]:hover,
[class*="-card-wrapper"]:hover,
[class*="-section-wrapper"]:hover,
section:hover,
.wp-block-group:hover {
  transform: none !important;
}

/* ==========================================================================
   Increase font-weight for all website descriptions, paragraphs, and body copy
   ========================================================================== */
body,
p,
li,
.wp-block-paragraph,
.entry-content p,
.entry-content li,
.wp-block-post-content p,
.wp-block-post-content li,
.estonetech-card-desc,
.estonetech-card-desc p,
.estonetech-card-desc li,
.estonetech-univ-desc,
.estonetech-univ-desc p,
.estonetech-univ-desc li,
.estone-techgrid-subtitle,
.estone-techgrid-card-desc,
.estone-custom-tech-grid-wrapper p,
.estone-sol-card-desc,
.estone-sol-card-body p,
.estonetech-related-desc,
.estonetech-related-body p,
.epg-card-desc,
.epg-card-excerpt,
.epg-card-content p,
.estone-tgrid-card-desc,
.estone-tgrid-card-excerpt,
.estone-tgrid-card-content p,
.eap-text-block p,
.eap-paragraph,
.eap-card-desc,
.estonetech-cta-desc,
.estonetech-use-case-desc,
.estone-banner-desc,
.estonetech-banner-desc,
.estonetech-banner-subtitle,
.estonetech-feature-card-wrapper .estonetech-card-desc,
[class*="-desc"],
[class*="-description"],
[class*="-subtitle"],
[class*="-excerpt"] {
  font-weight: 500 !important;
}

/* ==========================================================================
   Estone Technology Showcase: No Title Line & 100% Height Image Match
   ========================================================================== */
.estone-tech-right-col .estone-tech-title-area,
.estone-tech-title-area {
  border-left: none !important;
  padding-left: 0 !important;
}

.estone-tech-grid {
  align-items: stretch !important;
}

.estone-tech-left-col {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
}

.estone-tech-showcase-container {
  height: 100% !important;
  min-height: 100% !important;
  flex: 1 1 100% !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}

.estone-tech-main-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.estone-tech-card-icon-wrap {
  width: 48px !important;
  height: 48px !important;
  border-radius: 6px !important;
  background: #f0f7ff !important;
  border: 1px solid #d0e3ff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #003875 !important;
  flex-shrink: 0 !important;
}

.estone-tech-card-icon-wrap svg {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: #003875 !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
}

.estone-tech-card-icon-wrap img {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
}

/* ==========================================================================
   Content & Partner Links: Blue Color with Distinct Underline
   ========================================================================== */
.estone-partner-link,
.estone-partner-text-col a,
.estone-partner-desc a,
.estonetech-card-desc a:not(.estonetech-card-btn),
.estonetech-univ-desc a,
.eap-text-block a,
.entry-content p a:not(.wp-block-button__link):not(.btn),
.wp-block-post-content p a:not(.wp-block-button__link):not(.btn) {
  color: #0066CC !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: color 0.2s ease, opacity 0.2s ease !important;
}

.estone-partner-link:hover,
.estone-partner-text-col a:hover,
.estone-partner-desc a:hover,
.estonetech-card-desc a:not(.estonetech-card-btn):hover,
.estonetech-univ-desc a:hover,
.eap-text-block a:hover,
.entry-content p a:not(.wp-block-button__link):not(.btn):hover,
.wp-block-post-content p a:not(.wp-block-button__link):not(.btn):hover {
  color: #003F7C !important;
  text-decoration: underline !important;
  opacity: 0.85 !important;
}

/* ==========================================================================
   Estone Dynamic Category Grid Showcase
   ========================================================================== */
.estone-cat-showcase-wrap {
  width: 100% !important;
  max-width: 1700px !important;
  margin: 0 auto 60px auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
}

.estone-cat-showcase-intro {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  margin-bottom: 45px !important;
  max-width: 1400px !important;
}

.estone-cat-section {
  margin-bottom: 50px !important;
}

.estone-cat-section-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 24px !important;
  letter-spacing: -0.3px !important;
}

.estone-cat-grid-wrap {
  display: grid !important;
  gap: 24px !important;
  width: 100% !important;
}

.estone-cat-grid-1 {
  grid-template-columns: 1fr !important;
}

.estone-cat-grid-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.estone-cat-grid-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

.estone-cat-grid-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.estone-cat-grid-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

.estone-cat-grid-6 {
  grid-template-columns: repeat(6, 1fr) !important;
}

.estone-cat-card {
  position: relative !important;
  border-radius: 0;
  overflow: hidden !important;
  background-color: #0f172a !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
  box-sizing: border-box !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

.estone-cat-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

.estone-cat-card-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
  border: none !important;
}

.estone-cat-card-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0.15) 50%, rgba(15, 23, 42, 0.65) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.estone-cat-card-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 35px 20px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.estone-cat-card-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 14px 0 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6) !important;
  letter-spacing: -0.2px !important;
  text-align: center !important;
}

.estone-cat-card-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 18px !important;
  border-radius: 50px !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
}

.estone-cat-card:hover .estone-cat-card-btn {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #ffffff !important;
}

@media (max-width: 1024px) {
  .estone-cat-grid-wrap {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .estone-cat-grid-wrap {
    grid-template-columns: 1fr !important;
  }

  .estone-cat-card {
    height: 320px !important;
  }
}

/* ==========================================================================
   Estone Pre-Footer CTA Section (Top Wavy Sub-Section & Overlapping Card)
   ========================================================================== */
.estone-prefooter-wrapper {
  position: relative !important;
  width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-bottom: 0 !important;
  background: transparent !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  z-index: 15 !important;
}

.editor-styles-wrapper .estone-prefooter-wrapper,
.block-editor-block-list__layout .estone-prefooter-wrapper,
.block-editor-block-list__block .estone-prefooter-wrapper,
.block-editor-iframe__html .estone-prefooter-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
}

.estone-prefooter-wrapper * {
  box-sizing: border-box !important;
}

.estone-pf-top-stage {
  width: 100% !important;
  position: relative !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  padding-top: 120px !important;
  padding-bottom: 220px !important;
}

.estone-pf-inner-container {
  margin: 0 auto !important;
  width: 100% !important;
  position: relative !important;
  z-index: 10 !important;
}

/* 1. Top Sub-Section ("Can't Find The Perfect Fit?") */
.estone-pf-top-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.estone-pf-top-title {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.estone-pf-top-subtitle {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  line-height: 1.55 !important;
  margin: 0 0 24px 0 !important;
  font-weight: 500 !important;
}

.estone-pf-top-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  padding: 8px 24px !important;
  border-radius: 50px !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
}

.estone-pf-top-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 56, 117, 0.12) !important;
}

.estone-pf-top-btn .arrow-icon {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
}

.estone-pf-top-btn:hover .arrow-icon {
  transform: translate(2px, -2px) !important;
}

/* 2. Overlapping Card ("Ready to Build Your Custom Solution?") */
.estone-pf-card-stage {
  position: relative !important;
  width: 100% !important;
  margin-top: -135px !important;
  margin-bottom: -135px !important;
  z-index: 20 !important;
  transition: margin-bottom 0.25s ease !important;
}

.estone-pf-bottom-card {
  position: relative !important;
  width: 100% !important;
  min-height: 270px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4) !important;
  border-radius: 8px !important;
}

.estone-pf-bottom-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.estone-pf-bottom-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 560px !important;
  padding: 2.25rem 3rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.estone-pf-bottom-title {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 8px 0 !important;
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.estone-pf-bottom-subtitle {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.5 !important;
  font-size: 13.5px !important;
  margin: 0 0 18px 0 !important;
}

.estone-pf-bottom-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 8px 22px !important;
  border-radius: 50px !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
  backdrop-filter: blur(4px) !important;
}

.estone-pf-bottom-btn:hover {
  transform: translateY(-2px) !important;
}

.estone-pf-bottom-btn .arrow-icon {
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
}

.estone-pf-bottom-btn:hover .arrow-icon {
  transform: translate(2px, -2px) !important;
}

@media (max-width: 768px) {
  .estone-pf-top-content {
    padding: 0 1rem !important;
  }

  .estone-pf-bottom-stage {
    margin-top: -60px !important;
  }

  .estone-pf-bottom-content {
    padding: 2.5rem 1.75rem !important;
    max-width: 100% !important;
  }
}

/* ==========================================================================
   Services Page & Universal Mobile / Tablet Viewport Centering & Alignment
   ========================================================================== */
@media (max-width: 1024px) {

  html,
  body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .wp-site-blocks {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  main,
  .entry-content,
  .wp-block-post-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .estonetech-header-banner,
  .wp-block-estonetech-header-banner,
  .estonetech-hero-swiper,
  .estone-custom-tech-grid-wrapper,
  .estone-prefooter-wrapper,
  .estonetech-universal-section-wrapper,
  .estonetech-cta-banner-wrapper,
  .estone-techgrid-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;


    right: 0 !important;
    box-sizing: border-box !important;
  }

  .estonetech-header-banner-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .estonetech-banner-inner {
    max-width: 100% !important;
    width: 100% !important;
  }

  .estonetech-universal-section-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .estonetech-universal-section-wrapper .univ-flex-container {
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .estonetech-universal-section-wrapper .univ-content-box {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  .estone-custom-tech-grid-wrapper {
    padding: 3rem 1.25rem !important;
  }

  .estone-techgrid-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    width: 100% !important;
  }

  .estonetech-cta-banner-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

  .estonetech-cta-banner-card {
    padding: 30px 20px !important;
    min-height: auto !important;
    width: 100% !important;
  }

  .estonetech-cta-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  .estonetech-cta-desc {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 640px) {
  .estonetech-banner-title {
    font-size: 25px !important;
    line-height: 31px !important;
  }

  .estonetech-banner-desc,
  .estonetech-banner-desc p {
    font-size: 13px !important;
    line-height: 18px !important;
  }
}

@media (max-width: 480px) {
  .estonetech-banner-title {
    font-size: 22px !important;
    line-height: 28px !important;
  }

  .estonetech-banner-desc,
  .estonetech-banner-desc p {
    font-size: 13px !important;
    line-height: 18px !important;
  }
}

.estone-pf-bottom-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

.estone-pf-bottom-content {
  position: relative !important;
  z-index: 2 !important;
  max-width: 560px !important;
  padding: 2.25rem 3rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.estone-prefooter-wrapper {
  position: relative !important;
  width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: -30px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  z-index: 15 !important;
}

/* Eliminate top margins from block containers preceding pre-footer */
.entry-content>.estone-prefooter-wrapper,
.wp-block-post-content>.estone-prefooter-wrapper,
.wp-site-blocks>.estone-prefooter-wrapper,
main>.estone-prefooter-wrapper {
  margin-top: -30px !important;
}

.editor-styles-wrapper .estone-prefooter-wrapper,
.block-editor-block-list__layout .estone-prefooter-wrapper,
.block-editor-block-list__block .estone-prefooter-wrapper,
.block-editor-iframe__html .estone-prefooter-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
}

.estone-prefooter-wrapper * {
  box-sizing: border-box !important;
}

.estone-pf-top-stage {
  width: 100% !important;
  position: relative !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  padding-top: 120px !important;
  padding-bottom: 200px !important;
  background-color: #ebf4fc !important;
}

.estone-pf-top-btn:hover {
  transform: translateY(-2px) !important;
}

.estone-pf-top-btn .arrow-icon {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
}

.estone-pf-top-btn:hover .arrow-icon {
  transform: translate(2px, -2px) !important;
}

/* 2. Overlapping Card ("Ready to Build Your Custom Solution?") */
.estone-pf-card-stage {
  position: relative !important;
  width: 100% !important;
  margin-top: -135px !important;
  margin-bottom: -135px !important;
  z-index: 20 !important;
  transition: margin-bottom 0.25s ease !important;
}

.estone-pf-bottom-card {
  position: relative !important;
  width: 100% !important;
  min-height: 270px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4) !important;
  border-radius: 8px !important;
}

.estone-pf-bottom-title {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 8px 0 !important;
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.estone-pf-bottom-subtitle {
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.5 !important;
  font-size: 13.5px !important;
  margin: 0 0 18px 0 !important;
}

.estone-pf-bottom-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  padding: 8px 22px !important;
  border-radius: 50px !important;
  transition: all 0.25s ease !important;
  line-height: 1 !important;
  backdrop-filter: blur(4px) !important;
}

.estone-pf-bottom-btn:hover {
  transform: translateY(-2px) !important;
}

.estone-pf-bottom-btn .arrow-icon {
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
}

.estone-pf-bottom-btn:hover .arrow-icon {
  transform: translate(2px, -2px) !important;
}

@media (max-width: 768px) {
  .estone-pf-top-content {
    padding: 0 1rem !important;
  }

  .estone-pf-card-stage {
    margin-top: 24px !important;
    margin-bottom: -60px !important;
  }

  .estone-pf-bottom-content {
    padding: 2rem 1.5rem !important;
    max-width: 100% !important;
  }

  .estone-prefooter-wrapper+.estone-footer,
  .estone-prefooter-wrapper+* .estone-footer,
  body:has(.estone-prefooter-wrapper) .estone-footer,
  .wp-block-group:has(.estone-prefooter-wrapper) .estone-footer {
    padding-top: 115px !important;
    overflow: visible !important;
  }
}

/* ==========================================================================
   Services Page & Universal Mobile / Tablet Viewport Centering & Alignment
   ========================================================================== */
@media (max-width: 1024px) {

  html,
  body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .wp-site-blocks {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  main,
  .entry-content,
  .wp-block-post-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .estonetech-header-banner,
  .wp-block-estonetech-header-banner,
  .estonetech-hero-swiper,
  .estone-custom-tech-grid-wrapper,
  .estone-prefooter-wrapper,
  .estonetech-universal-section-wrapper,
  .estonetech-cta-banner-wrapper,
  .estone-techgrid-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
  }

  .estonetech-header-banner-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .estonetech-banner-inner {
    max-width: 100% !important;
    width: 100% !important;
  }

  .estonetech-universal-section-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .estonetech-universal-section-wrapper .univ-flex-container {
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .estonetech-universal-section-wrapper .univ-content-box {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  .estone-custom-tech-grid-wrapper {
    padding: 3rem 1.25rem !important;
  }

  .estone-techgrid-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    width: 100% !important;
  }

  .estonetech-cta-banner-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

  .estonetech-cta-banner-card {
    padding: 30px 20px !important;
    min-height: auto !important;
    width: 100% !important;
  }

  .estonetech-cta-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  .estonetech-cta-desc {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 640px) {
  .estone-techgrid-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   ESTONE MOBILE & TABLET NAVBAR & DRAWER (< 1200px)
   ========================================================================== */
@media (max-width: 1199.98px) {

  /* ==========================================================================
     Footer Mobile & Tablet Responsive Layout (< 1200px)
     ========================================================================== */
  /* Outer template part wrapper MUST have 0 padding and 0 margin on mobile/tablet */
  footer.wp-block-template-part,
  .wp-block-template-part-footer,
  footer {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* Actual footer section: stretches 100% edge-to-edge, zero margin on all sides */
  .estone-footer,
  .wp-block-group.alignfull.estone-footer,
  .wp-block-group.estone-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 48px 24px 30px 24px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* When used with prefooter CTA, preserve room for the overlapping card (< 1200px) */
  .estone-pf-card-stage {
    margin-bottom: -110px !important;
  }

  .estone-prefooter-wrapper+.estone-footer,
  .estone-prefooter-wrapper+* .estone-footer,
  body:has(.estone-prefooter-wrapper) .estone-footer,
  .wp-block-group:has(.estone-prefooter-wrapper) .estone-footer {
    padding-top: 165px !important;
    overflow: visible !important;
  }

  main,
  .wp-site-blocks>main,
  .wp-site-blocks>.entry-content,
  .wp-site-blocks>.wp-block-post-content {
    margin-bottom: 0 !important;
  }

  .estone-footer-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .estone-footer-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    width: 100% !important;
  }

  .estone-footer-subscribe-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  .estone-footer-input-box {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Tablet Footer Grid (641px - 1199px): Line 1 = Services, Products, Solutions | Line 2 = Technologies, Company */
  .estone-footer-main {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 35px 24px !important;
    width: 100% !important;
    margin-bottom: 40px !important;
    box-sizing: border-box !important;
    align-items: start !important;
  }

  .estone-footer-col-contact {
    grid-column: 1 / -1 !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 10px !important;
  }

  .estone-footer-col {
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .estone-footer-col-head,
  .estone-footer-col-head a,
  .estone-footer-links li,
  .estone-footer-links a {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.4 !important;
  }

  .estone-footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 15px !important;
    width: 100% !important;
  }
}

/* Navbar, hamburger and drawer switch to desktop at 1024px */
@media (max-width: 1023.98px) {

  /* 1. Mobile & Tablet Navbar Fixed Header Guarantee */
  .wp-site-blocks {
    overflow: visible !important;
    overflow-x: visible !important;
  }

  header.wp-block-template-part,
  .wp-block-template-part-header,
  .wp-site-blocks>header,
  header,
  .estone-header {
    padding: 0 16px !important;
    height: 64px !important;
    min-height: 64px !important;
    background: #FFFFFF !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
    transform: none !important;
  }

  body.admin-bar header.wp-block-template-part,
  body.admin-bar header,
  body.admin-bar .wp-site-blocks>header,
  body.admin-bar .estone-header {
    top: 32px !important;
  }

  @media (max-width: 782px) {

    body.admin-bar header.wp-block-template-part,
    body.admin-bar header,
    body.admin-bar .wp-site-blocks>header,
    body.admin-bar .estone-header {
      top: 46px !important;
    }
  }

  .estone-header__inner {
    min-height: 64px !important;
    height: 64px !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .estone-header__logo img,
  .wp-block-site-logo img {
    max-height: 36px !important;
    width: auto !important;
  }

  .estone-header__right {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  /* Hamburger Toggle Button (Adaptive Dark Hero & Light Header) */
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 7px 10px !important;
    color: #0f172a !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }

  .wp-block-navigation__responsive-container-open svg {
    fill: #0f172a !important;
    stroke: #0f172a !important;
    width: 22px !important;
    height: 22px !important;
  }

  /* Hamburger on Dark Hero Banner / Transparent Header (Frosted Glass with Crisp White Icon) */
  html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open,
  html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="hero"]):not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open svg,
  html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="hero"]):not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open svg {
    fill: #FFFFFF !important;
    stroke: #FFFFFF !important;
  }

  .wp-block-navigation__responsive-container-open:hover {
    background: #e2e8f0 !important;
  }

  html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
  }

  /* ------------------------------------------------------------------
     MOBILE DRAWER (< 1200px)
     A push drawer: the panel slides in from the right and the page is
     pushed left by exactly the panel width, so the header controls stay
     reachable on the sliver of page still on screen.

     Core adds .has-modal-open to <html> while the drawer is open (and
     locks scrolling there), so the whole thing is driven off that class
     with no extra JS.
     ------------------------------------------------------------------ */
  :root {
    --et-drawer-w: clamp(250px, 62vw, 400px);
  }

  /* Tablets: narrow panel so the page stays visible beside it */
  @media (min-width: 600px) {
    :root {
      --et-drawer-w: 260px;
    }
  }

  /* 2. Every submenu starts collapsed; the accordion in js/mobile-nav.js
     opens one at a time by putting .is-open on the parent item. */
  .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
  .estone-header .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container,
  html body .estone-header .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container,
  html body header .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: none !important;
    flex-direction: column !important;
    gap: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    z-index: 1 !important;
  }

  /* 3. The panel itself */
  .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: var(--et-drawer-w) !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #f7f8f9 !important;
    background-color: #f7f8f9 !important;
    color: #374151 !important;
    z-index: 100000 !important;
    padding: 0 !important;
    /* Scrolling lives on the content below, not here: a scroll container
       clips its position:fixed descendants, which would swallow the close
       button parked outside the panel. */
    overflow: visible !important;
    box-sizing: border-box !important;
    display: block !important;
    box-shadow: -8px 0 28px rgba(15, 23, 42, 0.12) !important;
    border-left: 1px solid #e4e7ea !important;
  }

  /* Push the page and the fixed bar aside by the panel width.
     `left` rather than `transform`: a transform on an ancestor would make
     this drawer position itself against the (page-tall) wrapper instead of
     the viewport, which would fling it off-screen once scrolled. */
  .wp-site-blocks {
    position: relative;
    left: 0;
    transition: left 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  }

  html.has-modal-open .wp-site-blocks {
    left: calc(-1 * var(--et-drawer-w));
  }

  html.has-modal-open body .estone-header,
  html.has-modal-open body header.wp-block-template-part,
  html.has-modal-open body .wp-site-blocks > header {
    left: calc(-1 * var(--et-drawer-w)) !important;
    right: auto !important;
    width: 100% !important;
    transition: left 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  html.has-modal-open body {
    overflow-x: hidden !important;
  }

  .wp-block-navigation__responsive-close,
  .wp-block-navigation__responsive-dialog {
    width: 100% !important;
    height: 100% !important;
    position: static !important;
    display: block !important;
  }

  /* Core leaves the hamburger in the DOM and simply lets the drawer cover
     it. Here the page slides out from under the panel, which would expose
     it again right on top of the close button. Hide it but keep its slot,
     so the close button below lands exactly where it was. */
  html.has-modal-open .wp-block-navigation__responsive-container-open {
    visibility: hidden !important;
  }

  /* 4. Close button - parked over the page, just left of the panel, so it
     lands where the hamburger was before the page slid across. */
  .wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: calc(var(--et-admin-offset, 0px) + 16px) !important;
    right: calc(var(--et-drawer-w) + 18px) !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 100001 !important;
    color: #ffffff !important;
  }

  .wp-block-navigation__responsive-container-close svg {
    width: 26px !important;
    height: 26px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }

  /* On a light page there is no hero behind the button, so invert it. */
  html.has-modal-open body:not(.has-hero-banner) .wp-block-navigation__responsive-container-close,
  html.has-modal-open body.header-is-scrolled .wp-block-navigation__responsive-container-close {
    color: #0f172a !important;
  }

  /* 5. Lists */
  .wp-block-navigation__responsive-container-content {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 74px 0 40px 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    gap: 0 !important;
  }

  /* 6. Top-level rows */
  .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    border-bottom: 1px solid #e4e7ea !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 19px 56px 19px 22px !important;
    margin: 0 !important;
    color: #3f4a56 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    background: transparent !important;
  }

  /* Hollow bullet in front of every top-level label. */
  .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::before,
  .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > a::before {
    content: "" !important;
    flex: 0 0 auto !important;
    width: 7px !important;
    height: 7px !important;
    margin-right: 17px !important;
    border: 1.5px solid #c4cad1 !important;
    border-radius: 50% !important;
    background: transparent !important;
    display: inline-block !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover,
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item > a:hover {
    color: #c61d23 !important;
  }

  /* No desktop underline sweep inside the panel. */
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
    display: none !important;
  }

  /* 7. +/- toggle */
  .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle,
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    font-size: 0 !important;
    color: #98a1ab !important;
  }

  /* Core ships a chevron SVG; swap it for the +/- of the reference design. */
  .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg,
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg {
    display: none !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle::before,
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon::before {
    content: "+" !important;
    font-size: 19px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    color: #98a1ab !important;
    font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation-item.is-open > .wp-block-navigation-submenu__toggle::before,
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item.is-open > .wp-block-navigation__submenu-icon::before {
    content: "\2212" !important; /* minus sign */
  }

  /* 8. Opened submenu */
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item.is-open > .wp-block-navigation__submenu-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    background: #f1f3f5 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid #e4e7ea !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation-item.is-open > .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item.is-open > a {
    color: #1f2937 !important;
  }

  /* 9. Second level */
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    border-bottom: 1px solid #e7eaed !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container > .wp-block-navigation-item:last-child {
    border-bottom: none !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
    padding: 15px 56px 15px 22px !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.45 !important;
    color: #3f4a56 !important;
    text-transform: none !important;
    align-items: flex-start !important;
  }

  /* Chevron marker, sitting on the same left gutter as the bullet above. */
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content::before,
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item > a::before {
    content: "\203A" !important; /* single right angle quote */
    flex: 0 0 auto !important;
    width: 7px !important;
    margin-right: 17px !important;
    color: #b3bbc3 !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    border: none !important;
    background: none !important;
    display: inline-block !important;
  }

  /* 10. Third level */
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    background: #e9ecef !important;
  }

  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
    padding-left: 46px !important;
    font-size: 13px !important;
    color: #55606b !important;
  }

  /* Mega-menu items are ordinary accordion rows once inside the panel. */
  .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-mega > .wp-block-navigation__submenu-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    columns: auto !important;
    grid-template-columns: none !important;
  }
}

@media (max-width: 1199.98px) {

  @media (min-width: 768px) and (max-width: 1199.98px) {

    /* Tablet View (768px - 1199px): 3 Columns on Line 1 (Services, Products, Solutions), 2 Columns on Line 2 (Technologies, Company) */
    .estone-footer-main {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 35px 24px !important;
      width: 100% !important;
      align-items: start !important;
    }

    .estone-footer-col-contact {
      grid-column: 1 / -1 !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-bottom: 10px !important;
    }
  }

  @media (max-width: 767.98px) {

    /* Mobile Phone View (< 768px) */
    .estone-footer {
      padding: 40px 16px 28px 16px !important;
    }

    .estone-footer-main {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 25px 20px !important;
    }

    .estone-footer-col-contact {
      grid-column: 1 / -1 !important;
    }
  }
}

@media (max-width: 480px) {
  .estone-footer {
    padding: 36px 14px 24px 14px !important;
  }

  .estone-footer-main {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* Hide standalone post-featured-image block on single product/news pages */
.single-et_product .wp-block-post-featured-image,
.single-products .wp-block-post-featured-image,
.single-product .wp-block-post-featured-image,
.single-news .wp-block-post-featured-image,
.single-et_news .wp-block-post-featured-image,
.single-post .wp-block-post-featured-image,
.single .wp-block-post-featured-image {
  display: none !important;
}

/* Global Reset: Remove border radius from ALL images and image cards across the entire website */
img,
img.wp-post-image,
.wp-block-image img,
.wp-block-post-featured-image img,
.estone-cat-card,
.estone-cat-card-bg,
.estone-cat-card-overlay,
.estone-cat-showcase-wrap a,
.estone-product-card,
.estone-product-card-img,
.estone-product-card-bg,
.estone-products-card,
.estone-products-card-inner,
.estone-products-card-img,
.estone-products-grid a,
.estone-products-showcase a,
.estone-products-showcase-item,
.estone-products-card-overlay,
.estone-techgrid-card,
.estone-techgrid-img,
.estone-techgrid-img-wrap,
.estone-core-tech-featured-card,
.estone-core-tech-featured-bg,
.estone-core-tech-featured-overlay,
.estone-core-tech-card,
.estone-news-card,
.estone-news-hero-card,
.estone-news-card-img,
.estone-news-hero-img,
.estone-news-hero-card,
.estone-news-card-img-wrap,
.estone-techbanner-img,
.estone-techbanner-img-wrap,
.estone-techbanner-item,
.estone-product-detail-custom-wrapper img,
.estone-product-gallery img,
.estone-product-thumb img,
.estone-products-card-img,
.estone-solutions-card,
.estone-solutions-card-img,
.estone-why-choose-card,
.estone-why-choose-img,
.estone-about-card,
.estone-about-img,
.estone-tech-showcase-container,
.estone-tech-main-img,
.estone-tech-card-overlay,
.univ-img-box img {
  border-radius: 0 !important;
}

/* ==========================================================================
   ESTONE WHY CHOOSE ESTONE TECHNOLOGY — RESPONSIVE OVERRIDE
   Mobile & Tablet (< 992px): 1-Column centered cards, zero overflow
   PC (>= 992px): Completely untouched!
   ========================================================================== */
@media (max-width: 991.98px) {
  .estone-why-choose-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-inner-container {
    width: 100% !important;
    max-width: 580px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-header-box {
    text-align: center !important;
    margin: 0 auto 30px auto !important;
    width: 100% !important;
    padding: 0 8px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    text-align: center !important;
    margin: 0 0 12px 0 !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-subtitle {
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: center !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 4px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 540px !important;
    margin: 0 auto !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-card {
    width: 100% !important;
    max-width: 540px !important;
    margin: 0 auto !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05) !important;
  }

  /* Keep the desktop composition - icon in a left column, title, rule and
     copy in a right column - rather than stacking the icon above the text. */
  .estone-why-choose-wrapper .estone-wchoose-card-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-icon-box {
    margin-top: 2px !important;
    margin-bottom: 0 !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-icon-box svg,
  .estone-why-choose-wrapper .estone-wchoose-icon-box img {
    width: 42px !important;
    height: 42px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-content-box {
    width: 100% !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-card-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 6px 0 !important;
    word-break: normal !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-accent-line {
    margin: 6px 0 12px 0 !important;
    width: 28px !important;
    height: 3px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-card-desc {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
  }
}

@media (max-width: 480px) {
  .estone-why-choose-wrapper {
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-top: 40px !important;
    padding-bottom: 48px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-title {
    font-size: 23px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-card {
    padding: 22px 18px !important;
  }

  .estone-why-choose-wrapper .estone-wchoose-card-title {
    font-size: 17px !important;
  }
}

/* Hide stray default titles or duplicate headers above main hero banner */
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner) .wp-block-post-title,
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner) .entry-title,
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner)>h1:not(.estonetech-banner-title),
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner)>h2:not(.estonetech-banner-title),
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner) .wp-site-blocks>h1:not(.estonetech-banner-title),
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner) .wp-site-blocks>h2:not(.estonetech-banner-title),
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner) main>h1:not(.estonetech-banner-title),
body:has(.estonetech-header-banner, .wp-block-estonetech-header-banner) main>h2:not(.estonetech-banner-title) {
  display: none !important;
}

/* Ensure banner container has adequate top padding to clear fixed header & WP Admin bar */
body.not-admin .estonetech-header-banner,
.estonetech-header-banner {
  padding-top: 130px !important;
}

body.admin-bar .estonetech-header-banner,
body.admin-bar .wp-block-estonetech-header-banner {
  padding-top: 162px !important;
}

/* ==========================================================================
   Estone Technology Showcase: Perfect Image Fit & Proportional Grid
   ========================================================================== */
.estone-tech-right-col .estone-tech-title-area,
.estone-tech-title-area {
  border-left: none !important;
  padding-left: 0 !important;
  margin-bottom: 1.1rem !important;
}

.estone-tech-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: clamp(20px, 2vw, 36px) !important;
  align-items: stretch !important;
  width: 100% !important;
}

.estone-tech-left-col {
  flex: 1.22 1 520px !important;
  min-width: 320px !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
}

.estone-tech-right-col {
  flex: 1 1 410px !important;
  min-width: 320px !important;
}

.estone-tech-showcase-container {
  height: 100% !important;
  min-height: 100% !important;
  flex: 1 1 100% !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #091424 !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;
}

.estone-tech-main-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.estone-tech-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
}

.estone-tech-list-item {
  padding: 0.72rem 1.1rem !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 6px !important;
  margin-bottom: 0 !important;
}

.estone-tech-list-icon-wrap {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
}

.estone-tech-list-icon-wrap svg,
.estone-tech-list-icon-wrap img {
  width: 18px !important;
  height: 18px !important;
}

.estone-tech-list-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.estone-tech-list-desc {
  font-size: 0.8rem !important;
  line-height: 1.35 !important;
  margin-top: 2px !important;
}

/* ==========================================================================
   Eliminate gaps between consecutive Related Products sections & Prefooter CTA
   ========================================================================== */
.estonetech-related-sec {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.estonetech-related-sec+.estonetech-related-sec {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.estonetech-related-sec:has(+ .estonetech-related-sec) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.estonetech-related-sec:has(+ .estonetech-ind-features-wrapper),
.estonetech-related-sec:has(+ .wp-block-estonetech-industrial-features-slider) {
  padding-bottom: 40px !important;
  margin-bottom: 0 !important;
}

.estonetech-related-sec+.estone-prefooter-wrapper,
.wp-block-estonetech-related-products+.wp-block-estone-pre-footer-cta,
.estonetech-related-sec+.wp-block-estone-pre-footer-cta {
  margin-top: 0 !important;
}

.estonetech-related-sec+.estone-prefooter-wrapper .estone-pf-top-stage,
.wp-block-estonetech-related-products+.wp-block-estone-pre-footer-cta .estone-pf-top-stage {
  padding-top: 30px !important;
}

.estonetech-no-products-msg {
  padding: 20px 20px !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   Estone Industrial Features Slider Global Fixes
   ========================================================================== */
section.estonetech-ind-features-wrapper,
div.estonetech-ind-features-wrapper,
.entry-content>section.estonetech-ind-features-wrapper,
.wp-block-post-content>section.estonetech-ind-features-wrapper,
.wp-site-blocks section.estonetech-ind-features-wrapper {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
  background-color: #143053 !important;
  background-position: center bottom !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  z-index: 10 !important;
}

.estonetech-ind-features-container {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

.estonetech-ind-features-header {
  margin-bottom: 28px !important;
  width: 100% !important;
}

.estonetech-ind-features-title {
  margin: 0 0 10px 0 !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  display: block !important;
  visibility: visible !important;
}

.estonetech-ind-features-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  background-color: #ffffff !important;
  border-radius: 8px !important;
  padding: 24px 20px !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
}

.estonetech-ind-features-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.25) !important;
}

.estonetech-ind-features-icon-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 16px !important;
  width: 52px !important;
  height: 52px !important;
  flex-shrink: 0 !important;
  color: #003875 !important;
}

.estonetech-ind-features-card-title {
  margin: 0 !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  line-height: 1.35 !important;
  width: 100% !important;
  word-break: break-word !important;
}

.estonetech-ind-features-dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 28px !important;
}

.estonetech-ind-features-dot {
  width: 20px !important;
  height: 4px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border: none !important;
  padding: 0 !important;
  outline: none !important;
  background-color: rgba(255, 255, 255, 0.35) !important;
}

.estonetech-ind-features-dot.active {
  width: 32px !important;
  background-color: #ffffff !important;
}

.wp-admin .estonetech-ind-features-wrapper,
.editor-styles-wrapper .estonetech-ind-features-wrapper {
  margin: 20px 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-color: #143053 !important;
}

/* ==========================================================================
   Estone Medical Tablet PC Grid Section Full-Width Breakout
   ========================================================================== */
body:not(.wp-admin) .estone-med-tablet-section,
body:not(.wp-admin) .wp-block-estone-medical-tablet-grid,
body:not(.wp-admin) section.estone-med-tablet-section {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

.estone-med-tablet-container {
  width: 100% !important;
  max-width: 1400px;
  margin: 0 auto !important;
  box-sizing: border-box;
}

.wp-admin .estone-med-tablet-section,
.editor-styles-wrapper .estone-med-tablet-section {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.estone-med-card {
  position: relative !important;
  box-sizing: border-box;
}

.estone-med-card-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background-color: #c61d23;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  z-index: 2;
  line-height: 1.2;
}

.estone-med-card-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.5 !important;
  min-height: 3em !important;
  max-height: 3em !important;
  margin-bottom: 20px !important;
}

/* ==========================================================================
   Estone Related Solutions Scoped Overlay Cards (Fix Border & Title Color)
   ========================================================================== */
.estone-solutions-wrapper .estone-sol-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.estone-solutions-wrapper .estone-sol-img-wrap {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

.estone-solutions-wrapper .estone-sol-img {
  width: 100% !important;
  height: 260px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  margin: 0 !important;
}

.estone-solutions-wrapper .estone-sol-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.65) 80%, rgba(0, 0, 0, 0.85) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  border-radius: 4px !important;
}

.estone-solutions-wrapper .estone-sol-card-title {
  position: absolute !important;
  bottom: 1.1rem !important;
  left: 1.1rem !important;
  right: 1.1rem !important;
  margin: 0 !important;
  font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Tahoma, Arial, sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.35 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6) !important;
  z-index: 2 !important;
  text-align: left !important;
}

/* ==========================================================================
   Generous Spacing between Intro Text and Feature Cards (Service Pages)
   ========================================================================== */
.estone-article-pro {
  padding-top: 55px !important;
  padding-bottom: 35px !important;
  margin-bottom: 25px !important;
}

.estonetech-feature-card-wrapper,
.wp-block-estonetech-feature-card {
  margin-top: 60px !important;
  margin-bottom: 50px !important;
}


/* ==========================================================================
   Related Products Card Badge & Learn More Button Styles
   ========================================================================== */
.estonetech-card-badge-new {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  background-color: #c8102e !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 3px 10px !important;
  border-radius: 50px !important;
  line-height: 1.2 !important;
  z-index: 2 !important;
}

.estonetech-related-btn-wrap {
  margin-top: auto !important;
  padding-top: 14px !important;
  text-align: center !important;
}

.estonetech-related-card-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px solid #c8102e !important;
  color: #c8102e !important;
  background: transparent !important;
  border-radius: 50px !important;
  padding: 6px 24px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.estonetech-related-card:hover .estonetech-related-card-btn {
  background-color: #c8102e !important;
  color: #ffffff !important;
}

.estonetech-related-filter-btn {
  transition: all 0.2s ease !important;
}

.estonetech-related-filter-btn:hover {
  background-color: #f1f5f9 !important;
  border-color: #94a3b8 !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE PER-SECTION REBUILD (0px - 768px)
   Matches reference screenshot exactly without affecting desktop (1025px+)
   or tablet (769px - 1024px).
   ========================================================================== */
@media (max-width: 768px) {

  /* Prevent any horizontal overflow */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* --- 1. Mobile Header & Controls Alignment --- */
  .estone-header,
  header.wp-block-template-part,
  header {
    padding: 0 16px !important;
    height: 60px !important;
    min-height: 60px !important;
  }

  .estone-header__inner {
    min-height: 60px !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .estone-header__logo,
  .wp-block-site-logo {
    margin: 0 !important;
  }

  .estone-header__logo img,
  .wp-block-site-logo img {
    max-height: 28px !important;
    width: auto !important;
  }

  .estone-header__right {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  /* Reorder right controls: Search -> Globe -> Hamburger */
  .estone-header__search {
    order: 1 !important;
    margin: 0 !important;
  }

  .estone-header__lang {
    order: 2 !important;
    margin: 0 !important;
  }

  .estone-header__nav {
    order: 3 !important;
    margin: 0 !important;
  }

  .estone-header__search .wp-block-search__button {
    padding: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .estone-header__search .wp-block-search__button svg {
    width: 20px !important;
    height: 20px !important;
  }

  /* Hide language caret on mobile */
  .estone-header__lang .wp-block-navigation__submenu-icon {
    display: none !important;
  }

  .estone-header__lang .wp-block-navigation-item__content {
    padding: 4px !important;
  }

  /* Clean hamburger icon button */
  .estone-header__nav .wp-block-navigation__responsive-container-open {
    background: transparent !important;
    border: none !important;
    padding: 4px !important;
    box-shadow: none !important;
    color: inherit !important;
  }

  .estone-header__nav .wp-block-navigation__responsive-container-open svg {
    width: 22px !important;
    height: 22px !important;
  }

  /* --- 2. Hero Slider (Framing Drone at top, Text/CTA, Handheld GCS at bottom) --- */
  .estonetech-hero-swiper,
  .estonetech-hero-swiper .swiper-wrapper,
  .estonetech-hero-swiper .swiper-slide,
  .estonetech-hero-swiper .estonetech-hero-slide-item {
    min-height: 680px !important;
    height: 680px !important;
  }

  .estonetech-hero-swiper .estonetech-hero-slide-item {
    padding-top: 75px !important;
    padding-bottom: 40px !important;
    align-items: flex-start !important;
    position: relative !important;
  }

  /* Crop and position background image so drone is on top and GCS handheld controller is visible */
  .estonetech-hero-swiper .estone-hero-bg-img {
    object-fit: cover !important;
    object-position: 72% center !important;
    width: 100% !important;
    height: 100% !important;
  }

  .estonetech-header-banner-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
  }

  .estonetech-banner-inner {
    max-width: 100% !important;
    width: 100% !important;
  }

  .estonetech-banner-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    margin-bottom: 12px !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6) !important;
  }

  .estonetech-banner-desc,
  .estonetech-banner-desc p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    margin-bottom: 16px !important;
    max-width: 330px !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7) !important;
  }

  .estonetech-banner-btn-wrap {
    margin-top: 18px !important;
  }

  .estonetech-banner-btn {
    padding: 10px 24px !important;
    background-color: #c61d23 !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(198, 29, 35, 0.45) !important;
  }

  /* Swiper pagination bullets */
  .estonetech-hero-swiper .swiper-pagination {
    bottom: 20px !important;
    left: 20px !important;
  }

  /* --- 7. Universal Section (Bottom CTA Card) --- */
  .estonetech-universal-section-wrapper {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    margin: 30px auto !important;
    padding: 36px 18px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
  }

  .estonetech-universal-section-wrapper .univ-flex-container {
    width: 100% !important;
  }

  .estonetech-universal-section-wrapper .univ-content-box {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .estonetech-universal-section-wrapper .univ-title {
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #0b1e3d !important;
    text-align: center !important;
    margin-bottom: 14px !important;
  }

  .estonetech-universal-section-wrapper .univ-desc,
  .estonetech-universal-section-wrapper .univ-desc p {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    text-align: center !important;
    margin-bottom: 24px !important;
  }

  .estonetech-universal-section-wrapper .univ-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px 14px !important;
    width: 100% !important;
  }

  .estonetech-universal-section-wrapper .univ-buttons .univ-btn {
    padding: 10px 22px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Row 1: Two buttons side by side */
  .estonetech-universal-section-wrapper .univ-buttons .univ-btn:nth-child(1) {
    background-color: #c61d23 !important;
    color: #ffffff !important;
    border: none !important;
    min-width: 125px !important;
  }

  .estonetech-universal-section-wrapper .univ-buttons .univ-btn:nth-child(2) {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1.5px solid #0f172a !important;
    min-width: 145px !important;
  }

  /* Row 2: One button centered */
  .estonetech-universal-section-wrapper .univ-buttons .univ-btn:nth-child(3) {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1.5px solid #0f172a !important;
    min-width: 135px !important;
    margin-top: 2px !important;
  }

  /* --- 8. Footer (Pill input, divider, social icons, copyright) --- */
  html body .estone-footer,
  html body .wp-block-group.estone-footer,
  html body .wp-block-group.alignfull.estone-footer,
  .estone-footer {
    padding: 30px 16px 25px !important;
    background: radial-gradient(circle at 50% 20%, #0e3b7a 0%, #041738 55%, #010a1a 100%) !important;
  }

  .estone-footer-container {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Hide header logo and text in footer on mobile */
  .estone-footer-head {
    display: block !important;
    width: 100% !important;
  }

  .estone-footer-logo-wrap {
    display: none !important;
  }

  .estone-footer-subscribe-wrap {
    max-width: 100% !important;
    width: 100% !important;
  }

  .estone-footer-subscribe-title {
    display: none !important;
  }

  .estone-footer-subscribe-disclaimer {
    display: none !important;
  }

  /* Newsletter Input Pill */
  .estone-footer-input-box {
    position: relative !important;
    background: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    height: 44px !important;
    padding: 2px 16px 2px 20px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .estone-footer-email-input {
    color: #0f172a !important;
    font-size: 13px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    height: 100% !important;
    flex: 1 !important;
  }

  .estone-footer-email-input::placeholder {
    color: #94a3b8 !important;
    font-size: 13px !important;
  }

  .estone-footer-submit-btn {
    position: static !important;
    background: transparent !important;
    color: #0b1e3d !important;
    font-size: 18px !important;
    padding: 0 4px !important;
    margin-left: 8px !important;
    line-height: 1 !important;
  }

  .estone-footer-submit-btn:hover {
    color: #c61d23 !important;
  }

  /* Divider line */
  .estone-footer-divider {
    margin: 20px 0 16px 0 !important;
    background: rgba(255, 255, 255, 0.15) !important;
  }

  /* Hide multi-column link lists and contact rows */
  .estone-footer-main {
    display: block !important;
    margin-bottom: 12px !important;
  }

  .estone-footer-col:not(.estone-footer-col-contact) {
    display: none !important;
  }

  .estone-footer-col-contact {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .estone-footer-contact-item {
    display: none !important;
  }

  /* Social Icons */
  .estone-footer-social-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 14px 0 !important;
  }

  .estone-footer-social-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
  }

  .estone-footer-social-btn.youtube {
    background: #c61d23 !important;
    border-color: #c61d23 !important;
  }

  .estone-footer-social-btn svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Hide bottom right ISO badges and Contact Us button on mobile */
  .estone-footer-bottom-right {
    display: none !important;
  }

  .estone-footer-bottom {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .estone-footer-copyright {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }
}

/* Phones (<= 480px): larger logo, plain hamburger icon, 20px side gutters */
@media (max-width: 480px) {
  html body .estone-header {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  html body .estone-header .estone-header__logo img,
  html body header .wp-block-site-logo img {
    max-height: 40px !important;
  }

  html body .estone-header .wp-block-navigation__responsive-container-open,
  html body .estone-header .wp-block-navigation__responsive-container-open:hover,
  html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open,
  html body.has-hero-banner:not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open:hover,
  html body:has(.estone-hero-overlay, .estone-header-banner, .estonetech-header-banner, .page-header-banner, .estonetech-hero-swiper, [class*="hero"]):not(.header-is-scrolled) .estone-header:not(:hover):not(:focus-within):not(.is-scrolled) .wp-block-navigation__responsive-container-open {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }

  html body .estone-header .wp-block-navigation__responsive-container-open svg {
    width: 26px !important;
    height: 26px !important;
  }
}


/* Footer at 1024px - 1199px: restore the 24px side gutters the tablet layout intends
   (the site-wide footer rule above zeroes left/right padding with higher specificity) */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  html body .estone-footer,
  html body .wp-block-group.estone-footer,
  html body .wp-block-group.alignfull.estone-footer {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}


/* Card grid (Services and other tech-grid sections) at 900px - 1024px:
   3 columns with wide gutters and a compact caption bar */
@media (min-width: 900px) and (max-width: 1024px) {
  html body .estone-custom-tech-grid-wrapper {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 52px !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-card {
    border-radius: 4px !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-title-bar {
    min-height: 42px !important;
    padding: 5px 7px !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-card-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }
}

/* Card grid at 641px - 768px: one full-width card per row with a compact caption bar */
@media (min-width: 641px) and (max-width: 768px) {
  html body .estone-custom-tech-grid-wrapper .estone-techgrid-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-img-wrap {
    aspect-ratio: 5 / 3 !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-title-bar {
    min-height: 40px !important;
    padding: 8px 12px !important;
  }

  html body .estone-custom-tech-grid-wrapper .estone-techgrid-card-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }
}
