/*
  AutoInsureTexas.com - style.css
  Custom Bootstrap v5 overrides & sitewide styles
*/

body {
  font-family: 'Manrope', Arial, Helvetica, sans-serif;
  color: #22577A;
  background: #F6F7F9;
  font-size: 1.07rem;
  line-height: 1.67;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Manrope', Arial, Helvetica, sans-serif;
  font-weight: 800;
  color: #22577A;
  letter-spacing: 0.01em;
}

h1, .fw-extra-bold { font-weight: 800 !important; }
h2, .fw-bold { font-weight: 700 !important; }
h3, .fw-semibold { font-weight: 600 !important; }

.page-headline {
  font-size: 2.25rem;
}

.page-lead {
  font-size: 1.15rem;
  max-width: 850px;
}

.section-title {
  color: #22577A;
  font-size: 1.35rem;
}
.section-subtitle {
  color: #22577A;
  font-size: 1.17rem;
}

/* --- Premium Rate Estimator Custom Styles --- */
.estimator-container {
  max-width: 1350px !important;
  padding-left: 18px;
  padding-right: 18px;
}

.estimator-headline {
  font-size: 2.15rem;
  color: #22577A;
  font-weight: 800;
}

.estimator-lead {
  font-size: 1.13rem;
  max-width: 600px;
}

.estimator-section-title {
  color: #22577A;
  font-size: 1.18rem;
  font-weight: 700;
}

.estimator-tool-card {
  background: #F6F7F9;
  border-radius: 0.75rem;
  border: 1px solid #E2E8F0;
}

.estimator-btn {
  font-size: 1.03rem;
}

.estimator-result-alert {
  background: #e6f5f6 !important;
  color: #22577A;
  border-radius: 0.5rem;
  border: 1.2px solid #38A3A5;
  margin-bottom: 1.3rem;
  font-size: 1.01rem;
}

.estimator-disclaimer {
  background: #fffbe6;
  border: 1.5px solid #F8B400;
  color: #B88700;
  font-size: 0.98rem;
}

.estimator-resource-links {
  font-size: 1.08rem;
  color: #22577A;
}

.estimator-how-section ul,
.estimator-factors-section ul,
.estimator-tips-list,
.estimator-factor-list {
  color: #22577A;
  font-size: 1.03rem;
  margin-bottom: 1.2rem;
  padding-left: 1.2em;
}

.estimator-understanding-section ul,
.estimator-understanding-list {
  color: #22577A;
  font-size: 1.03rem;
  margin-bottom: 1.2rem;
  padding-left: 1.2em;
}

.estimator-tips-section ul {
  color: #22577A;
  font-size: 1.03rem;
  margin-bottom: 1.2rem;
  padding-left: 1.2em;
}

.estimator-faq-section .accordion-button {
  background: #fff !important;
  color: #22577A !important;
  font-weight: 700;
  font-size: 1.11rem;
  box-shadow: none !important;
  border-radius: 0 !important;
  transition: background 0.16s, color 0.16s;
}

.estimator-faq-section .accordion-item {
  border-radius: 0.75rem !important;
  border: 1px solid #E2E8F0 !important;
  margin-bottom: 12px;
  background: #fff !important;
  overflow: hidden;
}

.estimator-faq-section .accordion-button:focus {
  outline: 2px solid #38A3A5 !important;
  outline-offset: 2px !important;
  border: none;
}

.estimator-faq-section .accordion-button:not(.collapsed) {
  color: #38A3A5 !important;
  background: #e6f5f6 !important;
  box-shadow: none !important;
}

.estimator-faq-section .accordion-body {
  background: #fff !important;
  color: #6C757D;
  font-size: 1.01rem;
  padding-top: 1.1em;
  padding-bottom: 1.1em;
}

.estimator-faq-section .accordion-button::after {
  background-image: none !important;
}

/* Sidebar styles */
.estimator-sidebar-card {
  background: #fff;
  border-radius: 0.75rem;
  border: 1px solid #E2E8F0;
  box-shadow: 0 2px 8px rgba(34,87,122,0.07);
  margin-bottom: 1.2rem;
}

.estimator-sidebar-title {
  color: #22577A;
  font-size: 1.10rem;
  font-weight: 700;
}
.estimator-sidebar-title.highlight {
  color: #38A3A5;
}
.estimator-sidebar-title.orange {
  color: #F8B400;
}
.estimator-sidebar-list {
  color: #22577A;
  font-size: 0.99rem;
  margin-bottom: 0;
  padding-left: 1.1em;
}
.estimator-sidebar-list li {
  margin-bottom: 0.22em;
}
.estimator-sidebar-fact {
  font-size: 0.97rem;
}

/* Utility classes and overrides */
.section-bg-white { background: #fff; }
.section-bg-light { background: #F6F7F9; }
.section-bg-divider { border-top: 1px solid #E2E8F0; }

.feature-card {
  background: #fff;
  border-radius: 0.75rem;
  border: 1px solid #E2E8F0;
  box-shadow: 0 2px 8px rgba(34,87,122,0.07);
  transition: box-shadow 0.18s, border-color 0.18s;
  position: relative;
  padding: 1.4rem 1.15rem;
}
.feature-card:hover, .feature-card:focus {
  box-shadow: 0 6px 20px rgba(56,163,165,0.11);
  border-color: #38A3A5;
  cursor: pointer;
  z-index: 2;
}

.sidebar-link-underline {
  color: #22577A;
  text-decoration: underline;
  font-weight: 600;
  transition: color 0.15s;
}
.sidebar-link-underline:hover, .sidebar-link-underline:focus {
  color: #38A3A5;
}

/* Remove inline color/background for estimator elements */

/* Buttons */
.btn-primary {
  background: #22577A !important;
  color: #fff !important;
  border: none;
  border-radius: 0.5rem;
  font-weight: 700;
  box-shadow: none;
  transition: background 0.16s, color 0.16s;
  text-decoration: none;
}
.btn-primary:hover, .btn-primary:focus {
  background: #38A3A5 !important;
  color: #fff !important;
}

.btn-outline-primary {
  background: #fff !important;
  color: #22577A !important;
  border: 2px solid #38A3A5 !important;
  border-radius: 0.5rem;
  font-weight: 600;
  box-shadow: none;
  transition: background 0.16s, border-color 0.16s, color 0.16s;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  background: #38A3A511 !important;
  color: #22577A !important;
  border-color: #22577A !important;
}

.btn-link {
  color: #22577A !important;
  font-weight: 600;
  text-decoration: underline;
  border: none;
  background: none;
  padding-left: 0;
  padding-right: 0;
}
.btn-link:hover, .btn-link:focus {
  color: #38A3A5 !important;
  text-decoration: underline;
}

button:focus, .btn:focus {
  outline: 2px solid #38A3A5 !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* Form controls */
.form-label {
  color: #22577A;
  font-weight: 600;
  font-size: 0.97rem;
}
.form-control, .form-select {
  border-radius: 0.4rem;
  border: 1.5px solid #E2E8F0;
  font-size: 1.02rem;
}
.form-control:focus, .form-select:focus {
  border-color: #38A3A5;
  outline: 2px solid #38A3A5 !important;
  box-shadow: none !important;
}

/* Navbar and Footer (unchanged core styles, for brevity, only estimator-specific changes shown above) */

/* Responsive tweaks */
@media (max-width: 991.98px) {
  .estimator-headline { font-size: 1.65rem; }
  .estimator-lead { font-size: 1.02rem; }
  .feature-card, .estimator-tool-card, .estimator-sidebar-card { padding: 1.1rem !important; }
}
@media (max-width: 767.98px) {
  .estimator-headline { font-size: 1.23rem; }
  .estimator-lead { font-size: 0.99rem; }
  .container, .estimator-container { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 575.98px) {
  .feature-card, .estimator-tool-card, .estimator-sidebar-card { padding: 0.85rem !important; }
}

::-webkit-input-placeholder { color: #AEB9C8; opacity: 1; }
::-moz-placeholder { color: #AEB9C8; opacity:1; }
:-ms-input-placeholder { color: #AEB9C8; opacity:1; }
::placeholder { color: #AEB9C8; opacity:1; }

:focus { outline: 2px solid #38A3A5 !important; outline-offset: 2px; }

button, .btn, input, select, textarea {
  -webkit-tap-highlight-color: rgba(34,87,122,0.08);
}

/* END style.css */
