/* Shared brand palette. Status colors remain distinct for errors and warnings. */
:root {
  --ink: #123f37;
  --muted: #4b665d;
  --navy: #126b59;
  --navy-dark: #075348;
  --teal: #168269;
  --cream: #f5faf6;
  --line: #d9e9df;
  --white: #fff;
  --shadow: 0 18px 45px rgba(17, 57, 46, .11);
  --brand-accent: #ad4719;
  --brand-accent-hover: #87330f;
  --brand-surface: #e7f4ec;
  --brand-card: #ffffff;
  --bs-primary: #126b59;
  --bs-primary-rgb: 18, 107, 89;
  --bs-link-color: #126b59;
  --bs-link-hover-color: #ad4719;
}

body { color: var(--ink); background: var(--cream); }
.top-strip { color: #e0ede6; background: #092f2a; }
.site-navbar { background: var(--navy-dark); border-color: #2d5b51; box-shadow: 0 8px 24px rgba(9, 47, 42, .12); }
.brand { color: #fff; }
.brand-logo { border-radius: .35rem; }
.brand small { color: #c6ded6; }
.site-nav .nav-link, .account-links .nav-link, .account-links .btn-link { color: #fff; }
.site-nav .nav-link:hover, .account-links .nav-link:hover, .account-links .btn-link:hover { color: #fff; background: #24594d; }
.site-nav .nav-link::after { background: #e5a17d; }
.repair-request-nav-link, .repair-request-nav-link:hover { color: #fff !important; }
.account-login, .account-login:hover { color: #fff !important; background: var(--brand-accent); }
.account-login:hover { background: var(--brand-accent-hover); }
.account-links { border-color: #668b7c; }
.language-switcher { color: #fff; border-color: #95b5a7; }
.language-switcher:hover { color: #fff; border-color: #fff; background: #24594d; }
.navbar-toggler { color: #fff; background: #174f45; border-color: #8daf9f; }
.home-page .menu-toggle-icon { background: transparent; }
.navbar-toggler:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #df936c; outline-offset: 3px; }
@media (max-width: 991px) { .navbar-collapse { background: var(--navy-dark); } }

.btn-primary-site, .btn-primary, .home-page .home-refresh .hero-actions > a,
.home-page .home-header-technician, .home-page .home-mobile-actions a:first-child {
  color: #fff; background: var(--brand-accent); border-color: var(--brand-accent);
}
.btn-primary-site:hover, .btn-primary:hover, .home-page .home-refresh .hero-actions > a:hover,
.home-page .home-header-technician:hover, .home-page .home-mobile-actions a:first-child:hover {
  color: #fff; background: var(--brand-accent-hover); border-color: var(--brand-accent-hover);
}
.btn-secondary-site, .btn-outline-primary { color: var(--navy); border-color: var(--navy); }
.btn-secondary-site:hover, .btn-outline-primary:hover { color: #fff; background: var(--navy); border-color: var(--navy); }
.home-page .home-refresh .customer-install-button { color: #fff; border-color: #fff; }
.home-page .home-refresh .customer-install-button:hover { color: #0b3932; background: #fff; }
.home-page .technician-app-link { color: var(--brand-accent); border-color: var(--brand-accent); }
.home-page .technician-app-link:hover { color: #fff; background: var(--brand-accent); }
.home-page .step-item > span { background: var(--brand-accent); }
.home-page #services .service-card a { color: var(--brand-accent); }

.auth-section { background: linear-gradient(135deg, #e9efe7, #f6f3ed); }
.admin-section, .portal-section { background: var(--cream); }
.auth-card, .portal-card, .admin-stats article, .admin-applications,
.admin-module-card, .service-card, .video-guide-card, .request-grid .request-card {
  background: var(--brand-card); border-color: var(--line);
}
.auth-card h1, .portal-header h1, .article-header h1, .form-grid label { color: var(--navy-dark); }
.auth-card > p, .auth-help, .form-help, .portal-header p, .article-summary { color: var(--muted); }
.auth-card input, .auth-card select, .auth-card textarea,
.form-grid input, .form-grid select, .form-grid textarea,
.inline-form input, .inline-form select, .admin-search input,
.admin-settings-form input:not([type=checkbox]), .admin-settings-form select {
  color: var(--ink); background: #fff; border-color: #aabeb1;
}
.auth-card input:focus, .auth-card select:focus, .auth-card textarea:focus,
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus,
.inline-form input:focus, .inline-form select:focus, .admin-search input:focus {
  border-color: #286e5b; outline: 3px solid rgba(40, 110, 91, .22); outline-offset: 1px;
}
.portal-table th { color: var(--navy-dark); background: var(--brand-surface); }
.portal-table th, .portal-table td { border-color: var(--line); }
.admin-module-card:hover { color: var(--navy-dark); border-color: var(--teal); }
.article-content { color: #314940; }
.article-cta, .request-assurance { background: #eef2e9; border-color: var(--line); }

/* A single, brighter green-and-warm-orange language across the whole homepage. */
.home-page { background: #f5faf6; color: var(--ink); }
.top-strip, .home-page .top-strip { background: #06483f; }
.site-navbar, .home-page .site-navbar { background: #075b4d; border-color: #397f6d; }
.home-page .home-refresh { background: linear-gradient(135deg, #075448, #16866a); }
.home-page .home-refresh .hero-content .eyebrow { color: #d2f4df; }
.home-page .home-refresh .hero-content > p, .home-page .home-refresh .hero-trust { color: #edf9f1; }
.home-page .home-refresh .hero-actions > a, .home-page .home-header-technician,
.home-page .home-mobile-actions a:first-child { background: var(--brand-accent); border-color: var(--brand-accent); color: #fff; }
.home-page .home-refresh .hero-actions > a:hover, .home-page .home-header-technician:hover,
.home-page .home-mobile-actions a:first-child:hover { background: var(--brand-accent-hover); border-color: var(--brand-accent-hover); }
.home-page #services, .home-page .process-section, .home-page .technician-app-section { background: #f5faf6; }
.home-page #services .service-card, .home-page .step-item {
  background: #fff; border: 1px solid #dcece3; box-shadow: 0 8px 26px rgba(15, 83, 61, .06);
}
.home-page #services .service-code { background-color: #e9f4ed; }
.home-page #services .service-card h3, .home-page #services .section-heading h2,
.home-page .process-intro h2 { color: #104b3f; }
.home-page #services .service-card a, .home-page .technician-app-link { color: #a13e12; }
.home-page .step-item > span { background: var(--brand-accent); color: #fff; }
.home-page .technician-app-card { background: #e4f4e8; }
.home-page .technician-app-link { border-color: #ad4719; }
.home-page .technician-app-link:hover { color: #fff; background: #ad4719; }
.home-page .quick-benefits, .home-page .local-services-section,
.home-page .video-learning-section, .home-page .home-faq-section { background: #edf7f0; }
.home-page .home-story-section, .home-page .home-trust-section,
.home-page .request-section { background: #fff; }
.home-page .video-guide-card .aparat-player { background: linear-gradient(135deg, #0d6755, #299875); }
.home-page .coverage-section { background: linear-gradient(125deg, #075348, #168269); }
.home-page .request-card { background: #eaf7ed; border-color: #cce8d5; }
.site-footer { background: #07473e; color: #d4eae0; }
.footer-content p { color: #c7e3d4; }
.footer-copy { color: #bdd8cb; }

@media (max-width: 767px) {
  .home-page .top-strip-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .1rem .55rem; padding: .35rem 0; }
  .home-page .top-strip-inner span { display: inline; }
  .home-page .top-strip-inner span + span { flex-basis: 100%; margin: 0; font-size: .68rem; }
  .home-page .navbar-content { gap: .3rem; }
  .home-page .brand { gap: .3rem; }
  .home-page .brand-logo { width: 78px; }
  .home-page .brand strong { font-size: .7rem; }
  .home-page .brand small { font-size: .53rem; }
  .home-page .home-header-technician { padding: .55rem .5rem; font-size: .72rem; }
  .home-page .navbar-toggler { padding: .42rem; font-size: .78rem; }
  .home-page .home-refresh .hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .home-page .home-refresh .hero-content { padding: 1.8rem 1.15rem 1.4rem; }
  .home-page .home-refresh .hero-content h1 { font-size: clamp(1.65rem, 6vw, 2.1rem); line-height: 1.5; }
  .home-page .home-refresh .hero-content > p { font-size: .95rem; }
  .home-page .home-refresh .hero-actions { max-width: none; }
  .home-page .home-refresh .hero-actions > a, .home-page .home-refresh .customer-install-button { min-height: 3rem; font-size: .9rem; }
  .home-page .home-refresh .hero-trust { font-size: .78rem; gap: .5rem 1rem; }
  .home-page .home-refresh .hero-visual { min-height: 0; height: 205px; }
  .home-page .home-refresh .hero-photo { min-height: 0; height: 205px; max-height: none; object-position: 50% 48%; }
  .home-page .home-mobile-actions { background: #075348; }
  .home-page .home-mobile-actions[hidden] { display: none; }
  .home-page .site-footer { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
}

@media (display-mode: standalone) {
  .home-page .home-refresh .hero-grid { background: #f5faf6; }
  .home-page .home-refresh .hero-content h1, .home-page .home-refresh .hero-content h1 span { color: #104b3f; }
  .home-page .home-refresh .hero-content > p, .home-page .home-refresh .hero-content .eyebrow,
  .home-page .home-refresh .hero-trust { color: #365f51; }
  .home-page .customer-app-nav { background: #075348; }
  .home-page .site-footer { padding-bottom: 0; }
}

@media (max-width: 360px) {
  .home-page .brand-logo { width: 52px; }
  .home-page .brand strong { font-size: .6rem; }
  .home-page .brand small { font-size: .48rem; }
  .home-page .home-header-technician { gap: .2rem; padding: .5rem .35rem; font-size: .65rem; }
  .home-page .navbar-toggler { gap: .18rem; padding: .38rem .3rem; font-size: .65rem; }
}
.local-services-section, .video-learning-section, .process-section { background: #f1f3eb; }
.coverage-section { background: linear-gradient(125deg, #0b3932, #174f45, #286e5b); }
.request-section .request-card { background: #e8eee4; border-color: var(--line); }
.site-footer { color: #d4e5dc; background: #092f2a; }
.footer-content p, .footer-links a, .footer-copy { color: #d4e5dc; }
.footer-links a:hover { color: #fff; }

@media (display-mode: standalone) {
  .customer-app-nav { background: var(--navy-dark); border-color: #2d5b51; }
  .customer-app-nav a { color: #fff; }
}
