/*
 * Purpose:
 * Small custom layer on top of Tailwind classes for behaviors that are easier
 * to keep in one stylesheet on a static FTP deployment.
 *
 * Responsibility boundaries:
 * - Smooth scrolling offset.
 * - Minor animations and focus states.
 * - Admin-specific helper styles shared across pages.
 */
html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
}

section[id] {
  scroll-margin-top: 96px;
}

.card-selected {
  border-color: #0066ff !important;
  background: #f2f3ff !important;
  color: #0066ff !important;
  box-shadow: 0 10px 30px rgba(0, 102, 255, 0.08);
}

.input-error {
  box-shadow: 0 0 0 2px rgba(186, 26, 26, 0.18);
  border-color: #ba1a1a !important;
}

.notice-enter {
  animation: notice-enter 0.35s ease;
}

@keyframes notice-enter {
  from {
    transform: translateY(10px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.prose-block a {
  color: #0050cb;
  text-decoration: underline;
}

.admin-table-row:hover {
  background: rgba(0, 102, 255, 0.04);
}
.calculator-dropdown {
  position: relative;
  width: 100%;
}

.calculator-dropdown-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(194, 198, 216, 0.45);
  border-radius: 16px;
  background: #f2f3ff;
  padding: 20px;
  color: #131b2e;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.calculator-dropdown-trigger:hover {
  border-color: rgba(0, 102, 255, 0.35);
  background: #edf1ff;
}

.calculator-dropdown-trigger:focus {
  outline: none;
  border-color: #0066ff;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.12);
  background: #eef3ff;
}

.calculator-dropdown-trigger[aria-expanded='true'] {
  border-color: #0066ff;
  box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.12);
  background: #eef3ff;
}

.calculator-dropdown-arrow {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-right: 2px solid #5f6880;
  border-bottom: 2px solid #5f6880;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.calculator-dropdown-trigger[aria-expanded='true'] .calculator-dropdown-arrow {
  transform: rotate(-135deg);
}

.calculator-dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 40;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(194, 198, 216, 0.45);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(19, 27, 46, 0.12);
}

.calculator-dropdown-option {
  display: block;
  width: 100%;
  padding: 14px 18px;
  border: 0;
  background: #ffffff;
  color: #131b2e;
  font-weight: 600;
  text-align: left;
  transition: background 0.18s ease, color 0.18s ease;
}

.calculator-dropdown-option:hover {
  background: #eef3ff;
}

.calculator-dropdown-option.is-active {
  background: #0066ff;
  color: #ffffff;
}
.site-desktop-nav,
.site-desktop-cta {
  display: none;
}

.site-mobile-toggle {
  display: inline-flex;
}

.site-mobile-menu {
  display: none;
}

.site-mobile-menu.is-open {
  display: block;
}

@media (min-width: 768px) {
  .site-desktop-nav {
    display: flex;
  }

  .site-desktop-cta {
    display: block;
  }

  .site-mobile-toggle,
  .site-mobile-menu {
    display: none !important;
  }
}