/* Trust Cleaning Company: Services / Service Areas dropdown menus (shared by all pages) */
.dd { position: relative; display: flex; align-items: center; gap: 2px; }
.dd-btn { flex-shrink: 0; background: none; border: 0; margin: 0; padding: 4px; cursor: pointer; color: inherit; display: inline-flex; align-items: center; line-height: 0; border-radius: 6px; }
.dd-btn:focus-visible { outline: 2px solid #1567d2; outline-offset: 2px; }
.dd-btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.dd.open .dd-btn svg { transform: rotate(180deg); }

.dd-menu { display: none; position: absolute; top: 100%; left: -16px; margin-top: 22px; min-width: 250px; background: #fff; border: 1px solid #e3e9f2; border-radius: 12px; box-shadow: 0 14px 40px rgba(11,31,58,.14); padding: 10px; z-index: 300; text-align: left; }
.dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
.dd .dd-menu a { display: block; padding: 9px 12px; border-bottom: 0; border-radius: 8px; font-size: .9rem; font-weight: 500; color: #0b1f3a; white-space: nowrap; text-decoration: none; }
.dd .dd-menu a::after { display: none !important; }
.dd .dd-menu a:hover, .dd .dd-menu a:focus-visible { background: #eef4fd; color: #1567d2; text-decoration: none; }
.dd .dd-menu a[aria-current="page"] { color: #1567d2; font-weight: 600; }
.dd-h { margin: 4px 12px 6px; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5a6a7d; }
.dd .dd-menu a.dd-all { border-top: 1px solid #eef2f8; border-radius: 0 0 8px 8px; margin-top: 6px; padding-top: 11px; color: #1567d2; font-weight: 600; }

/* Service Areas: signal the list isn't exhaustive */
.dd-note { margin: 6px 12px 2px; font-size: .82rem; color: #5a6a7d; }
.dd .dd-menu a.dd-ask { border-top: 1px solid #eef2f8; border-radius: 0 0 8px 8px; margin-top: 6px; padding-top: 11px; color: #1567d2; font-weight: 600; }

/* Desktop: open on hover, or via the arrow button (tap / keyboard) */
@media (min-width: 921px) {
  .dd:hover .dd-menu, .dd.open .dd-menu { display: block; }
}

/* Phones and tablets: expand inside the hamburger menu */
@media (max-width: 920px) {
  .dd { flex-wrap: wrap; width: 100%; }
  .dd > .dd-top { flex: 1; }
  .dd-btn { padding: 10px 16px; margin-right: 8px; }
  .dd-btn svg { width: 16px; height: 16px; }
  .dd-menu { position: static; margin: 0 0 8px; min-width: 0; width: 100%; border: 0; border-radius: 0; box-shadow: none; padding: 0 0 0 14px; }
  .dd-menu::before { display: none; }
  .dd.open .dd-menu { display: block; }
  .dd .dd-menu a { padding: 10px 12px; white-space: normal; }
}

/* Phones: fit the full "Trust Cleaning Company" name beside the Free Quote button (381–430px) */
@media (max-width: 430px) {
  .brand { gap: 6px !important; }
  .brand .name, .brand > span:last-child { font-size: .82rem !important; letter-spacing: -.01em; }
  .hamburger { padding: 6px 4px !important; }
  .nav-cta { gap: 6px !important; }
  .nav .container, .container.nav { gap: 6px !important; }
  .nav-cta .btn-primary { padding: 9px 10px !important; }
}

/* Match the homepage: Free Quote button weight in the header */
.nav-cta .btn-primary { font-weight: 600; }
@media (min-width: 721px) {
  .nav-cta .btn-primary { font-size: .95rem; border: 0; box-shadow: 0 8px 20px rgba(21,103,210,.35); }
}
