/* jlovelaundry combined stylesheet — design system + Elementor bridge. Edit freely. */
/* fonts now enqueued separately for performance */
/* ============================================================
   JLOVELAUNDRY — ELEMENTOR RESET (loads BEFORE design system)
   Neutralises Elementor container defaults so the design's own
   display:grid / flex / block rules (applied via CSS classes) win.
   ============================================================ */
/* (removed blanket e-con display:block reset — it out-specified design layout classes; Elementor containers default to flex-column which stacks fine) */

/* Kill Elementor's default container padding/gap/min-height so the
   design controls spacing. Full-width bands + inner .container do the work. */
.elementor-element.e-con { --padding-top:0; --padding-bottom:0; --padding-left:0; --padding-right:0; --gap:0px; min-height:0; }
.elementor-widget { margin-bottom: 0; }

/* Widget inner wrappers shouldn't add their own box */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor { margin: 0; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ============================================================
   JLOVELAUNDRY — Design System Stylesheet v1.0
   All CSS custom properties live in :root — edit to rebrand
   ============================================================ */



/* ══════════════════════════════════════════════════════════
   01 — CSS VARIABLES  (edit these to rebrand)
   ══════════════════════════════════════════════════════════ */
:root {
  /* Brand colors */
  --c-bg:         #F4F2EE;   /* warm off-white page background */
  --c-surface:    #FFFFFF;   /* card / panel background        */
  --c-primary:    #0F172A;   /* headlines & dark text          */
  --c-accent:     #E8704A;   /* coral — primary CTA color      */
  --c-accent-h:   #CF5F3A;   /* coral hover                    */
  --c-accent-lt:  #FEF2EC;   /* coral tint for bg sections     */
  --c-indigo:     #6470B9;   /* indigo — secondary accent      */
  --c-indigo-lt:  #EDEFFE;   /* indigo tint                    */
  --c-green:      #25D366;   /* WhatsApp green                 */
  --c-text:       #0F172A;   /* body text                      */
  --c-text-2:     #374151;   /* secondary body text            */
  --c-muted:      #64748B;   /* captions, placeholders         */
  --c-border:     #E4E2DA;   /* dividers, card borders         */
  --c-footer-a:   #5561A8;   /* footer gradient start          */
  --c-footer-b:   #E26040;   /* footer gradient end            */

  /* Typography */
  --f-head: 'Bricolage Grotesque', system-ui, sans-serif;     /* headings */
  --f-body: 'Outfit', system-ui, sans-serif;   /* body text */

  /* Spacing scale */
  --s1:  0.5rem;    /*  8px */
  --s2:  1rem;      /* 16px */
  --s3:  1.5rem;    /* 24px */
  --s4:  2rem;      /* 32px */
  --s5:  2.5rem;    /* 40px */
  --s6:  3rem;      /* 48px */
  --s8:  4rem;      /* 64px */
  --s10: 5rem;      /* 80px */
  --s12: 6rem;      /* 96px */
  --s16: 8rem;      /* 128px */

  /* Border radii */
  --r-s:  8px;
  --r-m:  14px;
  --r-l:  22px;
  --r-xl: 32px;
  --r-p:  9999px;    /* pill */

  /* Shadows */
  --sh1: 0 1px 4px rgba(15,23,42,.06);
  --sh2: 0 4px 16px rgba(15,23,42,.08);
  --sh3: 0 16px 48px rgba(15,23,42,.10);

  /* Layout */
  --mw:  1160px;
  --mwn: 760px;
}


/* ══════════════════════════════════════════════════════════
   02 — RESET & BASE
   ══════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
html  { scroll-behavior: smooth; }
body  {
  font-family: var(--f-body);
  background-color: var(--c-bg);
  color: var(--c-text-2);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img   { max-width: 100%; height: auto; display: block; }
a     { color: inherit; text-decoration: none; }
ul    { list-style: none; }
button, input, select, textarea { font-family: var(--f-body); }
:focus-visible { outline: 3px solid var(--c-indigo); outline-offset: 3px; border-radius: 4px; }


/* ══════════════════════════════════════════════════════════
   03 — LAYOUT CONTAINERS
   ══════════════════════════════════════════════════════════ */
.container {
  width: min(var(--mw), 100%);
  margin-inline: auto;
  padding-inline: var(--s4);
}
.container--narrow {
  width: min(var(--mwn), 100%);
  margin-inline: auto;
  padding-inline: var(--s4);
}


/* ══════════════════════════════════════════════════════════
   04 — TYPOGRAPHY
   ══════════════════════════════════════════════════════════ */
h1, h2, h3, h4, h5 {
  font-family: var(--f-head);
  color: var(--c-primary);
  line-height: 1.15;
  text-wrap: balance;
}
h1 { font-size: clamp(2.2rem, 5vw, 3.8rem);  font-weight: 800; letter-spacing: -0.025em; }
h2 { font-size: clamp(1.7rem, 3.5vw, 2.6rem); font-weight: 700; letter-spacing: -0.015em; }
h3 { font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 700; }
h4 { font-size: 1rem;   font-weight: 700; }
p  { text-wrap: pretty; }
.lead  { font-size: 1.08rem; color: var(--c-muted); }
.label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--c-muted);
}


/* ══════════════════════════════════════════════════════════
   05 — HEADER & NAV
   ══════════════════════════════════════════════════════════ */
.site-header {
  position: relative;
  z-index: 100;
  background: rgba(244,242,238,.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--c-border);
}
.nav-inner {
  display: flex;
  align-items: center;
  gap: var(--s2);
  padding-block: 0.9rem;
}
.nav-logo {
  font-family: var(--f-head);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-inline-end: auto;
  display: flex;
  align-items: center;
}
.logo-j    { color: var(--c-accent); }
.logo-rest { color: var(--c-primary); }

.nav-check  { display: none; }
.nav-burger { display: none; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0;
}
.nav-links a {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--c-muted);
  padding: 7px 11px;
  border-radius: var(--r-s);
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.nav-links a:hover   { color: var(--c-primary); background: rgba(15,23,42,.04); }
.nav-links a.active  { color: var(--c-primary); font-weight: 600; }
.nav-links .nav-cta  {
  background: var(--c-accent);
  color: #fff;
  border-radius: var(--r-p);
  padding: 7px 18px;
  font-weight: 600;
  transition: background .2s;
}
.nav-links .nav-cta:hover  { background: var(--c-accent-h); color: #fff; }
.nav-links .nav-cta.active { background: var(--c-accent-h); }


/* ══════════════════════════════════════════════════════════
   06 — FOOTER
   ══════════════════════════════════════════════════════════ */
.site-footer {
  background: linear-gradient(140deg, var(--c-footer-a) 0%, var(--c-footer-b) 100%);
  color: rgba(255,255,255,.8);
  padding: var(--s8) 0 var(--s4);
  margin-top: var(--s12);
}
.footer-inner {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: var(--s6);
  padding-bottom: var(--s6);
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.footer-logo {
  font-family: var(--f-head);
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  display: block;
  margin-bottom: var(--s2);
}
.footer-tagline {
  font-size: 0.88rem;
  color: rgba(255,255,255,.65);
  margin-bottom: var(--s3);
  line-height: 1.55;
}
.footer-social   { display: flex; gap: var(--s2); }
.footer-social a {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  transition: background .2s;
}
.footer-social a:hover { background: rgba(255,255,255,.3); }
.footer-col h5 {
  font-family: var(--f-head);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  margin-bottom: var(--s3);
}
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col a  { font-size: 0.88rem; color: rgba(255,255,255,.72); transition: color .2s; }
.footer-col a:hover { color: #fff; }
.footer-col p  { font-size: 0.86rem; color: rgba(255,255,255,.62); line-height: 1.55; }
.footer-bottom {
  padding-top: var(--s3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s2);
  font-size: 0.8rem;
  color: rgba(255,255,255,.42);
}
.footer-bottom a { color: rgba(255,255,255,.6); transition: color .2s; }
.footer-bottom a:hover { color: #fff; }
.footer-links  { display: flex; gap: var(--s3); }


/* ══════════════════════════════════════════════════════════
   07 — BUTTONS
   ══════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 0.7rem 1.5rem;
  border-radius: var(--r-p);
  font-family: var(--f-body); font-weight: 600; font-size: 0.9rem;
  transition: all .2s; cursor: pointer;
  border: 2px solid transparent;
  white-space: nowrap; text-decoration: none;
}
.btn-primary  { background: var(--c-accent);  color: #fff; border-color: var(--c-accent); }
.btn-primary:hover  { background: var(--c-accent-h); border-color: var(--c-accent-h); }
.btn-outline  { background: transparent; color: var(--c-primary); border-color: var(--c-border); }
.btn-outline:hover  { border-color: var(--c-primary); background: var(--c-primary); color: #fff; }
.btn-whatsapp { background: var(--c-green); color: #fff; border-color: var(--c-green); }
.btn-whatsapp:hover { background: #1ebe5d; border-color: #1ebe5d; }
.btn-indigo   { background: var(--c-indigo); color: #fff; border-color: var(--c-indigo); }
.btn-indigo:hover   { background: #5560a8;   border-color: #5560a8; }
.btn-lg  { padding: 0.9rem 1.8rem; font-size: 1rem; }
.btn-sm  { padding: 0.45rem 1rem;  font-size: 0.8rem; }
.btn-full { width: 100%; justify-content: center; }


/* ══════════════════════════════════════════════════════════
   08 — CARDS & SURFACES
   ══════════════════════════════════════════════════════════ */
.card {
  background: var(--c-surface);
  border-radius: var(--r-l);
  padding: var(--s4);
  box-shadow: var(--sh2);
  border: 1px solid var(--c-border);
}


/* ══════════════════════════════════════════════════════════
   09 — BADGES
   ══════════════════════════════════════════════════════════ */
.badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 12px; border-radius: var(--r-p);
  font-size: 0.74rem; font-weight: 600;
}
.badge-accent  { background: var(--c-accent-lt); color: var(--c-accent); }
.badge-indigo  { background: var(--c-indigo-lt); color: var(--c-indigo); }
.badge-green   { background: #DCFCE7; color: #15803D; }


/* ══════════════════════════════════════════════════════════
   10 — STARS
   ══════════════════════════════════════════════════════════ */
.stars    { color: #F59E0B; letter-spacing: 2px; font-size: 0.9rem; }
.stars-lg { font-size: 1.4rem; }


/* ══════════════════════════════════════════════════════════
   11 — FORMS
   ══════════════════════════════════════════════════════════ */
.form-group    { display: flex; flex-direction: column; gap: 6px; }
.form-label    { font-size: 0.8rem; font-weight: 600; color: var(--c-primary); letter-spacing: 0.04em; }
.form-input, .form-select, .form-textarea {
  width: 100%;
  padding: 0.85rem 1.1rem;
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-m);
  background: var(--c-surface);
  font-family: var(--f-body); font-size: 0.95rem;
  color: var(--c-primary);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--c-indigo);
  box-shadow: 0 0 0 3px rgba(100,112,185,.12);
}
.form-input::placeholder, .form-textarea::placeholder { color: var(--c-muted); }
.form-textarea  { resize: vertical; min-height: 110px; }
.form-grid      { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.form-grid-3    { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--s3); }
.form-hint      { font-size: 0.78rem; color: var(--c-muted); }

/* Service type radio as toggle cards */
.service-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.svc-opt        { position: relative; }
.svc-opt input[type="radio"] {
  position: absolute; opacity: 0;
  inset: 0; width: 100%; height: 100%;
  cursor: pointer; margin: 0; z-index: 1;
}
.svc-opt label {
  display: block;
  padding: var(--s3) var(--s4);
  border: 2px solid var(--c-border);
  border-radius: var(--r-m);
  cursor: pointer; text-align: center;
  background: var(--c-surface);
  transition: border-color .2s, background .2s, color .2s;
}
.svc-opt input:checked + label {
  background: var(--c-indigo); border-color: var(--c-indigo); color: #fff;
}
.svc-opt label:hover { border-color: var(--c-indigo); }
.svc-name { display: block; font-family: var(--f-head); font-weight: 700; font-size: 1.05rem; letter-spacing: 0.04em; }
.svc-desc { display: block; font-size: 0.72rem; margin-top: 3px; opacity: .7; letter-spacing: 0.06em; text-transform: uppercase; }


/* ══════════════════════════════════════════════════════════
   12 — FAQ ACCORDION (details/summary)
   ══════════════════════════════════════════════════════════ */
.faq-item { background: var(--c-surface); border-radius: var(--r-m); border: 1px solid var(--c-border); overflow: hidden; transition: box-shadow .2s; }
.faq-item:hover { box-shadow: var(--sh2); }
.faq-item[open] { box-shadow: var(--sh2); border-color: var(--c-indigo); }
.faq-item summary {
  padding: var(--s3) var(--s4);
  font-family: var(--f-head); font-weight: 600; font-size: 0.95rem;
  color: var(--c-primary); cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  gap: var(--s3); list-style: none; user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+'; font-size: 1.4rem; font-weight: 300;
  color: var(--c-indigo); flex-shrink: 0; line-height: 1;
  transition: transform .2s;
}
.faq-item[open] summary       { color: var(--c-indigo); }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-body {
  padding: var(--s2) var(--s4) var(--s3);
  font-size: 0.92rem; color: var(--c-muted); line-height: 1.75;
  border-top: 1px solid var(--c-border);
}


/* ══════════════════════════════════════════════════════════
   13 — WHATSAPP FLOAT BUTTON
   ══════════════════════════════════════════════════════════ */
.wa-float {
  position: fixed; bottom: 1.5rem; right: 1.5rem;
  z-index: 999;
  display: flex; align-items: center; gap: 10px;
  background: var(--c-green); color: #fff;
  padding: 0.8rem 1.2rem; border-radius: var(--r-p);
  box-shadow: 0 4px 20px rgba(37,211,102,.35);
  font-weight: 600; font-size: 0.88rem;
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
}
.wa-float:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,.42); color: #fff; }


/* ══════════════════════════════════════════════════════════
   14 — SECTION WRAPPERS
   ══════════════════════════════════════════════════════════ */
.section    { padding-block: var(--s12); }
.section-sm { padding-block: var(--s8); }
.section-lg { padding-block: var(--s16); }
.section-alt { background: var(--c-surface); }
.section-header           { margin-bottom: var(--s8); }
.section-header--center   { text-align: center; }
.section-header--center .lead { max-width: 52ch; margin-inline: auto; }
.section-header .label    { margin-bottom: var(--s2); }
.section-header h2        { margin-bottom: var(--s2); }


/* ══════════════════════════════════════════════════════════
   15 — STATS BAR
   ══════════════════════════════════════════════════════════ */
.stats-bar { background: var(--c-primary); padding-block: var(--s3); }
.stats-bar-inner {
  display: flex; align-items: center;
  justify-content: center; gap: var(--s4); flex-wrap: wrap;
}
.stat-pill  { display: flex; align-items: center; gap: 8px; font-size: 0.85rem; color: rgba(255,255,255,.7); }
.stat-pill strong { color: #fff; font-family: var(--f-head); font-size: 0.95rem; }
.stat-sep   { color: rgba(255,255,255,.2); font-size: 1.2rem; user-select: none; }


/* ══════════════════════════════════════════════════════════
   16 — HERO (Home page)
   ══════════════════════════════════════════════════════════ */
.hero {
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: 88vh;
  overflow: hidden;
}
.hero-content {
  padding: var(--s16) var(--s8) var(--s12) var(--s8);
  display: flex; flex-direction: column;
  justify-content: center; gap: var(--s4); align-items: flex-start;
}
.hero-title em    { font-style: normal; color: var(--c-accent); }
.hero-desc        { color: var(--c-muted); max-width: 38ch; font-size: 1.05rem; }
.hero-ctas        { display: flex; gap: var(--s2); flex-wrap: wrap; }
.hero-trust {
  display: flex; align-items: center; gap: var(--s3);
  padding-top: var(--s3); border-top: 1px solid var(--c-border);
  width: 100%; flex-wrap: wrap;
}
.trust-chips     { display: flex; gap: var(--s2); flex-wrap: wrap; }
.trust-chip      { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--c-muted); }
.trust-chip .dot { color: var(--c-accent); }
.hero-image      { position: relative; overflow: hidden; }
.hero-image img  { width: 100%; height: 100%; object-fit: cover; }

/* Image placeholder — drop a real photo here */
.img-ph {
  width: 100%; height: 100%;
  min-height: 320px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: var(--s3);
  background:
    repeating-linear-gradient(135deg, rgba(232,112,74,.05) 0 14px, transparent 14px 28px),
    linear-gradient(160deg, var(--c-accent-lt) 0%, var(--c-indigo-lt) 100%);
  color: var(--c-indigo);
  text-align: center; padding: var(--s4);
}
.img-ph-icon {
  width: 84px; height: 84px; border-radius: 50%;
  background: var(--c-surface); color: var(--c-accent);
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--sh2);
}
.img-ph-tag {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  font-size: 0.72rem; letter-spacing: 0.02em;
  color: var(--c-indigo); opacity: .75;
  background: rgba(255,255,255,.6);
  padding: 5px 12px; border-radius: var(--r-p);
}


/* ══════════════════════════════════════════════════════════
   17 — PROCESS STEPS
   ══════════════════════════════════════════════════════════ */
.process-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s4); position: relative; }
.process-grid::before {
  content: ''; position: absolute;
  top: 27px; left: calc(16.7% + 10px); right: calc(16.7% + 10px);
  height: 2px;
  background: repeating-linear-gradient(to right, var(--c-border) 0, var(--c-border) 8px, transparent 8px, transparent 16px);
  z-index: 0;
}
.process-step     { text-align: center; position: relative; z-index: 1; }
.step-num         {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--c-surface); border: 2px solid var(--c-border);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--f-head); font-weight: 800; font-size: 1.15rem;
  color: var(--c-accent); margin: 0 auto var(--s3); box-shadow: var(--sh2);
}
.process-step h3  { margin-bottom: var(--s1); }
.process-step p   { font-size: 0.88rem; color: var(--c-muted); max-width: 24ch; margin-inline: auto; }


/* ══════════════════════════════════════════════════════════
   18 — PRICING GRID
   ══════════════════════════════════════════════════════════ */
.price-grid  { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s4); align-items: start; }
.price-grid--4 { grid-template-columns: repeat(4,1fr); }
.price-card  { position: relative; }
.price-card.featured { transform: translateY(-14px); border-color: var(--c-accent); box-shadow: var(--sh3); }
.price-best-pill {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: var(--c-accent); color: #fff;
  padding: 4px 14px; border-radius: var(--r-p);
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; white-space: nowrap;
  box-shadow: 0 6px 16px rgba(232,112,74,.30);
}
.price-best-pill.pill-indigo { background: var(--c-indigo); box-shadow: 0 6px 16px rgba(100,112,185,.30); }
.price-best-pill.pill-dark   { background: var(--c-primary); box-shadow: 0 6px 16px rgba(15,23,42,.22); }

/* Locations / branches */
.branch-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--s4); }
.branch-card {
  display: flex; flex-direction: column; gap: var(--s2);
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--r-l); padding: var(--s4); box-shadow: var(--sh1);
  transition: box-shadow .2s, border-color .2s, transform .2s;
}
.branch-card:hover { box-shadow: var(--sh2); border-color: var(--c-indigo); transform: translateY(-3px); }
.branch-top   { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); }
.branch-name  { font-family: var(--f-head); font-weight: 700; font-size: 1.25rem; color: var(--c-primary); }
.branch-24    { display: inline-flex; align-items: center; gap: 6px; font-size: 0.76rem; font-weight: 600; color: #15803D; }
.branch-24 .open-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-green); }
.branch-desc  { font-size: 0.9rem; color: var(--c-muted); line-height: 1.55; flex: 1; }
.branch-link  {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  font-weight: 600; font-size: 0.88rem; color: var(--c-indigo);
  padding: 8px 16px; border-radius: var(--r-p);
  background: var(--c-indigo-lt); transition: background .2s, color .2s;
}
.branch-link:hover { background: var(--c-indigo); color: #fff; }

/* Trusted-by partners */
.partner-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s3);
}
.partner-card {
  display: flex; flex-direction: column; gap: 6px;
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--r-m); padding: var(--s3) var(--s3) var(--s3) calc(var(--s3) + 4px);
  position: relative; overflow: hidden;
  transition: box-shadow .2s, border-color .2s, transform .2s;
}
.partner-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: var(--c-indigo); opacity: .55;
}
.partner-card:hover { box-shadow: var(--sh2); border-color: var(--c-indigo); transform: translateY(-3px); }
.partner-cat  { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--c-indigo); }
.partner-name { font-family: var(--f-head); font-weight: 700; font-size: 1.02rem; color: var(--c-primary); line-height: 1.25; }
.partner-link {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 2px;
  font-size: 0.76rem; font-weight: 600; color: var(--c-muted);
  transition: color .2s;
}
.partner-link:hover { color: var(--c-indigo); }
.partner-more {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px;
  background: var(--c-indigo-lt); border: 1px dashed var(--c-indigo);
  border-radius: var(--r-m); padding: var(--s3);
}
.partner-more strong { font-family: var(--f-head); font-size: 1.05rem; color: var(--c-indigo); }
.partner-more span { font-size: 0.78rem; color: var(--c-indigo); opacity: .85; }
.price-name   { font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: var(--c-muted); margin-bottom: var(--s2); }
.price-amount { display: flex; align-items: flex-end; gap: 2px; margin-bottom: var(--s1); }
.price-curr   { font-size: 1rem; font-weight: 600; color: var(--c-accent); padding-bottom: 0.7rem; }
.price-num    { font-family: var(--f-head); font-size: 2.8rem; font-weight: 800; color: var(--c-primary); line-height: 1; }
.price-unit   { font-size: 0.85rem; color: var(--c-muted); padding-bottom: 0.25rem; }
.price-speed  { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-muted); margin-bottom: var(--s3); }
.price-feats  { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.price-feats li { display: flex; align-items: flex-start; gap: 8px; font-size: 0.88rem; color: var(--c-text-2); }
.price-feats li::before { content: '✓'; color: var(--c-accent); font-weight: 700; flex-shrink: 0; }


/* ══════════════════════════════════════════════════════════
   18b — PRICES FLIP SECTION (home teaser)
   ══════════════════════════════════════════════════════════ */
.prices-section { background: var(--c-bg); }
.prices-wrap    { position: relative; }
.prices-toggle  { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }

.prices-head    { margin-bottom: var(--s10); }
.prices-title   {
  display: inline-block; font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 800; letter-spacing: -0.02em; line-height: 1;
}
.prices-title::after {
  content: ''; display: block; height: 6px; width: 100%;
  background: var(--c-border); border-radius: var(--r-p); margin-top: 10px;
}
.prices-sub     { margin-top: var(--s3); color: var(--c-muted); font-size: 1.05rem; line-height: 1.5; }

.prices-stage   { position: relative; }

/* FRONT — cards */
.prices-cards   {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s4); align-items: end;
}
.price-col      { display: flex; flex-direction: column; align-items: stretch; min-width: 0; }
.price-topper   { height: 130px; display: flex; align-items: flex-end; justify-content: center; }
.price-wm       {
  font-family: var(--f-head); font-size: clamp(2.4rem, 6vw, 4.6rem);
  font-weight: 800; letter-spacing: 0.02em; line-height: .8;
  color: transparent; -webkit-text-stroke: 1.5px rgba(15,23,42,.30);
  text-stroke: 1.5px rgba(15,23,42,.30);
}
.price-photo    {
  width: 116px; height: 116px; border-radius: 26px; overflow: hidden;
  background:
    repeating-linear-gradient(135deg, rgba(232,112,74,.06) 0 10px, transparent 10px 20px),
    linear-gradient(160deg, #fff 0%, var(--c-accent-lt) 60%, var(--c-indigo-lt) 100%);
  box-shadow: var(--sh3);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-accent);
  transform: translateY(34px); position: relative; z-index: 3;
}
.price-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pcard          {
  background: var(--c-surface); border-radius: var(--r-l);
  padding: var(--s5) var(--s3) var(--s4);
  box-shadow: var(--sh1); border: 1px solid var(--c-border);
  text-align: center; position: relative; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  min-height: 230px; justify-content: flex-end;
}
.pcard--featured {
  padding-top: var(--s8);
  box-shadow: var(--sh3); transform: translateY(-26px);
  min-height: 268px;
}
.pcard-name     { color: var(--c-accent); font-size: clamp(.95rem, 2.2vw, 1.3rem); font-weight: 700; margin-bottom: var(--s2); text-wrap: balance; }
.pcard-price    { display: flex; align-items: flex-start; justify-content: center; gap: 2px; }
.pcard-cur      { font-family: var(--f-head); font-size: 0.85rem; font-weight: 700; color: var(--c-primary); padding-top: 4px; }
.pcard-num      { font-family: var(--f-head); font-size: clamp(1.5rem, 4.5vw, 2.6rem); font-weight: 800; color: var(--c-primary); line-height: 1; letter-spacing: -0.02em; }
.pcard-unit     { font-size: 0.7rem; color: var(--c-muted); align-self: flex-end; padding-bottom: 3px; }
.pcard-speed    { font-size: clamp(.6rem, 1.6vw, .72rem); text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-muted); font-weight: 600; margin-top: 4px; }
.pcard-quickest {
  position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%);
  background: var(--c-accent); color: #fff;
  padding: 7px 20px; border-radius: var(--r-p);
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  white-space: nowrap; box-shadow: 0 6px 16px rgba(232,112,74,.35);
}

.prices-foot    {
  display: flex; align-items: center; gap: var(--s3);
  margin-top: var(--s8); padding-top: var(--s2);
}
.view-details   {
  font-family: var(--f-head); font-weight: 700; font-size: clamp(1.1rem, 3vw, 1.5rem);
  color: var(--c-primary); border-bottom: 3px solid var(--c-accent); padding-bottom: 4px;
}
.prices-plus, .prices-close {
  width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0;
  background: var(--c-surface); border: 1px solid var(--c-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; font-weight: 300; color: var(--c-primary); line-height: 1;
  cursor: pointer; transition: background .2s, color .2s, transform .2s; box-shadow: var(--sh1);
}
.prices-plus:hover, .prices-close:hover { background: var(--c-accent); color: #fff; transform: scale(1.05); }
.prices-plus:focus-visible, .prices-close:focus-visible { outline: 3px solid var(--c-indigo); outline-offset: 3px; }

/* BACK — services include panel */
.prices-back    {
  display: none; flex-direction: column; align-items: center; text-align: center;
  background: var(--c-surface); border-radius: var(--r-xl);
  padding: var(--s8) var(--s6) var(--s10); box-shadow: var(--sh3);
  border: 1px solid var(--c-border); position: relative;
  max-width: 760px; margin: 0 auto;
}
.back-head      { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: var(--s5); }
.back-list      {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3) var(--s6);
  text-align: left; margin-bottom: var(--s6); width: 100%; max-width: 560px;
}
.back-list li   { display: flex; align-items: flex-start; gap: 12px; font-size: 0.95rem; color: var(--c-primary); font-weight: 500; }
.back-tick      { color: var(--c-accent); font-weight: 700; flex-shrink: 0; font-size: 1.05rem; line-height: 1.3; }
.back-cta       { margin-bottom: var(--s4); }
.back-note      { font-size: 0.8rem; color: var(--c-muted); max-width: 48ch; line-height: 1.5; }
.back-note strong { color: var(--c-accent); }
.prices-close   { position: absolute; bottom: var(--s4); right: var(--s4); margin: 0; }

/* TOGGLE: + reveals back, hides front */
.prices-toggle:checked ~ .prices-stage .prices-front { display: none; }
.prices-toggle:checked ~ .prices-stage .prices-back  { display: flex; }


/* ══════════════════════════════════════════════════════════
   18c — SCHEDULE PICKUP CARD (home)
   ══════════════════════════════════════════════════════════ */
.sched-card {
  max-width: 580px; margin: 0 auto; position: relative;
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--r-xl); box-shadow: var(--sh3);
  padding: var(--s5) var(--s5) var(--s4);
}
.sched-avatars { display: flex; margin-bottom: var(--s3); }
.sched-av {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
  border: 3px solid var(--c-surface);
  background:
    repeating-linear-gradient(135deg, rgba(232,112,74,.10) 0 6px, transparent 6px 12px),
    linear-gradient(150deg, var(--c-accent-lt), var(--c-indigo-lt));
  margin-left: -12px; box-shadow: var(--sh1);
}
.sched-av:first-child { margin-left: 0; }
.sched-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.sched-arrow { color: var(--c-accent); font-size: 1.25rem; font-weight: 700; line-height: 1; }
.sched-head h2 { font-size: clamp(1.15rem, 2.6vw, 1.4rem); }
.sched-sub { font-size: 0.9rem; color: var(--c-muted); margin-bottom: var(--s4); }
.sched-slots { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.sched-slot {
  display: flex; flex-direction: column; gap: 3px; position: relative;
  padding: var(--s3) var(--s5) var(--s3) var(--s3);
  border: 1.5px solid var(--c-border); border-radius: var(--r-m);
  transition: border-color .2s, box-shadow .2s;
}
.sched-slot:hover { border-color: var(--c-indigo); box-shadow: var(--sh1); }
.sched-slot-label { font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-muted); font-weight: 600; }
.sched-slot-time  { font-family: var(--f-head); font-weight: 700; font-size: 1.02rem; color: var(--c-primary); }
.sched-chev { position: absolute; right: var(--s3); top: 50%; transform: translateY(-50%); color: var(--c-accent); font-size: 1.4rem; line-height: 1; }
.sched-all { display: inline-block; margin-top: var(--s3); color: var(--c-indigo); font-weight: 600; font-size: 0.9rem; white-space: nowrap; }
.sched-all:hover { text-decoration: underline; }


/* ══════════════════════════════════════════════════════════
   19 — COMPARISON TABLE
   ══════════════════════════════════════════════════════════ */
.compare-wrap   { overflow-x: auto; border-radius: var(--r-l); }
.compare-table  { width: 100%; border-collapse: collapse; min-width: 560px; }
.compare-table th, .compare-table td {
  padding: var(--s2) var(--s3); text-align: left;
  border-bottom: 1px solid var(--c-border); font-size: 0.9rem;
}
.compare-table thead th {
  font-family: var(--f-head); font-weight: 700; font-size: 0.78rem;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-muted); background: var(--c-bg);
}
.compare-table thead .col-us   { background: var(--c-indigo-lt); color: var(--c-indigo); }
.compare-table td.col-us       { background: var(--c-indigo-lt); color: var(--c-indigo); font-weight: 700; }
.compare-table td:first-child  { color: var(--c-primary); font-weight: 500; }
.compare-table tbody tr:last-child td { border-bottom: none; }


/* ══════════════════════════════════════════════════════════
   20 — AREA CHIPS
   ══════════════════════════════════════════════════════════ */
.area-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.area-chip  {
  padding: 6px 14px; border-radius: var(--r-p);
  background: var(--c-surface); border: 1px solid var(--c-border);
  font-size: 0.82rem; font-weight: 500; color: var(--c-primary);
  transition: border-color .2s, background .2s;
  white-space: nowrap;
}


/* ══════════════════════════════════════════════════════════
   21 — CTA BANNER
   ══════════════════════════════════════════════════════════ */
.brand-band { position: relative; min-height: 460px; display: flex; align-items: center; overflow: hidden; }
.brand-band > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.brand-band::after { content: ''; position: absolute; inset: 0; background: linear-gradient(95deg, rgba(15,23,42,.86) 0%, rgba(15,23,42,.55) 48%, rgba(15,23,42,.08) 100%); }
.brand-band .container { position: relative; z-index: 1; }
.brand-band-inner { max-width: 36rem; }
.brand-band-inner h2 { color: #fff; }
.brand-band-inner p { color: rgba(255,255,255,.85); margin-top: var(--s2); font-size: 1.05rem; }
.brand-band-inner .badge { margin-bottom: var(--s3); }
.brand-band-inner .hero-ctas { margin-top: var(--s4); }
@media (max-width: 768px) {
  .brand-band { min-height: 520px; }
  .brand-band::after { background: linear-gradient(0deg, rgba(15,23,42,.9) 8%, rgba(15,23,42,.55) 55%, rgba(15,23,42,.25) 100%); }
  .brand-band { align-items: flex-end; padding-bottom: var(--s6); }
}

.cta-banner {
  background: var(--c-primary); border-radius: var(--r-xl);
  padding: var(--s8);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s4); position: relative; overflow: hidden;
}
.cta-banner::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 75% 50%, rgba(232,112,74,.22) 0%, transparent 65%);
  pointer-events: none;
}
.cta-banner h2 { color: #fff; font-size: clamp(1.4rem,3vw,2rem); margin-bottom: var(--s1); }
.cta-banner p  { color: rgba(255,255,255,.6); }
.cta-btns      { display: flex; gap: var(--s2); flex-shrink: 0; flex-wrap: wrap; }


/* ══════════════════════════════════════════════════════════
   22 — REVIEW CARDS
   ══════════════════════════════════════════════════════════ */
.review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s3); }
.review-card { display: flex; flex-direction: column; gap: var(--s2); position: relative; }
.rev-new {
  position: absolute; top: var(--s3); right: var(--s3);
  display: inline-flex; align-items: center; gap: 4px;
  background: #15803D; color: #fff;
  font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 3px 9px; border-radius: var(--r-p);
}
.reviewer    { display: flex; align-items: center; gap: var(--s2); }
.rev-avatar  {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--c-indigo-lt); color: var(--c-indigo);
  font-family: var(--f-head); font-weight: 700; font-size: 0.95rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.rev-name  { font-weight: 600; font-size: 0.9rem; color: var(--c-primary); }
.rev-meta  { font-size: 0.74rem; color: var(--c-muted); display: flex; align-items: center; gap: 4px; }
.rev-check { color: var(--c-green); }
.rev-quote { font-weight: 700; font-size: 0.9rem; color: var(--c-primary); line-height: 1.3; }
.rev-body  { font-size: 0.85rem; color: var(--c-muted); line-height: 1.65; }


/* ══════════════════════════════════════════════════════════
   23 — STATS ROW
   ══════════════════════════════════════════════════════════ */
.stats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--s4); }
.stat-card { text-align: center; }
.stat-big  { font-family: var(--f-head); font-size: clamp(2rem,4vw,3.2rem); font-weight: 800; color: var(--c-primary); line-height: 1; margin-bottom: 6px; }
.stat-lbl  { font-size: 0.82rem; color: var(--c-muted); }


/* ══════════════════════════════════════════════════════════
   24 — FEATURE GRID
   ══════════════════════════════════════════════════════════ */
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s4); }
.feature-icon {
  width: 48px; height: 48px; border-radius: var(--r-m);
  background: var(--c-indigo-lt);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-indigo); margin-bottom: var(--s2);
}
.feature-grid .card h3 { margin-bottom: var(--s1); }
.feature-grid .card p  { font-size: 0.88rem; color: var(--c-muted); }


/* ══════════════════════════════════════════════════════════
   25 — INCLUDE CHECKLIST
   ══════════════════════════════════════════════════════════ */
.include-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px var(--s6); }
.include-item { display: flex; align-items: center; gap: 10px; font-size: 0.9rem; color: var(--c-text-2); }
.check-icon   {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--c-accent-lt); color: var(--c-accent);
  font-size: 0.7rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}


/* ══════════════════════════════════════════════════════════
   26 — BOOKING FORM STEPS
   ══════════════════════════════════════════════════════════ */
.booking-form-wrap { max-width: 720px; margin-inline: auto; }
.booking-step {
  display: grid; grid-template-columns: 40px 1fr;
  gap: var(--s3); padding-bottom: var(--s6); position: relative;
}
.booking-step::after {
  content: ''; position: absolute;
  left: 20px; top: 48px; bottom: 0;
  width: 2px; background: var(--c-border);
  transform: translateX(-50%);
}
.booking-step:last-child::after { display: none; }
.step-circle {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--c-indigo); color: #fff;
  font-family: var(--f-head); font-weight: 700; font-size: 1rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  z-index: 1; position: relative;
}
.step-head   { font-family: var(--f-head); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--c-muted); margin-bottom: var(--s2); padding-top: 10px; }
.step-body   { display: flex; flex-direction: column; gap: var(--s3); }


/* ══════════════════════════════════════════════════════════
   27 — PAGE HERO (inner pages)
   ══════════════════════════════════════════════════════════ */
.page-hero { padding: var(--s12) 0 var(--s8); text-align: center; }
.page-hero .label { margin-bottom: var(--s2); }
.page-hero h1     { font-size: clamp(1.8rem,4vw,3rem); }
.page-hero .lead  { max-width: 50ch; margin: var(--s2) auto 0; }


/* ══════════════════════════════════════════════════════════
   28 — CONTACT PAGE
   ══════════════════════════════════════════════════════════ */
.contact-info-grid    { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s6) var(--s8); }
.contact-block-label  { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 4px; display: block; }
.contact-block-value  { font-size: 1rem; color: var(--c-primary); font-weight: 500; }
.contact-block-value a { color: var(--c-indigo); }
.open-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 0.82rem; font-weight: 600; color: #15803D; margin-top: 4px; }
.open-dot   { width: 8px; height: 8px; border-radius: 50%; background: var(--c-green); animation: blink 2s infinite; }
@keyframes blink { 0%,100%{ opacity:1 } 50%{ opacity:.3 } }


/* ══════════════════════════════════════════════════════════
   29 — SPLIT LAYOUT UTILITY
   ══════════════════════════════════════════════════════════ */
.split-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); align-items: center; }
.split-3-7 { display: grid; grid-template-columns: 3fr 4fr; gap: var(--s8); align-items: start; }


/* ══════════════════════════════════════════════════════════
   30 — RESPONSIVE
   ══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .footer-inner { grid-template-columns: 1fr 1fr; gap: var(--s4); }
  .hero-content { padding-inline: var(--s6); }
  .container    { padding-inline: var(--s3); }
}

@media (max-width: 768px) {
  /* Mobile nav */
  .nav-burger {
    display: flex; flex-direction: column; gap: 5px;
    cursor: pointer; padding: 6px; background: none; border: none;
    border-radius: var(--r-s); flex-shrink: 0;
  }
  .nav-burger span { width: 22px; height: 2px; background: var(--c-primary); border-radius: 2px; display: block; transition: transform .25s, opacity .25s; }
  .nav-links {
    display: none; flex-direction: column;
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--c-bg); border-bottom: 1px solid var(--c-border);
    padding: var(--s3) var(--s4) var(--s4); gap: var(--s1);
    box-shadow: var(--sh3); z-index: 99; margin-top: 1px;
  }
  .nav-links a { width: 100%; padding: 10px 12px; }
  .nav-links .nav-cta { text-align: center; margin-top: var(--s1); }
  .nav-check:checked ~ .nav-links { display: flex; }
  .nav-check:checked + .nav-burger span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
  .nav-check:checked + .nav-burger span:nth-child(2) { opacity: 0; }
  .nav-check:checked + .nav-burger span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

  /* Hero — text overlaid at TOP, shorter image so the schedule shows on first screen (mobile) */
  .hero { grid-template-columns: 1fr; min-height: 56vh; position: relative; }
  .hero-image {
    position: absolute; inset: 0; height: 100%; max-height: none;
    order: 0; z-index: 0;
  }
  .hero-image::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(15,23,42,.80) 0%, rgba(15,23,42,.50) 26%, rgba(15,23,42,.12) 52%, rgba(15,23,42,.20) 100%);
  }
  .hero-content {
    position: relative; z-index: 1;
    justify-content: flex-start;
    padding: var(--s6) var(--s4) var(--s5);
    padding-right: 36%;
    min-height: 56vh; gap: var(--s3);
  }
  .hero-content .badge { background: rgba(255,255,255,.92); font-size: 0.66rem; padding: 3px 9px; }
  .hero-title { color: #fff; font-size: 1.85rem; }
  .hero-ctas { flex-direction: column; align-items: stretch; gap: 10px; width: 100%; }
  .hero-ctas .btn { padding: 0.55rem 0.9rem; font-size: 0.8rem; width: 100%; justify-content: center; }
  .hero-ctas .btn-outline { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }
  .hero-desc  { display: none; }
  .hero-trust { display: none; }

  /* Hide stats bar on desktop? no — compact it on mobile so the schedule reaches the first screen */
  .stats-bar { padding-block: var(--s2); }
  .stats-bar-inner { gap: 6px 16px; }
  .stat-pill { font-size: 0.76rem; }

  /* Schedule pickup card — minimised on mobile */
  .sched-section   { padding-block: var(--s4); }
  .sched-card      { padding: var(--s3); }
  .sched-avatars   { margin-bottom: var(--s1); }
  .sched-av        { width: 30px; height: 30px; }
  .sched-head      { margin-bottom: 6px; }
  .sched-sub       { display: none; }
  .sched-slots     { gap: var(--s2); }
  .sched-slot      { padding: 10px var(--s3) 10px var(--s2); }
  .sched-slot-time { font-size: 0.92rem; }
  .sched-all       { margin-top: var(--s2); }

  /* Sections */
  .section    { padding-block: var(--s8); }
  .section-lg { padding-block: var(--s10); }
  .site-footer { margin-top: var(--s8); }

  /* Grids */
  .process-grid   { grid-template-columns: 1fr; }
  .process-grid::before { display: none; }

  /* Detailed pricing cards (price.html) → swipeable row, no long scroll */
  .price-grid {
    display: flex; grid-template-columns: none;
    gap: var(--s3); overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 4px 2px var(--s3);
    scrollbar-width: thin;
  }
  .price-grid > .price-card { flex: 0 0 78%; scroll-snap-align: center; }
  .price-card.featured { transform: none; }

  /* 4-tier express pricing → all four visible at once in a compact 2×2 grid */
  .price-grid--4 {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 30px 12px; overflow: visible; padding: 0;
    scroll-snap-type: none;
  }
  .price-grid--4 > .price-card { flex: none; padding: var(--s3) var(--s2); scroll-snap-align: none; }
  .price-grid--4 .price-name  { font-size: 0.62rem; letter-spacing: 0.07em; margin-bottom: 6px; }
  .price-grid--4 .price-amount{ margin-bottom: 2px; }
  .price-grid--4 .price-num   { font-size: 1.85rem; }
  .price-grid--4 .price-curr  { font-size: 0.78rem; padding-bottom: 0.42rem; }
  .price-grid--4 .price-unit  { font-size: 0.72rem; }
  .price-grid--4 .price-speed { font-size: 0.62rem; margin-bottom: var(--s2); }
  .price-grid--4 .price-feats { display: none; }
  .price-grid--4 .btn         { margin-top: var(--s2) !important; padding: 0.5rem 0.4rem; font-size: 0.76rem; }
  .price-grid--4 .price-best-pill { font-size: 0.55rem; padding: 3px 8px; top: -10px; letter-spacing: 0.04em; }

  /* Prices flip — keep 3 columns aligned, fit width */
  .prices-head    { margin-bottom: var(--s6); }
  .prices-cards   { gap: 7px; }
  .price-topper   { height: 70px; }
  .price-wm       { font-size: 1.55rem; -webkit-text-stroke-width: 1px; }
  .price-photo    { width: 72px; height: 72px; border-radius: 16px; transform: translateY(24px); }
  .price-photo svg { width: 20px; height: 20px; }
  .pcard          { padding: var(--s3) 4px var(--s3); min-height: 168px; border-radius: var(--r-m); gap: 4px; }
  .pcard--featured { padding-top: var(--s5); min-height: 196px; transform: translateY(-16px); }
  .pcard-name     { margin-bottom: var(--s1); }
  .pcard-num      { font-size: clamp(1.15rem, 4.2vw, 2.6rem); }
  .pcard-cur      { font-size: 0.68rem; }
  .pcard-unit     { font-size: 0.58rem; }
  .pcard-quickest { padding: 6px 12px; font-size: 0.6rem; }
  .prices-foot    { margin-top: var(--s6); gap: var(--s2); flex-wrap: wrap; }
  .back-list      { grid-template-columns: 1fr; max-width: 100%; gap: var(--s3); }
  .prices-back    { padding: var(--s6) var(--s4) var(--s10); }

  /* Reviews → swipeable row */
  .review-grid {
    display: flex; grid-template-columns: none;
    gap: var(--s3); overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 4px 2px var(--s3);
    scrollbar-width: thin;
  }
  .review-grid > .review-card { flex: 0 0 82%; scroll-snap-align: center; }

  /* Compact cards stay aligned 2-up */
  .feature-grid   { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stats-row      { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stat-card      { padding-inline: var(--s2); }
  .include-grid   { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px var(--s3); }

  /* Comparison table → fit screen, no horizontal page scroll */
  .compare-wrap   { overflow-x: visible; }
  .compare-table  { min-width: 0; width: 100%; table-layout: fixed; }
  .compare-table th, .compare-table td { padding: 10px 5px; font-size: 0.72rem; word-break: break-word; line-height: 1.35; }
  .compare-table thead th { font-size: 0.6rem; letter-spacing: 0.02em; }
  .compare-table td:first-child, .compare-table th:first-child { font-size: 0.68rem; }

  .form-grid      { grid-template-columns: 1fr; }
  .form-grid-3    { grid-template-columns: 1fr; }
  .service-toggle { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .svc-opt label  { padding: var(--s2) var(--s2); }
  .contact-info-grid { grid-template-columns: 1fr; }
  .cta-banner { flex-direction: column; text-align: center; padding: var(--s6); }
  .split-2    { grid-template-columns: 1fr; }
  .split-3-7  { grid-template-columns: 1fr; }
  .branch-grid { grid-template-columns: 1fr; }
  .partner-grid { grid-template-columns: 1fr 1fr; gap: var(--s2); }
  .partner-card { padding: var(--s2) var(--s2) var(--s2) calc(var(--s2) + 4px); }
  .partner-name { font-size: 0.9rem; }
}

@media (max-width: 480px) {
  .footer-inner   { grid-template-columns: 1fr; }
  .footer-col a, .footer-col p { overflow-wrap: anywhere; }
  .stats-bar-inner { gap: var(--s2); }
  .stat-sep       { display: none; }
  .cta-btns       { flex-direction: column; width: 100%; }
  .cta-btns .btn  { width: 100%; justify-content: center; }
  .wa-float       { padding: 1rem 1.4rem; border-radius: var(--r-p); gap: 12px; font-size: 1rem; }
  .wa-float svg   { width: 26px; height: 26px; }
  .container      { padding-inline: var(--s3); }
  .price-grid > .price-card  { flex-basis: 84%; }
  .review-grid > .review-card { flex-basis: 86%; }
}

/* ============================================================
   JLOVELAUNDRY — ELEMENTOR BRIDGE + PAGE-SPECIFIC + FLUENTFORM
   (loads AFTER the design system)
   ============================================================ */

/* ---------- ELEMENTOR BRIDGE : native Button widget → .btn ---------- */
.elementor-widget-button .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0.7rem 1.5rem; border-radius: var(--r-p);
  font-family: var(--f-body); font-weight: 600; font-size: 0.9rem; line-height: 1.2;
  border: 2px solid transparent; transition: all .2s; text-decoration: none;
  background: var(--c-accent); color: #fff; border-color: var(--c-accent);   /* default = primary */
}
.elementor-widget-button .elementor-button:hover { background: var(--c-accent-h); border-color: var(--c-accent-h); color: #fff; }
.elementor-widget-button .elementor-button-text { color: inherit; }
.elementor-widget-button .elementor-button-icon svg,
.elementor-widget-button .elementor-button-icon i { fill: currentColor; color: inherit; }

/* variants — class goes on the Button widget (advanced → CSS classes) */
.btn-outline .elementor-button  { background: transparent; color: var(--c-primary); border-color: var(--c-border); }
.btn-outline .elementor-button:hover { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.btn-whatsapp .elementor-button { background: var(--c-green); color: #fff; border-color: var(--c-green); }
.btn-whatsapp .elementor-button:hover { background: #1ebe5d; border-color: #1ebe5d; color:#fff; }
.btn-indigo .elementor-button   { background: var(--c-indigo); color: #fff; border-color: var(--c-indigo); }
.btn-indigo .elementor-button:hover { background: #5560a8; border-color: #5560a8; color:#fff; }
.btn-lg .elementor-button   { padding: 0.9rem 1.8rem; font-size: 1rem; }
.btn-full .elementor-button { width: 100%; }
.btn-full .elementor-widget-container { width: 100%; }

/* Icon-list widget → design check lists (price-feats / include / back-list) */
.elementor-widget-icon-list .elementor-icon-list-items { display: flex; flex-direction: column; gap: 10px; }
.elementor-widget-icon-list .elementor-icon-list-item { align-items: flex-start; }
.elementor-widget-icon-list .elementor-icon-list-icon { color: var(--c-accent); }
.elementor-widget-icon-list .elementor-icon-list-text { color: var(--c-text-2); font-size: 0.88rem; }

/* Native Elementor Accordion → design FAQ look */
.elementor-accordion .elementor-accordion-item {
  background: var(--c-surface); border: 1px solid var(--c-border);
  border-radius: var(--r-m); overflow: hidden; margin-bottom: var(--s2);
}
.elementor-accordion .elementor-tab-title {
  font-family: var(--f-head); font-weight: 600; font-size: 0.95rem;
  color: var(--c-primary); padding: var(--s3) var(--s4); border: 0;
}
.elementor-accordion .elementor-tab-title.elementor-active { color: var(--c-indigo); }
.elementor-accordion .elementor-tab-content {
  padding: var(--s2) var(--s4) var(--s3); border-top: 1px solid var(--c-border);
  font-size: 0.92rem; color: var(--c-muted); line-height: 1.75; background: var(--c-surface);
}

/* Keep the design .container centered even inside an Elementor full-width band */
.elementor .container      { width: min(var(--mw), 100%);  margin-inline: auto; padding-inline: var(--s4); }
.elementor .container--narrow { width: min(var(--mwn), 100%); margin-inline: auto; padding-inline: var(--s4); }

/* ============================================================
   PAGE-SPECIFIC (from each page's inline <style>)
   ============================================================ */

/* ---- REVIEW PAGE ---- */
.col-labels { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--s3); margin-bottom: var(--s4); }
.col-label  { text-align: center; }
.col-label h4 { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-muted); }
.rating-hero { text-align: center; padding: var(--s8) 0 var(--s6); }
.rating-score { font-family: var(--f-head); font-size: clamp(3rem,8vw,5.5rem); font-weight: 800; color: var(--c-primary); line-height: 1; }
.rating-stars-lg { font-size: 1.8rem; color: #F59E0B; letter-spacing: 4px; margin: var(--s1) 0; }
.rating-meta { color: var(--c-muted); font-size: 0.95rem; }

/* ---- HELP PAGE ---- */
.faq-section { margin-bottom: var(--s8); }
.faq-section-title { font-family: var(--f-head); font-weight: 700; font-size: 1rem; color: var(--c-primary); margin-bottom: var(--s3); padding-left: var(--s3); border-left: 3px solid var(--c-accent); }
.faq-list { display: flex; flex-direction: column; gap: var(--s2); }
.still-help { background: var(--c-surface); border-radius: var(--r-xl); padding: var(--s8); text-align: center; border: 1px solid var(--c-border); box-shadow: var(--sh2); }
.still-help h3 { margin-bottom: var(--s2); }
.still-help p  { color: var(--c-muted); max-width: 40ch; margin: 0 auto var(--s4); }
.response-tag  { font-size: 0.78rem; color: var(--c-muted); margin-top: var(--s2); }

/* ---- CONTACT PAGE ---- */
.quick-answer { background: var(--c-surface); border-radius: var(--r-xl); padding: var(--s8); text-align: center; border: 1px solid var(--c-border); box-shadow: var(--sh2); max-width: 680px; margin: 0 auto var(--s8); }
.quick-answer h2 { margin-bottom: var(--s2); }
.quick-answer p  { color: var(--c-muted); max-width: 44ch; margin: 0 auto var(--s4); }
.hours-row { display: flex; justify-content: space-between; align-items: center; padding: var(--s2) 0; border-bottom: 1px solid var(--c-border); font-size: 0.9rem; }
.hours-row:last-child { border-bottom: none; }
.hours-label { color: var(--c-primary); font-weight: 500; }
.hours-value { color: var(--c-muted); }
.hours-value.open { color: #15803D; font-weight: 600; }
.contact-form-wrap { max-width: 640px; }
.form-section-title { font-family: var(--f-head); font-size: 1.4rem; font-weight: 700; color: var(--c-primary); margin-bottom: var(--s4); }
.locations-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); }
.location-card  { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--r-l); overflow: hidden; box-shadow: var(--sh2); display: flex; flex-direction: column; }
.location-map   { aspect-ratio: 16 / 10; background: var(--c-bg); }
.location-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.location-body  { padding: var(--s4); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.location-body h3 { margin-top: 2px; }
.location-addr  { font-size: 0.88rem; color: var(--c-muted); }
.location-hours { font-size: 0.84rem; color: #15803D; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.location-body .btn { margin-top: 6px; }
.contact-strip  { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); margin-top: var(--s6); }
.contact-strip .ci { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--r-m); padding: var(--s3) var(--s4); }
.contact-strip .contact-block-value { margin-top: 4px; }

/* ---- BOOK PICKUP PAGE (design helpers) ---- */
.form-note { font-size: 0.8rem; color: var(--c-muted); text-align: center; margin-top: var(--s2); }

@media (max-width: 768px) {
  .col-labels { grid-template-columns: 1fr; }
  .locations-grid { grid-template-columns: 1fr; }
  .contact-strip  { grid-template-columns: 1fr; gap: var(--s2); }
}

/* ============================================================
   FLUENTFORM → match design booking form
   ============================================================ */
.fluentform .ff-el-group { margin-bottom: var(--s3); }
.fluentform .ff-el-input--label label { font-size: 0.8rem; font-weight: 600; color: var(--c-primary); letter-spacing: 0.04em; }
.fluentform input[type=text],
.fluentform input[type=email],
.fluentform input[type=tel],
.fluentform input[type=date],
.fluentform input[type=number],
.fluentform select,
.fluentform textarea,
.fluentform .ff-el-form-control {
  width: 100%; padding: 0.85rem 1.1rem;
  border: 1.5px solid var(--c-border); border-radius: var(--r-m);
  background: var(--c-surface); font-family: var(--f-body); font-size: 0.95rem;
  color: var(--c-primary); outline: none; appearance: none;
  transition: border-color .2s, box-shadow .2s;
}
.fluentform .ff-el-form-control:focus {
  border-color: var(--c-indigo); box-shadow: 0 0 0 3px rgba(100,112,185,.12);
}
.fluentform textarea.ff-el-form-control { resize: vertical; min-height: 110px; }
.fluentform ::placeholder { color: var(--c-muted); }

/* Radio "service" rendered as toggle cards via FF inline layout */
.fluentform .ff-el-form-check.ff_list_inline,
.fluentform .ff-el-group .ff-el-form-check-label { }
.fluentform .ff_list_buttons ul,
.fluentform .ff-el-form-check.ff_list_inline { display: flex; flex-wrap: wrap; gap: var(--s2); }

/* Submit button → design primary btn */
.fluentform .ff-btn-submit,
.fluentform .ff_btn_style {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--c-accent); color: #fff; border: 2px solid var(--c-accent);
  border-radius: var(--r-p); padding: 0.9rem 1.8rem; font-family: var(--f-body);
  font-weight: 600; font-size: 1rem; width: 100%; cursor: pointer; transition: all .2s;
}
.fluentform .ff-btn-submit:hover { background: var(--c-accent-h); border-color: var(--c-accent-h); }

/* Section step heading inside form */
.fluentform .ff-el-section-title,
.fluentform .ff-el-custom-html h4 { font-family: var(--f-head); color: var(--c-primary); }


/* ==== ELEMENTOR LAYOUT FIXES (appended) ==== */
.jl-center{display:flex;justify-content:center;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s8);}
.hero-image,.hero-image>.elementor-widget-image,.hero-image .elementor-widget-container,.hero-image .elementor-image{height:100%;}
.hero-image .elementor-image img,.hero-image img{width:100%;height:100%;object-fit:cover;object-position:78% center;}
/* native heading widgets should inherit design h-sizes, not Elementor defaults */
.elementor-widget-heading .elementor-heading-title{color:var(--c-primary);}
.section-header .elementor-widget-heading .elementor-heading-title{margin-bottom:var(--s2);}
/* brand-band heading white */
.brand-band-inner .elementor-heading-title{color:#fff;}

/* ==== Elementor container flex-direction fixes (design assumes row) ==== */
.e-con.hero-ctas{flex-direction:row;align-items:center;}
.e-con.brand-band{flex-direction:row;align-items:center;}
.e-con.jl-center{flex-direction:row;}

/* ==== Heading widget color — beat Elementor kit default accent (#6EC1E4) ==== */
.elementor-widget-heading .elementor-heading-title{color:var(--c-primary) !important;}
.brand-band-inner .elementor-heading-title{color:#fff !important;}

/* ==== NATIVE BUTTON BRIDGE v2 (wrapper neutralized; inner button forced over Elementor kit) ==== */
.elementor-widget-button[class*="btn-"]{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important;}
.elementor-widget-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.7rem 1.5rem;border-radius:var(--r-p);font-family:var(--f-body);font-weight:600;font-size:.9rem;line-height:1.2;border:2px solid var(--c-accent)!important;background:var(--c-accent)!important;color:#fff!important;transition:all .2s;}
.elementor-widget-button .elementor-button:hover{background:var(--c-accent-h)!important;border-color:var(--c-accent-h)!important;color:#fff!important;}
.elementor-widget-button.btn-outline .elementor-button{background:transparent!important;color:var(--c-primary)!important;border-color:var(--c-border)!important;}
.elementor-widget-button.btn-outline .elementor-button:hover{background:var(--c-primary)!important;color:#fff!important;border-color:var(--c-primary)!important;}
.elementor-widget-button.btn-whatsapp .elementor-button{background:var(--c-green)!important;color:#fff!important;border-color:var(--c-green)!important;}
.elementor-widget-button.btn-whatsapp .elementor-button:hover{background:#1ebe5d!important;border-color:#1ebe5d!important;}
.elementor-widget-button.btn-indigo .elementor-button{background:var(--c-indigo)!important;color:#fff!important;border-color:var(--c-indigo)!important;}
.elementor-widget-button.btn-indigo .elementor-button:hover{background:#5560a8!important;border-color:#5560a8!important;}
.elementor-widget-button.btn-lg .elementor-button{padding:.9rem 1.8rem;font-size:1rem;}
.elementor-widget-button.btn-full,.elementor-widget-button.btn-full .elementor-button{width:100%;}
.elementor-widget-button .elementor-button-icon svg{fill:currentColor;width:18px;height:18px;}

/* ==== XPRO HEADER/FOOTER BRIDGE ==== */
.e-con.site-header{position:relative;z-index:100;}
.site-header .e-con.nav-inner, .e-con.nav-inner{flex-direction:row;align-items:center;justify-content:space-between;}
.site-header .elementor-widget-text-editor{flex-shrink:0;}
/* XPRO horizontal menu → design nav */
.site-header .xpro-elementor-horizontal-navbar{background:transparent;}
.site-header .xpro-elementor-horizontal-navbar-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.site-header .xpro-elementor-horizontal-navbar-nav > li{margin:0;}
.site-header .xpro-elementor-horizontal-navbar-nav > li > a{font-size:.875rem;font-weight:500;color:var(--c-muted);padding:7px 11px;border-radius:var(--r-s);transition:color .2s,background .2s;white-space:nowrap;display:block;}
.site-header .xpro-elementor-horizontal-navbar-nav > li > a:hover{color:var(--c-primary);background:rgba(15,23,42,.04);}
.site-header .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a{color:var(--c-primary);font-weight:600;}
.site-header .xpro-elementor-horizontal-navbar-nav > li.nav-cta > a{background:var(--c-accent);color:#fff !important;border-radius:var(--r-p);padding:7px 18px;font-weight:600;}
.site-header .xpro-elementor-horizontal-navbar-nav > li.nav-cta > a:hover{background:var(--c-accent-h);}
.site-header .xpro-elementor-horizontal-menu-toggler{color:var(--c-primary);background:transparent;border:0;font-size:1.35rem;cursor:pointer;padding:6px 10px;}
.site-header .xpro-elementor-horizontal-menu-close{background:transparent;border:0;font-size:1.3rem;color:var(--c-primary);cursor:pointer;}
/* hidden fallback title from xpro render */
.xpro-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
/* footer container needs no extra margin-top (site-footer has its own) */
.e-con.site-footer{display:block;}

/* ==== NAV-CTA FORCE (beat xpro responsive menu bg) ==== */
.xpro-theme-builder-header li.nav-cta > a{background:var(--c-accent) !important;color:#fff !important;border-radius:var(--r-p) !important;font-weight:600 !important;}
.xpro-theme-builder-header li.nav-cta > a:hover{background:var(--c-accent-h) !important;}

/* ==== MINIMAL FOOTER + BOOK FLOAT + MINIMAL MOBILE MENU ==== */
.book-float{background:var(--c-accent) !important;box-shadow:0 4px 20px rgba(232,112,74,.38) !important;}
.book-float:hover{background:var(--c-accent-h) !important;box-shadow:0 8px 28px rgba(232,112,74,.45) !important;color:#fff;}
.footer-inner--minimal{display:grid;grid-template-columns:1fr;gap:var(--s3);padding-bottom:var(--s5);}
.footer-inner--minimal > div{max-width:480px;}
@media (max-width:1024px){
 .site-header .xpro-elementor-horizontal-navbar-wrapper{background:#fff !important;padding:64px 30px 30px !important;}
 .site-header .xpro-elementor-horizontal-navbar{background:#fff !important;border:0 !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav{display:block !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav li{background:transparent !important;border:0 !important;margin:0 !important;box-shadow:none !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li > a{background:transparent !important;border:0 !important;border-radius:0 !important;padding:13px 2px !important;font-size:1.05rem !important;font-weight:600 !important;color:var(--c-primary) !important;letter-spacing:-.01em;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a{color:var(--c-accent) !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li.nav-cta{margin-top:16px !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li.nav-cta > a{display:inline-block !important;background:var(--c-accent) !important;color:#fff !important;border-radius:9999px !important;padding:12px 30px !important;text-align:center !important;font-size:.98rem !important;}
 .site-header .xpro-elementor-horizontal-menu-close{position:absolute !important;top:16px !important;right:18px !important;background:transparent !important;border:0 !important;font-size:1.05rem !important;color:var(--c-muted) !important;box-shadow:none !important;}
}

/* ==== MOBILE OVERFLOW FIX + MENU POLISH v2 ==== */
html,body{overflow-x:hidden !important;max-width:100vw;}
@media (max-width:1024px){
 .site-header .xpro-elementor-horizontal-navbar-wrapper:not(.active){visibility:hidden !important;pointer-events:none !important;}
 .site-header .xpro-elementor-horizontal-navbar-wrapper.active{visibility:visible !important;}
 .site-header .xpro-elementor-horizontal-navbar-wrapper,
 .site-header .xpro-elementor-horizontal-navbar,
 .site-header .xpro-elementor-horizontal-navbar-nav,
 .site-header .xpro-elementor-horizontal-navbar-nav > li,
 .site-header .xpro-elementor-horizontal-navbar-nav > li > a{text-align:left !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li > a{display:block !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li.nav-cta > a{display:inline-block !important;min-width:180px;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a{color:var(--c-primary) !important;}
 .site-header .xpro-elementor-horizontal-navbar-nav > li.current-menu-item.menu-item-object-page:not(.nav-cta) > a{color:var(--c-accent) !important;}
}
