/* Custom styles beyond Tailwind */

:root {
  --navy: #1a2744;
  --red: #c0392b;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #111827;
  line-height: 1.6;
}

/* Focus ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 2px;
}

/* Smooth focus for form fields */
input:focus,
select:focus,
textarea:focus {
  border-color: var(--navy) !important;
  box-shadow: 0 0 0 3px rgba(26, 39, 68, 0.1);
}

/* Phone link tap target */
a[href^="tel"] {
  white-space: nowrap;
}

/* Emergency bar */
.emergency-bar {
  background-color: var(--red);
}

/* Nav brand */
.nav-brand-accent {
  color: var(--red);
}

/* Process steps connector */
.process-step {
  position: relative;
}

.process-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 1.75rem;
  left: calc(50% + 1.75rem);
  width: calc(100% - 3.5rem);
  height: 2px;
  background-color: #e5e7eb;
}

@media (max-width: 768px) {
  .process-step:not(:last-child)::after {
    display: none;
  }
}

/* Cost table */
.cost-table th {
  background-color: var(--navy);
  color: white;
  font-weight: 600;
  padding: 0.75rem 1rem;
  text-align: left;
  font-size: 0.875rem;
}

.cost-table td {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}

.cost-table tr:last-child td {
  border-bottom: none;
}

.cost-table tr:nth-child(even) td {
  background-color: #f9fafb;
}

/* Insurance highlight box */
.insurance-box {
  border-left: 4px solid var(--red);
  background-color: #fff5f5;
  padding: 1rem 1.25rem;
  border-radius: 0 0.5rem 0.5rem 0;
}

/* Image showcase strip — responsive heights */
.image-strip-panel {
  height: 260px; /* mobile: stacked full-width, portrait-ish ratio */
}

@media (min-width: 768px) {
  .image-strip-panel {
    height: 440px; /* desktop: half-width columns, needs more height to avoid extreme crop */
  }
}

/* Print styles */
@media print {
  .emergency-bar,
  nav,
  footer,
  .cta-section {
    display: none;
  }
}
