/* Chery Ecuador Theme — Main Stylesheet */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HTML elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

body {
  font-family: "Poppins", sans-serif;
}

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

body {
  line-height: 1.4;
  overflow-wrap: break-word;
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this. */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  font-size: 1rem;
  margin: 0 0 1.4rem;
}

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}
button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

button:disabled,
.button:disabled,
.hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
/* Fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

fieldset.form-columns-2 .hs-form-field:not(input[type=radio], input[type=checkbox]), fieldset.form-columns-1 .hs-input:not(input[type=radio], input[type=checkbox]) {
  width: 100% !important;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.7rem;
  width: 100%;
}

form textarea {
  resize: vertical;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* ==========================================================================
   Header — Chery Theme (matches Figma "Header - TopNavBar", node 204:2602 / 204:2551)
   ========================================================================== */

.chery-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  box-shadow: 0 40px 40px 0 rgba(27, 28, 28, 0.04);
}

.chery-header__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 16px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo */

.chery-header__logo {
  flex-shrink: 0;
}

.chery-header__logo a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.chery-header__logo img {
  height: 30px;
  width: auto;
}

/* Nav */

.chery-header__nav {
  display: flex;
  align-items: center;
}

.chery-header__nav-list {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.chery-header__nav-item {
  position: relative;
}

.chery-header__nav-link {
  display: inline-block;
  padding-bottom: 6px;
  border-bottom: 2px solid transparent;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.35px;
  color: #000000;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease, border-color 0.2s ease;
}

/* Mobile toggle */

.chery-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  z-index: 1001;
}

.chery-header__toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #1b1c1c;
  transition: all 0.3s ease;
  transform-origin: center;
}

.chery-header__toggle.is-open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.chery-header__toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.chery-header__toggle.is-open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* Modelos mega menu (rich) */

.chery-header__mega {
  position: absolute;
  top: calc(100% + 22px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: 1152px;
  max-width: calc(100vw - 64px);
  background-color: #ffffff;
  border-top: 1px solid #e4e2e1;
  box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 20;
}

/* Invisible bridge covering the 22px gap above the panel, so moving the
   mouse from the nav link down into the panel never leaves the hoverable
   area (which would otherwise close the menu before it can be reached). */
.chery-header__mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -22px;
  height: 22px;
}

.chery-header__nav-item--has-menu.is-open .chery-header__mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-30%) translateY(0);
}

.chery-header__mega-inner {
  display: flex;
  align-items: stretch;
}

.chery-header__mega-sidebar {
  flex-shrink: 0;
  width: 288px;
  border-right: 1px solid #e4e2e1;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
}

.chery-header__mega-tab {
  display: block;
  text-align: left;
  background: none;
  border: none;
  border-left: 4px solid transparent;
  padding: 16px 32px 16px 36px;
  font-size: 18px;
  letter-spacing: -0.45px;
  color: #4e453d;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.chery-header__mega-tab.is-active {
  font-weight: 700;
  color: #1b1c1c;
}

.chery-header__mega-tab:hover {
  background-color: #faf9f7;
  color: #4e453d;
}

.chery-header__mega-main {
  flex: 1;
  min-width: 0;
  padding: 40px;
}

/* Category panel: one per tab (SUVs, Sedanes, Camionetas, Nuevas Energías) */

.chery-header__mega-panel {
  display: none;
}

.chery-header__mega-panel.is-active {
  display: block;
}

.chery-header__mega-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

/* Categories with a single featured model instead of a 3-up grid */

.chery-header__mega-grid--single {
  grid-template-columns: minmax(0, 340px);
}

.chery-header__mega-card {
  display: flex;
  flex-direction: column;
  padding: 8px;
  border-radius: 8px;
  text-decoration: none;
  transition: box-shadow 0.2s ease;
}

.chery-header__mega-card--featured {
  background-color: #ffffff;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.chery-header__mega-media {
  display: block;
  aspect-ratio: 8 / 5;
  border-radius: 4px;
  overflow: hidden;
  background-color: #f0eded;
}

.chery-header__mega-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Fallback for models without a photo yet */

.chery-header__mega-media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f6f1ec;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #a4896c;
}

.chery-header__mega-title {
  display: block;
  margin-top: 16px;
  padding: 0 8px;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  color: #1b1c1c;
  opacity: 0.9;
}

.chery-header__mega-price {
  display: block;
  padding: 0 8px;
  font-weight: 500;
  font-size: 14px;
  color: #80756c;
}

.chery-header__mega-card--featured .chery-header__mega-price {
  color: #635e55;
}

.chery-header__mega-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  padding: 0 8px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1.4px;
}

.chery-header__mega-footer {
  border-top: 1px solid #e4e2e1;
  margin-top: 25px;
  padding-top: 25px;
  display: flex;
  justify-content: flex-end;
}

.chery-header__mega-footer-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1.4px;
  text-decoration: none;
}

/* Sobre Chery submenu (simple) */

.chery-header__submenu {
  position: absolute;
  top: calc(100% + 22px);
  right: 0;
  min-width: 220px;
  background-color: #ffffff;
  border-top: 1px solid #e4e2e1;
  box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 20;
}

/* Same invisible bridge as .chery-header__mega — see comment above. */
.chery-header__submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -22px;
  height: 22px;
}

.chery-header__nav-item--has-menu.is-open .chery-header__submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.chery-header__submenu-item {
  display: block;
  border-left: 4px solid transparent;
  padding: 16px 32px 16px 14px;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.chery-header__submenu-item:hover {
  background-color: #faf9f7;
}

.chery-header__submenu-item.is-active {
  border-left-width: 4px;
}

.chery-header__submenu-link {
  font-size: 14px;
  letter-spacing: -0.45px;
  color: #4e453d;
}

.chery-header__submenu-item.is-active .chery-header__submenu-link {
  font-weight: 700;
  color: #1b1c1c;
}

/* Mobile styles */

@media (max-width: 1024px) {
  .chery-header__toggle {
    display: flex;
  }

  .chery-header__nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 85%;
    max-width: 360px;
    height: 100vh;
    background-color: #ffffff;
    flex-direction: column;
    align-items: flex-start;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 88px 0 40px;
    transition: right 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 1000;
  }

  .chery-header__nav.is-open {
    right: 0;
  }

  .chery-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .chery-header__nav-item {
    width: 100%;
    border-bottom: 1px solid #e4e2e1;
  }

  .chery-header__nav-link {
    display: block;
    width: 100%;
    padding: 18px 28px;
    border-bottom: none;
  }

  .chery-header__mega,
  .chery-header__submenu {
    position: static;
    width: 100%;
    max-width: none;
    transform: none;
    box-shadow: none;
    border-top: none;
    background-color: #faf9f7;
    display: none;
  }

  /* The hover bridge only matters for the desktop mouseenter/mouseleave
     gap; on mobile the panel is static and opened by tap, not hover. */
  .chery-header__mega::before,
  .chery-header__submenu::before {
    content: none;
  }

  .chery-header__nav-item--has-menu.is-open .chery-header__mega,
  .chery-header__nav-item--has-menu.is-open .chery-header__submenu {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    /* Same specificity as the desktop open-state rule (which nudges the
       mega menu with translateX(-30%) so it doesn't clip past the left
       edge of a wide viewport) — without this reset it "wins" here too via
       specificity and shoves the panel sideways out of the mobile drawer,
       forcing an unwanted horizontal scroll to reach it. */
    transform: none;
  }

  .chery-header__mega-inner {
    flex-direction: column;
  }

  .chery-header__mega-sidebar {
    width: 100%;
    border-right: none;
    padding: 8px 0;
  }

  .chery-header__mega-main {
    padding: 8px 28px 24px;
  }

  .chery-header__mega-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .chery-header__mega-footer {
    justify-content: flex-start;
  }

  .chery-header__overlay {
    display: none;
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 999;
  }

  .chery-header__overlay.is-visible {
    display: block;
  }
}
/* ==========================================================================
   Footer — Chery Theme (matches Figma "Footer", node 204:2188)
   ========================================================================== */

.chery-footer {
  background-color: #343434;
}

.chery-footer__container {
  max-width: 1920px;
  margin: 0 auto;
}

/* Top */

.chery-footer__top {
  padding: 64px 48px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
}

.chery-footer__brand {
  flex-shrink: 0;
}

.chery-footer__logo {
  display: block;
  width: 170px;
  height: auto;
}

.chery-footer__about {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 320px;
}

.chery-footer__description {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.4);
}

.chery-footer__social {
  display: flex;
  gap: 16px;
}

.chery-footer__social-link img {
  display: block;
  width: 20px;
  height: 20px;
}

.chery-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 64px;
}

.chery-footer__column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chery-footer__heading {
  margin: 0;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.chery-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chery-footer__links a {
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.2s ease;
}

.chery-footer__links a:hover {
  color: #ffffff;
}

/* Bottom */

.chery-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 33px 48px 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.chery-footer__copyright {
  margin: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
}

.chery-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.chery-footer__legal a {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: color 0.2s ease;
}

.chery-footer__legal a:hover {
  color: #ffffff;
}

/* Responsive */

@media (max-width: 1024px) {
  .chery-footer__top {
    padding: 48px 32px;
  }

  .chery-footer__grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 32px 48px;
  }
}

@media (max-width: 640px) {
  .chery-footer__top {
    padding: 40px 24px;
    flex-direction: column;
  }

  .chery-footer__about {
    max-width: none;
  }

  .chery-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .chery-footer__bottom {
    padding: 24px 24px 32px;
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ==========================================================================
   Animations — Chery Theme
   ========================================================================== */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Utility animation classes */
.chery-animate {
  opacity: 0;
}

.chery-animate.is-visible {
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.chery-animate.is-visible.fade-in {
  animation-name: fadeIn;
}

.chery-animate.is-visible.fade-in-up {
  animation-name: fadeInUp;
}

.chery-animate.is-visible.fade-in-down {
  animation-name: fadeInDown;
}

.chery-animate.delay-1 { animation-delay: 0.1s; }
.chery-animate.delay-2 { animation-delay: 0.2s; }
.chery-animate.delay-3 { animation-delay: 0.3s; }

@media (prefers-reduced-motion: reduce) {
  .chery-animate,
  .chery-animate.is-visible {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}
/* ==========================================================================
   Floating Actions — Chery Theme
   ========================================================================== */

.floating-actions {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.floating-actions__button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background-color: #a4896c;
  color: #ffffff;
  border-radius: 99px;
  padding: 10px 16px 11px;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.44px;
  text-decoration: none;
  box-shadow: 0 4px 16px 0 rgba(164, 137, 108, 0.45);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.floating-actions__button:hover {
  background-color: #8a7059;
  transform: translateY(-2px);
}

.floating-actions__button img {
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .floating-actions {
    right: 16px;
    bottom: 16px;
    gap: 8px;
  }

  .floating-actions__button span {
    display: none;
  }

  .floating-actions__button {
    padding: 12px;
    border-radius: 50%;
  }
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}