/*
 * Layout & structure by reference: https://lawtheme.com/
 * Works with lawyer-palette.css (colors #C5ADC5, #B2B5E0, white)
 */

/* ---------- Top bar - люкс: тёмный градиент + золотая линия (duiticketarrest style) ---------- */
#top-header,
.partners-top-bar {
  padding: 14px 0 !important;
  font-size: var(--text-small) !important;
  background: linear-gradient( #3a3840 0%, #2a282e 100%) !important;
  color: #fff !important;
  border-bottom: 2px solid rgba(200, 180, 140, 0.35) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

/* То же ограничение ширины, что и у блоков контента */
#top-header .container,
.partners-top-bar .container {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.partners-top-bar-left {
  display: flex !important;
  align-items: center;
}

.partners-top-bar-message {
  color: rgba(255, 255, 255, 0.95) !important;
  font-weight: 500;
  font-size: var(--text-small);
  line-height: 1.4;
}

.partners-top-bar-stat {
  color: #fff !important;
  font-weight: 800;
  font-size: 1.08em;
  letter-spacing: 0.02em;
}

.partners-top-bar-stat-label {
  color: rgba(255, 255, 255, 0.92) !important;
}

.partners-top-bar-right {
  display: flex !important;
  align-items: center;
  gap: 18px !important;
  flex-wrap: wrap;
}

.partners-top-bar-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 26px 11px 22px;
  background: linear-gradient(135deg, #d4b87a 0%, #b89452 42%, #9a7840 100%) !important;
  color: #1f1a14 !important;
  font-weight: 800;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-decoration: none !important;
  text-transform: uppercase;
  border-radius: 999px;
  white-space: nowrap;
  border: 2px solid #c0392b;
  box-shadow:
    0 4px 18px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(192, 57, 43, 0.45),
    0 0 14px rgba(192, 57, 43, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.35) inset;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease, border-color 0.22s ease;
}

.partners-top-bar-call-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: block;
}

.partners-top-bar-call:hover,
.partners-top-bar-call:focus-visible {
  color: #14110d !important;
  transform: translateY(-2px);
  filter: brightness(1.06);
  border-color: #e74c3c;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(231, 76, 60, 0.55),
    0 0 22px rgba(231, 76, 60, 0.38),
    0 1px 0 rgba(255, 255, 255, 0.22) inset;
}

.partners-top-bar-call:focus-visible {
  outline: 2px solid rgba(231, 76, 60, 0.85);
  outline-offset: 3px;
}

.partners-top-bar-fax {
  color: rgba(255, 255, 255, 0.62) !important;
  font-weight: 500;
  font-size: 0.75rem;
  text-decoration: none;
  white-space: nowrap;
  opacity: 0.92;
}

.partners-top-bar-fax:hover {
  color: rgba(212, 184, 122, 0.95) !important;
  opacity: 1;
}

.partners-top-bar-fax-label {
  font-weight: 500;
  opacity: 0.88;
  margin-right: 2px;
}

/* Fallback for default top bar markup */
#et-info {
  display: flex !important;
  align-items: center;
  gap: 1.25em;
  flex-wrap: wrap;
}

#et-info-phone,
#et-info-email {
  color: var(--lawyer-text, #333) !important;
  font-weight: 500;
}

#top-header a:hover #et-info-email,
#top-header #et-info a:hover {
  color: var(--lawyer-primary) !important;
}

#et-secondary-menu {
  display: flex !important;
  align-items: center;
  gap: 1em;
}

#et-secondary-menu ul li {
  display: inline-block;
  margin: 0 0 0 1em !important;
}

#et-secondary-menu a {
  color: var(--lawyer-text-muted, #555) !important;
}

#et-secondary-menu a:hover {
  color: var(--lawyer-primary) !important;
}

@media (max-width: 980px) {
  .partners-top-bar .container {
    flex-direction: column;
    text-align: center;
  }
  .partners-top-bar-message {
    text-align: center;
  }
  .partners-top-bar-right {
    justify-content: center;
    width: 100%;
  }
  .partners-top-bar-call {
    min-width: 220px;
  }
  .partners-top-bar-fax {
    width: 100%;
    text-align: center;
  }
}

/* ---------- На главной: люкс-меню - золото, стекло, шевроны, плавные выпадашки ---------- */
.lawtheme-front-nav {
  --hl-nav-chevron: rgba(55, 48, 58, 0.55);
  --hl-nav-chevron-hover: rgba(107, 90, 112, 0.95);
  --hl-nav-panel-bg: linear-gradient(
    165deg,
    rgba(255, 255, 255, 0.97) 0%,
    rgba(252, 250, 246, 0.98) 45%,
    rgba(248, 244, 238, 0.99) 100%
  );
  --hl-nav-panel-border: rgba(150, 130, 95, 0.22);
  --hl-nav-panel-shadow:
    0 4px 6px rgba(45, 42, 38, 0.03),
    0 18px 48px rgba(45, 38, 52, 0.11),
    0 0 0 1px rgba(255, 255, 255, 0.65) inset;
  background: linear-gradient(
    180deg,
    #ece5d8 0%,
    #e8e1d2 22%,
    #ebe4d4 50%,
    #efe8dc 78%,
    #f2ebe0 100%
  );
  border-bottom: 1px solid rgba(140, 118, 88, 0.28);
  box-shadow:
    0 8px 28px rgba(38, 34, 30, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -1px 0 rgba(160, 135, 95, 0.12);
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  overflow: visible !important;
}

.lawtheme-front-nav .lawtheme-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  overflow: visible !important;
}

.lawtheme-front-menu-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: visible !important;
}

.lawtheme-front-nav .nav,
.lawtheme-front-nav .lawtheme-front-menu {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.15em 1.65em;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.lawtheme-front-nav .nav > li {
  position: relative;
}

/* Без relative на пунктах подменю вложенный ul позиционируется от верхнего li - третий уровень «ломается» */
.lawtheme-front-nav .nav li ul li {
  position: relative;
}

.lawtheme-front-nav .nav > li > a {
  padding: 0.58em 0.35em 0.58em 0.35em !important;
  font-weight: 600 !important;
  font-size: calc(var(--text-small) + 0.5px) !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  color: #2e2830 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
  position: relative;
  transition: color 0.22s ease, letter-spacing 0.22s ease;
}

.lawtheme-front-nav .nav > li > a::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0.28em;
  width: 0;
  height: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, transparent, rgba(154, 133, 142, 0.85), rgba(180, 155, 115, 0.65), transparent);
  transform: translateX(-50%);
  transition: width 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
  opacity: 0;
  pointer-events: none;
}

.lawtheme-front-nav .nav > li > a:hover::before,
.lawtheme-front-nav .nav > li:focus-within > a::before {
  width: calc(100% - 0.5em);
  opacity: 1;
}

/* Шеврон вниз: тонкая геометрия, не Unicode */
.lawtheme-front-nav .nav > li.menu-item-has-children > a::after {
  content: '' !important;
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-left: 9px;
  margin-bottom: 2px;
  border-right: 1.5px solid var(--hl-nav-chevron);
  border-bottom: 1.5px solid var(--hl-nav-chevron);
  transform: rotate(45deg);
  transition:
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.2s ease,
    margin-bottom 0.2s ease;
  flex-shrink: 0;
}

.lawtheme-front-nav .nav > li.menu-item-has-children:hover > a::after,
.lawtheme-front-nav .nav > li.menu-item-has-children:focus-within > a::after {
  border-color: var(--hl-nav-chevron-hover);
  transform: rotate(45deg) translateY(2px);
  margin-bottom: 0;
}

.lawtheme-front-nav .nav > li > a:hover {
  color: #4a3d52 !important;
}

.lawtheme-front-nav .nav li ul a,
.lawtheme-front-nav .nav li .sub-menu a {
  transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.2s ease;
}

/* Панели подменю: «стекло», золотая кромка, мягкая тень */
.lawtheme-front-nav .nav li ul,
.lawtheme-front-nav .nav li .sub-menu {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  position: absolute !important;
  left: 0 !important;
  top: calc(100% + 4px) !important;
  min-width: min(280px, 92vw) !important;
  max-width: 92vw;
  margin: 0 !important;
  padding: 10px 0 !important;
  list-style: none !important;
  background: var(--hl-nav-panel-bg) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid var(--hl-nav-panel-border) !important;
  box-shadow: var(--hl-nav-panel-shadow) !important;
  border-radius: 12px !important;
  z-index: 10000 !important;
  transition:
    opacity 0.26s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.28s;
}

.lawtheme-front-nav .nav li ul::after,
.lawtheme-front-nav .nav li .sub-menu::after {
  content: '';
  position: absolute;
  left: 14px;
  right: 14px;
  top: 0;
  height: 2px;
  border-radius: 0 0 2px 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(175, 148, 108, 0.45) 22%,
    rgba(197, 173, 165, 0.55) 50%,
    rgba(175, 148, 108, 0.45) 78%,
    transparent 100%
  );
  pointer-events: none;
}

/* Мост над зазором */
.lawtheme-front-nav .nav > li > ul::before,
.lawtheme-front-nav .nav > li > .sub-menu::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}

.lawtheme-front-nav .nav li:hover > ul,
.lawtheme-front-nav .nav li:hover > .sub-menu,
.lawtheme-front-nav .nav li:focus-within > ul,
.lawtheme-front-nav .nav li:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.lawtheme-front-nav .nav li ul li a {
  padding: 13px 22px 13px 20px !important;
  font-size: var(--text-small) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: #3a3438 !important;
  border-bottom: none !important;
  border-left: 3px solid transparent !important;
  display: block !important;
  line-height: 1.35 !important;
}

.lawtheme-front-nav .nav li ul li + li a {
  box-shadow: 0 -1px 0 rgba(55, 48, 42, 0.06);
}

.lawtheme-front-nav .nav li ul li a:hover,
.lawtheme-front-nav .nav li ul li a:focus {
  background: linear-gradient(90deg, rgba(197, 173, 197, 0.12), rgba(197, 173, 197, 0.04)) !important;
  color: #5c4a62 !important;
  padding-left: 23px !important;
  border-left-color: rgba(154, 133, 142, 0.75) !important;
}

/*
 * Стрелки внутри выпадашек (Divi иногда гасит ::after у ссылок - SVG + !important).
 * Уровень 1 под топ-меню (DUI Defense → колонка справа): крупный шеврон вправо.
 * Глубже (Drug related DUI → третий уровень): тот же приём, чуть компактнее.
 */
.lawtheme-front-nav .nav > li > .sub-menu > li.menu-item-has-children > a,
.lawtheme-front-nav .nav .sub-menu .sub-menu li.menu-item-has-children > a {
  position: relative !important;
  overflow: visible !important;
}

.lawtheme-front-nav .nav > li > .sub-menu > li.menu-item-has-children > a {
  padding-right: 44px !important;
}

/* DUI Defense и др. - первый уровень под Practice Areas */
.lawtheme-front-nav .nav > li > .sub-menu > li.menu-item-has-children > a::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  right: 17px !important;
  top: 50% !important;
  width: 11px !important;
  height: 11px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  border: none !important;
  box-sizing: border-box !important;
  background: no-repeat 50% 50% !important;
  background-size: 11px 11px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M4.25 2.25L7.75 6l-3.5 3.75' stroke='%23484250' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  transform: translateY(-50%) !important;
  opacity: 0.88 !important;
  transition:
    opacity 0.22s ease,
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    right 0.22s ease !important;
  pointer-events: none !important;
}

.lawtheme-front-nav .nav > li > .sub-menu > li.menu-item-has-children:hover > a::after,
.lawtheme-front-nav .nav > li > .sub-menu > li.menu-item-has-children:focus-within > a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M4.25 2.25L7.75 6l-3.5 3.75' stroke='%237a6a82' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  opacity: 1 !important;
  right: 14px !important;
}

/* Drug related DUI и др. - внутри вложенной панели */
.lawtheme-front-nav .nav .sub-menu .sub-menu li.menu-item-has-children > a {
  padding-right: 40px !important;
}

.lawtheme-front-nav .nav .sub-menu .sub-menu li.menu-item-has-children > a::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  border: none !important;
  box-sizing: border-box !important;
  background: no-repeat 50% 50% !important;
  background-size: 10px 10px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M4.25 2.25L7.75 6l-3.5 3.75' stroke='%235c4d5c' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  transform: translateY(-50%) !important;
  opacity: 0.92 !important;
  transition:
    opacity 0.22s ease,
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    right 0.22s ease !important;
  pointer-events: none !important;
}

.lawtheme-front-nav .nav .sub-menu .sub-menu li.menu-item-has-children:hover > a::after,
.lawtheme-front-nav .nav .sub-menu .sub-menu li.menu-item-has-children:focus-within > a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M4.25 2.25L7.75 6l-3.5 3.75' stroke='%238b7790' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  opacity: 1 !important;
  right: 11px !important;
}

.lawtheme-front-nav .nav li ul li ul,
.lawtheme-front-nav .nav li ul li .sub-menu {
  left: calc(100% - 6px) !important;
  top: -10px !important;
  margin-left: 0 !important;
  min-width: min(268px, 88vw) !important;
  transform: translateX(-6px);
  transition:
    opacity 0.26s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.28s;
}

.lawtheme-front-nav .nav li ul li:hover > ul,
.lawtheme-front-nav .nav li ul li:hover > .sub-menu,
.lawtheme-front-nav .nav li ul li:focus-within > ul,
.lawtheme-front-nav .nav li ul li:focus-within > .sub-menu {
  transform: translateX(0);
}

/* Мост между колонками */
.lawtheme-front-nav .nav li ul li > ul::before,
.lawtheme-front-nav .nav li ul li > .sub-menu::before {
  content: '';
  position: absolute;
  left: -12px;
  top: 0;
  bottom: 0;
  width: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .lawtheme-front-nav .nav > li > a,
  .lawtheme-front-nav .nav > li > a::before,
  .lawtheme-front-nav .nav > li.menu-item-has-children > a::after,
  .lawtheme-front-nav .nav li ul,
  .lawtheme-front-nav .nav li .sub-menu,
  .lawtheme-front-nav .nav li ul li a,
  .lawtheme-front-nav .nav > li > .sub-menu > li.menu-item-has-children > a::after,
  .lawtheme-front-nav .nav .sub-menu .sub-menu li.menu-item-has-children > a::after {
    transition: none !important;
  }

  .lawtheme-front-nav .nav li ul,
  .lawtheme-front-nav .nav li .sub-menu {
    transform: none !important;
  }

  .lawtheme-front-nav .nav li:hover > ul,
  .lawtheme-front-nav .nav li:hover > .sub-menu,
  .lawtheme-front-nav .nav li:focus-within > ul,
  .lawtheme-front-nav .nav li:focus-within > .sub-menu,
  .lawtheme-front-nav .nav li ul li:hover > ul,
  .lawtheme-front-nav .nav li ul li:hover > .sub-menu,
  .lawtheme-front-nav .nav li ul li:focus-within > ul,
  .lawtheme-front-nav .nav li ul li:focus-within > .sub-menu {
    transform: none !important;
  }
}

/* ---------- Прячем deprecated WordPress fallback header (рендерится только если родительская Divi не активна) ---------- */
#page > #header[role="banner"],
#page > #header[role="banner"] + hr {
  display: none !important;
}

/* ---------- На главной: полностью убираем main header (не скроллится, не показывается) ---------- */
body.lawtheme-front-page #main-header,
body.lawtheme-front-page header#main-header,
body.lawtheme-front-page .gt_header,
body.lawtheme-front-page [id="main-header"],
body.lawtheme-front-page .et_pb_menu.et_pb_menu--main {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  position: absolute !important;
  left: -9999px !important;
  pointer-events: none !important;
}

/* ---------- Главная: тёмный топ-бар + золотая полоска меню - всегда сверху, меню из «Primary Menu» ---------- */
body.lawtheme-front-page {
  /*
   * Высота тёмного топ-бара (padding 14+14 + border 2px + ряд с кнопкой CTA).
   * Раньше было 56px - меньше реальной, из-за этого .lawtheme-front-nav
   * начинался выше и визуально уходил *под* бар (z-index бара выше).
   */
  --lawtheme-topbar-height: 80px;
  /* ≈ min-height полоски меню после люкс-стилей */
  --lawtheme-front-nav-height: 58px;
}

@media (max-width: 980px) {
  body.lawtheme-front-page {
    /* Две колонки в колонку: текст + блок телефон/CTA - выше бар */
    --lawtheme-topbar-height: 120px;
    --lawtheme-front-nav-height: 64px;
  }

  body.lawtheme-front-page .lawtheme-front-nav {
    min-height: 64px;
  }
}

body.lawtheme-front-page #top-header.partners-top-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 100050 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  /* Match the reserved offset so the gold menu sits flush, no gap showing through */
  min-height: var(--lawtheme-topbar-height) !important;
}

body.lawtheme-front-page #top-header.partners-top-bar > .container {
  width: 100% !important;
}

body.admin-bar.lawtheme-front-page #top-header.partners-top-bar {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.lawtheme-front-page #top-header.partners-top-bar {
    top: 46px !important;
  }
}

body.lawtheme-front-page .lawtheme-front-nav {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: var(--lawtheme-topbar-height) !important;
  z-index: 100040 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.admin-bar.lawtheme-front-page .lawtheme-front-nav {
  top: calc(32px + var(--lawtheme-topbar-height)) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.lawtheme-front-page .lawtheme-front-nav {
    top: calc(46px + var(--lawtheme-topbar-height)) !important;
  }
}

body.lawtheme-front-page #main-content.lawtheme-front-wrap {
  padding-top: calc(0px + var(--lawtheme-topbar-height) + var(--lawtheme-front-nav-height)) !important;
}

body.admin-bar.lawtheme-front-page #main-content.lawtheme-front-wrap {
  padding-top: calc(0px + var(--lawtheme-topbar-height) + var(--lawtheme-front-nav-height)) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.lawtheme-front-page #main-content.lawtheme-front-wrap {
    padding-top: calc(0px + var(--lawtheme-topbar-height) + var(--lawtheme-front-nav-height)) !important;
  }
}

body.lawtheme-front-page .lawtheme-front-nav .nav li ul {
  z-index: 100060 !important;
}

/* ---------- Убираем стандартный Divi footer: вместо него рендерится общий Lawtheme footer ---------- */
body #main-footer,
body #footer {
  display: none !important;
}

/* ---------- Main header: фиксирован вверху, не скроллится (только НЕ на главной) ---------- */
body:not(.lawtheme-front-page) #main-header,
body:not(.lawtheme-front-page) #main-header.partners-main-header,
body:not(.lawtheme-front-page) .gt_header.partners-main-header,
body:not(.lawtheme-front-page) .gt_header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  width: 100% !important;
}

/* Контент не заходит под фиксированный хедер (только когда хедер виден) */
body:not(.lawtheme-front-page) #page-container {
  padding-top: 100px !important;
}

/* Убрать паддинг у контейнера при фиксированной навигации Divi */
.et_fixed_nav.et_show_nav #page-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#main-header .container,
.gt_header .container {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

#main-header .nav,
#main-header .et_pb_menu__menu nav ul,
.gt_header .nav {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1.25em !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 0 0 16px !important;
}

#main-header .nav > li,
#main-header .et_pb_menu__menu nav ul > li,
.gt_header .nav > ul > li {
  position: relative;
  list-style: none !important;
}

#main-header .nav li a,
.et_pb_menu__menu nav ul li a,
.gt_header .nav ul li a {
  padding: 0.6em 0.75em !important;
  font-weight: 700 !important;
  font-size: var(--text-small) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #4a4050 !important;
  transition: color 0.2s ease, background 0.2s ease !important;
  display: block !important;
  text-decoration: none !important;
}

#main-header .nav li a:hover,
.et_pb_menu__menu nav ul li a:hover,
.gt_header .nav ul li a:hover {
  color: var(--lawyer-primary-dark, #7a6a8a) !important;
}

/* Стрелка вниз у пунктов с подменю (первый уровень) */
#main-header .nav > li.menu-item-has-children > a::after,
#main-header .et_pb_menu__menu nav ul > li.menu-item-has-children > a::after,
.gt_header .nav > ul > li.menu-item-has-children > a::after {
  content: '\25BC';
  font-size: 9px;
  margin-left: 6px;
  opacity: 0.8;
  vertical-align: middle;
}

/* Выпадающее меню 1-го уровня - как на lawtheme.com: белый фон, чёткие границы */
#main-header .nav li ul,
#main-header .nav li .sub-menu,
.gt_header .nav li ul,
.gt_header .nav li .sub-menu {
  display: none !important;
  position: absolute !important;
  left: 0 !important;
  top: 100% !important;
  min-width: 240px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  list-style: none !important;
  background: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12) !important;
  border-radius: 4px !important;
  z-index: 10000 !important;
}

#main-header .nav li:hover > ul,
#main-header .nav li:hover > .sub-menu,
.gt_header .nav li:hover > ul,
.gt_header .nav li:hover > .sub-menu {
  display: block !important;
}

#main-header .nav li ul li a,
.gt_header .nav li ul li a {
  padding: 12px 20px 12px 18px !important;
  font-size: var(--text-small) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: var(--lawyer-text, #333) !important;
  white-space: nowrap !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
}

#main-header .nav li ul li:last-child a,
.gt_header .nav li ul li:last-child a {
  border-bottom: none !important;
}

#main-header .nav li ul li a:hover,
.gt_header .nav li ul li a:hover {
  background: rgba(197, 173, 197, 0.1) !important;
  color: var(--lawyer-primary) !important;
}

/* Стрелка вправо у пунктов с подменю (внутри выпадашки) */
#main-header .nav li ul li.menu-item-has-children > a::after,
.gt_header .nav li ul li.menu-item-has-children > a::after {
  content: '\25B6';
  float: right;
  font-size: 10px;
  opacity: 0.7;
}

/* Выпадающее меню 2-го уровня - справа от первого */
#main-header .nav li ul li ul,
#main-header .nav li ul li .sub-menu,
.gt_header .nav li ul li ul,
.gt_header .nav li ul li .sub-menu {
  left: 100% !important;
  top: 0 !important;
  margin-left: -4px !important;
  min-width: 220px !important;
}

#main-header .nav li ul li {
  position: relative;
}

#main-header .nav li ul li:hover > ul,
#main-header .nav li ul li:hover > .sub-menu,
.gt_header .nav li ul li:hover > ul,
.gt_header .nav li ul li:hover > .sub-menu {
  display: block !important;
}

/* Плавное появление (опционально) */
#main-header .nav li ul,
.gt_header .nav li ul {
  animation: lawtheme-dropdown 0.2s ease;
}

@keyframes lawtheme-dropdown {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- Hero (first section): big title + CTAs like lawtheme ---------- */
.et_pb_section:first-of-type {
  padding: 4% 0 5% !important;
  text-align: center !important;
}

.et_pb_section:first-of-type .et_pb_text h1,
.et_pb_section:first-of-type .et_pb_module_header {
  font-size: var(--heading-size) !important;
  line-height: 1.2 !important;
  margin-bottom: 0.4em !important;
  font-weight: 700 !important;
}

.et_pb_section:first-of-type .et_pb_text p,
.et_pb_section:first-of-type .et_pb_text .et_pb_text_inner {
  font-size: var(--text-base) !important;
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Two CTAs in a row (Free Case Review / Contact) */
.et_pb_section:first-of-type .et_pb_button_module_wrapper {
  display: inline-block !important;
  margin: 0.5em 0.5em 0.5em 0 !important;
}

.et_pb_section:first-of-type .et_pb_button {
  padding: 14px 28px !important;
  font-size: var(--text-base) !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

/* ---------- Section titles (centered, like "Award-Recognized...", "Proven Expertise") ---------- */
.et_pb_section .et_pb_text_0 .et_pb_text_inner h2,
.et_pb_section .et_pb_module_header {
  text-align: center !important;
  font-size: var(--heading-size) !important;
  margin-bottom: 0.6em !important;
}

.et_pb_section .et_pb_text p.et_pb_text_align_center {
  text-align: center !important;
}

/* ---------- Stats row (5-Star Reviews, Cases Resolved, Avvo, etc.) ---------- */
.et_pb_section .et_pb_number_counter,
.et_pb_section .et_pb_blurb .et_pb_module_header + .et_pb_blurb_description {
  text-align: center !important;
}

.et_pb_number_counter .percent,
.et_pb_number_counter .title {
  color: var(--lawyer-primary) !important;
  font-weight: 700 !important;
}

/* Blurb row as stat cards */
.et_pb_section .et_pb_column .et_pb_blurb {
  text-align: center !important;
  padding: 24px 16px !important;
  border: 1px solid rgba(197, 173, 197, 0.25) !important;
  border-radius: 8px !important;
  background: var(--lawyer-bg) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.et_pb_section .et_pb_column .et_pb_blurb:hover {
  box-shadow: 0 8px 24px rgba(197, 173, 197, 0.2) !important;
  transform: translateY(-2px) !important;
}

/* ---------- Practice area / service cards (Underage DUI, DUI Expungement, etc.) ---------- */
.gt_service_style1,
.gt_service_style2.et_pb_blurb,
.et_pb_section .et_pb_blurb {
  background: var(--lawyer-bg) !important;
  border: 1px solid rgba(178, 181, 224, 0.3) !important;
  border-radius: 8px !important;
  padding: 28px 24px !important;
  min-height: 220px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.gt_service_style1:hover,
.gt_service_style2.et_pb_blurb:hover,
.et_pb_section .et_pb_blurb:hover {
  box-shadow: 0 12px 32px rgba(178, 181, 224, 0.2) !important;
  border-color: var(--lawyer-secondary) !important;
}

.gt_service_style1 .et_pb_button_wrapper .et_pb_button,
.et_pb_blurb .et_pb_button_module_wrapper .et_pb_button {
  margin-top: auto !important;
  padding-top: 12px !important;
}

/* ---------- Testimonials block (Client Reviews) ---------- */
.et_pb_testimonial {
  background: var(--lawyer-bg) !important;
  border: 1px solid rgba(197, 173, 197, 0.2) !important;
  border-radius: 8px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important;
}

.et_pb_testimonial_description {
  font-style: italic !important;
  font-size: var(--text-base) !important;
  line-height: 1.6 !important;
}

.et_pb_testimonial_author {
  font-weight: 600 !important;
  margin-top: 12px !important;
}

/* ---------- CTA sections (Contact us, Free Consultation) ---------- */
.et_pb_promo,
.et_pb_cta {
  padding: 3% 4% !important;
  text-align: center !important;
  border-radius: 0 !important;
}

.et_pb_promo h2,
.et_pb_cta .et_pb_promo_description h2 {
  color: var(--lawyer-bg) !important;
  margin-bottom: 0.4em !important;
}

.et_pb_promo p,
.et_pb_cta .et_pb_promo_description p {
  color: rgba(255,255,255,0.95) !important;
}

/* ---------- Footer: dark bar like lawtheme ---------- */
#main-footer,
footer.et_pb_section {
  background-color: #2c2c2c !important;
  color: #ccc !important;
  padding: 4% 0 3% !important;
}

#main-footer .container,
#main-footer .et_pb_row {
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

#main-footer h4,
#main-footer .widgettitle,
footer .et_pb_module_header {
  color: #fff !important;
  font-size: var(--heading-size) !important;
  margin-bottom: 1em !important;
}

#main-footer a,
footer a {
  color: #b8b8b8 !important;
}

#main-footer a:hover,
footer a:hover {
  color: var(--lawyer-primary) !important;
}

/* Footer contact form */
#main-footer .et_pb_contact_form input,
#main-footer .et_pb_contact_form textarea {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: #eee !important;
}

#main-footer .et_pb_contact_submit {
  background-color: var(--lawyer-primary) !important;
  border-color: var(--lawyer-primary) !important;
}

#main-footer .et_pb_contact_submit:hover {
  background-color: var(--lawyer-secondary) !important;
  border-color: var(--lawyer-secondary) !important;
}

/* Copyright bar */
#main-footer .et_pb_section:last-child,
footer .et_pb_row:last-of-type {
  padding-top: 1.5em !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  font-size: var(--text-small) !important;
  color: #999 !important;
}

/* ---------- Responsive: top bar & header ---------- */
@media (max-width: 980px) {
  #top-header .container {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  #et-info {
    justify-content: center;
  }

  .et_pb_section:first-of-type {
    padding: 8% 4% 10% !important;
  }

  .et_pb_section .et_pb_column .et_pb_blurb,
  .gt_service_style1,
  .gt_service_style2.et_pb_blurb {
    min-height: auto !important;
  }
}

@media (max-width: 767px) {
  .et_pb_section:first-of-type .et_pb_button_module_wrapper {
    display: block !important;
    margin: 0.75em 0 !important;
  }

  .et_pb_section:first-of-type .et_pb_button {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }
}

/* ---------- Корзина в шапке: компактный выпадающий блок (не огромный) ---------- */
#main-header .widget_shopping_cart,
.gt_header .widget_shopping_cart,
.et_pb_menu .widget_shopping_cart {
  min-width: 200px !important;
  max-width: 280px !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.8125rem !important;
}
#main-header .widget_shopping_cart .widgettitle,
.gt_header .widget_shopping_cart .widgettitle,
#main-header .widget_shopping_cart .cart_list,
.gt_header .widget_shopping_cart .cart_list,
#main-header .widget_shopping_cart .total,
.gt_header .widget_shopping_cart .total,
#main-header .widget_shopping_cart .buttons,
.gt_header .widget_shopping_cart .buttons {
  padding: 0.25rem 0 !important;
  margin: 0 !important;
}
#main-header .widget_shopping_cart .woocommerce-mini-cart__empty-message,
.gt_header .widget_shopping_cart .woocommerce-mini-cart__empty-message {
  font-size: 0.8125rem !important;
  padding: 0.5rem 0 !important;
  margin: 0 !important;
}
