﻿html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

:root {
    --orange: #ff8a00;
    --orange-dark: #e66f00;
    --cream: #fff9ed;
    --cream-dark: #fff1d6;
    --text: #252525;
    --muted: #777;
    --border: #f0dfc2;
    --white: #ffffff;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    overflow-wrap: break-word;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Vazirmatn", sans-serif;
    background: var(--cream);
    color: var(--text);
    line-height: 1.8;
}

button,
input {
    font-family: inherit;
}

a {
    text-decoration: none;
    color: inherit;
}

/* =========================
        HEADER
        ========================== */

.header {
    width: 100%;
    padding: 22px 5%;
}

.header-inner {
    max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    direction: ltr;
    font-family: cursive;
    font-size: 43px;
    font-weight: 800;
    letter-spacing: -3px;
    color: #222;
}

    .logo span {
        color: var(--orange);
    }

.header-actions {
    display: flex;
    gap: 12px;
}

.header-btn {
    width: 62px;
    height: 62px;
    border: 1px solid #f2dfc0;
    background: rgba(255,255,255,.55);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #333;
    cursor: pointer;
    transition: .2s;
}

    .header-btn:hover {
        background: white;
        transform: translateY(-2px);
    }

    .header-btn .icon {
        font-size: 25px;
        line-height: 1;
    }

    .header-btn small {
        font-size: 10px;
        margin-top: 3px;
    }

/* =========================
        HERO
        ========================== */

.hero {
    text-align: center;
    max-width: 1000px;
    margin: 30px auto 0;
    padding: 0 20px;
}

    .hero h1 {
        font-size: clamp(30px, 5vw, 54px);
        line-height: 1.5;
        font-weight: 800;
    }

        .hero h1 .highlight {
            display: block;
            color: var(--orange);
            margin-top: 5px;
        }

.hero-description {
    color: #666;
    font-size: 18px;
    margin: 18px auto 35px;
    max-width: 650px;
}

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    direction: rtl;
    margin-top:30px;
    justify-content:center;
}

.menu101-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 22px;
    border-radius: 10px;
    text-decoration: none;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}


.menu101-btn-outline {
    color: #333;
    background: transparent;
    border: 1px solid #ddd;
}

.menu101-btn-outline:hover {
    background: #f7f7f7;
    border-color: #ccc;
}


.menu101-btn-primary {
    color: #fff;
    background: #111;
    border: 1px solid #111;
}

.menu101-btn-primary:hover {
    background: #292929;
    border-color: #292929;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}



html {
    scroll-behavior: smooth;
}



@media (max-width: 600px) {
    .menu101-nav-actions {
        gap: 6px;
    }

    .menu101-btn {
        height: 40px;
        padding: 0 14px;
        font-size: 14px;
    }
}

/* =========================
        BENEFITS
        ========================== */

.benefits {
    max-width: 900px;
    margin: 0 auto 45px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.benefit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 10px;
}

.benefit-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--cream-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--orange);
    font-size: 24px;
}

.benefit-text {
    text-align: right;
}

    .benefit-text strong {
        display: block;
        font-size: 14px;
    }

    .benefit-text span {
        display: block;
        color: #999;
        font-size: 12px;
    }

/* =========================
                   MENU / QR ILLUSTRATION
                ========================== */

.illustration {
    max-width: 1000px;
    min-height: 360px;
    margin: 0 auto 55px;
    padding: 45px 50px;
    border-radius: 35px;
    background: #fff3dc;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100px;
}

    .illustration::before,
    .illustration::after {
        content: "✦";
        position: absolute;
        color: #ffc56e;
        font-size: 28px;
    }

    .illustration::before {
        top: 50px;
        right: 50px;
    }

    .illustration::after {
        bottom: 50px;
        left: 60px;
    }

/* Laptop */

.laptop {
    width: 390px;
    position: relative;
}

.laptop-screen {
    height: 245px;
    border: 10px solid #242b2d;
    border-radius: 16px 16px 8px 8px;
    background: #fffdf8;
    padding: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.screen-title {
    text-align: center;
    color: #b76b18;
    font-weight: 700;
    margin-bottom: 12px;
}

.menu-content {
    display: flex;
    gap: 12px;
    height: 170px;
}

.menu-categories {
    width: 85px;
    border-left: 1px solid #eadbc3;
}

    .menu-categories div {
        font-size: 10px;
        color: #8c7558;
        padding: 5px;
    }

.menu-items {
    flex: 1;
}

.menu-item {
    height: 48px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

.menu-item-text {
    text-align: right;
    font-size: 9px;
}

    .menu-item-text strong {
        display: block;
    }

    .menu-item-text span {
        color: var(--orange);
        font-size: 8px;
    }

.food-image {
    width: 38px;
    height: 38px;
    border-radius: 7px;
    background: #ffe4bd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.laptop-base {
    width: 430px;
    height: 18px;
    margin-right: -20px;
    background: #cbb99c;
    border-radius: 0 0 40px 40px;
    box-shadow: 0 5px 5px rgba(0,0,0,.08);
}

/* Arrow */

.arrow {
    color: var(--orange);
    font-size: 55px;
    font-weight: 700;
    transform: rotate(180deg);
}

/* QR stand */

.qr-stand {
    width: 210px;
    text-align: center;
}

.qr-card {
    width: 190px;
    height: 220px;
    background: #fff;
    border: 5px solid #f2d5a5;
    border-radius: 15px;
    padding: 18px;
    transform: rotate(-3deg);
    box-shadow: 0 10px 20px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

    .qr-card p {
        font-size: 13px;
        font-weight: 600;
        margin-bottom: 10px;
    }

.qr {
    width: 125px;
    height: 125px;
    background: linear-gradient(90deg, #111 8px, transparent 8px) 0 0 / 25px 25px, linear-gradient(#111 8px, transparent 8px) 0 0 / 25px 25px, linear-gradient(90deg, transparent 17px, #111 17px 24px, transparent 24px) 0 0 / 25px 25px, linear-gradient(transparent 17px, #111 17px 24px, transparent 24px) 0 0 / 25px 25px;
    border: 8px solid white;
}

/* =========================
                   LOGIN
                ========================== */

.login {
    max-width: 620px;
    margin: 0 auto 70px;
    padding: 0 20px;
    text-align: center;
}

    .login h2 {
        font-size: 20px;
        margin-bottom: 18px;
    }

.phone-input {
    width: 100%;
    height: 70px;
    border: 2px solid #eadfd0;
    background: white;
    border-radius: 17px;
    padding: 0 25px;
    font-size: 17px;
    outline: none;
    transition: .2s;
}

    .phone-input:focus {
        border-color: var(--orange);
    }

    .phone-input::placeholder {
        color: #aaa;
    }

.login-btn {
    width: 100%;
    height: 70px;
    margin-top: 15px;
    border: 0;
    border-radius: 17px;
    background: linear-gradient( 135deg, #ff9800, #ff7900 );
    color: white;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(255,138,0,.2);
    transition: .2s;
}

    .login-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 25px rgba(255,138,0,.28);
    }

.secure {
    color: #888;
    font-size: 12px;
    margin-top: 12px;
}

/* =========================
                   HOW IT WORKS
                ========================== */

.how-it-works {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px 70px;
}

.section-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 45px;
    position: relative;
}

    .section-title::after {
        content: "";
        display: block;
        width: 45px;
        height: 4px;
        background: var(--orange);
        border-radius: 10px;
        margin: 10px auto 0;
    }

.steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.step {
    background: rgba(255,255,255,.55);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 35px 25px 30px;
    text-align: center;
    position: relative;
}

.step-number {
    position: absolute;
    top: -23px;
    right: 50%;
    transform: translateX(50%);
    width: 48px;
    height: 48px;
    background: #fff1d6;
    border: 5px solid var(--cream);
    border-radius: 50%;
    color: var(--orange);
    font-size: 20px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.step-icon {
    font-size: 50px;
    margin: 10px 0 15px;
}

.step h3 {
    font-size: 18px;
    margin-bottom: 8px;
}

.step p {
    font-size: 13px;
    color: #777;
}

/* =========================
                   FOOTER BANNER

        ========================== */

.footer-banner {
    width: fit-content;
    max-width: calc(100% - 40px);
    margin: 0 auto 35px;
    padding: 12px 28px;
    border: 1px solid #f2dfbd;
    border-radius: 30px;
    background: #fff5e3;
    color: #76664e;
    font-size: 14px;
}

    .footer-banner span {
        color: #ed6464;
    }

/* =========================
                   RESPONSIVE
                ========================== */

@media (max-width: 800px) {
    .header {
        padding: 16px 20px;
    }

    .logo {
        font-size: 35px;
    }

    .header-btn {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

        .header-btn .icon {
            font-size: 20px;
        }

        .header-btn small {
            display: none;
        }

    .hero {
        margin-top: 25px;
    }

    .hero-description {
        font-size: 15px;
    }

    .benefits {
        grid-template-columns: 1fr;
        gap: 5px;
        max-width: 360px;
    }

    .benefit {
        justify-content: flex-start;
    }

    .illustration {
        margin-left: 15px;
        margin-right: 15px;
        padding: 35px 15px;
        flex-direction: column;
        gap: 25px;
        min-height: auto;
    }

    .laptop {
        width: 100%;
        max-width: 340px;
    }

    .laptop-screen {
        height: 210px;
    }

    .laptop-base {
        width: 105%;
    }

    .arrow {
        font-size: 40px;
        transform: rotate(90deg);
    }

    .qr-stand {
        margin-top: 5px;
    }

    .steps {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .step {
        max-width: 400px;
        margin: auto;
        width: 100%;
    }
}

@media (max-width: 420px) {
    .hero h1 {
        font-size: 29px;
    }

        .hero h1 .highlight {
            font-size: 31px;
        }

    .hero-description {
        font-size: 14px;
    }

    .illustration {
        border-radius: 25px;
    }

    .laptop-screen {
        height: 190px;
        border-width: 7px;
        padding: 10px;
    }

    .menu-content {
        height: 145px;
    }

    .menu-item {
        height: 41px;
    }

    .menu-categories {
        width: 65px;
    }

        .menu-categories div {
            font-size: 8px;
        }

    .menu-item-text {
        font-size: 8px;
    }

    .food-image {
        width: 31px;
        height: 31px;
        font-size: 17px;
    }

    .laptop-base {
        width: 108%;
        height: 14px;
    }
}

bi,
bi::before{
    font-family: "bootstrap-icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1;
}


/* =====================================================
   MENU101 RESTAURANT LIST
   ===================================================== */

.restaurant-page {
    --menu-orange: #ff8500;
    --menu-orange-dark: #e96f00;

    --menu-cream: #fff8e9;
    --menu-card: #ffffff;

    --menu-text: #202020;
    --menu-muted: #858585;

    --menu-border: #eee3d3;

    min-height: 100vh;
    background: var(--menu-cream);

    padding-bottom: 100px;
}




/* =========================================
   CREATE RESTAURANT CTA
   ========================================= */

.create-restaurant-cta {
    width: min(94%, 1100px);
    margin: 25px auto 35px;
}

.cta-content {
    display: flex;
    align-items: center;
    gap: 22px;

    padding: 22px 28px;

    background: linear-gradient(
        135deg,
        #fff7e5,
        #fff1d0
    );

    border: 1px solid #f4dca8;
    border-radius: 24px;

    box-shadow: 0 8px 25px rgba(80, 50, 20, 0.08);
}

/* Icon */

.cta-icon {
    width: 65px;
    height: 65px;

    flex: 0 0 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f6a800;
    color: white;

    border-radius: 18px;

    font-size: 29px;
}

/* Text */

.cta-text {
    flex: 1;
}

.cta-text h1 {
    margin: 0 0 6px;

    font-size: 25px;
    font-weight: 800;

    color: #252525;
}

.cta-text p {
    margin: 0;

    font-size: 16px;
    color: #777;

    line-height: 1.8;
}

/* Button */

.cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-width: 190px;

    padding: 15px 22px;

    background: #f6a800;
    color: white;

    border-radius: 15px;

    font-size: 17px;
    font-weight: 700;

    text-decoration: none;

    transition: all 0.2s ease;
}

.cta-button:hover {
    background: #e99500;
    color: white;

    transform: translateY(-2px);

    box-shadow: 0 7px 15px rgba(246, 168, 0, 0.25);
}

.cta-button i {
    font-size: 18px;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

    .create-restaurant-cta {
        width: calc(100% - 30px);
        margin: 18px auto 28px;
    }

    .cta-content {
        padding: 18px;
        gap: 15px;

        border-radius: 20px;

        /* Keep everything compact horizontally */
flex-wrap: wrap;
}

.cta-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    border-radius: 15px;
    font-size: 23px;
}

.cta-text {
    min-width: 0;
    flex: 1;
}

    .cta-text h1 {
        font-size: 19px;
        margin-bottom: 3px;
    }

    .cta-text p {
        font-size: 13px;
        line-height: 1.6;
    }

.cta-button {
    width: 100%;
    min-width: 0;
    padding: 13px 15px;
    font-size: 16px;
    border-radius: 13px;
}

}

/* =====================================================
   HEADER
   ===================================================== */

.restaurant-header {
    max-width: 1100px;
    margin: 0 auto;

    padding: 22px 24px 10px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


.menu101-logo {
    direction: ltr;

    font-family: cursive;

    font-size: 42px;
    font-weight: 800;

    letter-spacing: -3px;

    color: #161616;

    text-decoration: none;
}

.menu101-logo span {
    color: var(--menu-orange);
}


.header-actions {
    display: flex;
    gap: 12px;
}


.header-action {
    width: 72px;
    min-height: 68px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    background: rgba(255,255,255,.65);

    border: 1px solid #f0e1ca;

    border-radius: 18px;

    color: #222;

    text-decoration: none;

    transition: .2s ease;
}


.header-action:hover {
    background: #fff;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(70,40,10,.08);
}


.header-action i {
    font-size: 25px;
}


.header-action span {
    font-size: 10px;
}


/* =====================================================
   HERO
   ===================================================== */

.restaurant-hero {
    text-align: center;

    padding: 28px 20px 22px;
}


.restaurant-hero h1 {
    margin: 0;

    font-size: clamp(30px, 5vw, 48px);

    font-weight: 800;

    line-height: 1.4;

    color: var(--menu-text);
}


.title-decoration {
    color: var(--menu-orange);

    font-size: 42px;

    margin-right: 5px;
}


.restaurant-hero p {
    margin: 8px 0 0;

    font-size: 17px;

    color: var(--menu-muted);
}


/* =====================================================
   SEARCH
   ===================================================== */

.restaurant-search {
    max-width: 1000px;

    margin: 0 auto;

    padding: 0 20px;

    display: flex;

    gap: 12px;
}


.search-box {
    flex: 1;

    height: 68px;

    background: #fff;

    border: 1px solid var(--menu-border);

    border-radius: 18px;

    display: flex;
    align-items: center;

    padding: 0 22px;

    box-shadow: 0 4px 15px rgba(80,50,20,.04);

    transition: .2s;
}


.search-box:focus-within {
    border-color: var(--menu-orange);

    box-shadow:
        0 0 0 4px rgba(255,133,0,.08);
}


.search-box i {
    font-size: 27px;

    color: #777;

    margin-left: 14px;
}


.search-box input {
    flex: 1;

    width: 100%;

    height: 100%;

    border: 0;

    outline: 0;

    background: transparent;

    font-family: inherit;

    font-size: 16px;

    color: var(--menu-text);
}


.search-box input::placeholder {
    color: #aaa;
}


.filter-button {
    width: 68px;
    height: 68px;

    flex-shrink: 0;

    border: 1px solid #f2d5ae;

    border-radius: 18px;

    background: #fff;

    color: var(--menu-orange);

    font-size: 24px;

    cursor: pointer;

    transition: .2s;
}


.filter-button:hover {
    background: var(--menu-orange);

    color: #fff;
}


/* =====================================================
   CATEGORIES
   ===================================================== */

.category-list {
    max-width: 1000px;
    margin: 20px auto 28px;
    padding: 0 20px;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}


    .category-list::-webkit-scrollbar {
        display: none;
    }


.category {
    flex-shrink: 0;
    border: 1px solid #eee2d0;
    background: #fff;
    color: #444;
    padding: 11px 23px;
    border-radius: 30px;
    font-family: inherit;
    font-size: 14px;
    cursor: pointer;
    transition: .2s;
}


    .category:hover {
        border-color: var(--menu-orange);
        color: var(--menu-orange);
    }


    .category.active {
        background: var(--menu-orange);
        color: #fff;
        border-color: var(--menu-orange);
        box-shadow: 0 7px 16px rgba(255,133,0,.18);
    }


/* =====================================================
   RESTAURANT LIST
   ===================================================== */

@media(min-width: 1000px){
    .restaurant-list {
        /*max-width: 1000px;*/
        /*margin: 0 auto;
        padding: 0 20px;*/
        /*display: flex;*/
        /*flex-direction: column;*/
        gap: 22px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 280px !important;
    }

    .restaurant-card{
        height: 280px !important;
    }

    .restaurant-image{
        height: 280px !important;
    }

    .restaurant-card img{
        height: 280px !important;
        object-fit: cover
    }

    .restaurant-info{
        height: 280px !important;
    }
}

/* =====================================================
   RESTAURANT CARD
   ===================================================== */

.restaurant-card {
    background: var(--menu-card);

    border: 1px solid var(--menu-border);

    border-radius: 25px;

    overflow: hidden;

    display: grid;

    grid-template-columns: 1.05fr 1fr;

    direction: ltr;

    box-shadow:
        0 7px 25px rgba(65,40,15,.07);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.restaurant-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(65,40,15,.12);
}


/* =====================================================
   RESTAURANT IMAGE
   ===================================================== */

.restaurant-image {
    min-height: 330px;

    position: relative;

    overflow: hidden;
}


.restaurant-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .4s ease;
}


.restaurant-card:hover .restaurant-image img {
    transform: scale(1.035);
}


/* =====================================================
   FAVORITE
   ===================================================== */

.favorite-button {
    position: absolute;

    top: 16px;
    left: 16px;

    width: 48px;
    height: 48px;

    border: 0;

    border-radius: 50%;

    background: rgba(255,255,255,.95);

    color: #202020;

    display: flex;

    align-items: center;
    justify-content: center;

    font-size: 22px;

    cursor: pointer;

    box-shadow: 0 5px 15px rgba(0,0,0,.12);

    transition: .2s;
}


.favorite-button:hover {
    color: #e85e5e;

    transform: scale(1.06);
}


.favorite-button.is-favorite {
    color: #e85e5e;
}


.favorite-button.is-favorite i::before {
    content: "\f415";
}


/* =====================================================
   RESTAURANT INFORMATION
   ===================================================== */

.restaurant-info {
    direction: rtl;

    padding: 30px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;
}


.restaurant-info h2 {
    margin: 0 0 3px;

    color: var(--menu-text);

    font-size: 29px;

    font-weight: 800;

    line-height: 1.4;
}


.restaurant-type {
    color: var(--menu-orange);

    font-size: 16px;

    font-weight: 600;

    margin-bottom: 20px;
}


.restaurant-location {
    display: flex;

    align-items: center;

    gap: 7px;

    color: #404040;

    font-size: 15px;

    margin-bottom: 2px;
}


.restaurant-location i {
    color: #555;

    font-size: 18px;
}


.restaurant-address {
    color: #999;

    font-size: 13px;

    margin-bottom: 17px;
}


/* =====================================================
   META
   ===================================================== */

.restaurant-meta {
    display: flex;

    align-items: center;

    gap: 18px;

    font-size: 13px;

    margin-bottom: 22px;
}


.open-status {
    color: #4c9c55;

    display: flex;

    align-items: center;

    gap: 5px;

    font-weight: 600;
}


.open-status i {
    font-size: 7px;
}


.rating {
    color: #555;

    display: flex;

    align-items: center;

    gap: 4px;
}


.rating i {
    color: #444;
}


.rating small {
    color: #999;

    font-size: 11px;
}


/* =====================================================
   MENU BUTTON
   ===================================================== */

.menu-button {
    width: 100%;
    min-height: 58px;
    border-radius: 15px;
    /*background: var(--menu-orange);*/
    background-color: orange;
    color: white;
    text-decoration: none;
    font-family: inherit;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: .2s ease;
}


    .menu-button:hover {
        color: #fff;
        /*background: var(--menu-orange-dark);*/
        background-color: darkorange;
        transform: translateY(-1px);
        box-shadow: 0 8px 20px rgba(255,133,0,.22);
    }


    .menu-button i {
        font-size: 20px;
    }


/* =====================================================
   NO RESULTS
   ===================================================== */

.no-results {
    text-align: center;

    padding: 80px 20px;

    color: #777;
}


.no-results i {
    font-size: 45px;

    color: #ccc;
}


.no-results h3 {
    margin: 15px 0 5px;

    color: #333;
}


/* =====================================================
   BOTTOM NAVIGATION
   ===================================================== */

.bottom-navigation {
    position: fixed;

    z-index: 1000;

    bottom: 0;
    right: 0;
    left: 0;

    height: 76px;

    background: rgba(255,255,255,.96);

    border-top: 1px solid #eee4d6;

    backdrop-filter: blur(12px);

    display: flex;

    justify-content: center;

    gap: 60px;

    padding: 7px 20px;

    box-shadow:
        0 -5px 20px rgba(60,40,20,.05);
}


.bottom-nav-item {
    min-width: 65px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 2px;

    color: #888;

    text-decoration: none;

    font-size: 11px;

    transition: .2s;
}


.bottom-nav-item i {
    font-size: 25px;
}


.bottom-nav-item.active {
    color: var(--menu-orange);

    font-weight: 700;
}


.bottom-nav-item:hover {
    color: var(--menu-orange);
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 700px) {

    .restaurant-header {
        padding: 16px 16px 5px;
    }


    .menu101-logo {
        font-size: 34px;
    }


    .header-action {
        width: 54px;
        min-height: 54px;
        border-radius: 15px;
    }


        .header-action i {
            font-size: 21px;
        }


        .header-action span {
            display: none;
        }


    .restaurant-hero {
        padding: 25px 18px 18px;
    }


        .restaurant-hero h1 {
            font-size: 30px;
        }


        .restaurant-hero p {
            font-size: 14px;
        }


    .restaurant-search {
        padding: 0 15px;
    }


    .search-box {
        height: 58px;
        border-radius: 16px;
        padding: 0 17px;
    }


        .search-box i {
            font-size: 23px;
        }


        .search-box input {
            font-size: 14px;
        }


    .filter-button {
        width: 58px;
        height: 58px;
        border-radius: 16px;
    }


    .category-list {
        padding: 0 15px;
        margin-top: 15px;
        margin-bottom: 22px;
    }


    .category {
        padding: 9px 18px;
        font-size: 13px;
    }


    .restaurant-list {
        padding: 0 15px;
        gap: 18px;
    }


    .restaurant-card {
        display: flex;
        /*flex-direction: column;*/
        border-radius: 22px;
    }


    .restaurant-image {
        width: 50%;
        height: 220px;
        min-height: 220px;
    }


    .restaurant-info {
        padding: 20px;
        width: 50%
    }


        .restaurant-info h2 {
            font-size: 23px;
        }


    .restaurant-type {
        margin-bottom: 12px;
        font-size: 14px;
    }


    .restaurant-location {
        font-size: 14px;
    }


    .restaurant-address {
        margin-bottom: 12px;
    }


    .restaurant-meta {
        margin-bottom: 15px;
    }


    .menu-button {
        min-height: 53px;
        font-size: 15px;
        background-color: orange
    }


    .bottom-navigation {
        height: 70px;
        justify-content: space-around;
        gap: 0;
        padding: 5px 5px;
    }


    .bottom-nav-item {
        min-width: 60px;
        font-size: 10px;
    }


        .bottom-nav-item i {
            font-size: 22px;
        }
}


/* =====================================================
   SMALL PHONES
   ===================================================== */

@media (max-width: 380px) {

    .restaurant-hero h1 {
        font-size: 26px;
    }


    .restaurant-image {
        height: 195px;
        min-height: 195px;
    }


    .restaurant-info {
        padding: 17px;
    }


        .restaurant-info h2 {
            font-size: 21px;
        }


    .header-actions {
        gap: 7px;
    }
}



/* =========================================================
   MENU101 VENDOR DASHBOARD
   ========================================================= */

.vendor-page {

    --menu-orange: #ff8500;
    --menu-orange-dark: #e96f00;

    --cream: #fffaf1;
    --card: #ffffff;

    --text: #202020;
    --muted: #858585;

    --border: #eee4d6;

    min-height: 100vh;

    direction: rtl;

    background: var(--cream);

    color: var(--text);

    padding-bottom: 110px;
}


/* =========================================================
   HEADER
   ========================================================= */

.vendor-header {

    max-width: 1050px;

    margin: 0 auto;

    padding: 20px 25px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    direction: ltr;
}


.vendor-logo img {

    width: 180px;

    height: auto;

    display: block;
}


.vendor-header-actions {

    display: flex;

    gap: 10px;

    direction: rtl;
}


.vendor-header-button {

    width: 80px;

    height: 75px;

    background: rgba(255,255,255,.8);

    border: 1px solid #eee1cd;

    border-radius: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 5px;

    color: #252525;

    text-decoration: none;

    transition: .2s ease;
}


.vendor-header-button:hover {

    background: white;

    color: var(--menu-orange);

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(70,40,10,.08);
}


.vendor-header-button i {

    font-size: 27px;
}


.vendor-header-button span {

    font-size: 11px;
}


/* =========================================================
   WELCOME
   ========================================================= */

.vendor-welcome {

    max-width: 1050px;

    margin: 10px auto 25px;

    padding: 0 25px;

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 15px;
}


.welcome-icon {

    width: 70px;

    height: 70px;

    border-radius: 50%;

    background: #fff0dc;

    color: var(--menu-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 35px;

    flex-shrink: 0;
}


.vendor-welcome h1 {

    margin: 0;

    font-size: 27px;

    font-weight: 800;
}


.vendor-welcome p {

    margin: 5px 0 0;

    color: var(--muted);

    font-size: 16px;
}


/* =========================================================
   ADD RESTAURANT
   ========================================================= */

.add-restaurant-card {

    max-width: 1000px;

    margin: 0 auto 35px;

    min-height: 120px;

    padding: 20px 25px;

    background: white;

    border: 1px solid var(--border);

    border-radius: 24px;

    box-shadow: 0 6px 25px rgba(70,45,20,.06);

    display: flex;

    align-items: center;

    gap: 22px;

    color: var(--text);

    text-decoration: none;

    transition: .2s ease;
}


.add-restaurant-card:hover {

    transform: translateY(-2px);

    color: var(--text);

    box-shadow: 0 12px 30px rgba(70,45,20,.1);
}


.add-restaurant-icon {

    width: 90px;

    height: 90px;

    border: 2px dashed #ffbd6b;

    border-radius: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--menu-orange);

    font-size: 35px;

    flex-shrink: 0;
}


.add-restaurant-text {

    flex: 1;
}


.add-restaurant-text h2 {

    margin: 0 0 5px;

    font-size: 23px;

    font-weight: 800;
}


.add-restaurant-text p {

    margin: 0;

    color: var(--muted);

    font-size: 14px;
}


.add-arrow {

    font-size: 27px;

    color: #999;
}


/* =========================================================
   RESTAURANT HEADING
   ========================================================= */

.restaurants-heading {
    max-width: 1000px;
    margin: 0 auto 18px;
    padding: 0 5px;
    display: flex;
    justify-content: flex-start;
}


    .restaurants-heading h2 {
        margin: 0;
        font-size: 25px;
        font-weight: 800;
        display: flex;
        align-items: center;
        gap: 9px;
    }


    .restaurants-heading

    p {
        margin: 4px 0 0;
        color: var(--muted);
        font-size: 14px;
    }


.heading-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--menu-orange);
    display: inline-block;
}


/* =========================================================
   RESTAURANT LIST
   ========================================================= */

.restaurants-list {

    max-width: 1000px;

    margin: 0 auto;

    display: flex;

    flex-direction: column;

    gap: 16px;

    overflow-wrap: break-word;
}


/* =========================================================
   RESTAURANT CARD
   ========================================================= */

.vendor-restaurant-card {

    background: var(--card);

    border: 1px solid var(--border);

    border-radius: 24px;

    overflow: hidden;

    min-height: 255px;

    display: grid;

    grid-template-columns: 280px 1fr;

    direction: ltr;

    box-shadow:
        0 5px 20px rgba(60,40,15,.055);

    transition: .2s ease;
}


.vendor-restaurant-card:hover {

    transform: translateY(-2px);

    box-shadow:
        0 12px 30px rgba(60,40,15,.1);
}


/* =========================================================
   RESTAURANT IMAGE
   ========================================================= */

.vendor-restaurant-image {

    width: 280px;

    height: 255px;

    overflow: hidden;

    background: #f4eee4;
}


.vendor-restaurant-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .35s ease;
}


.vendor-restaurant-card:hover
.vendor-restaurant-image img {

    transform: scale(1.03);
}


.restaurant-image-placeholder {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #c8bca9;

    font-size: 55px;
}


/* =========================================================
   CONTENT
   ========================================================= */

.vendor-restaurant-content {

    direction: rtl;

    padding: 25px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;
}


/* =========================================================
   TITLE
   ========================================================= */

.restaurant-title-row {

    position: relative;

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 10px;

    margin-bottom: 7px;
}


.restaurant-title-row h3 {

    margin: 0;

    font-size: 24px;

    font-weight: 800;

    line-height: 1.4;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


.restaurant-type {

    color: var(--menu-orange);

    font-size: 14px;

    font-weight: 600;

    margin-top: 2px;
}


/* =========================================================
   MORE BUTTON
   ========================================================= */

.restaurant-more-button {

    border: 0;

    background: transparent;

    color: #222;

    font-size: 24px;

    width: 35px;

    height: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;
}


.restaurant-more-button:hover {

    color: var(--menu-orange);
}


/* =========================================================
   LOCATION
   ========================================================= */

.restaurant-location {

    display: flex;

    align-items: center;

    gap: 5px;

    color: #777;

    font-size: 13px;

    margin-top: 7px;
}


.restaurant-location i {

    font-size: 16px;
}


/* =========================================================
   STATUS
   ========================================================= */

.restaurant-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 700;
    margin-top: 9px;
}


.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}


.restaurant-status.active {
    color: #168451;
}


    .restaurant-status.active .status-dot {
        background: #168451;
    }


.restaurant-status.in

active {
    color: #dc3333;
}


.restaurant-status.inactive .status-dot {
    background: #dc3333;
}


/* =========================================================
   ACTION BUTTONS
   ========================================================= */

.restaurant-actions {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;

    margin-top: 20px;
}


.restaurant-action {

    /*min-height: 62px;*/
    height: auto;

    width:auto;

    border-radius: 15px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 4px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    transition: .2s ease;
}


.restaurant-action i {

    font-size: 22px;
}


/* Edit */

.restaurant-action.edit {

    background: #fff8e8;

    color: #c98000;
}


/* Menu */

.restaurant-action.menu {

    background: #eef8fc;

    color: #087d9d;
}


/* QR */

.restaurant-action.qr {

    background: #eef9f1;

    color: #168451;
}

/* subscription */

.restaurant-action.subscription{

    background: darkorange;

    color: white
}


.restaurant-action:hover {

    transform: translateY(-2px);

    filter: brightness(.97);
}


/* =========================================================
   TIP
   ========================================================= */

.vendor-tip {

    max-width: 1000px;

    margin: 25px auto 30px;

    padding: 18px 22px;

    background: #fff4e5;

    border: 1px solid #ffe0b7;

    border-radius: 20px;

    display: flex;

    align-items: center;

    gap: 15px;
}


.tip-icon {

    width: 55px;

    height: 55px;

    border-radius: 50%;

    background: #fff;

    color: var(--menu-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 27px;

    flex-shrink: 0;
}


.vendor-tip strong {

    font-size: 15px;
}


.vendor-tip p {

    margin: 3px 0 0;

    color: #888;

    font-size: 13px;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.empty-restaurants {

    background: white;

    border: 1px solid var(--border);

    border-radius: 24px;

    padding: 60px 20px;

    text-align: center;
}


.empty-icon {

    width: 80px;

    height: 80px;

    margin: 0 auto 15px;

    border-radius: 50%;

    background: #fff2df;

    color: var(--menu-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 35px;
}


.empty-restaurants h3 {

    margin: 0 0 8px;

    font-size: 22px;
}


.empty-restaurants p {

    color: #888;

    margin-bottom: 20px;
}


.empty-button {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    background: var(--menu-orange);

    color: white;

    padding: 12px 24px;

    border-radius: 13px;

    text-decoration: none;

    font-weight: 700;
}


/* =========================================================
   BOTTOM NAVIGATION
   ========================================================= */

.vendor-bottom-nav {

    position: fixed;

    z-index: 1000;

    left: 15px;

    right: 15px;

    bottom: 12px;

    max-width: 1000px;

    margin: auto;

    height: 75px;

    background: rgba(255,255,255,.96);

    border: 1px solid #eee4d7;

    border-radius: 25px;

    box-shadow:
        0 5px 25px rgba(60,40,20,.12);

    backdrop-filter: blur(12px);

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    direction: rtl;

}


.bottom-nav-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 3px;

    color: #858585;

    text-decoration: none;

    font-size: 11px;

    border-radius: 20px;

    margin: 6px;

    transition: .2s ease;
}


.bottom-nav-item i {

    font-size: 24px;
}


.bottom-nav-item.active {

    color: var(--menu-orange);

    background: #fff0dd;

    font-weight: 700;
}


.bottom-nav-item:hover {

    color: var(--menu-orange);
}


/* =========================================================
   DESKTOP CONTAINER
   ========================================================= */

@media (min-width: 1051px) {

    .restaurants-lis

    t,
    .vendor-tip,
    .restaurants-heading {
        padding-left: 0;
        padding-right: 0;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 800px) {

    .vendor-header {

        padding: 16px;

    }


    .vendor-logo img {

        width: 150px;
    }


    .vendor-header-button {

        width: 65px;

        height: 65px;
    }


    .vendor-header-button span {

        display: none;
    }


    .vendor-welcome {

        padding: 0 16px;
    }


    .add-restaurant-card,
    .restaurants-list,
    .vendor-tip,
    .restaurants-heading {

        margin-left: 16px;

        margin-right: 16px;
    }


    .vendor-restaurant-card {

        grid-template-columns: 220px 1fr;

        min-height: 220px;
    }


    .vendor-restaurant-image {

        width: 220px;

        height: 220px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .vendor-page {

        padding-bottom: 95px;
    }


    /* Header */

    .vendor-header {

        padding: 15px 12px 5px;
    }


    .vendor-logo img {

        width: 125px;
    }


    .vendor-header-actions {

        gap: 6px;
    }


    .vendor-header-button {

        width: 51px;

        height: 51px;

        border-radius: 15px;
    }


    .vendor-header-button i {

        font-size: 21px;
    }


    /* Welcome */

    .vendor-welcome {

        margin-top: 18px;

        padding: 0 15px;

        gap: 10px;
    }


    .welcome-icon {

        width: 58px;

        height: 58px;

        font-size: 28px;
    }


    .vendor-welcome h1 {

        font-size: 21px;
    }


    .vendor-welcome p {

        font-size: 13px;
    }


    /* Add */

    .add-restaurant-card {

        margin: 22px 15px 25px;

        min-height: 95px;

        padding: 15px;

        gap: 13px;

        border-radius: 19px;
    }


    .add-restaurant-icon {

        width: 65px;

        height: 65px;

        border-radius: 16px;

        font-size: 27px;
    }


    .add-restaurant-text h2 {

        font-size: 17px;
    }


    .add-restaurant-text p {

        font-size: 11px;
    }


    .add-arrow {

        font-size: 21px;
    }


    /* Heading */

    .restaurants-heading {

        margin: 0 15px 13px;
    }


    .restaurants-heading h2 {

        font-size: 21px;
    }


    .restaurants-heading p {

        font-size: 12px;
    }


    /* Cards */

    .restaurants-list {

        margin: 0 12px;

        gap: 12px;
    }


    .vendor-restaurant-card {

        grid-template-columns: 125px 1fr;

        min-height: 155px;

        border-radius: 19px;
    }


    .vendor-restaurant-image {

        width: 125px;

        height: 155px;
    }


    .vendor-restaurant-content {

        padding: 13px;

    }


    .restaurant-title-row {

        margin-bottom: 2px;
    }


    .restaurant-title-row h3 {

        font-size: 18px;
    }


    .restaurant-type {

        font-size: 11px;
    }


    .restaurant-more-button {

        width: 28px;

        height: 28px;

        font-size: 20px;
    }


    .restaurant-location {

        font-size: 11px;

        margin-top: 4px;
    }


    .restaurant-location i {

        font-size: 14px;
    }


    .restaurant-status {

        font-size: 11px;

        margin-top: 4px;
    }


    .status-dot {

        width: 8px;

        height: 8px;
    }


    .restaurant-actions {

        gap: 5px;

        margin-top: 8px;
    }


    .restaurant-action {

        min-height: 42px;

        border-radius: 10px;

        font-size: 10px;

        gap: 1px;
    }


    .restaurant-action i {

        font-size: 17px;
    }


    /* Tip */

.vendor-tip {
    margin: 18px 12px;
    padding: 13px;
    gap: 10px;
    border-radius: 16px;
}


.tip-icon {
    width: 42px;
    height: 42px;
    font-size: 22px;
}


.vendor-tip strong {
    font-size: 12px;
}


.vendor-tip p {
    font-size: 10px;
}


/* Bottom */

    .vendor-bottom-nav {

        left: 8px;

        right: 8px;

        bottom: 8px;

        height: 67px;

        border-radius: 21px;
    }


    .bottom-nav-item {

        margin: 5px;

        border-radius: 15px;

        font-size: 9px;
    }


    .bottom-nav-item i {

        font-size: 21px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 380px) {

    .vendor-logo img {
        width: 110px;
    }


    .vendor-header-button {
        width: 46px;
        height: 46px;
    }


    .vendor-restaurant-card {
        grid-template-columns: 105px 1fr;
        min-height: 145px;
    }


    .vendor-restaurant-image {
        width: 105px;
        height: 145px;
    }


    .vendor-restaurant-content {
        padding: 10px;
    }


    .restaurant-title-row h3 {
        font-size: 16px;
    }


    .restaurant-action {
        min-height: 38px;
        font-size: 9px;
    }


        .restaurant-action i {
            font-size: 15px;
        }
}



/* ==========================================================
   MENU101 - MENU ITEMS MANAGEMENT
   ========================================================== */

.menu-items-page {

    --menu-orange: #ff8500;
    --menu-orange-dark: #e87300;

    --cream: #fffaf1;

    --text: #242424;
    --muted: #858585;

    --border: #eee4d6;

    min-height: 100vh;

    background: var(--cream);

    color: var(--text);

    direction: rtl;

    padding-bottom: 110px;
}


/* ==========================================================
   HEADER
   ========================================================== */

.menu-header {

    max-width: 1050px;

    margin: 0 auto;

    padding: 20px 25px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    direction: ltr;
}


.menu-logo img {

    width: 180px;

    height: auto;

    display: block;
}


.menu-header-actions {

    display: flex;

    gap: 10px;

    direction: rtl;
}


.menu-header-button {

    width: 80px;

    height: 75px;

    border: 1px solid #eee1cd;

    border-radius: 20px;

    background: rgba(255,255,255,.85);

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 5px;

    color: #252525;

    text-decoration: none;

    transition: .2s ease;
}


.menu-header-button:hover {

    color: var(--menu-orange);

    background: white;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(70,40,10,.08);
}


.menu-header-button i {

    font-size: 27px;
}


.menu-header-button span {

    font-size: 11px;
}


/* ==========================================================
   MAIN CONTENT
   ========================================================== */

.menu-content {

    max-width: 1000px;

    margin: 0 auto;

    padding: 20px 20px 0;
}


/* ==========================================================
   TITLE
   ========================================================== */

.menu-page-title {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 25px;
}


.menu-page-title h1 {

    margin: 5px 0 4px;

    font-size: 28px;

    font-weight: 800;
}


.menu-page-title p {

    margin: 0;

    color: var(--muted);

    font-size: 14px;
}


.menu-breadcrumb {

    display: flex;

    align-items: center;

    gap: 7px;

    color: #999;

    font-size: 12px;
}


.menu-breadcrumb a {

    color: var(--menu-orange);

    text-decoration: none;
}


.menu-breadcrumb i {

    font-size: 9px;
}


/* ==========================================================
   ADD ITEM BUTTON
   ========================================================== */

.add-item-button {

    min-width: 150px;

    height: 58px;

    padding: 0 20px;

    border-radius: 15px;

    background: var(--menu-orange);

    color: white;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    font-size: 15px;

    font-weight: 700;

    text-decoration: none;

    box-shadow: 0 7px 18px rgba(255,133,0,.22);

    transition: .2s ease;
}


.add-item-button:hover {

    color: white;

    background: var(--menu-orange-dark);

    transform: translateY(-2px);
}


.add-item-button i {

    font-size: 19px;
}


/* ==========================================================
   SUMMARY
   ========================================================== */

.menu-summary {
    background: white;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 15px;
    box-shadow: 0 5px 18px rgba(70,40,15,.04);
}


.summary-icon {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    background: #fff1dd;
    color: var(--menu-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
}


.menu-summary div:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.menu-summary strong {
    font-size: 16px;
}


.menu-summary

span {
    color: var(--muted);
    font-size: 12px;
}


/* ==========================================================
   ITEMS LIST
   ========================================================== */

.menu-items-list {

    display: flex;

    flex-direction: column;

    gap: 10px;
}


/* ==========================================================
   ITEM CARD
   ========================================================== */

.menu-item-card {

    background: white;

    border: 1px solid var(--border);

    border-radius: 18px;

    min-height: 105px;

    display: grid;

    grid-template-columns: 1fr 110px;

    direction: rtl;

    overflow: hidden;

    box-shadow: 0 3px 14px rgba(70,40,15,.035);

    transition: .2s ease;
}


.menu-item-card:hover {

    transform: translateY(-1px);

    box-shadow: 0 8px 22px rgba(70,40,15,.08);
}


/* ==========================================================
   ITEM INFO
   ========================================================== */

.menu-item-info {

    direction: rtl;

    padding: 15px 18px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;
}


.menu-item-title-row {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;
}


.menu-item-title-row h2 {

    margin: 0;

    font-size: 19px;

    font-weight: 800;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* ==========================================================
   STATUS
   ========================================================== */

.item-status {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    font-size: 11px;

    font-weight: 700;

    white-space: nowrap;

    flex-shrink: 0;
}


.item-status span {

    width: 8px;

    height: 8px;

    border-radius: 50%;

    display: inline-block;
}


.item-status.active {

    color: #168451;
}


.item-status.active span {

    background: #168451;
}


.item-status.inactive {

    color: #d44a4a;
}


.item-status.inactive span {

    background: #d44a4a;
}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.menu-item-description {

    margin: 3px 0 7px;

    color: #999;

    font-size: 12px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* ==========================================================
   BOTTOM ROW
   ========================================================== */

.menu-item-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    margin-top: 5px;
}


/* ==========================================================
   PRICE
   ========================================================== */

.menu-item-price {

    color: #333;

    font-size: 17px;

    font-weight: 800;
}


.menu-item-price small {

    color: #888;

    font-size: 11px;

    font-weight: 400;

    margin-right: 2px;
}


/* ==========================================================
   EDIT BUTTON
   ========================================================== */

.edit-item-button {

    min-width: 85px;

    height: 38px;

    border-radius: 10px;

    background: orange;

    color: white;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 5px;

    font-size: 12px;

    font-weight: 600;

    text-decoration: none;

    transition: .2s ease;
}


.edit-item-button:hover {

    color: white;

    background: darkorange;
}


.edit-item-button i {

    font-size: 15px;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.menu-item-image {
    width: 110px;
    height: 105px;
    background: #f5efe5;
    overflow: hidden;
}


    .menu-item-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: .3s ease;
    }


.menu-item-card:hover
.menu-item-image img {
    transform: scale(1.04);
}

.menu-item-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c9bca9;
    font-size: 32px;
}


/* ==========================================================
   TIP
   ========================================================== */

.menu-tip {

    margin-top: 18px;

    padding: 15px 18px;

    border: 1px solid #ffe1b8;

    background: #fff5e7;

    border-radius: 18px;

    display: flex;

    align-items: center;

    gap: 12px;
}


.menu-tip-icon {

    width: 45px;

    height: 45px;

    border-radius: 50%;

    background: white;

    color: var(--menu-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 22px;

    flex-shrink: 0;
}


.menu-tip strong {

    font-size: 13px;
}


.menu-tip p {

    margin: 2px 0 0;

    color: #888;

    font-size: 11px;
}


/* ==========================================================
   EMPTY STATE
   ========================================================== */

.menu-empty-state {

    background: white;

    border: 1px solid var(--border);

    border-radius: 22px;

    text-align: center;

    padding: 55px 20px;
}


.menu-empty-icon {

    width: 75px;

    height: 75px;

    margin: 0 auto 15px;

    border-radius: 50%;

    background: #fff1dd;

    color: var(--menu-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 32px;
}


.menu-empty-state h2 {

    margin: 0 0 7px;

    font-size: 20px;
}


.menu-empty-state p {

    color: #888;

    font-size: 13px;

    margin-bottom: 20px;
}


.empty-add-button {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    background: var(--menu-orange);

    color: white;

    padding: 11px 20px;

    border-radius: 11px;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;
}


.empty-add-button:hover {

    color: white;
}


/* ==========================================================
   BOTTOM NAVIGATION
   ========================================================== */

.menu-bottom-nav {

    position: fixed;

    z-index: 1000;

    left: 15px;

    right: 15px;

    bottom: 12px;

    max-width: 1000px;

    margin: auto;

    height: 75px;

    background: rgba(255,255,255,.96);

    border: 1px solid #eee4d7;

    border-radius: 25px;

    box-shadow: 0 5px 25px rgba(60,40,20,.12);

    backdrop-filter: blur(12px);

    display: grid;

    grid-template-columns: repeat(4,1fr);

    direction: rtl;
}


.menu-nav-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 3px;

    margin: 6px;

    border-radius: 17px;

    color: #858585;

    font-size: 10px;

    text-decoration: none;

    transition: .2s ease;
}


.menu-nav-item i {

    font-size: 23px;
}


.menu-nav-item.active {

    background: #fff0dd;

    color: var(--menu-orange);

    font-weight: 700;
}


.menu-nav-item:hover {

    color: var(--menu-orange);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 800px) {

    .menu-header {

        padding: 16px;
    }


    .menu-logo img {

        width: 150px;
    }


    .menu-header-button {

        width: 65px;

        height: 65px;
    }


    .menu-header-button span {

        display: none;
    }


    .menu-content {

        padding-left: 16px;

        padding-right: 16px;

        display: flex;

        flex-direction: column;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .menu-items-page {

        padding-bottom: 95px;
    }


    /* HEADER */

.menu-header {
    padding: 14px 12px 5px;
}


.menu-logo img {
    width: 125px;
}


.menu-header-actions {
    gap: 6px;
}


.menu-header-button {
    width: 51px;
    height: 51px;
    border-radius: 15px;
}


.me

nu-header-button i {
    font-size: 21px;
}


/* CONTENT */

    .menu-content {

        padding: 15px 12px 0;
    }


    /* TITLE */

    .menu-page-title {

        align-items: flex-end;

        margin-bottom: 18px;

        gap: 10px;
    }


    .menu-page-title h1 {

        font-size: 21px;

        margin-top: 5px;
    }


    .menu-page-title p {

        font-size: 11px;
    }


    .menu-breadcrumb {

        font-size: 10px;
    }


    /* ADD BUTTON */

    .add-item-button {

        min-width: 48px;

        width: 48px;

        height: 48px;

        padding: 0;

        border-radius: 14px;
    }


    .add-item-button span {

        display: none;
    }


    .add-item-button i {

        font-size: 21px;
    }


    /* SUMMARY */

    .menu-summary {

        padding: 11px 13px;

        border-radius: 15px;

        margin-bottom: 10px;
    }


    .summary-icon {

        width: 43px;

        height: 43px;

        border-radius: 12px;

        font-size: 21px;
    }


    .menu-summary strong {

        font-size: 14px;
    }


    .menu-summary span {

        font-size: 10px;
    }


    /* ITEM */

    .menu-items-list {

        gap: 8px;
    }


    .menu-item-card {

        min-height: 92px;

        /*grid-template-columns: 82px 1fr;*/

        border-radius: 15px;
    }


    .menu-item-image {

        width: 82px;

        height: 92px;
    }


    .menu-item-info {

        padding: 10px 12px;
    }


    .menu-item-title-row h2 {

        font-size: 16px;
    }


    .item-status {

        font-size: 9px;
    }


    .item-status span {

        width: 6px;

        height: 6px;
    }


    .menu-item-description {

        font-size: 10px;

        margin: 2px 0 4px;
    }


    .menu-item-bottom {

        margin-top: 2px;
    }


    .menu-item-price {

        font-size: 14px;
    }


    .menu-item-price small {

        font-size: 9px;
    }


    .edit-item-button {

        min-width: 68px;

        height: 31px;

        border-radius: 8px;

        font-size: 10px;
    }


    .edit-item-button i {

        font-size: 13px;
    }


    /* TIP */

    .menu-tip {

        padding: 11px;

        border-radius: 15px;

        gap: 9px;
    }


    .menu-tip-icon {

        width: 38px;

        height: 38px;

        font-size: 19px;
    }


    .menu-tip strong {

        font-size: 11px;
    }


    .menu-tip p {

        font-size: 9px;
    }


    /* BOTTOM NAV */

    .menu-bottom-nav {

        left: 8px;

        right: 8px;

        bottom: 8px;

        height: 67px;

        border-radius: 21px;
    }


    .menu-nav-item {

        margin: 5px;

        border-radius: 15px;

        font-size: 9px;
    }


    .menu-nav-item i {

        font-size: 21px;
    }

}


/* ==========================================================
   VERY SMALL PHONES
   ========================================================== */

@media (max-width: 380px) {

    .menu-logo img {
        width: 110px;
    }


    .menu-header-button {
        width: 46px;
        height: 46px;
    }


    .menu-item-card {
        /*grid-template-columns: 70px 1fr;*/
        min-height: 88px;
    }


    .menu-item-image {
        width: 70px;
        height: 88px;
    }


    .menu-item-info {
        padding: 8px 10px;
    }


    .menu-item-title-row h2 {
        font-size: 15px;
    }


    .edit-item-button {
        min-width: 62px;
        height: 29px;
        font-size: 9px;
    }
}




/* ==========================================================
   MENU101 - CREATE RESTAURANT
   ========================================================== */

.restaurant-create-page {

    --restaurant-orange: #ff8a00;
    --restaurant-orange-dark: #eb7800;

    --restaurant-bg: #fffaf2;

    --restaurant-text: #222;

    --restaurant-muted: #888;

    --restaurant-border: #eee4d6;

    min-height: 100vh;

    background: var(--restaurant-bg);

    direction: rtl;

    color: var(--restaurant-text);

    padding-bottom: 110px;
}


/* ==========================================================
   HEADER
   ========================================================== */

.restaurant-header {

    max-width: 1100px;

    margin: auto;

    padding: 20px 25px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    direction: ltr;
}


.restaurant-logo img {

    width: 180px;

    height: auto;

    display: block;
}


.restaurant-header-actions {

    display: flex;

    gap: 10px;

    direction: rtl;
}


.header-action {

    width: 80px;

    height: 75px;

    background: rgba(255,255,255,.9);

    border: 1px solid #eee1cd;

    border-radius: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 5px;

    text-decoration: none;

    color: #222;

    transition: .2s ease;
}


.header-action:hover {

    color: var(--restaurant-orange);

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(80,50,20,.08);
}


.header-action i {

    font-size: 27px;
}


.header-action span {

    font-size: 11px;
}


/* ==========================================================
   CONTENT
   ========================================================== */

.restaurant-create-content {

    width: min(900px, calc(100% - 30px));

    margin: auto;
}


/* ==========================================================
   BREADCRUMB
   ========================================================== */

.restaurant-breadcrumb {

    display: flex;

    align-items: center;

    gap: 8px;

    margin: 5px 0 12px;

    font-size: 13px;

    color: #999;
}


.restaurant-breadcrumb a {

    color: var(--restaurant-orange);

    text-decoration: none;
}


.restaurant-breadcrumb i {

    font-size: 10px;
}


/* ==========================================================
   INTRO
   ========================================================== */

.restaurant-intro {

    background: white;

    border: 1px solid var(--restaurant-border);

    border-radius: 22px;

    min-height: 170px;

    display: flex;

    align-items: center;

    overflow: hidden;

    margin-bottom: 20px;

    box-shadow: 0 5px 20px rgba(60,40,15,.04);
}


.restaurant-intro-image {

    width: 280px;

    height: 170px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #fff8ed;
}


.restaurant-intro-image img {

    width: 90%;

    height: 90%;

    object-fit: contain;
}


.restaurant-intro-content {

    flex: 1;

    padding: 25px;
}


.intro-title-row {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


.restaurant-intro h1 {

    margin: 0 0 8px;

    font-size: 30px;

    font-weight: 800;
}


.restaurant-intro p {

    margin: 0;

    color: var(--restaurant-muted);

    font-size: 15px;
}


.intro-plus {

    width: 80px;

    height: 80px;

    border: 2px dashed var(--restaurant-orange);

    border-radius: 50%;

    color: var(--restaurant-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;
}


.intro-plus i {

    font-size: 32px;
}


/* ==========================================================
   FORM CARD
   ========================================================== */

.restaurant-form-card {

    background: white;

    border: 1px solid var(--restaurant-border);

    border-radius: 22px;

    padding: 35px;

    box-shadow: 0 5px 20px rgba(60,40,15,.04);
}


/* ==========================================================
   FORM GROUP
   ========================================================== */

.form-group-modern {

    margin-bottom: 24px;
}


.form-group-modern > label {

    display: block;

    margin: 0 0 9px;

    font-size: 15px;

    font-weight: 700;
}


.form-group-modern > label span {

    color: #d33;

    margin-right: 3px;
}


/* ==========================================================
   INPUT
   ========================================================== */

.input-with-icon {

    display: flex;

    align-items: stretch;

    direction: rtl;
}


.input-icon {

    width: 60px;

    min-width: 60px;

    border: 1px solid #e3e3e3;

    border-left: 0;

    border-radius: 13px 0 0 13px;

    background: #fff7eb;

    color: var(--restaurant-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 22px;
}


.form-control-modern {

    width: 100%;

    min-height: 57px;

    border: 1px solid #e3e3e3;

    border-radius: 0 13px 13px 0;

    outline: none;

    background: white;

    color: #222;

    padding: 0 17px;

    font-family: inherit;

    font-size: 15px;

    transition: .2s ease;
}


.form-control-modern:focus {

    border-color: var(--restaurant-orange);

    box-shadow: 0 0 0 3px rgba(255,138,0,.10);
}


.form-control-modern::placeholder {

    color: #aaa;
}


select.form-control-modern {

    cursor: pointer;

    appearance: auto;
}


/* ==========================================================
   TEXTAREA
   ========================================================== */

.textarea-wrapper {

    align-items: stretch;
}


.address-input {

    height: 110px;

    padding-top: 15px;

    padding-bottom: 15px;

    resize: vertical;
}


/* ==========================================================
   VALIDATION
   ========================================================== */

.field-validation {

    display: block;

    color: #d33;

    font-size: 11px;

    margin-top: 5px;
}


/* ==========================================================
   IMAGE UPLOAD
   ========================================================== */

.image-upload-box {

    min-height: 145px;

    border: 2px dashed #ffb44d;

    border-radius: 17px;

    background: #fffdf8;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    cursor: pointer;

    transition: .2s ease;

    padding: 20px;
}


.image-upload-box:hover {

    background: #fff7e9;

    border-color: var(--restaurant-orange);
}


.image-upload-box input {

    display: none;
}


.upload-icon {

    width: 50px;

    height: 50px;

    border-radius: 50%;

    background: #fff0da;

    color: var(--restaurant-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 8px;

    font-size: 25px;
}


.image-upload-box strong {

    font-size: 14px;

    color: #555;
}


.image-upload-box span {

    color: #999;

    font-size: 11px;

    margin-top: 5px;
}


.image-upload-box.has-file {

    border-style: solid;

    background: #f3fff6;

    border-color: #55a76d;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.form-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}


.save-button,
.cancel-button {
    min-width: 170px;
    height: 55px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: .2s ease;
}


.save-button {
    border: none;
    background: var(--restaurant-orange);
    color: white;
    box-shadow: 0 6px 15px rgba(255,138,0,.20);
}


    .save-button:hover {
        background: var(--restaurant-orange-dark);
        color: white;
        transform: translateY(-1px);
    }


.cancel-button {
    b order: 1px solid #ddd;
    background: #f7f7f7;
    color: #555;
}


    .cancel-button:hover {
        background: #eee;
        color: #222;
    }


    .save-button i,
    .cancel-button i {
        font-size: 19px;
    }


/* ==========================================================
   TIP
   ========================================================== */

.restaurant-tip {

    margin-top: 18px;

    padding: 18px 22px;

    border-radius: 20px;

    border: 1px solid #ffe1bb;

    background: #fff5e8;

    display: flex;

    align-items: center;

    gap: 15px;
}


.tip-icon {

    width: 55px;

    height: 55px;

    flex-shrink: 0;

    border-radius: 50%;

    background: #ffe7c7;

    color: var(--restaurant-orange);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 25px;
}


.restaurant-tip h3 {

    margin: 0 0 4px;

    font-size: 15px;
}


.restaurant-tip p {

    margin: 0;

    color: #888;

    font-size: 12px;
}


/* ==========================================================
   BOTTOM NAV
   ========================================================== */

.restaurant-bottom-nav {

    position: fixed;

    z-index: 1000;

    left: 15px;

    right: 15px;

    bottom: 12px;

    max-width: 900px;

    margin: auto;

    height: 75px;

    border: 1px solid #eee4d6;

    border-radius: 25px;

    background: rgba(255,255,255,.96);

    box-shadow: 0 8px 30px rgba(60,40,20,.12);

    backdrop-filter: blur(12px);

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    direction: rtl;
}


.bottom-nav-item {

    margin: 6px;

    border-radius: 17px;

    color: #777;

    text-decoration: none;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 4px;

    font-size: 10px;

    transition: .2s ease;
}


.bottom-nav-item i {

    font-size: 23px;
}


.bottom-nav-item.active {

    background: #fff0dd;

    color: var(--restaurant-orange);

    font-weight: 700;
}


.bottom-nav-item:hover {

    color: var(--restaurant-orange);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 800px) {

    .restaurant-header {

        padding: 15px;
    }


    .restaurant-logo img {

        width: 145px;
    }


    .header-action {

        width: 65px;

        height: 65px;
    }


    .header-action span {

        display: none;
    }


    .restaurant-create-content {

        width: calc(100% - 24px);
    }


    .restaurant-intro-image {

        width: 220px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .restaurant-create-page {

        padding-bottom: 95px;
    }


    /* HEADER */

    .restaurant-header {

        padding: 12px 10px 5px;
    }


    .restaurant-logo img {

        width: 125px;
    }


    .restaurant-header-actions {

        gap: 5px;
    }


    .header-action {

        width: 50px;

        height: 50px;

        border-radius: 14px;
    }


    .header-action i {

        font-size: 21px;
    }


    /* CONTENT */

    .restaurant-create-content {

        width: calc(100% - 20px);
    }


    .restaurant-breadcrumb {

        font-size: 10px;

        margin-top: 8px;
    }


    /* INTRO */

    .restaurant-intro {

        min-height: 130px;

        border-radius: 18px;

        margin-bottom: 12px;
    }


    .restaurant-intro-image {

        width: 125px;

        height: 130px;
    }


    .restaurant-intro-content {

        padding: 15px;
    }


    .restaurant-intro h1 {

        font-size: 20px;

        line-height: 1.5;
    }


    .restaurant-intro p {

        font-size: 10px;

        line-height: 1.7;
    }


    .intro-title-row {

        gap: 8px;
    }


    .intro-plus {

        width: 52px;

        height: 52px;
    }


    .intro-plus i {

        font-size: 22px;
    }


    /* FORM */

.restaurant-form-card {
    pad ding: 20px 14px;
    border-radius: 18px;
}


.form-group-modern {
    margin-bottom: 18px;
}


    .form-group-modern > label {
        font-size: 13px;
        margin-bottom: 7px;
    }


.input-icon {
    width: 47px;
    min-width: 47px;
    font-size: 18px;
}


.form-control-modern {
    min-height: 52px;
    font-size: 13px;
    padding: 0 12px;
}


.address-input {
    height: 95px;
    padding-top: 12px;
}


/* IMAGE */

    .image-upload-box {

        min-height: 125px;

        padding: 15px;
    }


    .upload-icon {

        width: 43px;

        height: 43px;

        font-size: 21px;
    }


    .image-upload-box strong {

        font-size: 12px;
    }


    .image-upload-box span {

        font-size: 9px;
    }


    / BUTTONS /

    .form-buttons {

        gap: 8px;

        margin-top: 25px;
    }


    .save-button,
    .cancel-button {

        min-width: 0;

        flex: 1;

        height: 49px;

        font-size: 12px;
    }


    / TIP /

    .restaurant-tip {

        padding: 12px;

        gap: 10px;

        border-radius: 16px;
    }


    .tip-icon {

        width: 42px;

        height: 42px;

        font-size: 19px;
    }


    .restaurant-tip h3 {

        font-size: 12px;
    }


    .restaurant-tip p {

        font-size: 9px;

        line-height: 1.7;
    }


    / BOTTOM NAV /

    .restaurant-bottom-nav {

        left: 8px;

        right: 8px;

        bottom: 8px;

        height: 67px;

        border-radius: 21px;
    }


    .bottom-nav-item {

        margin: 5px;

        border-radius: 15px;

        font-size: 8px;
    }


    .bottom-nav-item i {

        font-size: 20px;
    }

}


/* ==========================================================
   VERY SMALL PHONE
   ========================================================== */

@media (max-width: 380px) {

    .restaurant-intro-image {
        width: 105px;
    }


    .restaurant-intro h1 {
        font-size: 17px;
    }


    .restaurant-intro p {
        font-size: 9px;
    }


    .intro-plus {
        width: 44px;
        height: 44px;
    }


    .header-action {
        width: 45px;
        height: 45px;
    }
}




/* =========================================================
   MENU101 SUBSCRIPTION PAGE
========================================================= */

.subscription-page {
    min-height: 100vh;
    background: #fffaf0;
    color: #202020;
    font-family: Tahoma, Arial, sans-serif;
    padding: 30px 5% 50px;
    box-sizing: border-box;
}


/* =========================================================
   HEADER
========================================================= */

.subscription-header {
    max-width: 1200px;
    margin: 0 auto;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 30px;
}


.brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand img {
    width: 185px;
    height: auto;
    display: block;
}


.top-actions {
    display: flex;
    gap: 14px;
}


.top-action {
    width: 100px;
    min-height: 90px;

    background: #ffffff;

    border: 1px solid #eee3d2;
    border-radius: 22px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;

    color: #222;
    text-decoration: none;

    transition: all .2s ease;

    box-shadow: 0 4px 15px rgba(0,0,0,.03);
}


.top-action:hover {
    transform: translateY(-3px);

    border-color: #ff8a00;

    color: #ff8a00;

    box-shadow: 0 8px 25px rgba(255,138,0,.12);
}


.top-action i {
    font-size: 28px;
}


.top-action span {
    font-size: 13px;
}


/* =========================================================
   INTRO
========================================================= */

.subscription-intro {
    max-width: 900px;

    margin: 55px auto 45px;

    text-align: center;
}


.intro-icon {
    color: #ff8700;

    font-size: 32px;

    margin-bottom: 12px;

    position: relative;
}


.intro-icon::before,
.intro-icon::after {
    content: "";

    display: inline-block;

    width: 45px;
    height: 2px;

    background: #ff8700;

    margin: 0 15px;

    vertical-align: middle;
}


.subscription-intro h1 {
    margin: 0;

    font-size: 38px;
    font-weight: 800;
}


.subscription-intro p {
    margin: 18px 0 0;

    font-size: 18px;

    color: #666;
}


/* =========================================================
   PLANS
========================================================= */

.plans-container {
    max-width: 850px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 28px;

    align-items: stretch;
}

.plan-card {
    position: relative;

    background: #fff;

    border: 1px solid #eeeeee;

    border-radius: 25px;

    padding: 35px 32px 30px;

    box-sizing: border-box;

    box-shadow:
        0 8px 30px rgba(0,0,0,.05);

    transition: all .25s ease;
}


.plan-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 40px rgba(0,0,0,.09);
}


.plan-card.recommended {
    border: 2px solid #ff8a00;

    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #fffaf3 100%
        );
}

.radio-card:has(input:checked) .plan-card {
    /*background-color: #e6f0ff;*/
    border-color: #007bff;
    box-shadow: 
        0 0 0 4px rgba(255,138,0,.15), 
        0 15px 40px rgba(255,138,0,.12);
}


/*.plan-card.selected {
    box-shadow:
        0 0 0 4px rgba(255,138,0,.15),
        0 15px 40px rgba(255,138,0,.12);
}*/


/* =========================================================
   RECOMMENDED BADGE
========================================================= */

.recommended-badge {
    position: absolute;

    top: -17px;

    left: 50%;

    transform: translateX(-50%);

    white-space: nowrap;

    background: #ffe4c4;

    color: #222;

    border-radius: 30px;

    padding: 8px 22px;

    font-size: 15px;

    font-weight: bold;
}


.recommended-badge i {
    color: #ff8700;

    margin-left: 6px;
}


/* =========================================================
   PLAN CONTENT
========================================================= */

.plan-title {
    text-align: center;
    font-size: 23px;
    font-weight: bold;
    margin-bottom: 18px;
}


.price {
    text-align: center;
    display: flex;
    flex-direction: row-reverse;
    align-items: baseline;
    justify-content: center;
    gap: 9px;
}


    .price strong {
        color: #ff7f00;
        font-size: 48px;
        font-weight: 800;
        line-height: 1;
    }


    .price span {
        font-size: 16px;
        color: #333;
    }


.plan-divider {
    height: 1px;
    background: #e9e9e9;
    margin: 28px 0 20px;
}


/* =========================================================
   FEATURES
========================================================= */

.features {
    list-style: none;

    padding: 0;
    margin: 0;

    display: flex;

    flex-direction: column;

    gap: 16px;
}


.features li {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;

    font-size: 16px;
}


.features li i {
    color: #16ad61;

    font-size: 22px;

    flex-shrink: 0;
}


.features li.disabled {
    color: #999;
}


.features li.disabled i {
    color: #c7c7c7;
}


/* =========================================================
   PLAN BUTTON
========================================================= */

.plan-button {
    width: 100%;

    min-height: 58px;

    margin-top: 30px;

    border-radius: 15px;

    font-family: inherit;

    font-size: 17px;

    font-weight: bold;

    cursor: pointer;

    transition: all .2s ease;
}


.plan-button.outline {
    background: #fff;

    border: 2px solid #ff8a00;

    color: #222;
}


.plan-button.outline:hover {
    background: #fff4e7;
}


.plan-button.primary {
    border: 2px solid #ff8a00;

    background: #ff8700;

    color: white;

    box-shadow: 0 6px 15px rgba(255,135,0,.2);
}


.plan-button.primary:hover {
    background: #f47700;

    transform: translateY(-2px);
}


/* =========================================================
   ALL FEATURES
========================================================= */

.all-features {
    max-width: 1050px;

    margin: 35px auto 0;

    background: #fff;

    border: 1px solid #eeeeee;

    border-radius: 25px;

    padding: 28px 35px;

    box-sizing: border-box;

    box-shadow:
        0 8px 30px rgba(0,0,0,.04);
}


.all-features h2 {
    margin: 0 0 25px;

    text-align: right;

    font-size: 20px;
}


.feature-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);
}


.feature-item {
    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 12px;

    padding: 10px;

    border-left: 1px solid #eee;

    text-align: center;
}


.feature-item:last-child {
    border-left: none;
}


.feature-icon {
    font-size: 30px;

    color: #ff8700;
}


.feature-item span {
    font-size: 15px;
}


/* =========================================================
   SECURITY
========================================================= */

.security-box {
    max-width: 1050px;

    margin: 28px auto 0;

    padding: 22px 28px;

    box-sizing: border-box;

    border: 1px solid #ffe0b5;

    border-radius: 20px;

    background: #fffaf2;

    display: flex;

    align-items: center;

    gap: 20px;
}


.security-icon {
    width: 65px;
    height: 65px;

    border-radius: 50%;

    background: #ffedd5;

    color: #ff8700;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;
}


.security-icon i {
    font-size: 34px;
}


.security-box h3 {
    margin: 0 0 7px;

    font-size: 19px;
}


.security-box p {
    margin: 0;

    color: #777;

    font-size: 14px;
}


/* =========================================================
   PAYMENT
========================================================= */

.payment-box {
    max-width: 1050px;
    margin: 28px auto 0;
    background: #fff;
    border: 1px solid #eeeeee;
    border-radius: 25px;
    padding: 22px 28px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 30px;
    box-shadow: 0 8px 30px rgba(0,0,0,.04);
}


.payment-info {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto;
}


.payment-lock {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #e9fff2;
    color: #18b661;
    display: flex;
    align-items: center;
    justify-content: center;
}


    .payment-lock i {
        font-size: 28px;
    }


.payment-info strong,
.payment-info span {
    display: block;
}


.payment-info strong {
    font-size: 18px;
    margin-bottom: 5px;
}


.payment-info span {
    color: #777;
    font-size: 13px;
}


.payment-button {
    flex: 1;
    min-height: 65px;
    border: none;
    border-radius: 15px;
    background: #ff8700;
    color: #fff;
    font-family: inherit;
    font-size: 19px;
    font-weight: bold;
    cursor: pointer;
    transition: all .2s ease;
}


    .payment-button:hover {
        background: #f47700;
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(255,135,0,.25);
    }


    .payment-button i {
        margin-left: 8px;
    }


/* =========================================================
   TERMS
========================================================= */

.terms {
    text-align: center;

    margin-top: 20px;

    color: #777;

    font-size: 13px;
}


.terms a {
    color: #ff8700;

    text-decoration: none;

    font-weight: bold;
}


.terms a:hover {
    text-decoration: underline;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 800px) {

    .subscription-page {
        padding: 20px 20px 40px;
    }


    .subscription-header {
        align-items: center;
    }


    .brand img {
        width: 145px;
    }


    .top-action {
        width: 75px;

        min-height: 72px;

        border-radius: 17px;
    }


    .top-action i {
        font-size: 23px;
    }


    .top-action span {
        font-size: 11px;
    }


    .subscription-intro {
        margin-top: 40px;
    }


    .subscription-intro h1 {
        font-size: 32px;
    }


    .plans-container {
        max-width: 700px;
    }


    .all-features,
    .security-box,
    .payment-box {
        max-width: 700px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .subscription-page {
        padding: 15px 14px 35px;
    }


    /* Header */

    .subscription-header {
        flex-direction: column;

        align-items: stretch;

        gap: 15px;
    }


    .brand {
        justify-content: center;
    }


    .brand img {
        width: 145px;
    }


    .top-actions {
        justify-content: center;

        gap: 8px;
    }


    .top-action {
        flex: 1;

        max-width: 100px;

        min-height: 70px;

        border-radius: 16px;
    }


    /* Intro */

    .subscription-intro {
        margin: 35px auto 45px;
    }


    .intro-icon {
        font-size: 26px;
    }


    .intro-icon::before,
    .intro-icon::after {
        width: 25px;

        margin: 0 8px;
    }


    .subscription-intro h1 {
        font-size: 28px;
    }


    .subscription-intro p {
        font-size: 15px;

        line-height: 1.8;

        margin-top: 12px;
    }


    /* Plans */

    .plans-container {
        grid-template-columns: 1fr;

        gap: 35px;

        max-width: 450px;
    }


    .plan-card {
        padding: 32px 24px 25px;

        border-radius: 22px;
    }


    .plan-title {
        font-size: 21px;
    }


    .price strong {
        font-size: 42px;
    }


    .features li {
        font-size: 15px;
    }


    /* Features */

    .all-features {
        padding: 22px 18px;

        border-radius: 20px;
    }


    .all-features h2 {
        font-size: 18px;
    }


    .feature-grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 0;
    }


    .feature-item {
        min-height: 100px;

        border-left: none;

        border-bottom: 1px solid #eee;
    }


    .feature-item:nth-child(odd) {
        border-left: 1px solid #eee;
    }


    .feature-item:nth-child(3),
    .feature-item:nth-child(4) {
        border-bottom: none;
    }


    /* Security */

.security-box {
    padding: 18px;
    gap: 15px;
    border-radius: 18px;
}

.security-icon {
    width: 52px;
    height: 52px;
}


    .security-icon i {
        font-size: 27px;
    }


.security-box h3 {
    font-size: 16px;
}


.security-box p {
    font-size: 12px;
    line-height: 1.8;
}


/* Payment */

    .payment-box {
        flex-direction: column;

        align-items: stretch;

        padding: 20px;

        gap: 20px;
    }


    .payment-info {
        justify-content: center;
    }


    .payment-button {
        width: 100%;

        min-height: 60px;
    }


    .terms {
        line-height: 2;

        padding: 0 10px;
    }

}


/* =========================================================
   VERY SMALL PHONES
========================================================= */

@media (max-width: 380px) {

    .top-action {
        min-height: 65px;
    }


        .top-action i {
            font-size: 21px;
        }


        .top-action span {
            font-size: 10px;
        }


    .subscription-intro h1 {
        font-size: 25px;
    }


    .plan-card {
        padding-left: 18px;
        padding-right: 18px;
    }
}




/* =========================================================
MENU101 - SUBSCRIPTION SUCCESS PAGE
========================================================= */

.success-page {
    min-height: 100vh;
    background: #fffdf8;
    color: #202124;
    font-family: Tahoma, Arial, sans-serif;
    padding-bottom: 110px;
}


/* ---------------------------------------------------------
Header
--------------------------------------------------------- */

.success-header {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 40px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    direction: ltr;
}

.success-logo img {
    width: 190px;
    height: auto;
}

.success-top-nav {
    display: flex;
    gap: 12px;
    direction: rtl;
}

.top-nav-item {
    width: 105px;
    min-height: 95px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    color: #222;
    background: #fff;
    border: 1px solid #eee4d5;
    border-radius: 20px;
    transition: .2s ease;
}

    .top-nav-item:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(0,0,0,.07);
    }

    .top-nav-item i {
        font-size: 30px;
    }

    .top-nav-item span {
        font-size: 14px;
    }


/* ---------------------------------------------------------
Main
--------------------------------------------------------- */

.success-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}


/* ---------------------------------------------------------
Hero
--------------------------------------------------------- */

.success-hero {
    text-align: center;
    padding: 30px 20px 40px;
}

.success-icon {
    width: 130px;
    height: 130px;
    margin: 0 auto 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #4dc35a;
    color: white;
    font-size: 70px;
    box-shadow: 0 0 0 18px rgba(77,195,90,.07), 0 15px 35px rgba(77,195,90,.18);
}

    .success-icon i {
        font-weight: bold;
    }

.success-hero h1 {
    margin: 0 0 15px;
    font-size: clamp(25px, 4vw, 38px);
    font-weight: 800;
}

.success-hero p {
    color: #777;
    line-height: 2;
    font-size: 17px;
    margin: 0;
}


/* ---------------------------------------------------------
Subscription card
--------------------------------------------------------- */

.subscription-card {
    background: #fff;
    border: 1px solid #f0ebe3;
    border-radius: 25px;
    padding: 30px;
    box-shadow: 0 10px 35px rgba(0,0,0,.06);
}

.section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}

    .section-title i {
        color: #ff9418;
        font-size: 28px;
    }

    .section-title h2 {
        margin: 0;
        font-size: 22px;
    }


/* ---------------------------------------------------------
Subscription details
--------------------------------------------------------- */

.subscription-details {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    direction: rtl;
}

.subscription-detail {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    border-left: 1px solid #eee;
}

    .subscription-detail:last-child {
        border-left: none;
    }

.detail-label {
    font-size: 16px;
    margin-bottom: 15px;
    color: #333;
}

.detail-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    font-size: 25px;
}

    .detail-icon.orange {
        background: #fff3e6;
        color: #ff9418;
    }

    .detail-icon.green {
        background: #ebfaee;
        color: #1db954;
    }

.subscription-detail strong {
    font-size: 18px;
}

.plan-name {
    color: #ff8c00;
}

.payment-amount {
    color: #13a34a;
    font-size: 25px !important;
}

.currency {
    margin-top: 5px;
    color: #666;
}


/* ---------------------------------------------------------
Payment confirmation
--------------------------------------------------------- */

.payment-success {
    margin-top: 25px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f0faf2;
    border-radius: 14px;
    color: #666;
}

.payment-success i {
    color: #13ad4a;
    font-size: 25px;
}


/* ---------------------------------------------------------
Next section
--------------------------------------------------------- */

.next-section {
    padding: 40px 0;
}

.next-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
}

    .next-title span {
        width: 45px;
        height: 2px;
        background: #ff9b22;
    }

    .next-title h2 {
        margin: 0;
        font-size: 22px;
        text-align: center;
    }


/* ---------------------------------------------------------
Action cards
--------------------------------------------------------- */

.action-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.action-card {
    background: #fff;
    border: 1px solid #eee9e1;
    border-radius: 20px;
    padding: 25px;
    text-decoration: none;
    color: #222;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    transition: .2s ease;
}

    .action-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 30px rgba(0,0,0,.08);
        border-color: #ffb14b;
    }

.action-icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #fff1e5;
    color: #ff8c00;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 29px;
    margin-bottom: 20px;
}

.action-card h3 {
    font-size: 18px;
    margin: 0 0 12px;
}

.action-card p {
    color: #777;
    line-height: 1.9;
    font-size: 14px;
    margin: 0;
}

.action-link {
    margin-top: auto;
    color: #f28b00;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
}


/* ---------------------------------------------------------
Support
--------------------------------------------------------- */

.support-card {
    background: linear-gradient( 90deg, #fffaf2, #fff );
    border: 1px solid #ffe3c0;
    border-radius: 20px;
    padding: 22px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.support-icon {
    width: 65px;
    height: 65px;
    min-width: 65px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff0df;
    color: #ff8b00;
    font-size: 28px;
}

.support-text {
    flex: 1;
}

    .support-text h3 {
        margin: 0 0 8px;
        font-size: 19px;
    }

    .support-text p {
        margin: 0;
        color: #777;
    }

.support-button {
    padding: 13px 22px;
    border: 1px solid #ff9217;
    border-radius: 12px;
    color: #ef8300;
    text-decoration: none;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

    .support-button:hover {
        background: #fff0dc;
    }


/* ---------------------------------------------------------
Bottom navigation
--------------------------------------------------------- */

.bottom-nav {
    position: fixed;
    left: 50%;
    bottom: 15px;
    transform: translateX(-50%);
    width: min(900px, calc(100% - 30px));
    background: rgba(255,255,255,.97);
    border: 1px solid #eee7df;
    border-radius: 22px;
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-shadow: 0 8px 30px rgba(0,0,0,.10);
    z-index: 1000;
}

.bottom-nav-item {
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    border-radius: 15px;
    text-decoration: none;
    color: #777;
    transition: .2s ease;
}

    .bottom-nav-item i {
        font-size: 23px;
    }

    .bottom-nav-item span {
        font-size: 13px;
    }

    .bottom-nav-item.active {
        background: #fff2e4;
        color: #ed8500;
    }

    .bottom-nav-item:hover {
        background: #fff5eb;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */


/* Tablet */
@media (max-width: 900px) {

    .success-header {
        padding: 18px 20px;
    }

    .success-logo img {
        width: 150px;
    }

    .top-nav-item {
        width: 80px;
        min-height: 75px;
    }

    .top-nav-item i {
        font-size: 24px;
    }

    .subscription-details {
        grid-template-columns: repeat(2, 1fr);
    }

    .subscription-detail:nth-child(2) {
        border-left: none;
    }

    .action-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* Mobile */
@media (max-width: 600px) {

    .success-page {
        padding-bottom: 90px;
    }

    .success-header {
        padding: 12px 15px;
        align-items: center;
    }

    .success-logo img {
        width: 125px;
    }

    .success-top-nav {
        gap: 5px;
    }

    .top-nav-item {
        width: 55px;
        min-height: 58px;
        border-radius: 14px;
    }

        .top-nav-item i {
            font-size: 20px;
        }

        .top-nav-item span {
            font-size: 9px;
        }


    .success-container {
        width: calc(100% - 24px);
    }


    .success-hero {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .success-icon {
        width: 95px;
        height: 95px;
        font-size: 50px;
    }

    .success-hero h1 {
        font-size: 24px;
        line-height: 1.7;
    }

    .success-hero p {
        font-size: 14px;
    }


    .subscription-card {
        padding: 20px 12px;
        border-radius: 18px;
    }

    .section-title h2 {
        font-size: 18px;
    }

    .subscription-details {
        grid-template-columns: repeat(2, 1fr);
    }

    .subscription-detail {
        min-height: 160px;
        padding: 10px;
        border-bottom: 1px solid #eee;
    }

        .subscription-detail:nth-child(2) {
            border-left: none;
        }

        .subscription-detail:nth-child(3),
        .subscription-detail:nth-child(4) {
            border-bottom: none;
        }

    .detail-label {
        font-size: 13px;
    }

    .subscription-detail strong {
        font-size: 15px;
    }

    .payment-amount {
        font-size: 20px !important;
    }

    .payment-success {
        font-size: 12px;
        line-height: 1.8;
    }


    .next-title h2 {
        font-size: 18px;
    }

    .next-title span {
        width: 25px;
    }


    .action-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .action-card {
        min-height: 245px;
        padding: 17px;
        border-radius: 16px;
    }

    .action-icon {
        width: 52px;
        height: 52px;
        font-size: 23px;
    }

    .action-card h3 {
        font-size: 15px;
        line-height: 1.7;
    }

    .action-card p {
        font-size: 12px;
        line-height: 1.8;
    }

    .action-link {
        font-size: 12px;
    }


    .support-card {
        padding: 18px;
        flex-wrap: wrap;
    }

    .support-text {
        min-width: calc(100% - 85px);
    }

        .support-text h3 {
            font-size: 16px;
        }

        .support-text p {
            font-size: 12px;
            line-height: 1.8;
        }

    .support-button {
        width: 100%;
        justify-content: center;
    }


    .bottom-nav {
        bottom: 8px;
        width: calc(100% - 16px);
        border-radius: 18px;
    }

    .bottom-nav-item {
        padding: 9px 4px;
    }

        .bottom-nav-item i {
            font-size: 20px;
        }

        .bottom-nav-item span {
            font-size: 10px;
        }
}


/* =========================================
   MENU101 MESSAGE PAGE
   ========================================= */

.menu-message-page {
    min-height: 100vh;
    background: #fff9eb;

    display: flex;
    flex-direction: column;

    color: #252525;
}


/* =========================
   HEADER
   ========================= */

.message-header {
    width: 100%;
    padding: 25px 30px;

    display: flex;
    align-items: center;
}

.message-logo {
    width: 170px;
    height: auto;
}


/* =========================
   MAIN
   ========================= */

.message-container {
    flex: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 20px 70px;
}


/* =========================
   CARD
   ========================= */

.message-card {
    width: min(620px, 100%);

    background: #ffffff;

    border-radius: 30px;

    padding: 50px 45px;

    text-align: center;

    box-shadow:
        0 15px 45px rgba(80, 50, 20, 0.08);

    border: 1px solid #f1dfb9;
}


/* =========================
   ICON
   ========================= */

.message-icon {
    width: 90px;
    height: 90px;

    margin: 0 auto 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff2d3;

    color: #f6a800;

    border-radius: 50%;

    font-size: 42px;
}


/* =========================
   TITLE
   ========================= */

.message-card h1 {
    margin: 0 0 18px;

    font-size: 32px;
    font-weight: 800;

    color: #252525;
}


/* =========================
   MESSAGE
   ========================= */

.message-text {
    max-width: 500px;

    margin: 0 auto;

    font-size: 18px;

    line-height: 2;

    color: #777;
}


/* =========================
   BUTTON
   ========================= */

.message-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    margin-top: 30px;

    padding: 15px 30px;

    min-width: 190px;

    background: #f6a800;

    color: #fff;

    text-decoration: none;

    border-radius: 15px;

    font-size: 17px;
    font-weight: 700;

    transition: 0.2s ease;
}

.message-button:hover {
    background: #e99700;

    color: #fff;

    transform: translateY(-2px);
}

.message-button i {
    font-size: 18px;
}


/* =========================
   FOOTER
   ========================= */

.message-footer {
    padding: 25px;

    text-align: center;

    color: #aaa;

    font-size: 13px;
}

.message-footer strong {
    margin-right: 5px;

    font-size: 16px;

    color: #252525;
}

.message-footer strong span {
    color: #f6a800;
}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {

    .message-header {
        padding: 20px;
    }

    .message-logo {
        width: 145px;
    }

    .message-container {
        padding: 25px 18px 50px;
    }

    .message-card {
        padding: 38px 25px;
        border-radius: 24px;
    }

    .message-icon {
        width: 75px;
        height: 75px;
        font-size: 34px;
        margin-bottom: 20px;
    }

    .message-card h1 {
        font-size: 25px;
    }

    .message-text {
        font-size: 16px;
        line-height: 1.9;
    }

    .message-button {
        width: 100%;
        margin-top: 25px;
    }
}



/*//////////////////////
    button that navigates to the subscription page item index page
//////////////////////*/
.subscription-add-btn {
    direction: rtl;
    height: 70px;
    min-width: 220px;
    padding: 0 18px 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #ff8900;
    border-radius: 18px;
    background: linear-gradient( 135deg, #fffaf1 0%, #fff3df 100% );
    color: #171717;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 5px 14px rgba(255, 137, 0, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    margin-bottom: 10px;
}

/* Small premiumstar icon */
.subscription-add-btn__icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #ff8900;
    color: #fff;
    box-shadow: 0 3px 8px rgba(255, 137, 0, 0.18);
}

.subscription-add-btn__icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Main button text */
.subscription-add-btn__text {
    white-space: nowrap;
}

/* Subscription indicator */
.subscription-add-btn__badge {
    padding: 4px 8px;
    border-radius: 7px;
    background: rgba(255, 137, 0, 0.10);
    color: #e87500;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

/* Hover */
.subscription-add-btn:hover {
    background: linear-gradient( 135deg, #fff7e9 0%, #ffecd0 100% );
    box-shadow: 0 7px 18px rgba(255, 137, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transform: translateY(-1px);
}

/* Press */
.subscription-add-btn:active {
    transform: translateY(0);
    box-shadow: 0 3px 9px rgba(255, 137, 0, 0.10);
}