 :root {
     --primary-red: #cc2117;
     --primary-blue: #003893;
     --accent-yellow: #ffcc33;
     --dark-bg: #00235a;
 }

 body {
     font-family: "Open Sans", sans-serif;
     color: #282828;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 .slab-font {
     font-family: "Merriweather", serif;
     font-weight: 700;
 }

 /* Top Header Area */
 .top-header {
     padding: 15px 0;
 }

.logo-img{    position: absolute;
    z-index: 11;
    width: 158px;
    margin-top: -59px;}

 .logo-text {
     color: #cc2117;
     font-size: 2.5rem;
     line-height: 1;
 }

 .logo-subtext {
     color: #003893;
     font-size: 0.9rem;
     letter-spacing: 1px;
     font-weight: bold;
 }

 .btn-yellow {
     background-color: #ffcc33;
     border: none;
     border-radius: 50px;
     padding: 8px 25px;
     font-weight: bold;
     font-size: 0.85rem;
 }

 .btn-yellow:hover {
     background-color: #cc2117;
     color: #ffffff;
 }

 .phone-badge {
     background-color: #000;
     color: #fff;
     border-radius: 50px;
     padding: 8px 25px;
     font-weight: bold;
     display: inline-block;
 }

 .phone-badge span {
     color: #FFFFFF;
 }

 /* Navigation */
 .navbar-nav .nav-link {
     color: #333;
     font-weight: bold;
     font-size: 0.9rem;
     text-transform: uppercase;
     padding: 0 15px !important;
 }

 .navbar-nav .nav-link:hover,
 .navbar-nav .nav-link.active {
     color: #cc2117 !important;
 }

 .dropdown-menu {
     border: none;
     border-top: 3px solid #cc2117;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
     border-radius: 0;
 }

 .dropdown-item {
     font-weight: 600;
     font-size: 0.85rem;
     padding: 10px 20px;
 }

 .dropdown-item:hover {
     background-color: #f8f9fa;
     color: #cc2117;
 }

 .dropdown-item.active {
     background-color: #f8f9fa;
     color: #cc2117 !important;
 }

 /* Hero Section */
 .hero-section {
     background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('../images/hero.jpg');
     background-size: cover;
     background-position: center;
     min-height: 600px;
     color: white;
     padding: 80px 0;
     position: relative;
 }

 .hero-title {
     font-size: 3.5rem;
     text-transform: uppercase;
 }

 .hero-subtitle {
     font-size: 1.8rem;
     font-family: "Dancing Script", cursive;
     font-style: italic;
     font-weight: normal;
 }

 .btn-appointment {
     background-color: #000;
     color: white;
     border: none;
     padding: 12px 25px;
     font-weight: bold;
     border-radius: 4px;
     margin-top: 20px;
 }

 .btn-appointment:hover {
     background-color: #ffcc33;
     color: #000;
 }

 /* Quote Form */
 .quote-card {
/*     background: rgba(0, 0, 0, 0.6);*/
     padding: 30px;
     border-radius: 8px;
 }

 .quote-card h3 {
     margin-bottom: 20px;
     text-align: center;
 }

 .quote-card .form-control {
     border-radius: 2px;
     margin-bottom: 10px;
         border: 1px solid #fff;
    background-color: rgba(255, 255, 255, .7);
 }

.quote-card .form-select{
    
         border: 1px solid #fff;
    background-color: rgba(255, 255, 255, .7);
 }

 .btn-submit {
     background-color: #cc2117;
     color: white;
     width: 100%;
     border: none;
     padding: 10px;
     font-weight: bold;
     text-transform: uppercase;
 }

 .btn-submit:hover {
     background-color: #ffcc33;
     color: #000;
 }

 /* Welcome Section */
 .welcome-section {
     padding: 80px 0;
     text-align: center;
 }

 .welcome-section p {
     max-width: 800px;
     margin: 20px auto;
     color: #666;
 }

 /* Services Section */
 .services-section {
     background-color: #003893;
     padding: 80px 0;
     color: white;
     text-align: center;
 }

 .service-card {
     background: transparent;
     border: none;
     margin-bottom: 30px;
 }

 .service-img-wrapper {
     position: relative;
     margin-bottom: 30px;
 }

 .service-img {
     width: 100%;
     height: 200px;
     object-fit: cover;
     border: 4px solid #fff;
 }

 .service-icon {
     position: absolute;
     top: -30px;
     left: 50%;
     transform: translateX(-50%);
     background: #cc2117;
     color: white;
     width: 70px;
     height: 70px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 30px;
     border: 3px solid #fff;
 }

 .btn-read-more {
     background-color: #000;
     color: white;
     border: none;
     padding: 8px 25px;
     font-size: 0.9rem;
     font-weight: bold;
 }

 .btn-read-more:hover {
     background-color: #ffcc33;
     color: #000;
 }

 /* Reviews Section */
 .reviews-section {
     padding: 80px 0;
 }

 .google-logo {
     width: 150px;
     margin-bottom: 10px;
 }

 .stars {
     color: #fbbc05;
     margin-bottom: 20px;
     font-size: 1.5rem;
 }

 .testimonial {
     max-width: 700px;
     margin: 0 auto;
     color: #666;
 }

 .carousel-indicators [data-bs-target] {
     background-color: #333;
     width: 10px;
     height: 10px;
     border-radius: 50%;
 }

 .btn-reviews {
     background-color: #003893;
     color: white;
     padding: 10px 30px;
     border-radius: 4px;
     text-decoration: none;
     font-weight: bold;
     display: inline-block;
     margin-top: 30px;
 }

 .btn-reviews:hover {
     background-color: #ffcc33;
     color: #000;
 }

.mr-40{margin-top: 40px; margin-bottom: 40px;}

 /* Footer */
 footer {
     background-color: #003893;
     color: white;
     padding: 60px 0 0;
 }

 footer h5 {
     border-bottom: 1px solid rgba(255, 255, 255, 0.2);
     padding-bottom: 10px;
     margin-bottom: 20px;
 }

 footer ul {
     list-style: none;
     padding: 0;
 }

 footer ul li {
     margin-bottom: 8px;
 }

 footer ul li a {
     color: white;
     text-decoration: none;
     font-size: 0.9rem;
 }

 footer ul li a:hover {
     color: #ffcc33;
 }

 .footer-bottom {
     background: #000;
     padding: 15px 0;
     font-size: 0.8rem;
     text-align: center;
     margin-top: 50px;
 }

 .footer-bottom a {
     color: white;
 }

 .footer-bottom a:hover {
     color: #e1e1e1;
     text-decoration: none;
 }

 /* Subpage Hero */
 .subpage-hero {
     background-color: var(--dark-bg);
     background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('../images/bg-subpages.jpg');
     background-size: cover;
     background-position: center;
     min-height: 380px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     text-align: center;
 }

 .subpage-hero h1 {
     font-size: 3rem;
     text-transform: uppercase;
     margin: 0;
 }

 /* Generic Section Spacing */
 .section-padding {
     padding: 80px 0;
 }

 /* FAQ Styling */
 .accordion-button:not(.collapsed) {
     background-color: var(--accent-yellow);
     color: #000;
 }

 .accordion-button:focus {
     box-shadow: none;
     border-color: rgba(0, 0, 0, .125);
 }

 /* Contact Page specific */
 .contact-info-card {
     background-color: #f8f9fa;
     padding: 30px;
     border-radius: 8px;
     height: 100%;
 }

 .contact-icon {
     color: var(--primary-red);
     font-size: 1.5rem;
     margin-right: 15px;
 }

 /* Decorative Elements */
 .diag-pattern {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent);
     background-size: 400px 400px;
     pointer-events: none;
 }

 /* Trust Cards Styling */
 .trust-card {
     background: #fff;
     border-radius: 16px;
     padding: 2.5rem 1rem;
     height: 100%;
     transition: all 0.3s ease;
     border: 1px solid #eee;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
     position: relative;
     overflow: hidden;
     text-align: center;
 }

 .trust-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
 }

 .trust-card::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 4px;
     background: var(--primary-blue);
 }

 .trust-card.alt-border::after {
     background: var(--primary-red);
 }

 .trust-card-icon {
     font-size: 2.5rem;
     color: var(--primary-blue);
     margin-bottom: 2rem;
     opacity: 0.8;
 }

 .trust-card h5 {
     font-size: 1.25rem;
     margin-bottom: 1rem;
     color: #222;
 }

 .trust-card p {
     color: #666;
     font-size: 0.95rem;
     line-height: 1.6;
     margin-bottom: 2rem;
 }

 .trust-card-btn {
     width: 40px;
     height: 40px;
     background: var(--primary-blue);
     color: #fff;
     border: none;
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
 }

 .trust-card:hover .trust-card-btn {
     background: var(--accent-yellow);
     color: #000;
 }

 .trust-card.alt-border .trust-card-btn {
     background: var(--primary-red);
 }

 .trust-card.alt-border:hover .trust-card-btn {
     background: var(--accent-yellow);
     color: #000;
 }

 /* Responsive Section Spacing */
 @media (max-width: 767.98px) {
     .section-padding {
         padding: 60px 15px;
     }

     .container,
     .container-fluid {
         padding-left: 20px !important;
         padding-right: 20px !important;
     }
 }

 /* Mobile Header Refinements */
 @media (max-width: 767.98px) {
     .top-header {
         padding: 20px 0;
     }
     
     .logo-img {
    position: inherit;
    z-index: 11;
    margin-top: -12px;
}

     .top-header .btn-yellow {
         width: 100%;
         max-width: 320px;
         margin-right: 0 !important;
         margin-bottom: 15px !important;
     }

     .top-header .phone-badge {
         width: auto;
         text-align: left;
         font-size: 1rem;
         padding: 8px 15px;
         margin-bottom: 0 !important;
     }

     .navbar-toggler {
         border-color: #eee;
         margin: 0;
         display: block;
         padding: 0.25rem 0.5rem;
     }

     .mobile-action-row {
         display: flex;
         justify-content: space-between;
         align-items: center;
         width: 100%;
         margin-top: 15px;
     }

     .navbar-collapse {
         background: #fff;
         padding: 15px;
         border-radius: 12px;
         box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
         margin-top: 10px;
         text-align: center;
     }

     .navbar-nav .nav-link {
         padding: 10px 0 !important;
         border-bottom: 1px solid #f8f9fa;
     }

     .navbar-nav .nav-item:last-child .nav-link {
         border-bottom: none;
     }
 }

 .navbar-toggler-icon {
     width: 1.9em;
     height: 1.9em;
 }
 p.note {
      color: #d90a0a;
  }