/* ShreeNXT Brand Overrides
   - Centralized variables for colors
   - Typography updates (Montserrat for headings)
   - Replace legacy orange accents with brand blues
*/

:root {
  --brand-navy: #1A3A5E;
  --brand-primary: #0A78E0;      /* primary blue */
  --brand-secondary: #28C1F5;     /* cyan accent */
  --brand-light: #E6F3FF;         /* light blue tint */
  --brand-muted: #8CA6BF;         /* cool gray-blue */
  --brand-white: #FFFFFF;

  /* Shadow system */
  --primary-rgb: 10,120,224; /* #0A78E0 */
  --navy-rgb: 26,58,94;      /* #1A3A5E */
  --shadow-sm: 0 2px 10px rgba(var(--navy-rgb), 0.12);
  --shadow-md: 0 8px 24px rgba(var(--navy-rgb), 0.16);
  --shadow-lg: 0 16px 40px rgba(var(--navy-rgb), 0.18);
  --shadow-focus: 0 0 0 0.25rem rgba(var(--primary-rgb), 0.25);
}

/* Typography */
body {
  /* keep body font from base; colors remain readable */
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif !important;
  color: var(--brand-navy);
}

/* Links */
a { color: var(--brand-navy); }
a:hover { color: var(--brand-primary); }

/* Accent backgrounds previously using orange/peach */
body .r-bg-b { background: var(--brand-primary) !important; }
body .r-bg-a { background: var(--brand-light) !important; }
body .r-bg-d { background: var(--brand-light) !important; }

/* Small accent tag */
.ree-text1 { background: var(--brand-primary) !important; color: var(--brand-white) !important; }
.ree-text:after { background: #CFE7FF !important; }

/* Buttons */
.ree-btn-grdt1 { background: var(--brand-primary) !important; border-color: var(--brand-primary) !important; box-shadow: 0 19px 40px -10px rgba(var(--primary-rgb),0.2) !important; }
.ree-btn-grdt1:hover { background: var(--brand-white) !important; color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; box-shadow: var(--shadow-lg) !important; }
/* Header bar shadow and client logo cards */
html body .header-bhv { box-shadow: var(--shadow-md) !important; }
.client-logo-set a { box-shadow: var(--shadow-md) !important; }

/* Sticky header buttons retain subtle shadow */
.ree-header.sticky .ree-btn,
.ree-header.sticky .ree-btn-grdt1 { box-shadow: var(--shadow-sm) !important; }

.ree-btn-grdt2 { background: var(--brand-white) !important; color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; box-shadow: 0 19px 40px -10px rgba(var(--primary-rgb),0.15) !important; }
.ree-btn-grdt2:hover { background: var(--brand-primary) !important; color: var(--brand-white) !important; border-color: var(--brand-primary) !important; }

/* Common accent text colors */
.sub-heading,
.port-tags,
.statsnum span,
.call-us,
.ree-card-link:hover,
.play-vid-review {
  color: var(--brand-primary) !important;
}

/* Soft accents previously peach/orange */
.full-work-block .owl-nav button { background: var(--brand-light) !important; color: var(--brand-primary) !important; }
.fwb-main { background: var(--brand-light) !important; }
.half-bg-ree:before { background: var(--brand-light) !important; }
/* Responsive override counterpart */
.quick-key-points { background: var(--brand-primary) !important; }

/* Hero/contact overlays previously orange */
.home-contact:before,
.head-opacity:before { background: var(--brand-primary) !important; }

/* Quote icon accents */
.review-text p::before,
.review-text p::after,
.quote-line::before,
.quote-line::after { color: var(--brand-primary) !important; }

/* Menu headings and dropdown accents */
.menu-headings { color: var(--brand-primary) !important; }
.menu-headings:after { background-color: var(--brand-primary) !important; }
.ree-nav .dropdown-menu,
.mega-small .menu-block-set { border-top-color: var(--brand-primary) !important; }
.menu-extra-info { border-bottom-color: var(--brand-primary) !important; background: var(--brand-light) !important; }
.webiocon { color: var(--brand-primary) !important; }

/* Stats and service icons */
.ree-stat-icn { background: var(--brand-primary) !important; }
.vrt-tabb .nav-link { color: var(--brand-navy) !important; }
.vrt-tabb .nav-link i { color: var(--brand-primary) !important; box-shadow: 0 10px 10px rgba(var(--primary-rgb),0.25) !important; }
.vrt-tabb .nav-link.active,
.vrt-tabb .show>.nav-link { color: var(--brand-navy) !important; background-color: var(--brand-light) !important; }

/* Pagination and dots */
.owl-carousel .owl-dots .owl-dot:before { border-color: var(--brand-primary) !important; }
.owl-carousel .owl-dots .owl-dot:after { background: var(--brand-primary) !important; }
.trust-review.owl-carousel .owl-dots { background: var(--brand-light) !important; }

/* Text links and special states */
.text-link,
.job-detail h4,
.megamenu:hover>a,
.menu-li-link li a:hover,
.bread-active a,
.info-b-left a { color: var(--brand-primary) !important; }

/* Tabs */
.tab-17.tabs-layout .nav-tabs .nav-link.active {
  color: var(--brand-white) !important;
  border-bottom: 1px solid var(--brand-primary) !important;
}
.tabs-layout .nav-tabs .nav-link.active { background-color: var(--brand-primary) !important; border-color: var(--brand-primary) !important; }

/* Numbers / badges */
.number-f h2 { color: var(--brand-primary) !important; background: var(--brand-light) !important; }

/* Footer link hover */
.footer-links-list li a:hover { color: var(--brand-primary) !important; }

/* Footer branding */
.footer-a { background: var(--brand-navy) !important; }
.footer-head h5,
.footer-ree-lg h6,
.ft-abt p,
.ft-copyright p,
.ft-copyright p a,
.footer-deg2,
.footer-deg2 p,
.footer-links-list li a,
.footer_social li a { color: var(--brand-white) !important; }
.footer-a .footer-links-list li a:hover,
.footer-deg2 a:hover,
.footer_social li a:hover { color: var(--brand-secondary) !important; }
.footer-abt { border-top-color: rgba(255,255,255,0.12) !important; border-bottom-color: rgba(255,255,255,0.12) !important; }
.get-conct-2 .footer_social li a { color: var(--brand-primary) !important; }
.get-conct-2 .footer_social li a:hover { color: var(--brand-secondary) !important; border-color: var(--brand-secondary) !important; }
/* Footer logo visibility on dark background */
.footer-a .footer-logo img { background: var(--brand-white); border-radius: 10px; padding: 8px; box-shadow: var(--shadow-sm); }
.footer-ree-lg span.checked { color: var(--brand-secondary) !important; }

/* Headers and navigation */
.header-dark .ree-nav .nav-list li a.menu-links { color: #fcfcfd; }
.header-dark.sticky .ree-nav .nav-list li a.menu-links { color: #08182b; }

/* Forms and highlights */
input:focus, textarea:focus, select:focus { border-color: var(--brand-primary) !important; box-shadow: var(--shadow-focus) !important; }

/* Global shadow overrides to align with brand */
.shadows { box-shadow: var(--shadow-lg) !important; }
.card, .ree-card, .panel, .box, .feature-box, .service-item, .blog-card { box-shadow: var(--shadow-md) !important; }
.card:hover, .ree-card:hover, .feature-box:hover, .service-item:hover, .blog-card:hover { box-shadow: var(--shadow-lg) !important; }
.dropdown-menu, .mega-small .menu-block-set { box-shadow: var(--shadow-lg) !important; }
.offcanvas, .hc-offcanvas-nav { box-shadow: var(--shadow-lg) !important; }
.btn, .ree-btn, .ree-btn2 { box-shadow: var(--shadow-sm) !important; }
.btn:hover, .ree-btn:hover, .ree-btn2:hover { box-shadow: var(--shadow-md) !important; }

/* Badges and small UI elements */
.link-serv, .cta-heading-wide-bt .ree-btn, .ree-card-link { transition: color .2s ease, background-color .2s ease; }
.link-serv { color: var(--brand-primary) !important; background: var(--brand-light) !important; }
.link-serv:hover { background: var(--brand-primary) !important; color: var(--brand-white) !important; }

/* Progress/underline accents */
.process-content:after { background: linear-gradient(270deg, var(--brand-primary) 35%, var(--brand-secondary) 100%) !important; }

/* Offcanvas/mobile navigation */
body .hc-offcanvas-nav h2 { background: var(--brand-primary) !important; }
.hc-offcanvas-nav .nav-back a,
.hc-offcanvas-nav .nav-item-link,
.hc-offcanvas-nav li.nav-close a { background: var(--brand-light) !important; }

/* Pagination */
ul.pagination { background: var(--brand-light) !important; }
ul.pagination li a { color: var(--brand-primary) !important; }
ul.pagination li.pageNumber.active a,
ul.pagination li.pageNumber:hover a { background: var(--brand-primary) !important; color: var(--brand-white) !important; }

/* Labels/badges */
.sub-heading2 { color: var(--brand-primary) !important; background: var(--brand-light) !important; }

/* Decorative rings */
.about-pag-head:after { border-color: var(--brand-light) !important; }

/* Mini header bar */
.mini-header-bar { background: var(--brand-light) !important; }

/* Gradient text utility */
.ree-tt { /*background: linear-gradient(to right, var(--brand-primary), var(--brand-secondary)) !important;*/ -webkit-background-clip: text; -webkit-text-fill-color: var(--brand-primary); }

/* Price table tint */
.price-table-heading ul li { background-color: #D5EAFF !important; }

/* Scroll up bubble */
#scrollUp { background-color: var(--brand-light) !important; }

/* Ensure primary icons adopt brand color where applicable */
[class*="fa-"] { --icon-color: var(--brand-primary); }

/* Optional: adjust scrollbar accent to match brand */
::-webkit-scrollbar-thumb { background: #9dc9f7; }
::-webkit-scrollbar-thumb:hover { background: #6fb3f4; }

/* Contact details link styling */
.contact-detalnk a {
  color: var(--brand-navy) !important;  
}
.contact-detalnk a:hover { color: var(--brand-primary) !important; }
.contact-detalnk a span {
  background: var(--brand-light) !important;
  color: var(--brand-navy) !important;
  box-shadow: inset 0 -2px var(--brand-primary) !important;
  border-radius: 6px;
  transition: box-shadow 250ms ease, color 250ms ease, background-color 250ms ease;
}
.contact-detalnk a:hover span,
.contact-detalnk a:focus-visible span {
  background: var(--brand-primary) !important;
  color: var(--brand-white) !important;
  box-shadow: inset 0 -30px rgba(var(--primary-rgb), 1) !important;
}
.contact-detalnk a:focus-visible { outline: none; }

/* Test Estimation (css/test-est.css) brand overrides */
/* Cards and selections */
.fd-card figcaption { color: var(--brand-navy) !important; }
.fd-grp input:checked ~ .fd-card { border-color: var(--brand-primary) !important; }
.fd-grp input:checked ~ .fd-card figcaption { color: var(--brand-navy) !important; }

/* Light sections */
.wrapper-half { background-color: var(--brand-light) !important; }
.ad-form-mt.ad-form-hire { background-color: var(--brand-light) !important; box-shadow: var(--shadow-md) !important; }

/* Buttons */
.fd-btn-proceed button,
.btn-procced,
.fd-btn-proceed-form .submit { background: var(--brand-primary) !important; color: var(--brand-white) !important; }

/* Checkbox hover shadow tint */
.checkbox-v:hover { box-shadow: 0 0 20px rgba(var(--primary-rgb), 0.4) !important; }

/* Section headers */
.card-header { background-color: var(--brand-primary) !important; color: var(--brand-white) !important; }

/* Breadcrumbs, titles, accents */
.active-item { color: var(--brand-primary) !important; filter: none !important; }
.dynamic-text { color: var(--brand-primary) !important; }
.breadcrumb-item:hover,
.breadcrumb-item a:hover { color: var(--brand-primary) !important; }
.title_border span { background-color: var(--brand-navy) !important; }
.brdr-line,
.brdr-line:before,
.brdr-line:after { background: var(--brand-primary) !important; }
