/* LaundryLane logo theme: teal, deep navy and clean white. */
:root {
  --logo-teal: #0a9eae;
  --logo-teal-dark: #087f90;
  --logo-teal-soft: #e8f8fa;
  --navy: #062b49;
  --blue: #0a9eae;
  --ink: #0a2b48;
  --muted: #55718a;
  --sky: #effbfc;
  --line: #bfe5e9;
  --shadow: 0 16px 36px rgba(6, 43, 73, .11);
}

body { background: #fff; }
.site-header { border-color: var(--line); box-shadow: 0 8px 24px rgba(6,43,73,.05); }
.main-nav a.active::after { background: var(--logo-teal); }
.main-nav .nav-cta,
.button,
.service-content a { background: var(--logo-teal); box-shadow: 0 8px 18px rgba(10,158,174,.22); }
.button-outline { background: transparent; color: var(--logo-teal-dark); border-color: var(--logo-teal); box-shadow: none; }
.button-white, .cta .button-white { color: #fff; }
.eyebrow, .hero h1 em, .about-hero h1 em, .pricing-hero h1 em { color: var(--logo-teal-dark); }
.hero, .about-hero, .pricing-hero { background: linear-gradient(105deg, #effbfc 0%, #d9f3f5 58%, #b8e8ec 100%); }
.process, .testimonials, .about-stats { background: var(--sky); }
.service-card, .step-card, .testimonial, .stat-card, .value-card,
.pricing-tab, .pricing-item, .pickup-card, .pickup-service-card,
.service-list-panel, .phone-card, .review-card { border-color: var(--line); }
.service-card:hover, .step-card:hover, .value-card:hover { box-shadow: 0 20px 40px rgba(6,43,73,.16); }
.benefit-grid b, .dots > * { border-color: #8fd7de; color: var(--logo-teal-dark); }
.dots b { background: var(--logo-teal); }
.cta { background: linear-gradient(105deg, #087f90, #0a9eae); }
.site-footer { background: var(--navy); }
.site-footer a:hover, .footer-bottom a:hover { color: #8ee4e9; }
.site-footer .footer-icon { width: 14px; height: 14px; margin-right: 7px; vertical-align: -2px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.site-footer .social-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.legal-container { max-width: 900px; }
.legal-container h1 { font: 800 42px 'Plus Jakarta Sans'; color: var(--ink); margin: 8px 0 28px; }
.legal-content { color: var(--muted); font-size: 14px; line-height: 1.75; }
.legal-content h2, .legal-content h3 { color: var(--ink); margin: 25px 0 8px; }
.legal-content h2 { font-size: 24px; }
.legal-content h3 { font-size: 17px; }
.legal-content p { margin: 0 0 14px; }

input:focus, select:focus, textarea:focus,
.pickup-service:focus-visible, .service-item:focus-visible,
button:focus-visible, a:focus-visible {
  outline: 3px solid rgba(10,158,174,.22);
  outline-offset: 2px;
}

.pickup-service-card .pickup-service,
.service-item, .phone-input, .otp-input, .address-input,
.pricing-tab, .pricing-item { border-color: var(--line); }
.pickup-service-card .pickup-service:hover,
.pickup-service-card .pickup-service.is-selected,
.service-item:hover, .service-item.is-selected,
.pricing-tab:hover, .pricing-tab.is-active { border-color: var(--logo-teal); background: var(--logo-teal-soft); }
.selection-hint, .success-message { color: var(--logo-teal-dark); }
.service-total-box { border-top-color: var(--line); }
.service-total-box strong, .service-total-row { color: var(--logo-teal-dark); }
