/* Contact Page */
/* ===== HERO FULL WIDTH FIX ===== */
.page-banner{
    padding:32px 0 20px;
}

.page-banner-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    align-items:center;
    gap:36px;
}

.page-banner-image{
    width:100%;
}

.page-banner-image img{
    width:100%;
    height:520px;
    object-fit:cover;
    border-radius:32px;
    display:block;
}

.page-banner-content{
    width:100%;
}

.contact-cards-section,
.contact-main-section,
.map-section{
    padding:20px 0;
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    margin-top:40px;
}

.contact-card{
    background:#fff;
    border-radius:24px;
    padding:32px 24px;
    text-align:center;
    box-shadow:0 10px 28px rgba(0,0,0,.06);
}

.contact-card i{
    font-size:2rem;
    color:#1F5C3A;
    margin-bottom:16px;
}

.contact-card h3{
    margin-bottom:10px;
    color:#143323;
}

.contact-card a{
    color:#1F5C3A;
    text-decoration:none;
    font-weight:600;
}

.contact-card p{
    color:#555;
    margin:0;
}

.contact-main-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
}

.contact-info-box,
.contact-form-box{
    background:#fff;
    border-radius:28px;
    padding:36px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.quick-order-buttons{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin:28px 0;
}

.quick-btn{
    padding:14px 16px;
    border-radius:14px;
    background:#F8F5EF;
    color:#143323;
    text-decoration:none;
    text-align:center;
    font-weight:600;
}

.quick-btn:hover{
    background:#1F5C3A;
    color:#fff;
}

.working-hours{
    background:#FCFAF6;
    border-radius:18px;
    padding:22px;
    margin-bottom:24px;
}

.social-links{
    display:flex;
    gap:14px;
}

.social-links a{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#1F5C3A;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.contact-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
    width:100%;
    padding:16px 18px;
    border:1px solid #e4ded0;
    border-radius:14px;
    font-size:1rem;
    font-family:inherit;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:#1F5C3A;
    box-shadow:0 0 0 4px rgba(31,92,58,.12);
}

.btn-full{
    width:100%;
    justify-content:center;
}

.map-wrapper{
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.contact-cta{
    padding:50px 0;
    background:linear-gradient(135deg,#1F5C3A,#2E7D50);
}

.contact-cta .category-cta-box{
    max-width:920px;
    margin:auto;
    text-align:center;
    padding:60px;
    border-radius:34px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
}

.light-tag{
    background:rgba(255,255,255,.14);
    color:#fff;
}

.contact-cta h2{
    color:#fff;
    font-size:2.6rem;
    line-height:1.2;
    margin:22px 0 18px;
}

.contact-cta h2 span{
    color:#D4AF37;
}

.contact-cta p{
    color:#fff;
    opacity:.95;
    max-width:700px;
    margin:0 auto 34px;
    line-height:1.9;
}

.btn-large{
    padding:16px 30px;
}

.btn-light{
    border-color:#fff;
    color:#fff;
}

.btn-light:hover{
    background:#fff;
    color:#143323;
}

@media (max-width:991px){

    .contact-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .contact-main-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:767px){

    .offers-grid,
    .combo-grid{
        grid-template-columns:1fr;
    }

    /* Hero section mobile fix */
    .page-banner{
        padding-top:24px;
    }

    .page-banner-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:24px;
    }

    .page-banner-content{
        order:1;
    }

    .page-banner-image{
        order:2;
        width:100%;
    }

    .page-banner-image img{
        width:100%;
        height:auto;
        border-radius:26px;
        display:block;
    }

    .page-banner-title{
        font-size:2.6rem;
        line-height:1.08;
        letter-spacing:-0.5px;
    }

    .page-banner-buttons{
        display:flex;
        flex-direction:column;
        gap:14px;
        margin-top:22px;
    }

    .page-banner-buttons .btn{
        width:100%;
        justify-content:center;
    }

    .festival-content,
    .bulk-offer-content{
        padding:28px 24px;
    }

    .festival-content h2,
    .bulk-offer-content h2{
        font-size:1.9rem;
    }

    .limited-strip-content{
        justify-content:center;
        text-align:center;
    }

    .limited-text{
        justify-content:center;
    }

    .countdown-boxes{
        width:100%;
        justify-content:center;
    }

    .count-box{
        min-width:80px;
        padding:12px 14px;
    }

    .offers-final-cta{
        padding:80px 0;
    }

    .offers-final-cta .category-cta-box{
        padding:36px 22px;
        border-radius:26px;
    }

    .offers-final-cta h2{
        font-size:2rem;
    }
}

/* Mobile hero fix */
@media (max-width: 768px) {

    .hero-grid,
    .hero-content,
    .hero-section,
    .hero-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px;
    }

    .hero-image,
    .hero-banner {
        width: 100% !important;
        order: 2;
    }

    .hero-image img,
    .hero-banner img {
        width: 100% !important;
        height: auto !important;
        border-radius: 24px;
        display: block;
    }

    .hero-text,
    .hero-copy {
        order: 1;
        width: 100%;
    }

    .hero-title {
        font-size: 2.6rem !important;
        line-height: 1.08 !important;
        letter-spacing: -0.5px;
    }

    .hero-buttons {
        display: flex;
        flex-direction: column;
        gap: 14px;
        margin-top: 20px;
    }

    .hero-buttons .btn {
        width: 100%;
        justify-content: center;
    }
}


/* ===== MOBILE CONTACT CARDS FIX ===== */

@media (max-width: 767px){



    .contact-grid{

        grid-template-columns:1fr !important;

        gap:20px;

    }



    .contact-card{

        width:100%;

        padding:28px 22px;

        text-align:center;

    }



    .contact-card i{

        font-size:2rem;

        margin-bottom:14px;

    }



    .contact-card h3{

        font-size:1.9rem;

        margin-bottom:10px;

    }



    .contact-card p,

    .contact-card a{

        font-size:1rem;

        line-height:1.7;

        word-break:break-word;

    }



    .contact-info-section .container{

        overflow:hidden;

    }

}