/* =========================================================================
   Atkinson & Kelsey — static-site overrides
   Why: the May-29 static export of the site is missing all WP/Elementor JS,
   so Swiper carousels, Smartmenus dropdowns, and WP-Rocket lazy iframes
   don't initialize. These CSS-only fallbacks make the static HTML usable
   without JS.
   ========================================================================= */

/* ---- 1. "Meet Our Attorneys" — render the broken Swiper as a static grid ---- */
.elementor-widget-loop-carousel .swiper {
  overflow: visible !important;
}
.elementor-widget-loop-carousel .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  transform: none !important;
  width: 100% !important;
}
.elementor-widget-loop-carousel .swiper-slide {
  width: 100% !important;
  height: auto !important;
  min-height: auto !important;
  flex-shrink: 0;
}
.elementor-widget-loop-carousel .swiper-slide img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}
.elementor-widget-loop-carousel .swiper-pagination,
.elementor-widget-loop-carousel .swiper-button-prev,
.elementor-widget-loop-carousel .swiper-button-next {
  display: none !important;
}
@media (max-width: 1024px) {
  .elementor-widget-loop-carousel .swiper-wrapper { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .elementor-widget-loop-carousel .swiper-wrapper { grid-template-columns: 1fr; }
}

/* ---- 2. Nav dropdown — Smartmenus.js is missing; do it with CSS :hover ---- */
.elementor-nav-menu li.menu-item-has-children { position: relative; }
.elementor-nav-menu .sub-menu {
  display: none !important;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.14);
  border-top: 3px solid #1d3a8a;
  padding: 8px 0 !important;
  z-index: 1000;
  list-style: none;
  margin: 0;
}
.elementor-nav-menu li.menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu li.menu-item-has-children:focus-within > .sub-menu {
  display: block !important;
}
.elementor-nav-menu .sub-menu li { display: block; }
.elementor-nav-menu .sub-menu a {
  display: block;
  padding: 10px 18px !important;
  color: #1d3a8a !important;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
}
.elementor-nav-menu .sub-menu a:hover {
  background: #f4f7fc;
  color: #d4af37 !important;
}

/* ---- 3. Belinda Demaree headshot — hide hard cutout edge ---- */
img[src*="headshot_belinda-demaree"] {
  object-position: 50% 22% !important;
  -webkit-mask-image: linear-gradient(to bottom, #000 86%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 86%, transparent 100%);
}

/* ---- 4. Footer nav columns (injected new section) ---- */
.ak-footer-nav {
  background: #0e2240;
  color: #fff;
  padding: 56px 24px 32px;
  margin-top: 0;
}
.ak-footer-nav__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
  gap: 36px;
}
.ak-footer-nav__brand img { max-width: 180px; height: auto; margin-bottom: 14px; filter: brightness(0) invert(1); }
.ak-footer-nav__brand p { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 8px 0; }
.ak-footer-nav__brand .ak-social { margin-top: 14px; display: flex; gap: 10px; }
.ak-footer-nav__brand .ak-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,0.12); color: #fff; text-decoration: none;
  transition: background .2s;
}
.ak-footer-nav__brand .ak-social a:hover { background: #d4af37; }
.ak-footer-nav h4 {
  color: #d4af37;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin: 0 0 16px;
}
.ak-footer-nav ul { list-style: none; padding: 0; margin: 0; }
.ak-footer-nav li { margin: 7px 0; }
.ak-footer-nav a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  transition: color .15s;
}
.ak-footer-nav a:hover { color: #d4af37; text-decoration: underline; }
.ak-footer-nav .ak-contact { font-size: 14px; line-height: 1.65; color: rgba(255,255,255,0.85); }
.ak-footer-nav .ak-contact strong { color: #fff; display: block; margin-top: 8px; font-size: 13px; letter-spacing: .4px; }
.ak-footer-nav .ak-contact a { display: inline; }
.ak-footer-nav .ak-cta {
  display: inline-block;
  margin-top: 14px;
  background: #d4af37;
  color: #0e2240 !important;
  padding: 10px 18px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  text-decoration: none !important;
}
.ak-footer-nav .ak-cta:hover { background: #f1c34c; }
@media (max-width: 900px) {
  .ak-footer-nav__inner { grid-template-columns: repeat(2, 1fr); gap: 28px; }
}
@media (max-width: 520px) {
  .ak-footer-nav__inner { grid-template-columns: 1fr; }
}

/* ---- 5. Hide the broken Google Map iframe (about:blank, never lazy-loaded) ---- */
footer iframe[src="about:blank"] { display: none !important; }
footer .elementor-element-f813e81 { display: none !important; }

/* ---- 6. Hide the old left footer block (logo + phone + address) — superseded by ak-footer-nav ---- */
footer .elementor-element-24ad828 { display: none !important; }


/* =========================================================================
   FOOTER FIXES — applied 2026-05-31 (request via Slack thread 1780228246)
   1) Make the footer block full-bleed (escape Elementor's 1120px container)
   2) Collapse the white gap between ak-footer-nav and the copyright row,
      and match the copyright bar's bg/colors so they read as one footer
   3) Fix unreadable "&" in the brand logo — the original logo has a gold
      ampersand inside a navy square, so `brightness(0) invert(1)` turned
      both into white and made the "&" disappear. Drop the filter and seat
      the logo on a small white panel so its native gold+navy colors show.
   4) Push the Schedule a Consultation CTA below the Hours line — the prior
      `.ak-contact a { display: inline }` rule was overriding `.ak-cta`'s
      `inline-block` (higher specificity), so vertical margin was ignored
      and the button overlapped the hours text.
   ========================================================================= */

/* 1. Full-bleed footer — break out of Elementor's max-width 1120px wrapper */
.ak-footer-nav {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-bottom: 28px; /* reduced — copyright row sits flush below */
}
.ak-footer-nav__inner {
  max-width: 1320px;
  padding: 0 24px;
}

/* 2. Kill the 30px gap from the parent e-con-inner flex column,
      and re-skin the copyright bar to match the navy footer. */
footer .elementor-element-7a6ea5b > .e-con-inner {
  gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
footer .elementor-element-4ed4592 {
  background: #0e2240;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  padding: 14px 24px 22px !important;
  border-top: 1px solid rgba(255,255,255,0.08);
  justify-content: space-between !important;
  align-items: center !important;
}
footer .elementor-element-4ed4592 .elementor-widget-text-editor p,
footer .elementor-element-4ed4592 .elementor-widget-text-editor a {
  color: rgba(255,255,255,0.72) !important;
  font-size: 13px;
  margin: 0;
}
footer .elementor-element-4ed4592 .elementor-widget-text-editor a:hover {
  color: #d4af37 !important;
}
/* OTM credit logo — was width=1 height=1 attrs; size it sensibly + invert to white */
footer .elementor-element-4ed4592 .elementor-widget-image img {
  width: auto !important;
  height: 28px !important;
  filter: brightness(0) invert(1);
  opacity: 0.78;
}

/* 3. Logo readability — drop the brightness/invert filter and put the
      original gold+navy logo on a white panel so the "&" is legible. */
.ak-footer-nav__brand img {
  filter: none;
  background: #fff;
  padding: 10px 14px;
  border-radius: 6px;
  max-width: 220px;
  box-sizing: border-box;
  display: block;
}

/* 4. CTA must override .ak-footer-nav .ak-contact a { display: inline } —
      that rule has equal specificity but comes first; bump ours so
      inline-block actually applies and vertical margin works. */
.ak-footer-nav .ak-contact a.ak-cta {
  display: inline-block;
  margin-top: 22px;
}

/* ---- 7. Compact Google Map embed at footer bottom (added per Sean 2026-05-31) ---- */
.ak-footer-nav .ak-footer-map {
  grid-column: 1 / -1;
  margin-top: 18px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.ak-footer-nav .ak-footer-map h4 {
  margin-bottom: 10px;
}
.ak-footer-nav .ak-footer-map iframe {
  display: block;
  width: 100%;
  max-width: 760px;
  height: 180px;
  border: 0;
  border-radius: 6px;
  filter: grayscale(0.15) contrast(1.02);
}
@media (max-width: 520px) {
  .ak-footer-nav .ak-footer-map iframe { height: 150px; }
}

/* =========================================================================
   FOOTER + NAV FIXES \u2014 applied 2026-06-01 (Alicia thread 1780336579)
   1) New footer layout: Logo+Contact / Map / Divorce / Family Law (4 col).
   2) Allow long divorce-submenu items to wrap to 2 lines.
   3) Restyle h3 column heads (older CSS only targeted h4).
   ========================================================================= */

/* 1. New 4-col layout: brand+contact, map, divorce, family law */
.ak-footer-nav__inner {
  grid-template-columns: 1.25fr 1.15fr 1fr 1fr;
}
.ak-footer-nav .ak-footer-map {
  grid-column: auto;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.ak-footer-nav .ak-footer-map iframe {
  max-width: 100%;
  height: 100%;
  min-height: 260px;
}
.ak-footer-nav__brand img {
  background: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  max-width: 200px;
  filter: none;
}
.ak-footer-nav__brand p {
  margin-bottom: 14px;
}
.ak-footer-nav__brand strong {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  letter-spacing: .4px;
  color: #fff;
}
.ak-footer-nav__brand a[href^=\"tel:\"] {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.ak-footer-nav__brand .ak-cta {
  margin-top: 18px;
}
.ak-footer-nav h3 {
  color: #d4af37;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin: 0 0 16px;
}
@media (max-width: 900px) {
  .ak-footer-nav__inner { grid-template-columns: repeat(2, 1fr); }
  .ak-footer-nav .ak-footer-map iframe { min-height: 220px; }
}
@media (max-width: 520px) {
  .ak-footer-nav__inner { grid-template-columns: 1fr; }
  .ak-footer-nav .ak-footer-map iframe { min-height: 180px; }
}

/* 4. Allow long divorce-submenu labels to wrap to 2 lines */
.elementor-nav-menu .sub-menu .elementor-sub-item,
.elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
  line-height: 1.3;
}
.elementor-nav-menu .sub-menu li,
.elementor-nav-menu--dropdown .sub-menu li {
  white-space: normal;
}
.elementor-nav-menu .sub-menu {
  min-width: 280px;
}
