/* FAQ answer bottom padding fix - use margin on inner p so it collapses with overflow:hidden */
.wrap_faq_a > p:last-child {
  margin-bottom: 24px;
}

/* Mobile navbar improvements - override Webflow framework */
@media (max-width: 991px) {
  /* Override framework.css [data-nav-menu-open] */
  [data-nav-menu-open] {
    background: #fff !important;
    text-align: left !important;
    padding: 8px 16px 16px !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important;
  }

  .w-nav-overlay {
    border-radius: 0 0 16px 16px !important;
    overflow: hidden !important;
  }

  .nav-menu-two-2,
  .nav-menu-two-2.w-list-unstyled {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    margin-top: 0 !important;
  }

  .nav-menu-two-2 li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .nav-link-4 {
    padding: 12px 14px !important;
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    transition: background 0.2s !important;
    display: block !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: auto !important;
    line-height: 1.4 !important;
  }

  .nav-link-4:hover {
    background: transparent !important;
    opacity: 0.8 !important;
  }

  /* Subscribe button - match desktop hover, keep white text */
  .nav-link-4.navbar_subscribe:hover,
  .nav-link-4.navbar_subscribe.button-primary-7-copy:hover,
  li.navbar_subscribe .nav-link-4:hover {
    background: linear-gradient(#604fec, #5a46fc) !important;
    color: #fff !important;
    opacity: 1 !important;
  }

  li.navbar_subscribe {
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid #eee !important;
    /* Reset button styles from .navbar_subscribe that apply to li */
    background-color: transparent !important;
    border-radius: 0 !important;
    display: block !important;
    width: 100% !important;
  }

  /* Override the specific Webflow selector for subscribe button */
  .nav-link-4.navbar_subscribe {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
  }

  .nav-link-4.navbar_subscribe.button-primary-7-copy {
    text-align: center !important;
    justify-content: center !important;
    height: auto !important;
    padding: 12px 20px !important;
    flex-flow: row !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Hamburger button - more specific selector */
  .menu-button-4 {
    padding: 8px !important;
    border-radius: 10px !important;
  }

  .menu-button-4.w--open,
  .w-nav-button.w--open {
    background-color: #6c5ce7 !important;
    color: #fff !important;
  }
}

/* Footer responsive */
.footer-link { color: #444; text-decoration: none; font-family: Inter, sans-serif; font-size: 14px; font-weight: 500; display: block; margin: 0 0 12px 0; padding: 0; transition: color 0.2s ease; }
.footer-link:hover { color: #000; }
.footer-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; transition: opacity 0.2s ease; margin: 0 !important; }
.footer-logo:hover { opacity: 0.7; }
.footer-logo img { border-radius: 0 !important; }
.footer-heading { font-family: Inter, sans-serif; font-size: 13px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.5px; margin: 0 0 16px 0; padding: 0; }
.footer-container { max-width: 900px; margin: 0 auto; }
.footer-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 50px; }
.footer-col { min-width: 0; align-self: start; }

@media (max-width: 767px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .footer-col:first-child { grid-column: 1 / -1; margin-bottom: 10px; }
}

@media (max-width: 479px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 25px 15px; }
}

/* ── Dupple X page ── */
[data-w-id] { opacity: 1 !important; transform: none !important; }
.icon-7 { transition: transform 0.3s ease; }

/* Section labels */
.text-block-95,
.text-block-95-copy {
  display: inline-block !important;
  color: #7c3aed !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-family: Inter, -apple-system, sans-serif !important;
  background: rgba(124,58,237,0.06) !important;
  border: 1px solid rgba(124,58,237,0.12) !important;
  padding: 5px 14px !important;
  border-radius: 100px !important;
}

/* Section headings */
.heading-dupple-x {
  color: #111 !important;
  letter-spacing: -0.025em !important;
}
.heading-dupple-x.black {
  color: #111 !important;
  letter-spacing: -0.025em !important;
}
.h1-dupple-x {
  color: #111 !important;
  letter-spacing: -0.03em !important;
}

/* ── Global mobile overflow guard (2026-05-26) ──────────────────────────────
   Central fix across every page generator (tools, compare, alternatives,
   static blog, LP, learn, blog). Stops horizontal overflow / cut-off text on
   phones: wide tables scroll inside themselves, media never exceeds the
   viewport, and grid content columns shrink so text wraps. */
@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  img { max-width: 100% !important; height: auto; }
  svg, video, iframe, canvas { max-width: 100% !important; }
  main table, article table, .article-content table, .tool-content table, .w-richtext table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    max-width: 100% !important;
  }
  .article-layout { padding-left: 0 !important; padding-right: 0 !important; }
  /* margin:0 overrides ".article-layout:not(:has(.article-toc)) .article-content
     { margin:0 auto }" — auto margins make the grid item size to its content
     (~760px) instead of stretching to the cell, which clipped text on phones. */
  .article-content { min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 16px !important; padding-right: 16px !important; }
  .tool-content, .tool-content-inner { min-width: 0 !important; }
}
