/******************************************
    File Name: responsive.css
    Template Name: Landigoo (Optimized)
    Updated By: Senior Laravel / Frontend Engineer
    Version: 2.0 (Clean + Scalable)
******************************************/

/* ========================================
   ROOT VARIABLES (SYNC WITH SETTINGS)
======================================== */
:root {
    --primary-color: #e75b1e;   /* fallback */
    --dark-bg: #202020;
    --white: #ffffff;
}

/* ========================================
   DESKTOP LARGE
======================================== */
@media (max-width: 1310px) {
}

/* ========================================
   DESKTOP
======================================== */
@media (max-width: 1200px) {

    .navbar-default .navbar-toggle {
        background: transparent;
        border: none;
    }

    .navbar-default .navbar-toggle .icon-bar {
        background-color: var(--primary-color);
        width: 35px;
        transition: all 0.25s ease-in-out;
    }

    .navbar-toggle .icon-bar + .icon-bar {
        margin-top: 7px;
    }

    /* Hamburger Animation */
    .main-menu .navbar-toggle.active .icon-bar:nth-child(2) {
        transform: rotate(45deg) translate(6px, 6px);
    }

    .main-menu .navbar-toggle.active .icon-bar:nth-child(3) {
        opacity: 0;
    }

    .main-menu .navbar-toggle.active .icon-bar:nth-child(4) {
        transform: rotate(-45deg) translate(7px, -7px);
    }
}

/* ========================================
   LAPTOP
======================================== */
@media (max-width: 1120px) {

    .main-menu nav li a {
        margin: 0 8px;
        font-size: 13px;
    }

    .offer-item div h3 {
        font-size: 16px;
    }

    .blog-dit h2 {
        font-size: 18px;
    }

    .banner-cell .mouse {
        display: none;
    }
}

/* ========================================
   TABLET LANDSCAPE
======================================== */
@media (max-width: 992px) {

    .banner-text h1 {
        font-size: 48px;
    }

    .navbar-header {
        width: 100%;
        padding: 0 15px;
    }

    .navbar-toggle {
        position: absolute;
        top: 20px;
        right: 15px;
        z-index: 999;
        display: block;
    }

    .navbar-collapse {
        background: var(--dark-bg);
        border: none;
    }

    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-collapse.collapse.in {
        display: block !important;
    }

    .navbar-nav {
        margin: 0;
    }

    .navbar-nav > li {
        float: none;
    }

    .navbar-nav > li > a {
        padding: 14px 0;
        color: var(--white);
        text-align: center;
    }

    .footer-box-a,
    .footer-box-b,
    .footer-box-c,
    .footer-box-d {
        margin-bottom: 25px;
    }
}

/* ========================================
   TABLET PORTRAIT
======================================== */
@media (max-width: 768px) {

    .banner {
        min-height: 700px;
        background-size: cover;
        background-position: center;
    }

    .team-main,
    .blog-main,
    .special-menu {
        background-size: cover;
        background-position: center;
    }

    .banner-text h1 {
        font-size: 42px;
        line-height: 54px;
    }

    .banner-text h2 {
        font-size: 22px;
    }

    .block-title {
        font-size: 32px;
    }

    .offer-item {
        text-align: center;
    }

    .offer-item img {
        width: 20%;
        float: none;
        margin: 0 auto 10px;
    }

    .offer-item .offer-price {
        display: none;
    }

    .offer-item div {
        width: 100%;
        padding: 0 10px;
    }

    .tab-title-menu h2 {
        font-size: 14px;
    }

    .navbar-brand img {
        max-width: 170px;
    }
}

/* ========================================
   MOBILE
======================================== */
@media (max-width: 600px) {

    .banner {
        min-height: 600px;
    }

    .banner-text h1 {
        font-size: 36px;
    }

    .block-title {
        font-size: 28px;
    }

    .pricing-main p {
        padding: 0 15px;
    }
}

/* ========================================
   SMALL MOBILE
======================================== */
@media (max-width: 480px) {

    .offer-item img {
        width: 45%;
    }

    .offer-item div h3 {
        font-size: 15px;
    }

    .navbar-toggle {
        top: 30px;
    }

    .navbar-brand img {
        max-width: 150px;
    }
}

/* ========================================
   MODAL FIX
======================================== */
@media (min-width: 768px) {
    .gal-container .modal-dialog {
        width: 55%;
        margin: 50px auto;
    }
}

@media (max-width: 768px) {
    .gal-container .modal-content {
        height: 260px;
    }
}

/* ========================================
   FOOTER – PRO LEVEL RESPONSIVE ALIGNMENT
   (Design preserved, structure improved)
======================================== */

/* Root Footer Wrapper */
.footer-main.footer-bg{
    background-image: var(--footer-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    color: #ffffff;
}

/* Overlay */
.footer-main.footer-bg::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.7);
    z-index:0;
}

/* Inner content safe layer */
.footer-main .footer-box,
.footer-main #copyright{
    position: relative;
    z-index: 2;
}

/* Footer padding control */
.footer-box{
    padding: 70px 0 40px;
}

/* Footer columns */
.footer-in-main > div[class*="col-"]{
    margin-bottom: 30px;
}

/* Footer headings */
.footer-main h3{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 18px;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* Footer text */
.footer-main p,
.footer-main span,
.footer-main li,
.footer-main a{
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,0.85);
}

/* Footer links */
.footer-main a{
    text-decoration: none;
    transition: all .25s ease;
}

.footer-main a:hover{
    color: var(--primary-color);
}

/* ==============================
   QUICK LINKS (Footer Nav)
============================== */
.footer-nav{
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav li{
    margin-bottom: 8px;
}

.footer-nav li a{
    display: inline-block;
    position: relative;
    padding-left: 14px;
}

.footer-nav li a::before{
    content: "›";
    position: absolute;
    left: 0;
    color: var(--primary-color);
}

/* ==============================
   SOCIAL ICONS
============================== */
.footer-socials{
    list-style: none;
    padding: 0;
    margin-top: 18px;
    display: flex;
    gap: 10px;
}

.footer-socials li a .social-circle-border{
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
}

.footer-socials li a:hover .social-circle-border{
    background: var(--primary-color);
    border-color: var(--primary-color);
}

/* ==============================
   CONTACT ICON ALIGNMENT
============================== */
.footer-box-c p{
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-box-c i{
    color: var(--primary-color);
    margin-top: 4px;
}

/* ==============================
   COPYRIGHT BAR
============================== */
#copyright{
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.15);
    margin-top: 30px;
}

#copyright h6{
    font-size: 13px;
    color: rgba(255,255,255,0.7);
    margin: 0;
}

/* ==============================
   RESPONSIVE FIXES
============================== */

/* Tablet */
@media (max-width: 991px){
    .footer-box{
        padding: 60px 0 30px;
    }

    .footer-main h3{
        font-size: 17px;
    }
}

/* Mobile */
@media (max-width: 767px){

    .footer-main{
        text-align: center;
    }

    .footer-socials{
        justify-content: center;
    }

    .footer-box-c p{
        justify-content: center;
        text-align: left;
    }

    .footer-nav li a{
        padding-left: 0;
    }

    .footer-nav li a::before{
        display: none;
    }
}

/* Small Mobile */
@media (max-width: 480px){

    .footer-main h3{
        font-size: 16px;
    }

    .footer-main p,
    .footer-main a{
        font-size: 13px;
    }
}
/* FORCE DYNAMIC FOOTER BG */
.footer-main.footer-bg{
    background-image: var(--footer-bg) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.footer-box{
    background-image:
      radial-gradient(
        ellipse at center,
        rgba(0,0,0,.55) 0%,
        rgba(0,0,0,.85) 100%
      ),
      var(--footer-bg) !important;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
 .hero-slider {
            position: relative;
            width: 100%;
            height: 600px;
            overflow: hidden;
        }

        /* Slides */
        .slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 1.2s ease-in-out;
        }

        .slide.active {
            opacity: 1;
            z-index: 2;
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Overlay */
        .overlay {
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            z-index: 1;
        }

        /* Content */
        .hero-content {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            color: #ffffff;
            z-index: 5;
            width: 90%;
        }

        /* Heading */
        .hero-content h1 {
            font-size: 46px;
            font-weight: 700;
            margin-bottom: 14px;
            letter-spacing: .5px;
            color: #ffffff;
        }

        /* Subtitle */
        .hero-subtitle {
            display: block;
            font-size: 15px;
            font-weight: 600;
            margin-bottom: 18px;
            color: #ffffff;
        }

        /* Paragraph */
        .hero-content p {
            font-size: 15px;
            line-height: 1.7;
            max-width: 780px;
            margin: 0 auto 32px;
            color: #ffffff;
        }

        /* Buttons */
        .hero-buttons {
            display: flex;
            justify-content: center;
            gap: 24px;
        }

        .btn-outline {
            padding: 12px 30px;
            border: 2px solid #ffffff;
            color: #ffffff;
            text-decoration: none;
            font-size: 14px;
            font-weight: 600;
            background: transparent;
            transition: none;
        }

        /* No hover effect */
        .btn-outline:hover {
            background: transparent;
            color: #ffffff;
        }

        /* Arrows */
        .nav-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            font-size: 42px;
            color: #ffffff;
            cursor: pointer;
            z-index: 10;
            padding: 8px 12px;
            opacity: 1;
            transition: none;
        }

        .nav-arrow.left {
            left: 30px;
        }

        .nav-arrow.right {
            right: 30px;
        }

        /* Mobile */
        @media (max-width:768px) {
            .hero-slider {
                height: 380px;
            }

            .hero-content h1 {
                font-size: 26px;
            }

            .hero-subtitle {
                font-size: 14px;
            }

            .hero-content p {
                font-size: 14px;
                margin-bottom: 20px;
            }

            .hero-buttons {
                flex-direction: column;
                gap: 12px;
            }
        }
         .menu-card {
            border: 1px solid #eee;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 20px;
            background: #fff;
            text-align: center;
        }

        @media (max-width: 991px) {
            .menu-card {
                margin-bottom: 15px;
            }
        }

        @media (max-width: 767px) {
            .menu-card {
                width: 100%;
                margin-bottom: 15px;
            }
        }

        .today-special-bg {
            background-image: var(--today-special-bg);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            position: relative;
        }

        .today-special-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            z-index: 0;
        }

        .today-special-bg>* {
            position: relative;
            z-index: 2;
        }

        .footer-bg {
            background-image: var(--footer-bg);
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            position: relative;
        }

        .footer-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.7);
            z-index: 0;
        }

        .footer-bg .footer-box,
        .footer-bg #copyright {
            position: relative;
            z-index: 2;
        }
                .order-online-btn {
            position: fixed;
            right: 20px;
            bottom: 80px;
            background: #ff4d23;
            color: #fff;
            font-size: 18px;
            padding: 12px 25px;
            border-radius: 50px;
            font-weight: bold;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            z-index: 9999;
            transition: 0.3s;
        }

        .order-online-btn:hover {
            background: #d63a17;
            text-decoration: none;
            transform: translateY(-3px);
        }

        @media (max-width: 768px) {
            .order-online-btn {
                right: 15px;
                bottom: 20px;
                padding: 10px 18px;
                font-size: 16px;
            }
        }
         body {
            overflow-y: auto !important;
        }

        .menu-card {
            border: 1px solid #eee;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 20px;
            background: #fff;
        }

        .filter-btn {
            margin: 5px;
        }

        .cart-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: #e74c3c;
            width: 55px;
            height: 55px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 22px;
            cursor: pointer;
            z-index: 9999;
        }

        .cart-count {
            position: absolute;
            top: -6px;
            right: -6px;
            background: black;
            color: #fff;
            width: 20px;
            height: 20px;
            font-size: 12px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
         body {
            overflow-y: auto !important;
        }

        .checkout-box {
            margin-top: 80px;
            margin-bottom: 80px;
        }

        .order-summary {
            border: 1px solid #ddd;
            padding: 25px;
            border-radius: 10px;
            background: #fff;
        }

        .order-summary table tr td {
            padding: 8px 0;
        }

        .qty-btn {
            padding: 2px 8px;
            font-size: 11px;
        }

        .place-order-btn {
            width: 100%;
            padding: 15px;
            font-size: 18px;
        }
         .toast {
            position: fixed;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            background: #27ae60;
            color: #fff;
            padding: 12px 22px;
            border-radius: 8px;
            font-size: 16px;
            display: none;
            opacity: 0;
            z-index: 9999;
            transition: all .4s ease;
        }

        .toast.error {
            background: #e74c3c;
        }
/* ===== FIX TODAY SPECIAL HOVER (NO REMOVAL) ===== */

.item-type-zoom {
    position: relative;
    overflow: hidden;
}

.item-type-zoom .item-img {
    position: relative;
    z-index: 1;
}

.item-type-zoom .item-hover {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    opacity: 0;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: opacity 0.4s ease;
    text-decoration: none;
}

.item-type-zoom:hover .item-hover {
    opacity: 1;
}

.item-type-zoom img {
    transition: transform 0.5s ease;
}

.item-type-zoom:hover img {
    transform: scale(1.1);
}

/* text styling safety */
.item-hover .headline,
.item-hover .dit-line {
    color: #fff;
}
