/* Shared CSS for the homepage design options (home-b, home-c, home-d), 2026-11-07.
   Each page keeps its own layout in a <style> block; this file holds the exit pop and shared pieces. */

/* ---------- exit-intent pop ---------- */
.ha-pop { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; }
.ha-pop[hidden] { display: none; }
.ha-pop-back { position: absolute; inset: 0; background: rgba(9, 20, 26, .72); }
.ha-pop-box { position: relative; width: min(520px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 30px 30px 24px; border-radius: 22px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, .45); text-align: center; outline: none; animation: ha-pop-in .25s ease-out; }
@keyframes ha-pop-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ha-pop-box { animation: none; } }
.ha-pop-x { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f3efe9; color: #13212a; cursor: pointer; }
.ha-pop-x:hover { background: #ffe3bf; }
.ha-pop-pack { width: 170px; margin: -6px auto 6px; display: block; }
.ha-pop h2 { font-size: 26px; line-height: 1.2; margin: 0 0 8px; }
.ha-pop-line { margin: 0 0 10px; font-size: 17px; color: #2d3a43; }
.ha-pop-rates { margin: 0 0 16px; font-size: 16px; color: #5c6870; }
.ha-pop-rates b { color: #a85300; font-size: 18px; }
.ha-pop-rates span { margin: 0 4px; }
.ha-pop .signup-form { text-align: left; }
html.ha-pop-on { overflow: hidden; }

/* ---------- shared form helpers ---------- */
.ha-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ha-form .input, .ha-pop .input { min-height: 52px; }
.ha-form .btn, .ha-pop .btn { min-height: 56px; }
.ha-form .signup-already a, .ha-pop .signup-already a { display: inline-block; padding: 4px 0; }
@media (max-width: 520px) {
  .ha-form .two, .ha-pop .two { grid-template-columns: 1fr; }
  .ha-pop-box { padding: 26px 18px 20px; }
  .ha-pop h2 { font-size: 23px; padding: 0 30px; }
}

/* FAQ (open-able) shared look */
.ha-faq details { border-bottom: 1px solid #e7e0d6; }
.ha-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 18px 2px; min-height: 44px; font-weight: 700; font-size: 19px; color: #13212a; }
.ha-faq summary::-webkit-details-marker { display: none; }
.ha-faq summary::after { content: "+"; flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #fff4e6; color: #a85300; font-size: 22px; font-weight: 500; }
.ha-faq details[open] summary::after { content: "\2212"; }
.ha-faq .a { padding: 0 2px 16px; }
.ha-faq .a p { margin: 0 0 .8em; }
