/* style.css - mbautoinsurance.ca - Custom site styles */
body, html {
    font-family: 'Manrope', 'Segoe UI', Arial, sans-serif;
    color: #212529;
    background: #f8f9fa;
    font-size: 1.08rem;
}

a {
    color: #1769aa;
    text-decoration: none;
    transition: color 0.15s, border-bottom 0.15s;
}
a:hover,
a:focus {
    color: #ffc107;
    outline: none;
}

.container {
    max-width: 1320px;
    padding-left: 32px;
    padding-right: 32px;
}
@media (max-width: 991.98px) {
    .container { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 575.98px) {
    .container { padding-left: 7px; padding-right: 7px; }
}

/* Navbar */
.navbar {
    background: #fff;
    border-bottom: 2px solid #e3f0fa;
    box-shadow: 0 2px 10px rgba(23,105,170,0.04);
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.navbar .navbar-brand {
    font-size: 2rem;
    font-weight: 700;
    color: #1769aa;
    letter-spacing: -1px;
    text-transform: lowercase;
}
.navbar .navbar-brand span { font-weight: 700; color: #1769aa; }
.navbar-nav .nav-link {
    color: #1769aa;
    font-weight: 500;
    font-size: 1.08rem;
    padding-right: 1rem;
    padding-left: 1rem;
    transition: color 0.14s;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus { color: #ffc107; outline: none; }
.navbar-nav .dropdown-menu {
    border-radius: 0;
    border: 1px solid #e3f0fa;
    background: #f8f9fa;
    margin-top: -3px !important;
    box-shadow: 0 2px 10px rgba(23,105,170,0.04);
}
.navbar-nav .dropdown-item {
    color: #1769aa;
    font-weight: 500;
}
.navbar-nav .dropdown-item:hover,
.navbar-nav .dropdown-item:focus {
    color: #fff;
    background: #1769aa;
}
.navbar-toggler {
    border: none;
    font-size: 1.8rem;
    color: #1769aa;
    outline: none;
    box-shadow: none;
}
.navbar-toggler:focus { outline: 2px solid #ffc107; }
@media (max-width: 575.98px) { .navbar .navbar-brand { font-size: 1.35rem; } }

/* Remove Bootstrap border-radius site-wide */
.btn,
.form-control,
.accordion-button,
.dropdown-menu,
.card { border-radius: 0 !important; }

.btn:focus,
.form-control:focus,
.accordion-button:focus,
.dropdown-item:focus {
    outline: 3px solid #ffc107 !important;
    box-shadow: 0 0 0 2px #1769aa33 !important;
}

/* Buttons */
.btn-primary {
    background: #1769aa;
    color: #fff;
    border: none;
    font-weight: 600;
    transition: background 0.13s, color 0.13s;
}
.btn-primary:hover,
.btn-primary:focus { background: #ffc107; color: #1769aa; }
.btn-warning {
    background: #ffc107;
    color: #1769aa;
    border: none;
    font-weight: 600;
}
.btn-warning:hover,
.btn-warning:focus { background: #1769aa; color: #ffc107; }
.btn { text-decoration: none; }
.btn:active,
.btn:focus { box-shadow: none !important; }

/* Util classes */
.bg-lightblue { background: #e3f0fa !important; }
.bg-gold { background: #ffc107 !important; }
.border-blue { border-color: #1769aa !important; }
.text-primary { color: #1769aa !important; }

/* Card elevation */
.card {
    box-shadow: 0 2px 8px rgba(23,105,170,0.08);
    transition: box-shadow 0.12s;
}
.card:hover,
.card:focus-within {
    box-shadow: 0 6px 24px rgba(23,105,170,0.13);
    border-bottom: 3px solid #ffc107;
}

/* Hero Section */
.hero-section {
    background: linear-gradient(97deg, rgba(23,105,170,0.95) 72%, rgba(23,105,170,0.83) 100%);
    position: relative;
    color: #fff;
    padding: 68px 0 56px 0;
    margin-bottom: 0;
    overflow: hidden;
}
.hero-section .hero-bg-img {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 0;
    opacity: 0.23;
    object-fit: cover;
    width: 100%; height: 100%;
}
.hero-content { position: relative; z-index: 2; }
@media (max-width: 575.98px) { .hero-section { padding: 32px 0 30px 0; } }

/* Accordion & Checklist */
.accordion-button {
    border-radius: 0 !important;
    font-size: 1.12rem;
    color: #1769aa;
    background: #f8f9fa;
    font-weight: 600;
    outline: none;
}
.accordion-button:focus {
    outline: 3px solid #ffc107 !important;
    box-shadow: 0 0 0 2px #1769aa33 !important;
}
.accordion-item {
    border-radius: 0 !important;
    border: none;
    border-bottom: 1.5px solid #e3f0fa;
    margin-bottom: 0;
}
.accordion-item:last-child { border-bottom: none; }

.checklist-ol { list-style: none; padding-left: 0; }
.checklist-ol li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 18px;
    font-size: 1.08rem;
}
.check-status {
    min-width: 28px;
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.check-status i {
    font-size: 1.22rem;
    vertical-align: middle;
    transition: color 0.16s;
}
.check-mainblock {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}
.check-desc { font-size: 0.97rem; color: #6c757d; }

@media (max-width: 575.98px) {
    .checklist-ol li {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    .check-mainblock { width: 100%; align-items: flex-start; }
    .check-desc,
    .learn-link { margin-top: 4px; }
}

/* Alerts */
.alert {
    border-radius: 0 !important;
    font-size: 1.07rem;
    border-width: 2px;
}
.alert .bi { font-size: 2rem; }
.btn-close:focus {
    outline: 2px solid #ffc107 !important;
    box-shadow: 0 0 0 2px #1769aa33 !important;
}

/* Footer */
footer .container { max-width: 1320px; }
footer { font-size: 1.05rem; background: #fff; }
.footer-link {
    color: #1769aa;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.13s, border-bottom 0.13s;
    border-bottom: 2px solid transparent;
    padding-bottom: 1px;
}
.footer-link:hover,
.footer-link:focus {
    color: #ffc107;
    border-bottom: 2px solid #ffc107;
    outline: none;
}
@media (max-width: 991.98px) {
    footer .container { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 575.98px) {
    footer .container { padding-left: 7px; padding-right: 7px; }
    footer .fw-bold.fs-3 { font-size: 1.35rem !important; }
}

/* AdSense block */
.adsbygoogle { min-width: 300px; min-height: 100px; }