/* ============================================================
   KARAM — PREMIUM DESKTOP RESTAURANT FOOTER
   Desktop only. Mobile app navigation remains unchanged.
============================================================ */

.kmf-footer{
    --kmf-bg:#111210;
    --kmf-panel:#181a17;
    --kmf-panel-2:#1d1f1c;
    --kmf-text:#f7f6f2;
    --kmf-muted:#9b9d97;
    --kmf-line:rgba(255,255,255,.09);

    position:relative;
    overflow:hidden;

    margin-top:70px;
    padding:54px 24px 22px;

    background:
        radial-gradient(
            circle at 88% 8%,
            color-mix(in srgb,var(--brand) 28%,transparent),
            transparent 34%
        ),
        radial-gradient(
            circle at 7% 100%,
            color-mix(in srgb,var(--brand) 12%,transparent),
            transparent 30%
        ),
        var(--kmf-bg);

    color:var(--kmf-text);
}

.kmf-footer::before{
    position:absolute;
    top:0;
    right:0;
    left:0;

    height:3px;

    background:var(--brand);

    content:'';
}

.kmf-shell{
    position:relative;
    z-index:1;

    width:min(100%,1440px);
    margin:0 auto;
}


/* CTA */
.kmf-cta{
    display:flex;

    min-height:170px;
    margin-bottom:48px;
    padding:34px 38px;

    align-items:center;
    justify-content:space-between;
    gap:34px;

    border:1px solid var(--kmf-line);
    border-radius:28px;

    background:
        linear-gradient(
            115deg,
            color-mix(in srgb,var(--brand) 22%,#151615),
            #171817 52%,
            #121310
        );

    box-shadow:
        0 25px 65px
        rgba(0,0,0,.22);
}

.kmf-cta__copy{
    max-width:700px;
}

.kmf-eyebrow,
.kmf-col__eyebrow{
    display:block;

    margin-bottom:8px;

    color:
        color-mix(in srgb,var(--brand) 78%,#fff);

    font-size:10px;
    font-weight:850;
    letter-spacing:.08em;
}

.kmf-cta h2{
    margin:0;

    color:#fff;

    font-size:clamp(30px,3vw,46px);
    font-weight:900;
    line-height:1.2;
}

.kmf-cta p{
    max-width:580px;
    margin:10px 0 0;

    color:#b8bab4;

    font-size:13px;
    line-height:1.9;
}

.kmf-cta__actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.kmf-btn{
    display:inline-flex;

    min-height:48px;
    padding:0 19px;

    align-items:center;
    justify-content:center;
    gap:8px;

    border-radius:14px;

    font-size:12px;
    font-weight:850;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.kmf-btn:hover{
    transform:translateY(-2px);
}

.kmf-btn--brand{
    background:var(--brand);
    color:var(--on-brand,#fff) !important;
}

.kmf-btn--ghost{
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.055);
    color:#fff !important;
}

.kmf-btn--ghost:hover{
    border-color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.09);
}


/* Main grid */
.kmf-grid{
    display:grid;

    grid-template-columns:
        minmax(280px,1.35fr)
        minmax(170px,.72fr)
        minmax(230px,1fr)
        minmax(230px,1fr);

    gap:46px;

    padding:0 10px 44px;
}

.kmf-brand{
    padding-inline-end:26px;
}

.kmf-logo{
    display:inline-flex;

    width:116px;
    height:92px;

    margin-bottom:18px;

    align-items:center;
    justify-content:center;

    overflow:hidden;

    border-radius:20px;

    background:#fff;

    box-shadow:
        0 14px 35px
        rgba(0,0,0,.22);

    text-decoration:none !important;
}

.kmf-logo img{
    display:block;

    width:100%;
    height:100%;

    padding:8px;

    object-fit:contain;
}

.kmf-logo strong{
    padding:12px;

    color:#171717;

    text-align:center;
}

.kmf-brand__text{
    max-width:420px;
    margin:0;

    color:var(--kmf-muted);

    font-size:12px;
    line-height:1.95;
}

.kmf-social{
    display:flex;

    margin-top:22px;

    align-items:center;
    gap:8px;
}

.kmf-social a{
    display:grid;

    width:40px;
    height:40px;

    place-items:center;

    border:1px solid var(--kmf-line);
    border-radius:50%;

    background:rgba(255,255,255,.045);
    color:#fff !important;

    font-size:18px;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.kmf-social a:hover{
    transform:translateY(-2px);

    border-color:
        color-mix(in srgb,var(--brand) 55%,transparent);

    background:
        color-mix(in srgb,var(--brand) 23%,transparent);
}


/* Columns */
.kmf-col h3{
    margin:0 0 18px;

    color:#fff;

    font-size:17px;
    font-weight:850;
}

.kmf-links{
    display:grid;
    gap:12px;
}

.kmf-links a{
    position:relative;

    width:max-content;
    max-width:100%;

    color:var(--kmf-muted) !important;

    font-size:12px;
    font-weight:650;

    text-decoration:none !important;

    transition:
        color .2s ease,
        transform .2s ease;
}

.kmf-links a::before{
    display:inline-block;

    width:5px;
    height:5px;

    margin-inline-end:8px;

    border-radius:50%;

    background:var(--brand);

    content:'';

    vertical-align:middle;
}

.kmf-links a:hover{
    color:#fff !important;
    transform:translateX(-2px);
}

[dir="ltr"] .kmf-links a:hover{
    transform:translateX(2px);
}


/* Contact */
.kmf-contact{
    display:grid;
    gap:12px;
}

.kmf-contact a,
.kmf-contact__item{
    display:grid;

    grid-template-columns:42px minmax(0,1fr);
    gap:11px;

    align-items:center;

    color:inherit !important;

    text-decoration:none !important;
}

.kmf-contact__icon{
    display:grid;

    width:42px;
    height:42px;

    place-items:center;

    border:1px solid var(--kmf-line);
    border-radius:13px;

    background:rgba(255,255,255,.045);
    color:
        color-mix(in srgb,var(--brand) 76%,#fff);

    font-size:18px;
}

.kmf-contact small{
    display:block;

    margin-bottom:2px;

    color:#7f817b;

    font-size:9px;
}

.kmf-contact strong{
    display:block;

    overflow:hidden;

    color:#dcded8;

    font-size:11px;
    font-weight:750;
    line-height:1.55;

    text-overflow:ellipsis;
}


/* Apps */
.kmf-apps p{
    max-width:270px;
    margin:0 0 16px;

    color:var(--kmf-muted);

    font-size:11px;
    line-height:1.8;
}

.kmf-app-buttons{
    display:grid;

    width:min(100%,210px);

    gap:8px;
}

.kmf-store{
    display:grid;

    min-height:54px;
    padding:7px 12px;

    grid-template-columns:30px 1fr;
    gap:9px;

    align-items:center;

    border:1px solid var(--kmf-line);
    border-radius:13px;

    background:#090a09;
    color:#fff !important;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.kmf-store:hover{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.22);
}

.kmf-store > i{
    font-size:25px;
}

.kmf-store small{
    display:block;

    color:#a8aaa5;

    font-size:7px;
    line-height:1;
}

.kmf-store strong{
    display:block;

    margin-top:2px;

    font-size:12px;
    line-height:1.1;
}


/* Bottom */
.kmf-bottom{
    display:flex;

    min-height:66px;

    padding:18px 10px 0;

    align-items:center;
    justify-content:space-between;
    gap:24px;

    border-top:1px solid var(--kmf-line);
}

.kmf-bottom p{
    margin:0;

    color:#777a74;

    font-size:10px;
}

.kmf-payments{
    display:flex;

    align-items:center;
    gap:7px;
}

.kmf-payment{
    display:inline-flex;

    min-width:43px;
    height:30px;
    padding:0 8px;

    align-items:center;
    justify-content:center;
    gap:3px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;

    background:#f7f7f4;
    color:#171717;

    font-size:10px;
    font-weight:900;
}

.kmf-payment i{
    font-size:19px;
}

.kmf-payment--knet{
    color:#d71920;
}

.kmf-payment--apple{
    min-width:62px;
}


/* Desktop only */
@media(max-width:991px){
    .kmf-footer{
        display:none !important;
    }
}

@media(min-width:992px) and (max-width:1180px){
    .kmf-grid{
        grid-template-columns:1.2fr .7fr 1fr 1fr;
        gap:28px;
    }

    .kmf-cta{
        padding:30px;
    }
}