/* Cornerstone Insurance Group - Custom Styles */

/* ── Content prose overrides for WP-exported HTML ── */
.ci-content p {
  margin-bottom: 1rem;
  line-height: 1.75;
}

.ci-content h1,
.ci-content h2,
.ci-content h3,
.ci-content h4,
.ci-content h5 {
  color: #1B2D4F;
  font-weight: 700;
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

.ci-content h1 { font-size: 2rem; }
.ci-content h2 { font-size: 1.5rem; }
.ci-content h3 { font-size: 1.25rem; }
.ci-content h4 { font-size: 1.1rem; }

.ci-content a {
  color: #3A4F6A;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ci-content a:hover {
  color: #1B2D4F;
}

.ci-content ul,
.ci-content ol {
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}

.ci-content ul li {
  list-style-type: disc;
  margin-bottom: 0.375rem;
}

.ci-content ol li {
  list-style-type: decimal;
  margin-bottom: 0.375rem;
}

.ci-content strong {
  font-weight: 600;
  color: #1B2D4F;
}

.ci-content blockquote {
  border-left: 4px solid #2D6E4F;
  padding-left: 1rem;
  margin: 1.5rem 0;
  color: #4B5563;
  font-style: italic;
}

.ci-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
}

.ci-content table th,
.ci-content table td {
  border: 1px solid #E5E7EB;
  padding: 0.5rem 0.75rem;
  text-align: left;
}

.ci-content table th {
  background-color: #EFF2F5;
  font-weight: 600;
  color: #1B2D4F;
}

.ci-content table tr:nth-child(even) {
  background-color: #F9FAFB;
}

/* Fix any leftover Avada inline styles */
.ci-content [style] {
  all: revert;
}

/* ── Navigation hover effects ── */
#main-nav .group:hover > div {
  display: block;
}

/* Mobile clip overflow */
@media (max-width: 767px) {
  #main-nav {
    overflow: visible;
  }
}

/* ── Prose line clamp ── */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Smooth scroll ── */
html {
  scroll-behavior: smooth;
}

/* ── Focus rings ── */
*:focus-visible {
  outline: 2px solid #3A4F6A;
  outline-offset: 2px;
}

/* ── Wave / decorative SVG ── */
.wave-bottom {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}

/* HIGH-3 contrast fix (Vigil 2026-04-27): deepen ci-navy from #1B2D4F to #0A1A33 to pass WCAG AA on bg-ci-gold (was 4.20:1, now 4.92:1). Override applied at site.css level since Tailwind is pre-built. */
.text-ci-navy { color: #0A1A33 !important; }
.bg-ci-navy { background-color: #0A1A33 !important; }
.hover\:bg-ci-navy:hover { background-color: #0A1A33 !important; }
.hover\:text-ci-navy:hover { color: #0A1A33 !important; }
.from-ci-navy { --tw-gradient-from: #0A1A33 var(--tw-gradient-from-position) !important; --tw-gradient-to: rgba(10,26,51,0) var(--tw-gradient-to-position) !important; }
.to-ci-navy { --tw-gradient-to: #0A1A33 var(--tw-gradient-to-position) !important; }
.from-ci-navy\/85 { --tw-gradient-from: rgba(10,26,51,.85) var(--tw-gradient-from-position) !important; }
.from-ci-navy\/90 { --tw-gradient-from: rgba(10,26,51,.9) var(--tw-gradient-from-position) !important; }
.via-ci-navy\/70 { --tw-gradient-stops: var(--tw-gradient-from), rgba(10,26,51,.7) var(--tw-gradient-via-position), var(--tw-gradient-to) !important; }
.to-ci-navy\/30 { --tw-gradient-to: rgba(10,26,51,.3) var(--tw-gradient-to-position) !important; }
.to-ci-navy\/40 { --tw-gradient-to: rgba(10,26,51,.4) var(--tw-gradient-to-position) !important; }

/* HIGH-8 mobile touch targets (Vigil 2026-04-27): WCAG 2.5.5 / 2.5.8 — interactive elements need 44x44px minimum on mobile. Apply min-height/width to nav links, footer links, and small buttons via inclusive selectors. */
@media (max-width: 768px) {
  nav a, nav button,
  footer a, footer button,
  header a, header button,
  a.hover\:text-ci-stone,
  a.hover\:text-white {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* Inline within paragraphs should remain inline-flex but not block out spacing */
  p a, li a {
    min-height: 44px;
  }
}

/* Skip-nav visibility — sr-only + focus:not-sr-only fix (Tailwind utilities not in pre-built bundle) */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.sr-only:focus,
.focus\:not-sr-only:focus {
  position: absolute !important;
  width: auto !important;
  height: auto !important;
  padding: 0.5rem 1rem !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  left: 1rem !important;
  top: 1rem !important;
  z-index: 50 !important;
  background: white !important;
  color: #0A1A33 !important;
  border-radius: 0.25rem !important;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1) !important;
  outline: 2px solid #B8860B !important;
}

/* Subfooter compliance link spacing — raw rules since gap-x-10/gap-y-4 not in compiled Tailwind bundle */
nav[aria-label="Legal"] ul {
  gap: 1.5rem 2.5rem !important; /* row-gap col-gap */
  padding: 0 1rem !important;
}
nav[aria-label="Legal"] ul li a {
  padding: 0.5rem 0.75rem !important;
  display: inline-block !important;
  min-height: 44px !important;
  line-height: 1.5 !important;
}
