/* ==========================================
   CONTACT HERO
========================================== */

.contact-hero{

    position:relative;

    overflow:hidden;

    padding:180px 0 120px;

    background:linear-gradient(
        135deg,
        #FFF9EF 0%,
        #F6F2E8 45%,
        #EDF6FF 100%
    );

}

.contact-hero .container{

    position:relative;

    z-index:2;

}

.contact-hero h1{

    font-size:clamp(3rem,5vw,4.5rem);

    font-weight:800;

    line-height:1.1;

    color:var(--primary);

    margin:25px 0;

}

.contact-hero-image{

    display:flex;

    justify-content:center;

    align-items:center;

}

.contact-hero-image img{

    width:100%;

    max-width:500px;

    animation:floatDog 5s ease-in-out infinite;

}

.hero-description{

    max-width:560px;

    line-height:1.9;

    color:var(--text-secondary);

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:50px;

}

.hero-stats{

    display:flex;

    gap:45px;

    flex-wrap:wrap;

}

.hero-stats strong{

    display:block;

    font-size:1.8rem;

    color:var(--primary);

}

.hero-stats span{

    color:var(--text-secondary);

}

@media(max-width:991px){

    .contact-hero{

        padding:150px 0 90px;

    }

    .contact-hero h1{

        font-size:42px;

    }

}
/* ==========================================
   CONTACT LOCATION
========================================== */

.contact-location{

    padding:110px 0;

    background:linear-gradient(
        180deg,
        #FFFFFF 0%,
        #F8F5EE 100%
    );

}

.contact-info-card{

    background:#FFFFFF;

    border-radius:30px;

    padding:45px;

    height:100%;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    margin-bottom:35px;

}

.contact-item:last-child{

    margin-bottom:0;

}

.contact-item i{

    width:60px;

    height:60px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--primary);

    color:#FFFFFF;

    font-size:22px;

    flex-shrink:0;

}

.contact-item h5{

    color:var(--primary);

    font-size:20px;

    font-weight:700;

    margin-bottom:8px;

}

.contact-item p{

    margin:0;

    color:var(--text-secondary);

    line-height:1.8;

}

.map-placeholder{

    background:linear-gradient(
        135deg,
        #EDF6FF 0%,
        #FFF8EA 100%
    );

    border-radius:30px;

    min-height:460px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:50px;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.map-placeholder i{

    font-size:72px;

    color:var(--primary);

    margin-bottom:25px;

}

.map-placeholder h4{

    color:var(--primary);

    font-size:34px;

    font-weight:800;

    margin-bottom:15px;

}

.map-placeholder p{

    max-width:420px;

    color:var(--text-secondary);

    line-height:1.8;

}

@media(max-width:991px){

    .map-placeholder{

        min-height:320px;

    }

}
/* ==========================================
   CONTACT CARDS
========================================== */

.contact-location{

    padding:100px 0;

    background:linear-gradient(
        180deg,
        #FFFFFF 0%,
        #F8F5EE 100%
    );

}

.contact-card{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:#FFFFFF;

    border-radius:28px;

    padding:45px 35px;

    height:100%;

    text-decoration:none;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;

}

.contact-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.contact-icon{

    width:110px;

    height:110px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:30px;

    border-radius:24px;

    background:#FFFFFF;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    padding:18px;

    transition:.35s ease;

}

.contact-icon img{

    width:100%;

    height:100%;

    object-fit:contain;

    transition:.35s ease;

}

.contact-card:hover .contact-icon{

    transform:translateY(-6px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.contact-card:hover .contact-icon img{

    transform:scale(1.08);

}

.contact-content h4{

    color:var(--primary);

    font-size:26px;

    font-weight:800;

    margin-bottom:12px;

}

.contact-content p{

    color:var(--text-secondary);

    line-height:1.8;

    margin:0;

    word-break:break-word;

}

@media(max-width:991px){

    .contact-card{

        padding:35px 25px;

    }

    .contact-icon{

        width:90px;

        height:90px;

    }

}
/* ==========================================
   SOCIAL SECTION
========================================== */

.contact-social{

    padding:110px 0;

    background:linear-gradient(
        180deg,
        #FFFFFF 0%,
        #F8F5EE 100%
    );

}

.contact-social h2{

    color:var(--primary);

    font-size:48px;

    font-weight:800;

    margin:20px 0;

}

.contact-social .section-description{

    color:var(--text-secondary);

    line-height:1.9;

    margin-bottom:35px;

}

.social-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.social-preview{

    background:#FFFFFF;

    border-radius:30px;

    padding:60px;

    min-height:320px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.social-photo-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;

    background:#FFFFFF;

    border-radius:30px;

    padding:16px;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.social-photo-item{

    aspect-ratio:1 / 1;

    border-radius:20px;

    overflow:hidden;

}

.social-photo-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .4s ease;

}

.social-photo-item:hover img{

    transform:scale(1.08);

}

.social-preview h4{

    color:var(--primary);

    font-size:34px;

    font-weight:800;

    margin-bottom:18px;

}

.social-preview p{

    max-width:420px;

    color:var(--text-secondary);

    line-height:1.8;

    margin:0;

}

@media(max-width:991px){

    .contact-social{

        padding:80px 0;

    }

    .contact-social h2{

        font-size:38px;

    }

    .social-preview{

        padding:40px 30px;

        min-height:260px;

    }

}
/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width:768px){

    .contact-hero{

        padding:130px 0 80px;

        text-align:center;

    }

    .contact-hero h1{

        font-size:36px;

    }

    .hero-description{

        max-width:100%;

        font-size:16px;

        margin:0 auto 30px;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-stats{

        justify-content:center;

        gap:25px;

    }

    .contact-item{

        flex-direction:column;

        align-items:center;

        text-align:center;

    }

    .contact-info-card{

        padding:30px;

    }

    .map-placeholder{

        padding:30px;

        min-height:260px;

    }

    .contact-card{

        padding:30px 20px;

    }

    .social-buttons{

        justify-content:center;

    }

    .social-preview{

        padding:30px 20px;

    }

}

@media (max-width:576px){

    .contact-hero{

        padding:120px 0 70px;

    }

    .contact-hero h1{

        font-size:30px;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .hero-buttons a{

        width:100%;

        max-width:320px;

    }

    .contact-icon{

        width:80px;

        height:80px;

    }

    .contact-content h4{

        font-size:22px;

    }

    .contact-social h2{

        font-size:30px;

    }

    .social-preview h4{

        font-size:26px;

    }

}