/* =========================================================
   ÉLAN — FOOTER
   ========================================================= */

.footer {
    position: relative;

    width: 100%;

    border-top: 1px solid var(--line);

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(203, 163, 106, .055),
            transparent 38%
        ),
        var(--bg);

    overflow: hidden;
}


/* =========================================================
   FOOTER MAIN
   ========================================================= */
.footer-main {
    max-width: var(--container);

    margin: 0 auto;

    padding: 80px 5% 65px;

    display: grid;

    grid-template-columns:
        1.5fr
        1fr
        1.1fr
        1fr
        1.2fr;

    gap: 50px;
}

/* =========================================================
   BRAND
   ========================================================= */

.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}


.footer-brand .logo-main {
    font-family: var(--serif);

    font-size: 30px;

    line-height: 1;

    color: var(--cream);

    letter-spacing: .12em;
}


.footer-brand > span {
    margin-top: 9px;

    color: var(--gold-light);

    font-size: 7px;

    font-weight: 600;

    letter-spacing: .28em;
}


.footer-brand p {
    margin: 28px 0 0;

    color: var(--muted);

    font-family: var(--serif);

    font-size: 15px;

    font-style: italic;

    line-height: 1.6;
}


/* =========================================================
   FOOTER COLUMNS
   ========================================================= */

.footer-column {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 13px;
}


.footer-column small {
    margin-bottom: 10px;

    color: var(--gold);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .25em;
}


.footer-column a,
.footer-column span,
.footer-column strong {
    color: var(--muted);

    font-size: 11px;

    font-weight: 400;

    line-height: 1.6;

    text-decoration: none;

    transition:
        color .3s ease,
        transform .3s ease;
}


.footer-column strong {
    color: var(--cream);

    font-weight: 600;
}


.footer-column a:hover {
    color: var(--gold-light);

    transform: translateX(3px);
}


/* =========================================================
   FOOTER BOTTOM
   ========================================================= */

.footer-bottom {
    max-width: var(--container);

    margin: 0 auto;

    padding:
        22px
        5%
        28px;

    border-top: 1px solid var(--line);

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}


.footer-bottom > span {
    color: var(--muted-2);

    font-size: 9px;

    letter-spacing: .04em;
}


.footer-bottom > div {
    display: flex;

    align-items: center;

    gap: 25px;
}


.footer-bottom a {
    color: var(--muted-2);

    font-size: 9px;

    text-decoration: none;

    transition:
        color .3s ease;
}


.footer-bottom a:hover {
    color: var(--gold-light);
}


/* =========================================================
   DECORATIVE LINE
   ========================================================= */

.footer::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 180px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--gold),
            transparent
        );

    transform: translateX(-50%);

    opacity: .7;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    .footer-main {
        grid-template-columns:
            1.4fr
            1fr
            1fr;

        gap: 50px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

}

/* =========================================================
   MOBILE FOOTER CAROUSEL
   ========================================================= */

@media (max-width: 650px) {

    .footer {
        overflow: hidden;
    }


    /* -----------------------------------------------------
       FOOTER MAIN
       ----------------------------------------------------- */

    .footer-main {
        display: block;

        width: 100%;

        max-width: none;

        margin: 0;

        padding:
            55px 0 35px;
    }


    /* -----------------------------------------------------
       BRAND
       ----------------------------------------------------- */

    .footer-brand {
        width:
            calc(100% - 50px);

        margin:
            0 auto 38px;

        display: flex;

        align-items: flex-start;

        text-align: left;
    }


    .footer-brand .logo-main {
        font-size: 30px;
    }


    .footer-brand > span {
        font-size: 7px;

        letter-spacing: .28em;
    }


    .footer-brand p {
        margin-top: 22px;

        font-size: 15px;
    }


    /* -----------------------------------------------------
       CAROUSEL
       ----------------------------------------------------- */

    .footer-mobile-carousel {
        position: relative;

        width: 100%;

        overflow: hidden;

        touch-action: pan-y;

        user-select: none;
    }


    /* -----------------------------------------------------
       TRACK
       ----------------------------------------------------- */

    .footer-mobile-track {

        display: flex;

        width: max-content;

        transform:
            translate3d(0,0,0);

        transition:
            transform
            .65s
            cubic-bezier(.22,.75,.18,1);

        will-change: transform;
    }


    /* -----------------------------------------------------
       FIECARE COLOANĂ
       ----------------------------------------------------- */

    .footer-mobile-track
    .footer-column {

        flex: 0 0 100vw;

        width: 100vw;

        min-width: 100vw;

        max-width: 100vw;

        min-height: auto;

        padding:
            28px 38px 32px;

        margin: 0;

        display: flex;

        flex-direction: column;

        align-items: flex-start;

        justify-content: flex-start;

        gap: 13px;

        box-sizing: border-box;

        border-top:
            1px solid
            rgba(203,163,106,.13);

        border-bottom:
            1px solid
            rgba(203,163,106,.07);

        background:
            linear-gradient(
                135deg,
                rgba(255,255,255,.025),
                rgba(203,163,106,.012)
            );
    }


    /* -----------------------------------------------------
       TITLURI
       ----------------------------------------------------- */

    .footer-mobile-track
    .footer-column small {

        margin-bottom: 9px;

        color:
            var(--gold-light);

        font-size: 9px;

        font-weight: 700;

        letter-spacing: .25em;
    }


    /* Pentru variantele care folosesc h4 */

    .footer-mobile-track
    .footer-column h4 {

        margin:
            0 0 9px;

        color:
            var(--gold-light);

        font-family:
            var(--serif);

        font-size: 22px;

        font-weight: 600;
    }


    /* -----------------------------------------------------
       LINKURI / TEXT
       ----------------------------------------------------- */

    .footer-mobile-track
    .footer-column a,
    .footer-mobile-track
    .footer-column span,
    .footer-mobile-track
    .footer-column strong {

        font-size: 12px;

        line-height: 1.55;

        color:
            var(--muted);

        text-decoration: none;
    }


    .footer-mobile-track
    .footer-column strong {

        color:
            var(--cream);
    }


    /* -----------------------------------------------------
       CONTACT ICONS
       ----------------------------------------------------- */

    .footer-mobile-track
    .contact-icons {

        transform: none;

        margin-top: 4px;

        grid-template-columns:
            repeat(3, 42px);

        gap: 11px;
    }


    /* -----------------------------------------------------
       PROGRAM
       ----------------------------------------------------- */

    .footer-mobile-track
    .hours-row {

        width: 100%;

        max-width: 310px;
    }


    /* -----------------------------------------------------
       DOTS
       ----------------------------------------------------- */

    .footer-carousel-dots {

        display: flex;

        align-items: center;

        justify-content: center;

        gap: 8px;

        margin:
            19px auto 0;
    }


    .footer-carousel-dot {

        width: 5px;

        height: 5px;

        padding: 0;

        border: 0;

        border-radius: 50%;

        background:
            rgba(255,255,255,.22);

        transition:
            width .3s ease,
            background .3s ease;
    }


    .footer-carousel-dot.active {

        width: 22px;

        background:
            var(--gold);
    }


    /* -----------------------------------------------------
       FOOTER BOTTOM
       ----------------------------------------------------- */

    .footer-bottom {

        width:
            calc(100% - 50px);

        max-width: none;

        margin:
            32px auto 0;

        padding:
            20px 0 25px;

        flex-direction: column;

        align-items: flex-start;

        gap: 15px;
    }


    .footer-bottom > div {

        flex-wrap: wrap;

        gap: 15px;
    }

}
/* =========================================================
   CONTACT ICONS — ÉLAN
   ========================================================= */

.footer-contact {
    gap: 13px;
}

.contact-icons {
    display: grid;

    grid-template-columns: repeat(3, 72px);

    gap: 11px;

    margin-top: 3px;

    transform: none;
}

.contact-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(203,163,106,.25);

    border-radius: 50%;

    background: rgba(255,255,255,.012);

    color: rgba(244,238,228,.62);

    text-decoration: none;

    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease,
        transform .35s cubic-bezier(.22,.75,.18,1),
        box-shadow .35s ease;
}

.contact-icon svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.35;

    stroke-linecap: round;

    stroke-linejoin: round;

    transition:
        transform .35s ease,
        color .35s ease;
}

.contact-icon:hover {
    color: var(--gold-light);

    border-color: rgba(203,163,106,.75);

    background: rgba(203,163,106,.07);

    transform: translateY(-3px);

    box-shadow:
        0 8px 24px rgba(0,0,0,.25),
        0 0 18px rgba(203,163,106,.08);
}

.contact-icon:hover svg {
    transform: scale(1.08);
}
/* =========================================================
   PROGRAM — MODERN
   ========================================================= */

.footer-hours {
    gap: 13px;
}

.hours-row {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    padding-bottom: 13px;

    border-bottom: 1px solid rgba(255,255,255,.055);
}

.hours-row > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.hours-row span {
    color: var(--muted);

    font-size: 10px;
}

.hours-row strong {
    color: var(--cream);

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .01em;
}

.hours-row i {
    padding: 5px 8px;

    border: 1px solid rgba(203,163,106,.25);

    border-radius: 50px;

    color: var(--gold-light);

    font-size: 7px;

    font-style: normal;

    font-weight: 700;

    letter-spacing: .14em;

    white-space: nowrap;
}

.hours-row.closed strong {
    color: var(--muted-2);
}
/* =========================================================
   MOBILE — CONTACT ICONS
   ========================================================= */

@media (max-width: 650px) {

    .footer-mobile-track .footer-contact {
        width: 100%;
    }


    .footer-mobile-track .contact-icons {

        width: 100%;

        margin: 14px 0 0;

        padding: 0;

        transform: none;

        display: grid;

        grid-template-columns:
            repeat(3, 1fr);

        gap: 14px 10px;

        justify-items: center;

        align-items: center;
    }


    .footer-mobile-track .contact-icon {

        width: 58px;

        height: 58px;

        display: flex;

        align-items: center;

        justify-content: center;

        border:
            1px solid
            rgba(203,163,106,.32);

        border-radius: 50%;

        background:
            radial-gradient(
                circle at 50% 35%,
                rgba(203,163,106,.08),
                rgba(255,255,255,.015) 65%
            );

        box-shadow:
            inset 0 0 18px
            rgba(203,163,106,.025);

        color:
            rgba(244,238,228,.75);

        transition:
            transform .3s ease,
            border-color .3s ease,
            color .3s ease,
            background .3s ease;
    }


    .footer-mobile-track .contact-icon svg {

        width: 19px;

        height: 19px;

        stroke-width: 1.35;
    }


    .footer-mobile-track .contact-icon:active {

        transform:
            scale(.92);

        border-color:
            rgba(203,163,106,.75);

        color:
            var(--gold-light);
    }

}
/* =========================================================
   MOBILE FOOTER — SECTION NAVIGATION
   ========================================================= */

@media (max-width: 650px) {

    .footer-carousel-dots {

        width: 100%;

        display: flex;

        align-items: center;

        justify-content: center;

        gap: 10px;

        padding:
            18px 20px 22px;

        border-top:
            1px solid
            rgba(255,255,255,.055);

        overflow-x: auto;

        scrollbar-width: none;
    }


    .footer-carousel-dots::-webkit-scrollbar {
        display: none;
    }


    .footer-carousel-dot {

        flex:
            0 0 auto;

        min-width: 88px;

        height: 38px;

        padding:
            0 14px;

        border:
            1px solid
            rgba(203,163,106,.22);

        border-radius: 999px;

        background:
            rgba(255,255,255,.015);

        color:
            rgba(244,238,228,.48);

        font-family:
            var(--body);

        font-size: 8px;

        font-weight: 700;

        letter-spacing: .16em;

        white-space: nowrap;

        cursor: pointer;

        transition:
            color .35s ease,
            border-color .35s ease,
            background .35s ease,
            transform .35s ease;
    }


    .footer-carousel-dot.active {

        color:
            var(--gold-light);

        border-color:
            rgba(203,163,106,.65);

        background:
            rgba(203,163,106,.07);

        box-shadow:
            0 0 20px
            rgba(203,163,106,.07);
    }


    .footer-carousel-dot:active {

        transform:
            scale(.94);
    }

}
/* =========================================================
   CONTACT ICONS + LABELS — FINAL
========================================================= */

.contact-icon {
    position: relative;

    width: 72px !important;
    height: 82px !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 8px !important;

    border: 0 !important;
    background: transparent !important;

    transform: none;
}

/* cercul propriu-zis */
.contact-icon::before {
    content: "";

    width: 58px;
    height: 58px;

    flex: 0 0 58px;

    border: 1px solid rgba(203,163,106,.32);

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(203,163,106,.08),
            rgba(255,255,255,.015) 65%
        );

    box-shadow:
        inset 0 0 18px rgba(203,163,106,.025);

    position: absolute;
    top: 0;
    left: 50%;

    transform: translateX(-50%);

    transition:
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

/* iconița */
.contact-icon svg {
    position: relative;
    z-index: 2;

    width: 19px !important;
    height: 19px !important;

    margin-top: 20px;

    color: rgba(244,238,228,.75);

    transition:
        color .3s ease,
        transform .3s ease;
}
.contact-icon .contact-label {
    position: relative;
    z-index: 2;

    display: block;

    margin-top: 11px !important;

    color: var(--gold-light) !important;

    font-family: var(--body);
    font-size: 8px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: .06em;

    text-align: center;
    white-space: nowrap;

    transition: color .3s ease;
}

/* hover */
.contact-icon:hover::before {
    border-color: rgba(203,163,106,.75);

    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(203,163,106,.12),
            rgba(255,255,255,.02) 65%
        );

    box-shadow:
        0 0 18px rgba(203,163,106,.08),
        inset 0 0 18px rgba(203,163,106,.04);
}

.contact-icon:hover svg {
    color: var(--gold-light);

    transform: scale(1.08);
}

.contact-icon:hover .contact-label {
    color: var(--gold-light);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .footer-mobile-track .contact-icons {
        display: grid !important;

        grid-template-columns: repeat(3, 72px) !important;

        justify-content: center !important;

        column-gap: 24px !important;
        row-gap: 12px !important;

        width: 100% !important;

        margin: 14px 0 0 !important;
        padding: 0 !important;

        transform: none !important;
    }

    .footer-mobile-track .contact-icon {
        width: 72px !important;
        height: 82px !important;

        padding: 0 !important;

        border: 0 !important;
    }

    .footer-mobile-track .contact-icon::before {
        width: 58px;
        height: 58px;
    }

    .footer-mobile-track .contact-icon svg {
        width: 19px !important;
        height: 19px !important;

        margin-top: 20px;
    }

    .footer-mobile-track .contact-label {
        font-size: 8px !important;
        letter-spacing: .05em !important;
    }

}
/* =========================================================
   LEGAL — PREMIUM LINKS
========================================================= */

.footer-legal {
    min-width: 280px;
}

.footer-legal > small {
    display: block;
    margin-bottom: 22px;
}

.footer-legal > a {
    position: relative;

    display: grid !important;
    grid-template-columns: 28px 1fr 20px;
    align-items: center;

    width: 100%;

    min-height: 42px;

    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid rgba(255,255,255,.055);

    color: var(--cream) !important;

    text-decoration: none;

    transition:
        color .3s ease,
        padding .3s ease,
        border-color .3s ease;
}

.footer-legal > a:first-of-type {
    border-top: 1px solid rgba(255,255,255,.055);
}

.legal-number {
    color: var(--gold);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .08em;

    opacity: .7;
}

.legal-name {
    color: rgba(244,238,229,.72);

    font-family: var(--body);

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .02em;

    transition: color .3s ease;
}

.legal-arrow {
    color: var(--gold);

    font-size: 13px;

    text-align: right;

    opacity: 0;

    transform: translateX(-5px);

    transition:
        opacity .3s ease,
        transform .3s ease;
}

.footer-legal > a:hover {
    padding-left: 6px !important;

    border-color: rgba(212,168,93,.22);

    color: var(--gold-light) !important;
}

.footer-legal > a:hover .legal-name {
    color: var(--gold-light);
}

.footer-legal > a:hover .legal-arrow {
    opacity: 1;

    transform: translateX(0);
}
@media (max-width: 650px) {

    .footer-legal {
        min-width: 100%;
    }

    .footer-legal > a {
        min-height: 44px;

        grid-template-columns: 28px 1fr 20px;
    }

    .legal-name {
        font-size: 9px;
    }

    .legal-arrow {
        opacity: .7;
        transform: none;
    }

}
/* =========================================================
   NAVIGATION — PREMIUM LINKS
========================================================= */

.footer-navigation {
    min-width: 240px;
}

.footer-navigation > small {
    display: block;
    margin-bottom: 22px;
}

.footer-navigation > a {
    position: relative;

    display: grid !important;
    grid-template-columns: 28px 1fr 20px;
    align-items: center;

    width: 100%;
    min-height: 42px;

    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid rgba(255,255,255,.055);

    color: var(--cream) !important;

    text-decoration: none;

    transition:
        color .3s ease,
        padding .3s ease,
        border-color .3s ease;
}

.footer-navigation > a:first-of-type {
    border-top: 1px solid rgba(255,255,255,.055);
}

.nav-number {
    color: var(--gold);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .08em;

    opacity: .7;
}

.nav-name {
    color: rgba(244,238,229,.72);

    font-family: var(--body);

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .02em;

    transition: color .3s ease;
}

.nav-arrow {
    color: var(--gold);

    font-size: 13px;

    text-align: right;

    opacity: 0;

    transform: translateX(-5px);

    transition:
        opacity .3s ease,
        transform .3s ease;
}

.footer-navigation > a:hover {
    padding-left: 6px !important;

    border-color: rgba(212,168,93,.22);
}

.footer-navigation > a:hover .nav-name {
    color: var(--gold-light);
}

.footer-navigation > a:hover .nav-arrow {
    opacity: 1;
    transform: translateX(0);
}
/* =========================================================
   NAVIGATION — PREMIUM LINKS
========================================================= */

.footer-navigation {
    min-width: 240px;
}

.footer-navigation > small {
    display: block;
    margin-bottom: 22px;
}

.footer-navigation > a {
    position: relative;

    display: grid !important;
    grid-template-columns: 28px 1fr 20px;
    align-items: center;

    width: 100%;
    min-height: 42px;

    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid rgba(255,255,255,.055);

    color: var(--cream) !important;

    text-decoration: none;

    transition:
        color .3s ease,
        padding .3s ease,
        border-color .3s ease;
}

.footer-navigation > a:first-of-type {
    border-top: 1px solid rgba(255,255,255,.055);
}

.nav-number {
    color: var(--gold);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .08em;

    opacity: .7;
}

.nav-name {
    color: rgba(244,238,229,.72);

    font-family: var(--body);

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .02em;

    transition: color .3s ease;
}

.nav-arrow {
    color: var(--gold);

    font-size: 13px;

    text-align: right;

    opacity: 0;

    transform: translateX(-5px);

    transition:
        opacity .3s ease,
        transform .3s ease;
}

.footer-navigation > a:hover {
    padding-left: 6px !important;

    border-color: rgba(212,168,93,.22);
}

.footer-navigation > a:hover .nav-name {
    color: var(--gold-light);
}

.footer-navigation > a:hover .nav-arrow {
    opacity: 1;
    transform: translateX(0);
}
/* =========================================================
   PROGRAM — MODERN
========================================================= */

.footer-hours {
    min-width: 260px;
}

.footer-hours > small {
    display: block;
    margin-bottom: 18px;
}

.hours-list {
    border-top: 1px solid rgba(255,255,255,.07);
}

.hours-card {
    position: relative;

    min-height: 70px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 12px 0;

    border-bottom: 1px solid rgba(255,255,255,.07);
}

.hours-day {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hours-day span {
    color: var(--muted);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .16em;
}

.hours-day strong {
    color: var(--cream);

    font-family: var(--body);
    font-size: 12px;
    font-weight: 600;
}

.hours-status {
    padding: 5px 9px;

    border: 1px solid rgba(212,168,93,.35);
    border-radius: 999px;

    color: var(--gold-light);

    font-size: 7px;
    font-weight: 700;

    letter-spacing: .1em;

    white-space: nowrap;
}

.hours-status.closed {
    color: var(--muted);

    border-color: rgba(255,255,255,.1);
}


/* DESCHIS */

.hours-card.is-open .hours-day strong {
    color: var(--gold-light);
}


/* DUMINICĂ */

.hours-card.is-closed {
    opacity: .72;
}
@media (max-width: 650px) {

    .footer-hours {
        min-width: 100%;
    }

    .hours-card {
        min-height: 68px;
        padding: 11px 0;
    }

    .hours-day span {
        font-size: 7px;
    }

    .hours-day strong {
        font-size: 11px;
    }

    .hours-status {
        font-size: 6px;
        padding: 5px 8px;
    }

}
@media (max-width: 650px) {

    /* eliminăm spațiul mare dintre butoane și copyright */

    .footer-carousel-dots {
        padding-top: 10px !important;
        padding-bottom: 8px !important;
    }

    .footer-bottom {
        margin-top: 0 !important;
        padding-top: 10px !important;
        padding-bottom: 20px !important;
    }

}