/* =========================================================
   HAZ OPTIC
   STIL PRINCIPAL HOMEPAGE + PAGINI INFORMAȚII
   ========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f6f3ed;
    color: #171717;
    line-height: 1.6;
    overflow-x: hidden;
}


img {
    max-width: 100%;
}


a {
    color: inherit;
    text-decoration: none;
}


button {
    font: inherit;
}


.container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


.section {
    padding: 100px 0;
}



/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background: rgba(7, 7, 7, 0.98);

    border-bottom:
        1px solid rgba(212, 175, 55, 0.24);
}


.header-container {
    width: min(1380px, calc(100% - 48px));

    min-height: 82px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 35px;
}


.logo-link {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}


.logo {
    width: auto !important;
    height: 50px !important;

    max-width: 155px !important;

    object-fit: contain;
}


.main-nav {
    display: flex;

    align-items: center;

    gap: 25px;

    color: white;
}


.main-nav > a {
    position: relative;

    font-size: 13px;

    font-weight: 600;

    transition: 0.25s;
}


.main-nav > a:not(.nav-appointment)::after {
    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 0;

    height: 1px;

    background: #d4af37;

    transition: width 0.25s;
}


.main-nav > a:hover,
.main-nav > a.active {
    color: #f0cd62;
}


.main-nav > a:hover::after,
.main-nav > a.active::after {
    width: 100%;
}


.nav-appointment {
    padding: 12px 21px;

    background: #d4af37;

    border: 1px solid #d4af37;

    color: #080808 !important;
}


.nav-appointment:hover {
    background: #f0cd62;
    border-color: #f0cd62;
}


.menu-toggle {
    display: none;

    width: 46px;

    height: 44px;

    padding: 10px;

    cursor: pointer;

    background: transparent;

    border:
        1px solid rgba(212, 175, 55, 0.5);
}


.menu-toggle span {
    display: block;

    width: 100%;

    height: 2px;

    margin: 5px 0;

    background: #d4af37;
}



/* =========================================================
   BUTOANE - TOATE LA FEL
   ========================================================= */

.btn {
    min-width: 175px;

    min-height: 48px;

    padding: 14px 25px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    border: 1px solid #d4af37;

    background: #d4af37;

    color: #080808 !important;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 0.03em;

    cursor: pointer;

    transition:
        background 0.25s,
        border-color 0.25s,
        transform 0.25s;
}


.btn:hover {
    background: #f0cd62;

    border-color: #f0cd62;

    color: #080808 !important;

    transform: translateY(-2px);
}



/* =========================================================
   HERO
   ========================================================= */

.hero {
    position: relative;

    min-height:
        calc(100vh - 82px);

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: white;

    background:
        url("imagini/hero-acasa.png")
        center center /
        cover
        no-repeat;
}


.hero-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.84),
            rgba(0, 0, 0, 0.56),
            rgba(0, 0, 0, 0.84)
        );
}


.hero-content {
    position: relative;

    z-index: 2;

    width:
        min(920px, calc(100% - 40px));

    padding: 70px 0;
}


.hero-logo {
    width: auto !important;
    height: 170px !important;
    max-width: 430px !important;
    object-fit: contain;
    margin-bottom: 30px;
}


.hero-kicker {
    margin-bottom: 18px;

    color: #f0cd62;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 0.25em;
}


.hero h1 {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(48px, 7vw, 92px);

    font-weight: 400;

    line-height: 1.03;

    letter-spacing: -0.035em;
}


.hero h1 span {
    color: #d4af37;
}


.hero-description {
    max-width: 680px;

    margin: 28px auto 0;

    color:
        rgba(255, 255, 255, 0.86);

    font-size: 18px;
}


.hero-buttons {
    margin-top: 38px;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;
}



/* =========================================================
   TITLURI
   ========================================================= */

.eyebrow {
    margin-bottom: 15px;

    color: #aa8314;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.23em;
}


.section-heading {
    margin-bottom: 48px;
}


.section-heading.centered {
    max-width: 750px;

    margin:
        0 auto 55px;

    text-align: center;
}


.section-heading h2,
.intro-content h2,
.space-content h2,
.location-info h2,
.appointment-content h2,
.promotion-banner h2,
.legal-hero h1,
.promo-hero h1 {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight: 400;

    line-height: 1.14;

    letter-spacing: -0.025em;
}


.section-heading h2,
.intro-content h2,
.space-content h2,
.location-info h2,
.appointment-content h2,
.promotion-banner h2 {
    font-size:
        clamp(36px, 5vw, 57px);
}



/* =========================================================
   INTRO
   ========================================================= */

.intro-section {
    text-align: center;

    background: #f6f3ed;
}


.intro-content {
    max-width: 850px;
}


.intro-content h2 span {
    color: #a98417;
}


.intro-content > p:last-child {
    max-width: 680px;

    margin: 26px auto 0;

    color: #68645d;

    font-size: 18px;
}



/* =========================================================
   OCHELARI
   ========================================================= */

.eyewear-section {
    background: white;
}


.eyewear-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;
}


.eyewear-card {
    position: relative;

    min-height: 530px;

    display: flex;

    align-items: flex-end;

    overflow: hidden;

    background-color: #151515;

    background-size: cover;

    background-position: center;
}


.vision-card {
    background-image:
        url("imagini/rama1.jpg");
}


.sun-card {
    background-image:
        url("imagini/colectie.jpg");
}


.card-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, 0.92),
            rgba(0, 0, 0, 0.10) 74%
        );
}


.eyewear-card-content {
    position: relative;

    z-index: 2;

    width: 100%;

    padding: 42px;

    color: white;
}


.card-number {
    margin-bottom: 12px;

    color: #d4af37;

    font-size: 12px;

    letter-spacing: 0.18em;
}


.eyewear-card h3 {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 38px;

    font-weight: 400;
}


.eyewear-card-content > p:not(.card-number) {
    max-width: 500px;

    margin-top: 12px;

    color:
        rgba(255, 255, 255, 0.80);
}


.card-button {
    margin-top: 26px;
}



/* =========================================================
   PROMOȚII HOMEPAGE
   ========================================================= */

.promotion-banner {
    padding: 65px 0;

    background:
        linear-gradient(
            120deg,
            #080808,
            #1c1708
        );

    color: white;

    border-top:
        1px solid rgba(212, 175, 55, 0.25);

    border-bottom:
        1px solid rgba(212, 175, 55, 0.25);
}


.promotion-banner-content {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 45px;
}


.promotion-banner h2 {
    font-size:
        clamp(30px, 4vw, 46px);
}


.promotion-banner p:not(.eyebrow) {
    margin-top: 13px;

    color:
        rgba(255, 255, 255, 0.70);
}



/* =========================================================
   SERVICII
   ========================================================= */

.services-section {
    background: #f3efe7;
}


.section-description {
    margin-top: 18px;

    color: #68645d;

    font-size: 17px;
}


.services-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    border-top:
        1px solid #d9d1c2;

    border-left:
        1px solid #d9d1c2;
}


.service-card {
    min-height: 285px;

    padding: 35px 29px;

    border-right:
        1px solid #d9d1c2;

    border-bottom:
        1px solid #d9d1c2;

    background:
        rgba(255, 255, 255, 0.42);
}


.service-number {
    width: 44px;

    height: 44px;

    margin-bottom: 27px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid #c6a23c;

    color: #9c7710;

    font-family: Georgia, serif;

    font-size: 13px;
}


.service-card h3 {
    min-height: 58px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 22px;

    font-weight: 400;

    line-height: 1.3;
}


.service-card p {
    margin-top: 15px;

    color: #68645d;

    font-size: 14px;
}


.center-button {
    margin-top: 45px;

    text-align: center;
}



/* =========================================================
   SPAȚIU
   ========================================================= */

.space-section {
    display: grid;

    grid-template-columns:
        1.08fr 0.92fr;

    min-height: 650px;

    background: #0c0c0c;

    color: white;
}


.space-image {
    min-height: 650px;

    overflow: hidden;
}


.space-image img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;
}


.space-content {
    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        80px clamp(45px, 6vw, 100px);
}


.space-content > p:not(.eyebrow) {
    max-width: 590px;

    margin-top: 22px;

    color:
        rgba(255, 255, 255, 0.72);
}


.space-buttons {
    margin-top: 32px;
}



/* =========================================================
   LOCAȚIE
   ========================================================= */

.location-section {
    background: white;
}


.location-grid {
    display: grid;

    grid-template-columns:
        0.88fr 1.12fr;

    gap: 70px;

    align-items: center;
}


.location-info h2 {
    margin-bottom: 35px;
}


.location-block {
    padding: 19px 0;

    border-bottom:
        1px solid #e5e0d8;
}


.location-label {
    display: block;

    margin-bottom: 5px;

    color: #9d7811;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.18em;
}


.location-block p,
.location-block a {
    color: #48443e;

    font-size: 15px;
}


.location-actions {
    margin-top: 32px;
}


.location-visual {
    min-height: 510px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 35px;

    background:
        radial-gradient(
            circle at center,
            #29240f,
            #070707 68%
        );

    border:
        1px solid #d4af37;
}


.location-logo-box {
    text-align: center;

    color: white;
}


.location-logo-box img {
    width: auto;

    height: 100px;

    max-width: 260px;

    object-fit: contain;

    margin-bottom: 25px;
}


.location-logo-box p {
    color:
        rgba(255, 255, 255, 0.68);
}


.location-logo-box strong {
    display: block;

    margin-top: 8px;

    color: #d4af37;

    font-family: Georgia, serif;

    font-size: 24px;

    font-weight: 400;
}



/* =========================================================
   PROGRAMARE
   ========================================================= */

.appointment-section {
    position: relative;

    padding: 105px 0;

    text-align: center;

    color: white;

    background:
        linear-gradient(
            135deg,
            #080808,
            #211b09
        );
}


.appointment-content {
    max-width: 800px;
}


.appointment-content .eyebrow {
    color: #f0cd62;
}


.appointment-content > p:not(.eyebrow) {
    max-width: 630px;

    margin: 22px auto 0;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 17px;
}


.appointment-buttons {
    margin-top: 35px;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;
}



/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    background: #060606;

    color: white;
}


.footer-main {
    display: grid;

    grid-template-columns:
        1.35fr 1fr 1fr 1.2fr;

    gap: 50px;

    padding-top: 72px;

    padding-bottom: 62px;
}


.footer-logo {
    width: auto !important;

    height: 63px !important;

    max-width: 185px !important;

    object-fit: contain;
}


.footer-brand p {
    margin-top: 20px;

    color:
        rgba(255, 255, 255, 0.55);

    font-family: Georgia, serif;

    font-size: 18px;
}


.footer-column {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 9px;
}


.footer-column h3 {
    margin-bottom: 10px;

    color: #d4af37;

    font-size: 11px;

    letter-spacing: 0.15em;

    text-transform: uppercase;
}


.footer-column a,
.footer-column p {
    color:
        rgba(255, 255, 255, 0.62);

    font-size: 13px;

    line-height: 1.7;
}


.footer-column a:hover {
    color: #f0cd62;
}


.footer-bottom {
    border-top:
        1px solid rgba(255, 255, 255, 0.10);
}


.footer-bottom-content {
    min-height: 68px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    color:
        rgba(255, 255, 255, 0.40);

    font-size: 11px;
}



/* =========================================================
   WHATSAPP
   ========================================================= */

.whatsapp-fixed {
    position: fixed;

    right: 20px;

    bottom: 20px;

    z-index: 1200;

    min-height: 47px;

    padding: 12px 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #d4af37;

    color: #080808;

    border: 1px solid #d4af37;

    font-size: 12px;

    font-weight: 800;

    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.28);
}


.whatsapp-fixed:hover {
    background: #f0cd62;

    border-color: #f0cd62;
}



/* =========================================================
   PAGINI LEGALE
   ========================================================= */

.legal-hero,
.promo-hero {
    padding: 100px 0 80px;

    text-align: center;

    color: white;

    background:
        radial-gradient(
            circle at top,
            #2a230c,
            #080808 65%
        );
}


.legal-hero-logo,
.promo-hero-logo {
    width: auto !important;

    height: 70px !important;

    max-width: 210px !important;

    object-fit: contain;

    margin-bottom: 22px;
}


.legal-hero h1,
.promo-hero h1 {
    font-size:
        clamp(39px, 6vw, 65px);
}


.legal-hero p,
.promo-hero p {
    max-width: 700px;

    margin: 20px auto 0;

    color:
        rgba(255, 255, 255, 0.70);
}


.legal-section {
    padding: 85px 0;

    background: #f6f3ed;
}


.legal-content {
    max-width: 900px;

    padding: 50px;

    background: white;

    border:
        1px solid #ded6c8;
}


.legal-content h2 {
    margin-top: 40px;

    margin-bottom: 15px;

    font-family: Georgia, serif;

    font-size: 28px;

    font-weight: 400;
}


.legal-content h2:first-child {
    margin-top: 0;
}


.legal-content h3 {
    margin-top: 25px;

    margin-bottom: 10px;

    font-size: 17px;
}


.legal-content p,
.legal-content li {
    color: #57534d;

    font-size: 15px;

    line-height: 1.85;
}


.legal-content ul {
    margin:
        15px 0 15px 25px;
}


.legal-highlight {
    margin: 25px 0;

    padding: 20px;

    border-left:
        3px solid #d4af37;

    background: #f7f2e6;
}



/* =========================================================
   PROMOȚII
   ========================================================= */

.promotions-section {
    padding: 90px 0;

    background: #f6f3ed;
}


.promotions-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 24px;
}


.promo-card {
    min-height: 330px;

    padding: 35px;

    display: flex;

    flex-direction: column;

    background: white;

    border:
        1px solid #dcd3c2;
}


.promo-label {
    margin-bottom: 22px;

    color: #9e7810;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.18em;
}


.promo-card h2 {
    font-family: Georgia, serif;

    font-size: 30px;

    line-height: 1.2;

    font-weight: 400;
}


.promo-card p {
    margin-top: 17px;

    color: #68645d;
}


.promo-period {
    margin-top: auto !important;

    padding-top: 25px;

    color: #9b7610 !important;

    font-size: 12px;
}


.promo-actions {
    margin-top: 45px;

    text-align: center;
}



/* =========================================================
   TABLETĂ
   ========================================================= */

@media (max-width: 1100px) {

    .main-nav {
        gap: 16px;
    }


    .main-nav > a {
        font-size: 12px;
    }


    .services-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .footer-main {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .promotions-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}



/* =========================================================
   MENIU MOBIL
   ========================================================= */

@media (max-width: 900px) {

    .container {
        width:
            min(100% - 32px, 1180px);
    }


    .header-container {
        width:
            calc(100% - 28px);

        min-height: 72px;
    }


    .logo {
        height: 43px !important;

        max-width: 130px !important;
    }


    .menu-toggle {
        display: block;
    }


    .main-nav {
        position: absolute;

        top: 72px;

        left: 0;

        right: 0;

        display: none;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        padding: 16px 20px 24px;

        background: #080808;

        border-top:
            1px solid rgba(212, 175, 55, 0.22);
    }


    .main-nav.open {
        display: flex;
    }


    .main-nav > a {
        padding: 14px 4px;

        border-bottom:
            1px solid rgba(255, 255, 255, 0.07);

        font-size: 14px;
    }


    .main-nav > a::after {
        display: none;
    }


    .nav-appointment {
        margin-top: 12px;

        text-align: center;
    }


    .hero {
        min-height:
            calc(100vh - 72px);
    }


    .section {
        padding: 75px 0;
    }


    .eyewear-grid {
        grid-template-columns: 1fr;
    }


    .eyewear-card {
        min-height: 470px;
    }


    .promotion-banner-content {
        flex-direction: column;

        align-items: flex-start;
    }


    .space-section {
        grid-template-columns: 1fr;
    }


    .space-image {
        min-height: 450px;
    }


    .space-content {
        padding: 70px 32px;
    }


    .location-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }


    .location-visual {
        min-height: 400px;
    }

}



/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 620px) {

    .section {
        padding: 62px 0;
    }


	.hero-logo {
    height: 120px !important;
    max-width: 320px !important;
}


    .hero h1 {
        font-size:
            clamp(43px, 14vw, 61px);
    }


    .hero-description {
        font-size: 16px;
    }


    .hero-buttons {
        flex-direction: column;
    }


    .hero-buttons .btn {
        width: 100%;
    }


    .eyewear-card {
        min-height: 420px;
    }


    .eyewear-card-content {
        padding: 30px 24px;
    }


    .eyewear-card h3 {
        font-size: 31px;
    }


    .services-grid {
        grid-template-columns: 1fr;
    }


    .service-card {
        min-height: auto;
    }


    .space-image {
        min-height: 340px;
    }


    .space-content {
        padding: 58px 24px;
    }


    .appointment-buttons {
        flex-direction: column;
    }


    .appointment-buttons .btn {
        width: 100%;
    }


    .footer-main {
        grid-template-columns: 1fr;

        gap: 38px;

        padding-top: 55px;

        padding-bottom: 50px;
    }


    .footer-bottom-content {
        padding: 20px 0;

        flex-direction: column;

        align-items: flex-start;

        justify-content: center;
    }


    .promotions-grid {
        grid-template-columns: 1fr;
    }


    .legal-content {
        padding: 30px 22px;
    }


    .whatsapp-fixed {
        right: 13px;

        bottom: 13px;
    }

}