/* ==========================================================================
   Levimax — homepage theme styles
   Source of truth: design handoff "Levimax Homepage v2"
   Order: tokens → base → layout → components → sections → responsive
   ========================================================================== */

/* --- Tokens --------------------------------------------------------------- */
:root{
  --lx-blue:#0073B4;
  --lx-blue-deep:#004675;
  --lx-blue-bright:#0086D1;
  --lx-ink:#1E2A34;
  --lx-body:#4F5B66;
  --lx-muted:#6B7A88;
  --lx-placeholder:#93A1AE;
  --lx-line:#E3EAF0;
  --lx-input:#D5DEE6;
  --lx-dashed:#C9D6E0;
  --lx-tint:#F4F8FB;
  --lx-blue-tint:#EAF4FA;
  --lx-on-dark:#B7C6D3;
  --lx-warn-text:#8A5A00;
  --lx-warn-bg:#FFF3D6;
  --lx-warn-border:#F1D9A0;
  --lx-error:#D14343;

  --lx-font-head:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --lx-font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;

  --lx-h1:54px;
  --lx-h2:38px;
  --lx-h2-cta:36px;
  --lx-section-y:96px;
  --lx-container-x:32px;

  --lx-shadow-card:0 20px 50px rgba(30,42,52,.10);
  --lx-shadow-hover:0 14px 34px rgba(30,42,52,.08);

  --lx-nav-h:78px;
}

/* --- Base ----------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--lx-nav-h) + 12px)}
.admin-bar{--lx-admin-bar:32px}
html:has(body.admin-bar){scroll-padding-top:calc(var(--lx-nav-h) + 44px)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

body.levimax{
  margin:0;
  background:#fff;
  color:var(--lx-ink);
  font-family:var(--lx-font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* :where() keeps these base rules at element specificity, so component
   classes (.lx-btn--primary, .lx-nav__links a, …) win without !important. */
:where(.levimax) img{max-width:100%;height:auto}
:where(.levimax) a{color:var(--lx-blue);text-decoration:none;transition:color .15s ease}
:where(.levimax) a:hover{color:var(--lx-blue-deep)}
:where(.levimax) h1,:where(.levimax) h2,:where(.levimax) h3{font-family:var(--lx-font-head);font-weight:600;margin:0}
:where(.levimax) p{margin:0}
:where(.levimax) ul{margin:0;padding:0;list-style:none}

.levimax :focus-visible{outline:3px solid var(--lx-blue);outline-offset:2px;border-radius:4px}

.lx-skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:#fff;color:var(--lx-ink);padding:12px 18px;border-radius:0 0 10px 0;
  font-weight:700;box-shadow:var(--lx-shadow-card);
}
.lx-skip:focus{left:0}

.lx-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;
}

/* --- Layout --------------------------------------------------------------- */
.lx-container{max-width:1200px;margin:0 auto;padding:0 var(--lx-container-x)}
.lx-section{padding:var(--lx-section-y) 0}
.lx-section--tint{background:var(--lx-tint)}
.lx-section--flush-top{padding-top:0}

.lx-split{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
  gap:64px;
  align-items:center;
}

.lx-head{text-align:center;max-width:680px;margin:0 auto 52px}
.lx-head--narrow{max-width:640px}
:where(.lx-head) p{font-size:17px;line-height:1.65;color:var(--lx-body);text-wrap:pretty}

.lx-eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lx-blue);
}

.lx-h1{
  font-size:var(--lx-h1);line-height:1.1;letter-spacing:-.6px;
  color:var(--lx-ink);margin:18px 0 22px;text-wrap:pretty;
}
.lx-h1 .lx-accent{color:var(--lx-blue)}

.lx-h2{font-size:var(--lx-h2);line-height:1.15;letter-spacing:-.4px;margin:14px 0 16px;text-wrap:pretty}
.lx-h2--tight{margin-bottom:0}

.lx-lead{font-size:19px;line-height:1.6;color:var(--lx-body);max-width:560px;text-wrap:pretty}
.lx-text{font-size:17px;line-height:1.7;color:var(--lx-body);text-wrap:pretty}

/* --- Buttons --------------------------------------------------------------
   Each rule matches both a plain <a class="lx-btn …"> and core/button, where
   the class lands on the wrapper and the visuals belong on the inner link. */
.lx-btn:not(.wp-block-button),
.wp-block-button.lx-btn > .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  height:52px;padding:0 26px;border:0;border-radius:10px;
  font-family:var(--lx-font-body);font-size:16px;font-weight:700;line-height:1;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.lx-btn--sm:not(.wp-block-button),
.wp-block-button.lx-btn--sm > .wp-block-button__link{height:44px;padding:0 20px;font-size:15px}
.lx-btn--block:not(.wp-block-button),
.wp-block-button.lx-btn--block,
.wp-block-button.lx-btn--block > .wp-block-button__link{width:100%}
.lx-btn--primary:not(.wp-block-button),
.wp-block-button.lx-btn--primary > .wp-block-button__link{background:var(--lx-blue);color:#fff}
.lx-btn--primary:not(.wp-block-button):hover,
.wp-block-button.lx-btn--primary > .wp-block-button__link:hover{background:var(--lx-blue-deep);color:#fff}
.lx-btn--secondary:not(.wp-block-button),
.wp-block-button.lx-btn--secondary > .wp-block-button__link{
  background:#fff;color:var(--lx-ink);border:1.5px solid var(--lx-input);
}
.lx-btn--secondary:not(.wp-block-button):hover,
.wp-block-button.lx-btn--secondary > .wp-block-button__link:hover{border-color:var(--lx-blue);color:var(--lx-blue)}
.lx-btn--on-dark:not(.wp-block-button),
.wp-block-button.lx-btn--on-dark > .wp-block-button__link{background:var(--lx-blue);color:#fff;justify-content:flex-start}
.lx-btn--on-dark:not(.wp-block-button):hover,
.wp-block-button.lx-btn--on-dark > .wp-block-button__link:hover{background:var(--lx-blue-bright);color:#fff}
.lx-btn--outline-dark:not(.wp-block-button),
.wp-block-button.lx-btn--outline-dark > .wp-block-button__link{
  background:transparent;color:#fff;justify-content:flex-start;
  border:1.5px solid rgba(255,255,255,.35);
}
.lx-btn--outline-dark:not(.wp-block-button):hover,
.wp-block-button.lx-btn--outline-dark > .wp-block-button__link:hover{border-color:#fff;color:#fff}
.lx-btn[disabled],.lx-btn[aria-disabled="true"]{opacity:.65;cursor:default}
.lx-btn svg,.wp-block-button__link svg{flex:none}
/* core/buttons is only a layout wrapper here. */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.lx-cta__actions .wp-block-buttons{flex-direction:column;gap:12px;width:100%}

/* --- Cards ---------------------------------------------------------------- */
.lx-card{background:#fff;border:1px solid var(--lx-line);border-radius:16px;padding:30px}
.lx-card--hoverable{transition:box-shadow .2s ease}
.lx-card--hoverable:hover{box-shadow:var(--lx-shadow-hover)}

.lx-icon-tile{
  width:50px;height:50px;border-radius:12px;background:var(--lx-blue-tint);
  color:var(--lx-blue);display:flex;align-items:center;justify-content:center;
}

.lx-photo{
  display:block;width:100%;border-radius:20px;object-fit:cover;background:var(--lx-tint);
}
/* core/image: the class lands on the <figure>, the framing belongs to the <img>. */
figure.lx-photo{margin:0;background:none}
figure.lx-photo > img{
  display:block;width:100%;height:100%;border-radius:20px;
  object-fit:cover;background:var(--lx-tint);
}
.lx-photo--hero{height:460px}
.lx-photo--why{height:460px}
.lx-photo--map{
  /* A map must not be cropped — it would lose the towns it exists to show.
     So: no fixed height, the image sets its own, and nothing is letterboxed. */
  height:auto;max-height:560px;object-fit:contain;background:transparent;
}
figure.lx-photo--map > img{height:auto;max-height:560px;object-fit:contain;background:transparent}
.lx-photo--rental{height:440px}

.lx-pill{
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--lx-blue);background:var(--lx-blue-tint);
  padding:6px 10px;border-radius:999px;white-space:nowrap;
}
.lx-pill--muted{color:var(--lx-muted);background:var(--lx-tint)}
.lx-pill--plain{
  letter-spacing:normal;text-transform:none;color:var(--lx-ink);
  background:var(--lx-tint);border:1px solid var(--lx-line);padding:5px 10px;
}

/* --- Navigation ----------------------------------------------------------- */
.lx-nav{
  position:sticky;top:0;z-index:50;
  background:#fff;border-bottom:1px solid var(--lx-line);
}
.admin-bar .lx-nav{top:32px}
@media (max-width:782px){.admin-bar .lx-nav{top:46px}}
.lx-nav__inner{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px 28px;min-height:var(--lx-nav-h);padding:12px var(--lx-container-x);
  max-width:1264px;margin:0 auto;
}
.lx-nav__logo{display:block;flex:none}
.lx-nav__logo img{height:48px;width:auto;display:block}
.lx-nav__menu{display:contents}
.lx-nav__links{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:15px;font-weight:600}
.lx-nav__links a{color:var(--lx-ink)}
.lx-nav__links a:hover{color:var(--lx-blue)}
.lx-nav__actions{display:flex;align-items:center;gap:20px}
.lx-nav__phone{font-weight:700;font-size:15px;color:var(--lx-ink)}
.lx-nav__phone:hover{color:var(--lx-blue)}

.lx-nav__toggle{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;border:1.5px solid var(--lx-input);border-radius:10px;
  background:#fff;color:var(--lx-ink);cursor:pointer;
}
.lx-nav__bars{position:relative;display:block;width:20px;height:2px;background:currentColor;border-radius:2px}
.lx-nav__bars::before,.lx-nav__bars::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px;
  transition:transform .18s ease,top .18s ease;
}
.lx-nav__bars::before{top:-6px}
.lx-nav__bars::after{top:6px}
.lx-nav__toggle[aria-expanded="true"] .lx-nav__bars{background:transparent}
.lx-nav__toggle[aria-expanded="true"] .lx-nav__bars::before{top:0;transform:rotate(45deg)}
.lx-nav__toggle[aria-expanded="true"] .lx-nav__bars::after{top:0;transform:rotate(-45deg)}

/* --- Hero ----------------------------------------------------------------- */
.lx-hero{background:linear-gradient(180deg,#F4F8FB 0%,#FFFFFF 100%)}
.lx-hero__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:56px;align-items:center;padding:72px 0 80px;
}
.lx-hero__proof{
  display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:40px;
  font-size:14px;font-weight:600;color:var(--lx-body);
}
.lx-hero__proof li{display:flex;align-items:center;gap:8px}
.lx-hero__proof svg{flex:none;color:var(--lx-blue)}
.lx-hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* --- Lead form ------------------------------------------------------------ */
.lx-form-card{
  width:100%;max-width:470px;justify-self:end;
  background:#fff;border:1px solid var(--lx-line);border-radius:18px;padding:30px;
  box-shadow:var(--lx-shadow-card);
}
.lx-form-card__title{font-size:22px;font-weight:600;color:var(--lx-ink)}
.lx-form-card__sub{margin:8px 0 22px;font-size:14px;line-height:1.55;color:var(--lx-muted)}
.lx-form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.lx-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.lx-field{display:grid;gap:6px}
.lx-field label{font-size:13px;font-weight:700}
.lx-field input,.lx-field select{
  width:100%;height:46px;border:1px solid var(--lx-input);border-radius:10px;
  padding:0 14px;font-family:var(--lx-font-body);font-size:15px;color:var(--lx-ink);
  background:#fff;outline:none;transition:border-color .15s ease;
}
.lx-field select{padding:0 10px}
.lx-field input::placeholder{color:var(--lx-placeholder)}
.lx-field input:focus,.lx-field select:focus{border-color:var(--lx-blue)}
.lx-field--error input,.lx-field--error select{border-color:var(--lx-error)}
.lx-field__error{font-size:12.5px;font-weight:600;color:var(--lx-error)}
.lx-form__note{font-size:12.5px;line-height:1.5;color:var(--lx-muted);text-align:center}
.lx-form__note a{color:var(--lx-ink);font-weight:700}
.lx-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lx-form__alert{
  font-size:14px;line-height:1.55;padding:12px 14px;border-radius:10px;
  background:#FDECEC;border:1px solid #F3C9C9;color:#8C2A2A;
}
.lx-form__success{
  display:grid;gap:10px;justify-items:center;text-align:center;padding:22px 4px;
}
.lx-form__success-icon{
  width:52px;height:52px;border-radius:50%;background:var(--lx-blue-tint);color:var(--lx-blue);
  display:flex;align-items:center;justify-content:center;
}
.lx-form__success-title{font-family:var(--lx-font-head);font-size:20px;font-weight:600}
.lx-form__success-text{font-size:15px;line-height:1.6;color:var(--lx-body)}

/* --- Stats ---------------------------------------------------------------- */
.lx-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:16px;margin-top:16px;
}
.lx-stat{background:#fff;border:1px solid var(--lx-line);border-radius:16px;padding:26px 28px}
.lx-stat--tint{background:var(--lx-tint)}
.lx-stat__num{
  font-family:var(--lx-font-head);font-size:42px;font-weight:600;line-height:1;
  color:var(--lx-blue);letter-spacing:-.5px;
}
.lx-stat__num small{font-size:20px;font-weight:600;color:var(--lx-muted)}
/* "7 years": two editable paragraphs on one baseline. */
.lx-stat__row{display:flex;align-items:baseline;gap:8px}
.lx-stat__unit{
  font-family:var(--lx-font-head);font-size:20px;font-weight:600;color:var(--lx-muted);
}
.lx-stat__label{margin-top:10px;font-size:14px;line-height:1.45;color:var(--lx-body)}
.lx-stat__quote{margin-top:10px;font-family:var(--lx-font-head);font-size:19px;font-weight:600;line-height:1.35}

/* --- Services / steps grids ----------------------------------------------- */
.lx-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.lx-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.lx-service__title{font-size:19px;margin:20px 0 10px}
:where(.lx-service) p{font-size:15px;line-height:1.65;color:var(--lx-body)}

.lx-step{background:#fff;border:1px solid var(--lx-line);border-radius:16px;padding:28px}
.lx-step__num{
  width:44px;height:44px;border-radius:50%;background:var(--lx-blue);color:#fff;
  font-family:var(--lx-font-head);font-weight:600;font-size:17px;
  display:flex;align-items:center;justify-content:center;
}
.lx-step__title{font-size:18px;margin:20px 0 8px}
:where(.lx-step) p{font-size:15px;line-height:1.6;color:var(--lx-body)}

/* --- Why Levimax ---------------------------------------------------------- */
.lx-pillars{display:grid;gap:18px;margin-top:28px}
.lx-pillar{display:flex;gap:14px;align-items:flex-start}
.lx-pillar__check{
  flex:none;width:28px;height:28px;border-radius:50%;background:var(--lx-blue-tint);
  color:var(--lx-blue);display:inline-flex;align-items:center;justify-content:center;margin-top:2px;
}
.lx-pillar__title{font-family:var(--lx-font-head);font-weight:600;font-size:17px}
:where(.lx-pillar) p{font-size:15px;line-height:1.6;color:var(--lx-body);margin-top:4px}

/* --- Service area --------------------------------------------------------- */
.lx-areas{display:grid;gap:12px;margin-top:28px}
.lx-area{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 22px;border:1px solid var(--lx-line);border-radius:14px;background:#fff;
}
.lx-area--request{border:1px dashed var(--lx-dashed)}
.lx-area__main{display:flex;align-items:center;gap:14px}
.lx-area__pin{
  flex:none;width:40px;height:40px;border-radius:50%;background:var(--lx-blue-tint);
  color:var(--lx-blue);display:inline-flex;align-items:center;justify-content:center;
}
.lx-area--request .lx-area__pin{background:var(--lx-tint);color:var(--lx-muted)}
.lx-area__name{font-family:var(--lx-font-head);font-weight:600;font-size:18px}
.lx-area__sub{font-size:14px;color:var(--lx-muted)}

/* --- Rentals -------------------------------------------------------------- */
.lx-rating{
  display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;
  background:#fff;border:1px solid var(--lx-line);border-radius:16px;
  padding:20px 24px;margin:28px 0;max-width:480px;
}
.lx-rating__num{
  font-family:var(--lx-font-head);font-size:46px;font-weight:600;line-height:1;
  color:var(--lx-blue);letter-spacing:-.5px;
}
.lx-rating__label{font-weight:700;font-size:16px}
.lx-rating__pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* --- Testimonials --------------------------------------------------------- */
.lx-quotes-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:16px;margin-bottom:40px;
}
.lx-warn-tag{
  font-size:12px;font-weight:700;color:var(--lx-warn-text);background:var(--lx-warn-bg);
  border:1px solid var(--lx-warn-border);padding:6px 12px;border-radius:999px;
}
.lx-quote__mark{
  color:var(--lx-blue);font-size:38px;line-height:1;
  font-family:var(--lx-font-head);font-weight:700;
}
:where(.lx-quote) p{font-size:16px;line-height:1.65;color:var(--lx-body);margin:6px 0 22px}
.lx-quote__author{display:flex;align-items:center;gap:12px}
.lx-quote__avatar{
  flex:none;width:42px;height:42px;border-radius:50%;background:var(--lx-blue-tint);
  color:var(--lx-blue);font-weight:800;display:inline-flex;align-items:center;justify-content:center;
}
.lx-quote__name{font-weight:700;font-size:15px}
.lx-quote__role{font-size:13px;color:var(--lx-muted)}

/* --- FAQ ------------------------------------------------------------------ */
.lx-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px}
:where(.lx-faq__intro) p{font-size:16px;line-height:1.65;color:var(--lx-body)}
.lx-faq__intro a{font-weight:700}
.lx-faq__list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.lx-faq__item{background:#fff;border:1px solid var(--lx-line);border-radius:14px;padding:18px 22px}
.lx-faq__q,
.lx-faq__item > summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;
  font-family:var(--lx-font-head);font-weight:600;font-size:17px;list-style:none;
}
.lx-faq__q::-webkit-details-marker,
.lx-faq__item > summary::-webkit-details-marker{display:none}
.lx-faq__item > summary::marker{content:""}
/* The rotating "+" is drawn by CSS so core/details needs no extra markup. */
.lx-faq__item > summary::after{
  content:"+";color:var(--lx-blue);font-size:24px;line-height:1;font-weight:500;
  transition:transform .18s ease;
}
.lx-faq__item[open] > summary::after{transform:rotate(45deg)}
:where(.lx-faq__item) > p{margin:12px 0 0;font-size:15.5px;line-height:1.65;color:var(--lx-body)}
.lx-faq__plus{
  color:var(--lx-blue);font-size:24px;line-height:1;font-weight:500;
  transition:transform .18s ease;
}
.lx-faq__item[open] .lx-faq__plus{transform:rotate(45deg)}
.lx-faq__a{margin:12px 0 0;font-size:15.5px;line-height:1.65;color:var(--lx-body)}

/* --- CTA banner ----------------------------------------------------------- */
.lx-cta{
  padding:56px;border-radius:24px;background:var(--lx-ink);color:#fff;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:40px;align-items:center;
}
.lx-cta h2{font-size:var(--lx-h2-cta);line-height:1.15;letter-spacing:-.4px;margin:0 0 12px;text-wrap:pretty}
:where(.lx-cta) p{font-size:17px;line-height:1.6;color:var(--lx-on-dark)}
.lx-cta__actions{
  display:grid;grid-template-columns:minmax(0,1fr);gap:12px;
  max-width:360px;width:100%;justify-self:end;
}

/* --- Footer --------------------------------------------------------------- */
.lx-footer{background:var(--lx-tint);border-top:1px solid var(--lx-line)}
.lx-footer__inner{padding:64px 0 32px}
.lx-footer__cols{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:40px;padding-bottom:44px;border-bottom:1px solid var(--lx-line);
}
.lx-footer__logo{height:56px;width:auto;display:block}
.lx-footer__about{font-size:15px;line-height:1.6;color:var(--lx-body);margin-top:18px;max-width:320px}
.lx-footer__col{font-size:15px;line-height:2;color:var(--lx-body)}
.lx-footer__col a{color:var(--lx-body)}
.lx-footer__col a:hover{color:var(--lx-blue)}
.lx-footer__heading{
  font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--lx-ink);margin-bottom:6px;
}
.lx-footer__bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;
  padding-top:24px;font-size:13px;color:var(--lx-muted);
}

/* --- WordPress content defaults (inner pages) ----------------------------- */
.lx-page{padding:64px 0 96px}
.lx-page h1{font-size:42px;line-height:1.15;letter-spacing:-.4px;margin-bottom:24px}
.lx-page .lx-entry{max-width:760px;font-size:17px;line-height:1.7;color:var(--lx-body)}
.lx-page .lx-entry h2{font-size:28px;margin:36px 0 12px;color:var(--lx-ink)}
.lx-page .lx-entry p{margin:0 0 18px}
.alignwide{max-width:1080px}
.alignfull{max-width:none}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption-text{font-size:13px;color:var(--lx-muted)}

/* --- Responsive ----------------------------------------------------------- */
@media (max-width:980px){
  .lx-nav__toggle{display:flex}
  .lx-nav__inner{flex-wrap:nowrap;gap:16px}
  .lx-nav__menu{
    display:none;order:3;width:100%;flex-direction:column;align-items:flex-start;gap:18px;
    padding:8px 0 20px;border-top:1px solid var(--lx-line);margin-top:4px;
  }
  .lx-nav__menu.is-open{display:flex}
  .lx-nav__links{flex-direction:column;gap:2px;width:100%;font-size:17px}
  .lx-nav__links a{display:block;padding:10px 0;width:100%}
  .lx-nav__actions{flex-direction:column;align-items:stretch;gap:12px;width:100%}
  .lx-nav__phone{padding:6px 0;font-size:17px}
  .lx-nav__actions .lx-btn{width:100%;height:50px}
  .lx-form-card{justify-self:stretch;max-width:none}
  .lx-cta__actions{justify-self:stretch;max-width:none}
}

@media (max-width:860px){
  .lx-split{gap:44px}
  .lx-cta{padding:40px}
}

@media (max-width:640px){
  :root{
    --lx-h1:40px;
    --lx-h2:30px;
    --lx-h2-cta:28px;
    --lx-section-y:64px;
    --lx-container-x:20px;
  }
  .lx-hero__grid{padding:48px 0 56px;gap:40px}
  .lx-lead{font-size:17px}
  .lx-text{font-size:16px}
  .lx-photo--hero,.lx-photo--why,.lx-photo--rental{height:260px}
  .lx-photo--map,figure.lx-photo--map > img{max-height:320px}
  .lx-form-card{padding:22px}
  .lx-card,.lx-step,.lx-quote{padding:24px}
  .lx-stat{padding:22px 24px}
  .lx-stat__num{font-size:36px}
  .lx-cta{padding:32px 24px;border-radius:20px}
  .lx-faq{gap:32px}
  .lx-area{padding:16px}
  .lx-area__name{font-size:17px}
  .lx-footer__inner{padding:48px 0 28px}
  .lx-footer__cols{gap:32px;padding-bottom:32px}
}

/* --- Print ---------------------------------------------------------------- */
@media print{
  .lx-nav,.lx-form-card,.lx-cta__actions{display:none !important}
  .levimax{color:#000}
}

/* --- Block editor plumbing -------------------------------------------------
   Patterns are core blocks. Two things need bridging: older WordPress still
   wraps group children in an inner container (make it transparent so grids
   keep their children), and core blocks bring their own margins. */
:is(.lx-split,.lx-grid-3,.lx-grid-4,.lx-stats,.lx-hero__grid,.lx-cta,.lx-faq,
    .lx-areas,.lx-pillars,.lx-area,.lx-area__main,.lx-rating,.lx-rating__pills,
    .lx-cta__actions,.lx-quotes-head,.lx-hero__proof,.lx-quote__author,
    .lx-pillar,.lx-form__row,.lx-card,.lx-step,.lx-stat,.lx-faq__list)
  > .wp-block-group__inner-container{display:contents}

.levimax .wp-block-group,
.levimax .wp-block-columns,
.levimax .wp-block-image,
.levimax .wp-block-heading,
.levimax .wp-block-buttons{margin-top:0;margin-bottom:0}

/* The editor canvas has no <body class="levimax">, so repeat the page frame. */
.editor-styles-wrapper{
  background:#fff;color:var(--lx-ink);
  font-family:var(--lx-font-body);font-size:16px;line-height:1.6;
}
.editor-styles-wrapper .lx-section{padding:var(--lx-section-y) 0}
.editor-styles-wrapper a{color:var(--lx-blue);text-decoration:none}

/* Pills and the placeholder badge are paragraphs in the editor — keep them
   from stretching to the full column width. */
.lx-pill,.lx-warn-tag{display:inline-block;width:fit-content}
.lx-quotes-head .lx-warn-tag{align-self:flex-end;margin:0}
.lx-area .lx-pill{flex:none}

/* theme.json palette classes, restated so inline colour survives even when
   WordPress global styles are dequeued (and so the static preview matches). */
.has-blue-color{color:var(--lx-blue)}
.has-blue-deep-color{color:var(--lx-blue-deep)}
.has-ink-color{color:var(--lx-ink)}
.has-white-color{color:#fff}
