/* Custom primary button styling to match brand indigo */
.btn-primary {
  background-color: #4f46e5;
  border-color: #4f46e5;
  color: white;
}

.btn-primary:hover {
  background-color: #3730a3;
  border-color: #3730a3;
}

.btn-primary:active,
.btn-primary:focus {
  background-color: #312e81;
  border-color: #312e81;
}

/* Override DaisyUI theme color variable for consistent primary color across components */
[data-theme="light"] {
  --p: 239 84% 67%; /* HSL equivalent of #4f46e5 */
}

/* ---------- Scroll CTA popup (shared/_cta_popup + cta_popup_controller) ----------
   Non-modal slide-in: bottom-right card on desktop, full-width bottom sheet
   on phones. No backdrop, so it never blocks reading. */
.cta-popup { position: fixed; z-index: 40; right: 24px; bottom: 24px; width: min(360px, calc(100vw - 32px)); background: #fff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 24px 22px 20px; box-shadow: 0 24px 48px -20px rgba(15,23,42,0.28); opacity: 0; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease; }
.cta-popup[hidden] { display: none; }
.cta-popup[data-open] { opacity: 1; transform: none; }
.cta-popup-close { position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 0; background: none; border-radius: 999px; color: #94a3b8; cursor: pointer; }
.cta-popup-close:hover { background: #f1f5f9; color: #0f172a; }
.cta-popup-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #4f46e5; font-weight: 600; margin: 0 0 8px; }
.cta-popup-title { font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: #0f172a; margin: 0 24px 6px 0; }
.cta-popup-sub { font-size: 13.5px; line-height: 1.55; color: #475569; margin: 0 0 14px; }
.cta-popup-form { display: flex; flex-direction: column; gap: 8px; }
.cta-popup-input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font-size: 14px; color: #0f172a; background: #fff; }
.cta-popup-input:focus { outline: 2px solid #4f46e5; outline-offset: 1px; border-color: #4f46e5; }
.cta-popup-button { padding: 10px 16px; border: 0; border-radius: 10px; background: #4f46e5; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
.cta-popup-button:hover { background: #3730a3; }
@media (max-width: 640px) {
  .cta-popup { right: 0; left: 0; bottom: 0; width: auto; border-radius: 20px 20px 0 0; border-bottom: 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); transform: translateY(100%); }
  /* 16px stops iOS Safari zooming the page when the field is focused. */
  .cta-popup-input { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .cta-popup { transition: none; } }
@media print { .cta-popup { display: none !important; } }
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
