/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

:root {
    /* colors */
    --background-color: white;
    --light-color: #f8f8f8;
    --dark-color: #505050;
    --text-color: #131313;
    --link-color: #3b63fb;
    --link-hover-color: #1d3ecf;
    --surface-subdued: #d7e6f3;
    --nline-surface-accent: #aacae6;

    /* primitive colors */
    --hyundai-blue: #002c5f;
    --hyundai-sand: #e4dcd3;
    --hyundai-light-sand: #f6f3f2;
    --sand-muted: #faf8f6;
    --progressive-blue: #00a2c7;
    --performance-blue: #aacae6;
    --performance-blue-light: #d7e6f3;
    --gold: #a36b4f;
    --active-red: #de3112;
    --brand-dark: #071a36;
    --brand-light: #edf4fa;
    --black: #000;
    --grey-10: #212020;
    --grey-20: #414140;
    --grey-30: #5d5d5c;
    --grey-40: #707070;
    --grey-50: #909090;
    --grey-60: #a8a8a7;
    --grey-70: #bfbebd;
    --grey-80: #dad9d8;
    --grey-90: #f5f5f5;
    --white: #fff;

    /* status */
    --red-20: #741116;
    --red-40: #e22c35;
    --red-60: #eb757b;
    --red-80: #fff1f1;
    --green-20: #145426;
    --greeen-40: #1e853b;
    --green-60: #7ed297;
    --green-80: #e3f6e8;
    --blue-20: #004d5f;
    --text-inverted: #fff;
    --surface-accent: #f6f3f2;
    --text-secondary: #5d5d5c;
    --text-primary: #000;

    /* Light Mode + None Background */
    --theme-light-none-bg: transparent;
    --theme-light-none-text: var(--text-primary);
    --theme-light-none-text-muted: var(--text-secondary);
    --theme-light-none-button-primary-bg: var(--hyundai-blue);
    --theme-light-none-button-primary-text: var(--white);
    --theme-light-none-button-secondary-bg: transparent;
    --theme-light-none-button-secondary-text: var(--hyundai-blue);
    --theme-light-none-button-secondary-border: var(--hyundai-blue);
    --theme-light-none-link-color: var(--hyundai-blue);

    /* Light Mode + Primary Background */
    --theme-light-primary-bg: var(--white);
    --theme-light-primary-text: var(--text-primary);
    --theme-light-primary-text-muted: var(--text-secondary);
    --theme-light-primary-button-primary-bg: var(--hyundai-blue);
    --theme-light-primary-button-primary-text: var(--white);
    --theme-light-primary-button-secondary-bg: transparent;
    --theme-light-primary-button-secondary-text: var(--hyundai-blue);
    --theme-light-primary-button-secondary-border: var(--hyundai-blue);
    --theme-light-primary-link-color: var(--hyundai-blue);

    /* Light Mode + Accent Background */
    --theme-light-accent-bg: var(--hyundai-sand);
    --theme-light-accent-text: var(--text-primary);
    --theme-light-accent-text-muted: var(--text-secondary);
    --theme-light-accent-button-primary-bg: var(--hyundai-blue);
    --theme-light-accent-button-primary-text: var(--white);
    --theme-light-accent-button-secondary-bg: transparent;
    --theme-light-accent-button-secondary-text: var(--hyundai-blue);
    --theme-light-accent-button-secondary-border: var(--hyundai-blue);
    --theme-light-accent-link-color: var(--hyundai-blue);

    /* Light Mode + Brand Background */
    --theme-light-brand-bg: var(--hyundai-sand);
    --theme-light-brand-text: var(--text-primary);
    --theme-light-brand-text-muted: var(--text-primary);
    --theme-light-brand-button-primary-bg: var(--hyundai-blue);
    --theme-light-brand-button-primary-text: var(--white);
    --theme-light-brand-button-secondary-bg: transparent;
    --theme-light-brand-button-secondary-text: var(--hyundai-blue);
    --theme-light-brand-button-secondary-border: var(--hyundai-blue);
    --theme-light-brand-link-color: var(--hyundai-blue);

    /* Light Mode + Subdued Background */
    --theme-light-subdued-bg: var(--hyundai-light-sand);
    --theme-light-subdued-text: var(--text-primary);
    --theme-light-subdued-text-muted: var(--text-secondary);
    --theme-light-subdued-button-primary-bg: var(--hyundai-blue);
    --theme-light-subdued-button-primary-text: var(--white);
    --theme-light-subdued-button-secondary-bg: transparent;
    --theme-light-subdued-button-secondary-text: var(--hyundai-blue);
    --theme-light-subdued-button-secondary-border: var(--hyundai-blue);
    --theme-light-subdued-link-color: var(--hyundai-blue);

    /* Dark Mode + None Background */
    --theme-dark-none-bg: transparent;
    --theme-dark-none-text: var(--text-primary);
    --theme-dark-none-text-muted: var(--text-secondary);
    --theme-dark-none-button-primary-bg: var(--hyundai-blue);
    --theme-dark-none-button-primary-text: var(--white);
    --theme-dark-none-button-secondary-bg: transparent;
    --theme-dark-none-button-secondary-text: var(--hyundai-blue);
    --theme-dark-none-button-secondary-border: var(--hyundai-blue);
    --theme-dark-none-link-color: var(--hyundai-blue);

    /* Dark Mode + Primary Background */
    --theme-dark-primary-bg: var(--hyundai-blue);
    --theme-dark-primary-text: var(--white);
    --theme-dark-primary-text-muted: var(--text-secondary);
    --theme-dark-primary-button-primary-bg: var(--white);
    --theme-dark-primary-button-primary-text: var(--text-primary);
    --theme-dark-primary-button-secondary-bg: transparent;
    --theme-dark-primary-button-secondary-text: var(--white);
    --theme-dark-primary-button-secondary-border: var(--white);
    --theme-dark-primary-link-color: var(--white);

    /* Dark Mode + Accent Background */
    --theme-dark-accent-bg: var(--hyundai-blue);
    --theme-dark-accent-text: var(--white);
    --theme-dark-accent-text-muted: var(--text-secondary);
    --theme-dark-accent-button-primary-bg: var(--white);
    --theme-dark-accent-button-primary-text: var(--text-primary);
    --theme-dark-accent-button-secondary-bg: transparent;
    --theme-dark-accent-button-secondary-text: var(--white);
    --theme-dark-accent-button-secondary-border: var(--white);
    --theme-dark-accent-link-color: var(--white);

    /* Dark Mode + Brand Background */
    --theme-dark-brand-bg: var(--hyundai-blue);
    --theme-dark-brand-text: var(--white);
    --theme-dark-brand-text-muted: var(--white);
    --theme-dark-brand-button-primary-bg: var(--white);
    --theme-dark-brand-button-primary-text: var(--text-primary);
    --theme-dark-brand-button-secondary-bg: transparent;
    --theme-dark-brand-button-secondary-text: var(--white);
    --theme-dark-brand-button-secondary-border: var(--white);
    --theme-dark-brand-link-color: var(--white);

    /* Dark Mode + Subdued Background */
    --theme-dark-subdued-bg: var(--hyundai-blue);
    --theme-dark-subdued-text: var(--white);
    --theme-dark-subdued-text-muted: var(--white);
    --theme-dark-subdued-button-primary-bg: var(--white);
    --theme-dark-subdued-button-primary-text: var(--text-primary);
    --theme-dark-subdued-button-secondary-bg: transparent;
    --theme-dark-subdued-button-secondary-text: var(--white);
    --theme-dark-subdued-button-secondary-border: var(--white);
    --theme-dark-subdued-link-color: var(--white);

    /* N Line Mode + None Background */
    --theme-nline-none-bg: transparent;
    --theme-nline-none-text: var(--black);
    --theme-nline-none-text-muted: var(--black);
    --theme-nline-none-button-primary-bg: var(--active-red);
    --theme-nline-none-button-primary-text: var(--white);
    --theme-nline-none-button-secondary-bg: transparent;
    --theme-nline-none-button-secondary-text: var(--active-red);
    --theme-nline-none-button-secondary-border: var(--active-red);
    --theme-nline-none-link-color: var(--black);

    /* N Line Mode + Primary Background */
    --theme-nline-primary-bg: var(--white);
    --theme-nline-primary-text: var(--black);
    --theme-nline-primary-text-muted: var(--black);
    --theme-nline-primary-button-primary-bg: var(--active-red);
    --theme-nline-primary-button-primary-text: var(--white);
    --theme-nline-primary-button-secondary-bg: transparent;
    --theme-nline-primary-button-secondary-text: var(--active-red);
    --theme-nline-primary-button-secondary-border: var(--active-red);
    --theme-nline-primary-link-color: var(--black);

    /* N Line Mode + Accent Background */
    --theme-nline-accent-bg: var(--nline-surface-accent);
    --theme-nline-accent-text: var(--black);
    --theme-nline-accent-text-muted: var(--black);
    --theme-nline-accent-button-primary-bg: var(--active-red);
    --theme-nline-accent-button-primary-text: var(--white);
    --theme-nline-accent-button-secondary-bg: transparent;
    --theme-nline-accent-button-secondary-text: var(--active-red);
    --theme-nline-accent-button-secondary-border: var(--active-red);
    --theme-nline-accent-link-color:var(--black);

    /* N Line Mode + Brand Background */
    --theme-nline-brand-bg: var(--nline-surface-accent);
    --theme-nline-brand-text: var(--black);
    --theme-nline-brand-text-muted: var(--black);
    --theme-nline-brand-button-primary-bg: var(--active-red);
    --theme-nline-brand-button-primary-text: var(--white);
    --theme-nline-brand-button-secondary-bg: transparent;
    --theme-nline-brand-button-secondary-text: var(--active-red);
    --theme-nline-brand-button-secondary-border: var(--active-red);
    --theme-nline-brand-link-color: var(--black);

    /* N Line Mode + Subdued Background */
    --theme-nline-subdued-bg: var(--surface-subdued);
    --theme-nline-subdued-text: var(--black);
    --theme-nline-subdued-text-muted: var(--black);
    --theme-nline-subdued-button-primary-bg: var(--active-red);
    --theme-nline-subdued-button-primary-text: var(--white);
    --theme-nline-subdued-button-secondary-bg: transparent;
    --theme-nline-subdued-button-secondary-text: var(--active-red);
    --theme-nline-subdued-button-secondary-border: var(--active-red);
    --theme-nline-subdued-link-color: var(--black);

    /* Overlay theme for image backgrounds */
    --theme-overlay-bg: transparent;
    --theme-overlay-text: var(--white);
    --theme-overlay-text-muted: var(--grey-70);
    --theme-overlay-button-primary-bg: var(--white);
    --theme-overlay-button-primary-text: var(--hyundai-blue);
    --theme-overlay-button-secondary-bg: transparent;
    --theme-overlay-button-secondary-text: var(--white);
    --theme-overlay-button-secondary-border: var(--white);
    --theme-overlay-link-color: var(--white);

    /* Vertical Content Theme Variables */

    /* Light theme (default) */
    --vc-theme-light-hover-bg: #f2fbfd;
    --vc-theme-light-hover-border: var(--progressive-blue);
    --vc-theme-light-expanded-bg: var(--hyundai-light-sand);
    --vc-theme-light-active-border: var(--progressive-blue);

    /* Dark theme */

    /* --vc-theme-dark-hover-bg: rgba(0, 44, 95, 0.8);
    --vc-theme-dark-hover-border: var(--progressive-blue);
    --vc-theme-dark-expanded-bg: var(--hyundai-blue);
    --vc-theme-dark-active-border: var(--progressive-blue);
    --vc-theme-dark-text: var(--white); */

    --vc-theme-dark-hover-bg: #f2fbfd;
    --vc-theme-dark-hover-border: var(--progressive-blue);
    --vc-theme-dark-expanded-bg: var(--hyundai-light-sand);
    --vc-theme-dark-active-border: var(--progressive-blue);
    --vc-theme-dark-text: var(--black);

    /* N Line theme */
    --vc-theme-nline-hover-bg: var(--performance-blue-light);
    --vc-theme-nline-hover-border: var(--active-red);
    --vc-theme-nline-expanded-bg: var(--nline-surface-accent);
    --vc-theme-nline-active-border: var(--active-red);

    /* Light theme (default) */
    --gg-theme-light-bg: var(--white);
    --gg-theme-light-active-line: var(--progressive-blue);
    --gg-theme-light-arrow-border: var(--hyundai-blue);
    --gg-theme-light-arrow-border-disabled: var(--grey-50);

    /* Dark theme */

    /* --gg-theme-dark-bg: var(--black);
    --gg-theme-dark-active-line: var(--progressive-blue);
    --gg-theme-dark-arrow-border: var(--white);
    --gg-theme-dark-arrow-border-disabled: var(--black); */

    --gg-theme-dark-bg: var(--white);
    --gg-theme-dark-active-line: var(--progressive-blue);
    --gg-theme-dark-arrow-border: var(--hyundai-blue);
    --gg-theme-dark-arrow-border-disabled: var(--grey-50);

    /* Nline theme */
    --gg-theme-nline-bg: var(--white);
    --gg-theme-nline-active-line: var(--active-red);
    --gg-theme-nline-arrow-border: var(--active-red);
    --gg-theme-nline-arrow-border-disabled: var(--grey-50);

    /* Light theme (default) */
    --hcc-theme-light-bg: var(--hyundai-sand);
    --hcc-theme-light-card-bg: var(--white);
    --hcc-theme-light-card-content-bg: var(--hyundai-light-sand);
    --hcc-theme-light-text: var(--text-primary);
    --hcc-theme-light-text-muted: var(--text-secondary);
    --hcc-theme-light-button-primary-bg: var(--hyundai-blue);
    --hcc-theme-light-button-primary-text: var(--white);
    --hcc-theme-light-button-primary-border: var(--hyundai-blue);
    --hcc-theme-light-button-secondary-bg: var(--white);
    --hcc-theme-light-button-secondary-text: var(--hyundai-blue);
    --hcc-theme-light-button-secondary-border: var(--hyundai-blue);
    --hcc-theme-light-link-color: var(--hyundai-blue);
    --hcc-theme-light-legal-color: var(--hyundai-blue);
    --hcc-theme-light-arrow-color: var(--hyundai-blue);
    --hcc-theme-light-arrow-border: var(--hyundai-blue);
    --hcc-theme-light-arrow-disabled-border: var(--grey-50);
    --hcc-theme-light-arrow-disabled-color: var(--grey-70);
    --hcc-theme-light-dot-bg: var(--grey-30);
    --hcc-theme-light-dot-active-bg: var(--progressive-blue);
    --hcc-theme-light-modal-bg: var(--white);
    --hcc-theme-light-modal-text: var(--text-primary);
    --hcc-theme-light-modal-close: var(--hyundai-blue);
    --hcc-theme-light-gradient: linear-gradient(
        180deg,
        rgba(246 243 242 / 0%) 0%,
        #f6f3f2 63.95%
    );

    /* Dark theme */
    --hcc-theme-dark-bg: var(--black);
    --hcc-theme-dark-card-bg: var(--hyundai-blue);
    --hcc-theme-dark-card-content-bg: var(--hyundai-blue);
    --hcc-theme-dark-text: var(--white);
    --hcc-theme-dark-text-muted: var(--white);
    --hcc-theme-dark-button-primary-bg: var(--white);
    --hcc-theme-dark-button-primary-text: var(--hyundai-blue);
    --hcc-theme-dark-button-primary-border: var(--white);
    --hcc-theme-dark-button-secondary-bg: var(--hyundai-blue);
    --hcc-theme-dark-button-secondary-text: var(--white);
    --hcc-theme-dark-button-secondary-border: var(--white);
    --hcc-theme-dark-link-color: var(--white);
    --hcc-theme-dark-legal-color: var(--white);
    --hcc-theme-dark-arrow-color: var(--white);
    --hcc-theme-dark-arrow-border: var(--white);
    --hcc-theme-dark-arrow-disabled-border: var(--grey-50);
    --hcc-theme-dark-arrow-disabled-color: var(--grey-50);
    --hcc-theme-dark-dot-bg: var(--grey-50);
    --hcc-theme-dark-dot-active-bg: var(--white);
    --hcc-theme-dark-modal-bg: var(--hyundai-blue);
    --hcc-theme-dark-modal-text: var(--white);
    --hcc-theme-dark-modal-close: var(--white);
    --hcc-theme-dark-gradient: linear-gradient(
        180deg,
        rgba(0 44 95 / 0%) 0%,
        #002c5f 63.95%
    );

    /* N Line theme */
    --hcc-theme-nline-bg: var(--white);
    --hcc-theme-nline-card-bg: var(--white);
    --hcc-theme-nline-card-content-bg: var(--performance-blue-light);
    --hcc-theme-nline-text: var(--text-primary);
    --hcc-theme-nline-text-muted: var(--text-secondary);
    --hcc-theme-nline-button-primary-bg: var(--active-red);
    --hcc-theme-nline-button-primary-text: var(--white);
    --hcc-theme-nline-button-primary-border: var(--active-red);
    --hcc-theme-nline-button-secondary-bg: var(--white);
    --hcc-theme-nline-button-secondary-text: var(--active-red);
    --hcc-theme-nline-button-secondary-border: var(--active-red);
    --hcc-theme-nline-link-color: var(--active-red);
    --hcc-theme-nline-legal-color: var(--active-red);
    --hcc-theme-nline-arrow-color: var(--active-red);
    --hcc-theme-nline-arrow-border: var(--active-red);
    --hcc-theme-nline-arrow-disabled-border: var(--grey-50);
    --hcc-theme-nline-arrow-disabled-color: var(--grey-50);
    --hcc-theme-nline-dot-bg: var(--grey-30);
    --hcc-theme-nline-dot-active-bg: var(--active-red);
    --hcc-theme-nline-modal-bg: var(--white);
    --hcc-theme-nline-modal-text: var(--text-primary);
    --hcc-theme-nline-modal-close: var(--hyundai-blue);
    --hcc-theme-nline-gradient: linear-gradient(
        180deg,
        rgba(215 230 243 / 0%) 0%,
        #d7e6f3 63.95%
    );
}

/* Overlay theme for image backgrounds */
[data-theme="overlay"] {
    --theme-bg: var(--theme-overlay-bg);
    --theme-text: var(--theme-overlay-text);
    --theme-text-muted: var(--theme-overlay-text-muted);
    --theme-button-primary-bg: var(--theme-overlay-button-primary-bg);
    --theme-button-primary-text: var(--theme-overlay-button-primary-text);
    --theme-button-secondary-bg: var(--theme-overlay-button-secondary-bg);
    --theme-button-secondary-text: var(--theme-overlay-button-secondary-text);
    --theme-button-secondary-border: var(
        --theme-overlay-button-secondary-border
    );
    --theme-link-color: var(--theme-overlay-link-color);
}

/* Light Mode Themes */
[data-theme="light-primary"] {
    --theme-bg: var(--theme-light-primary-bg);
    --theme-text: var(--theme-light-primary-text);
    --theme-text-muted: var(--theme-light-primary-text-muted);
    --theme-button-primary-bg: var(--theme-light-primary-button-primary-bg);
    --theme-button-primary-text: var(--theme-light-primary-button-primary-text);
    --theme-button-secondary-bg: var(--theme-light-primary-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-light-primary-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-light-primary-button-secondary-border
    );
    --theme-link-color: var(--theme-light-primary-link-color);
}

[data-theme="light-accent"] {
    --theme-bg: var(--theme-light-accent-bg);
    --theme-text: var(--theme-light-accent-text);
    --theme-text-muted: var(--theme-light-accent-text-muted);
    --theme-button-primary-bg: var(--theme-light-accent-button-primary-bg);
    --theme-button-primary-text: var(--theme-light-accent-button-primary-text);
    --theme-button-secondary-bg: var(--theme-light-accent-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-light-accent-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-light-accent-button-secondary-border
    );
    --theme-link-color: var(--theme-light-accent-link-color);
}

[data-theme="light-brand"] {
    --theme-bg: var(--theme-light-brand-bg);
    --theme-text: var(--theme-light-brand-text);
    --theme-text-muted: var(--theme-light-brand-text-muted);
    --theme-button-primary-bg: var(--theme-light-brand-button-primary-bg);
    --theme-button-primary-text: var(--theme-light-brand-button-primary-text);
    --theme-button-secondary-bg: var(--theme-light-brand-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-light-brand-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-light-brand-button-secondary-border
    );
    --theme-link-color: var(--theme-light-brand-link-color);
}

[data-theme="light-subdued"] {
    --theme-bg: var(--theme-light-subdued-bg);
    --theme-text: var(--theme-light-subdued-text);
    --theme-text-muted: var(--theme-light-subdued-text-muted);
    --theme-button-primary-bg: var(--theme-light-subdued-button-primary-bg);
    --theme-button-primary-text: var(--theme-light-subdued-button-primary-text);
    --theme-button-secondary-bg: var(--theme-light-subdued-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-light-subdued-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-light-subdued-button-secondary-border
    );
    --theme-link-color: var(--theme-light-subdued-link-color);
}

[data-theme="light-none"] {
    --theme-bg: var(--theme-light-none-bg);
    --theme-text: var(--theme-light-none-text);
    --theme-text-muted: var(--theme-light-none-text-muted);
    --theme-button-primary-bg: var(--theme-light-none-button-primary-bg);
    --theme-button-primary-text: var(--theme-light-none-button-primary-text);
    --theme-button-secondary-bg: var(--theme-light-none-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-light-none-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-light-none-button-secondary-border
    );
    --theme-link-color: var(--theme-light-none-link-color);
}

/* Dark Mode Themes */
[data-theme="dark-primary"] {
    --theme-bg: var(--theme-dark-primary-bg);
    --theme-text: var(--theme-dark-primary-text);
    --theme-text-muted: var(--theme-dark-primary-text-muted);
    --theme-button-primary-bg: var(--theme-dark-primary-button-primary-bg);
    --theme-button-primary-text: var(--theme-dark-primary-button-primary-text);
    --theme-button-secondary-bg: var(--theme-dark-primary-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-dark-primary-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-dark-primary-button-secondary-border
    );
    --theme-link-color: var(--theme-dark-primary-link-color);
}

[data-theme="dark-accent"] {
    --theme-bg: var(--theme-dark-accent-bg);
    --theme-text: var(--theme-dark-accent-text);
    --theme-text-muted: var(--theme-dark-accent-text-muted);
    --theme-button-primary-bg: var(--theme-dark-accent-button-primary-bg);
    --theme-button-primary-text: var(--theme-dark-accent-button-primary-text);
    --theme-button-secondary-bg: var(--theme-dark-accent-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-dark-accent-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-dark-accent-button-secondary-border
    );
    --theme-link-color: var(--theme-dark-accent-link-color);
}

[data-theme="dark-brand"] {
    --theme-bg: var(--theme-dark-brand-bg);
    --theme-text: var(--theme-dark-brand-text);
    --theme-text-muted: var(--theme-dark-brand-text-muted);
    --theme-button-primary-bg: var(--theme-dark-brand-button-primary-bg);
    --theme-button-primary-text: var(--theme-dark-brand-button-primary-text);
    --theme-button-secondary-bg: var(--theme-dark-brand-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-dark-brand-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-dark-brand-button-secondary-border
    );
    --theme-link-color: var(--theme-dark-brand-link-color);
}

[data-theme="dark-subdued"] {
    --theme-bg: var(--theme-dark-subdued-bg);
    --theme-text: var(--theme-dark-subdued-text);
    --theme-text-muted: var(--theme-dark-subdued-text-muted);
    --theme-button-primary-bg: var(--theme-dark-subdued-button-primary-bg);
    --theme-button-primary-text: var(--theme-dark-subdued-button-primary-text);
    --theme-button-secondary-bg: var(--theme-dark-subdued-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-dark-subdued-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-dark-subdued-button-secondary-border
    );
    --theme-link-color: var(--theme-dark-subdued-link-color);
}

[data-theme="dark-none"] {
    --theme-bg: var(--theme-dark-none-bg);
    --theme-text: var(--theme-dark-none-text);
    --theme-text-muted: var(--theme-dark-none-text-muted);
    --theme-button-primary-bg: var(--theme-dark-none-button-primary-bg);
    --theme-button-primary-text: var(--theme-dark-none-button-primary-text);
    --theme-button-secondary-bg: var(--theme-dark-none-button-secondary-bg);
    --theme-button-secondary-text: var(--theme-dark-none-button-secondary-text);
    --theme-button-secondary-border: var(
        --theme-dark-none-button-secondary-border
    );
    --theme-link-color: var(--theme-dark-none-link-color);
}

/* N Line Mode Themes */
[data-theme="nline-primary"] {
    --theme-bg: var(--theme-nline-primary-bg);
    --theme-text: var(--theme-nline-primary-text);
    --theme-text-muted: var(--theme-nline-primary-text-muted);
    --theme-button-primary-bg: var(--theme-nline-primary-button-primary-bg);
    --theme-button-primary-text: var(--theme-nline-primary-button-primary-text);
    --theme-button-secondary-bg: var(--theme-nline-primary-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-nline-primary-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-nline-primary-button-secondary-border
    );
    --theme-link-color: var(--theme-nline-primary-link-color);
}

[data-theme="nline-accent"] {
    --theme-bg: var(--theme-nline-accent-bg);
    --theme-text: var(--theme-nline-accent-text);
    --theme-text-muted: var(--theme-nline-accent-text-muted);
    --theme-button-primary-bg: var(--theme-nline-accent-button-primary-bg);
    --theme-button-primary-text: var(--theme-nline-accent-button-primary-text);
    --theme-button-secondary-bg: var(--theme-nline-accent-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-nline-accent-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-nline-accent-button-secondary-border
    );
    --theme-link-color: var(--theme-nline-accent-link-color);
}

[data-theme="nline-brand"] {
    --theme-bg: var(--theme-nline-brand-bg);
    --theme-text: var(--theme-nline-brand-text);
    --theme-text-muted: var(--theme-nline-brand-text-muted);
    --theme-button-primary-bg: var(--theme-nline-brand-button-primary-bg);
    --theme-button-primary-text: var(--theme-nline-brand-button-primary-text);
    --theme-button-secondary-bg: var(--theme-nline-brand-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-nline-brand-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-nline-brand-button-secondary-border
    );
    --theme-link-color: var(--theme-nline-brand-link-color);
}

[data-theme="nline-subdued"] {
    --theme-bg: var(--theme-nline-subdued-bg);
    --theme-text: var(--theme-nline-subdued-text);
    --theme-text-muted: var(--theme-nline-subdued-text-muted);
    --theme-button-primary-bg: var(--theme-nline-subdued-button-primary-bg);
    --theme-button-primary-text: var(--theme-nline-subdued-button-primary-text);
    --theme-button-secondary-bg: var(--theme-nline-subdued-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-nline-subdued-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-nline-subdued-button-secondary-border
    );
    --theme-link-color: var(--theme-nline-subdued-link-color);
}

[data-theme="nline-none"] {
    --theme-bg: var(--theme-nline-none-bg);
    --theme-text: var(--theme-nline-none-text);
    --theme-text-muted: var(--theme-nline-none-text-muted);
    --theme-button-primary-bg: var(--theme-nline-none-button-primary-bg);
    --theme-button-primary-text: var(--theme-nline-none-button-primary-text);
    --theme-button-secondary-bg: var(--theme-nline-none-button-secondary-bg);
    --theme-button-secondary-text: var(
        --theme-nline-none-button-secondary-text
    );
    --theme-button-secondary-border: var(
        --theme-nline-none-button-secondary-border
    );
    --theme-link-color: var(--theme-nline-none-link-color);
}

/* Backward compatibility mappings */
[data-theme="primary"] {
    --theme-bg: var(--theme-light-primary-bg);
}

[data-theme="accent"] {
    --theme-bg: var(--theme-light-accent-bg);
}

[data-theme="brand"] {
    --theme-bg: var(--theme-light-brand-bg);
}

[data-theme="subdued"] {
    --theme-bg: var(--theme-light-subdued-bg);
}

[data-theme="none"] {
    --theme-bg: var(--theme-light-none-bg);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

*::before,
*::after {
    box-sizing: border-box;
}

body.no-scroll,
html.no-scroll {
    overflow: hidden;
    width: 100%;
    position: fixed;
}

html {
    font-family: sans-serif;
    text-size-adjust: 100%;
    width: 100%;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    appearance: button;
    cursor: pointer;
    border: 0;
    background: transparent;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

@media print {
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]::after {
        content: " (" attr(href) ")";
    }

    abbr[title]::after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    .navbar {
        display: none;
    }

    .btn > .caret,
    .dropup > .btn > .caret {
        border-top-color: #000 !important;
    }

    .label {
        border: 1px solid #000;
    }

    .table {
        border-collapse: collapse !important;
    }

    .table td,
    .table th {
        background-color: #fff !important;
    }

    .table-bordered th,
    .table-bordered td {
        border: 1px solid #ddd !important;
    }
}

/* colors */
.hyundai-blue {
    background-color: #002c5f;
}

.hyundai-sand {
    background-color: #e4dcd3;
}

.hyundai-light-sand {
    background-color: #f6f3f2;
}

.sand-muted {
    background-color: #faf8f6;
}

.progressive-blue {
    background-color: #00a2c7;
}

.performance-blue {
    background-color: #aacae6;
}

.gold {
    background-color: #a36b4f;
}

.active-red {
    background-color: #de3112;
}

.brand-dark {
    background-color: #071a36;
}

.brand-light {
    background-color: #edf4fa;
}

.black {
    background-color: #000;
}

.grey-10 {
    background-color: #212020;
}

.grey-20 {
    background-color: #414140;
}

.grey-30 {
    background-color: #5d5d5c;
}

.grey-40 {
    background-color: #707070;
}

.grey-50 {
    background-color: #909090;
}

.grey-60 {
    background-color: #a8a8a7;
}

.grey-70 {
    background-color: #bfbebd;
}

.grey-80 {
    background-color: #dad9d8;
}

.grey-90 {
    background-color: #f5f5f5;
}

.white {
    background-color: #fff;
}

.red-20 {
    background-color: #741116;
}

.red-40 {
    background-color: #e22c35;
}

.red-60 {
    background-color: #eb757b;
}

.red-80 {
    background-color: #fff1f1;
}

.green-20 {
    background-color: #145426;
}

.green-40 {
    background-color: #1e853b;
}

.green-60 {
    background-color: #7ed297;
}

.green-80 {
    background-color: #e3f6e8;
}

.blue-20 {
    background-color: #004d5f;
}

/*
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    margin: 0;
    padding: 0;
}

.header{
  padding: 32px 0;
}
  */

/* tooltip css */
.icon-info {
    position: relative;
    cursor: pointer;
    vertical-align: middle;
}

.tooltip {
    visibility: hidden;
    max-width: 264px;
    background-color: #002c5f;
    color: #fff;
    text-align: center;
    border-radius: 4px;
    padding: 8px;
    position: absolute;
    z-index: 6;
    bottom: 100%;
    left: 50%;
    box-shadow: 0 2px 7px rgb(0 0 0 / 15%);
    font-family: "HyundaiSansText-Regular";
    font-size: 12px;
    line-height: 133.3%;
    text-overflow: ellipsis;
    white-space: nowrap;
    transform: translateX(-53%) translateY(-11px);
}

.tooltip::after {
    content: "";
    position: absolute;
    top: 0; /* Position arrow at the top of the tooltip */
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #002c5f;
}

.icon-info:hover .tooltip {
    visibility: visible;
}

.tooltip-container {
    position: relative;
    display: inline-block;
}

.tooltip-box {
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #002c5f;
    color: white;
    border-radius: 6px;
    text-align: center;
    font-size: 12px;
    box-shadow: 0 4px 10px rgb(0 0 0 / 15%);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease;
    max-width: 250px;
    padding: 8px;
    font-family: "HyundaiSansText-Regular";
    text-overflow: ellipsis;
    font-style: normal;
    font-weight: 400;
    line-height: 133.333%;
    white-space: normal;
    width: 250px;
}

.tooltip-box::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 4px;
    border-style: solid;
    border-color: #002c5f transparent transparent;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 4px solid #002c5f;
}

.tooltip-container:hover .tooltip-box {
    visibility: visible;
    opacity: 1;
}

@media (max-width: 767px) {
    .tooltip {
        max-width: 160px;
    }

    .tooltip.left {
        transform: translateX(-114%) translateY(23px);
    }

    .tooltip.middle {
        transform: translateX(-53%) translateY(-11px);
    }
}

/* column controller styling */

.flex-right-column-70 + .flex-right-column-70 + .section {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.section.accordion-container.flex-right-column-70 {
    margin: unset;
}

.flex-left-column-30 {
    width: 301px;
}

.flex-right-column-70 {
    width: calc(100% - 325px);
    float: right;
    box-sizing: border-box;
    clear: right;
}

.flex-right-column-30 {
    width: 30%;
    float: right;
    padding: 64px 80px;
    box-sizing: border-box;
    clear: right;
}

.flex-right-column-70 + .flex-right-column-70,
.flex-right-column-30 + .flex-right-column-30 {
    margin-top: 20px;
}

.flex-right-column-70.section.accordion-container
    .flex-right-column-30.section.accordion-container {
    margin-top: 0;
    padding-top: 0;
    padding-left: 150px;
}

.flex-right-column-70.section.accordion-container
    .accordion-wrapper
    + div
    .block {
    padding-left: 16px;
    padding-right: 16px;
}

.flex-right-column-70.section.accordion-container
    .accordion-wrapper
    + div
    .block
    ul {
    padding-left: 20px;
}

/* GEBO-1622 Layout changes */

.flex-right-column-70 .topic-container.block {
    margin-top: 40px;
    margin-bottom: 24px;
}

.flex-right-column-70.section.accordion-container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

/* .faq-page .flex-right-column-70.section.accordion-container {
    padding-bottom: 64px;
} */

/* GEBO-2211 - two column layout */
.flex-column-50-50 {
    width: 100%;
    max-width: 1912px;
    margin: 0 auto;
    box-sizing: border-box;
    padding-left: 80px;
    padding-right: 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.flex-column-50-50 .media-and-text-wrapper {
    padding: 0;
}

.flex-column-50-50 .media-and-text-container.container {
    max-width: none;
    margin: 0;
    padding: 28px 0;
}

.flex-column-50-50 .media-and-text-container .media-section picture img,
.flex-column-50-50 .media-and-text-container .media-and-text-vwrapper iframe,
.flex-column-50-50 .media-and-text-container .mediaandtext--videowrapper-video {
    min-height: auto;
    height: auto;
    width: 100%;
}

.flex-column-50-50 .media-and-text-container .media-and-content-wrapper {
    padding: 0;
}

.flex-column-50-50 .media-and-text-container .heading {
    width: 100%;
    padding: 0 0 16px;
}

.flex-right-column-70 .container,
.flex-right-column-70 .text-block-wrapper {
    padding: 0;
    margin: 0;
}

.flex-right-column-70 .media-and-text-wrapper {
    padding: 0;
}

@media screen and (max-width: 1199px) {
    .flex-column-50-50 {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media screen and (max-width: 767px) {
    .flex-column-50-50 {
        padding-left: 16px;
        padding-right: 16px;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .flex-column-50-50
        .media-and-text-container
        .media-and-text-vwrapper
        iframe,
    .flex-column-50-50
        .media-and-text-container
        .mediaandtext--videowrapper-video {
        min-height: calc(627px * (9 / 16));
        height: auto;
        width: 100%;
    }
}

/* GEBO-1017 Design changes */
input,
textarea,
select {
    border: 1px solid #707070;
}

input:active,
textarea:active,
select:active {
    border: 1px solid #00a2c7;
}

input:hover,
input:active,
textarea:hover,
textarea:active,
select:hover,
select:active,
input:focus,
textarea:focus,
select:focus {
    border: 1px solid #00a2c7;
    outline: none;
}


input:focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible,
a:focus-visible {
    outline: 2px auto -webkit-focus-ring-color;
    outline-offset: 2px;
}

input.error,
textarea.error,
select.error {
    border: 1px solid #eb757b;
    background: #fff1f1;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

label {
    cursor: pointer;
}

.hide {
    display: none;
}

.relative-position {
    position: relative;
}

.relative-position .common-error-msg-container {
    position: absolute;
    top: 0;
}

.link-button,
.link-btn {
    background: none;
    border: none;
}

.year-item.active {
    border-bottom: 3px solid #00a2c7;
}

.max-screen {
    max-width: 1912px;
    margin: 0 auto;
}

input::placeholder {
    color: #909090;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    font-family: "HyundaiSansText-Regular";
}

.sm-icon,
.sm-icon::before {
    width: 16px;
    height: 16px;
    font-size: 16px;
}

.md-icon,
.md-icon::before {
    width: 24px;
    height: 24px;
    font-size: 24px;
}

.disabled-label {
    color: #909090;
}

.flex-right-column-70 .category-container-wrapper {
    margin-top: 80px;
}

.flex-right-column-70 .category-container-wrapper:first-of-type {
    margin-top: 0;
}

.faq-page .flex-right-column-70 .category-container-wrapper {
    margin-top: 64px;
}

.faq-page .flex-right-column-70 .category-container-wrapper:first-of-type {
    margin-top: 40px;
}

/* .flex-right-column-70 .category-container-wrapper:nth-child(1) {
    margin-top: 0;
} */

.flex-right-column-70 .sub-topic-wrapper .sub-topic-title {
    color: #707070;
    margin: 24px 0 8px;
}

.flex-right-column-70 .sub-topic-wrapper .sub-topic-title:first-child {
    margin: 0 0 8px;
}

.flex-right-column-70
    .text-block-wrapper
    + .sub-topic-heading-wrapper
    .sub-topic-wrapper
    .sub-topic-title:first-child {
    margin: 32px 0 8px;
}

.flex-right-column-70 .category-container-wrapper + .accordion-wrapper {
    margin-top: 24px;
}

/* column controller mobile and tablet specific style */
@media (max-width: 1199px) {
    .flex-left-column-30,
    .flex-left-column-70 {
        width: 100%;
        display: flex;
        padding: 0;
        left: 0;
        margin-left: 0;
        max-width: 100%;
    }

    .flex-right-column-70,
    .flex-right-column-30 {
        display: flex;
        width: max-content;
        flex-direction: column;
        align-items: flex-start;
    }

    .flex-right-column-70.section.accordion-container,
    .flex-right-column-30.section.accordion-container {
        /* margin: 55px 0 0; */
        width: 100%;
        padding: 0 40px 40px;
    }

    .faq-page .flex-right-column-70.section.accordion-container {
        padding: 40px;
    }

    .flex-right-column-70 .category-container-wrapper {
        margin-top: 40px;
    }

    .flex-right-column-70 .accordion-wrapper,
    .faq-page .flex-right-column-70 .category-text {
        padding: 0;
    }

    .flex-right-column-70 .category-container-wrapper:nth-child(1),
    .faq-page .flex-right-column-70 .category-container-wrapper:first-of-type {
        margin-top: 0;
    }

    .faq-page .flex-right-column-70 .category-container-wrapper {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        min-width: 688px;
        max-width: 1199px;
        margin-top: 56px;
    }

    .flex-right-column-70 .category-container-wrapper + .accordion-wrapper {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .flex-left-column-30,
    .flex-left-column-70 {
        width: 100%;
        display: flex;
        padding: 0;
        margin-left: 0;
        max-width: 100%;
    }

    .flex-right-column-70,
    .flex-right-column-30 {
        display: flex;
        width: 100%;
        padding: 32px 16px;
        float: none;
        flex-direction: column;
        align-items: flex-start;
    }

    .flex-right-column-30.section.accordion-container {
        padding: 32px 16px;
    }

    .flex-right-column-70 .topic-container.block {
        margin-top: 32px;
        margin-bottom: 16px;
    }

    .relative-position .common-error-msg-container {
        position: relative;
    }

    .flex-right-column-70 .accordion-wrapper,
    .faq-page .flex-right-column-70 .category-text {
        padding: 0;
    }

    .flex-right-column-70 .sub-topic-wrapper .sub-topic-title {
        margin: 16px 0 4px;
    }

    .flex-right-column-70 .sub-topic-wrapper .sub-topic-title:first-child {
        margin: 0 0 4px;
    }

    .flex-right-column-70
        .text-block-wrapper
        + .sub-topic-heading-wrapper
        .sub-topic-wrapper
        .sub-topic-title:first-child {
        margin: 24px 0 4px;
    }

    .flex-right-column-70.section.accordion-container
        .accordion-wrapper
        + div
        .block {
        padding-left: 12px;
        padding-right: 12px;
    }

    .faq-page .flex-right-column-70 .category-container-wrapper:first-of-type {
        margin-top: 0;
    }

    .flex-right-column-70 .category-container-wrapper {
        margin-top: 48px;
    }

    .faq-page .flex-right-column-70 .category-container-wrapper {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        min-width: 100%;
        max-width: 767px;
        margin-top: 56px;
    }

    .flex-right-column-70.section.accordion-container {
        padding: 0 16px 32px;
    }

    .faq-page .flex-right-column-70.section.accordion-container {
        padding: 32px 16px;
    }

    .flex-right-column-70 .category-container-wrapper + .accordion-wrapper {
        margin-top: 0;
    }
}

.sticky-container-wrapper {
    max-width: 1912px;
    margin: 0 auto;
}

@media (min-width: 1440px) {
    .flex-right-column-70 {
        width: calc(75% - 6px);
        max-width: 95%;
    }
}

@media (min-width: 1990px) {
    .flex-right-column-70 {
        width: calc(75% - 10px);
        max-width: 90%;
    }
}

.empty-header {
    .empty-header {
        height: 71px;
        width: 100%;
    }

    @media (min-width: 768px) and (max-width: 1023px) {
        .empty-header {
            height: 60px;
        }
    }

    @media (max-width: 767px) {
        .empty-header {
            height: 40px;
        }
    }

    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }
}

.common-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgb(0 44 95 / 50%);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 15;
    padding: 40px 32px;
    flex-direction: column;
    gap: 16px;
}

body.common-modal-open {
    position: fixed;
    overflow: hidden;
    width: 100%;
    height: 100%;
    inset: 0;
}

/* Content Box */
.common-modal-content {
    background: #fff;
    padding: 32px;
    max-width: 800px;
    max-height: 768px;
    overflow-y: auto;
    z-index: 16;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 16px 0 rgb(0 0 0 / 8%);
}

/* Close Button */
.common-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #002c5f;
    z-index: 17;
    align-self: flex-end;
    display: flex;
    position: relative;
    top: -16px;
    right: -16px;
}

/* Title */
.common-modal-title {
    color: #000;
    font-family: "HyundaiSansHead-Medium";
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 125%;
    margin-top: 4px;
    padding-right: 48px;
    word-break: break-word;
}

/* Description */
.common-modal-description {
    font-family: "HyundaiSansText-Regular";
    font-size: 16px;
    line-height: 125%;
    color: #000;
    font-style: normal;
    font-weight: 400;
    margin-top: 16px;
}

/* Loader */
.common-modal-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255 255 255 80%);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 14;
}

.common-modal-loader-spinner {
    width: 48px;
    height: 48px;
    border: 5px solid #ccc;
    border-top-color: #0072ce;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

video::-internal-media-controls-download-button {
    display: none;
}

video::-webkit-media-controls-enclosure {
    overflow: hidden;
}

@media (max-width: 1199px) and (min-width: 768px) {
    .common-modal-content {
        max-width: 608px;
        padding: 32px;
        max-height: 768px;
    }
}

/* CHANGE: Mobile bottom sheet styles */
@media (max-width: 767px) {
    .common-modal-overlay--mobile {
        padding: 0;
        align-items: flex-end;
        background: rgb(0 0 0 / 40%);
    }
    
    .common-modal-overlay--mobile .common-modal-content {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        max-width: 100%;
        width: 100%;
        max-height: 90vh;
        min-height: 300px;
        padding: 24px 16px 32px;
        margin: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    
    /* CHANGE: Adjust close button for mobile */
    .common-modal-overlay--mobile .common-modal-close {
        position: sticky;
        top: 0;
        align-self: flex-end;
        margin: -8px -8px 8px 0;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1;
    }
    
    /* CHANGE: Adjust title for mobile */
    .common-modal-overlay--mobile .common-modal-title {
        font-size: 24px;
        line-height: 120%;
        padding-right: 0;
        margin-top: 0;
    }
    
    /* CHANGE: Adjust description spacing */
    .common-modal-overlay--mobile .common-modal-description {
        margin-top: 12px;
        padding-bottom: env(safe-area-inset-bottom, 20px);
    }
}

@media (max-width: 1199px) and (min-width: 768px) {
    .common-modal-content {
        max-width: 608px;
        padding: 32px;
        max-height: 768px;
    }
}
