/* Mango Hyundai static restore — small additions on top of the archived global CSS.
   The archived CSS assumed the Gatsby/React runtime; these rules make the same
   markup render correctly with site.js instead. */

/* slick centre mode: centred slide full size, neighbours scaled (as archived) */
.slick-slide.slick-center { opacity: 1; -webkit-transform: scale(1); transform: scale(1); }
.slick-slide { transition: opacity .4s ease, transform .4s ease; }
.slick-slider { position: relative; }
.slick-list { overflow: hidden; }
.slick-track { display: flex; }
.slick-slide { float: none; flex: 0 0 auto; }
.slick-slide a { display: block; }
.slick-slide[aria-hidden="true"] a { pointer-events: auto; }
.slick-prev, .slick-next { background: transparent; }
.prev-slick-arrow img, .next-slick-arrow img { width: 20px; height: 20px; }

/* hero: the archived wrapper only carries the desktop (1860x720) aspect ratio;
   give the portrait mobile banner (1400x1883) its own ratio below 768px */
@media screen and (max-width: 767px) {
  .homebanner .gatsby-image-wrapper > div[aria-hidden="true"] { padding-bottom: 134.5% !important; }
}

/* mobile footer sits over the page bottom; leave room for it */
@media screen and (max-width: 768px) { body { padding-bottom: 70px; } }

/* form validation state */
.driveform .is-invalid { border-color: #d41313; }

/* toast (replaces react-toastify) */
#mh-toast {
  position: fixed; left: 50%; bottom: 90px; z-index: 12000; max-width: 92vw; width: 420px;
  transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: #023469; color: #fff; padding: 14px 18px; border-radius: 6px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .25); font-size: 14px; line-height: 1.45;
  transition: opacity .25s ease, transform .25s ease;
}
#mh-toast.err { background: #b02a37; }
#mh-toast.show { opacity: 1; transform: translate(-50%, 0); }
@media screen and (min-width: 769px) { #mh-toast { bottom: 40px; } }

/* modal backdrop (bootstrap markup, no bootstrap js) */
.modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1050; width: 100vw; height: 100vh; background: #000; opacity: .5; }
.modal.show { display: block; }
.modal.fade.show { opacity: 1; }

/* @fortawesome/react-fontawesome inlined <svg> icons: the svg-core CSS was injected
   by its JS at runtime and is therefore absent from the archived CSS */
.svg-inline--fa { display: inline-block; height: 1em; overflow: visible; vertical-align: -.125em; font-size: inherit; }
.svg-inline--fa.fa-w-12 { width: .75em; }
.svg-inline--fa.fa-w-15 { width: .9375em; }
.svg-inline--fa.fa-w-16 { width: 1em; }
.mobFooter .mobFooterBtn .svg-inline--fa { font-size: 20px; color: #fff; }

/* ===================== multipage layer (nav menu, page band, content blocks) ===================== */
:root { --mh-blue: #023469; --mh-blue2: #224870; --mh-grey: #f2f2f2; }

/* navbar menu: desktop inline between the brand and the dealer name/phone */
.navbar .container-fluid.mobileViewContainer { position: relative; }
.mh-menu { list-style: none; margin: 0 auto; padding: 0; display: flex; gap: 4px; align-items: center; }
.mh-menu li a { display: block; padding: 8px 12px; color: var(--mh-blue); text-decoration: none; font-size: 15px; border-radius: 4px; font-family: HyundaiMedium, HyundaiRegular, sans-serif; white-space: nowrap; }
.mh-menu li a:hover, .mh-menu li a[aria-current="page"] { background: var(--mh-blue); color: #fff; }
.mh-nav-toggle { display: none; }
@media screen and (max-width: 991px) {
  .mh-menu li a { padding: 8px 8px; font-size: 14px; }
}
@media screen and (max-width: 768px) {
  .mh-nav-toggle { display: block; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; background: transparent; padding: 9px; z-index: 5; cursor: pointer; }
  .mh-nav-toggle span { display: block; height: 3px; margin: 5px 0; background: var(--mh-blue); border-radius: 2px; transition: transform .2s, opacity .2s; }
  .mh-nav-toggle.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .mh-nav-toggle.open span:nth-child(2) { opacity: 0; }
  .mh-nav-toggle.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .mobileViewContainer .navbar-brand .mobileDealerName { margin-right: 44px; }
  .mh-menu { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; flex-direction: column; gap: 0; box-shadow: 0 8px 18px rgba(0,0,0,.15); z-index: 1040; padding: 6px 0; }
  .mh-menu.open { display: flex; }
  .mh-menu li a { padding: 12px 20px; border-radius: 0; font-size: 16px; }
}

/* page title band (replaces the hero on content pages) */
.mh-band { background: linear-gradient(135deg, var(--mh-blue) 0%, var(--mh-blue2) 100%); color: #fff; padding: 44px 0 36px; margin-top: 80px; margin-bottom: 8px; }
.mh-band h1 { color: #fff; margin: 0 0 6px; font-size: 2.1rem; }
.mh-band p { margin: 0; opacity: .9; font-size: 1.05rem; }
@media screen and (max-width: 768px) { .mh-band { margin-top: 0; padding: 28px 0 24px; } .mh-band h1 { font-size: 1.6rem; } }

/* generic content blocks */
.mh-section { padding: 28px 15px 8px; }
.mh-section h2 { font-family: HyundaiMedium, sans-serif; color: var(--mh-blue); }
.mh-lead { font-size: 1.08rem; color: #333; max-width: 860px; margin-left: auto; margin-right: auto; }
.mh-block { margin-bottom: 28px; }
.mh-block p, .mh-prose p { line-height: 1.65; }
.mh-list { padding-left: 1.2rem; line-height: 1.7; }
.mh-list li { margin-bottom: 4px; }
.mh-section .nav-pills .nav-link.active { background: var(--mh-blue2); color: #fff; font-family: HyundaiMedium, sans-serif; }
.mh-section .hr-line { margin-bottom: 14px !important; }
.mh-note { font-size: .85rem; color: #666; }
.mh-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 6px; }
.mh-cta .btn { padding: 10px 22px; }
.btn-outline { border: 1px solid var(--mh-blue2); color: var(--mh-blue2); background: #fff; }
.btn-outline:hover { background: var(--mh-blue2); color: #fff; }

/* home intro cards */
.mh-cards .mh-card { display: block; height: 100%; background: var(--mh-grey); border-radius: 8px; padding: 22px 20px; text-decoration: none; color: #212529; border: 1px solid #e6e6e6; transition: transform .15s, box-shadow .15s; }
.mh-cards .mh-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(2,52,105,.12); }
.mh-cards .mh-card h3 { font-family: HyundaiMedium, sans-serif; font-size: 1.15rem; color: var(--mh-blue); }
.mh-cards .mh-card p { margin-bottom: 8px; color: #444; }
.mh-cards .mh-card span { color: var(--mh-blue2); font-family: HyundaiMedium, sans-serif; }

/* model page */
.mh-model h1 { color: var(--mh-blue); margin-bottom: 2px; }
.mh-model h1 small { display: block; font-size: 1rem; color: #666; font-family: HyundaiRegular, sans-serif; margin-top: 4px; }
.mh-tagline { font-family: HyundaiMedium, sans-serif; font-size: 1.15rem; color: var(--mh-blue2); margin-bottom: 6px; }
.mh-table th { background: var(--mh-grey); font-family: HyundaiMedium, sans-serif; font-weight: 400; }
.mh-table tfoot td:first-child { font-family: HyundaiMedium, sans-serif; }

/* models grid */
.mh-grid .mh-model-card { display: block; height: 100%; text-align: center; text-decoration: none; color: #212529; background: #fff; border: 1px solid #e6e6e6; border-radius: 8px; padding: 14px 10px 16px; transition: transform .15s, box-shadow .15s; }
.mh-grid .mh-model-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(2,52,105,.12); }
.mh-grid .mh-model-img { display: block; aspect-ratio: 2 / 1; overflow: hidden; }
.mh-grid .mh-model-img img { width: 100%; height: 100%; object-fit: contain; }
.mh-grid b { display: block; margin-top: 8px; font-size: 1.05rem; color: var(--mh-blue); }
.mh-grid small { display: block; color: #666; }
.mh-grid .mh-more { display: block; margin-top: 6px; color: var(--mh-blue2); font-size: .9rem; }

/* contact */
.mh-map { position: relative; width: 100%; padding-bottom: 66%; border-radius: 8px; overflow: hidden; border: 1px solid #e6e6e6; }
.mh-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* book test drive steps */
.mh-steps .mh-step { background: var(--mh-grey); border-radius: 8px; padding: 16px 18px; height: 100%; }
.mh-steps .mh-step b { color: var(--mh-blue); }
.mh-steps .mh-step p { margin: 4px 0 0; color: #444; }

/* form: secondary email action */
.mh-alt-send { font-size: .85rem; color: #666; margin-top: 10px; }
.mh-alt-send a { color: var(--mh-blue2); }

/* footer links */
.mh-footer-links a { color: var(--mh-blue); text-decoration: none; margin: 0 4px; }
.mh-footer-links a:hover { text-decoration: underline; }
.mh-footer-links .mh-copy { font-size: .8rem; color: #666; margin: 10px 0 0; }
.mh-model .mh-lead { margin-left: 0; }
@media screen and (max-width: 768px) { .mh-menu li a { text-align: left; } }
