/* WordPress layer for the Ipatzi Mobile Fleet Services design: Elementor widgets, Astra header/footer, Site Settings.
   Loaded after styles.css (the design, adapted by build.py). */

/* Astra lowers the root font size on tablets and phones; the design is sized in rem from 16px */
html { font-size: 100% !important; }

/* ---------- Colors and fonts: Elementor → Site Settings → Global Colors / Global Fonts ---------- */
body {
  --mps-white: var(--e-global-color-mpswhite, #FFFFFF);
  --mps-ink: var(--e-global-color-mpsink, #0F1114);
  --mps-red: var(--e-global-color-mpsred, #C8202F);
  --mps-red-d: var(--e-global-color-mpsredd, #A3141F);
  --mps-red-l: var(--e-global-color-mpsredl, #FF5A62);
  --mps-steel: var(--e-global-color-mpssteel, #EEF0F2);
  --mps-steel-2: var(--e-global-color-mpssteel2, #E3E7EB);
  --mps-graphite: var(--e-global-color-mpsgraphite, #4B525B);
  --mps-mute: var(--e-global-color-mpsmute, #6B737D);
  --mps-char: var(--e-global-color-mpschar, #1A1D21);
  --mps-char-2: var(--e-global-color-mpschar2, #24282D);
  --mps-hair: var(--e-global-color-mpshair, #D3D8DE);
  --mps-hair-d: var(--e-global-color-mpshaird, #3A3F46);
  --mps-mute-d: var(--e-global-color-mpsmuted, #A7AFB8);
  --mps-f-d: var(--e-global-typography-primary-font-family, "Barlow Semi Condensed"), "Arial Narrow", Arial, sans-serif;
  --mps-f-b: var(--e-global-typography-text-font-family, "Barlow"), "Helvetica Neue", Arial, sans-serif;
  --mps-f-m: var(--e-global-typography-accent-font-family, "JetBrains Mono"), ui-monospace, Menlo, monospace;
}

/* ---------- Widgets built from the design: the wrapper steps out of the layout on the live site ----------
   so each heading, paragraph, image and button sits in its container exactly as in the approved design.
   (In the editor the wrappers stay boxes, so every element can be selected.) */
body:not(.elementor-editor-active) .elementor-widget.mps { display: contents; }
/* Elementor re-renders every element after the design's script has run, so scroll reveals never fire in the editor:
   show them there, or everything below the hero stays invisible and can't be clicked */
.js body.elementor-editor-active.mps-site .reveal { opacity: 1; transform: none; transition: none; }
.js body.elementor-editor-active.mps-site :is(.reveal.idx, .reveal .idx)::before { transform: none; }
/* The editor gives every container two empty shape-divider boxes; in the design's grids they would take the first cells */
body.elementor-editor-active .e-con.mps > .elementor-shape:empty { display: none; }
/* …and Elementor's hover outline and resize handle must stay out of the layout even where the design makes children relative */
body.elementor-editor-active .elementor-element.mps > :is(.elementor-element-overlay, .ui-resizable-handle) { position: absolute !important; }
/* Elementor's buttons hold spans; the design's ".text-link span" underline is for a plain span and would cross the text */
body.mps-site .elementor-widget.x-text-link > .elementor-button span:is(.elementor-button-content-wrapper, .elementor-button-text, .elementor-button-icon) { background: none; }
/* Astra's back-to-top button: the design makes every svg a block, so center the arrow in the square again */
body.mps-site #ast-scroll-top .ast-icon { display: flex; align-items: center; justify-content: center; height: 100%; }
body .elementor-widget.mps { margin: 0; color: inherit; font: inherit; text-align: inherit; }
body .elementor-widget-icon.mps :is(.elementor-icon-wrapper, .elementor-icon) { display: contents; color: inherit; font-size: inherit; line-height: inherit; }
body .elementor-widget-button.mps :is(.elementor-button-content-wrapper, .elementor-button-icon) { display: contents; }
body .elementor-widget-button.mps .elementor-button-text { display: inline; }
body .elementor-widget-button.mps-icon-end .elementor-button-icon svg { order: 2; }

/* ---------- Content area: Elementor full width inside Astra ---------- */
body.mps-site #content > .ast-container, body.mps-site .site-content > .ast-container { max-width: none; padding: 0; display: block; }
body.mps-site .site-main { display: block; }

/* ---------- FAQ and Good to Know: Elementor's accordion in the design's style ---------- */
body.mps-site .e-n-accordion { display: block; }
body.mps-site .x-faq-list .e-n-accordion { border-top: 1px solid var(--mps-ink); }
body.mps-site .x-faq-list .e-n-accordion-item { border: 0; border-bottom: 1px solid var(--mps-hair); margin: 0; }
body.mps-site .sec--steel .x-faq-list .e-n-accordion-item { border-bottom-color: #C9CFD6; }
body.mps-site .e-n-accordion-item > .e-n-accordion-item-title {
  display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; padding: 16px 0; margin: 0;
  cursor: pointer; list-style: none; border: 0; background: none; color: inherit; font: 600 1.2rem/1.25 var(--mps-f-d);
}
body.mps-site .e-n-accordion-item-title::-webkit-details-marker { display: none; }
body.mps-site .e-n-accordion-item-title :is(.e-n-accordion-item-title-header, .e-n-accordion-item-title-text) { font: inherit; color: inherit; letter-spacing: inherit; margin: 0; }
body.mps-site .e-n-accordion-item-title-icon { display: none; }
body.mps-site .e-n-accordion-item > .e-n-accordion-item-title::after {
  content: ""; width: 28px; height: 28px; flex: none; border: 1px solid var(--mps-hair); border-radius: 50%;
  background: linear-gradient(currentColor, currentColor) center / 11px 1.6px no-repeat, linear-gradient(currentColor, currentColor) center / 1.6px 11px no-repeat;
  transition: background-size .25s var(--mps-ease), background-color .2s;
}
body.mps-site .e-n-accordion-item[open] > .e-n-accordion-item-title::after { background-color: var(--mps-red); border-color: var(--mps-red); color: #fff;
  background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff); background-size: 11px 1.6px, 1.6px 0; }
body.mps-site .x-faq-list .e-n-accordion-item > .e-n-accordion-item-title:hover { color: var(--mps-red); }
body.mps-site .e-n-accordion-item > .e-con.faq-answer { padding: 0 48px 22px 0; color: var(--mps-graphite); }
body.mps-site .faq-answer p:last-of-type { margin: 0; }
/* Good to Know cards */
body.mps-site .x-gtk-list .e-n-accordion { display: grid; gap: 10px; }
body.mps-site .x-gtk-grid .x-gtk-list .e-n-accordion, body.mps-site .gtk-grid .x-gtk-list .e-n-accordion { grid-template-columns: 1fr 1fr; align-items: start; }
@media (max-width: 959px) { body.mps-site .gtk-grid .x-gtk-list .e-n-accordion { grid-template-columns: 1fr; } }
body.mps-site .x-gtk-list .e-n-accordion-item { background: #fff; border: 1px solid var(--mps-hair); padding: 0 20px; border-radius: var(--mps-r); margin: 0; }
body.mps-site .x-gtk-list .e-n-accordion-item[open] { border-color: var(--mps-ink); box-shadow: var(--mps-shadow); }
body.mps-site .x-gtk-list .e-n-accordion-item-title-text::before { content: "Good to Know"; display: block; margin-bottom: 4px; font: 500 .66rem/1 var(--mps-f-m); letter-spacing: .08em; text-transform: uppercase; color: var(--mps-red); }
body.mps-site.lang-es .x-gtk-list .e-n-accordion-item-title-text::before { content: "Bueno Saber"; }
body.mps-site .x-gtk-list .e-n-accordion-item > .e-con.gtk__b { padding: 14px 0 20px; color: var(--mps-graphite); border-top: 1px dashed var(--mps-hair); }


/* ---------- Editor: animated pieces are shown as finished (Elementor re-renders widgets after the script ran) ---------- */
body.elementor-editor-active.mps-site .plate { clip-path: none !important; }
body.elementor-editor-active.mps-site :is([data-callout] .cm, .co-lab, .co-pt) { opacity: 1 !important; }
body.elementor-editor-active.mps-site .co-lab { transform: translate(0, -50%) !important; }
body.elementor-editor-active.mps-site .co-svg line { stroke-dashoffset: 0 !important; }
body.elementor-editor-active.mps-site .dim .dim__line, body.elementor-editor-active.mps-site .step__lead::after { transform: none !important; }

/* ---------- WordPress admin bar (only when logged in) ---------- */
body.admin-bar #masthead { top: calc(32px - var(--mps-util-h)); }
@media (max-width: 782px) { body.admin-bar #masthead { top: 0; } }

/* ======================================================================= header: Astra Header Builder
   Content: Customize → Header Builder (above row HTML 1: hours/area/Instagram; logo; Primary Menu; HTML 2: EN | ES and
   Call; Button 1: Book). Spanish text: Customize → "Header & footer (Español)". Menus: Appearance → Menus. */
body.mps-site #masthead { position: sticky; top: calc(-1 * var(--mps-util-h)); z-index: 50; background: rgba(255, 255, 255, .97); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--mps-hair); }
body.mps-site #masthead :is(.ast-primary-header-bar, .main-header-bar, .ast-above-header-bar, .ast-above-header) { background: transparent; border: 0; box-shadow: none; padding: 0; min-height: 0; }
body.mps-site #masthead :is(.site-primary-header-wrap, .site-above-header-wrap) { max-width: var(--mps-wrap); margin-inline: auto; padding-inline: var(--mps-gut); }
body.mps-site #masthead .site-primary-header-wrap, body.mps-site #masthead .site-primary-header-wrap .ast-builder-grid-row { min-height: var(--mps-hdr-h); }
body.mps-site #masthead .site-above-header-wrap, body.mps-site #masthead .site-above-header-wrap .ast-builder-grid-row { min-height: var(--mps-util-h); height: var(--mps-util-h); }
body.mps-site #masthead .ast-above-header-wrap { border-bottom: 1px solid var(--mps-hair); }
body.mps-site #masthead .ast-builder-grid-row { align-items: center; column-gap: 20px; }
body.mps-site #masthead .site-header-section { align-items: center; gap: 10px; }
body.mps-site #masthead .site-above-header-wrap .ast-builder-grid-row { display: flex; }
body.mps-site #masthead :is(.site-header-above-section-left, .ast-header-html-1, .ast-header-html-1 .ast-header-html, .ast-header-html-1 .ast-builder-html-element) { flex: 1; width: 100%; }
body.mps-site #masthead .site-header-section > * { margin: 0; }
body.mps-site #masthead .ast-builder-html-element p { margin: 0; }
body.mps-site #masthead .ast-builder-layout-element { padding: 0; margin: 0; }
/* above row */
body.mps-site .util { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; color: var(--mps-graphite); }
body.mps-site .util__t { display: flex; align-items: center; gap: 10px; margin: 0; font: 500 .7rem/1 var(--mps-f-m); letter-spacing: .08em; text-transform: uppercase; }
body.mps-site .util__ig { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; font: 500 .7rem/1 var(--mps-f-m); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: inherit; }
body.mps-site .util__ig::before { width: 15px !important; height: 15px !important; vertical-align: 0 !important; }
/* logo */
body.mps-site #masthead .site-branding { padding: 0; display: flex; align-items: center; min-height: 48px; }
body.mps-site #masthead .custom-logo-link img { width: 212px; max-width: none; height: auto; }
/* main menu */
body.mps-site #masthead .main-header-menu { gap: clamp(14px, 1.6vw, 26px); background: none; border: 0; }
body.mps-site #masthead .main-header-menu > .menu-item > .menu-link {
  position: relative; display: flex; align-items: center; min-height: 44px; height: auto; line-height: 1.2; padding: 0;
  font: 500 1rem/1.2 var(--mps-f-b); color: var(--mps-ink); text-decoration: none; border: 0; background: none; white-space: nowrap;
}
body.mps-site #masthead .main-header-menu > .menu-item > .menu-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px; background: var(--mps-red);
  transform: scaleX(0); transform-origin: left; transition: transform .3s var(--mps-ease);
}
body.mps-site #masthead .main-header-menu > .menu-item.menu-item-has-children > .menu-link::after { right: 22px; }
body.mps-site #masthead .main-header-menu > .menu-item:is(:hover, .current-menu-item, .current-menu-ancestor, .current-page-ancestor) > .menu-link::after { transform: scaleX(1); }
body.mps-site #masthead .main-header-menu .dropdown-menu-toggle { margin-left: 8px; padding: 0; display: inline-flex; }
body.mps-site #masthead .main-header-menu .dropdown-menu-toggle .ast-icon svg { width: 10px; height: 10px; fill: currentColor; }
body.mps-site #masthead .main-header-menu .sub-menu { min-width: 270px; width: auto; padding: 8px; margin: 0; background: #fff; border: 1px solid var(--mps-hair); box-shadow: var(--mps-shadow); top: 100%; left: -18px; }
body.mps-site #masthead .main-header-menu .sub-menu .menu-item { border: 0; }
body.mps-site #masthead .main-header-menu .sub-menu .menu-link { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border: 0; font: 500 1rem/1.3 var(--mps-f-b); color: var(--mps-ink); text-decoration: none; background: none; border-radius: var(--mps-r); }
body.mps-site #masthead .main-header-menu .sub-menu .menu-link .ast-icon { display: none; }
body.mps-site #masthead .main-header-menu .sub-menu .menu-item:is(:hover, .current-menu-item) > .menu-link { background: var(--mps-steel); }
body.mps-site #masthead .main-header-menu .sub-menu .current-menu-item > .menu-link { box-shadow: inset 2px 0 0 var(--mps-red); }
/* EN | ES and Call (HTML 2), Book (Button 1) */
body.mps-site .tools { display: flex; align-items: center; gap: 10px; }
body.mps-site .tools__call, body.mps-site #masthead .ast-builder-button-wrap .ast-custom-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 16px; border: 1.5px solid transparent;
  border-radius: var(--mps-r); font: 600 .95rem/1 var(--mps-f-b); letter-spacing: .01em; text-decoration: none; white-space: nowrap; transition: background-color .2s, color .2s;
}
body.mps-site .tools__call { background: var(--mps-red); color: #fff; }
body.mps-site .tools__call:hover { background: var(--mps-red-d); color: #fff; }
body.mps-site .tools__call::before { width: 19px !important; height: 19px !important; vertical-align: 0 !important; }
body.mps-site .tools__short { display: none; }
@media (max-width: 1399px) { body.mps-site .tools__num { display: none; } body.mps-site .tools__short { display: inline; } }
@media (max-width: 1519px) { body.mps-site.lang-es .tools__num { display: none; } body.mps-site.lang-es .tools__short { display: inline; } }
body.mps-site #masthead .ast-builder-button-wrap .ast-custom-button { background: transparent; color: var(--mps-ink); border-color: var(--mps-ink); }
body.mps-site #masthead .ast-builder-button-wrap .ast-custom-button:hover { background: var(--mps-ink); color: #fff; }
body.mps-site #masthead .ast-builder-button-wrap .ast-custom-button::before { content: ""; width: 19px; height: 19px; background: currentColor;
  -webkit-mask: url(/wp-content/themes/ipatzi/assets/icons/calendar.svg) center / contain no-repeat; mask: url(/wp-content/themes/ipatzi/assets/icons/calendar.svg) center / contain no-repeat; }
body.mps-site #masthead .ast-builder-button-wrap > .menu-link { display: none; }
/* phone and tablet header (below 1280px): logo, EN | ES, call icon, menu button */
body.mps-site.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar { padding-inline: var(--mps-gut); min-height: var(--mps-hdr-h); }
body.mps-site.ast-header-break-point #masthead .ast-mobile-header-wrap .site-primary-header-wrap { padding: 0; }
body.mps-site.ast-header-break-point #masthead .custom-logo-link img { width: 184px; }
@media (max-width: 759px) {
  body.mps-site.ast-header-break-point #masthead .custom-logo-link img { width: 164px; }
  body.mps-site .tools__call { width: 46px; padding: 0; }
  body.mps-site .tools__call :is(.tools__num, .tools__short) { display: none !important; }
}
@media (max-width: 420px) { body.mps-site.ast-header-break-point #masthead .custom-logo-link img { width: 150px; } }
body.mps-site #masthead .menu-toggle.main-header-menu-toggle { width: 46px; height: 46px; display: grid; place-items: center; padding: 0; margin: 0; border: 1.5px solid var(--mps-ink); border-radius: var(--mps-r); background: none; color: var(--mps-ink); }
body.mps-site #masthead .menu-toggle .ast-mobile-svg { width: 20px; height: 20px; fill: currentColor; }
body.mps-site .ast-mobile-popup-drawer .ast-mobile-popup-inner { background: #fff; color: var(--mps-ink); max-width: none; width: 100%; }
body.mps-site .ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close { color: var(--mps-ink); background: none; border: 1.5px solid var(--mps-ink); width: 46px; height: 46px; border-radius: var(--mps-r); }
body.mps-site .ast-mobile-popup-drawer .ast-mobile-popup-content { padding: 8px var(--mps-gut) 40px; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu { border-top: 1px solid var(--mps-hair); background: none; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu .menu-item { border-bottom: 1px solid var(--mps-hair); border-top: 0; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link { min-height: 60px; display: flex; align-items: center; padding: 0; font: 700 1.6rem/1 var(--mps-f-d); color: var(--mps-ink); border: 0; background: none; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu .sub-menu { padding: 0 0 12px 16px; background: none; border: 0; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-item { border: 0; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-link { min-height: 48px; display: flex; align-items: center; padding: 0; font: 500 1.05rem/1.3 var(--mps-f-b); color: var(--mps-graphite); border: 0; background: none; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-link .ast-icon { display: none; }
body.mps-site .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link { color: var(--mps-red); }
body.mps-site .ast-mobile-popup-drawer .ast-menu-toggle { color: var(--mps-ink); background: none; border: 0; border-left: 1px solid var(--mps-hair); width: 56px; height: 60px; }

/* ======================================================================= footer: Astra Footer Builder
   Columns: Appearance → Widgets (Footer Widget 1–4; Spanish: Footer 1–4 (Español)); menus "Footer: auto repair" and
   "Footer: fleet & more". Customize → Footer Builder: Copyright, HTML 1 (phone action bar). */
body.mps-site .site-footer { background: var(--mps-char); color: #C9CFD5; padding-top: clamp(56px, 7vw, 88px); }
body.mps-site .site-footer :is(.site-primary-footer-wrap, .site-below-footer-wrap, .site-above-footer-wrap) { background: transparent; border: 0; padding: 0; }
body.mps-site .site-footer .ast-builder-grid-row-container { display: block; padding: 0; margin: 0; }
body.mps-site .site-footer .ast-builder-grid-row-container-inner { max-width: var(--mps-wrap); margin-inline: auto; padding-inline: var(--mps-gut); width: 100%; box-sizing: border-box; }
body.mps-site .site-footer .site-primary-footer-inner-wrap.ast-builder-grid-row { display: grid; grid-template-columns: 1fr; gap: 28px; padding-bottom: clamp(44px, 5vw, 64px); align-items: start; }
@media (min-width: 760px) { body.mps-site .site-footer .site-primary-footer-inner-wrap.ast-builder-grid-row { grid-template-columns: 1fr 1fr; } }
@media (min-width: 960px) { body.mps-site .site-footer .site-primary-footer-inner-wrap.ast-builder-grid-row { grid-template-columns: minmax(0, 4fr) repeat(2, minmax(0, 2fr)) minmax(0, 3fr); gap: clamp(28px, 4vw, 56px); } }
body.mps-site .site-footer .site-footer-section { display: block; margin: 0; padding: 0; }
body.mps-site .site-footer .footer-widget-area, body.mps-site .site-footer .widget { margin: 0; padding: 0; }
body.mps-site .site-footer a { text-decoration: none; color: #E3E7EB; }
body.mps-site .site-footer a:hover { color: #fff; text-decoration: underline; }
body.mps-site .site-footer .widget-title { display: block; margin: 0 0 16px; font: 500 .72rem/1.4 var(--mps-f-m); letter-spacing: .08em; text-transform: uppercase; color: var(--mps-red-l); }
body.mps-site .site-footer .widget ul { list-style: none; margin: 0; padding: 0; }
body.mps-site .site-footer .widget li { margin: 0; }
body.mps-site .site-footer .widget_nav_menu a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; }
body.mps-site .fbrand__logo { width: 220px; height: auto; margin-bottom: 20px; }
body.mps-site .fbrand p { font-size: .98rem; max-width: 380px; margin: 0 0 12px; }
body.mps-site .fbrand__tag { color: var(--mps-mute-d) !important; margin-top: 14px !important; font: 500 .75rem/1.4 var(--mps-f-m); letter-spacing: .08em; text-transform: uppercase; }
body.mps-site .fcontact p { font-size: .95rem; margin: 0 0 12px; }
body.mps-site .fcontact__tel { display: inline-flex; align-items: center; min-height: 44px; font: 700 1.9rem/1 var(--mps-f-d); color: #fff !important; }
body.mps-site .fcontact__mail { display: flex; align-items: center; min-height: 44px; margin-bottom: 6px; word-break: break-all; }
body.mps-site .fhours { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 14px 0 12px; font-size: .95rem; }
body.mps-site .fhours dt { color: var(--mps-mute-d) !important; font-weight: 400; }
body.mps-site .fhours dd { margin: 0; color: #fff; font-weight: 400; }
body.mps-site .fcontact__ig { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #fff !important; }
body.mps-site .site-footer .site-below-footer-inner-wrap.ast-builder-grid-row { display: block; }
body.mps-site .site-footer .site-below-footer-wrap .ast-builder-grid-row-container-inner { border-top: 1px solid var(--mps-hair-d); }
body.mps-site .site-footer .site-below-footer-wrap :is(.ast-builder-layout-element, .footer-widget-area, .ast-builder-html-element, .ast-footer-copyright) { display: block; text-align: left; margin: 0; padding: 0; }
body.mps-site .site-footer .ast-footer-copyright, body.mps-site .site-footer .ast-footer-copyright p { color: var(--mps-mute-d); text-align: left; }
body.mps-site .fbase { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding: 20px 0 24px; font-size: .85rem; }
body.mps-site .fbase p { margin: 0; }
body.mps-site .fbase__links { display: flex; align-items: center; gap: 18px; }
body.mps-site .fbase__links > a { min-height: 44px; display: inline-flex; align-items: center; }
body.mps-site .site-footer .lang a { color: var(--mps-mute-d); }
body.mps-site .site-footer .lang a[aria-current] { color: #fff; }
body.mps-site .fbase__credit { flex-basis: 100%; }
@media (max-width: 759px) { body.mps-site .fbase { flex-direction: column; align-items: flex-start; } }
/* phone action bar (footer HTML 1): Call + Book, or Call + Fleet request on the fleet pages */
body.mps-site .actbar__fleet { display: none !important; }
body.mps-site.pg-fleet .actbar__book { display: none !important; }
body.mps-site.pg-fleet .actbar__fleet { display: inline-flex !important; }
body.mps-site .actbar .btn::before { width: 19px !important; height: 19px !important; vertical-align: 0 !important; }
body.mps-site .site-footer .actbar a.btn--red { color: #fff; }
body.mps-site .site-footer .actbar a.btn--line { color: var(--mps-ink); }
body.mps-site .site-footer .actbar a:hover { text-decoration: none; }

/* ======================================================================= CSS icons in text (sizes per place) */
body.mps-site .idx__go.has-i::before { width: 18px; height: 18px; vertical-align: 0; }
body.mps-site :is(.chip, .rel).has-i::after, body.mps-site .chip.has-i::before { width: 20px; height: 20px; vertical-align: 0; }
body.mps-site .hero__info li.has-i::before { width: 18px; height: 18px; margin-top: 2px; background-color: var(--mps-red); }
body.mps-site .ccard__k.has-i::before { width: 18px; height: 18px; vertical-align: -3px; margin-right: 8px; }
body.mps-site .pd-hint.has-i::before { width: 20px; height: 20px; background-color: var(--mps-red); }

/* Elementor zeroes the margin of any <figure> inside a widget; the hero plate (HTML widget) keeps the design's gap */
body.mps-site .elementor-widget .plate { margin-top: clamp(26px, 3vw, 40px) !important; }

/* Astra gives tables a margin, outer border and cell padding; the design's tables (About spec sheet, Contact hours) have none */
body.mps-site :is(.spec, .hours) { margin: 0; border: 0; }
body.mps-site :is(.spec, .hours) :is(th, td) { border-left: 0; border-right: 0; border-top: 0; }
/* Editor: the services list's hover photo is shown as a still so it can be selected and replaced */
body.elementor-editor-active.mps-site .idx__peek { opacity: 1; position: relative; transform: none; width: 220px; margin-top: 16px; }

/* Astra colours every h1–h6; in the design headings take their section's colour (white on the dark sections) */
body.mps-site .elementor :is(h1, h2, h3, h4, h5, h6) { color: inherit; }

/* ---------- CSS icons (generated) ---------- */
.has-i::before, .has-i::after { flex: none; }
.has-i[class*="has-ib--"]::before, .has-i[class*="has-ia--"]::after { content: ""; display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -0.2em; background-color: currentColor; }
.has-i[class*="has-ib--"]::before { -webkit-mask: var(--mps-ib) center / contain no-repeat; mask: var(--mps-ib) center / contain no-repeat; }
.has-i[class*="has-ia--"]::after { -webkit-mask: var(--mps-ia) center / contain no-repeat; mask: var(--mps-ia) center / contain no-repeat; }
.has-ib--alert { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/alert.svg); } .has-ia--alert { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/alert.svg); }
.has-ib--arrow { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/arrow.svg); } .has-ia--arrow { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/arrow.svg); }
.has-ib--arrow-down { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/arrow-down.svg); } .has-ia--arrow-down { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/arrow-down.svg); }
.has-ib--bolt { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/bolt.svg); } .has-ia--bolt { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/bolt.svg); }
.has-ib--calendar { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/calendar.svg); } .has-ia--calendar { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/calendar.svg); }
.has-ib--check { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/check.svg); } .has-ia--check { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/check.svg); }
.has-ib--chev { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/chev.svg); } .has-ia--chev { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/chev.svg); }
.has-ib--clip { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/clip.svg); } .has-ia--clip { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/clip.svg); }
.has-ib--clock { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/clock.svg); } .has-ia--clock { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/clock.svg); }
.has-ib--close { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/close.svg); } .has-ia--close { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/close.svg); }
.has-ib--disc { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/disc.svg); } .has-ia--disc { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/disc.svg); }
.has-ib--dots { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/dots.svg); } .has-ia--dots { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/dots.svg); }
.has-ib--engine { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/engine.svg); } .has-ia--engine { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/engine.svg); }
.has-ib--gauge { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/gauge.svg); } .has-ia--gauge { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/gauge.svg); }
.has-ib--globe { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/globe.svg); } .has-ia--globe { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/globe.svg); }
.has-ib--info { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/info.svg); } .has-ia--info { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/info.svg); }
.has-ib--instagram { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/instagram.svg); } .has-ia--instagram { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/instagram.svg); }
.has-ib--key { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/key.svg); } .has-ia--key { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/key.svg); }
.has-ib--mail { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/mail.svg); } .has-ia--mail { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/mail.svg); }
.has-ib--pause { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/pause.svg); } .has-ia--pause { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/pause.svg); }
.has-ib--phone { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/phone.svg); } .has-ia--phone { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/phone.svg); }
.has-ib--pin { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/pin.svg); } .has-ia--pin { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/pin.svg); }
.has-ib--play { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/play.svg); } .has-ia--play { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/play.svg); }
.has-ib--plus { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/plus.svg); } .has-ia--plus { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/plus.svg); }
.has-ib--restart { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/restart.svg); } .has-ia--restart { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/restart.svg); }
.has-ib--shield { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/shield.svg); } .has-ia--shield { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/shield.svg); }
.has-ib--snow { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/snow.svg); } .has-ia--snow { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/snow.svg); }
.has-ib--temp { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/temp.svg); } .has-ia--temp { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/temp.svg); }
.has-ib--truck { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/truck.svg); } .has-ia--truck { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/truck.svg); }
.has-ib--wave { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/wave.svg); } .has-ia--wave { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/wave.svg); }
.has-ib--wrench { --mps-ib: url(/wp-content/themes/ipatzi/assets/icons/wrench.svg); } .has-ia--wrench { --mps-ia: url(/wp-content/themes/ipatzi/assets/icons/wrench.svg); }

/* ---------- Photo crop positions from the design (generated; image widgets drop inline styles) ---------- */
body.mps-site img[src*="/diag-scan-"] { object-position: 50% 50%; }
body.mps-site img[src*="/diag-engine-"] { object-position: 50% 45%; }
body.mps-site img[src*="/brakes-caliper-"] { object-position: 45% 50%; }
body.mps-site img[src*="/brakes-rotor-"] { object-position: 50% 50%; }
body.mps-site img[src*="/electrical-"] { object-position: 50% 45%; }
body.mps-site img[src*="/ac-vent-"] { object-position: 50% 50%; }
body.mps-site img[src*="/shop-lift-"] { object-position: 40% 50%; }
body.mps-site img[src*="/hands-ratchet-"] { object-position: 50% 50%; }
body.mps-site img[src*="/engine-detail-"] { object-position: 50% 50%; }
body.mps-site img[src*="/tools-tray-"] { object-position: 50% 50%; }
body.mps-site img[src*="/under-car-"] { object-position: 50% 40%; }
body.mps-site img[src*="/fleet-row-"] { object-position: 35% 55%; }
body.mps-site img[src*="/fleet-boxtruck-"] { object-position: 70% 100%; }
body.mps-site img[src*="/fleet-wheel-"] { object-position: 60% 50%; }
body.mps-site img[src*="/fleet-engine-"] { object-position: 55% 45%; }
body.mps-site img[src*="/fleet-align-"] { object-position: 50% 50%; }
body.mps-site img[src*="/ventura-"] { object-position: 50% 50%; }
body.mps-site img[src*="/jose-"] { object-position: 50% 30%; }
body.mps-site img[src*="/engine-hand-"] { object-position: 50% 50%; }
