/* ============================================================
   ATB / WOLONG - Standalone Footer
   File: footer-standalone.css

   Purpose:
   - Styles ONLY the existing footer.php structure.
   - Does not require main.css / media.css / base-v3.0.min.css.
   - Uses only local/system fonts (no external font CDN).
   - Responsive desktop / tablet / mobile layout.

   Suggested load:
   <link href="/css/footer-standalone.css" rel="stylesheet">
   ============================================================ */

/* ------------------------------------------------------------
   Local footer variables
   ------------------------------------------------------------ */
.ys-footer {
    --atb-foot-bg: #171717;
    --atb-foot-bg-soft: #202020;
    --atb-foot-text: #ffffff;
    --atb-foot-muted: #a9a9a9;
    --atb-foot-muted-2: #777777;
    --atb-foot-line: rgba(255, 255, 255, 0.16);
    --atb-foot-red: #ed0039;
    --atb-foot-font: Arial, "Helvetica Neue", Helvetica, "Segoe UI", sans-serif;

    position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    background: var(--atb-foot-bg);
    color: var(--atb-foot-text);
    font-family: var(--atb-foot-font);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Footer-local reset */
.ys-footer *,
.ys-footer *::before,
.ys-footer *::after {
    box-sizing: border-box;
}

.ys-footer div,
.ys-footer p,
.ys-footer ul,
.ys-footer li,
.ys-footer a {
    font-family: inherit;
}

.ys-footer p,
.ys-footer ul {
    margin: 0;
}

.ys-footer ul {
    padding: 0;
    list-style: none;
}

.ys-footer a {
    color: inherit;
    text-decoration: none;
    transition: color .22s ease, opacity .22s ease, border-color .22s ease,
                background-color .22s ease, transform .22s ease;
}

.ys-footer img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ------------------------------------------------------------
   Decorative footer background
   Existing SVGs remain in use.
   ------------------------------------------------------------ */
.ys-footer .foot_bj {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: .82;
}

.ys-footer .foot_bj img {
    position: absolute;
    width: 115%;
    max-width: none;
    min-width: 1200px;
    left: -7%;
    bottom: -12%;
    opacity: .78;
}

.ys-footer .foot_bj img:nth-child(1) {
    z-index: 1;
    opacity: .30;
}

.ys-footer .foot_bj img:nth-child(2) {
    z-index: 2;
    opacity: .40;
}

.ys-footer .foot_bj img:nth-child(3) {
    z-index: 3;
    opacity: .52;
}

/* ------------------------------------------------------------
   Main 1600-ish container
   ------------------------------------------------------------ */
.ys-footer .foot-cont,
.ys-footer .ys-cont1600 {
    position: relative;
    z-index: 5;
    width: min(1600px, calc(100% - 80px));
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
   TOP CTA
   ============================================================ */
.ys-footer .foot-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    padding: 74px 0 62px;
    border-bottom: 1px solid var(--atb-foot-line);
}

.ys-footer .foot-top-title {
    max-width: 960px;
}

.ys-footer .foot-top .std-h1 {
    margin: 0 0 20px;
    max-width: 1000px;
    color: var(--atb-foot-text);
    font-family: var(--atb-foot-font);
    font-size: clamp(32px, 2.7vw, 48px);
    font-weight: 400;
    line-height: 1.10;
    letter-spacing: -0.025em;
}

.ys-footer .foot-top-title > .std-text2 {
    max-width: 700px;
    color: rgba(255, 255, 255, .70);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: .005em;
}

.ys-footer .foot-top-btn {
    flex: 0 0 auto;
    padding-bottom: 4px;
}

/* Contact button */
.ys-footer .mod-btn {
    display: inline-flex;
}

.ys-footer .mod-btn-cont {
    min-width: 174px;
    height: 54px;
    padding: 0 20px 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border: 1px solid rgba(255, 255, 255, .50);
    border-radius: 0;
    color: #fff;
    background: transparent;
}

.ys-footer .mod-btn-cont:hover {
    color: #fff;
    border-color: var(--atb-foot-red);
    background: var(--atb-foot-red);
}

.ys-footer .mod-btn-cont .std-text2 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}

.ys-footer .ys-imgbox-contain {
    position: relative;
    width: 22px;
    height: 15px;
    flex: 0 0 22px;
}

.ys-footer .ys-imgbox-contain img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    max-width: 22px;
    transform: translate(-50%, -50%);
}

.ys-footer .ys-imgbox-contain img:nth-child(2) {
    opacity: 0;
}

.ys-footer .mod-btn-cont:hover .ys-imgbox-contain img:nth-child(1) {
    opacity: 0;
}

.ys-footer .mod-btn-cont:hover .ys-imgbox-contain img:nth-child(2) {
    opacity: 1;
}

/* ============================================================
   MIDDLE - LOGO + NAVIGATION
   ============================================================ */
.ys-footer .foot-mid {
    display: grid;
    grid-template-columns: minmax(170px, 240px) 1fr;
    column-gap: clamp(60px, 7vw, 140px);
    padding: 56px 0 58px;
    border-bottom: 1px solid var(--atb-foot-line);
}

.ys-footer .foot-mid-left {
    min-width: 0;
}

.ys-footer .foot-mid-logo {
    width: 136px;
    max-width: 100%;
}

.ys-footer .foot-mid-logo a {
    display: block;
}

.ys-footer .foot-mid-logo img {
    width: 136px;
}

/* First navigation level = footer column titles */
.ys-footer .foot-mid-center > ul {
    display: grid;
    grid-template-columns:
        minmax(120px, .85fr)
        minmax(230px, 1.55fr)
        minmax(170px, 1.15fr)
        minmax(120px, .75fr);
    gap: clamp(30px, 4vw, 80px);
    align-items: start;
}

.ys-footer .foot-mid-center > ul > li {
    min-width: 0;
}

/* Level 1 */
.ys-footer .foot-mid-center > ul > li > a {
    display: block;
    width: fit-content;
    margin: 0 0 21px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.30;
    letter-spacing: -.01em;
}

.ys-footer .foot-mid-center > ul > li > a:hover {
    color: var(--atb-foot-red);
}

/* Level 2 */
.ys-footer .foot-mid-center > ul > li > ul {
    display: block;
}

.ys-footer .foot-mid-center > ul > li > ul > li {
    margin: 0 0 10px;
}

.ys-footer .foot-mid-center > ul > li > ul > li:last-child {
    margin-bottom: 0;
}

.ys-footer .foot-mid-center > ul > li > ul > li > a {
    display: inline-block;
    color: var(--atb-foot-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.42;
}

.ys-footer .foot-mid-center > ul > li > ul > li > a:hover {
    color: #fff;
}

/* Last column in current footer.php has NEWS and Contact us as siblings */
.ys-footer .foot-mid-center > ul > li:last-child > a {
    margin-bottom: 18px;
}

/* ============================================================
   FAMILY OF BRANDS
   ============================================================ */
.ys-footer .foot-fs {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 30px 0;
    border-bottom: 1px solid var(--atb-foot-line);
}

.ys-footer .foot-fs-left {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 28px;
}

.ys-footer .foot-fs-left > p {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
}

.ys-footer .foot-fs-left > ul {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(16px, 2vw, 34px);
    min-width: 0;
}

.ys-footer .foot-fs-left > ul > li {
    flex: 1 1 0;
    min-width: 50px;
    max-width: 112px;
}

.ys-footer .foot-fs-left > ul > li > a {
    display: flex;
    height: 46px;
    align-items: center;
    justify-content: center;
    opacity: .74;
}

.ys-footer .foot-fs-left > ul > li > a:hover {
    opacity: 1;
}

.ys-footer .ys-imgbox-cover {
    position: relative;
    width: 100%;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* The first image in the current markup is a helper image.
   Keep the actual brand image (second image) visible. */
.ys-footer .ys-imgbox-cover img:first-child {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ys-footer .ys-imgbox-cover img:last-child {
    position: relative;
    max-width: 100%;
    max-height: 34px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .82;
}

.ys-footer .foot-fs-left > ul > li > a:hover .ys-imgbox-cover img:last-child {
    filter: grayscale(0%);
    opacity: 1;
}

/* Back-to-top inside footer */
.ys-footer .foot-fs-back {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .30);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
}

.ys-footer .foot-fs-back:hover {
    background: var(--atb-foot-red);
    border-color: var(--atb-foot-red);
}

.ys-footer .foot-fs-back img {
    width: 15px;
    height: 15px;
}

/* ============================================================
   BOTTOM ROW
   ============================================================ */
.ys-footer .foot-bot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 40px;
    min-height: 82px;
    padding: 22px 0 28px;
}

.ys-footer .foot-bot-left > ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 20px;
}

.ys-footer .foot-bot-left li {
    display: inline-flex;
    align-items: center;
}

.ys-footer .foot-bot-left p,
.ys-footer .foot-bot-left a,
.ys-footer .foot-bot-right a,
.ys-footer .foot-bot-right p {
    color: var(--atb-foot-muted-2);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
}

.ys-footer .foot-bot-left p {
    color: var(--atb-foot-muted);
}

.ys-footer .foot-bot-left a:hover,
.ys-footer .foot-bot-right a:hover {
    color: #fff;
}

.ys-footer .foot-bot-right {
    text-align: right;
}

.ys-footer .foot-bot-right > ul {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 7px;
}

.ys-footer .foot-bot-right center {
    text-align: right;
}

/* ============================================================
   DUPLICATE BACK-TO-TOP ELEMENT AFTER </footer>
   This element is also present in the supplied footer.php.
   Keep it unobtrusive if it becomes visible.
   ============================================================ */
body > .foot-fs-back.is-soll {
    width: 44px;
    height: 44px;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 990;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #222;
    border: 1px solid rgba(255, 255, 255, .22);
    cursor: pointer;
}

body > .foot-fs-back.is-soll img {
    width: 15px;
    height: 15px;
}

/* ============================================================
   DOWNLOAD MODAL
   footer.php contains this block outside <footer>.
   These rules let it retain a usable appearance even when the
   original site CSS is not loaded.
   ============================================================ */
.down-window {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    overflow-y: auto;
    padding: 40px 20px;
    background: rgba(0, 0, 0, .72);
    font-family: Arial, "Helvetica Neue", Helvetica, "Segoe UI", sans-serif;
}

.down-window * {
    box-sizing: border-box;
}

.down-window-cont {
    position: relative;
    width: min(650px, 100%);
    margin: 4vh auto;
    padding: 40px;
    background: #fff;
    color: #222;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .28);
}

.down-window-title {
    padding-right: 45px;
    margin-bottom: 30px;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.2;
}

.down-window-form ul,
.down-window-form li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.down-window-form .ys-form-inof-item {
    margin-bottom: 20px;
}

.down-window-form .ys-fii-name {
    margin-bottom: 7px;
    color: #333;
    font-size: 13px;
}

.down-window-form .ys-fii-name span {
    margin-left: 3px;
    color: #ed0039;
}

.down-window-form .ys-fii-input input {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #d5d5d5;
    border-radius: 0;
    outline: none;
    background: #fff;
    color: #222;
    font: inherit;
}

.down-window-form .ys-fii-input input:focus {
    border-color: #777;
}

.down-window-form .ys-fii-tips {
    display: none;
    margin-top: 6px;
    color: #d6002f;
    font-size: 11px;
}

.down-window-form .ys-form-empty .ys-fii-tips {
    display: block;
}

.down-window-form .ys-fic-auth {
    display: grid;
    grid-template-columns: 1fr 120px;
    align-items: end;
    gap: 12px;
}

.down-window-form .ys-fic-auth-img img {
    width: 120px;
    height: 44px;
    object-fit: cover;
    border: 1px solid #ddd;
}

.down-window-form .ys-fia-text {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #666;
    font-size: 12px;
    line-height: 1.5;
}

.down-window-form .ys-fia-text-btn {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    border: 1px solid #aaa;
    cursor: pointer;
}

.down-window-form .ys-fia-text-btn img {
    width: 100%;
    height: 100%;
    opacity: 0;
}

.down-window-form .ys-form-inof-agree.on .ys-fia-text-btn {
    border-color: #ed0039;
    background: #ed0039;
}

.down-window-form .ys-form-inof-agree.on .ys-fia-text-btn img {
    opacity: 1;
}

.down-window-form .ys-fia-text-word a {
    color: #222;
    text-decoration: underline;
}

.down-window-form .ys-fii-submit {
    min-width: 130px;
    height: 44px;
    border: 0;
    padding: 0 26px;
    background: #ed0039;
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.down-window-form .ys-fii-submit:hover {
    background: #c90031;
}

.down-window-close {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 26px;
    height: 26px;
    cursor: pointer;
}

.down-window-close img {
    width: 100%;
    height: 100%;
}

/* ============================================================
   TABLET
   ============================================================ */
@media (max-width: 1199px) {
    .ys-footer .foot-cont,
    .ys-footer .ys-cont1600 {
        width: min(100% - 48px, 1600px);
    }

    .ys-footer .foot-top {
        padding: 58px 0 50px;
        gap: 35px;
    }

    .ys-footer .foot-mid {
        grid-template-columns: 150px 1fr;
        column-gap: 50px;
    }

    .ys-footer .foot-mid-center > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 38px 55px;
    }

    .ys-footer .foot-fs-left {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .ys-footer .foot-fs-left > ul {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .ys-footer .foot-fs-left > ul > li {
        flex: 0 1 90px;
        width: 90px;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 767px) {
    .ys-footer {
        font-size: 14px;
    }

    .ys-footer .foot-cont,
    .ys-footer .ys-cont1600 {
        width: calc(100% - 36px);
    }

    .ys-footer .foot_bj img {
        min-width: 800px;
        left: -45%;
    }

    .ys-footer .foot-top {
        display: block;
        padding: 44px 0 40px;
    }

    .ys-footer .foot-top .std-h1 {
        margin-bottom: 17px;
        font-size: clamp(28px, 8.5vw, 38px);
        line-height: 1.12;
    }

    .ys-footer .foot-top-title > .std-text2 {
        font-size: 14px;
        line-height: 1.58;
    }

    .ys-footer .foot-top-btn {
        margin-top: 28px;
        padding-bottom: 0;
    }

    .ys-footer .mod-btn-cont {
        min-width: 160px;
        height: 48px;
    }

    .ys-footer .foot-mid {
        display: block;
        padding: 38px 0 42px;
    }

    .ys-footer .foot-mid-logo {
        width: 120px;
        margin-bottom: 35px;
    }

    .ys-footer .foot-mid-logo img {
        width: 120px;
    }

    .ys-footer .foot-mid-center > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 26px;
    }

    .ys-footer .foot-mid-center > ul > li > a {
        margin-bottom: 15px;
        font-size: 14px;
    }

    .ys-footer .foot-mid-center > ul > li > ul > li {
        margin-bottom: 8px;
    }

    .ys-footer .foot-mid-center > ul > li > ul > li > a {
        font-size: 12px;
        line-height: 1.38;
    }

    .ys-footer .foot-fs {
        align-items: flex-end;
        padding: 26px 0;
    }

    .ys-footer .foot-fs-left > p {
        white-space: normal;
    }

    .ys-footer .foot-fs-left > ul {
        gap: 12px 20px;
    }

    .ys-footer .foot-fs-left > ul > li {
        flex: 0 0 calc(33.333% - 14px);
        max-width: calc(33.333% - 14px);
    }

    .ys-footer .foot-bot {
        display: block;
        padding: 24px 0 30px;
    }

    .ys-footer .foot-bot-left > ul {
        gap: 7px 14px;
    }

    .ys-footer .foot-bot-right {
        margin-top: 20px;
        text-align: left;
    }

    .ys-footer .foot-bot-right > ul {
        justify-content: flex-start;
    }

    .ys-footer .foot-bot-right center {
        text-align: left;
    }

    .down-window {
        padding: 20px 12px;
    }

    .down-window-cont {
        margin: 1vh auto;
        padding: 30px 20px;
    }

    .down-window-title {
        font-size: 21px;
    }

    .down-window-form .ys-fic-auth {
        grid-template-columns: 1fr 100px;
    }

    .down-window-form .ys-fic-auth-img img {
        width: 100px;
    }
}

@media (max-width: 440px) {
    .ys-footer .foot-mid-center > ul {
        grid-template-columns: 1fr;
    }

    .ys-footer .foot-fs-left > ul > li {
        flex-basis: calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}
