/*
Theme Name: Yana's Cleaning Company
Theme URI: https://yanascleaningtampa.com
Author: Yana's Cleaning Company
Author URI: https://yanascleaningtampa.com
Description: Professional cleaning services website for Tampa, FL area — residential & commercial.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: yana-cleaning
*/

/* === BASE === */
body {
  background: #101010;
  color: #a0a0a0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
}

@media (min-width: 768px)  { .container { width: 720px; } }
@media (min-width: 992px)  { .container { width: 960px; } }
@media (min-width: 1200px) { .container { width: 1100px; } }

.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt60 { margin-top: 60px; }

h1,h2,h3,h4 { color: #fff; font-weight: bold; }
h1,h2 { font-size: 30px; }
img { max-width: 100%; height: auto; }

a { color: #b39ddb; transition: color 0.3s; }
a:hover { color: #7C3AED; text-decoration: none; }

/* === BUTTONS === */
.btn {
  background: transparent;
  border: 2px solid #7C3AED;
  border-radius: 4px;
  box-shadow: none;
  color: #fff;
  padding: 12px 24px;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 1px;
  transition: all 0.4s ease-in;
}
.btn:hover, .btn:focus {
  background: #7C3AED;
  border-color: #7C3AED;
  color: #fff;
}
.btn-primary {
  background: #7C3AED;
  border-color: #7C3AED;
  color: #fff;
}
.btn-primary:hover {
  background: #6d28d9;
  border-color: #6d28d9;
}
.btn-cta {
  background: #7C3AED;
  border-color: #7C3AED;
  color: #fff;
  font-size: 16px;
  padding: 16px 40px;
  border-radius: 50px;
  letter-spacing: 2px;
}
.btn-cta:hover {
  background: #5b21b6;
  border-color: #5b21b6;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(124,58,237,0.4);
}
.email { margin-top: 10px; padding: 8px 12px; }

/* === SEGMENT MODAL === */
#segment-modal {
  position: fixed;
  inset: 0;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a0a2e 50%, #0d0d1a 100%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}
#segment-modal.hidden { display: none; }
#segment-modal .modal-logo {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
#segment-modal .modal-logo span { color: #7C3AED; }
#segment-modal h2 {
  font-size: 28px;
  color: #fff;
  margin-bottom: 10px;
  font-weight: 700;
}
#segment-modal .modal-subtitle {
  color: #a0a0a0;
  font-size: 14px;
  margin-bottom: 50px;
  max-width: 400px;
}
#segment-modal .segment-cards {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
}
#segment-modal .segment-card {
  background: rgba(255,255,255,0.04);
  border: 2px solid rgba(124,58,237,0.3);
  border-radius: 16px;
  padding: 40px 36px;
  width: 260px;
  cursor: pointer;
  transition: all 0.35s ease;
  text-align: center;
}
#segment-modal .segment-card:hover {
  border-color: #7C3AED;
  background: rgba(124,58,237,0.12);
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(124,58,237,0.3);
}
#segment-modal .segment-card .icon {
  font-size: 48px;
  margin-bottom: 18px;
  display: block;
}
#segment-modal .segment-card h3 {
  font-size: 20px;
  color: #fff;
  margin-bottom: 10px;
}
#segment-modal .segment-card p {
  font-size: 13px;
  color: #888;
  line-height: 1.6;
}
#segment-modal .segment-card .choose-btn {
  display: inline-block;
  margin-top: 20px;
  background: #7C3AED;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 10px 28px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  transition: background 0.3s;
}
#segment-modal .segment-card:hover .choose-btn {
  background: #5b21b6;
}
#segment-modal .modal-tagline {
  margin-top: 40px;
  font-size: 12px;
  color: #555;
}

/* Segment indicator in nav */
#segment-badge {
  display: inline-block;
  background: rgba(124,58,237,0.2);
  border: 1px solid #7C3AED;
  color: #b39ddb;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 20px;
  margin-left: 8px;
  cursor: pointer;
  vertical-align: middle;
  transition: all 0.3s;
}
#segment-badge:hover { background: #7C3AED; color: #fff; }

/* === NAVIGATION === */
.navbar-default {
  background: rgba(15,15,15,0.97);
  border: none;
  border-left: 5px solid #7C3AED;
  padding-right: 20px;
  margin: 0 !important;
  position: relative;
  top: 20px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.navbar-default .navbar-brand {
  font-size: 20px;
  line-height: 40px;
  padding-top: 8px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
}
.navbar-default .navbar-brand span { color: #7C3AED; }
.navbar-default .navbar-nav li a {
  color: #d0d0d0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 40px;
  transition: all 0.3s;
  text-transform: uppercase;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus { color: #7C3AED; }
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #7C3AED;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  background: #7C3AED;
  border-radius: 4px;
  border: none;
  margin-top: 20px;
  margin-bottom: 20px;
}
.navbar-default .navbar-toggle .icon-bar { background: #fff; }
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background: #5b21b6; }

/* === HOME HERO === */
#home {
  background: none !important;
  min-height: 0 !important;
  padding: 0 !important;
}
#home h1 { font-size: 48px; line-height: 1.15; margin-bottom: 16px; }
#home h3 { font-size: 16px; color: #7C3AED; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }
#home p.hero-sub { font-size: 16px; color: #bbb; max-width: 520px; margin-bottom: 30px; line-height: 1.7; }
#home .phone-hero {
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 30px;
  display: block;
}
#home .phone-hero i { color: #7C3AED; margin-right: 8px; }
#home .phone-hero a { color: #fff; text-decoration: none; }
#home .phone-hero a:hover { color: #7C3AED; }

/* hero segment switch labels */
.hero-segment-label {
  display: inline-block;
  font-size: 12px;
  color: #888;
  border: 1px solid #333;
  border-radius: 4px;
  padding: 4px 12px;
  margin-bottom: 24px;
}

/* === FEATURE CARDS (divider) === */
.divider {
  color: #fff;
  text-align: center;
  padding: 0 0 20px;
}
.divider .fa {
  border: 2px solid #7C3AED;
  border-radius: 50%;
  font-size: 32px;
  width: 80px; height: 80px; line-height: 76px;
  color: #7C3AED;
}
.divider h2 { padding-bottom: 4px; font-size: 20px; }
.divider p { font-size: 14px; color: #aaa; }
.divider .divider-wrapper {
  padding: 40px 20px;
  position: relative;
  bottom: 40px;
  transition: all 0.4s;
}
.divider .divider-wrapper:hover { bottom: 55px; cursor: pointer; }
.divider-one { background: #1a0533; }
.divider-two { background: #120427; }
.divider-three { background: #1f0544; }
.divider .divider-wrapper:hover .fa { background: #7C3AED; color: #fff; }

/* === ABOUT SECTION === */
#about-header {
  background: linear-gradient(rgba(10,5,25,0.7), rgba(10,5,25,0.7)),
              url('images/about-header.jpg') no-repeat center center;
  background-size: cover;
  min-height: 400px;
  padding-top: 160px;
}
#about { padding-top: 60px; }
#about .container { background: #161616; border-radius: 8px; overflow: hidden; }
#about .col-md-6 { padding: 0; margin: 0; }
#about .about-des { padding: 40px 40px 40px 30px; }
#about .about-des h2 { font-size: 28px; margin-bottom: 16px; }
#about .about-des p { font-size: 15px; line-height: 1.8; color: #aaa; margin-bottom: 14px; }
#about .btn { margin-top: 20px; }

/* About full page */
#about-page { padding: 80px 0; }
#about-page h2 { font-size: 32px; margin-bottom: 30px; }
.about-values { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 40px; }
.about-value-card {
  flex: 1; min-width: 200px;
  background: #1a1a1a;
  border: 1px solid #2a1a4a;
  border-radius: 10px;
  padding: 28px 20px;
  text-align: center;
}
.about-value-card .fa { font-size: 32px; color: #7C3AED; margin-bottom: 14px; }
.about-value-card h4 { color: #fff; margin-bottom: 8px; }
.about-value-card p { font-size: 13px; color: #888; }

/* stats bar */
.stats-bar {
  background: linear-gradient(135deg, #1a0533, #0d0d1a);
  padding: 50px 0;
  text-align: center;
}
.stats-bar .stat-item h3 { font-size: 48px; color: #7C3AED; margin: 0; font-weight: 800; }
.stats-bar .stat-item p { color: #aaa; font-size: 13px; margin: 0; }

/* === SERVICES === */
#services-header {
  background: linear-gradient(rgba(10,5,25,0.75), rgba(10,5,25,0.75)),
              url('images/home-bg.jpg') no-repeat center center;
  background-size: cover;
  min-height: 380px;
  padding-top: 160px;
  text-align: center;
}
#services-header h1 { font-size: 40px; }
#services-header p { color: #bbb; font-size: 16px; max-width: 600px; margin: 10px auto 0; }

#services { padding: 80px 0; }
#services .section-title {
  text-align: center;
  margin-bottom: 50px;
}
#services .section-title h2 { font-size: 32px; margin-bottom: 10px; }
#services .section-title p { color: #888; font-size: 15px; max-width: 600px; margin: 0 auto; }

.service-card {
  background: #161616;
  border: 1px solid #222;
  border-radius: 12px;
  padding: 36px 28px;
  margin-bottom: 28px;
  transition: all 0.35s;
  height: 100%;
}
.service-card:hover {
  border-color: #7C3AED;
  box-shadow: 0 8px 30px rgba(124,58,237,0.2);
  transform: translateY(-4px);
}
.service-card .service-icon {
  width: 64px; height: 64px;
  border-radius: 16px;
  background: rgba(124,58,237,0.15);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
  font-size: 28px;
  color: #7C3AED;
}
.service-card h3 { font-size: 19px; margin-bottom: 10px; color: #fff; }
.service-card p { color: #888; font-size: 14px; line-height: 1.7; }
.service-card ul { list-style: none; padding: 0; margin-top: 12px; }
.service-card ul li {
  color: #aaa; font-size: 13px;
  padding: 4px 0 4px 4px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.service-card ul li .fa-check { color: #7C3AED; font-size: 12px; flex-shrink: 0; }

/* hidden/shown by segment */
.residential-content { display: block; }
.commercial-content { display: none; }
body.commercial .residential-content { display: none; }
body.commercial .commercial-content { display: block; }
body.residential .residential-content { display: block; }
body.residential .commercial-content { display: none; }

/* === PORTFOLIO === */
#portfolio-header {
  background: linear-gradient(rgba(10,5,25,0.75), rgba(10,5,25,0.75)),
              url('images/portfolio-header.jpg') no-repeat center center;
  background-size: cover;
  min-height: 380px;
  padding-top: 160px;
  text-align: center;
}
#portfolio-header h1 { font-size: 40px; }

#portfolio {
  text-align: center;
  padding: 80px 0 60px;
}
#portfolio h2 { padding-bottom: 16px; font-size: 32px; }
#portfolio p.portfolio-sub { color: #888; max-width: 600px; margin: 0 auto 40px; }
#portfolio .portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
@media (max-width: 768px) { #portfolio .portfolio-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { #portfolio .portfolio-grid { grid-template-columns: 1fr; } }
.portfolio-item { position: relative; overflow: hidden; aspect-ratio: 4/3; }
.portfolio-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s, opacity 0.4s; opacity: 0.8; }
.portfolio-item:hover img { transform: scale(1.05); opacity: 1; }
.portfolio-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 14px 18px;
  background: linear-gradient(transparent, rgba(10,5,25,0.82));
  opacity: 1;
  transition: background 0.3s;
}
.portfolio-item:hover .portfolio-overlay { background: linear-gradient(transparent, rgba(10,5,25,0.95)); }
.portfolio-overlay span { color: #fff !important; font-size: 14px; font-weight: 700; }
.portfolio-overlay .fa { font-size: 30px; color: #fff; }

/* before/after slider */
.ba-slider-wrap { margin: 40px auto; max-width: 700px; }
.ba-slider { position: relative; overflow: hidden; border-radius: 8px; }
.ba-slider img { display: block; width: 100%; }
.ba-badge {
  position: absolute; top: 12px;
  background: rgba(124,58,237,0.85);
  color: #fff; font-size: 11px; font-weight: 700;
  padding: 4px 10px; border-radius: 4px;
}
.ba-badge.before { left: 12px; }
.ba-badge.after { right: 12px; }

/* === CONTACT === */
#contact-header {
  background: linear-gradient(rgba(10,5,25,0.75), rgba(10,5,25,0.75)),
              url('images/contact-header.jpg') no-repeat center center;
  background-size: cover;
  min-height: 380px;
  padding-top: 160px;
  text-align: center;
}
#contact-header h1 { font-size: 40px; }

#contact { padding: 80px 0; }
#contact h2 { text-align: center; padding-bottom: 10px; font-size: 32px; }
#contact .contact-subtitle {
  text-align: center; color: #888; margin-bottom: 50px; font-size: 15px;
}
#contact .form-control {
  background: #1e1e1e;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  box-shadow: none;
  margin-bottom: 20px;
  transition: all 0.3s;
  color: #fff;
  font-size: 14px;
}
#contact .form-control:focus {
  background: #252525;
  border-color: #7C3AED;
  box-shadow: 0 0 0 2px rgba(124,58,237,0.2);
}
#contact input { height: 50px; }
#contact textarea { resize: vertical; min-height: 140px; }
.form-control::-webkit-input-placeholder { color: #666; }
.form-control::-moz-placeholder { color: #666; }

.contact-info-box {
  background: #161616;
  border: 1px solid #242424;
  border-radius: 10px;
  padding: 30px;
  margin-bottom: 20px;
}
.contact-info-box .fa {
  font-size: 20px; color: #7C3AED;
  margin-right: 10px; width: 24px;
}
.contact-info-box h4 { color: #fff; margin-bottom: 6px; font-size: 14px; letter-spacing: 1px; }
.contact-info-box p { color: #888; font-size: 14px; margin: 0; }
.contact-info-box a { color: #b39ddb; }
.contact-info-box a:hover { color: #7C3AED; }

.phone-cta-box {
  background: linear-gradient(135deg, #3b0764, #1e0438);
  border: 1px solid #5b21b6;
  border-radius: 10px;
  padding: 30px;
  text-align: center;
  margin-bottom: 20px;
}
.phone-cta-box p { color: #bbb; margin-bottom: 8px; font-size: 13px; }
.phone-cta-box a.phone-num {
  font-size: 26px; font-weight: 800;
  color: #fff; display: block;
  text-decoration: none; margin-bottom: 16px;
  letter-spacing: 1px;
}
.phone-cta-box a.phone-num:hover { color: #b39ddb; }
.phone-cta-box .fa { color: #7C3AED; margin-right: 8px; }

#map-canvas { border: none; width: 100%; height: 320px; border-radius: 8px; margin-top: 10px; }

/* === FOOTER === */
footer {
  background: #111111;
  padding: 60px 0 30px;
  border-top: 1px solid #1e1e1e;
}
footer .footer-brand { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 14px; display: block; }
footer .footer-brand span { color: #7C3AED; }
footer .fa { font-size: 16px; margin-right: 8px; color: #7C3AED; }
footer h4 { color: #fff; margin-bottom: 16px; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; }
footer p, footer address { font-size: 13px; color: #777; line-height: 1.8; font-style: normal; }
footer a { font-size: 13px; color: #777; }
footer a:hover { color: #7C3AED; text-decoration: none; }
footer .footer-links li { list-style: none; margin-bottom: 8px; }
footer .footer-links { padding: 0; }
footer .footer-links a::before { content: '→ '; color: #7C3AED; }
footer .footer-tagline { color: #444; font-size: 12px; border-top: 1px solid #1e1e1e; padding-top: 20px; margin-top: 40px; }

/* newsletter */
.newsletter .form-control {
  background: transparent;
  border: 1px solid #333;
  border-radius: 4px;
  color: #fff;
  font-size: 13px;
}
.newsletter .form-control:focus { border-color: #7C3AED; background: #1a1a1a; }

/* === COPYRIGHT === */
.copyright {
  background: #0d0d0d;
  padding: 14px 0;
}
.copyright p { color: #444; font-size: 12px; margin: 0; padding-top: 4px; }
.copyright .service-areas { color: #555; font-size: 11px; }

.social-icons { padding: 0; margin: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.social-icons li { list-style: none; }
.social-icons li a {
  color: #666;
  font-size: 16px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: #1a1a1a;
  border-radius: 4px;
  transition: all 0.3s;
}
.social-icons li a:hover { background: #7C3AED; color: #fff; }

/* === SCHEMA/SEO HIDDEN === */
.seo-hidden { display: none; }

/* === REVIEWS/TRUST BAR === */
.trust-bar {
  background: #141414;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  padding: 28px 0;
  text-align: center;
}
.trust-bar .trust-item { display: inline-block; margin: 0 20px; }
.trust-bar .trust-item .fa { color: #7C3AED; font-size: 20px; margin-right: 6px; }
.trust-bar .trust-item span { color: #ccc; font-size: 13px; font-weight: 600; }

/* stars */
.stars { color: #ffa500; letter-spacing: 2px; }

/* review cards */
.review-card {
  background: #161616;
  border: 1px solid #222;
  border-radius: 10px;
  padding: 24px;
  margin-bottom: 24px;
}
.review-card .reviewer { font-weight: 700; color: #fff; font-size: 14px; }
.review-card .review-loc { color: #666; font-size: 12px; }
.review-card p { color: #999; font-size: 13px; line-height: 1.7; margin-top: 8px; }

/* CTA section */
.cta-section {
  background: linear-gradient(135deg, #1a0533 0%, #2d1066 50%, #1a0533 100%);
  padding: 80px 0;
  text-align: center;
}
.cta-section h2 { font-size: 34px; margin-bottom: 14px; }
.cta-section p { color: #bbb; font-size: 16px; margin-bottom: 30px; }
.cta-section .phone-big {
  font-size: 36px; font-weight: 800; color: #fff;
  display: block; margin-bottom: 24px;
  text-decoration: none;
}
.cta-section .phone-big:hover { color: #b39ddb; }
.cta-section .phone-big .fa { color: #7C3AED; margin-right: 8px; }

/* areas served */
.areas-section { padding: 60px 0; text-align: center; background: #111; }
.areas-section h3 { color: #fff; margin-bottom: 20px; }
.area-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 16px; }
.area-tag {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #888; font-size: 12px;
  padding: 6px 14px; border-radius: 20px;
  transition: all 0.3s;
}
.area-tag:hover { border-color: #7C3AED; color: #b39ddb; }
.area-tag .fa { color: #7C3AED; margin-right: 4px; font-size: 10px; }

/* page header generic */
.page-hero {
  padding: 180px 0 80px;
  text-align: center;
  position: relative;
}
.page-hero h1 { font-size: 42px; margin-bottom: 12px; }
.page-hero p { color: #bbb; font-size: 16px; }
.page-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(rgba(5,2,15,0.35), rgba(5,2,15,0.35));
}
.page-hero > * { position: relative; z-index: 1; }

/* RESPONSIVE */
@media (max-width: 980px) {
  #home h1 { font-size: 32px; }
  .cta-section .phone-big { font-size: 26px; }
  #segment-modal .segment-cards { flex-direction: column; align-items: center; }
  #segment-modal .segment-card { width: 85%; max-width: 320px; }
}
@media (max-width: 600px) {
  .about-values { flex-direction: column; }
  .navbar-default { padding-right: 10px; }
  #home { padding-top: 160px; }
  .stats-bar .stat-item { margin-bottom: 20px; }
}

/* progress bars on about */
.progress { border-radius: 0; height: 5px; background: #222; }
.progress-bar { background: #7C3AED; }

/* label on forms */
label { color: #888; font-size: 12px; letter-spacing: 1px; margin-bottom: 4px; }

/* active nav */
.active > a { color: #7C3AED !important; }

/* address contact info inline */
.contact-address {
  display: flex; flex-wrap: wrap; gap: 10px;
  justify-content: center; margin-top: 20px;
}
.contact-address span {
  background: #1a1a1a;
  border: 1px solid #242424;
  color: #888; font-size: 12px;
  padding: 6px 14px; border-radius: 4px;
}
.contact-address span .fa { color: #7C3AED; margin-right: 6px; }

/* Schema microdata hidden text for SEO */

/* =====================================================================
   DESIGN SYSTEM v2 — Trust & Authority + GSAP micro-interactions
   Applied: 2026 | Poppins / Open Sans | #7C3AED brand
   ===================================================================== */

/* ── Typography upgrade ─────────────────────────────────────────────── */
body {
  font-family: 'Open Sans', 'Montserrat', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.navbar-brand,
.btn,
.section-title,
.section-heading {
  font-family: 'Poppins', 'Montserrat', sans-serif;
}

/* ── CSS custom properties ─────────────────────────────────────────── */
:root {
  --brand:        #7C3AED;
  --brand-dark:   #5b21b6;
  --brand-light:  #a78bfa;
  --surface:      #1a1a1a;
  --surface-2:    #222;
  --border:       rgba(124,58,237,0.2);
  --text-muted:   #888;
  --radius-sm:    6px;
  --radius-md:    12px;
  --radius-lg:    20px;
  --transition:   0.28s cubic-bezier(0.4,0,0.2,1);
  --shadow-brand: 0 8px 30px rgba(124,58,237,0.35);
  --shadow-card:  0 4px 20px rgba(0,0,0,0.4);
}

/* ── Focus states (keyboard nav) ───────────────────────────────────── */
*:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
  border-radius: 3px;
}

/* ── Navbar scrolled state ─────────────────────────────────────────── */
.navbar-fixed-top.navbar-scrolled {
  box-shadow: 0 2px 20px rgba(0,0,0,0.6);
  background: rgba(10,10,10,0.97) !important;
  backdrop-filter: blur(10px);
  transition: background var(--transition), box-shadow var(--transition);
}

/* ── Button enhancements ────────────────────────────────────────────── */
.btn {
  position: relative;
  overflow: hidden;
  transition: background var(--transition), border-color var(--transition),
              box-shadow var(--transition), transform var(--transition);
  cursor: pointer;
}
.btn:active { transform: scale(0.97); }

/* Ripple effect */
.btn-ripple {
  position: absolute;
  width: 60px;
  height: 60px;
  margin-left: -30px;
  margin-top: -30px;
  background: rgba(255,255,255,0.25);
  border-radius: 50%;
  animation: ripple-anim 0.6s ease-out forwards;
  pointer-events: none;
}
@keyframes ripple-anim {
  from { transform: scale(0); opacity: 1; }
  to   { transform: scale(4); opacity: 0; }
}

/* ── Service card hover state ──────────────────────────────────────── */
.service-card {
  transition: box-shadow var(--transition), border-color var(--transition);
  will-change: transform;
}
.service-card:hover {
  box-shadow: var(--shadow-brand);
  border-color: var(--brand) !important;
}
.service-card .fa {
  transition: transform var(--transition), color var(--transition);
}
.service-card:hover .fa {
  transform: scale(1.15) rotate(-5deg);
  color: var(--brand-light) !important;
}

/* ── Trust items hover ─────────────────────────────────────────────── */
.trust-item {
  transition: transform var(--transition), opacity var(--transition);
}
.trust-item:hover {
  transform: translateY(-3px);
}

/* ── Review cards ──────────────────────────────────────────────────── */
.review-card {
  transition: box-shadow var(--transition), border-color var(--transition);
  will-change: transform;
}
.review-card:hover {
  box-shadow: 0 8px 24px rgba(124,58,237,0.25);
  border-color: rgba(124,58,237,0.5) !important;
}

/* ── Portfolio hover overlay ───────────────────────────────────────── */
.portfolio-item {
  will-change: transform;
  transition: box-shadow var(--transition);
}
.portfolio-item:hover {
  box-shadow: var(--shadow-brand);
}
.portfolio-item .portfolio-overlay {
  transition: opacity var(--transition);
}

/* ── Area tags hover ───────────────────────────────────────────────── */
.area-tag {
  transition: background var(--transition), color var(--transition),
              border-color var(--transition), transform var(--transition);
}
.area-tag:hover {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
  transform: scale(1.05);
}

/* ── Segment card enhanced hover ───────────────────────────────────── */
#segment-modal .segment-card {
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
#segment-modal .segment-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: var(--brand);
  box-shadow: var(--shadow-brand);
}
#segment-modal .segment-card:active {
  transform: scale(0.97);
}

/* ── Segment badge pulse ───────────────────────────────────────────── */
#segment-badge {
  animation: badge-pulse 3s ease-in-out infinite;
}
@keyframes badge-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(124,58,237,0.4); }
  50%       { box-shadow: 0 0 0 6px rgba(124,58,237,0); }
}

/* ── Stats bar counter color ───────────────────────────────────────── */
.stat-number, .stat-val {
  color: var(--brand-light);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  display: inline-block;
  transition: color var(--transition);
}

/* ── CTA phone number hover ────────────────────────────────────────── */
.cta-phone, .contact-phone a {
  transition: color var(--transition), text-shadow var(--transition);
}
.cta-phone:hover, .contact-phone a:hover {
  color: var(--brand-light) !important;
  text-shadow: 0 0 20px rgba(124,58,237,0.5);
}

/* ── Form input focus glow ──────────────────────────────────────────── */
.form-control:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.18) !important;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
}

/* ── Navbar link hover underline ───────────────────────────────────── */
.navbar-nav > li > a {
  position: relative;
  transition: color var(--transition);
}
.navbar-nav > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  width: 0; height: 2px;
  background: var(--brand);
  border-radius: 1px;
  transition: width var(--transition), left var(--transition);
}
.navbar-nav > li > a:hover::after,
.navbar-nav > li.active > a::after {
  width: 80%;
  left: 10%;
}

/* ── Page hero entrance (inner pages) — GSAP handles from opacity:0 ── */
.page-hero, .page-header {
  opacity: 1; /* GSAP gsap.from() sets initial 0 automatically */
}

/* ── Smooth image loading ──────────────────────────────────────────── */
img {
  transition: opacity 0.4s ease;
}

/* ── Glassmorphism segment modal refinement ────────────────────────── */
#segment-modal::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,0.12), transparent 70%);
  top: 20%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* ── Prefers-reduced-motion ─────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .page-hero, .page-header { opacity: 1; }
  #segment-badge { animation: none; }
}

/* ── Responsive typography ──────────────────────────────────────────── */
@media (max-width: 767px) {
  h1, h2 { font-size: 24px; }
  .section-title { font-size: 22px; }
  #segment-modal .segment-cards { flex-direction: column; align-items: center; }
  #segment-modal .segment-card { width: 90%; max-width: 300px; }
}

/* ── Print styles ───────────────────────────────────────────────────── */
@media print {
  #segment-modal, .navbar-fixed-top, .btn { display: none !important; }
  body { background: #fff; color: #000; font-size: 12pt; }
  a { color: #000; text-decoration: underline; }
}
.schema-content { display: none; }

/* =================================================================
   DESIGN SYSTEM v2 — Trust & Authority + GSAP micro-interactions
   Applied: 2026 | Poppins / Open Sans | #7C3AED brand
   ================================================================= */

/* Typography upgrade */
body { font-family: 'Open Sans', 'Montserrat', sans-serif; }
h1,h2,h3,h4,h5,h6,
.navbar-brand,.btn,.section-title,.section-heading {
  font-family: 'Poppins', 'Montserrat', sans-serif;
}

/* CSS custom properties */
:root {
  --brand:       #7C3AED;
  --brand-dark:  #5b21b6;
  --brand-light: #a78bfa;
  --transition:  0.28s cubic-bezier(0.4,0,0.2,1);
  --shadow-brand:0 8px 30px rgba(124,58,237,0.35);
}

/* Focus states */
*:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Sticky navbar scrolled state */
.navbar-fixed-top.navbar-scrolled {
  box-shadow: 0 2px 20px rgba(0,0,0,0.6);
  background: rgba(10,10,10,0.97) !important;
  backdrop-filter: blur(10px);
  transition: background var(--transition), box-shadow var(--transition);
}

/* Button enhancements */
.btn {
  position: relative;
  overflow: hidden;
  transition: background var(--transition), border-color var(--transition),
              box-shadow var(--transition), transform var(--transition);
  cursor: pointer;
}
.btn:active { transform: scale(0.97); }

/* Ripple effect */
.btn-ripple {
  position: absolute;
  width: 60px; height: 60px;
  margin-left: -30px; margin-top: -30px;
  background: rgba(255,255,255,0.25);
  border-radius: 50%;
  animation: ripple-anim 0.6s ease-out forwards;
  pointer-events: none;
}
@keyframes ripple-anim {
  from { transform: scale(0); opacity: 1; }
  to   { transform: scale(4); opacity: 0; }
}

/* Service card hover */
.service-card {
  transition: box-shadow var(--transition), border-color var(--transition);
  will-change: transform;
}
.service-card:hover {
  box-shadow: var(--shadow-brand);
  border-color: var(--brand) !important;
}
.service-card .fa {
  transition: transform var(--transition), color var(--transition);
}
.service-card:hover .fa {
  transform: scale(1.15) rotate(-5deg);
  color: var(--brand-light) !important;
}

/* Trust items */
.trust-item {
  transition: transform var(--transition);
}
.trust-item:hover { transform: translateY(-3px); }

/* Review cards */
.review-card {
  transition: box-shadow var(--transition), border-color var(--transition);
  will-change: transform;
}
.review-card:hover {
  box-shadow: 0 8px 24px rgba(124,58,237,0.25);
  border-color: rgba(124,58,237,0.5) !important;
}

/* Portfolio items */
.portfolio-item {
  will-change: transform;
  transition: box-shadow var(--transition);
}
.portfolio-item:hover { box-shadow: var(--shadow-brand); }

/* Area tags */
.area-tag {
  transition: background var(--transition), color var(--transition),
              border-color var(--transition), transform var(--transition);
}
.area-tag:hover {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
  transform: scale(1.05);
}

/* Segment card enhanced hover */
#segment-modal .segment-card {
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
#segment-modal .segment-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: var(--brand);
  box-shadow: var(--shadow-brand);
}
#segment-modal .segment-card:active { transform: scale(0.97); }

/* Segment badge pulse */
#segment-badge {
  animation: badge-pulse 3s ease-in-out infinite;
}
@keyframes badge-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(124,58,237,0.4); }
  50%      { box-shadow: 0 0 0 6px rgba(124,58,237,0); }
}

/* Stats numbers */
.stat-number,.stat-val {
  color: var(--brand-light);
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  display: inline-block;
}

/* Form input focus glow */
.form-control:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.18) !important;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
}

/* Navbar underline hover */
.navbar-nav > li > a {
  position: relative;
  transition: color var(--transition);
}
.navbar-nav > li > a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  width: 0; height: 2px;
  background: var(--brand);
  border-radius: 1px;
  transition: width var(--transition), left var(--transition);
}
.navbar-nav > li > a:hover::after,
.navbar-nav > li.active > a::after {
  width: 80%; left: 10%;
}

/* Glassmorphism modal ambient glow */
#segment-modal::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,0.12), transparent 70%);
  top: 20%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .page-hero,.page-header { opacity: 1; }
  #segment-badge { animation: none; }
}

/* Responsive typography */
@media (max-width: 767px) {
  h1,h2 { font-size: 24px; }
  .section-title { font-size: 22px; }
  #segment-modal .segment-cards { flex-direction: column; align-items: center; }
  #segment-modal .segment-card { width: 90%; max-width: 300px; }
}

/* Print */
@media print {
  #segment-modal,.navbar-fixed-top,.btn { display: none !important; }
  body { background: #fff; color: #000; font-size: 12pt; }
}

/* =====================================================================
   SERVICES PAGE SWITCHER — "Private Houses / Business"
   ===================================================================== */
.services-switcher {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 0 auto 52px;
  max-width: 480px;
  background: #1a1a1a;
  border: 2px solid rgba(124,58,237,0.3);
  border-radius: 50px;
  padding: 6px;
}
.services-switcher__btn {
  flex: 1;
  padding: 14px 28px;
  border: none;
  border-radius: 50px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background 0.28s ease, color 0.28s ease, box-shadow 0.28s ease;
  background: transparent;
  color: #888;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.services-switcher__btn.active {
  background: #7C3AED;
  color: #fff;
  box-shadow: 0 4px 16px rgba(124,58,237,0.4);
}
.services-switcher__btn:hover:not(.active) {
  color: #b39ddb;
  background: rgba(124,58,237,0.1);
}
.services-switcher__btn .sw-icon { font-size: 18px; }


/* ================================================================
   WHITE THEME — Brand colors from Yana's Cleaning Company logo
   Primary: #A880B9 (logo purple) | Teal: #7BADA8 | White bg
   ================================================================ */

/* ── Override CSS variables ──────────────────────────────────────── */
:root {
  --brand:        #A880B9;
  --brand-dark:   #7B4F8A;
  --brand-light:  #C9A8D8;
  --teal:         #7BADA8;
  --teal-dark:    #5A8D88;
  --surface:      #FFFFFF;
  --surface-2:    #F7F0FB;
  --bg:           #FFFFFF;
  --bg-alt:       #F7F0FB;
  --border:       rgba(168,128,185,0.2);
  --border-solid: #E8D5F0;
  --text:         #2D2D2D;
  --text-muted:   #666666;
  --transition:   0.28s cubic-bezier(0.4,0,0.2,1);
  --shadow-brand: 0 8px 30px rgba(168,128,185,0.35);
  --shadow-card:  0 4px 20px rgba(168,128,185,0.12);
}

/* ── Base ─────────────────────────────────────────────────────────── */
body {
  background: #fff !important;
  color: #2D2D2D !important;
}

/* ── Navbar ──────────────────────────────────────────────────────── */
.navbar-default,
.navbar-fixed-top {
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid #EFE0F5 !important;
  box-shadow: 0 2px 12px rgba(168,128,185,0.1) !important;
}
.navbar-fixed-top.navbar-scrolled {
  background: rgba(255,255,255,0.99) !important;
  box-shadow: 0 2px 24px rgba(168,128,185,0.2) !important;
  backdrop-filter: blur(10px);
}
.navbar-default .navbar-nav > li > a,
.nav.navbar-nav > li > a {
  color: #2D2D2D !important;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.nav.navbar-nav > li > a:hover {
  color: #A880B9 !important;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover {
  color: #A880B9 !important;
  background: transparent !important;
}
.navbar-default .navbar-toggle .icon-bar { background: #A880B9 !important; }
.navbar-default .navbar-toggle { border-color: #E8D5F0 !important; }

/* Logo image in navbar */
.navbar-brand--logo { padding: 8px 15px !important; height: auto !important; }
.navbar-logo-img { height: 52px; width: auto; max-width: 180px; object-fit: contain; }

/* Phone link */
.navbar-phone-link { color: #A880B9 !important; font-weight: 600 !important; }
.navbar-phone-link:hover { color: #7B4F8A !important; }

/* ── Buttons ─────────────────────────────────────────────────────── */
.btn-primary {
  background: #A880B9 !important;
  border-color: #A880B9 !important;
  color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background: #7B4F8A !important;
  border-color: #7B4F8A !important;
  color: #fff !important;
}
.btn-outline,
.btn-secondary {
  background: transparent !important;
  border: 2px solid #A880B9 !important;
  color: #A880B9 !important;
}
.btn-outline:hover,
.btn-secondary:hover {
  background: #A880B9 !important;
  color: #fff !important;
}

/* ── Sections ────────────────────────────────────────────────────── */
.section-pad,
.section-pad-sm {
  background: #fff;
}
.bg-light-purple,
.city-faq-section,
.city-services-section {
  background: #F7F0FB !important;
}

/* ── Hero sections ───────────────────────────────────────────────── */
.page-hero__overlay,
.city-hero .page-hero__overlay {
  background: rgba(123,79,138,0.45) !important;
}

/* ── Segment modal ───────────────────────────────────────────────── */
.segment-modal-inner {
  background: #fff !important;
  color: #2D2D2D !important;
}
.segment-card {
  background: #F7F0FB !important;
  border: 2px solid #E8D5F0 !important;
  color: #2D2D2D !important;
}
.segment-card:hover {
  border-color: #A880B9 !important;
  background: #fff !important;
}
.btn-segment {
  background: #A880B9 !important;
  color: #fff !important;
}

/* ── Service cards ───────────────────────────────────────────────── */
.service-card {
  background: #fff !important;
  border: 1px solid #EFE0F5 !important;
  color: #2D2D2D !important;
  box-shadow: 0 4px 20px rgba(168,128,185,0.10) !important;
}
.service-card:hover {
  border-color: #A880B9 !important;
  box-shadow: 0 8px 30px rgba(168,128,185,0.22) !important;
}
.service-card__title,
.service-card h3 {
  color: #2D2D2D !important;
}
.service-card__desc,
.service-card p {
  color: #555 !important;
}
.service-card ul li { color: #555 !important; }
.service-card ul li .fa-check { color: #A880B9 !important; }
.service-card__icon { color: #A880B9 !important; }
.service-card__icon .fa { color: #A880B9 !important; }

/* ── City service items ──────────────────────────────────────────── */
.city-service-item {
  background: #fff !important;
  border: 1px solid #EFE0F5 !important;
  color: #2D2D2D !important;
}
.city-service-icon .fa { color: #A880B9 !important; }
.city-service-link { color: #A880B9 !important; }
.city-service-link:hover { color: #7B4F8A !important; }

/* ── About / Story section ───────────────────────────────────────── */
.about-section,
.about-preview,
#about { background: #fff !important; color: #2D2D2D !important; }
.about-section h2, .about-preview h2 { color: #2D2D2D !important; }
.about-section p, .about-preview p { color: #555 !important; }

/* ── Stats bar ───────────────────────────────────────────────────── */
.stats-bar,
.tm-stats-row {
  background: #A880B9 !important;
  color: #fff !important;
}
.stat-number, .stat-val { color: #fff !important; }
.stat-label { color: rgba(255,255,255,0.85) !important; }

/* ── Trust items ─────────────────────────────────────────────────── */
.trust-item { color: #2D2D2D !important; }
.trust-item .fa { color: #A880B9 !important; }

/* ── Section headings ────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 { color: #2D2D2D !important; }
.section-title, .section-heading { color: #2D2D2D !important; }
.section-subtitle, .section-desc, .lead { color: #555 !important; }
p { color: #444 !important; }

/* ── Review / testimonial cards ──────────────────────────────────── */
.review-card {
  background: #fff !important;
  border: 1px solid #EFE0F5 !important;
  color: #2D2D2D !important;
  box-shadow: 0 4px 16px rgba(168,128,185,0.10) !important;
}
.review-card p { color: #555 !important; }
.review-card .fa-star { color: #A880B9 !important; }
.review-card__name { color: #2D2D2D !important; }

/* ── Portfolio / gallery ─────────────────────────────────────────── */
.portfolio-item, .portfolio-card {
  border: 2px solid transparent !important;
}
.portfolio-item:hover, .portfolio-card:hover {
  border-color: #A880B9 !important;
}

/* ── Contact form ────────────────────────────────────────────────── */
.contact-form-col,
.contact-info-col { color: #2D2D2D !important; }
.contact-form-col h2 { color: #2D2D2D !important; }
.form-control {
  background: #fff !important;
  border-color: #E8D5F0 !important;
  color: #2D2D2D !important;
}
.form-control:focus {
  border-color: #A880B9 !important;
  box-shadow: 0 0 0 3px rgba(168,128,185,0.15) !important;
}
.contact-info-box {
  background: #F7F0FB !important;
  border: 1px solid #EFE0F5 !important;
  color: #2D2D2D !important;
}
.contact-info-box h3, .contact-info-box h4 { color: #2D2D2D !important; }
.contact-info-box a { color: #A880B9 !important; }
.contact-info-box .fa { color: #A880B9 !important; }
.contact-phone-number { color: #A880B9 !important; }

/* ── CTA banner ─────────────────────────────────────────────────── */
.cta-banner {
  background: linear-gradient(135deg, #A880B9 0%, #7B4F8A 100%) !important;
  color: #fff !important;
}
.cta-banner h2 { color: #fff !important; }
.cta-banner .lead { color: rgba(255,255,255,0.9) !important; }
.cta-banner p { color: rgba(255,255,255,0.9) !important; }
.cta-phone-link { color: #fff !important; font-weight: 700 !important; }

/* ── Footer ──────────────────────────────────────────────────────── */
#footer, footer, .site-footer {
  background: #2D1A35 !important;
  color: #F0E6F8 !important;
}
/* All body text in footer — readable on dark purple */
footer p,
footer address,
footer li,
footer .footer-desc,
footer .footer-contact p,
footer .footer-seo-text {
  color: rgba(240,230,248,0.88) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
}
/* Headings */
#footer h4, footer h4, .footer-heading {
  color: #fff !important;
  font-size: 13px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid rgba(168,128,185,0.4) !important;
}
/* Links */
#footer a, footer a {
  color: rgba(240,230,248,0.88) !important;
  font-size: 14px !important;
}
#footer a:hover, footer a:hover { color: #fff !important; text-decoration: underline !important; }
/* Icons */
footer .fa { color: #C9A8D8 !important; margin-right: 10px !important; }
/* Footer logo */
.footer-brand img, .footer-brand picture img {
  max-width: 220px !important;
  width: 220px !important;
  height: auto !important;
  margin-bottom: 20px !important;
  display: block !important;
}
/* Copyright bar */
.footer-bottom {
  background: rgba(0,0,0,0.3) !important;
  border-top: 1px solid rgba(168,128,185,0.35) !important;
  padding: 18px 0 !important;
}
.footer-bottom p,
.footer-bottom .footer-copyright p {
  color: rgba(240,230,248,0.7) !important;
  font-size: 13px !important;
  margin: 0 !important;
}
/* Social icons */
.social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(168,128,185,0.25) !important;
  color: #E8D5F0 !important;
  font-size: 15px !important;
  margin-left: 8px !important;
  transition: background .2s !important;
}
.social-icon:hover {
  background: #7C3AED !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* ── Area tags ───────────────────────────────────────────────────── */
.area-tag {
  background: #F0E5F5 !important;
  color: #7B4F8A !important;
  border: 1px solid #E0C8EC !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s, color .2s !important;
}
a.area-tag:hover {
  background: #7C3AED !important;
  color: #fff !important;
  border-color: #7C3AED !important;
  text-decoration: none !important;
}

/* ── Contact layout — 2-column flex ─────────────────────────────── */
.contact-layout {
  display: flex !important;
  gap: 48px !important;
  align-items: flex-start !important;
}
.contact-form-col {
  flex: 1 1 55% !important;
  min-width: 0 !important;
}
.contact-info-col {
  flex: 0 0 36% !important;
  min-width: 0 !important;
}
@media (max-width: 900px) {
  .contact-layout { flex-direction: column !important; gap: 32px !important; }
  .contact-form-col, .contact-info-col { flex: 1 1 100% !important; }
}

/* Contact info phone box */
.contact-info-box--phone {
  background: linear-gradient(135deg, #A880B9 0%, #7B4F8A 100%) !important;
  border: none !important;
  text-align: center;
}
.contact-info-box--phone h3 { color: #fff !important; }
.contact-info-box--phone .contact-phone-number {
  font-size: 28px !important;
  font-weight: 800 !important;
  display: block;
  margin-bottom: 16px;
  color: #fff !important;
  text-decoration: none !important;
}
.contact-info-box--phone .btn {
  background: rgba(255,255,255,0.25) !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.contact-info-box--phone .btn:hover {
  background: #fff !important;
  color: #7B4F8A !important;
}

/* hours table */
.hours-table { width: 100%; border-collapse: collapse; }
.hours-table td { padding: 4px 8px; font-size: 13px; color: #2D2D2D; }
.hours-table td:last-child { text-align: right; font-weight: 600; }

/* Prevent GSAP leaving form-groups invisible */
.form-group, .contact-info-box { opacity: 1; }

/* Footer area tags row */
.footer-area-tags-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  padding: 8px 0 !important;
}
footer .footer-areas-tags { padding: 20px 0 !important; }

/* ── City neighborhood tags ──────────────────────────────────────── */
.city-nbhd-tag {
  background: #F0E5F5;
  color: #7B4F8A;
  border: 1px solid #E0C8EC;
  padding: 4px 14px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 500;
  display: inline-block;
  margin: 4px 3px;
}

/* ── City why grid ───────────────────────────────────────────────── */
.city-why-item {
  background: #fff;
  border: 1px solid #EFE0F5;
  border-radius: 12px;
  padding: 24px 20px;
  text-align: center;
  color: #2D2D2D;
}
.city-why-icon .fa { color: #A880B9; font-size: 28px; }
.city-why-item h4 { color: #2D2D2D !important; margin: 12px 0 8px; }
.city-why-item p { color: #666 !important; font-size: 14px; }

/* ── City trust bar ──────────────────────────────────────────────── */
.city-trust-bar {
  background: #F0E5F5;
  padding: 14px 0;
  border-bottom: 1px solid #E0C8EC;
}
.city-trust-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 32px;
}
.city-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #7B4F8A;
  font-weight: 600;
  font-size: 14px;
}
.city-trust-item .fa { color: #A880B9; }

/* ── City quote box ──────────────────────────────────────────────── */
.city-quote-box {
  background: #F7F0FB;
  border: 2px solid #E0C8EC;
  border-radius: 14px;
  padding: 28px 24px;
  color: #2D2D2D;
}
.city-quote-box h3 { color: #2D2D2D !important; margin-top: 0; }
.city-quote-box p { color: #666 !important; margin-bottom: 16px; }
.city-quote-trust { list-style: none; padding: 0; margin: 16px 0 0; }
.city-quote-trust li {
  display: flex; align-items: center; gap: 8px;
  color: #555 !important; font-size: 13px; padding: 3px 0;
}
.city-quote-trust .fa-check { color: #A880B9; }

/* ── City FAQ ────────────────────────────────────────────────────── */
.city-faq-list { max-width: 800px; margin: 0 auto; }
.city-faq-item {
  background: #fff;
  border: 1px solid #E8D5F0;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}
.city-faq-q {
  width: 100%; background: none; border: none;
  padding: 18px 20px; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 600;
  color: #2D2D2D; text-align: left;
}
.city-faq-q:hover { color: #A880B9; }
.city-faq-q[aria-expanded="true"] .city-faq-icon { transform: rotate(180deg); }
.city-faq-icon { transition: transform 0.25s ease; color: #A880B9; }
.city-faq-a { padding: 0 20px 18px; color: #555 !important; font-size: 14px; line-height: 1.7; }

/* ── City intro section ──────────────────────────────────────────── */
.city-intro-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}
.city-intro-text h2 { color: #2D2D2D !important; }
.city-intro-body { color: #555 !important; font-size: 16px; line-height: 1.8; }
.city-neighborhoods h3 { color: #2D2D2D !important; margin: 24px 0 12px; font-size: 16px; }
@media (max-width: 900px) { .city-intro-layout { grid-template-columns: 1fr; } }

/* ── City hero breadcrumb ────────────────────────────────────────── */
.city-hero__breadcrumb {
  font-size: 13px; color: rgba(255,255,255,0.8);
  margin-bottom: 12px;
}
.city-hero__breadcrumb a { color: rgba(255,255,255,0.85); text-decoration: none; }
.city-hero__breadcrumb a:hover { color: #fff; }
.city-hero__breadcrumb span { margin: 0 6px; }
.city-hero__title { color: #fff !important; font-size: 2.4rem; margin: 0 0 12px; }
.city-hero__sub { color: rgba(255,255,255,0.9) !important; font-size: 15px; margin-bottom: 24px; }
.city-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }

/* ── City services grid ──────────────────────────────────────────── */
.city-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-top: 32px;
}
.city-service-item {
  background: #fff;
  border-radius: 12px;
  padding: 24px 20px;
  border: 1px solid #EFE0F5;
}
.city-service-item h3 { color: #2D2D2D !important; font-size: 16px; margin: 12px 0 8px; }
.city-service-item p { color: #666 !important; font-size: 14px; line-height: 1.6; }
.city-service-icon { font-size: 28px; color: #A880B9; margin-bottom: 4px; }

/* ── City why grid layout ────────────────────────────────────────── */
.city-why-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 32px;
}

/* ── Services switcher ───────────────────────────────────────────── */
.services-switcher {
  background: #F0E5F5 !important;
  border: 2px solid #E0C8EC !important;
}
.services-switcher__btn { color: #7B4F8A !important; background: transparent !important; }
.services-switcher__btn.active {
  background: #A880B9 !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(168,128,185,0.4) !important;
}

/* ── Home hero text ──────────────────────────────────────────────── */
.hero-title, .hero-section h1,
.tm-hero-section h1 { color: #fff !important; }
.hero-sub, .hero-section p { color: rgba(255,255,255,0.92) !important; }

/* ── Feature cards (home page segments) ──────────────────────────── */
.segment-feature-card, .feature-card {
  background: #fff !important;
  border: 1px solid #EFE0F5 !important;
  color: #2D2D2D !important;
}
.segment-feature-card h3, .feature-card h3 { color: #2D2D2D !important; }
.segment-feature-card p, .feature-card p { color: #555 !important; }

/* ── Page hero ───────────────────────────────────────────────────── */
.page-hero { opacity: 1 !important; }
.page-hero h1,
.page-hero h2 { color: #fff !important; }
.page-hero p  { color: rgba(255,255,255,0.9) !important; }

/* About / Services / Contact hero — white text over gradient */
#about-header h1, #about-header h2, #about-header p,
#services-header h1, #services-header h2, #services-header p,
#contact-header h1, #contact-header p { color: #fff !important; }

/* Contact hero — purple gradient, light overlay */
#contact-header {
  background: linear-gradient(135deg, #2D1A35 0%, #4A2260 50%, #7C3AED 100%) !important;
}
#contact-header::before {
  background: rgba(0,0,0,0.15) !important;
}

/* ── Navbar brand text fallback (if no image) ────────────────────── */
.navbar-brand:not(.navbar-brand--logo) {
  color: #A880B9 !important;
  font-weight: 700;
}
.navbar-brand:not(.navbar-brand--logo) span { color: #7BADA8 !important; }

/* ── Segment badge ───────────────────────────────────────────────── */
.segment-badge {
  background: #A880B9 !important;
  color: #fff !important;
}

/* ── Links ───────────────────────────────────────────────────────── */
a { color: #A880B9; }
a:hover { color: #7B4F8A; }

/* ── About info box / sidebar ─────────────────────────────────────── */
.about-info-box, .about-sidebar-box {
  background: #F7F0FB !important;
  border: 1px solid #E8D5F0 !important;
  color: #2D2D2D !important;
}

/* ── Map section ─────────────────────────────────────────────────── */
#contact-map { background: #fff !important; }
#service-areas { background: #F7F0FB !important; padding-bottom: 80px !important; }
.service-area-note a { color: #A880B9 !important; }

/* ── Hours table ─────────────────────────────────────────────────── */
.hours-table td { color: #555 !important; }

/* ── Page hero short variant ─────────────────────────────────────── */
.page-hero--short { min-height: 220px !important; }

/* ── Scrollbar ───────────────────────────────────────────────────── */
::-webkit-scrollbar-thumb { background: #C9A8D8 !important; }

/* ── Print ───────────────────────────────────────────────────────── */
@media print {
  body { background: #fff !important; color: #000 !important; }
}

/* ── Fix remaining dark sections (targeted overrides) ────────────── */

/* Trust bar */
.trust-bar {
  background: #F0E5F5 !important;
  border-top: 1px solid #E0C8EC !important;
  border-bottom: 1px solid #E0C8EC !important;
}
.trust-bar .trust-item .fa { color: #A880B9 !important; }
.trust-bar .trust-item span { color: #2D2D2D !important; }

/* Divider sections (services icons strip) */
.divider, .divider-one, .divider-two, .divider-three {
  background: #F7F0FB !important;
}
.divider .fa { color: #A880B9 !important; }
.divider h2 { color: #2D2D2D !important; }
.divider p { color: #555 !important; }
.divider .divider-wrapper:hover .fa {
  background: #A880B9 !important;
  color: #fff !important;
}

/* Feature cards inside divider — force white bg */
.divider .col-md-4 > div,
.divider .col-sm-6 > div {
  background: #fff !important;
  border: 1px solid #EFE0F5 !important;
  border-top: 3px solid #A880B9 !important;
  color: #2D2D2D !important;
}
.divider .col-md-4 > div h4,
.divider .col-sm-6 > div h4 { color: #2D2D2D !important; }
.divider .col-md-4 > div p,
.divider .col-sm-6 > div p { color: #555 !important; }
.divider .col-md-4 > div .fa,
.divider .col-sm-6 > div .fa { color: #A880B9 !important; }

/* Portfolio section */
#portfolio {
  background: #fff !important;
}
#portfolio h2, #portfolio h3 { color: #2D2D2D !important; }
#portfolio p.portfolio-sub { color: #666 !important; }

/* Review cards */
.review-card {
  background: #fff !important;
  border: 1px solid #EFE0F5 !important;
}
.review-card .reviewer { color: #2D2D2D !important; }
.review-card p { color: #555 !important; }
.review-card:hover {
  box-shadow: 0 8px 24px rgba(168,128,185,0.25) !important;
  border-color: rgba(168,128,185,0.5) !important;
}

/* Areas section */
.areas-section {
  background: #F7F0FB !important;
  padding-bottom: 100px !important;
}
.areas-section h3 { color: #2D2D2D !important; }
.areas-section p { color: #555 !important; }

/* About preview / about card dark box */
.about-preview, .about-preview > div,
#about .container > div {
  background: #fff !important;
  color: #2D2D2D !important;
}
.about-preview h2 { color: #2D2D2D !important; }
.about-preview p { color: #555 !important; }

/* CTA section */
.cta-section {
  background: linear-gradient(135deg, #A880B9 0%, #7B4F8A 100%) !important;
}
.cta-section h2, .cta-section h3 { color: #fff !important; }
.cta-section p { color: rgba(255,255,255,0.9) !important; }

/* Removed broad inline-style override — was breaking hero caption & trust bar */

/* Reviews section bg */
#reviews, .reviews-section {
  background: #F7F0FB !important;
}
#reviews h2, .reviews-section h2 { color: #2D2D2D !important; }

/* Reviews dark section (homepage dark bg) */
.reviews-dark-section h2 { color: #fff !important; }
.reviews-dark-section p { color: #bbb !important; }

/* Removed broad section-style override — was breaking gradient heroes */

/* Services section on home page */
#services, .services-section {
  background: #fff !important;
}
#services h2, .services-section h2 { color: #2D2D2D !important; }
#services p, .services-section p { color: #555 !important; }

/* Footer always dark (brand contrast) */
footer, #footer, .site-footer {
  background: #2D1A35 !important;
}

/* ── dark-bg utility — ALL dark/purple sections ──────────────── */
/* Apply class="dark-bg" to any section with dark or purple background */
.dark-bg,
.dark-bg * {
  /* reset nothing here — use specific selectors below */
}
.dark-bg h1,
.dark-bg h2,
.dark-bg h3,
.dark-bg h4,
.dark-bg h5,
.dark-bg h6 { color: #fff !important; }
.dark-bg p  { color: rgba(255,255,255,0.9) !important; }
.dark-bg .lead { color: rgba(255,255,255,0.9) !important; }

/* dark-bg buttons */
.dark-bg .cta-btn-white { color: #7B4F8A !important; }
.dark-bg .cta-btn-white:hover { color: #5b3070 !important; text-decoration: none !important; }
.dark-bg .btn-dark-outline {
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
}
.dark-bg .btn-dark-outline:hover {
  background: #fff !important;
  color: #7B4F8A !important;
}

/* ── Services grid — 3 columns ───────────────────────────────── */
.services-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 900px) {
  .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .services-grid { grid-template-columns: 1fr !important; }
}

/* Services hero overlay — light */
#services-header::before {
  background: rgba(0,0,0,0.15) !important;
}

/* About hero overlay — light */
#about-header::before {
  background: rgba(0,0,0,0.15) !important;
}

/* ── Hero caption — override global p color rule ─────────────── */
.hero-caption p { color: #fff !important; }
.hero-caption span { color: rgba(255,255,255,0.9) !important; }

/* ── Home hero — left panel & right caption ──────────────────── */
/* Left panel stays white background */
#home .hero-left-panel {
  background: #fff !important;
}
/* Left panel headline */
#home .hero-headline {
  color: #2D1A35 !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
  font-family: 'Poppins', sans-serif !important;
}
#home .hero-headline span {
  color: #A880B9 !important;
}
#home .hero-subline {
  color: #555 !important;
  font-size: 15px !important;
  margin: 0 0 22px !important;
  line-height: 1.5 !important;
}
/* Right panel caption — force white text over dark gradient */
#home .hero-caption p {
  color: #fff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.8) !important;
}
#home .hero-caption span {
  color: rgba(255,255,255,0.9) !important;
}

/* ===== LANGUAGE SWITCHER BAR ============================================ */
#lang-bar {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  height: 37px;
  display: flex;
  align-items: center;
}
#lang-bar a:hover {
  background: rgba(124,58,237,0.6) !important;
  color: #fff !important;
  border-color: transparent !important;
}
/* Push navbar below lang bar */
.navbar-fixed-top {
  top: 37px !important;
}
/* Push page content below lang bar + navbar */
body {
  padding-top: 37px;
}

/* === MOBILE OPTIMIZATION 2026-05-06 === */

/* ─── P0-03: Body padding-top fix — navbar (≈70px) + lang-bar (37px) ─── */
@media (max-width: 767px) {
  body {
    padding-top: 107px !important;
  }
}

/* ─── P0-04: Hamburger tap target ≥44px ─── */
@media (min-width: 768px) {
  .navbar-default .navbar-toggle {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .navbar-default .navbar-toggle {
    min-height: 44px;
    min-width: 44px;
    padding: 10px 12px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    margin-top: 13px !important;
    margin-bottom: 13px !important;
  }
}
.navbar-default .navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
}

/* ─── P0-01: Hero split layout → vertical stack on mobile ─── */
@media (max-width: 768px) {
  #home {
    flex-direction: column !important;
    min-height: auto !important;
  }
  #home .hero-left-panel {
    flex: 1 1 100% !important;
    width: 100% !important;
    padding: 28px 20px 24px !important;
    box-shadow: none !important;
  }
  #home > div:last-child {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-height: 220px !important;
  }
  #home .hero-headline {
    font-size: clamp(22px, 6vw, 28px) !important;
  }
  #home .hero-subline {
    font-size: 15px !important;
  }
  /* CTA row: stack vertically on very small screens */
  #home > div:first-child > div > div:last-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  #home > div:first-child > div > div:last-child > a:first-child {
    width: 100% !important;
    text-align: center !important;
    display: block !important;
  }
}

/* ─── P0-02: Form inputs ≥16px → prevent iOS auto-zoom ─── */
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="number"],
textarea,
select {
  font-size: 16px !important;
}

/* ─── P2-04: Labels readable on mobile ─── */
@media (max-width: 767px) {
  label {
    font-size: 14px !important;
  }
}

/* ─── P1-03: Page hero padding on mobile ─── */
@media (max-width: 767px) {
  .page-hero {
    padding: 100px 0 48px !important;
  }
  .page-hero h1 {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.2 !important;
  }
  .page-hero p {
    font-size: 15px !important;
  }
  .page-hero--short {
    min-height: 160px !important;
    padding: 80px 0 36px !important;
  }
}

/* ─── P1-01: About section padding on mobile ─── */
@media (max-width: 767px) {
  #about .about-des,
  .about-des {
    padding: 24px 16px 20px !important;
  }
  #about .about-des h2 {
    font-size: 22px !important;
  }
}

/* ─── P1-06: About values grid → single column on mobile ─── */
@media (max-width: 600px) {
  /* inline grid inside page-about.php */
  .about-values-grid,
  [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ─── P1-02: Stats numbers — clamp on mobile ─── */
@media (max-width: 480px) {
  .stat-item h3,
  .stats-bar .stat-item h3 {
    font-size: clamp(26px, 8vw, 36px) !important;
  }
  .stats-bar .stat-item p {
    font-size: 12px !important;
  }
}

/* ─── P1-04: Services switcher — full-width on mobile ─── */
@media (max-width: 480px) {
  .services-switcher {
    max-width: 100% !important;
    margin: 0 0 32px !important;
  }
  .services-switcher__btn {
    font-size: 13px !important;
    padding: 12px 10px !important;
    gap: 5px !important;
  }
  .services-switcher__btn .sw-icon {
    font-size: 15px !important;
  }
}

/* ─── P1-05: Hero CTA button full-width on 480px ─── */
@media (max-width: 480px) {
  #home .hero-left-panel a[href*="contact"] {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
  }
}

/* ─── P2-01: Trust bar — flex-wrap on mobile ─── */
@media (max-width: 767px) {
  .trust-bar .row {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .trust-bar .col-md-3 {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  .trust-bar .trust-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 8px !important;
    margin: 0 !important;
  }
}

/* ─── P2-02: Hero caption on mobile (stacked view) ─── */
@media (max-width: 768px) {
  .hero-caption {
    padding: 18px 16px 14px !important;
  }
  .hero-caption p {
    font-size: 16px !important;
    margin: 0 0 6px !important;
  }
  .hero-caption span {
    font-size: 13px !important;
  }
}

/* ─── P2-03: Footer social — center on mobile ─── */
@media (max-width: 767px) {
  .footer-social,
  .footer-social.text-right {
    text-align: center !important;
    margin-top: 12px;
  }
  .footer-bottom .footer-copyright {
    text-align: center !important;
  }
}

/* ─── P2-05: CTA phone number clamp ─── */
@media (max-width: 480px) {
  .cta-section .phone-big {
    font-size: clamp(20px, 5vw, 26px) !important;
    letter-spacing: 0 !important;
  }
}

/* ─── General: Ensure no horizontal overflow ─── */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
  }
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Section spacing balanced */
  .section-pad {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .section-pad-sm {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* ─── Navbar mobile menu: readable tap targets ─── */
@media (max-width: 767px) {
  .navbar-default .navbar-nav > li > a {
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 12px 16px !important;
    min-height: 44px;
    display: flex !important;
    align-items: center;
  }
  /* Collapsed menu background */
  .navbar-collapse {
    background: rgba(255,255,255,0.98) !important;
    border-top: 1px solid #EFE0F5 !important;
    box-shadow: 0 6px 20px rgba(168,128,185,0.15) !important;
  }
  .navbar-nav {
    margin: 0 !important;
  }
  /* Dropdown underline disabled on mobile */
  .navbar-nav > li > a::after {
    display: none !important;
  }
}

/* ─── Segment modal: mobile layout ─── */
@media (max-width: 480px) {
  .segment-modal-inner {
    padding: 24px 16px !important;
    max-height: 90vh;
    overflow-y: auto;
  }
  .segment-card {
    padding: 24px 18px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #segment-modal h2 {
    font-size: 20px !important;
  }
}

/* ─── Portfolio grid: ensure 1-col below 480px ─── */
@media (max-width: 480px) {
  #portfolio .portfolio-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Review cards: full width on mobile ─── */
@media (max-width: 767px) {
  .review-card {
    margin-bottom: 16px !important;
  }
}

/* ─── Lang-bar links: adequate tap targets ─── */
#lang-bar a {
  min-height: 28px;
  display: inline-flex !important;
  align-items: center !important;
}
@media (max-width: 480px) {
  #lang-bar {
    height: auto !important;
    min-height: 37px;
    padding: 4px 0 !important;
  }
  #lang-bar .container {
    gap: 2px !important;
  }
  #lang-bar span:first-child {
    display: none !important;
  }
}

/* ─── Contact layout: stack below 600px (tighter than 900) ─── */
@media (max-width: 600px) {
  .contact-layout {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .contact-form-col,
  .contact-info-col {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  .contact-info-box--phone .contact-phone-number {
    font-size: 22px !important;
  }
}

/* ─── About page values: 2-col → 1-col on mobile ─── */
@media (max-width: 600px) {
  /* targets inline style grid on page-about.php */
  div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* ─── Image CLS prevention ─── */
img {
  max-width: 100%;
  height: auto;
}
img[width][height] {
  aspect-ratio: attr(width) / attr(height);
}

/* ─── Buttons: min tap target everywhere ─── */
.btn,
button,
[role="button"] {
  min-height: 44px;
  min-width: 44px;
}
/* Exception: inline tiny buttons */
.btn-sm {
  min-height: 36px;
}
/* Area tags: adequate touch target */
.area-tag {
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
}

/* === END MOBILE OPTIMIZATION 2026-05-06 === */

/* === AIRBNB PAGE COLOR FIX 2026-05-06 === */
#airbnb-hero {
  background: linear-gradient(135deg, #241238 0%, #4a2364 52%, #7c3aed 100%) !important;
}
#airbnb-hero h1,
#airbnb-hero h2,
#airbnb-hero h3,
#airbnb-hero p,
#airbnb-hero span,
#airbnb-hero strong,
#airbnb-hero nav,
#airbnb-hero nav a {
  color: #fff !important;
}
#airbnb-hero > .container > p:first-of-type {
  background: rgba(255,255,255,0.18) !important;
  color: #fff !important;
}
#airbnb-hero > .container > p:nth-of-type(2),
#airbnb-hero > .container > p:last-of-type,
#airbnb-hero > .container > p:last-of-type a {
  color: rgba(255,255,255,0.86) !important;
}
#airbnb-hero > .container > div:first-of-type {
  background: rgba(255,255,255,0.14) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}
#airbnb-hero > .container > div:first-of-type p {
  color: rgba(255,255,255,0.92) !important;
}
#airbnb-hero a[href*="/contact/"] {
  background: #fff !important;
  color: #6d28d9 !important;
}
#airbnb-hero a[href^="tel:"] {
  color: #fff !important;
  border-color: rgba(255,255,255,0.72) !important;
}
#airbnb-hero + div[role="complementary"] {
  background: #170728 !important;
  border-bottom-color: rgba(255,255,255,0.18) !important;
}
#airbnb-hero + div[role="complementary"] span,
#airbnb-hero + div[role="complementary"] .fa {
  color: #fff !important;
}

section[id^="airbnb-"] h1,
section[id^="airbnb-"] h2,
section[id^="airbnb-"] h3,
section[id^="airbnb-"] h4,
section[id^="airbnb-"] strong {
  color: #fff !important;
}
section[id^="airbnb-"] p,
section[id^="airbnb-"] li,
section[id^="airbnb-"] td {
  color: rgba(255,255,255,0.82) !important;
}
section[id^="airbnb-"] a {
  color: #c4b5fd !important;
}
body.page-template-page-airbnb section h1,
body.page-template-page-airbnb section h2,
body.page-template-page-airbnb section h3,
body.page-template-page-airbnb section h4,
body.page-template-page-airbnb section h5,
body.page-template-page-airbnb section h6,
body.page-template-page-airbnb section strong {
  color: #fff !important;
}
body.page-template-page-airbnb section p,
body.page-template-page-airbnb section li,
body.page-template-page-airbnb section td,
body.page-template-page-airbnb section em {
  color: rgba(255,255,255,0.82) !important;
}
body.page-template-page-airbnb section a {
  color: #c4b5fd !important;
}
body.page-template-page-airbnb section a[style*="background:#7C3AED"],
body.page-template-page-airbnb section a[style*="background:#a855f7"] {
  color: #fff !important;
}
body.page-template-page-airbnb div[itemtype="https://schema.org/DefinedTerm"] {
  background: #1f0b38 !important;
  border-left-color: #a78bfa !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.24) !important;
}
body.page-template-page-airbnb div[itemtype="https://schema.org/DefinedTerm"] h2 {
  color: #d8b4fe !important;
}
body.page-template-page-airbnb div[itemtype="https://schema.org/DefinedTerm"] p,
body.page-template-page-airbnb div[itemtype="https://schema.org/DefinedTerm"] em {
  color: #efe7ff !important;
}
body.page-template-page-airbnb div[itemtype="https://schema.org/DefinedTerm"] strong {
  color: #fff !important;
}
#airbnb-cta,
#airbnb-cta h2,
#airbnb-cta p,
#airbnb-cta a {
  color: #fff !important;
}
#airbnb-cta a[href*="/contact/"] {
  color: #6d28d9 !important;
}
#airbnb-hero a[href^="tel:"] .fa,
#airbnb-hero a[href^="tel:"] i,
#airbnb-cta a[href^="tel:"] .fa,
#airbnb-cta a[href^="tel:"] i {
  color: #fff !important;
}

.navbar-default .container {
  position: relative;
}
.navbar-lang-switcher {
  position: absolute;
  right: 15px;
  top: -52px;
  z-index: 1002;
  display: flex !important;
  align-items: center;
  gap: 6px;
}
body.admin-bar .navbar-lang-switcher {
  top: -20px;
}
@media (max-width: 782px) {
  body.admin-bar .navbar-lang-switcher {
    top: -6px;
  }
}
.navbar-lang-switcher a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid #A880B9;
  border-radius: 4px;
  color: #7B4F8A !important;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
}
.navbar-lang-switcher a.active,
.navbar-lang-switcher a:hover,
.navbar-lang-switcher a:focus {
  background: #A880B9;
  border-color: #A880B9;
  color: #fff !important;
}
.navbar-lang {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin-left: 18px;
  margin-top: 20px;
}
.navbar-default .navbar-nav.navbar-lang > li > a,
.navbar-lang > li > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 30px;
  margin-top: 0;
  padding: 0 8px !important;
  border: 1px solid #A880B9;
  border-radius: 4px;
  color: #7B4F8A !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.navbar-default .navbar-nav.navbar-lang > li > a.active,
.navbar-default .navbar-nav.navbar-lang > li > a:hover,
.navbar-default .navbar-nav.navbar-lang > li > a:focus,
.navbar-lang > li > a.active,
.navbar-lang > li > a:hover,
.navbar-lang > li > a:focus {
  background: #A880B9 !important;
  border-color: #A880B9 !important;
  color: #fff !important;
}
@media (max-width: 767px) {
  .navbar-lang {
    justify-content: center;
    width: 100%;
    margin: 8px 0 10px;
  }
  .navbar-lang > li {
    display: inline-block;
  }
.navbar-lang > li > a {
    margin-top: 0;
  }
}
#lang-bar {
  display: none !important;
}
.navbar-fixed-top {
  top: 0 !important;
}
body {
  padding-top: 0 !important;
}
body.admin-bar .navbar-fixed-top {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.admin-bar .navbar-fixed-top {
    top: 46px !important;
  }
}

/* === MOBILE MENU OPEN FIX 2026-05-06 === */
@media (max-width: 767px) {
  .navbar-default .navbar-collapse {
    display: none !important;
    width: 100% !important;
    clear: both !important;
    background: #fff !important;
    border-top: 1px solid #EFE0F5 !important;
    box-shadow: 0 12px 24px rgba(45,26,53,0.12) !important;
    margin: 0 !important;
    max-height: calc(100vh - 82px) !important;
    overflow-y: auto !important;
  }
  .navbar-default .navbar-collapse.in {
    display: block !important;
  }
  .navbar-default .navbar-nav {
    float: none !important;
    margin: 0 !important;
  }
  .navbar-default .navbar-nav > li {
    float: none !important;
    display: block !important;
  }
  .navbar-default .navbar-nav > li > a {
    line-height: 1.4 !important;
    padding: 13px 20px !important;
    color: #2D1A35 !important;
  }
}

/* === MOBILE TAP TARGET POLISH 2026-05-06 === */
@media (max-width: 767px) {
  #lang-bar {
    min-height: 44px !important;
  }
  #lang-bar a {
    box-sizing: border-box !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
  }
  .navbar-fixed-top {
    top: 44px !important;
  }
  body {
    padding-top: 114px !important;
  }
  #home .hero-left-panel a[href^="tel:"],
  .cta-phone-link,
  .contact-phone-number,
  .phone-big {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .area-tag {
    min-height: 44px !important;
  }
  #home .hero-left-panel > div > div:first-child {
    display: none !important;
  }
}

#lang-bar {
  display: none !important;
}
.navbar-fixed-top {
  top: 0 !important;
}
body {
  padding-top: 0 !important;
}
body.admin-bar .navbar-fixed-top {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.admin-bar .navbar-fixed-top {
    top: 46px !important;
  }
}
