/* ============================================================
   RestorationHQ — Global Brand Overrides
   Applied to ALL pages for consistent branding
   ============================================================ */

/* ===== FA DUOTONE ICONS — brand red treatment ===== */
.fad { --fa-primary-color: #c41e1e; --fa-secondary-color: #8b0000; --fa-secondary-opacity: 0.4; }
.feature-carousel .icon .fad {
    color: #c41e1e !important;
    --fa-primary-color: #c41e1e;
    --fa-secondary-color: #e85555;
    --fa-secondary-opacity: 0.3;
}
.services-area .item .fad {
    transition: transform 0.3s ease !important;
}
.services-area .item:hover .fad {
    transform: scale(1.1) !important;
}

/* ===== SCOPE CURSOR — desktop only ===== */
@media (pointer: fine) {
    html, body, *, *::before, *::after {
        cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='11' fill='none' stroke='%23c41e1e' stroke-width='2'/%3E%3Cline x1='18' y1='2' x2='18' y2='10' stroke='%23c41e1e' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='18' y1='26' x2='18' y2='34' stroke='%23c41e1e' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='2' y1='18' x2='10' y2='18' stroke='%23c41e1e' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='26' y1='18' x2='34' y2='18' stroke='%23c41e1e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 18 18, crosshair !important;
    }
}

/* ===== BRAND ACCENT ===== */
.text-brand { color: #c41e1e !important; }
.text-brand-gradient {
    background: linear-gradient(135deg, #c41e1e 0%, #7a0000 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ===== GLOBAL TYPOGRAPHY — readable, high contrast ===== */
body {
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    color: #333 !important;
}
p {
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: #333 !important;
    font-weight: 500 !important;
}
h1, h2, h3, h4, h5, h6 {
    color: #111 !important;
    font-weight: 700 !important;
}
h1 { font-size: 52px !important; line-height: 1.1 !important; }
h2 { font-size: 42px !important; line-height: 1.12 !important; }
h3 { font-size: 30px !important; line-height: 1.2 !important; }
h4 { font-size: 22px !important; line-height: 1.3 !important; }
h5 { font-size: 18px !important; line-height: 1.4 !important; }

/* ===== NAVBAR — SPLIT: black left, white right ===== */
/* Black bg behind logo — ALL states including scrolled */
.navbar.navbar-style-one .navbar-header::after,
.navbar.navbar-style-one.no-background .navbar-header::after,
.navbar.navbar-style-one.sticked .navbar-header::after,
nav.navbar.sticked .navbar-header::after,
.sticked .navbar-header::after {
    background: #000 !important;
    opacity: 1 !important;
}
/* Ensure the navbar-header itself has relative positioning for the ::after */
.navbar.navbar-style-one .navbar-header {
    position: relative !important;
    z-index: 1 !important;
}
nav.navbar,
nav.navbar.validnavs,
nav.navbar.sticked,
.sticked {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
}
.navbar-brand { padding: 10px 0 !important; }
.navbar-brand img {
    max-height: 80px !important;
    width: auto !important;
    height: auto !important;
}
nav.navbar.sticked .navbar-brand img,
.navbar-sticky.sticked .navbar-brand img { max-height: 60px !important; }
/* ALWAYS show light (white) logo — the ::after black bg is always behind it */
.navbar-brand .logo-display,
nav.navbar .logo-display,
nav.navbar.sticked .logo-display,
nav.navbar.validnavs.sticked .logo-display,
.sticked .logo-display,
nav.navbar.validnavs.navbar-fixed .logo-display,
nav.navbar.validnavs.navbar-fixed.sticked .logo-display { display: inline-block !important; }

.navbar-brand .logo-scrolled,
nav.navbar .logo-scrolled,
nav.navbar.sticked .logo-scrolled,
nav.navbar.validnavs.sticked .logo-scrolled,
.sticked .logo-scrolled,
nav.navbar.validnavs.navbar-fixed .logo-scrolled,
nav.navbar.validnavs.navbar-fixed.sticked .logo-scrolled { display: none !important; }
/* Kill attr-nav */
.attr-nav, .attr-right, .attr-right .attr-nav { display: none !important; }
/* Nav links — black text on white */
.navbar-nav > li > a,
nav.navbar .navbar-nav > li > a,
nav.navbar.sticked .navbar-nav > li > a {
    color: #111 !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
    padding: 10px 18px !important;
    transition: color 0.4s ease !important;
}
.navbar-nav > li > a:hover { color: #c41e1e !important; }
/* Dropdowns */
.dropdown-menu {
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    padding: 8px 0 !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.1) !important;
}
.dropdown-menu li a {
    color: #333 !important;
    font-size: 15px !important;
    padding: 8px 20px !important;
    transition: all 0.3s ease !important;
}
.dropdown-menu li a:hover {
    color: #fff !important;
    background: #c41e1e !important;
}

/* ===== SECTION HEADINGS ===== */
.site-heading h4, .heading h4 {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: #c41e1e !important;
    margin-bottom: 14px !important;
}
.site-heading h2, .heading h2, .heading-left h2.title {
    font-size: 48px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    color: #111 !important;
}
.site-heading p, .heading p, .heading-left p {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #333 !important;
    font-weight: 500 !important;
}

/* ===== FEATURE CAROUSEL ===== */
.feature-carousel .item h3 {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    line-height: 1.15 !important;
    color: #111 !important;
}
.feature-carousel .item p {
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: #444 !important;
    font-weight: 500 !important;
}

/* ===== SERVICE CARDS — readable on all states ===== */
.services-area .item {
    transition: all 0.35s ease !important;
    border-radius: 12px !important;
    background: #fff !important;
}
.services-area .item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12) !important;
    background: #fff !important;
}
.services-area .item h4 {
    font-size: 26px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    color: #111 !important;
}
.services-area .item:hover h4 {
    color: #111 !important;
}
.services-area .item p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #444 !important;
    font-weight: 500 !important;
}
.services-area .item:hover p {
    color: #444 !important;
}
.services-area .item .fad {
    transition: transform 0.3s ease !important;
    color: #c41e1e !important;
}
.services-area .item:hover .fad {
    transform: scale(1.1) !important;
    color: #c41e1e !important;
}
/* Fix any template hover bg override */
.services-area .item::after,
.services-area .item::before {
    background: transparent !important;
}

/* ===== ABOUT / TABS ===== */
.about-area .heading h2.title {
    font-size: 52px !important;
    line-height: 1.08 !important;
    color: #111 !important;
}
.tab-content h2 {
    font-size: 34px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    color: #111 !important;
}
.tab-content p {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #333 !important;
    font-weight: 500 !important;
}
.center-tabs .nav-tabs .nav-link {
    border-radius: 50px !important;
    padding: 14px 32px !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    transition: all 0.3s ease !important;
}
.center-tabs .nav-tabs .nav-link.active {
    background: linear-gradient(135deg, #c41e1e 0%, #8b0000 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
}

/* ===== CTA BUTTONS ===== */
.btn-gradient, .btn.btn-gradient {
    background: linear-gradient(135deg, #c41e1e 0%, #8b0000 100%) !important;
    border: none !important;
    padding: 16px 44px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 20px rgba(196, 30, 30, 0.4) !important;
    color: #fff !important;
}
.btn-gradient:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(196, 30, 30, 0.55) !important;
}
/* Secondary / outline buttons — clear, distinguishable */
.btn-simple, .btn-standard {
    color: #c41e1e !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    padding-bottom: 4px !important;
}
.btn-simple::after, .btn-standard::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background: linear-gradient(90deg, #c41e1e, #8b0000) !important;
    transform: scaleX(0.4) !important;
    transform-origin: left !important;
    transition: transform 0.3s ease !important;
}
.btn-simple:hover::after, .btn-standard:hover::after {
    transform: scaleX(1) !important;
}
.btn-simple:hover, .btn-standard:hover {
    color: #8b0000 !important;
}
/* Outline / bordered buttons */
.btn.circle,
.btn-md.circle,
a.btn.circle {
    border: 2px solid #c41e1e !important;
}
/* Make View All buttons more visible */
.heading-left .btn-gradient {
    padding: 14px 36px !important;
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
    border: 2px solid transparent !important;
    box-shadow: 0 4px 20px rgba(196, 30, 30, 0.35) !important;
}

/* ===== PROGRESS BARS ===== */
.progress-bar { background: linear-gradient(90deg, #c41e1e 0%, #8b0000 100%) !important; }

/* ===== TESTIMONIALS ===== */
.testimonial-items .carousel-item p { font-size: 21px !important; line-height: 1.7 !important; font-style: italic; color: #222 !important; }

/* ===== COUNTERS ===== */
.fun-fact .timer { font-size: 58px !important; font-weight: 700 !important; color: #c41e1e !important; }

/* ===== BLOG CARDS ===== */
.blog-area .item { transition: all 0.3s ease; border-radius: 12px; overflow: hidden; }
.blog-area .item:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0,0,0,0.1); }
.blog-area .item h4 { font-size: 22px !important; font-weight: 700 !important; }
.blog-area .item h4 a { color: #111 !important; }
.blog-area .item h4 a:hover { color: #c41e1e !important; }

/* ===== SKILL / EXPERTISE ===== */
.skill-area h2.title { font-size: 42px !important; color: #111 !important; }
.skill-area .sub-title { font-size: 13px !important; letter-spacing: 4px !important; text-transform: uppercase !important; color: #c41e1e !important; }
.skill-area p { font-size: 17px !important; line-height: 1.7 !important; color: #333 !important; font-weight: 500 !important; }

/* ===== BREADCRUMB (inner pages) ===== */
.breadcrumb-area.gradient-bg {
    background: linear-gradient(135deg, #c41e1e 0%, #8b0000 100%) !important;
    background-image: linear-gradient(135deg, #c41e1e 0%, #8b0000 100%) !important;
}

/* ===== ABOUT FEATURES LIST (inner pages) ===== */
.features-list .item {
    background: linear-gradient(135deg, #c41e1e 0%, #8b0000 100%) !important;
}

/* ===== CTA GRADIENT SECTIONS ===== */
.bg-gradient,
.start-us-area.bg-gradient {
    background: linear-gradient(135deg, #c41e1e 0%, #8b0000 100%) !important;
}

/* ===== COUNTERS — fix display + suffix ===== */
.fun-fact .medium {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-top: 8px !important;
    display: block !important;
}

/* Tabs — merged with declaration at line 239, removed duplicate */

/* ===== OWL CAROUSEL — cleaner nav dots ===== */
.owl-dots .owl-dot span {
    background: #ddd !important;
    transition: all 0.3s ease !important;
}
.owl-dots .owl-dot.active span,
.owl-dots .owl-dot:hover span {
    background: #c41e1e !important;
}

/* ===== FOOTER — ALL TEXT WHITE/LIGHT ON DARK BG ===== */
footer,
footer.bg-dark,
footer.bg-dark.text-light {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    color: #ddd !important;
}
footer *,
footer p,
footer span,
footer li,
footer a,
footer strong,
footer h4,
footer h5,
footer .f-item p,
footer .f-item.about p,
footer .f-item.contact p,
footer .f-item.contact .address ul li,
footer .f-item.contact .address ul li strong {
    color: #ddd !important;
    opacity: 1 !important;
}
footer .widget-title,
footer h4.widget-title {
    font-size: 20px !important;
    color: #fff !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}
footer .f-item.link ul li a {
    font-size: 15px !important;
    color: #ccc !important;
    transition: color 0.3s ease !important;
}
footer .f-item.link ul li a:hover {
    color: #c41e1e !important;
}
footer .social li a {
    color: #ccc !important;
}
footer .social li a:hover {
    color: #c41e1e !important;
}
footer .social li a i {
    color: inherit !important;
}
footer .footer-bottom {
    border-top: 1px solid #2a2a2a !important;
}
footer .footer-bottom p,
footer .footer-bottom a,
footer .footer-bottom .link ul li a {
    color: #999 !important;
    font-size: 14px !important;
}
footer .footer-bottom p a,
footer .footer-bottom .link ul li a:hover {
    color: #c41e1e !important;
}

/* ===== INNER-PAGE HOVER READABILITY FIXES ===== */

/* Features list (about page) — white text on red gradient bg */
.features-list .item,
.features-list .item h4,
.features-list .item ul li,
.features-list .item p {
    color: #fff !important;
}
.features-list .item i {
    color: #fff !important;
}

/* Team cards — ensure info text stays readable on hover */
.our-team-area .team-items .item .info h4,
.our-team-area .team-items .item .info h4 a {
    color: #111 !important;
    transition: color 0.3s ease !important;
}
.our-team-area .team-items .item .info h4 a:hover {
    color: #c41e1e !important;
}
.our-team-area .team-items .item .info span {
    color: #555 !important;
}

/* Services sidebar — active + hover states */
.services-single-area .services-sidebar .sidebar-item li a {
    color: #333 !important;
    transition: color 0.3s ease !important;
}
.services-single-area .services-sidebar .sidebar-item li a:hover,
.services-single-area .services-sidebar .sidebar-item li.active a {
    color: #c41e1e !important;
}

/* Case study / project hover overlay — keep arrow visible */
.projects-area .projects-items .effect-info a {
    color: #fff !important;
    background: rgba(196, 30, 30, 0.85) !important;
}
.projects-area .projects-items .single-item .info h4 a {
    color: #111 !important;
    transition: color 0.3s ease !important;
}
.projects-area .projects-items .single-item .info h4 a:hover {
    color: #c41e1e !important;
}

/* Blog sidebar — tags, categories, recent posts hover */
.sidebar-item.tags ul li a {
    color: #555 !important;
    border-color: #ddd !important;
    transition: all 0.3s ease !important;
}
.sidebar-item.tags ul li a:hover {
    color: #fff !important;
    background: #c41e1e !important;
    border-color: #c41e1e !important;
}
.sidebar-item.category ul li a {
    color: #333 !important;
    transition: color 0.3s ease !important;
}
.sidebar-item.category ul li a:hover {
    color: #c41e1e !important;
}
.sidebar-item.category ul li a span {
    color: #c41e1e !important;
}
.sidebar-item.recent-post li a {
    color: #333 !important;
    transition: color 0.3s ease !important;
}
.sidebar-item.recent-post li a:hover {
    color: #c41e1e !important;
}

/* Blog single pagination hover */
.post-pagi-area a {
    color: #333 !important;
    transition: color 0.3s ease !important;
}
.post-pagi-area a:hover {
    color: #c41e1e !important;
}

/* Accordion (FAQ) hover / focus states */
.accordion-button {
    color: #111 !important;
    font-weight: 600 !important;
}
.accordion-button:not(.collapsed) {
    color: #c41e1e !important;
    background-color: rgba(196, 30, 30, 0.05) !important;
}

/* Case details basic items — icon color */
.case-basic .item i {
    color: #c41e1e !important;
}

/* Mix filter buttons */
.mix-item-menu button {
    color: #555 !important;
    transition: all 0.3s ease !important;
}
.mix-item-menu button:hover,
.mix-item-menu button.active {
    color: #fff !important;
    background: #c41e1e !important;
}

/* Social sidebar icons hover */
.sidebar-item.social-sidebar li a {
    transition: all 0.3s ease !important;
}
.sidebar-item.social-sidebar li a:hover {
    color: #fff !important;
    background: #c41e1e !important;
    border-color: #c41e1e !important;
}

/* Start-with-us CTA section — white text on gradient bg */
.start-us-area .info h2,
.start-us-area .info p {
    color: #fff !important;
}
.start-us-area .btn-standard {
    color: #fff !important;
    border-color: #fff !important;
}
.start-us-area .btn-standard:hover {
    color: #fff !important;
}
.start-us-area .btn-standard::after {
    background: #fff !important;
}

/* Contact page info items */
.contact-area .info-items .item .icon i {
    color: #c41e1e !important;
}
.contact-area .info-items .item .info a {
    color: #c41e1e !important;
    transition: color 0.3s ease !important;
}
.contact-area .info-items .item .info a:hover {
    color: #8b0000 !important;
}

/* ===== FOOTER SHAPE — hide blue wave, replace with brand ===== */
.footer-shape {
    display: none !important;
}
footer .social li a {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    text-align: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.1) !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    color: #ccc !important;
    border: none !important;
}
footer .social li a:hover {
    background: #c41e1e !important;
    color: #fff !important;
}
footer .social li a i {
    color: inherit !important;
    font-size: 14px !important;
}
/* Override any colored social bg classes */
footer .social li.facebook a,
footer .social li.twitter a,
footer .social li.youtube a,
footer .social li.instagram a {
    background: rgba(255,255,255,0.1) !important;
    color: #ccc !important;
}
footer .social li.facebook a:hover,
footer .social li.twitter a:hover,
footer .social li.youtube a:hover,
footer .social li.instagram a:hover {
    background: #c41e1e !important;
    color: #fff !important;
}

/* ===== NAVBAR LOGO — always on black, always consistent, never changes ===== */
.navbar.navbar-style-one .navbar-header,
.navbar.sticked .navbar-header,
nav.navbar.validnavs.sticked .navbar-header,
nav.navbar.validnavs.navbar-fixed.sticked .navbar-header {
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
}
.navbar .navbar-header::after,
.navbar.sticked .navbar-header::after,
nav.navbar.validnavs.sticked .navbar-header::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: calc(-50vw + 50%) !important;
    bottom: 0 !important;
    width: 50vw !important;
    background: #000 !important;
    z-index: -1 !important;
}
.navbar .navbar-header::before,
.navbar.sticked .navbar-header::before,
nav.navbar.validnavs.sticked .navbar-header::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #000 !important;
    z-index: -1 !important;
}

/* ===== HERO SECTIONS — all pages readable ===== */
.banner-area {
    padding: 120px 0 80px !important;
}
.banner-area h2 {
    font-size: 52px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    color: #111 !important;
    margin-bottom: 24px !important;
}
.banner-area .text-brand-gradient {
    font-size: inherit !important;
    font-weight: inherit !important;
}
.banner-area p {
    font-size: 19px !important;
    line-height: 1.65 !important;
    color: #333 !important;
    font-weight: 500 !important;
}
.banner-area .thumb img {
    max-width: 100% !important;
    border-radius: 12px !important;
}

/* ===== INNER PAGE HERO HEADLINES ===== */
.breadcrumb-area h1,
.breadcrumb-area h2,
.page-header h1,
.page-header h2,
.banner-area h1 {
    font-size: 3rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}
@media (max-width: 767px) {
    .breadcrumb-area h1,
    .breadcrumb-area h2,
    .page-header h1,
    .page-header h2,
    .banner-area h1 {
        font-size: 2rem !important;
    }
}

/* ===== FEATURE CAROUSEL — larger text for carousel items ===== */
.feature-items .item h3 { font-size: 1.6rem !important; font-weight: 700 !important; }
.feature-items .item p { font-size: 1.05rem !important; line-height: 1.7 !important; }

/* ===== SERVICE CARDS — equal heights ===== */
.services-area .single-item {
    margin-bottom: 30px;
    display: flex;
}
.services-area .single-item .item {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.services-area .single-item .item p {
    flex: 1;
}
.services-area .single-item .item h4 { font-size: 1.4rem !important; }
.services-area .single-item .item p { font-size: 1rem !important; line-height: 1.7 !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 991px) {
    h1 { font-size: 40px !important; }
    h2 { font-size: 34px !important; }
    h3 { font-size: 26px !important; }
    .banner-area h2 { font-size: 44px !important; }
    .about-area .heading h2.title { font-size: 38px !important; }
    .site-heading h2, .heading h2 { font-size: 34px !important; }
    .navbar-brand img { max-height: 58px !important; }
}
@media (max-width: 575px) {
    h1 { font-size: 32px !important; }
    h2 { font-size: 28px !important; }
    h3 { font-size: 22px !important; }
    p { font-size: 16px !important; }
    .banner-area h2 { font-size: 32px !important; }
    .about-area .heading h2.title { font-size: 28px !important; }
    .navbar-brand img { max-height: 44px !important; }
    .feature-carousel .item h3 { font-size: 24px !important; }
}
