/* Font Family*/
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Oswald:wght@200..700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@100..900&family=Cairo:wght@200..1000&display=swap');

/* ========================= Css Variables Start ======================== */
:root {
    /* Font Family */
    --heading-font: "Oswald", sans-serif;
    --body-font: "Inter", sans-serif;
    /* ========================= Theme Color Start ============================= */
    --base-h: 148;
    --base-s: 70%;
    --base-l: 39%;
    --base: var(--base-h) var(--base-s) var(--base-l);
    --base-d-100: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.1);
    --base-d-200: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.2);
    --base-d-300: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.3);
    --base-d-400: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.4);
    --base-d-500: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.5);
    --base-d-600: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.6);
    --base-d-700: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.7);
    --base-d-800: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.8);
    --base-d-900: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 0.9);
    --base-d-1000: var(--base-h) var(--base-s) calc(var(--base-l) - var(--base-l) * 1);
    --base-l-100: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.1);
    --base-l-200: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.2);
    --base-l-300: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.3);
    --base-l-400: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.4);
    --base-l-500: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.5);
    --base-l-600: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.6);
    --base-l-700: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.7);
    --base-l-800: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.8);
    --base-l-900: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 0.9);
    --base-l-1000: var(--base-h) calc(var(--base-s)) calc(var(--base-l) + (100% - var(--base-l)) * 1);
    /* ========================= Theme Color End ============================= */
    /* ========================= Color Variables Start =========================== */
    --white: 0 0% 100%;
    --body-color: 0 0% 33%;
    --body-bg: 0 0% 100%;
    --heading-color: 0 0% 13%;
    --black: 0 0% 0%;
    --green-h: 28;
    --green-s: 88%;
    --green-l: 53%;
    --green: var(--green-h) var(--green-s) var(--green-l);
    --green-d-100: var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.1);
    --green-d-200: var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.2);
    --green-d-300: var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.3);
    --green-d-400: var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.4);
    --green-d-500: var(--green-h) var(--green-s) calc(var(--green-l) - var(--green-l) * 0.5);
    --green-l-100: var(--green-h) calc(var(--green-s)) calc(var(--green-l) + (100% - var(--green-l)) * 0.1);
    --green-l-200: var(--green-h) calc(var(--green-s)) calc(var(--green-l) + (100% - var(--green-l)) * 0.2);
    --green-l-300: var(--green-h) calc(var(--green-s)) calc(var(--green-l) + (100% - var(--green-l)) * 0.3);
    --green-l-400: var(--green-h) calc(var(--green-s)) calc(var(--green-l) + (100% - var(--green-l)) * 0.4);
    --green-l-500: var(--green-h) calc(var(--green-s)) calc(var(--green-l) + (100% - var(--green-l)) * 0.5);
    --border-color: 0 0% 91%;
    --section-bg: 0 0% 97%;
    /* ================================ Box Shadow Start =============================== */
    --box-shadow: 0px 2px 15px hsl(var(--black) / 0.05);
    /* ================================ Box Shadow End =============================== */
    /* ============================== Bootstrap Modifier Start ============================== */
    /* Primary Color */
    --primary-h: 28;
    --primary-s: 88%;
    --primary-l: 53%;
    --primary: var(--primary-h) var(--primary-s) var(--primary-l);
    --primary-d-100: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.1);
    --primary-d-200: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.2);
    --primary-d-300: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.3);
    --primary-d-400: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.4);
    --primary-d-500: var(--primary-h) var(--primary-s) calc(var(--primary-l) - var(--primary-l) * 0.5);
    --primary-l-100: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.1);
    --primary-l-200: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.2);
    --primary-l-300: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.3);
    --primary-l-400: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.4);
    --primary-l-500: var(--primary-h) calc(var(--primary-s)) calc(var(--primary-l) + (100% - var(--primary-l)) * 0.5);
    /* Secondary Color */
    --secondary-h: 208;
    --secondary-s: 7%;
    --secondary-l: 46%;
    --secondary: var(--secondary-h) var(--secondary-s) var(--secondary-l);
    --secondary-d-100: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.1);
    --secondary-d-200: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.2);
    --secondary-d-300: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.3);
    --secondary-d-400: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.4);
    /* Accent color for tag selectors (green) - matches admin panel success */
    --accent-h: 148;
    --accent-s: 70%;
    --accent-l: 39%;
    --accent: var(--accent-h) var(--accent-s) var(--accent-l);
    --accent-d-100: var(--accent-h) var(--accent-s) calc(var(--accent-l) - var(--accent-l) * 0.1);
    --secondary-d-500: var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - var(--secondary-l) * 0.5);
    --secondary-l-100: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.1);
    --secondary-l-200: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.2);
    --secondary-l-300: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.3);
    --secondary-l-400: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.4);
    --secondary-l-500: var(--secondary-h) calc(var(--secondary-s)) calc(var(--secondary-l) + (100% - var(--secondary-l)) * 0.5);
    /* Success Color */
    --success-h: 148;
    --success-s: 70%;
    --success-l: 39%;
    --success: var(--success-h) var(--success-s) var(--success-l);
    --success-d-100: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.1);
    --success-d-200: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.2);
    --success-d-300: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.3);
    --success-d-400: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.4);
    --success-d-500: var(--success-h) var(--success-s) calc(var(--success-l) - var(--success-l) * 0.5);
    --success-l-100: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.1);
    --success-l-200: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.2);
    --success-l-300: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.3);
    --success-l-400: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.4);
    --success-l-500: var(--success-h) calc(var(--success-s)) calc(var(--success-l) + (100% - var(--success-l)) * 0.5);
    /* Danger Color */
    --danger-h: 0;
    --danger-s: 96%;
    --danger-l: 63%;
    --danger: var(--danger-h) var(--danger-s) var(--danger-l);
    --danger-d-100: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.1);
    --danger-d-200: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.2);
    --danger-d-300: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.3);
    --danger-d-400: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.4);
    --danger-d-500: var(--danger-h) var(--danger-s) calc(var(--danger-l) - var(--danger-l) * 0.5);
    --danger-l-100: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.1);
    --danger-l-200: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.2);
    --danger-l-300: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.3);
    --danger-l-400: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.4);
    --danger-l-500: var(--danger-h) calc(var(--danger-s)) calc(var(--danger-l) + (100% - var(--danger-l)) * 0.5);
    /* Warning Color */
    --warning-h: 28;
    --warning-s: 88%;
    --warning-l: 53%;
    --warning: var(--warning-h) var(--warning-s) var(--warning-l);
    --warning-d-100: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.1);
    --warning-d-200: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.2);
    --warning-d-300: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.3);
    --warning-d-400: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.4);
    --warning-d-500: var(--warning-h) var(--warning-s) calc(var(--warning-l) - var(--warning-l) * 0.5);
    --warning-l-100: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.1);
    --warning-l-200: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.2);
    --warning-l-300: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.3);
    --warning-l-400: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.4);
    --warning-l-500: var(--warning-h) calc(var(--warning-s)) calc(var(--warning-l) + (100% - var(--warning-l)) * 0.5);
    /* Info Color */
    --info-h: 28;
    --info-s: 88%;
    --info-l: 53%;
    --info: var(--info-h) var(--info-s) var(--info-l);
    --info-d-100: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.1);
    --info-d-200: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.2);
    --info-d-300: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.3);
    --info-d-400: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.4);
    --info-d-500: var(--info-h) var(--info-s) calc(var(--info-l) - var(--info-l) * 0.5);
    --info-l-100: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.1);
    --info-l-200: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.2);
    --info-l-300: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.3);
    --info-l-400: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.4);
    --info-l-500: var(--info-h) calc(var(--info-s)) calc(var(--info-l) + (100% - var(--info-l)) * 0.5);
    /* ============================== Bootstrap Modifier End ============================== */
}

/* ========================= Css Variables End =========================== */
/* ======================  Custom Classes Start  ======================*/
@media screen and (min-width: 425px) and (max-width: 575px) {
    .col-xsm-6 {
        width: 50%;
    }
}

.section-bg {
    background-color: hsl(var(--section-bg)) !important;
}

.text-muted {
    color: hsl(var(--black)/0.6) !important;
}

.bg--img {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.bg--img-2 {
    background-repeat: no-repeat !important;
    background-position: top !important;
    background-size: cover !important;
}

.bg--transparent {
    background-color: transparent !important;
}

.parallax--bg {
    background-attachment: fixed !important;
}

.fit--img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

.position--center {
    top: 50%;
    inset-inline-start: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.cursor-pointer {
    cursor: pointer;
}

.gradient-text {
    background-image: linear-gradient(180deg, hsl(var(--base-d-200)) 0%, hsl(var(--base)) 100%);
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gradient-text::selection {
    color: hsl(var(--white));
    -webkit-text-fill-color: hsl(var(--white));
    background: transparent;
}

.placeholder--white::placeholder {
    color: hsl(var(--white)/0.7);
}

.text--underline {
    text-decoration: underline !important;
}

/* ======================  Custom Classes End  ======================*/
/* ================================= Common Typography Css Start =========================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--body-font);
    color: hsl(var(--body-color));
    word-break: break-word;
    background-color: hsl(var(--body-bg));
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* RTL Font Support */
[dir="rtl"] body {
    font-family: 'Cairo', 'Noto Sans Arabic', var(--body-font), sans-serif;
}

[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4, [dir="rtl"] h5, [dir="rtl"] h6 {
    font-family: 'Cairo', 'Noto Sans Arabic', var(--heading-font), sans-serif;
}

p {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    color: hsl(var(--body-color));
}

@media screen and (max-width: 1199px) {
    p {
        font-size: 14px;
    }
}

span {
    display: inline-block;
}

h1,
h2,
h3, h4 {
    margin: 0 0 16px 0;
    font-family: var(--heading-font);
    color: hsl(var(--heading-color));
    font-weight: 700;
}

@media screen and (max-width: 767px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin: 0 0 10px 0;
    }
}

h1 {
    font-size: 72px;
}

@media screen and (max-width: 1399px) {
    h1 {
        font-size: 66px;
    }
}

@media screen and (max-width: 1199px) {
    h1 {
        font-size: 56px;
    }
}

@media screen and (max-width: 767px) {
    h1 {
        font-size: 40px;
    }
}

h2 {
    font-size: 40px;
}

@media screen and (max-width: 1399px) {
    h2 {
        font-size: 38px;
    }
}

@media screen and (max-width: 1199px) {
    h2 {
        font-size: 32px;
    }
}

@media screen and (max-width: 991px) {
    h2 {
        font-size: 30px;
    }
}

@media screen and (max-width: 575px) {
    h2 {
        font-size: 26px;
    }
}

h3 {
    font-size: 30px;
}

@media screen and (max-width: 767px) {
    h3 {
        font-size: 24px;
    }
}

h4 {
    font-size: 24px;
}

@media screen and (max-width: 1199px) {
    h4 {
        font-size: 20px;
    }
}

h5 {
    font-size: 20px;
}

@media screen and (max-width: 1199px) {
    h5 {
        font-size: 18px;
    }
}

h6 {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    h6 {
        font-size: 14px;
    }
}

h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a {
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    transition: 0.2s linear;
    line-height: inherit;
}

a {
    display: inline-block;
    transition: 0.3s;
    text-decoration: none;
    color: hsl(var(--heading-color));
}

a:hover {
    color: hsl(var(--base));
}

img {
    max-width: 100%;
    height: auto;
}

select {
    cursor: pointer;
}

ul,
ol {
    padding: 0;
    margin: 0;
    list-style: none;
}

button {
    cursor: pointer;
    border: 0;
    background-color: transparent;
}

button:focus {
    outline: none;
    box-shadow: none;
}

/* ================================= Common Typography Css End =========================== */
/* ======================  Overlay Start  ======================*/
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: hsl(var(--black)/0.4);
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
    z-index: 12;
}

.overlay.active {
    opacity: 1;
    visibility: visible;
}

/* ======================  Overlay End  ======================*/
/* ======================  Section Heading Start  ======================*/
.section__heading {
    max-width: 600px;
    margin-inline: auto;
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .section__heading {
        max-width: 100%;
        text-align: center;
    }
}

.section__heading span {
    line-height: 1;
    font-size: 16px;
    font-weight: 600;
    color: hsl(var(--heading-color));
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .section__heading span {
        margin-bottom: 16px;
        font-size: 12px;
    }
}

.section__heading span img {
    width: 40px;
    position: absolute;
    inset-inline-end: -34px;
    top: -28px;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .section__heading span img {
        width: 30px;
        inset-inline-end: -28px;
        top: -24px;
    }
}

.section__heading h2 {
    margin-bottom: 0;
}

.section__heading p {
    font-size: 20px;
    font-weight: 500;
    margin-top: 24px;
}

/* ======================  Section Heading End  ======================*/
/* ======================  Common Sidebar Start  ======================*/
.common__sidebar {
    position: sticky;
    top: 110px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    scrollbar-width: none;
    padding-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .common__sidebar {
        max-height: none;
        margin-top: 40px;
        overflow-y: unset;
        position: unset;
    }
}

.sidebar__card {
    background-color: hsl(var(--white)/0.6);
    padding: 16px;
    border-radius: 12px;
}

.sidebar__card:not(:first-child) {
    margin-top: 32px;
}

.sidebar__card>h4 {
    font-size: 18px;
    font-weight: 600;
}

.search__box {
    position: relative;
    z-index: 2;
}

.search__box .form-control {
    padding: 19px 20px;
    padding-inline-end: 44px;
    background-color: transparent;
    border-color: hsl(var(--black)/0.08);
}

.search__box button {
    position: absolute;
    inset-inline-end: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.sidebar__category ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar__category ul li a {
    font-size: 18px;
    font-weight: 500;
    color: hsl(var(--body-color));
    background-color: hsl(var(--white)/0.6);
    border: 1px solid hsl(var(--black)/0.04);
    display: block;
    border-radius: 12px;
    padding: 20px;
    line-height: 1;
}

@media screen and (max-width: 1199px) {
    .sidebar__category ul li a {
        font-size: 16px;
        padding: 16px 18px;
    }
}

.sidebar__category ul li a:hover {
    color: hsl(var(--base));
}

.sidebar__radio {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar__radio .form-radio {
    flex-direction: row-reverse;
    justify-content: space-between;
    border: 1px solid hsl(var(--black) / 0.08);
    padding: 20px;
    border-radius: 12px;
}

@media screen and (max-width: 1199px) {
    .sidebar__radio .form-radio {
        padding: 16px 18px;
    }
}

.sidebar__radio .form-radio .form-check-label {
    font-size: 18px;
}

@media screen and (max-width: 1199px) {
    .sidebar__radio .form-radio .form-check-label {
        font-size: 16px;
    }
}

.related__product {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.related__product:hover>a img {
    transform: rotate(30deg);
}

.related__product>a {
    flex: 0 0 auto;
}

.related__product>a img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    transition: 0.3s;
}

.related__product:not(:first-child) {
    border-top: 1px solid hsl(var(--black)/0.06);
    padding-top: 12px;
    margin-top: 12px;
}

/* ======================  Common Sidebar End  ======================*/
/* ======================  wyg Start  ======================*/
.wyg h1,
.wyg h2,
.wyg h3,
.wyg h4,
.wyg h5 {
    color: hsl(var(--heading-color));
    margin-bottom: 24px;
    font-weight: 600;
}

@media screen and (max-width: 767px) {

    .wyg h1,
    .wyg h2,
    .wyg h3,
    .wyg h4,
    .wyg h5 {
        margin-bottom: 14px;
    }
}

.wyg p {
    font-size: 16px;
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .wyg p {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .wyg p {
        margin-bottom: 14px;
    }
}

.wyg ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
    list-style: disc;
    padding-left: 32px;
}

@media screen and (max-width: 767px) {
    .wyg ul {
        margin-bottom: 14px;
    }
}

.wyg ul li {
    font-size: 16px;
}

@media screen and (max-width: 1199px) {
    .wyg ul li {
        font-size: 14px;
    }
}

.wyg ol {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    list-style: decimal;
    padding-left: 32px;
}

@media screen and (max-width: 767px) {
    .wyg ol {
        margin-bottom: 14px;
    }
}

.wyg ol li {
    font-size: 16px;
}

@media screen and (max-width: 1199px) {
    .wyg ol li {
        font-size: 14px;
    }
}

/* ======================  wyg End  ======================*/
/* ======================  Keyframe Animations Start  ======================*/
@keyframes rotateAnim {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes wobbleAnim {

    0%,
    100% {
        transform: translateX(0) rotate(0deg);
        transform-origin: 50% 50%;
    }

    15% {
        transform: translateX(-6px) rotate(-2deg);
    }

    30% {
        transform: translateX(5px) rotate(2deg);
    }

    45% {
        transform: translateX(-4px) rotate(-1.5deg);
    }

    60% {
        transform: translateX(3px) rotate(1deg);
    }

    75% {
        transform: translateX(-2px) rotate(-0.5deg);
    }
}

@keyframes floatAnim {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    25% {
        transform: translateY(-6px) rotate(-1deg);
    }

    50% {
        transform: translateY(4px) rotate(1deg);
    }

    75% {
        transform: translateY(-3px) rotate(-0.5deg);
    }
}

/* ======================  Keyframe Animations End  ======================*/
/* ================================= Background Color Css Start =========================== */
.bg--base {
    background-color: hsl(var(--base)) !important;
}

.bg--primary {
    background-color: hsl(var(--primary)) !important;
}

.bg--secondary {
    background-color: hsl(var(--secondary)) !important;
}

.bg--success {
    background-color: hsl(var(--success)) !important;
}

.bg--danger {
    background-color: hsl(var(--danger)) !important;
}

.bg--warning {
    background-color: hsl(var(--warning)) !important;
}

.bg--info {
    background-color: hsl(var(--info)) !important;
}

.bg--white {
    background-color: hsl(var(--white)) !important;
}

.bg--black {
    background-color: hsl(var(--black)) !important;
}

.bg--green {
    background-color: hsl(var(--green)) !important;
}

.hover-bg--base:hover {
    background-color: hsl(var(--base)) !important;
}

.hover-bg--primary:hover {
    background-color: hsl(var(--primary)) !important;
}

.hover-bg--secondary:hover {
    background-color: hsl(var(--secondary)) !important;
}

.hover-bg--success:hover {
    background-color: hsl(var(--success)) !important;
}

.hover-bg--danger:hover {
    background-color: hsl(var(--danger)) !important;
}

.hover-bg--warning:hover {
    background-color: hsl(var(--warning)) !important;
}

.hover-bg--info:hover {
    background-color: hsl(var(--info)) !important;
}

.hover-bg--white:hover {
    background-color: hsl(var(--white)) !important;
}

.hover-bg--black:hover {
    background-color: hsl(var(--black)) !important;
}

.hover-bg--green:hover {
    background-color: hsl(var(--green)) !important;
}

/* ================================= Background Color Css End =========================== */
/* ================================= Color Css Start =========================== */
.text--base {
    color: hsl(var(--base)) !important;
}

.text--primary {
    color: hsl(var(--primary)) !important;
}

.text--secondary {
    color: hsl(var(--secondary)) !important;
}

.text--success {
    color: hsl(var(--success)) !important;
}

.text--danger {
    color: hsl(var(--danger)) !important;
}

.text--warning {
    color: hsl(var(--warning)) !important;
}

.text--info {
    color: hsl(var(--info)) !important;
}

.text--white {
    color: hsl(var(--white)) !important;
}

.text--white7 {
    color: hsl(var(--white)/0.7) !important;
}

.text--black {
    color: hsl(var(--black)) !important;
}

.text--green {
    color: hsl(var(--green)) !important;
}

.text--black7 {
    color: hsl(var(--black)/0.7) !important;
}

.text--shadow {
    text-shadow: 4px 1px 2px hsl(var(--black)/0.6);
}

/* ================================= Color Css End =========================== */
/* ================================= Margin Css Start =========================== */
.my-120 {
    margin-top: 60px;
    margin-bottom: 60px;
}

@media (min-width: 576px) {
    .my-120 {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

@media (min-width: 992px) {
    .my-120 {
        margin-top: 120px;
        margin-bottom: 120px;
    }
}

.mt-120 {
    margin-top: 60px;
}

@media (min-width: 576px) {
    .mt-120 {
        margin-top: 80px;
    }
}

@media (min-width: 992px) {
    .mt-120 {
        margin-top: 120px;
    }
}

.mb-120 {
    margin-bottom: 60px;
}

@media (min-width: 576px) {
    .mb-120 {
        margin-bottom: 80px;
    }
}

@media (min-width: 992px) {
    .mb-120 {
        margin-bottom: 120px;
    }
}

.my-100 {
    margin-top: 50px;
    margin-bottom: 50px;
}

@media (min-width: 576px) {
    .my-100 {
        margin-top: 70px;
        margin-bottom: 70px;
    }
}

@media (min-width: 992px) {
    .my-100 {
        margin-top: 100px;
        margin-bottom: 100px;
    }
}

.mt-100 {
    margin-top: 50px;
}

@media (min-width: 576px) {
    .mt-100 {
        margin-top: 70px;
    }
}

@media (min-width: 992px) {
    .mt-100 {
        margin-top: 100px;
    }
}

.mb-100 {
    margin-bottom: 50px;
}

@media (min-width: 576px) {
    .mb-100 {
        margin-bottom: 70px;
    }
}

@media (min-width: 992px) {
    .mb-100 {
        margin-bottom: 100px;
    }
}

.my-80 {
    margin-top: 40px;
    margin-bottom: 40px;
}

@media (min-width: 576px) {
    .my-80 {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}

@media (min-width: 992px) {
    .my-80 {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

.mt-80 {
    margin-top: 40px;
}

@media (min-width: 576px) {
    .mt-80 {
        margin-top: 60px;
    }
}

@media (min-width: 992px) {
    .mt-80 {
        margin-top: 80px;
    }
}

.mb-80 {
    margin-bottom: 40px;
}

@media (min-width: 576px) {
    .mb-80 {
        margin-bottom: 60px;
    }
}

@media (min-width: 992px) {
    .mb-80 {
        margin-bottom: 80px;
    }
}

.my-60 {
    margin-top: 30px;
    margin-bottom: 30px;
}

@media (min-width: 576px) {
    .my-60 {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}

@media (min-width: 992px) {
    .my-60 {
        margin-top: 60px;
        margin-bottom: 60px;
    }
}

.mt-60 {
    margin-top: 30px;
}

@media (min-width: 576px) {
    .mt-60 {
        margin-top: 40px;
    }
}

@media (min-width: 992px) {
    .mt-60 {
        margin-top: 60px;
    }
}

.mb-60 {
    margin-bottom: 30px;
}

@media (min-width: 576px) {
    .mb-60 {
        margin-bottom: 40px;
    }
}

@media (min-width: 992px) {
    .mb-60 {
        margin-bottom: 60px;
    }
}

.my-40 {
    margin-top: 20px;
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .my-40 {
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

@media (min-width: 992px) {
    .my-40 {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}

.mt-40 {
    margin-top: 20px;
}

@media (min-width: 576px) {
    .mt-40 {
        margin-top: 30px;
    }
}

@media (min-width: 992px) {
    .mt-40 {
        margin-top: 40px;
    }
}

.mb-40 {
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .mb-40 {
        margin-bottom: 30px;
    }
}

@media (min-width: 992px) {
    .mb-40 {
        margin-bottom: 40px;
    }
}

.my-30 {
    margin-top: 20px;
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .my-30 {
        margin-top: 24px;
        margin-bottom: 24px;
    }
}

@media (min-width: 992px) {
    .my-30 {
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

.mt-30 {
    margin-top: 20px;
}

@media (min-width: 576px) {
    .mt-30 {
        margin-top: 24px;
    }
}

@media (min-width: 992px) {
    .mt-30 {
        margin-top: 30px;
    }
}

.mb-30 {
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .mb-30 {
        margin-bottom: 24px;
    }
}

@media (min-width: 992px) {
    .mb-30 {
        margin-bottom: 30px;
    }
}

/* ================================= Margin Css End =========================== */
/* ================================= Padding Css Start =========================== */
.py-120 {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media (min-width: 576px) {
    .py-120 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

@media (min-width: 992px) {
    .py-120 {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

.pt-120 {
    padding-top: 60px;
}

@media (min-width: 576px) {
    .pt-120 {
        padding-top: 80px;
    }
}

@media (min-width: 992px) {
    .pt-120 {
        padding-top: 120px;
    }
}

.pb-120 {
    padding-bottom: 60px;
}

@media (min-width: 576px) {
    .pb-120 {
        padding-bottom: 80px;
    }
}

@media (min-width: 992px) {
    .pb-120 {
        padding-bottom: 120px;
    }
}

.py-100 {
    padding-top: 50px;
    padding-bottom: 50px;
}

@media (min-width: 576px) {
    .py-100 {
        padding-top: 70px;
        padding-bottom: 70px;
    }
}

@media (min-width: 992px) {
    .py-100 {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

.pt-100 {
    padding-top: 50px;
}

@media (min-width: 576px) {
    .pt-100 {
        padding-top: 70px;
    }
}

@media (min-width: 992px) {
    .pt-100 {
        padding-top: 100px;
    }
}

.pb-100 {
    padding-bottom: 50px;
}

@media (min-width: 576px) {
    .pb-100 {
        padding-bottom: 70px;
    }
}

@media (min-width: 992px) {
    .pb-100 {
        padding-bottom: 100px;
    }
}

.py-80 {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media (min-width: 576px) {
    .py-80 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

@media (min-width: 992px) {
    .py-80 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.pt-80 {
    padding-top: 40px;
}

@media (min-width: 576px) {
    .pt-80 {
        padding-top: 60px;
    }
}

@media (min-width: 992px) {
    .pt-80 {
        padding-top: 80px;
    }
}

.pb-80 {
    padding-bottom: 40px;
}

@media (min-width: 576px) {
    .pb-80 {
        padding-bottom: 60px;
    }
}

@media (min-width: 992px) {
    .pb-80 {
        padding-bottom: 80px;
    }
}

.py-60 {
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (min-width: 576px) {
    .py-60 {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

@media (min-width: 992px) {
    .py-60 {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

.pt-60 {
    padding-top: 30px;
}

@media (min-width: 576px) {
    .pt-60 {
        padding-top: 40px;
    }
}

@media (min-width: 992px) {
    .pt-60 {
        padding-top: 60px;
    }
}

.pb-60 {
    padding-bottom: 30px;
}

@media (min-width: 576px) {
    .pb-60 {
        padding-bottom: 40px;
    }
}

@media (min-width: 992px) {
    .pb-60 {
        padding-bottom: 60px;
    }
}

.py-40 {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (min-width: 576px) {
    .py-40 {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

@media (min-width: 992px) {
    .py-40 {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

.pt-40 {
    padding-top: 20px;
}

@media (min-width: 576px) {
    .pt-40 {
        padding-top: 30px;
    }
}

@media (min-width: 992px) {
    .pt-40 {
        padding-top: 40px;
    }
}

.pb-40 {
    padding-bottom: 20px;
}

@media (min-width: 576px) {
    .pb-40 {
        padding-bottom: 30px;
    }
}

@media (min-width: 992px) {
    .pb-40 {
        padding-bottom: 40px;
    }
}

.py-30 {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (min-width: 576px) {
    .py-30 {
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

@media (min-width: 992px) {
    .py-30 {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

.pt-30 {
    padding-top: 20px;
}

@media (min-width: 576px) {
    .pt-30 {
        padding-top: 24px;
    }
}

@media (min-width: 992px) {
    .pt-30 {
        padding-top: 30px;
    }
}

.pb-30 {
    padding-bottom: 20px;
}

@media (min-width: 576px) {
    .pb-30 {
        padding-bottom: 24px;
    }
}

@media (min-width: 992px) {
    .pb-30 {
        padding-bottom: 30px;
    }
}

/* ================================= Padding Css End =========================== */
/* ================================= Border Color Css Start =========================== */
.border--base {
    border-color: hsl(var(--base)) !important;
}

.border--primary {
    border-color: hsl(var(--primary)) !important;
}

.border--secondary {
    border-color: hsl(var(--secondary)) !important;
}

.border--success {
    border-color: hsl(var(--success)) !important;
}

.border--danger {
    border-color: hsl(var(--danger)) !important;
}

.border--warning {
    border-color: hsl(var(--warning)) !important;
}

.border--info {
    border-color: hsl(var(--info)) !important;
}

.border--white {
    border-color: hsl(var(--white)) !important;
}

.border--black {
    border-color: hsl(var(--black)) !important;
}

.border--green {
    border-color: hsl(var(--green)) !important;
}

/* ================================= Border Color Css End =========================== */
/* ======================  Font Size Start  ======================*/
.fs--12 {
    font-size: 12px !important;
}

.fs--14 {
    font-size: 14px !important;
}

.fs--16 {
    font-size: 16px !important;
}

.fs--18 {
    font-size: 18px !important;
}

.fs--20 {
    font-size: 20px !important;
}

.fs--22 {
    font-size: 22px !important;
}

.fs--24 {
    font-size: 24px !important;
}

.fs--26 {
    font-size: 26px !important;
}

.fs--28 {
    font-size: 28px !important;
}

.fs--30 {
    font-size: 30px !important;
}

.fs--32 {
    font-size: 32px !important;
}

.fs--34 {
    font-size: 34px !important;
}

.fs--36 {
    font-size: 36px !important;
}

.fs--38 {
    font-size: 38px !important;
}

.fs--40 {
    font-size: 40px !important;
}

.fs--42 {
    font-size: 42px !important;
}

.fs--44 {
    font-size: 44px !important;
}

.fs--46 {
    font-size: 46px !important;
}

.fs--48 {
    font-size: 48px !important;
}

.fs--50 {
    font-size: 50px !important;
}

.fs--52 {
    font-size: 52px !important;
}

.fs--54 {
    font-size: 54px !important;
}

.fs--56 {
    font-size: 56px !important;
}

.fs--58 {
    font-size: 58px !important;
}

.fs--60 {
    font-size: 60px !important;
}

.fs--62 {
    font-size: 62px !important;
}

.fs--64 {
    font-size: 64px !important;
}

.fs--66 {
    font-size: 66px !important;
}

.fs--68 {
    font-size: 68px !important;
}

.fs--70 {
    font-size: 70px !important;
}

/* ======================  Font Size End  ======================*/
/* ======================  Font Weight Start  ======================*/
.fw--100 {
    font-weight: 100 !important;
}

.fw--200 {
    font-weight: 200 !important;
}

.fw--300 {
    font-weight: 300 !important;
}

.fw--400 {
    font-weight: 400 !important;
}

.fw--500 {
    font-weight: 500 !important;
}

.fw--600 {
    font-weight: 600 !important;
}

.fw--700 {
    font-weight: 700 !important;
}

.fw--800 {
    font-weight: 800 !important;
}

.fw--900 {
    font-weight: 900 !important;
}

/* ======================  Font Weight End  ======================*/
/* ======================  Radius Start  ======================*/
.radius--0 {
    border-radius: 0px !important;
}

.radius--2 {
    border-radius: 2px !important;
}

.radius--4 {
    border-radius: 4px !important;
}

.radius--6 {
    border-radius: 6px !important;
}

.radius--8 {
    border-radius: 8px !important;
}

.radius--10 {
    border-radius: 10px !important;
}

.radius--12 {
    border-radius: 12px !important;
}

.radius--14 {
    border-radius: 14px !important;
}

.radius--16 {
    border-radius: 16px !important;
}

.radius--18 {
    border-radius: 18px !important;
}

.radius--20 {
    border-radius: 20px !important;
}

.radius--22 {
    border-radius: 22px !important;
}

.radius--24 {
    border-radius: 24px !important;
}

.radius--26 {
    border-radius: 26px !important;
}

.radius--28 {
    border-radius: 28px !important;
}

.radius--30 {
    border-radius: 30px !important;
}

.radius--32 {
    border-radius: 32px !important;
}

.radius--50 {
    border-radius: 50% !important;
}

/* ======================  Radius End  ======================*/
/* ======================  z-index Start  ======================*/
.z--1 {
    z-index: 1;
}

.z--2 {
    z-index: 2;
}

.z--3 {
    z-index: 3;
}

.z--4 {
    z-index: 4;
}

.z--5 {
    z-index: 5;
}

.z--6 {
    z-index: 6;
}

.z--7 {
    z-index: 7;
}

.z--8 {
    z-index: 8;
}

.z--9 {
    z-index: 9;
}

.zm--1 {
    z-index: -1;
}

.zm--2 {
    z-index: -2;
}

.zm--3 {
    z-index: -3;
}

.zm--4 {
    z-index: -4;
}

.zm--5 {
    z-index: -5;
}

.zm--6 {
    z-index: -6;
}

.zm--7 {
    z-index: -7;
}

.zm--8 {
    z-index: -8;
}

.zm--9 {
    z-index: -9;
}

/* ======================  z-index End  ======================*/
/* ======================  Width Start  ======================*/
.w--10 {
    width: 10% !important;
}

.w--20 {
    width: 20% !important;
}

.w--30 {
    width: 30% !important;
}

.w--40 {
    width: 40% !important;
}

.w--50 {
    width: 50% !important;
}

.w--60 {
    width: 60% !important;
}

.w--70 {
    width: 70% !important;
}

.w--80 {
    width: 80% !important;
}

.w--90 {
    width: 90% !important;
}

.w--100 {
    width: 100% !important;
}

/* ======================  Width End  ======================*/
/* ======================  Height Start  ======================*/
.h--10 {
    height: 10% !important;
}

.h--20 {
    height: 20% !important;
}

.h--30 {
    height: 30% !important;
}

.h--40 {
    height: 40% !important;
}

.h--50 {
    height: 50% !important;
}

.h--60 {
    height: 60% !important;
}

.h--70 {
    height: 70% !important;
}

.h--80 {
    height: 80% !important;
}

.h--90 {
    height: 90% !important;
}

.h--100 {
    height: 100% !important;
}

/* ======================  Height End  ======================*/
/* ======================  Gap Start  ======================*/
.gap--4 {
    gap: 4px !important;
}

.gap--8 {
    gap: 8px !important;
}

.gap--12 {
    gap: 12px !important;
}

.gap--16 {
    gap: 16px !important;
}

.gap--20 {
    gap: 20px !important;
}

.gap--24 {
    gap: 24px !important;
}

.gap--28 {
    gap: 28px !important;
}

.gap--32 {
    gap: 32px !important;
}

.gap--36 {
    gap: 36px !important;
}

.gap--40 {
    gap: 40px !important;
}

.gap--44 {
    gap: 44px !important;
}

.gap--48 {
    gap: 48px !important;
}

.gap--52 {
    gap: 52px !important;
}

.gap--56 {
    gap: 56px !important;
}

.gap--60 {
    gap: 60px !important;
}

.gap--64 {
    gap: 64px !important;
}

.gap--68 {
    gap: 68px !important;
}

.gap--72 {
    gap: 72px !important;
}

.gap--76 {
    gap: 76px !important;
}

.gap--80 {
    gap: 80px !important;
}

.gap--84 {
    gap: 84px !important;
}

.gap--88 {
    gap: 88px !important;
}

/* ======================  Gap End  ======================*/
/* =========================== Accordion Css start ============================= */
.accordion .accordion-item {
    border: none;
    background-color: transparent;
    border-radius: 12px;
    overflow: hidden;
}

.accordion .accordion-item:not(:last-child) {
    margin-bottom: 12px;
}

.accordion .accordion-header {
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .accordion .accordion-header {
        line-height: 1.3;
    }
}

.accordion .accordion-body {
    padding: 24px;
    padding-top: 2px;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 16px;
    font-weight: 400;
    position: relative;
    z-index: 1;
}

.accordion .accordion-body p {
    color: hsl(var(--white));
}

@media screen and (max-width: 575px) {
    .accordion .accordion-body {
        padding: 18px;
        padding-top: 0;
        font-size: 14px;
    }
}

.accordion:first-of-type .accordion-button.collapsed {
    border-radius: 12px;
}

.accordion:last-of-type .accordion-button.collapsed {
    border-radius: 12px;
}

.accordion .accordion-button {
    background-color: hsl(var(--white));
    color: hsl(var(--heading-color));
    font-size: 18px;
    font-weight: 600;
    padding: 24px;
    padding-inline-end: 30px;
    text-transform: uppercase;
}

@media screen and (max-width: 575px) {
    .accordion .accordion-button {
        padding: 18px;
        padding-inline-end: 30px;
        font-size: 16px;
        font-weight: 500;
    }
}

.accordion .accordion-button::after {
    background-image: none;
}

.accordion .accordion-button:focus {
    box-shadow: none;
}

.accordion .accordion-button:not(.collapsed) {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
    box-shadow: none;
}

.accordion .accordion-button:not(.collapsed)::after {
    background-image: none;
}

.accordion .accordion-button[aria-expanded=true]::after,
.accordion .accordion-button[aria-expanded=false]::after {
    font-family: "Line Awesome Free";
    font-weight: 900;
    content: "\f107";
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    inset-inline-end: 15px;
    height: unset;
    color: hsl(var(--white));
}

.accordion .accordion-button[aria-expanded=false]::after {
    content: "\f105";
    color: hsl(var(--heading-color));
}

/* ================================= Accordion Css End =========================== */

/* ================================= Subscription Meals Accordion Css Start =========================== */
/* Custom accordion styling - border only for active items */
#subscribedMealsAccordion .accordion-item {
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    margin-bottom: 10px;
    overflow: hidden;
}

#subscribedMealsAccordion .accordion-item:has(.accordion-button:not(.collapsed)) {
    border-color: hsl(var(--base)) !important;
}

#subscribedMealsAccordion .accordion-button {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: hsl(var(--heading-color)) !important;
}

#subscribedMealsAccordion .accordion-button:not(.collapsed) {
    background-color: transparent !important;
    color: hsl(var(--heading-color)) !important;
    box-shadow: none !important;
}

#subscribedMealsAccordion .accordion-button:hover {
    background-color: rgba(0, 0, 0, 0.02) !important;
}

#subscribedMealsAccordion .accordion-body {
    background-color: transparent !important;
    border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: hsl(var(--heading-color)) !important;
}

#subscribedMealsAccordion .accordion-body h6 {
    color: hsl(var(--heading-color)) !important;
}

#subscribedMealsAccordion .dish-item-line {
    margin: 12px 0 !important;
    padding: 12px 0 !important;
}

/* Ensure description text has proper color (override WYSIWYG editor white text) */
#subscribedMealsAccordion .text-muted,
#subscribedMealsAccordion .text-muted *,
#subscribedMealsAccordion .text-muted div,
#subscribedMealsAccordion .text-muted p {
    color: hsl(var(--black)/0.6) !important;
}

.pd__rutine__desc > div *,
.pd__rutine__desc > p * {
    color: hsl(var(--body-color)) !important;
}

/* Fallback for browsers that don't support :has() */
#subscribedMealsAccordion .accordion-item.active-item {
    border-color: hsl(var(--base)) !important;
}

/* Ensure description text in modal has proper color */
#changeDishModal .card-text,
#changeDishModal .card-text *,
#changeDishModal .text-muted,
#changeDishModal .text-muted * {
    color: hsl(var(--black)/0.6) !important;
}

/* Pagination styling in modal */
#changeDishModal .pagination-wrapper {
    margin-top: 20px;
}

#changeDishModal .pagination .page-link {
    color: hsl(var(--heading-color));
    border-color: #dee2e6;
}

/* Make Previous and Next buttons bigger */
#changeDishModal .pagination .page-item:first-child .page-link,
#changeDishModal .pagination .page-item:last-child .page-link {
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    min-width: 120px;
    white-space: nowrap;
    text-align: center;
}

#changeDishModal .pagination .page-item.active .page-link {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: white;
}

#changeDishModal .pagination .page-link:hover {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: white;
}

#changeDishModal .pagination .page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
}
/* ================================= Subscription Meals Accordion Css End =========================== */

/* ================================= Button Css Start =========================== */
.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    color: none;
    background-color: none;
    border-color: none;
}

.pill {
    border-radius: 40px !important;
}

.btn {
    color: hsl(var(--white));
    font-weight: 500;
    padding: 18px 26px;
    border-radius: 6px;
    position: relative;
    z-index: 1;
    border: 1px solid transparent;
    font-family: var(--heading-font);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 20px;
    line-height: 1;
    box-shadow: -3px 3px 0 0 hsl(var(--heading-color));
    white-space: nowrap;
    transition: 0.3s;
}

@media screen and (max-width: 1399px) {
    .btn {
        font-size: 18px;
    }
}

@media screen and (max-width: 1199px) {
    .btn {
        font-size: 16px;
        padding: 16px 20px;
    }
}

@media screen and (max-width: 767px) {
    .btn {
        font-size: 14px;
        padding: 13px 16px;
        gap: 6px;
        border-radius: 4px;
    }
}

.btn .fa-arrow-right {
    transform: rotate(-45deg);
    transition: 0.3s;
}

.btn .icon {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background-color: hsl(var(--base-d-100));
    font-size: 12px;
    position: relative;
    top: 1px;
}

.btn:hover,
.btn:focus,
.btn:focus-visible {
    box-shadow: none !important;
    transform: translate(-4px, 4px);
}

.btn:hover .fa-arrow-right,
.btn:focus .fa-arrow-right,
.btn:focus-visible .fa-arrow-right {
    transform: rotate(0);
}

.btn:active {
    top: 1px;
}

.btn--lg {
    padding: 20px 35px;
}

@media screen and (max-width: 991px) {
    .btn--lg {
        padding: 18px 30px;
    }
}

@media screen and (max-width: 767px) {
    .btn--lg {
        padding: 16px 25px;
    }
}

.btn--sm {
    padding: 10px 12px;
    font-size: 14px;
}

.btn--base {
    background-color: hsl(var(--base));
}

.btn--base:hover,
.btn--base:focus .btn--base:focus-visible {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--base));
}

.btn-outline--base {
    background-color: transparent;
    border: 1px solid hsl(var(--base));
    color: hsl(var(--base));
}

.btn-outline--base:hover,
.btn-outline--base:focus .btn-outline--base:focus-visible {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.btn--primary {
    background-color: hsl(var(--primary));
}

.btn--primary:hover,
.btn--primary:focus .btn--primary:focus-visible {
    background-color: hsl(var(--primary));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--primary));
}

.btn-outline--primary {
    background-color: transparent;
    border: 1px solid hsl(var(--primary));
    color: hsl(var(--primary));
}

.btn-outline--primary:hover,
.btn-outline--primary:focus .btn-outline--primary:focus-visible {
    background-color: hsl(var(--primary));
    color: hsl(var(--white));
}

.btn--secondary {
    background-color: hsl(var(--secondary));
}

.btn--secondary:hover,
.btn--secondary:focus .btn--secondary:focus-visible {
    background-color: hsl(var(--secondary));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--secondary));
}

.btn-outline--secondary {
    background-color: transparent;
    border: 1px solid hsl(var(--secondary));
    color: hsl(var(--secondary));
}

.btn-outline--secondary:hover,
.btn-outline--secondary:focus .btn-outline--secondary:focus-visible {
    background-color: hsl(var(--secondary));
    color: hsl(var(--white));
}

.btn--danger {
    background-color: hsl(var(--danger));
}

.btn--danger:hover,
.btn--danger:focus .btn--danger:focus-visible {
    background-color: hsl(var(--danger));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--danger));
}

.btn-outline--danger {
    background-color: transparent;
    border: 1px solid hsl(var(--danger));
    color: hsl(var(--danger));
}

.btn-outline--danger:hover,
.btn-outline--danger:focus .btn-outline--danger:focus-visible {
    background-color: hsl(var(--danger));
    color: hsl(var(--white));
}

.btn--success {
    background-color: hsl(var(--success));
}

.btn--success:hover,
.btn--success:focus .btn--success:focus-visible {
    background-color: hsl(var(--success));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--success));
}

.btn-outline--success {
    background-color: transparent;
    border: 1px solid hsl(var(--success));
    color: hsl(var(--success));
}

.btn-outline--success:hover,
.btn-outline--success:focus .btn-outline--success:focus-visible {
    background-color: hsl(var(--success));
    color: hsl(var(--white));
}

.btn--warning {
    background-color: hsl(var(--warning));
}

.btn--warning:hover,
.btn--warning:focus .btn--warning:focus-visible {
    background-color: hsl(var(--warning));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--warning));
}

.btn-outline--warning {
    background-color: transparent;
    border: 1px solid hsl(var(--warning));
    color: hsl(var(--warning));
}

.btn-outline--warning:hover,
.btn-outline--warning:focus .btn-outline--warning:focus-visible {
    background-color: hsl(var(--warning));
    color: hsl(var(--white));
}

.btn--info {
    background-color: hsl(var(--info));
}

.btn--info:hover,
.btn--info:focus .btn--info:focus-visible {
    background-color: hsl(var(--info));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--info));
}

.btn-outline--info {
    background-color: transparent;
    border: 1px solid hsl(var(--info));
    color: hsl(var(--info));
}

.btn-outline--info:hover,
.btn-outline--info:focus .btn-outline--info:focus-visible {
    background-color: hsl(var(--info));
    color: hsl(var(--white));
}

.btn--green {
    background-color: hsl(var(--green));
}

.btn--green:hover,
.btn--green:focus .btn--green:focus-visible {
    background-color: hsl(var(--green));
    color: hsl(var(--white));
    border: 1px solid hsl(var(--green));
}

.btn-outline--green {
    background-color: transparent;
    border: 1px solid hsl(var(--green));
    color: hsl(var(--green));
}

.btn-outline--green:hover,
.btn-outline--green:focus .btn-outline--green:focus-visible {
    background-color: hsl(var(--green));
    color: hsl(var(--white));
}

/* ================================= Button Css End =========================== */
/* ================================= Card Css Start =========================== */
.card {
    padding: 24px;
    border-radius: 8px;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--border-color));
}

@media screen and (max-width: 1199px) {
    .card {
        padding: 16px;
    }
}

.card-header {
    padding: 12px 0;
    background-color: transparent;
    border-bottom: 1px solid hsl(var(--black)/0.06);
}

.card-title {
    margin-bottom: 0;
}

.card-body {
    background-color: hsl(var(--white));
    padding: 24px 0;
    border-radius: 5px;
}

.card-footer {
    padding: 12px 0;
    background-color: transparent;
    border-top: 1px solid hsl(var(--black)/0.06);
}

/* ================================= Card Css End =========================== */
/* ================================= Form Css Start =========================== */
/* Form Label */
.form-label {
    margin-bottom: 16px;
    font-size: 16px;
    color: hsl(var(--heading-color));
    font-weight: 400;
    line-height: 1;
}

label.required:after {
    content: "*";
    color: hsl(var(--danger)) !important;
    margin-inline-start: 2px;
}

.form-group {
    margin-bottom: 24px;
}

/* Form Select – ensure descenders (g, p, y) are not clipped */
.form-select,
select.form-control,
.tag-select.form-control,
.tag-select {
    color: hsl(var(--black)) !important;
    padding: 12px 18px;
    border: 1px solid hsl(var(--black)/0.1);
    line-height: 1.5;
    min-height: calc(1.5em + 24px);
}
.form-select option,
select.form-control option,
.tag-select option {
    padding: 0.25em 0;
}

.form-select:focus {
    border-color: hsl(var(--black)/0.2);
    color: hsl(var(--black)) !important;
    outline: 0;
    box-shadow: none;
}

.form-select option {
    background-color: hsl(var(--white));
    color: hsl(var(--black));
}

/* Country code select styling */
.country-code-select {
    background-color: hsl(var(--base)) !important;
    color: white !important;
    border-color: hsl(var(--base)) !important;
}
.country-code-select:focus {
    background-color: hsl(var(--base)) !important;
    color: white !important;
    border-color: hsl(var(--base)) !important;
    box-shadow: 0 0 0 0.25rem rgba(30, 168, 75, 0.25);
}
.country-code-select option {
    background-color: white;
    color: #333;
}

/* Form Select End */
/* Form Control Start */
.form-control {
    border-radius: 12px;
    font-size: 16px;
    font-weight: 400;
    outline: none;
    width: 100%;
    padding: 18px;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.08);
    color: hsl(var(--heading-color));
    line-height: 1.5;
}

.form-control::placeholder {
    color: hsl(var(--body-color)/0.8);
}

.form-control:focus {
    background-color: hsl(var(--white));
    border-color: hsl(var(--black)/0.2);
    box-shadow: none;
}

.form-control:disabled,
.form-control[readonly] {
    background-color: hsl(var(--black)/0.2);
    opacity: 1;
    border: 0;
}

.form-control[type=password] {
    color: hsl(var(--black)/0.5);
}

.form-control[type=password]:focus {
    color: hsl(var(--black));
}

.form-control[type=file] {
    line-height: 50px;
    padding: 0;
    position: relative;
}

.form-control[type=file]::file-selector-button {
    border: 1px solid hsl(var(--black)/0.08);
    padding: 4px 6px;
    border-radius: 8px;
    background-color: hsl(var(--base)) !important;
    transition: 0.2s linear;
    line-height: 25px;
    position: relative;
    margin-inline-start: 10px;
    color: hsl(var(--white)) !important;
}

.form-control[type=file]::file-selector-button:hover {
    background-color: hsl(var(--base));
    border: 1px solid hsl(var(--base));
    color: hsl(var(--black));
}

/* Ticket custom file input (translated label + rounded button) */
.ticket-file-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 50px;
    border: 1px solid hsl(var(--black)/0.08);
    border-radius: 12px;
    overflow: hidden;
    background-color: hsl(var(--white));
}
.ticket-file-wrap .ticket-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
}
.ticket-file-wrap .ticket-file-display {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 8px 12px;
    gap: 10px;
    pointer-events: none;
}
.ticket-file-wrap .ticket-file-btn {
    padding: 8px 16px;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 500;
}
.ticket-file-wrap .ticket-file-name {
    color: hsl(var(--body-color)/0.8);
    font-size: 0.9rem;
}

/* Form Control End */
textarea.form-control {
    height: 130px;
}

/* Autofill Css */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    -webkit-text-fill-color: hsl(var(--black)) !important;
    caret-color: hsl(var(--black));
}

/* Autofill Css End */
/* input group */
.input-group {
    position: relative;
}

/* Show Hide Password */
.password__field {
    position: relative;
    z-index: 1;
}

.password__field input {
    padding-inline-end: 40px !important;
}

.password-show-hide {
    position: absolute;
    inset-inline-end: 12px;
    z-index: 3;
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    color: hsl(var(--black)/0.4);
}

.password-show-hide .open-eye-icon {
    display: none;
}

/* --------------- Number Arrow None --------------------- */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type=number] {
    appearance: textfield;
}

/* Custom Checkbox Design */
.form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    padding-left: 0;
}

.form-check .form-check-input {
    box-shadow: none;
    background-color: transparent;
    box-shadow: none !important;
    border: 0;
    position: relative;
    border-radius: 3px;
    width: 16px;
    height: 16px;
    border: 1px solid hsl(var(--black)/0.2);
    cursor: pointer;
    margin-inline-start: 0;
    margin-top: 0;
}

.form-check .form-check-input:checked {
    background-color: hsl(var(--base)) !important;
    border-color: hsl(var(--base)) !important;
    box-shadow: none;
}

.form-check .form-check-input:checked[type=checkbox] {
    background-image: none;
}

.form-check .form-check-input:checked::before {
    position: absolute;
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: hsl(var(--white));
    font-size: 11px;
    top: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
}

.form-check .form-check-label {
    font-weight: 500;
    cursor: pointer;
    font-size: 14px;
    user-select: none;
}

/* Custom Radio Design */
.form-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    padding-left: 0;
}

.form-radio .form-check-input {
    box-shadow: none;
    border: 2px solid hsl(var(--body-color));
    position: relative;
    background-color: transparent;
    cursor: pointer;
    width: 20px;
    height: 20px;
    margin-inline-start: 0;
    margin-top: 0;
}

.form-radio .form-check-input:active {
    filter: brightness(100%);
}

.form-radio .form-check-input::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background-color: hsl(var(--black)/0.12);
    border-radius: 50%;
    z-index: 3;
}

.form-radio .form-check-input:checked {
    background-color: transparent;
    border-color: hsl(var(--base));
}

.form-radio .form-check-input:checked[type=radio] {
    background-image: none;
}

.form-radio .form-check-input:checked::before {
    width: 12px;
    height: 12px;
    background-color: hsl(var(--base));
}

.form-radio .form-check-input:checked:checked {
    background-color: transparent;
    border-color: hsl(var(--heading-color));
}

.form-radio .form-check-input:checked:checked~.form-check-label {
    color: hsl(var(--heading-color));
}

.form-radio .form-check-label {
    font-weight: 400;
    cursor: pointer;
    font-size: 16px;
    user-select: none;
}

/*  Custom Switch Design */
.form-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    padding-left: 0;
}

.form-switch .form-check-input {
    border-radius: 3px;
    background-image: none;
    position: relative;
    box-shadow: none;
    border: 0;
    background-color: hsl(var(--black)/0.2) !important;
    margin-inline-start: 0;
    margin-top: 0;
    border-radius: 40px;
    width: 54px;
    height: 28px;
    cursor: pointer;
}

.form-switch .form-check-input:focus {
    border-radius: 40px;
    background-image: none;
    position: relative;
    box-shadow: none;
    border: 0;
}

.form-switch .form-check-input::before {
    position: absolute;
    content: "";
    width: 22px;
    height: 22px;
    background-color: hsl(var(--white));
    top: 50%;
    transform: translateY(-50%);
    inset-inline-start: 4px;
    border-radius: 50%;
    transition: left 0.2s linear, background-color 0.2s linear;
}

.form-switch .form-check-input:checked {
    background-color: hsl(var(--base)) !important;
}

.form-switch .form-check-input:checked::before {
    inset-inline-start: calc(100% - 26px);
    background-color: hsl(var(--white)) !important;
}

.form-switch .form-check-input:checked[type=checkbox] {
    background-image: none;
}

.form-switch .form-check-label {
    font-weight: 500;
    cursor: pointer;
    font-size: 14px;
    user-select: none;
}

/*  Custom Switch End Design */

/* Switch Toggle Design (for .switch class) */
.switch {
  position: relative;
  display: inline-block;
  width: 42px;
  height: 22px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

input:checked+.slider {
  background-color: hsl(var(--base));
}

input:focus+.slider {
  box-shadow: 0 0 1px hsl(var(--base));
}

input:checked+.slider:before {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 15px;
}

.slider.round:before {
  border-radius: 50%;
}

/* ================================= Form Css End =========================== */
/* --======================Custom Input group Start ======================*/
.input-group {
    border-radius: 12px;
    border: 1px solid hsl(var(--black)/0.1);
}

.input-group> :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-inline-start: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group .form-control {
    border-width: 0px !important;
    padding-inline-end: 10px;
    box-shadow: unset;
}

.input-group .form-control:focus {
    border: none !important;
}

.input-group .input-group-text+.form-control {
    padding-inline-end: 20px;
    padding-left: 10px;
}

.input-group:focus-within {
    border: 1px solid hsl(var(--black)/0.2);
}

.input-group .input-group-text {
    padding: 13px;
    border-width: 0px;
    border-radius: 12px;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.input-group .form-control[readonly] {
    background: hsl(var(--black)/0.1) !important;
}

.input-group .form-control[readonly]:focus {
    border-color: hsl(var(--black)/0.1);
}

/* --======================Custom Input group End ======================*/
/* ================================= Modal Css Start =========================== */
.modal-header {
    border-bottom: 1px solid hsl(var(--black)/0.06);
    padding: 15px;
}

.modal-header .close {
    width: 28px;
    height: 28px;
    background-color: hsl(var(--black)/0.1);
    font-size: 16px;
    border-radius: 50%;
    color: hsl(var(--black));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

.modal-header .close:hover {
    background-color: hsl(var(--danger));
    color: hsl(var(--white));
}

.modal-content {
    border-radius: 10px !important;
    background-color: hsl(var(--white));
}

.modal-body {
    padding: 15px;
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 15px;
    border-top: 1px solid hsl(var(--black)/0.06);
    justify-content: flex-end;
}

/* ================================= Modal Css End =========================== */
/* ================================= Pagination Css Start =========================== */
.pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 56px;
}

@media screen and (max-width: 1199px) {
    .pagination {
        margin-top: 48px;
    }
}

@media screen and (max-width: 991px) {
    .pagination {
        margin-top: 40px;
    }
}

@media screen and (max-width: 767px) {
    .pagination {
        margin-top: 32px;
    }
}

.pagination .page-item.active .page-link {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: hsl(var(--base));
}

.pagination .page-item.disabled .page-link {
    color: hsl(var(--heading-color)/0.4);
}

.pagination .page-item .page-link {
    border: 1px solid hsl(var(--black)/0.08);
    border-radius: 4px;
    height: 40px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    font-weight: 500;
    padding: 0;
    color: hsl(var(--heading-color));
}

.pagination .page-item .page-link:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: hsl(var(--base));
}

.pagination .page-item .page-link:focus {
    box-shadow: none;
}

/* ================================= Pagination Css End =========================== */
/* ================================= Table Css Start =========================== */
/* Table Content Css start */
.table__pt {
    display: flex;
    align-items: center;
    gap: 16px;
}

@media screen and (max-width: 1199px) {
    .table__pt {
        gap: 12px;
    }
}

.table__pt img {
    width: 60px;
    border-radius: 6px;
}

@media screen and (max-width: 767px) {
    .table__pt img {
        width: 40px;
    }
}

.table__pt h5 {
    font-size: 18px;
    margin-bottom: 2px;
    font-weight: 600;
}

.table__pt p {
    font-size: 12px;
    font-weight: 500;
}

.action__btn {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
}

.action__btn .btn {
    padding: 14px;
    font-size: 14px;
}

@media screen and (max-width: 1199px) {
    .action__btn .btn {
        padding: 12px;
        font-size: 12px;
    }
}

/* Table Content Css end */
/* Table Css Start */
.table {
    margin: 0;
    border-collapse: collapse;
    border-collapse: separate;
    border-spacing: 0px 8px;
}

.table thead tr th {
    text-align: center;
    padding: 16px;
    color: hsl(var(--white));
    font-family: var(--body-font);
    font-weight: 500;
    border-bottom: 0;
    max-width: 170px;
    font-size: 16px;
    border: none;
    background-color: hsl(var(--base));
}

@media screen and (max-width: 1199px) {
    .table thead tr th {
        font-size: 14px;
        padding: 12px;
    }
}

.table thead tr th:first-child {
    text-align: start;
    border-radius: 8px 0 0 8px;
}

.table thead tr th:last-child {
    text-align: end;
    border-radius: 0 8px 8px 0;
}

.table tbody {
    border: 0 !important;
    background-color: hsl(var(--white));
}

.table tbody tr {
    outline: 1px dashed transparent;
    border-radius: 8px;
    box-shadow: none;
    transition: 0.3s;
}

.table tbody tr.active__tr {
    outline-color: hsl(var(--base));
    box-shadow: -1px 2px 10px hsl(var(--black)/0.08);
}

.table tbody tr td {
    text-align: center;
    vertical-align: middle;
    padding: 16px;
    font-family: var(--body-font);
    color: hsl(var(--body-color)/0.7);
    font-weight: 500;
    max-width: 170px;
    font-size: 16px;
    border: none;
    background-color: hsl(var(--black)/0.03);
}

@media screen and (max-width: 1199px) {
    .table tbody tr td {
        font-size: 14px;
        padding: 12px;
    }
}

.table tbody tr td::before {
    content: attr(data-label);
    font-family: var(--heading-font);
    font-size: 15px;
    color: hsl(var(--black));
    font-weight: 500;
    display: none;
    width: 45% !important;
    text-align: start;
}

.table tbody tr td:first-child {
    text-align: start;
    border-radius: 8px 0 0 8px;
}

.table tbody tr td:last-child {
    text-align: end;
    border-radius: 0 8px 8px 0;
}

@media screen and (max-width: 767px) {
    .table--responsive--sm thead {
        display: none;
    }

    .table--responsive--sm .table__pt {
        flex-direction: row-reverse;
    }

    .table--responsive--sm tbody tr {
        display: block;
        margin-bottom: 5px;
    }

    .table--responsive--sm tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--sm tbody tr td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        text-align: end;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black)/0.8);
        max-width: unset;
    }

    .table--responsive--sm tbody tr td:last-child {
        border: none;
        border-radius: 0;
    }

    .table--responsive--sm tbody tr td:first-child {
        text-align: end;
        border-inline-start: 0;
        border-radius: 0;
    }

    .table--responsive--sm tbody tr td::before {
        display: block;
        font-size: 14px;
        color: hsl(var(--black)/0.7);
    }
}

@media screen and (max-width: 767px) {
    .table--responsive--sm tbody tr td {
        border: 0;
    }
}

@media screen and (max-width: 991px) {
    .table--responsive--md thead {
        display: none;
    }

    .table--responsive--md .table__pt {
        flex-direction: row-reverse;
    }

    .table--responsive--md tbody tr {
        display: block;
        margin-bottom: 5px;
    }

    .table--responsive--md tbody tr:nth-child(even) {
        background-color: hsl(var(--black)/0.02);
    }

    .table--responsive--md tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--md tbody tr td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        text-align: end;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black)/0.08);
        max-width: unset;
    }

    .table--responsive--md tbody tr td:last-child {
        border: none;
        border-radius: 0;
    }

    .table--responsive--md tbody tr td:first-child {
        text-align: end;
        border-inline-start: 0;
        border-radius: 0;
    }

    .table--responsive--md tbody tr td::before {
        display: block;
        font-size: 14px;
        color: hsl(var(--black)/0.7);
    }
}

@media screen and (max-width: 991px) {
    .table--responsive--md tbody tr td {
        border: none;
    }
}

@media screen and (max-width: 1199px) {
    .table--responsive--lg thead {
        display: none;
    }

    .table--responsive--lg .table__pt {
        flex-direction: row-reverse;
    }

    .table--responsive--lg tbody tr {
        display: block;
        margin-bottom: 5px;
    }

    .table--responsive--lg tbody tr:nth-child(even) {
        background-color: hsl(var(--black)/0.02);
    }

    .table--responsive--lg tbody tr td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        text-align: end;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black)/0.08);
        max-width: unset;
    }

    .table--responsive--lg tbody tr td:last-child {
        border: none;
        border-radius: 0;
    }

    .table--responsive--lg tbody tr td:first-child {
        text-align: end;
        border-inline-start: 0;
        border-radius: 0;
    }

    .table--responsive--lg tbody tr td::before {
        display: block;
        font-size: 14px;
        color: hsl(var(--black)/0.7);
    }
}

@media screen and (max-width: 1199px) {
    .table--responsive--lg tbody tr td {
        border: 0;
    }
}

@media screen and (max-width: 1399px) {
    .table--responsive--xl thead {
        display: none;
    }

    .table--responsive--xl .table__pt {
        flex-direction: row-reverse;
    }

    .table--responsive--xl tbody tr {
        display: block;
        margin-bottom: 5px;
    }

    .table--responsive--xl tbody tr:last-child td {
        border-bottom: 0;
    }

    .table--responsive--xl tbody tr td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        text-align: end;
        padding: 10px 15px;
        border: none;
        border-bottom: 1px solid hsl(var(--black)/0.08);
        max-width: unset;
    }

    .table--responsive--xl tbody tr td:last-child {
        border: none;
        border-radius: 0;
    }

    .table--responsive--xl tbody tr td:first-child {
        text-align: end;
        border-inline-start: 0;
        border-radius: 0;
    }

    .table--responsive--xl tbody tr td::before {
        display: block;
        font-size: 14px;
        color: hsl(var(--black)/0.7);
    }
}

@media screen and (max-width: 1399px) {
    .table--responsive--xl tbody tr td {
        border: 0;
    }
}

/* ================================= Table Css End =========================== */
/* ================================= Tab Css Start =========================== */
.custom--tab {
    justify-content: flex-start;
    gap: 32px;
    border-radius: 0;
    margin-bottom: 32px;
    border-bottom: 1px solid hsl(var(--black)/0.08);
}

@media screen and (max-width: 1199px) {
    .custom--tab {
        gap: 24px;
    }
}

.custom--tab .nav-item {
    border-bottom: none;
}

.custom--tab .nav-item .nav-link {
    font-size: 16px;
    font-weight: 500;
    color: hsl(var(--heading-color));
    padding: 0;
    padding-bottom: 15px;
    background-color: transparent !important;
    border-radius: 0;
    transition: 0.3s;
    border: none;
    border-bottom: 1px solid transparent !important;
    margin-bottom: -1px;
}

@media screen and (max-width: 1199px) {
    .custom--tab .nav-item .nav-link {
        font-size: 14px;
    }
}

.custom--tab .nav-item .nav-link.active {
    color: hsl(var(--base));
    border: none;
    border-bottom: 1px solid hsl(var(--base)) !important;
}

.custom--tab .nav-item .nav-link.active:hover {
    color: hsl(var(--base));
}

.custom--tab .nav-item .nav-link:hover {
    color: hsl(var(--base));
}

.custom--tab .nav-item .nav-link:focus-visible {
    box-shadow: none;
}

.custom--tab .nav-item #pills-disabled-tab.nav-link {
    background-color: hsl(var(--black)/0.04) !important;
    color: hsl(var(--heading-color)/0.6);
}

/* ================================= Tab Css End =========================== */
/* ================================= Badge Css Start =========================== */
.badge {
    font-size: 14px;
    border-radius: 4px;
    padding: 8px 10px;
    font-weight: 400;
    position: relative;
    text-align: center;
}

.badge--base {
    background-color: hsl(var(--base)/0.1) !important;
    color: hsl(var(--base)) !important;
    border: 1px solid hsl(var(--base)/0.2) !important;
}

.badge--primary {
    background-color: hsl(var(--primary)/0.1) !important;
    color: hsl(var(--primary)) !important;
}

.badge--secondary {
    background-color: hsl(var(--secondary)/0.1) !important;
    color: hsl(var(--secondary)) !important;
}

.badge--success {
    background-color: hsl(var(--success)/0.1) !important;
    color: hsl(var(--success)) !important;
}

.badge--danger {
    background-color: hsl(var(--danger)/0.1) !important;
    color: hsl(var(--danger)) !important;
}

.badge--warning {
    background-color: hsl(var(--warning)/0.1) !important;
    color: hsl(var(--warning)) !important;
}

.badge--info {
    background-color: hsl(var(--info)/0.1) !important;
    color: hsl(var(--info)) !important;
}

/* ================================= Badge Css End =========================== */
/* ====================================== Alert Css Start =============================== */
.alert {
    margin-bottom: 0;
    background-color: hsl(var(--white));
    font-weight: 400;
    padding: 17px 24px;
    border-radius: 5px;
}

@media screen and (max-width: 991px) {
    .alert {
        padding: 16px;
    }
}

@media screen and (max-width: 575px) {
    .alert {
        padding: 12px;
    }
}

.alert__icon {
    font-size: 1.5rem;
    line-height: 1;
}

.alert__content {
    width: calc(100% - 24px);
    padding-left: 32px;
}

@media screen and (max-width: 991px) {
    .alert__content {
        padding-left: 16px;
    }
}

@media screen and (max-width: 575px) {
    .alert__content {
        padding-left: 0;
        width: 100%;
        margin-top: 6px;
    }
}

.alert__title {
    font-size: 16px;
    color: hsl(var(--base)/0.8);
    font-weight: 600;
    font-family: var(--heading-font);
    margin-bottom: 6px;
}

.alert__desc {
    color: hsl(var(--base)/0.5);
    display: block;
    line-height: 1.375;
}

@media screen and (max-width: 424px) {
    .alert__desc {
        font-size: 13px;
    }
}

.alert__link {
    position: relative;
}

.alert__link:hover::before {
    visibility: visible;
    opacity: 1;
    bottom: 0;
}

.alert__link::before {
    position: absolute;
    content: "";
    inset-inline-start: 0;
    bottom: -5px;
    width: 100%;
    height: 1px;
    background-color: hsl(var(--base));
    visibility: hidden;
    opacity: 0;
    transition: 0.2s ease-in-out;
}

.alert--base {
    border-color: hsl(var(--base)/0.6);
    color: hsl(var(--base));
}

.alert--base .alert__icon {
    color: hsl(var(--base));
}

.alert--primary {
    border-color: hsl(var(--primary)/0.6);
    color: hsl(var(--primary));
}

.alert--primary .alert__icon {
    color: hsl(var(--primary));
}

.alert--success {
    border-color: hsl(var(--success)/0.6);
    color: hsl(var(--success));
}

.alert--success .alert__icon {
    color: hsl(var(--success));
}

.alert--info {
    border-color: hsl(var(--info)/0.6);
    color: hsl(var(--info));
}

.alert--info .alert__icon {
    color: hsl(var(--info));
}

.alert--danger {
    border-color: hsl(var(--danger)/0.6);
    color: hsl(var(--danger));
}

.alert--danger .alert__icon {
    color: hsl(var(--danger));
}

.alert--warning {
    border-color: hsl(var(--warning)/0.6);
    color: hsl(var(--warning));
}

.alert--warning .alert__icon {
    color: hsl(var(--warning));
}

.alert--secondary {
    border-color: hsl(var(--secondary)/0.6);
    color: hsl(var(--secondary));
}

.alert--secondary .alert__icon {
    color: hsl(var(--secondary));
}

/* ====================================== Alert Css End =============================== */
/* ======================  Dropdown Section Start  ======================*/
.dropdown-toggle {
    color: hsl(var(--heading-color));
    font-size: 16px;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 7px;
}

.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-inline-start: 0;
    margin-top: -4px;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    vertical-align: 0;
    transition: 0.2s;
}

.dropdown-toggle[aria-expanded=true]::after {
    transform: rotate(225deg);
    margin-top: 2px;
}

.dropdown-menu {
    min-width: max-content;
    padding: 0;
    font-size: 14px;
    color: hsl(var(--heading-color));
    background-color: hsl(var(--white));
    border: 0;
    border-radius: 5px;
    white-space: nowrap;
    box-shadow: var(--box-shadow);
    overflow: hidden;
}

.dropdown-item {
    padding: 8px 18px;
    font-weight: 400;
    color: hsl(var(--body-color));
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid hsl(var(--border-color)/0.3);
    border-radius: 0;
    font-size: 14px;
    transition: 0.3s;
}

.dropdown-item:hover {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
}

.dropdown-item.active,
.dropdown-item:active {
    color: hsl(var(--white));
    background-color: hsl(var(--base));
}

/* ======================  Dropdown Section End  ======================*/
/* ================================= Preloader Css Start =========================== */
.preloader {
    position: fixed;
    z-index: 999999;
    background-color: hsl(var(--body-bg));
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader__inner {
    transform: rotateZ(45deg);
    perspective: 1000px;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    color: hsl(var(--black) / 0.4);
}

.loader__inner:before,
.loader__inner:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: inherit;
    height: inherit;
    border-radius: 50%;
    transform: rotateX(70deg);
    animation: 1s spin-loader linear infinite;
}

.loader__inner:after {
    color: hsl(var(--base));
    transform: rotateY(70deg);
    animation-delay: .4s;
}

@keyframes rotate {
    0% {
        transform: translate(-50%, -50%) rotateZ(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotateZ(360deg);
    }
}

@keyframes rotateccw {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(-360deg);
    }
}

@keyframes spin-loader {

    0%,
    100% {
        box-shadow: 8px 0px 0 0px currentcolor;
    }

    12% {
        box-shadow: 8px 8px 0 0 currentcolor;
    }

    25% {
        box-shadow: 0 8px 0 0px currentcolor;
    }

    37% {
        box-shadow: -8px 8px 0 0 currentcolor;
    }

    50% {
        box-shadow: -8px 0 0 0 currentcolor;
    }

    62% {
        box-shadow: -8px -8px 0 0 currentcolor;
    }

    75% {
        box-shadow: 0px -8px 0 0 currentcolor;
    }

    87% {
        box-shadow: 8px -8px 0 0 currentcolor;
    }
}

/* ================================= Preloader Css End ===========================  */
/* ======================  Offcanvas Section Start  ======================*/
.offcanvas__area {
    position: fixed;
    inset-inline-start: -100%;
    top: 0;
    width: 300px;
    height: 100%;
    padding: 20px;
    background-color: hsl(var(--white));
    border-inline-end: 1px solid hsl(var(--black)/0.03);
    z-index: 15;
    transition: 0.4s;
    visibility: hidden;
    overflow-y: auto;
}

.offcanvas__area::-webkit-scrollbar {
    width: 5px;
}

.offcanvas__area::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px hsl(var(--black)/0.1);
}

.offcanvas__area::-webkit-scrollbar-thumb {
    background: hsl(var(--base)/0.7);
}

.offcanvas__area::-webkit-scrollbar-thumb:hover {
    background: hsl(var(--base));
}

.offcanvas__area.active {
    inset-inline-start: 0;
    visibility: visible;
}

.offcanvas__area .offcanvas__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.offcanvas__area .offcanvas__topbar a img {
    width: 140px;
}

.offcanvas__area .offcanvas__topbar .menu__close {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: hsl(var(--white));
    background-color: hsl(var(--danger));
    font-size: 20px;
    border-radius: 4px;
    transition: 0.3s;
}

.offcanvas__area .offcanvas__topbar .menu__close:hover {
    background-color: hsl(var(--danger-d-200));
    color: hsl(var(--white));
}

.offcanvas__area .offcanvas__main .offcanvas__widgets {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.offcanvas__area .offcanvas__main .offcanvas__menu ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: 16px;
    color: hsl(var(--heading-color));
    border-bottom: 1px solid hsl(var(--black)/0.06);
    padding: 12px 0;
    transition: 0.3s;
}

.offcanvas__area .offcanvas__main .offcanvas__menu ul li a:hover,
.offcanvas__area .offcanvas__main .offcanvas__menu ul li a.active {
    color: hsl(var(--base));
}

.offcanvas__area .offcanvas__main .offcanvas__menu ul li #collapseExample17 {
    padding-left: 24px;
}

/* ======================  Offcanvas Section End  ======================*/
/* ======================  Header Section Start  ======================*/
.header__area {
    position: absolute;
    inset-inline-start: 0;
    inset-inline-end: 0;
    top: 0;
    width: 100%;
    z-index: 8;
    padding-top: 20px;
}

.header__area.fixed-header {
    position: fixed;
    top: 0px;
    background-color: hsl(var(--white)/0.9);
    box-shadow: var(--box-shadow);
    transition: 0.25s linear;
    animation: slide-down 0.6s;
    width: 100%;
    backdrop-filter: blur(8px);
    padding-top: 0;
    z-index: 1000; 
}

@media screen and (max-width: 991px) {
    .header__area.fixed-header {
        padding: 16px 0;
    }
}

.header__area.fixed-header .header__menu ul li {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.header__area .header__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.header__area .header__main .menu__open {
    font-size: 24px;
    color: hsl(var(--heading-color));
    cursor: pointer;
    transition: 0.3s;
    display: none;
}

@media screen and (max-width: 991px) {
    .header__area .header__main .menu__open {
        display: block;
    }
}

.header__area .header__main .menu__open:hover {
    color: hsl(var(--base));
}

.header__area .header__logo a img {
    max-width: 120px;
    width: 100%;
}

@media screen and (max-width: 991px) {
    .header__area .header__menu {
        display: none;
    }
}

.header__area .header__menu ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

@media screen and (max-width: 1199px) {
    .header__area .header__menu ul {
        gap: 30px;
    }
}

.header__area .header__menu ul li {
    padding: 16px 0;
    position: relative;
    z-index: 2;
}

.header__area .header__menu ul li a {
    color: hsl(var(--heading-color));
    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
    position: relative;
    z-index: 1;
    transition: 0.3s;
}

@media screen and (max-width: 1199px) {
    .header__area .header__menu ul li a {
        font-size: 16px;
    }
}

.header__area .header__menu ul li a i {
    line-height: 1;
    margin-bottom: -3px;
    transition: 0.2s;
}

.header__area .header__menu ul li a::after {
    position: absolute;
    inset-inline-start: 0;
    bottom: -1px;
    z-index: -1;
    content: "";
    background-image: url(../images/menu-sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left bottom;
    width: 0;
    height: 20px;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.header__area .header__menu ul li a:hover,
.header__area .header__menu ul li a.active {
    color: hsl(var(--heading-color));
}

.header__area .header__menu ul li a:hover::after,
.header__area .header__menu ul li a.active::after {
    width: 44px;
    opacity: 1;
    visibility: visible;
}

.header__area .header__menu ul li a:hover:has(i)::after,
.header__area .header__menu ul li a.active:has(i)::after {
    width: 44px;
}

.header__area .header__menu ul li:hover a i {
    transform: rotate(180deg);
    margin-bottom: 0;
}

.header__area .header__menu ul li .header__dropdown {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    z-index: 2;
    background-color: hsl(var(--white));
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    border-radius: 6px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    width: 724px;
    transition: 0.3s;
    padding: 15px;
    box-shadow: 0 0 30px 0 hsl(var(--black) / 0.1);
}

[dir="rtl"] .header__area .header__menu ul li .header__dropdown {
    left: auto;
    right: 50%;
    transform: translateX(50%);
}

@media screen and (max-width: 1199px) {
    .header__area .header__menu ul li .header__dropdown {
        width: 624px;
    }
}

.header__area .header__menu ul li:hover .header__dropdown {
    opacity: 1;
    visibility: visible;
}

.header__program {
    display: flex !important;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 12px;
    border-radius: 6px !important;
    overflow: hidden;
    transition: 0.3s;
}

.programList .header__program {
    padding: 10px;
    gap: 10px;
}

.programList .header__program img {
    width: 84px;
    min-height: 70px;
}

.programList .header__program h4 {
    font-size: 16px;
}

.header__program.bg--warning {
    background-color: hsl(var(--warning) / 0.1) !important;
}

.header__program.bg--info {
    background-color: hsl(var(--info) / 0.1) !important;
}

.header__program.bg--base {
    background-color: hsl(var(--base) / 0.1) !important;
}

.header__program.bg--green {
    background-color: hsl(var(--green) / 0.1) !important;
}

.header__program.bg--warning:hover {
    background-color: hsl(var(--warning)) !important;
}

.header__program.bg--info:hover {
    background-color: hsl(var(--info)) !important;
}

.header__program.bg--base:hover {
    background-color: hsl(var(--base)) !important;
}

.header__program.bg--green:hover {
    background-color: hsl(var(--green)) !important;
}

.header__program:hover {
    transform: translateY(-4px);
    box-shadow: -3px 3px 0 0 hsl(var(--heading-color));
}

[dir="rtl"] .header__program:hover {
    box-shadow: 3px 3px 0 0 hsl(var(--heading-color));
}

.header__program img {
    width: 104px;
    height: 100%;
    min-height: 70px;
    border-radius: 6px;
    object-fit: cover;
}

.header__program h4 {
    font-size: 18px;
    margin-bottom: 6px;
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    transition: 0.1s;
}

.header__program:hover h4 {
    color: hsl(var(--white));
}

.header__program p {
    font-size: 12px;
    line-height: 1.3;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--body-font);
    transition: 0.1s;
}

.header__program:hover p {
    color: hsl(var(--white) / 0.8);
}

.header__program::after {
    display: none;
}

.header__area .header__widgets {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 32px;
}

@media screen and (max-width: 1199px) {
    .header__area .header__widgets {
        gap: 20px;
    }
}

@media screen and (max-width: 991px) {
    .header__login {
        display: none;
    }
}

.header__login .btn {
    padding: 12px !important;
    font-size: 16px !important;
    gap: 8px;
}

@media screen and (max-width: 1199px) {
    .header__login .btn {
        padding: 10px 12px !important;
    }
}

.header__favourite a {
    font-size: 20px;
    line-height: 1;
}

@media screen and (max-width: 1199px) {
    .header__favourite a {
        font-size: 18px;
    }
}

.header__cart a {
    font-size: 20px;
    padding-inline-end: 12px;
    line-height: 1;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .header__cart a {
        font-size: 18px;
    }
}

.header__cart a span {
    position: absolute;
    inset-inline-end: 0;
    top: -10px;
    z-index: 2;
    font-size: 12px;
    font-weight: 600;
    color: hsl(var(--white));
    background-color: hsl(var(--base));
    padding: 2px 6px;
    white-space: nowrap;
    line-height: 1;
    border-radius: 24px;
}

@media screen and (max-width: 1199px) {
    .header__cart a span {
        font-size: 10px;
        padding: 2px 4px;
    }
}

@media screen and (max-width: 991px) {
    .language__wrap {
        display: none;
    }
}

.language__item {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    user-select: none;
}

.language__item img {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
}

.language__item p {
    font-size: 14px;
    font-weight: 500;
    font-family: var(--heading-font);
    transition: 0.3s;
}

.language__item:hover p {
    color: hsl(var(--white));
}

.dropdown-toggle .language__item p {
    font-size: 16px;
    font-weight: 500;
    font-family: var(--heading-font);
}

.dropdown-toggle .language__item:hover p {
    color: hsl(var(--heading-color));
}

@keyframes slide-down {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-150%);
        transform: translateY(-150%);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/* ======================  Header Section End  ======================*/
/* ======================  Footer Section Start  ======================*/
.footer__area {
    background-color: hsl(var(--heading-color));
    position: relative;
    z-index: 1;
}

.footer__sp {
    position: absolute;
    z-index: -1;
    user-select: none;
    pointer-events: none;
}

.footer__sp.fs1 {
    right: 2%;
    left: auto;
    bottom: 0;
    max-width: 265px;
}

@media screen and (max-width: 1399px) {
    .footer__sp.fs1 {
        max-width: 180px;
    }
}

@media screen and (max-width: 991px) {
    .footer__sp.fs1 {
        max-width: 140px;
    }
}

@media screen and (max-width: 575px) {
    .footer__sp.fs1 {
        display: none;
    }
}

.footer__sp.fs2 {
    left: 0;
    right: auto;
    bottom: 0;
    max-width: 245px;
}

@media screen and (max-width: 1399px) {
    .footer__sp.fs2 {
        max-width: 210px;
    }
}

@media screen and (max-width: 1199px) {
    .footer__sp.fs2 {
        max-width: 160px;
    }
}

@media screen and (max-width: 575px) {
    .footer__sp.fs2 {
        display: none;
    }
}

.footer__sp.fs3 {
    right: 0;
    left: auto;
    top: 6%;
    max-width: 155px;
    opacity: 0.13;
}

.footer__sp.fs4 {
    left: 0;
    right: auto;
    top: 16%;
    max-width: 195px;
    opacity: 0.13;
}

.footer__sp img {
    width: 100%;
}

.footer__about>a img {
    max-width: 120px;
    width: 100%;
}

.footer__about>a {
    margin-bottom: 20px;
}

.footer__about p {
    color: hsl(var(--white));
    font-size: 18px;
    margin-bottom: 40px;
}

@media screen and (max-width: 1399px) {
    .footer__about p {
        font-size: 16px;
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 1199px) {
    .footer__about p {
        font-size: 14px;
    }
}

@media screen and (max-width: 991px) {
    .footer__about p {
        margin-bottom: 24px;
    }
}

.footer__single h5 {
    color: hsl(var(--white));
    margin-bottom: 32px;
}

@media screen and (max-width: 991px) {
    .footer__single h5 {
        margin-bottom: 24px;
    }
}

.footer__single ul {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

@media screen and (max-width: 1399px) {
    .footer__single ul {
        gap: 24px;
    }
}

@media screen and (max-width: 1199px) {
    .footer__single ul {
        gap: 20px;
    }
}

.footer__single ul li a {
    color: hsl(var(--white));
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

@media screen and (max-width: 1199px) {
    .footer__single ul li a {
        font-size: 14px;
    }
}

.footer__single ul li a i {
    color: hsl(var(--base));
    transform: rotate(-45deg);
    transition: 0.3s;
}

.footer__single ul li a:hover i {
    transform: rotate(0);
}

.footer__contact {
    display: flex;
    gap: 10px;
    margin-bottom: 40px;
}

@media screen and (max-width: 1399px) {
    .footer__contact {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 575px) {
    .footer__contact {
        margin-bottom: 20px;
    }
}

.footer__contact span {
    flex: 0 0 auto;
    color: hsl(var(--base));
}

.footer__contact p {
    color: hsl(var(--white)/0.8);
    display: block;
    margin-bottom: 12px;
    line-height: 1;
}

@media screen and (max-width: 1199px) {
    .footer__contact p {
        font-size: 14px;
        margin-bottom: 8px;
    }
}

.footer__contact a {
    font-weight: 500;
    color: hsl(var(--white)/0.8);
    line-height: 1;
}

@media screen and (max-width: 1199px) {
    .footer__contact a {
        font-size: 14px;
    }
}

.footer__contact a:hover {
    color: hsl(var(--base));
}

.footer__contact:last-child {
    margin-bottom: 0;
}

.footer__copyright {
    margin-top: 70px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .footer__copyright {
        margin-top: 50px;
    }
}

@media screen and (max-width: 575px) {
    .footer__copyright {
        margin-top: 30px;
    }
}

.footer__copyright p {
    color: hsl(var(--white));
}

@media screen and (max-width: 991px) {
    .footer__about {
        max-width: 400px;
        margin-inline: auto;
        text-align: center;
        margin-bottom: 16px;
    }

    .footer__about .social__icon {
        justify-content: center;
    }
}

@media screen and (max-width: 575px) {
    .footer__single {
        margin-bottom: 20px;
    }
}

/* ======================  Footer Section End  ======================*/
/* ===================== Scroll to Top Start ================================= */
.scroll-top {
    position: fixed;
    inset-inline-end: 30px;
    bottom: 30px;
    font-size: 26px;
    color: hsl(var(--base));
    z-index: 5;
    transition: 0.5s;
    cursor: pointer;
    transform: scale(0);
}

@media screen and (max-width: 767px) {
    .scroll-top {
        inset-inline-end: 20px;
        bottom: 20px;
        font-size: 24px;
    }
}

.scroll-top.show {
    transform: scale(1);
}

/* ===================== Scroll to Top End ================================= */
/* ================================= Template Selection Css Start =========================== */
::selection {
    color: hsl(var(--white));
    background: hsl(var(--base-d-100));
}

/* ================================= Template Selection Css End ===========================  */
/* ======================  Social Icon Section Start  ======================*/
.social__icon {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.social__icon.dark__social li a {
    background-color: hsl(var(--black)/0.06);
    color: hsl(var(--black));
}

.social__icon.dark__social li a:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.social__icon li a {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white)/0.13);
    color: hsl(var(--white));
    border-radius: 50%;
    transition: 0.3s;
    font-size: 16px;
    backdrop-filter: blur(6px);
}

@media screen and (max-width: 991px) {
    .social__icon li a {
        width: 40px;
        height: 40px;
    }
}

.social__icon li a:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

/* ======================  Social Icon Section End  ======================*/
/* ====================== Breadcrumb Css Start ==================== */
.breadcrumb {
    background-color: hsl(148 60% 91%);
    margin-bottom: 0;
    position: relative;
    z-index: 1;
    padding-top: 170px;
    padding-bottom: 100px;
    overflow: hidden;
}

@media screen and (max-width: 991px) {
    .breadcrumb {
        padding-top: 110px;
        padding-bottom: 80px;
    }
}

.breadcrumb .breadcrumb__sp {
    position: absolute;
    inset-inline-start: -50px;
    bottom: -50px;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 235px;
    width: 100%;
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .breadcrumb .breadcrumb__sp {
        max-width: 180px;
    }
}

@media screen and (max-width: 991px) {
    .breadcrumb .breadcrumb__sp {
        max-width: 150px;
    }
}

.breadcrumb .breadcrumb__sp img {
    width: 100%;
}

.breadcrumb .bd__sp img {
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

.breadcrumb .breadcrumb__sp.sp2 {
    inset-inline-start: auto;
    inset-inline-end: 2%;
    bottom: 10%;
    max-width: 280px;
    overflow: hidden;
}

@media screen and (max-width: 1399px) {
    .breadcrumb .breadcrumb__sp.sp2 {
        max-width: 220px;
    }
}

@media screen and (max-width: 991px) {
    .breadcrumb .breadcrumb__sp.sp2 {
        max-width: 180px;
    }
}

@media screen and (max-width: 575px) {
    .breadcrumb .breadcrumb__sp.sp2 {
        display: none;
    }
}

.breadcrumb .breadcrumb__sp.sp2 img {
    animation: wobbleAnim 6s linear 0s infinite alternate none;
}

.breadcrumb .breadcrumb__sp.sp3 {
    inset-inline-start: 0;
    bottom: 0;
    max-width: 450px;
    z-index: -2;
    opacity: 0.1;
}

@media screen and (max-width: 1399px) {
    .breadcrumb .breadcrumb__sp.sp3 {
        max-width: 350px;
    }
}

@media screen and (max-width: 1199px) {
    .breadcrumb .breadcrumb__sp.sp3 {
        max-width: 280px;
    }
}

@media screen and (max-width: 991px) {
    .breadcrumb .breadcrumb__sp.sp3 {
        max-width: 180px;
    }
}

.breadcrumb .breadcrumb__sp.sp4 {
    inset-inline-start: auto;
    inset-inline-end: 0;
    bottom: 0;
    max-width: 300px;
    z-index: -2;
}

@media screen and (max-width: 1399px) {
    .breadcrumb .breadcrumb__sp.sp4 {
        max-width: 250px;
    }
}

@media screen and (max-width: 1199px) {
    .breadcrumb .breadcrumb__sp.sp4 {
        max-width: 200px;
    }
}

@media screen and (max-width: 991px) {
    .breadcrumb .breadcrumb__sp.sp4 {
        max-width: 160px;
    }
}

@media screen and (max-width: 575px) {
    .breadcrumb .breadcrumb__sp.sp4 {
        max-width: 100px;
    }
}

.breadcrumb__wrapper {
    text-align: center;
}

.breadcrumb__title {
    margin-bottom: 10px;
    color: hsl(var(--heading-color));
    font-size: 64px;
}

@media screen and (max-width: 1199px) {
    .breadcrumb__title {
        font-size: 50px;
    }
}

@media screen and (max-width: 991px) {
    .breadcrumb__title {
        font-size: 40px;
    }
}

@media screen and (max-width: 767px) {
    .breadcrumb__title {
        font-size: 34px;
    }
}

.breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.breadcrumb__item {
    color: hsl(var(--body-color));
    font-weight: 600;
    font-size: 18px;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 1199px) {
    .breadcrumb__item {
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .breadcrumb__item {
        font-size: 14px;
    }
}

.breadcrumb__link {
    color: hsl(var(--body-color));
    font-weight: 600;
    font-size: 18px;
}

@media screen and (max-width: 1199px) {
    .breadcrumb__link {
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .breadcrumb__link {
        font-size: 14px;
    }
}

.breadcrumb__link:hover {
    color: hsl(var(--base));
}

/* ====================== Breadcrumb Css End ==================== */
/* ======================  Star Rating Section Start  ======================*/
.star__rating {
    display: flex;
    align-items: center;
    gap: 1px;
    flex-wrap: wrap;
    list-style: none !important;
}

.star__rating li {
    font-size: 14px;
    color: hsl(var(--heading-color));
    line-height: 1;
}

.star__rating li i {
    color: hsl(var(--warning));
}

/* ======================  Star Rating Section End  ======================*/
/* ======================  Select2 Section Start  ======================*/
.select2.select2-container {
    width: 100% !important;
}

.select2.select2-container .selection {
    width: 100%;
}

.select2-container--default .select2-selection--single {
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.08);
    border-radius: 12px;
    height: auto;
    padding: 18px 30px 18px 14px;
}

.auth__form__single .select2-container--default .select2-selection--single {
    border-radius: 8px;
    padding: 14px 30px 14px 14px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 0;
    padding-inline-end: 0;
    line-height: normal;
    color: hsl(var(--heading-color));
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    width: 30px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow::after {
    position: absolute;
    inset-inline-end: 14px;
    top: 50%;
    transform: translateY(-50%);
    content: "\f107";
    font-family: "Line Awesome Free";
    font-size: 16px;
    color: hsl(var(--heading-color));
    font-weight: 900;
    transition: 0.3s;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow::after {
    transform: translateY(-50%) rotate(-180deg);
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2-dropdown {
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--black)/0.1);
    border-radius: 8px;
    overflow: hidden;
}

.select2-search--dropdown {
    padding: 6px;
}

.select2-search--dropdown .select2-search__field {
    padding: 8px 12px;
    width: 100%;
    box-sizing: border-box;
    outline: none;
    border: 1px solid hsl(var(--black)/0.1);
    background-color: hsl(var(--white)/0.2);
}

.select2-results__option {
    padding: 10px 14px;
    user-select: none;
    background-color: transparent;
    border-bottom: 1px solid hsl(var(--black)/0.08);
}

.select2-results__option:last-child {
    border-bottom: none;
}

.select2-container--default .select2-results>.select2-results__options {
    scrollbar-width: thin;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.select2-container--default .select2-results__option--selected {
    background-color: hsl(var(--base)/0.1);
    border-color: hsl(var(--base)/0.1);
}

.select2-results__option.select2-results__message {
    text-align: center;
}

/* ======================  Select2 Section End  ======================*/
/* ======================  Hero Section Start  ======================*/
.hero__area {
    padding-top: 200px;
    padding-bottom: 150px;
    background-color: hsl(148 60% 91%);
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .hero__area {
        padding-top: 160px;
        padding-bottom: 100px;
    }
}

@media screen and (max-width: 991px) {
    .hero__area {
        padding-top: 130px;
        padding-bottom: 70px;
    }
}

.hero__area::after {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 100%;
    height: 100px;
    content: "";
    background-image: linear-gradient(to top, hsl(var(--body-bg)), transparent);
    z-index: 1;
}

.hero__sp {
    position: absolute;
    z-index: -2;
    user-select: none;
    pointer-events: none;
}

.hero__sp img {
    width: 100%;
}

.hero__sp.sp2 {
    inset-inline-end: 0;
    top: 20%;
    max-width: 260px;
}

@media screen and (max-width: 1399px) {
    .hero__sp.sp2 {
        max-width: 200px;
    }
}

@media screen and (max-width: 1199px) {
    .hero__sp.sp2 {
        max-width: 180px;
        top: 15%;
    }
}

@media screen and (max-width: 575px) {
    .hero__sp.sp2 {
        max-width: 120px;
        top: 10%;
    }
}

.hero__sp.sp3 {
    inset-inline-start: 0;
    bottom: 14%;
    max-width: 216px;
    transform: rotate(180deg);
}

@media screen and (max-width: 1399px) {
    .hero__sp.sp3 {
        max-width: 200px;
    }
}

@media screen and (max-width: 1199px) {
    .hero__sp.sp3 {
        max-width: 160px;
    }
}

.hero__thumb {
    position: relative;
    z-index: 1;
    text-align: center;
    overflow: hidden;
    padding: 40px;
}

@media screen and (max-width: 991px) {
    .hero__thumb {
        max-width: 400px;
        margin-inline: auto;
        margin-top: 50px;
        padding: 24px;
    }
}

@media screen and (max-width: 575px) {
    .hero__thumb {
        width: 94%;
    }
}

.hero__sp1 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 90%;
}

.hero__tb {
    width: 90%;
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

.hero__content {
    max-width: 550px;
}

@media screen and (max-width: 1399px) {
    .hero__content {
        max-width: 480px;
    }
}

@media screen and (max-width: 1199px) {
    .hero__content {
        max-width: 390px;
    }
}

@media screen and (max-width: 991px) {
    .hero__content {
        max-width: 84%;
        margin-inline: auto;
        text-align: center;
    }
}

@media screen and (max-width: 991px) {
    .hero__content {
        max-width: 80%;
        margin-inline: auto;
        text-align: center;
    }
}

@media screen and (max-width: 575px) {
    .hero__content {
        max-width: 100%;
    }
}

.hero__content h1 {
    margin-bottom: 32px;
}

@media screen and (max-width: 1199px) {
    .hero__content h1 {
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 991px) {
    .hero__content h1 {
        margin-bottom: 10px;
    }
}

.hero__content h1 img {
    max-width: 95px;
    width: 100%;
}

@media screen and (max-width: 1199px) {
    .hero__content h1 img {
        max-width: 70px;
    }
}

@media screen and (max-width: 767px) {
    .hero__content h1 img {
        max-width: 50px;
    }
}

.ht1 {
    animation: wobbleAnim 2s linear 0s infinite alternate none;
}

.ht2 {
    animation: floatAnim 2s linear 0s infinite alternate none;
}

.hero__content p {
    font-size: 18px;
}

@media screen and (max-width: 1199px) {
    .hero__content p {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .hero__content p {
        font-size: 14px;
    }
}

.hero__btn {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 56px;
}

@media screen and (max-width: 1199px) {
    .hero__btn {
        margin-top: 40px;
    }
}

@media screen and (max-width: 991px) {
    .hero__btn {
        justify-content: center;
        margin-top: 30px;
    }
}

@media screen and (max-width: 767px) {
    .hero__btn {
        gap: 12px;
    }
}

/* ======================  Hero Section End  ======================*/
/* ======================  Menu Section Start  ======================*/
/* Uniform card height: row cols stretch, card fills col */
#dishComponent.row [class*="col"] {
    display: flex;
    flex-direction: column;
}

.menu__card {
    overflow: hidden;
    border-radius: 12px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
}

@media screen and (max-width: 575px) {
    .menu__card {
        max-width: 310px;
        margin-inline: auto;
    }
}

.menu__card:hover .menu__img img,
.menu__card.active .menu__img img {
    height: 180px;
    margin-inline-start: -42px;
    margin-top: -20px;
    transform: rotate(360deg);
    transition: transform 30s linear, height 0.3s, margin-left 0.3s, margin-top 0.3s;
}

.menu__img img {
    width: auto;
    max-width: unset;
    height: 290px;
    margin-inline-start: -100px;
    margin-top: -20px;
    transform: rotate(0deg);
    transition: transform 5s linear, height 0.3s, margin-left 0.3s, margin-top 0.3s;
}

.menu__sp img {
    width: 100%;
}

.menu__card:hover .menu__price,
.menu__card.active .menu__price {
    padding: 16px 20px 20px;
    margin-top: 0;
}

.menu__card:hover .menu__sp,
.menu__card.active .menu__sp {
    max-width: 80px;
}

.menu__card:hover .menu__card__content,
.menu__card.active .menu__card__content {
    background-color: hsl(var(--white));
}

.menu__card:hover .menu__card__topbar,
.menu__card.active .menu__card__topbar {
    height: 224px;
}

.menu__card:hover .menu__card__topbar::after,
.menu__card.active .menu__card__topbar::after {
    background-color: hsl(var(--heading-color)/0.08);
}

.menu__card__topbar {
    border-radius: 12px;
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 100%;
    z-index: 2;
    height: calc(100% - 12px);
    transition: 0.4s;
    background-color: hsl(var(--base));
}

#dishComponent > div:nth-child(even) .menu__card__topbar {
    background-color: hsl(var(--green));
}

.menu__sp {
    position: absolute;
    inset-inline-start: 6%;
    bottom: 0;
    z-index: -2;
    user-select: none;
    pointer-events: none;
    max-width: 100px;
    transition: 0.3s;
}

.menu__price {
    position: relative;
    z-index: 2;
    text-align: start;
    padding: 14px 20px 20px;
    margin-top: 24px;
    transition: 0.3s;
    max-width: 100%;
    box-sizing: border-box;
}

.menu__price h4 {
    margin-bottom: 0;
    color: hsl(var(--white));
    line-height: 1.15;
    overflow-wrap: break-word;
    word-wrap: break-word;
    max-width: 100%;
}

/* Dynamic title font size by length so it fits without truncation */
.menu__title--short h4 { font-size: 36px; }
.menu__title--medium h4 { font-size: 28px; }
.menu__title--long h4 { font-size: 22px; }
.menu__title--xlong h4 { font-size: 17px; }

.menu__price h4 a {
    color: inherit;
    text-decoration: none;
}

.menu__price h4 a:hover {
    color: hsl(var(--white));
    opacity: 0.9;
}

.menu__item-overview {
    font-size: 0.875rem;
    color: hsl(var(--heading-color) / 0.85);
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.menu__info .menu__item-price {
    margin-top: 6px;
    margin-bottom: 0;
    font-size: 0.95rem;
    font-weight: 500;
}

@media screen and (max-width: 1399px) {
    .menu__title--short h4 { font-size: 30px; }
    .menu__title--medium h4 { font-size: 24px; }
    .menu__title--long h4 { font-size: 19px; }
    .menu__title--xlong h4 { font-size: 15px; }
}

.menu__card__topbar::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -12px;
    content: "";
    width: 90%;
    height: 12px;
    background-color: hsl(var(--heading-color));
    z-index: -1;
    border-radius: 0 0 12px 12px;
    transition: 0.3s;
}

.menu__card__content {
    padding: 20px;
    padding-top: 262px;
    transition: 0.3s;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.menu__bottombar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 6px;
    row-gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 16px;
}

@media screen and (max-width: 1399px) {
    .menu__bottombar .btn {
        padding: 10px !important;
        font-size: 12px;
    }
}

/* Top row: overview + cart always on same line; price below */
.menu__info__top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: nowrap;
    width: 100%;
    min-width: 0;
}

.menu__info__top .menu__item-overview {
    flex: 1;
    min-width: 0;
    margin-bottom: 6px;
}

.menu__info__top .menu__item-overview--placeholder {
    min-height: 1.25em;
    margin-bottom: 0;
}

.menu__info__cart {
    flex-shrink: 0;
}

.menu__info {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    min-width: 0;
}

.menu__info h4 {
    font-size: 25px;
    width: 160px;
    line-height: 1.4;
    margin-bottom: 12px;
    margin-top: -8px;
}

@media screen and (max-width: 1399px) {
    .menu__info h4 {
        width: 142px;
    }
}

@media screen and (max-width: 1199px) {
    .menu__info h4 {
        width: 170px;
        font-size: 20px;
    }
}

.menu__info h4 a {
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.menu__info p {
    line-height: 1;
    font-size: 14px;
    font-weight: 500;
}

.menu__info ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.menu__info ul li a {
    font-size: 20px;
    color: hsl(var(--body-color)/0.17);
    line-height: 1;
    margin-inline-end: 12px;
    padding-inline-end: 12px;
    border-inline-end: 1px solid hsl(var(--body-color)/0.17);
}

@media screen and (max-width: 1199px) {
    .menu__info ul li a {
        font-size: 18px;
    }
}

.menu__info ul li:last-child a {
    margin-inline-end: 0;
    padding-inline-end: 0;
    border-inline-end: none;
}

.menu__info ul li a:hover {
    color: hsl(var(--base));
}

.favourite__active {
    color: hsl(var(--base)) !important;
}

/* ======================  Menu Section End  ======================*/
/* ======================  Menu Details Section Start  ======================*/
.md__img {
    background-color: hsl(var(--white)/0.6);
    text-align: center;
    padding: 32px;
    border-radius: 12px;
}

.md__img img {
    width: 85%;
}

@media screen and (max-width: 1199px) {
    .md__img img {
        width: 60%;
    }
}

@media screen and (max-width: 575px) {
    .md__img img {
        width: 80%;
    }
}

.md__widgets {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 50px;
}

@media screen and (max-width: 1199px) {
    .md__widgets {
        margin-top: 30px;
    }
}

.md__widgets>a {
    font-size: 16px;
    font-weight: 400;
    color: hsl(var(--body-color));
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

@media screen and (max-width: 1199px) {
    .md__widgets>a {
        font-size: 14px;
    }
}

.md__widgets>a:hover {
    color: hsl(var(--base));
}

.number__wrap {
    display: flex;
    align-items: center;
}

.number__wrap .form-control {
    border-radius: 0;
    padding: 0;
    background-color: transparent;
    border: none;
    border-top: 1px solid hsl(var(--black)/0.08);
    border-bottom: 1px solid hsl(var(--black)/0.08);
    line-height: 1;
    width: 70px;
    height: 44px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .number__wrap .form-control {
        width: 60px;
    }
}

.number__wrap button {
    width: 44px;
    height: 44px;
    background-color: transparent;
    border: 1px solid hsl(var(--black)/0.08);
    flex: 0 0 auto;
    transition: 0.2s;
}

@media screen and (max-width: 767px) {
    .number__wrap button {
        width: 40px;
    }
}

.number__wrap button:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: hsl(var(--base));
}

.minus__btn {
    border-radius: 3px 0 0 3px;
}

.plus__btn {
    border-radius: 0 3px 3px 0;
}

.menu__order__btn {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.menu__order__btn .btn {
    padding: 16px 18px;
    gap: 8px;
    font-size: 16px;
}

@media screen and (max-width: 575px) {
    .menu__order__btn .btn {
        font-size: 14px;
    }
}

.md__content h6 {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .md__content p {
        font-size: 14px !important;
    }
}

.md__wrapper {
    margin-top: 46px;
}

.md__inner ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 0;
    list-style: none;
}

.md__inner ul li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.md__inner ul li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: hsl(var(--white));
    font-size: 10px;
    width: 16px;
    height: 16px;
    background-color: hsl(var(--base));
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.review--single {
    padding-bottom: 8px;
}

.review--single-topbar {
    margin-bottom: 14px;
}

.review--single-topbar img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 50%;
    flex: 0 0 auto;
}

.review--single-topbar h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
}

.review--single-topbar p {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 16px;
}

.rating-stars {
    font-size: 1.3rem;
    justify-content: flex-end;
    margin-top: -1px;
}

.rating-stars input[type=radio] {
    display: none;
}

.rating-stars label {
    color: hsl(var(--black)/0.15);
    cursor: pointer;
    transition: color 0.2s;
}

.rating-stars label:hover,
.rating-stars label:hover~label {
    color: hsl(var(--warning));
}

.rating-stars input[type=radio]:checked~label {
    color: hsl(var(--warning));
}

.review--box .btn {
    margin-top: 20px;
}

/* ======================  Menu Details Section End  ======================*/
/* ======================  Why Choose Section Start  ======================*/
.wc__wrap .accordion .accordion-button {
    background-color: transparent;
    color: hsl(var(--white));
    font-size: 32px;
    padding: 30px;
    font-weight: 600;
    font-family: var(--heading-font);
    border-radius: 0 0 12px 12px !important;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1399px) {
    .wc__wrap .accordion .accordion-button {
        font-size: 28px;
    }
}

@media screen and (max-width: 1199px) {
    .wc__wrap .accordion .accordion-button {
        font-size: 24px;
        padding: 24px;
    }
}

@media screen and (max-width: 575px) {
    .wc__wrap .accordion .accordion-button {
        font-size: 18px;
        padding: 20px;
        border-radius: 0 0 6px 6px !important;
    }
}

.wc__wrap .accordion .accordion-button[aria-expanded=true]::after,
.wc__wrap .accordion .accordion-button[aria-expanded=false]::after {
    display: none !important;
}

.wc__wrap .accordion .accordion-body {
    padding: 32px;
    background-color: transparent;
    font-size: 16px;
    font-weight: 400;
    color: hsl(var(--white));
}

@media screen and (max-width: 1199px) {
    .wc__wrap .accordion .accordion-body {
        padding: 24px;
        font-size: 14px;
    }
}

@media screen and (max-width: 575px) {
    .wc__wrap .accordion .accordion-body {
        padding: 20px;
    }
}

.wc__wrap .accordion .accordion-item {
    border: none;
    background-color: hsl(var(--heading-color)) !important;
    border-radius: 12px;
    box-shadow: -3px 3px 0 0 hsl(var(--heading-color));
}

@media screen and (max-width: 575px) {
    .wc__wrap .accordion .accordion-item {
        border-radius: 6px;
    }
}

.wc__wrap .wc__sp {
    position: absolute;
    inset-inline-end: 2%;
    bottom: 0;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 56px;
    width: 100%;
}

.why__choose {
    position: relative;
    z-index: 1;
}

.wc__sp5 {
    position: absolute;
    inset-inline-end: 0;
    bottom: 8%;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 320px;
}

@media screen and (max-width: 1199px) {
    .wc__sp5 {
        max-width: 240px;
    }
}

@media screen and (max-width: 767px) {
    .wc__sp5 {
        max-width: 160px;
    }
}

.wc__sp5 img {
    width: 100%;
}

.why__choose__img {
    max-width: 86%;
    margin-inline-start: auto;
}

@media screen and (max-width: 1399px) {
    .why__choose__img {
        max-width: 90%;
        margin-top: 30px;
    }
}

@media screen and (max-width: 991px) {
    .why__choose__img {
        max-width: 300px;
        margin-top: 30px;
        margin-inline-end: auto;
    }
}

@media screen and (max-width: 575px) {
    .why__choose__img {
        max-width: 240px;
    }
}

.why__choose__img img {
    width: 100%;
}

/* ======================  Why Choose Section End  ======================*/
/* ======================  Tutorial Section Start  ======================*/
.tutorial__area {
    position: relative;
    z-index: 1;
    padding-bottom: 80px;
}

.ts__sp {
    position: absolute;
    inset-inline-start: -150px;
    bottom: -180px;
    z-index: -2;
    user-select: none;
    pointer-events: none;
    max-width: 380px;
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

@media screen and (max-width: 1399px) {
    .ts__sp {
        inset-inline-start: -135px;
        bottom: -210px;
        max-width: 320px;
    }
}

@media screen and (max-width: 1199px) {
    .ts__sp {
        inset-inline-start: -120px;
        bottom: -210px;
        max-width: 250px;
    }
}

@media screen and (max-width: 991px) {
    .ts__sp {
        inset-inline-start: -90px;
        bottom: -160px;
        max-width: 220px;
    }

    .tutorial__area {
        padding-bottom: 60px;
    }
}

@media screen and (max-width: 767px) {
    .ts__sp {
        inset-inline-start: -70px;
        bottom: -120px;
        max-width: 180px;
    }
}

@media screen and (max-width: 575px) {
    .ts__sp {
        inset-inline-start: -50px;
        bottom: -90px;
        max-width: 150px;
    }
}

.ts__sp img {
    width: 100%;
}

.ts__sp.sp2 {
    inset-inline-start: auto;
    inset-inline-end: 0;
    bottom: -140px;
    animation: none;
}

@media screen and (max-width: 1399px) {
    .ts__sp.sp2 {
        max-width: 280px;
    }
}

@media screen and (max-width: 1199px) {
    .ts__sp.sp2 {
        max-width: 220px;
    }
}

@media screen and (max-width: 991px) {
    .ts__sp.sp2 {
        bottom: 2%;
    }
}

.tutorial__single {
    text-align: center;
    position: relative;
    z-index: 1;
}

.tutorial__single h5,
.tutorial__single p {
    position: relative;
    z-index: 1;
}

.tutorial__text-bg {
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background-color: hsl(var(--body-bg));
    padding-block: 2px;
    padding-inline: 2px;
    border-radius: 4px;
    line-height: 1.55;
}

.tutorial__single>img {
    max-width: 160px;
    width: 100%;
    margin-bottom: 32px;
}

@media screen and (max-width: 1199px) {
    .tutorial__single>img {
        max-width: 120px;
    }
}

.tutorial__single p {
    font-size: 14px;
    font-weight: 500;
    max-width: 240px;
    margin-inline: auto;
}

.tutorial__line {
    position: absolute;
    inset-inline-end: -120px;
    top: 20%;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 200px;
}

@media screen and (max-width: 1199px) {
    .tutorial__line {
        max-width: 150px;
        inset-inline-end: -85px;
    }
}

@media screen and (max-width: 767px) {
    .tutorial__line {
        inset-inline-end: -68px;
        max-width: 110px;
    }
}

@media screen and (max-width: 575px) {
    .tutorial__line {
        display: none;
    }
}

@media screen and (max-width: 991px) {
    .tutorial__line.line__md {
        display: none;
    }
}

.tutorial__line img {
    width: 100%;
}

.tutorial__area .col-lg-4:nth-child(1) .tutorial__single > img {
    filter: hue-rotate(-30deg);
}

.tutorial__area .col-lg-4:nth-child(2) .tutorial__single > img {
    filter: hue-rotate(-90deg);
}

/* ======================  Tutorial Section End  ======================*/
/* ======================  Program Section Start  ======================*/
.program__wrap {
    display: flex;
}

@media screen and (max-width: 767px) {
    .program__wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 424px) {
    .program__wrap {
        grid-template-columns: repeat(1, 1fr);
        padding: 0 20px;
    }
}

.program__single {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    padding: 32px 32px 60px 32px;
    position: relative;
    z-index: 1;
    min-height: 635px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: flex 0.6s ease, box-shadow 0.6s ease;
}

@media screen and (max-width: 1199px) {
    .program__single {
        min-height: 560px;
    }
}

@media screen and (max-width: 991px) {
    .program__single {
        padding: 20px 20px 40px 20px;
        min-height: 524px;
    }
}

.program__title h3 {
    writing-mode: sideways-lr;
    color: hsl(var(--white));
    font-size: 52px;
    font-weight: 500;
    margin-bottom: 0;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

@media screen and (max-width: 1199px) {
    .program__title h3 {
        font-size: 40px;
    }
}

.program__content {
    position: absolute;
    top: 290px;
    inset-inline-start: 0;
    width: 450px;
    padding: 32px 32px 60px 32px;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

@media screen and (max-width: 1399px) {
    .program__content {
        width: 407px;
    }
}

@media screen and (max-width: 1199px) {
    .program__content {
        padding: 20px 20px 40px 20px;
        width: 336px;
    }
}

@media screen and (max-width: 991px) {
    .program__content {
        width: 255px;
    }
}

.program__sp {
    position: absolute;
    inset-inline-end: 0;
    top: 540px;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    width: auto;
    height: 110px;
    opacity: 0.5;
    transition: 0.6s;
}

@media screen and (max-width: 1199px) {
    .program__sp {
        top: 460px;
    }
}

@media screen and (max-width: 991px) {
    .program__sp {
        height: 80px;
    }
}

.program__sp img {
    width: auto;
    height: 100%;
}

.program__content h4 {
    font-size: 40px;
    font-weight: 600;
    color: hsl(var(--white));
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .program__content h4 {
        font-size: 30px;
        margin-bottom: 16px;
    }
}

@media screen and (max-width: 991px) {
    .program__content h4 {
        font-size: 24px;
        margin-bottom: 12px;
    }
}

.program__content p {
    color: hsl(var(--white));
    font-weight: 500;
    margin-bottom: 40px;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .program__content p {
        margin-bottom: 24px;
    }
}

.program__content a {
    color: hsl(var(--white));
    font-size: 20px;
    font-weight: 500;
    font-family: var(--heading-font);
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

@media screen and (max-width: 1199px) {
    .program__content a {
        font-size: 16px;
    }
}

.program__content a i {
    transform: rotate(-45deg);
    transition: 0.3s;
}

.program__content a:hover i {
    transform: rotate(0);
}

.program__single.active {
    flex: 2 1 0%;
}

.program__single.active .program__sp {
    top: 0;
    height: 200px;
    opacity: 1;
}

@media screen and (max-width: 991px) {
    .program__single.active .program__sp {
        height: 150px;
    }
}

.program__single.active .program__content {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.program__single.active .program__title {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
}

/* ======================  Program Section End  ======================*/
/* ======================  Program Details Section Start  ======================*/
.pd__wrap>img {
    width: 100%;
    border-radius: 12px;
    margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
    .pd__wrap>img {
        margin-bottom: 24px;
    }
}

.pd__desc ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 0;
    list-style: none;
}

.pd__desc ul li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pd__desc ul li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: hsl(var(--white));
    font-size: 10px;
    width: 16px;
    height: 16px;
    background-color: hsl(var(--base));
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.pd__rutine {
    background-color: transparent;
    border-radius: 12px;
}

/* ============ Meal Type Buttons (Program Details) ============ */
.pd__meal-type-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
}

.pd__meal-btn {
    display: inline-flex;
    align-items: center;
    padding: 16px 32px;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    font-family: var(--heading-font);
    text-transform: uppercase;
    color: hsl(var(--white));
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    letter-spacing: 0.5px;
    box-shadow: -4px 4px 0 0 hsl(var(--heading-color));
}

.pd__meal-btn:hover {
    transform: translate(-2px, -2px);
}

.pd__meal-btn.active {
    transform: translate(-4px, 4px);
    box-shadow: none;
}

/* Breakfast - Orange */
.pd__meal-btn--warning {
    background-color: hsl(var(--warning));
}

/* Lunch - Green */
.pd__meal-btn--info {
    background-color: hsl(var(--info));
}

/* Dinner - Base/Orange-Red */
.pd__meal-btn--base {
    background-color: hsl(var(--base));
}

/* Snack - Green */
.pd__meal-btn--green {
    background-color: hsl(var(--success));
}

.pd__meal-btn i {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .pd__meal-type-buttons {
        gap: 10px;
    }
    .pd__meal-btn {
        padding: 12px 20px;
        font-size: 14px;
        border-radius: 8px;
    }
    .pd__meal-btn i {
        font-size: 13px;
    }
}

@media screen and (max-width: 480px) {
    .pd__meal-type-buttons {
        flex-direction: column;
    }
    .pd__meal-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ============ Dish Cards — Shared Base Styles ============ */
.pd__dish-card {
    background: hsl(var(--white));
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 16px hsl(var(--black) / 0.06), 0 1px 4px hsl(var(--black) / 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
}

.pd__dish-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px hsl(var(--black) / 0.10), 0 2px 8px hsl(var(--black) / 0.06);
}

.pd__dish-card__img {
    overflow: hidden;
    background-color: hsl(var(--body-bg));
    flex-shrink: 0;
}

.pd__dish-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.pd__dish-card:hover .pd__dish-card__img img {
    transform: scale(1.05);
}

.pd__dish-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.pd__dish-card__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}

.pd__dish-card__title a {
    color: hsl(var(--heading-color));
    text-decoration: none;
    transition: color 0.2s ease;
}

.pd__dish-card__title a:hover {
    color: hsl(var(--base));
}

.pd__dish-card__overview {
    font-size: 14px;
    color: hsl(var(--body-color));
    line-height: 1.6;
    margin: 0;
}

.pd__dish-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 6px;
}

.pd__dish-card__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: hsl(var(--heading-color));
}

.pd__dish-card__meta-item i {
    font-size: 13px;
    color: hsl(var(--base));
}

/* Nutritional info pills */
.pd__dish-card__nutrition {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid hsl(var(--black) / 0.06);
    margin-top: auto;
}

.pd__nutrition-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: hsl(var(--body-bg));
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 12px;
}

.pd__nutrition-label {
    color: hsl(var(--body-color));
    font-weight: 500;
}

.pd__nutrition-value {
    color: hsl(var(--heading-color));
    font-weight: 700;
}

/* ============ Dish Cards Layout (horizontal 2-column) ============ */
.pd__dishes-list #programDishesBody > .text-center,
.pd__dishes-list #programDishesBody > div:only-child:not(.pd__dish-card) {
    grid-column: 1 / -1;
}

.pd__dishes-list #programDishesBody {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.pd__dishes-list .pd__dish-card {
    flex-direction: row;
}

.pd__dishes-list .pd__dish-card__img {
    width: 180px;
    min-height: 160px;
    aspect-ratio: auto;
}

.pd__dishes-list .pd__dish-card__body {
    padding: 20px;
}

.pd__dishes-list .pd__dish-card:hover {
    transform: translateX(-4px);
}

/* RTL: image goes to the right */
[dir="rtl"] .pd__dishes-list .pd__dish-card {
    flex-direction: row-reverse;
}

[dir="rtl"] .pd__dishes-list .pd__dish-card:hover {
    transform: translateX(4px);
}

@media screen and (max-width: 991px) {
    .pd__dishes-list #programDishesBody {
        grid-template-columns: 1fr;
    }
    .pd__dishes-list .pd__dish-card__img {
        width: 140px;
        min-height: 130px;
    }
    .pd__dishes-list .pd__dish-card__body {
        padding: 14px;
    }
}

@media screen and (max-width: 575px) {
    /* Stack vertically on small screens even in list mode */
    .pd__dishes-list .pd__dish-card {
        flex-direction: column;
    }
    .pd__dishes-list .pd__dish-card__img {
        width: 100%;
        min-height: unset;
        aspect-ratio: 16 / 10;
    }
    [dir="rtl"] .pd__dishes-list .pd__dish-card {
        flex-direction: column;
    }
    .pd__dishes-list .pd__dish-card:hover {
        transform: translateY(-4px);
    }
    [dir="rtl"] .pd__dishes-list .pd__dish-card:hover {
        transform: translateY(-4px);
    }
}

/* Shared responsive text sizing */
@media screen and (max-width: 767px) {
    .pd__dish-card__body {
        padding: 16px;
    }
    .pd__dish-card__title {
        font-size: 16px;
    }
    .pd__dish-card__overview {
        font-size: 13px;
    }
}

/* ============ End Dish Cards ============ */

.pd__rutine__date {
    display: flex;
    flex-wrap: wrap;
    column-gap: 32px;
    row-gap: 20px;
    border-bottom: 1px solid hsl(var(--black)/0.08);
    padding: 32px 20px 0 20px;
}

@media screen and (max-width: 767px) {
    .pd__rutine__date {
        column-gap: 20px;
    }
}

.pd__rutine__date a {
    font-size: 16px;
    font-weight: 600;
    font-family: var(--heading-font);
    color: hsl(var(--heading-color)/0.4);
    padding-bottom: 24px;
    line-height: 1;
    border-bottom: 1px solid transparent;
    margin-bottom: -1px;
}

@media screen and (max-width: 767px) {
    .pd__rutine__date a {
        padding-bottom: 12px;
        font-size: 14px;
    }
}

.pd__rutine__date a:hover,
.pd__rutine__date a.active {
    color: hsl(var(--base));
    border-color: hsl(var(--base));
}

.pd__rutine__item {
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: 24px;
}

@media screen and (max-width: 767px) {
    .pd__rutine__item {
        gap: 16px;
    }
}

.pd__rutine__item img {
    width: 130px;
    height: 130px;
    object-fit: cover;
    border-radius: 50%;
    background-color: hsl(var(--black)/0.04);
    padding: 20px;
    flex: 0 0 auto;
}

@media screen and (max-width: 767px) {
    .pd__rutine__item img {
        width: 100px;
        height: 100px;
        padding: 14px;
    }
}

.pd__rutine__desc > div,
.pd__rutine__desc > p {
    color: hsl(var(--body-color));
    margin-bottom: 16px;
}

.pd__rutine__desc > div *,
.pd__rutine__desc > p * {
    color: hsl(var(--body-color)) !important;
}

.pd__rutine__desc ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: disc;
    padding-left: 20px;
}

.pd__rutine__desc ul li::marker {
    color: hsl(var(--base));
}

.pd__rutine__desc ul li {
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

.pd__rutine__desc ul li span {
    color: hsl(var(--body-color));
    min-width: 120px;
}

.pd__rutine__table .table tbody {
    background-color: transparent;
}

.pd__rutine__table .table tbody tr td {
    padding: 20px;
    font-family: var(--body-font);
    color: hsl(var(--body-color));
    font-weight: 400;
    max-width: 170px;
    font-size: 16px;
    max-width: unset;
}

.pd__rutine__table .table tbody tr td:first-child {
    text-align: start;
    border-inline-start: none;
    padding: 20px;
    padding-inline-end: 40px;
}

.pd__rutine__table .table tbody tr td:last-child {
    text-align: start;
    border-inline-end: none;
    padding: 20px;
    padding-left: 60px;
}

.pd__rutine__table .table tbody tr:last-child td:first-child {
    border-radius: 0;
}

.pd__rutine__table .table tbody tr:last-child td:last-child {
    border-radius: 0;
}

.pd__rutine__table .table tbody tr:last-child td {
    border-bottom: none;
}

.pd__rutine__table .table> :not(caption)>*>* {
    background-color: transparent;
}

/* ======================  Program Details Section End  ======================*/
/* ======================  Newsletter Section Start  ======================*/
.newsletter__area {
    background-color: hsl(var(--heading-color));
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.newsletter__area .section__heading {
    padding-inline: 40px;
}

@media screen and (max-width: 767px) {
    .newsletter__area .section__heading {
        padding-inline: 0;
    }
}

.newsletter__area .section__heading h2 {
    font-size: 56px;
}

@media screen and (max-width: 1399px) {
    .newsletter__area .section__heading h2 {
        font-size: 40px;
    }
}

@media screen and (max-width: 991px) {
    .newsletter__area .section__heading h2 {
        font-size: 34px;
    }
}

@media screen and (max-width: 575px) {
    .newsletter__area .section__heading h2 {
        font-size: 28px;
    }
}

.newsletter__area .section__heading p {
    color: hsl(var(--white)/0.8);
}

@media screen and (max-width: 1399px) {
    .newsletter__area .section__heading p {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .newsletter__area .section__heading p {
        font-size: 14px;
    }
}

.newsletter__form {
    position: relative;
    z-index: 1;
}

.newsletter__form input {
    padding: 22px;
    padding-inline-end: 60px;
}

@media screen and (max-width: 1399px) {
    .newsletter__form input {
        padding: 20px;
        padding-inline-end: 60px;
    }
}

@media screen and (max-width: 991px) {
    .newsletter__form input {
        padding: 18px;
        padding-inline-end: 60px;
    }
}

.newsletter__form button {
    position: absolute;
    inset-inline-end: 18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.newsletter__form button img {
    width: 32px;
    transition: 0.3s;
}

.newsletter__form button:hover img {
    transform: rotate(45deg);
}

.newsletter__sp {
    position: absolute;
    inset-inline-end: -20px;
    top: -20px;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 320px;
}

@media screen and (max-width: 1399px) {
    .newsletter__sp {
        max-width: 260px;
    }
}

@media screen and (max-width: 991px) {
    .newsletter__sp {
        max-width: 180px;
    }
}

@media screen and (max-width: 575px) {
    .newsletter__sp {
        display: none;
    }
}

.newsletter__sp img {
    width: 100%;
    animation: floatAnim 4s linear 0s infinite alternate none;
}

.newsletter__sp.sp2 {
    inset-inline-end: auto;
    top: auto;
    inset-inline-start: -120px;
    bottom: -100px;
    max-width: 380px;
}

@media screen and (max-width: 1399px) {
    .newsletter__sp.sp2 {
        max-width: 320px;
    }
}

@media screen and (max-width: 991px) {
    .newsletter__sp.sp2 {
        max-width: 280px;
    }
}

.newsletter__sp.sp2 img {
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

/* ======================  Newsletter Section End  ======================*/
/* ======================  Pricing Section Start  ======================*/
.pricing__topbar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 32px;
    margin-bottom: 40px;
    width: fit-content;
    margin-inline: auto;
    border-bottom: 1px solid hsl(var(--black)/0.06);
}

@media screen and (max-width: 575px) {
    .pricing__topbar {
        gap: 20px;
    }
}

.pricing__topbar a {
    font-family: var(--heading-font);
    font-size: 16px;
    font-weight: 600;
    color: hsl(var(--heading-color)/0.4);
    border-bottom: 1px solid transparent;
    line-height: 1;
    padding-bottom: 24px;
    margin-bottom: -1px;
}

@media screen and (max-width: 991px) {
    .pricing__topbar a {
        font-size: 14px;
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 575px) {
    .pricing__topbar a {
        padding-bottom: 12px;
    }
}

.pricing__topbar a:hover,
.pricing__topbar a.active {
    color: hsl(var(--base));
    border-color: hsl(var(--base));
}

.pricing__card {
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 40px;
    padding-top: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: -10px 10px 0 0 hsl(var(--heading-color));
    transition: 0.3s;
}

@media screen and (max-width: 1199px) {
    .pricing__card {
        padding: 32px;
        padding-top: 0;
    }
}

@media screen and (max-width: 575px) {
    .pricing__card {
        max-width: 350px;
        margin-inline: auto;
        box-shadow: -6px 6px 0 0 hsl(var(--heading-color));
    }
}

.pricing__card:hover {
    box-shadow: none;
}

.pricing__card:hover span {
    background-color: hsl(var(--black)/0.3);
}

.pricing__card img {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    z-index: -1;
    max-width: 280px;
    user-select: none;
    pointer-events: none;
}

@media screen and (max-width: 1199px) {
    .pricing__card img {
        max-width: 200px;
    }
}

.pricing__card span {
    width: 115px;
    height: 100px;
    background-color: hsl(var(--black)/0.06);
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    border-radius: 0 0 100px 100px;
    color: hsl(var(--white));
    font-size: 32px;
    transition: 0.3s;
}

.pricing__card h3 {
    color: hsl(var(--white));
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .pricing__card h3 {
        font-size: 36px;
        margin-bottom: 16px;
    }
}

.pricing__card p {
    font-size: 20px;
    font-weight: 600;
    color: hsl(var(--white));
    margin-bottom: 45px;
    line-height: 1;
}

@media screen and (max-width: 1199px) {
    .pricing__card p {
        font-size: 16px;
        margin-bottom: 30px;
    }
}

.pricing__card ul {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 32px;
}

@media screen and (max-width: 1199px) {
    .pricing__card ul {
        gap: 20px;
    }
}

.pricing__card ul li {
    color: hsl(var(--white));
    font-size: 16px;
    font-weight: 500;
}

@media screen and (max-width: 1199px) {
    .pricing__card ul li {
        font-size: 14px;
    }
}

.pricing__card .btn {
    border: 1px solid hsl(var(--heading-color));
}

.pricing__card .btn:hover {
    color: hsl(var(--white)) !important;
}

/* ======================  Pricing Section End  ======================*/
/* ======================  Dashboard Pricing Section Start  ======================*/
.dashboard__pricing {
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 40px;
    padding-top: 0;
    border-radius: 12px;
    background-color: hsl(var(--black)/0.04);
    border: 1px solid hsl(var(--black)/0.08);
}

@media screen and (max-width: 1399px) {
    .dashboard__pricing {
        padding: 20px;
        padding-top: 0;
    }
}

.dashboard__pricing span {
    width: 115px;
    height: 100px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    border-radius: 0 0 100px 100px;
    color: hsl(var(--white));
    font-size: 32px;
    margin-top: -1px;
}

.dashboard__pricing h3 {
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 24px;
}

@media screen and (max-width: 1399px) {
    .dashboard__pricing h3 {
        font-size: 30px;
        margin-bottom: 16px;
    }
}

.dashboard__pricing p {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 45px;
    line-height: 1;
}

@media screen and (max-width: 1399px) {
    .dashboard__pricing p {
        font-size: 16px;
        margin-bottom: 24px;
    }
}

.dashboard__pricing ul {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 32px;
}

@media screen and (max-width: 1399px) {
    .dashboard__pricing ul {
        gap: 16px;
    }
}

.dashboard__pricing ul li {
    font-size: 16px;
    font-weight: 500;
}

@media screen and (max-width: 1399px) {
    .dashboard__pricing ul li {
        font-size: 14px;
    }
}

/* ======================  Dashboard Pricing Section End  ======================*/
/* ======================  Testimonial Section Start  ======================*/
.testimonial__area {
    position: relative;
    z-index: 1;
}

.testimonial__title {
    position: absolute;
    left: 50%;
    right: auto;
    top: -32px;
    transform: translateX(-50%);
    z-index: -2;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .testimonial__title {
        top: 14px;
    }
}

.testimonial__title h2 {
    margin-bottom: 0;
    line-height: 1;
    font-size: 240px;
    background: -webkit-linear-gradient(hsl(var(--black)/0.08), transparent);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    white-space: nowrap;
    user-select: none;
}

@media screen and (max-width: 1199px) {
    .testimonial__title h2 {
        font-size: 180px;
    }
}

@media screen and (max-width: 991px) {
    .testimonial__title h2 {
        font-size: 140px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial__title h2 {
        font-size: 110px;
    }
}

@media screen and (max-width: 575px) {
    .testimonial__title h2 {
        font-size: 20vw;
    }
}

.testimonial__thumb img {
    width: 100%;
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

.testimonial__thumb {
    max-width: 50%;
    margin-inline: auto;
    padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
    .testimonial__thumb {
        padding-bottom: 40px;
    }
}

@media screen and (max-width: 575px) {
    .testimonial__thumb {
        padding-bottom: 20px;
        max-width: 70%;
    }
}

.testimonial__wrap {
    position: relative;
    z-index: 1;
}

.testimonial__card {
    position: absolute;
    inset-inline-start: 0;
    top: 10%;
    max-width: 390px;
    padding: 20px;
    border-radius: 24px;
    z-index: 2;
    transition: 0.4s;
}

@media screen and (max-width: 1199px) {
    .testimonial__card {
        top: 0;
        max-width: 300px;
    }
}

@media screen and (max-width: 991px) {
    .testimonial__card {
        max-width: 280px;
        padding: 16px;
        border-radius: 16px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial__card {
        border-radius: 8px;
        padding: 12px;
        max-width: 220px;
    }
}

@media screen and (max-width: 575px) {
    .testimonial__card {
        position: unset;
        max-width: 90%;
        margin-inline: auto;
        margin-top: 10px;
    }
}

.testimonial__card.tc__1 {
    border-end-end-radius: 0;
}

@media screen and (max-width: 575px) {
    .testimonial__card.tc__1 {
        border-end-end-radius: 8px;
    }
}

.testimonial__card.tc__2 {
    inset-inline-start: auto;
    inset-inline-end: 0;
    top: 30%;
    border-bottom-left-radius: 0;
}

@media screen and (max-width: 767px) {
    .testimonial__card.tc__2 {
        top: 10%;
    }
}

@media screen and (max-width: 575px) {
    .testimonial__card.tc__2 {
        border-bottom-left-radius: 8px;
    }
}

.testimonial__card.tc__3 {
    inset-inline-start: 20%;
    top: auto;
    bottom: 0;
    border-start-end-radius: 0;
}

@media screen and (max-width: 767px) {
    .testimonial__card.tc__3 {
        inset-inline-start: 10%;
    }
}

@media screen and (max-width: 575px) {
    .testimonial__card.tc__3 {
        border-start-end-radius: 8px;
    }
}

.testimonial__content p {
    font-size: 18px;
    font-weight: 400;
    color: hsl(var(--white));
    margin-bottom: 24px;
}

@media screen and (max-width: 1199px) {
    .testimonial__content p {
        font-size: 16px;
    }
}

@media screen and (max-width: 991px) {
    .testimonial__content p {
        font-size: 14px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .testimonial__content p {
        font-size: 12px;
        margin-bottom: 16px;
    }
}

.testimonial__content {
    height: 0;
    overflow: hidden;
    transition: height 0.4s ease;
}

.testimonial__user {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: end;
    gap: 12px;
}

.testimonial__user img {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 50%;
}

@media screen and (max-width: 767px) {
    .testimonial__user img {
        width: 40px;
        height: 40px;
    }
}

.testimonial__user h6 {
    color: hsl(var(--white));
    margin-bottom: 0;
}

.testimonial__sp {
    position: absolute;
    inset-inline-start: 1%;
    bottom: 0;
    max-width: 90px;
    z-index: 1;
    transition: 0.4s;
}

@media screen and (max-width: 991px) {
    .testimonial__sp {
        max-width: 70px;
    }
}

.testimonial__sp img {
    width: 100%;
}

.testimonial__card.active {
    border-radius: 12px;
}

.testimonial__card.active.tc__1 {
    border-end-end-radius: 0;
}

.testimonial__card.active.tc__2 {
    border-bottom-left-radius: 0;
}

.testimonial__card.active.tc__3 {
    border-start-end-radius: 0;
}

.testimonial__card.active .testimonial__content {
    height: auto;
}

.testimonial__card.active .testimonial__sp {
    inset-inline-start: 4%;
    max-width: 110px;
}

@media screen and (max-width: 991px) {
    .testimonial__card.active .testimonial__sp {
        max-width: 90px;
    }
}

/* ======================  Testimonial Section End  ======================*/
/* ======================  Team Section Start  ======================*/
.team__area {
    position: relative;
    z-index: 1;
}

.team__shape {
    position: absolute;
    left: 0;
    right: auto;
    top: 0;
    z-index: -2;
    max-width: 200px;
    user-select: none;
    pointer-events: none;
}

@media screen and (max-width: 1399px) {
    .team__shape {
        max-width: 160px;
    }
}

@media screen and (max-width: 991px) {
    .team__shape {
        max-width: 120px;
    }
}

@media screen and (max-width: 767px) {
    .team__shape {
        max-width: 100px;
        top: 2%;
    }
}

@media screen and (max-width: 575px) {
    .team__shape {
        display: none;
    }
}

.team__shape img {
    width: 100%;
    animation: floatAnim 3s linear 0s infinite alternate none;
}

.team__card {
    position: relative;
    z-index: 1;
    border-radius: 12px;
    overflow: hidden;
    transition: 0.3s;
}

@media screen and (max-width: 575px) {
    .team__card {
        max-width: 280px;
        margin-inline: auto;
    }
}

.team__card:hover {
    box-shadow: 0 12px 0px -2px hsl(var(--heading-color));
    transform: translateY(8px);
}

.team__card:hover .team__img {
    inset-inline-start: -55px;
    border-start-end-radius: 0;
    border-radius: 50%;
}

@media screen and (max-width: 1199px) {
    .team__card:hover .team__img {
        inset-inline-start: -40px;
    }
}

.team__sp {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    z-index: -1;
    max-width: 80px;
    user-select: none;
    pointer-events: none;
}

.team__sp img {
    width: 100%;
}

.team__content {
    text-align: end;
    padding: 32px;
    padding-top: 20px;
}

@media screen and (max-width: 1199px) {
    .team__content {
        padding: 20px;
    }
}

.team__content h4 {
    color: hsl(var(--white));
    margin-bottom: 8px;
}

.team__content p {
    color: hsl(var(--white)/0.8);
}

.team__img {
    height: 320px;
    background-color: hsl(var(--black)/0.1);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: end;
    border-radius: 50%;
    border-start-end-radius: 0;
    position: relative;
    inset-inline-start: -70px;
    top: 0;
    margin-top: -30px;
    transition: 0.3s;
}

@media screen and (max-width: 1399px) {
    .team__img {
        height: 270px;
    }
}

@media screen and (max-width: 1199px) {
    .team__img {
        height: 230px;
        inset-inline-start: -30px;
    }
}

@media screen and (max-width: 991px) {
    .team__img {
        max-width: 250px;
    }
}

@media screen and (max-width: 767px) {
    .team__img {
        max-width: 220px;
    }
}

.team__img img {
    width: auto;
    height: 86%;
    margin-inline-end: 20px;
}

/* ======================  Team Section End  ======================*/
/* ======================  FAQ Section Start  ======================*/
.faq__area {
    position: relative;
    z-index: 1;
}

.faq__tomato {
    position: absolute;
    left: 4%;
    right: auto;
    top: -200px;
    opacity: 0;
    z-index: -2;
    user-select: none;
    pointer-events: none;
    max-width: 150px;
    transform-origin: center;
    height: fit-content;
}

@media screen and (max-width: 991px) {
    .faq__tomato {
        display: none;
    }
}

.faq__tomato.animate {
    top: 40%;
    opacity: 1;
    animation: tomatoDrop 1s ease-out forwards;
}

.faq__tomato::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    width: 0;
    height: 0;
    background: hsl(var(--base)/0.5);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    pointer-events: none;
    z-index: -1;
}

.faq__tomato.animate::after {
    animation: splashRipple 0.6s ease-out 0.7s forwards;
}

@keyframes tomatoDrop {
    0% {
        top: -200px;
        opacity: 0;
        transform: scale(1) rotate(0deg);
    }

    70% {
        top: 38%;
        opacity: 1;
        transform: scale(1.05) rotate(10deg);
    }

    100% {
        top: 40%;
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

@keyframes splashRipple {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        width: 80%;
        height: 80%;
        opacity: 0;
    }
}

.faq__img {
    position: absolute;
    left: 4%;
    right: auto;
    bottom: 12%;
    z-index: -2;
    user-select: none;
    pointer-events: none;
    max-width: 370px;
}

@media screen and (max-width: 1399px) {
    .faq__img {
        max-width: 250px;
    }
}

@media screen and (max-width: 1199px) {
    .faq__img {
        max-width: 200px;
    }
}

@media screen and (max-width: 991px) {
    .faq__img {
        max-width: 160px;
    }
}

@media screen and (max-width: 767px) {
    .faq__img {
        display: none;
    }
}

.faq__img img {
    width: 100%;
}

.faq__img.fq2 {
    left: auto;
    right: 0;
    top: 15%;
    bottom: auto;
}

.faq__sp {
    position: absolute;
    inset-inline-end: 0;
    bottom: 0;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 140px;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .faq__sp {
        max-width: 100px;
    }
}

/* ======================  FAQ Section End  ======================*/
/* ======================  Blog Section Start  ======================*/
.blog__topbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .blog__topbar {
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
}

.blog__topbar .section__heading {
    margin-inline-start: 0;
}

@media screen and (max-width: 991px) {
    .blog__topbar .section__heading {
        max-width: 450px;
    }
}

@media screen and (max-width: 767px) {
    .blog__topbar .section__heading {
        max-width: 100%;
    }
}

.blog__card {
    padding: 20px;
    border-radius: 12px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .blog__card {
        max-width: 400px;
        margin-inline: auto;
    }
}

.blog__card:hover .blog__img a img {
    transform: scale(1.1);
}

.blog__sp {
    position: absolute;
    inset-inline-end: 0;
    bottom: 0;
    z-index: -1;
    max-width: 120px;
    width: 100%;
    user-select: none;
    pointer-events: none;
}

@media screen and (max-width: 1199px) {
    .blog__sp {
        max-width: 90px;
    }
}

.blog__img a {
    width: 100%;
    height: 240px;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
}

@media screen and (max-width: 1199px) {
    .blog__img a {
        height: 180px;
    }
}

.blog__img a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s;
}

.blog__content {
    padding-bottom: 10px;
}

.blog__content span {
    display: block;
    color: hsl(var(--white));
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
}

@media screen and (max-width: 1199px) {
    .blog__content span {
        font-size: 12px;
    }
}

.blog__content h4 a {
    color: hsl(var(--white));
    font-weight: 600;
}

.blog__content h4 {
    margin-bottom: 24px;
    color: hsl(var(--white));
}

.blog__content>a {
    color: hsl(var(--white));
    font-size: 14px;
    font-weight: 700;
    font-family: var(--heading-font);
}

.blog__content>a:hover {
    letter-spacing: 1px;
}

.blog__content>a i {
    transform: rotate(-45deg);
    margin-inline-start: 2px;
    transition: 0.3s;
}

.blog__content>a:hover i {
    transform: rotate(0);
}

.blog__content h4 a {
    display: inline !important;
    width: 100%;
    background-repeat: no-repeat;
    background-position-y: -2px;
    background-image: linear-gradient(transparent calc(100% - 2px), currentColor 2px);
    -webkit-transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    background-size: 0 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.blog__content h4 a:hover {
    background-image: linear-gradient(transparent calc(100% - 2px), currentColor 2px);
    background-size: 100% 100%;
    color: hsl(var(--base-two));
}

/* ======================  Blog Section End  ======================*/
/* ======================  Blog Details Section Start  ======================*/
.recent__blog__single {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.recent__blog__single>a {
    width: 85px;
    height: 70px;
    flex: 0 0 auto;
    border-radius: 7px;
    overflow: hidden;
}

@media screen and (max-width: 1199px) {
    .recent__blog__single>a {
        width: 70px;
        border-radius: 5px;
    }
}

.recent__blog__single>a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

.recent__blog__single h6 {
    margin-bottom: 4px;
}

.recent__blog__single p {
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.recent__blog__single p i {
    color: hsl(var(--base));
}

.recent__blog__single:not(:last-child) {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid hsl(var(--black)/0.06);
}

.recent__blog__single:hover>a img {
    transform: scale(1.1);
}

.blog__details__content img {
    width: 100%;
    border-radius: 16px;
    margin-bottom: 16px;
}

@media screen and (max-width: 1199px) {
    .blog__details__content img {
        border-radius: 10px;
    }
}

.blog__date {
    margin-bottom: 16px;
}

.blog__date span i {
    color: hsl(var(--base));
}

.blog__date span {
    display: flex;
    align-items: center;
    gap: 8px;
}

@media screen and (max-width: 1199px) {
    .blog__date span {
        font-size: 14px;
    }
}

.blog__quote {
    padding: 26px 0;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 1199px) {
    .blog__quote {
        padding: 14px 0;
    }
}

.blog__quote p {
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 600;
    font-style: italic;
    text-align: center;
    color: hsl(var(--heading-color));
}

@media screen and (max-width: 1199px) {
    .blog__quote p {
        font-size: 14px;
    }
}

.blog__quote span {
    position: absolute;
    inset-inline-start: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    color: hsl(var(--black)/0.09);
    font-size: 110px;
    line-height: 1;
}

.blog__share {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 48px;
}

@media screen and (max-width: 575px) {
    .blog__share {
        margin-top: 24px;
    }
}

.blog__share h6 {
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 12px;
}

.blog__share h6 i {
    color: hsl(var(--base));
}

/* ======================  Blog Details Section End  ======================*/
/* ======================  About Section Start  ======================*/
.about__area {
    position: relative;
    z-index: 1;
}

.about__sp2 {
    position: absolute;
    inset-inline-end: 2%;
    bottom: 4%;
    user-select: none;
    pointer-events: none;
    max-width: 220px;
}

@media screen and (max-width: 1199px) {
    .about__sp2 {
        max-width: 150px;
        bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    .about__sp2 {
        max-width: 110px;
    }
}

@media screen and (max-width: 575px) {
    .about__sp2 {
        display: none;
    }
}

.about__sp2 img {
    width: 100%;
    animation: wobbleAnim 4s linear 0s infinite alternate none;
}

.about__sp3 {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    user-select: none;
    pointer-events: none;
    max-width: 290px;
    opacity: 0.2;
}

@media screen and (max-width: 1199px) {
    .about__sp3 {
        max-width: 220px;
    }
}

@media screen and (max-width: 991px) {
    .about__sp3 {
        max-width: 180px;
    }
}

.about__sp3 img {
    width: 100%;
}

.about__img {
    position: relative;
    z-index: 1;
    text-align: center;
}

@media screen and (max-width: 991px) {
    .about__img {
        max-width: 60%;
        margin-inline: auto;
        margin-top: 20px;
    }
}

@media screen and (max-width: 575px) {
    .about__img {
        max-width: 80%;
    }
}

.about__thumb {
    width: 90%;
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

.about__sp1 {
    position: absolute;
    inset-inline-start: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
}

.about__wrap {
    max-width: 86%;
}

@media screen and (max-width: 1199px) {
    .about__wrap {
        max-width: 94%;
    }
}

@media screen and (max-width: 991px) {
    .about__wrap {
        max-width: 100%;
    }
}

.about__main {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.about__card {
    padding: 32px;
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
    gap: 24px;
    transition: 0.3s;
    box-shadow: 0px 8px 0 -4px hsl(var(--heading-color));
}

@media screen and (max-width: 1199px) {
    .about__card {
        padding: 24px;
        gap: 16px;
    }
}

@media screen and (max-width: 575px) {
    .about__card {
        padding: 20px;
    }
}

.about__card img {
    flex: 0 0 auto;
    width: 90px;
}

@media screen and (max-width: 1199px) {
    .about__card img {
        width: 70px;
    }
}

.about__card:hover {
    box-shadow: 0px 0px 0 -4px hsl(var(--heading-color));
    transform: translateY(4px);
}

@media screen and (max-width: 575px) {
    .about__content p {
        font-size: 12px;
    }
}

/* ======================  About Section End  ======================*/
/* ======================  Cart Section Start  ======================*/
.cart__wrap {
    background-color: hsl(var(--white)/0.6);
    padding: 32px;
    border-radius: 12px;
}

.cart__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.favorite__topbar {
    margin-bottom: 32px;
}

.cart__topbar__btn {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cart__topbar__btn button {
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: hsl(var(--base));
}

.cart__item:not(:first-child) {
    border-top: 1px solid hsl(var(--black)/0.08);
    padding-top: 32px;
    margin-top: 24px;
}

@media screen and (max-width: 767px) {
    .cart__wrapper {
        overflow-y: auto;
        scrollbar-width: thin;
    }
}

.cart__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.cart__item__left {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
    flex: 1 1 0%;
}

.cart__item__right {
    flex-shrink: 0;
}

.cart__content {
    min-width: 0;
}

.cart__content h6 a {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.cart__img img {
    width: 130px;
    height: 130px;
    object-fit: cover;
    border-radius: 50%;
    background-color: hsl(var(--black)/0.04);
    padding: 20px;
    transition: 0.3s;
}

@media screen and (max-width: 1199px) {
    .cart__img img {
        width: 100px;
        height: 100px;
        padding: 14px;
    }
}

.cart__img img:hover {
    transform: rotate(30deg);
}

.cart__img {
    flex: 0 0 auto;
}

.cart__content h6 {
    margin-bottom: 8px;
}

.cart__content p {
    font-size: 14px;
    margin-bottom: 12px;
}

.cart__content span {
    font-size: 16px;
    font-weight: 600;
}

.cart__content__btn {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cart__content__btn button {
    font-size: 14px;
    font-weight: 400;
    color: hsl(var(--base));
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-inline-end: 12px;
    padding-inline-end: 12px;
    border-inline-end: 1px solid hsl(var(--black)/0.08);
}

.cart__content__btn a {
    font-size: 14px;
    font-weight: 400;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: hsl(var(--body-color)/0.8);
}

.cart__content__btn a:hover {
    color: hsl(var(--base));
}

.cart__content__btn a i {
    line-height: 1;
    margin-bottom: -1px;
}

.cart__item__right .number__wrap button {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--white)/0.6);
    border-radius: 50%;
}

.cart__item__right .number__wrap button:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    border-color: hsl(var(--base));
}

.cart__item__right .number__wrap .form-control {
    border: none;
    border-top: none;
    border-bottom: none;
    width: 60px;
}

.cart__summary-col {
    position: relative;
}

.cart__summary-col .cart__summary {
    position: sticky;
    top: 100px;
}

.cart__summary {
    background-color: hsl(var(--white)/0.6);
    padding: 24px 20px;
    border-radius: 12px;
}

.cart__summary__info h5 {
    margin-bottom: 12px;
}

.cart__summary__info ul {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cart__summary__info .btn {
    padding: 13px;
    font-size: 18px;
    box-shadow: none;
}

.cart__summary__info .btn:hover {
    transform: translate(0);
}

.cart__summary__info ul li {
    font-size: 16px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.cart__summary__info ul li:last-child {
    border-top: 1px solid hsl(var(--black)/0.08);
    padding-top: 12px;
    font-weight: 600;
    color: hsl(var(--heading-color));
}

.cart__summary__info ul li:last-child span {
    font-size: 20px;
}

.cart__summary .dropdown-toggle {
    color: hsl(var(--base));
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
    background-color: hsl(var(--base)/0.04);
    border: 1px solid hsl(var(--base)/0.04);
    width: 100%;
    justify-content: space-between;
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 24px;
    transition: 0.3s;
}

.cart__summary .dropdown-toggle:hover {
    background-color: hsl(var(--base)/0.1);
    border-color: hsl(var(--base)/0.1);
}

/* ======================  Cart Section End  ======================*/
/* ======================  Checkout Section Start  ======================*/
.checkout__card {
    background-color: hsl(var(--white)/0.6);
    border-radius: 12px;
    padding: 24px;
}

@media screen and (max-width: 575px) {
    .checkout__card {
        padding: 24px 16px;
    }
}

.checkout__card .form-control {
    background-color: transparent;
}

.checkout__card h4 {
    font-weight: 600;
}

.checkout__map iframe {
    width: 100%;
    height: 280px;
    border-radius: 12px;
}

.checkout__map__bottombar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}

@media screen and (max-width: 575px) {
    .checkout__map__bottombar {
        margin-top: 16px;
    }
}

.checkout__map__bottombar p {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-size: 18px;
    font-weight: 600;
    max-width: 340px;
}

@media screen and (max-width: 1199px) {
    .checkout__map__bottombar p {
        font-size: 16px;
    }
}

@media screen and (max-width: 767px) {
    .checkout__map__bottombar p {
        max-width: 300px;
    }
}

.checkout__map__bottombar p i {
    width: 35px;
    height: 35px;
    background-color: hsl(var(--base)/0.13);
    color: hsl(var(--base));
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-top: 4px;
}

.checkout__map__bottombar a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--base));
    font-size: 16px;
    font-weight: 600;
}

.checkout__btn .btn {
    padding: 13px 26px;
    font-size: 18px;
    box-shadow: none;
    border-radius: 12px;
}

@media screen and (max-width: 767px) {
    .checkout__btn .btn {
        border-radius: 4px;
    }
}

.checkout__btn .btn:hover,
.checkout__btn .btn:focus,
.checkout__btn .btn:focus-visible {
    transform: translate(0);
}

.checkout__method a {
    font-size: 16px;
    font-weight: 600;
    color: hsl(var(--base));
}

.checkout__method .form-radio {
    margin-bottom: 0;
    padding-left: 0;
    border: 1px solid hsl(var(--black)/0.08);
    padding: 18px 15px;
    border-radius: 5px;
    margin-bottom: 16px;
}

@media screen and (max-width: 575px) {
    .checkout__method .form-radio {
        padding: 12px 15px;
    }
}

.checkout__method .form-radio .form-check-label {
    display: flex;
    align-items: center;
}

.checkout__method .form-radio .form-check-label img {
    width: auto;
    height: 26px;
    margin-inline-start: 10px;
    flex: 0 0 auto;
}

/* ======================  Checkout Section End  ======================*/
/* ======================  Contact Section Start  ======================*/
.contact__wrapper {
    background-color: hsl(var(--white)/0.6);
    padding: 40px 32px;
    border-radius: 12px;
}

@media screen and (max-width: 767px) {
    .contact__wrapper {
        padding: 30px 20px;
    }
}

.contact__wrapper .form-control {
    background-color: transparent;
}

.contact__card {
    position: relative;
    z-index: 1;
    padding: 20px;
    border-radius: 12px;
    overflow: hidden;
    text-align: end;
    box-shadow: 0 8px 0 -2px hsl(var(--heading-color));
    transition: 0.3s;
}

.contact__card:hover {
    box-shadow: none;
    transform: translateY(6px);
}

.contact__icon {
    background-color: hsl(var(--black)/0.06);
    color: hsl(var(--white));
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 30px;
    margin-inline-start: -60px;
    margin-top: -70px;
}

.contact__icon i {
    padding-left: 30px;
    padding-top: 50px;
}

.contact__card a {
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--white));
    margin-bottom: 8px;
}

@media screen and (max-width: 1399px) {
    .contact__card a {
        font-size: 20px;
    }
}

.contact__card a {
    display: inline !important;
    width: 100%;
    background-repeat: no-repeat;
    background-position-y: -2px;
    background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
    -webkit-transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    background-size: 0 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.contact__card a:hover {
    background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px);
    background-size: 100% 100%;
}

.contact__card p {
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--white));
}

@media screen and (max-width: 1399px) {
    .contact__card p {
        font-size: 20px;
    }
}

.contact__card h4 {
    margin-bottom: 0;
    margin-top: 8px;
    color: hsl(var(--white));
    font-size: 16px;
    font-weight: 400;
    font-family: var(--body-font);
    display: block;
}

@media screen and (max-width: 1399px) {
    .contact__card h4 {
        font-size: 16px;
    }
}

.contact__sp {
    position: absolute;
    inset-inline-start: 6px;
    bottom: 0;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    width: 50px;
}

.contact__map #contact-map {
    width: 100%;
    height: 635px;
}

@media screen and (max-width: 1399px) {
    .contact__map #contact-map {
        height: 500px;
    }
}

@media screen and (max-width: 1199px) {
    .contact__map #contact-map {
        height: 400px;
    }
}

.contact__thumb {
    text-align: end;
}

.contact__thumb img {
    max-width: 520px;
    width: 100%;
}

/* ======================  Contact Section End  ======================*/
/* ======================  Policy Section Start  ======================*/
.policy__area {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.policy__sp {
    position: absolute;
    inset-inline-end: 0;
    top: 40%;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 300px;
    width: 100%;
    transform: rotate(-30deg);
}

@media screen and (max-width: 991px) {
    .policy__sp {
        max-width: 200px;
    }
}

@media screen and (max-width: 767px) {
    .policy__sp {
        max-width: 140px;
    }
}

.policy__sp.sp-2 {
    inset-inline-end: auto;
    inset-inline-start: 0;
    top: 20%;
    transform: rotate(30deg);
    max-width: 200px;
}

@media screen and (max-width: 991px) {
    .policy__sp.sp-2 {
        max-width: 160px;
    }
}

.policy__sp.sp-3 {
    top: auto;
    bottom: 0;
    max-width: 200px;
}

@media screen and (max-width: 991px) {
    .policy__sp.sp-3 {
        max-width: 160px;
    }
}

.policy__sp.sp-4 {
    top: auto;
    inset-inline-end: auto;
    bottom: 0;
    inset-inline-start: 0;
    max-width: 200px;
}

@media screen and (max-width: 991px) {
    .policy__sp.sp-4 {
        max-width: 160px;
    }
}

/* ======================  Policy Section End  ======================*/
/* ======================  Auth Section Start  ======================*/
.auth__area {
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.auth__thumb {
    position: fixed;
    inset-inline-start: 0;
    top: 0;
    width: 55%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 1199px) {
    .auth__thumb {
        width: 50%;
    }
}

@media screen and (max-width: 991px) {
    .auth__thumb {
        display: none;
    }
}

.auth__sp {
    position: absolute;
    inset-inline-end: 4%;
    bottom: 4%;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 200px;
}

@media screen and (max-width: 1399px) {
    .auth__sp {
        max-width: 150px;
    }
}

.auth__sp img {
    width: 100%;
    animation: wobbleAnim 6s linear 0s infinite alternate none;
}

.auth__sp.sp-2 {
    bottom: 0;
    inset-inline-end: auto;
    inset-inline-start: 0;
}

.auth__sp.sp-2 img {
    animation: floatAnim 4s linear 0s infinite alternate none;
}

.auth__sp.sp-3 {
    inset-inline-start: 0;
    top: 0;
    inset-inline-end: auto;
    bottom: auto;
}

.auth__img {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 600px;
}

@media screen and (max-width: 1399px) {
    .auth__img {
        max-width: 450px;
    }
}

.auth__img img {
    width: 100%;
}

.auth--img {
    max-width: 92%;
    animation: rotateAnim 60s linear 0s infinite alternate none;
}

.auth--sp {
    position: absolute;
    inset-inline-start: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
}

.auth__main {
    width: 45%;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    margin-inline-start: auto;
}

@media screen and (max-width: 1199px) {
    .auth__main {
        padding: 20px;
        width: 50%;
    }
}

@media screen and (max-width: 991px) {
    .auth__main {
        width: 100%;
    }
}

@media screen and (max-width: 575px) {
    .auth__main {
        padding: 10px;
    }
}

.auth__wrapper {
    background-color: hsl(var(--white));
    padding: 60px;
    border-radius: 12px;
    max-width: 90%;
    margin-inline: auto;
}

@media screen and (max-width: 1399px) {
    .auth__wrapper {
        padding: 40px 30px;
    }
}

@media screen and (max-width: 1199px) {
    .auth__wrapper {
        max-width: 100%;
    }
}

@media screen and (max-width: 575px) {
    .auth__wrapper {
        padding: 30px 20px;
    }
}

/* Form with separate cards: no wrapper background, cards provide their own */
.auth__wrapper--cards {
    background: transparent;
    padding: 0;
}

.auth__header {
    margin-bottom: 24px;
}

.auth__header .auth__logo {
    margin-bottom: 16px;
}

.auth__header .auth__title {
    margin-bottom: 0;
}

.auth__logo {
    text-align: center;
    margin-bottom: 40px;
}

@media screen and (max-width: 1199px) {
    .auth__logo {
        margin-bottom: 30px;
    }
}

.auth__logo a img {
    width: 100%;
    max-width: 180px;
}

@media screen and (max-width: 1399px) {
    .auth__logo a img {
        max-width: 150px;
    }
}

.auth__logo a {
    display: block;
    width: 100%;
}

.auth__title {
    text-align: center;
    margin-bottom: 40px;
}

@media screen and (max-width: 1199px) {
    .auth__title p {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .auth__title {
        margin-bottom: 20px;
    }
}

.auth__title h3 {
    margin-bottom: 12px;
}

.social__login {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.social__login a {
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid hsl(var(--black)/0.12);
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    background-color: hsl(var(--white));
    font-size: 15px;
    line-height: 1;
}

@media screen and (max-width: 991px) {
    .social__login a {
        font-size: 13px;
    }
}

.social__login a:hover {
    background-color: hsl(var(--black)/0.04);
    color: hsl(var(--heading-color));
}

.social__login a img {
    width: auto;
    height: 16px;
    flex: 0 0 auto;
}

.auth__or {
    text-align: center;
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.auth__or::after {
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
    width: 100%;
    height: 1px;
    content: "";
    background-color: hsl(var(--border-color));
}

.auth__or p {
    font-size: 12px;
    background-color: hsl(var(--white));
    width: fit-content;
    padding: 0 8px;
}

.auth__already {
    margin-top: 16px;
    text-align: center;
}

.auth__already p a {
    color: hsl(var(--base));
}

.auth__already p a:hover {
    text-decoration: underline;
}

.auth__form__single .form-control {
    padding: 16px 18px;
    font-size: 14px;
}

.auth__form__single .form-control::placeholder {
    color: hsl(var(--body-color)/0.8);
    font-size: 14px;
}

.auth__form__single .input-group .input-group-text {
    font-size: 14px;
}

.auth__check .form-check .form-check-label {
    font-size: 14px;
    color: hsl(var(--body-color));
    line-height: 1.6;
}

.auth__check .form-check .form-check-label a {
    text-decoration: underline;
    color: hsl(var(--body-color));
}

.auth__check .form-check .form-check-label a:hover {
    color: hsl(var(--base));
}

.auth__widgets a {
    font-size: 14px;
    color: hsl(var(--base));
}

.auth__widgets a:hover {
    text-decoration: underline;
}

.auth__widgets {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.auth__widgets .form-check .form-check-label {
    font-size: 14px;
    color: hsl(var(--body-color));
}

@media screen and (max-width: 1199px) {

    .auth__form .g-4,
    .auth__form .gy-4 {
        --bs-gutter-y: 0.9rem;
    }

    .auth__form .g-4,
    .auth__form .gx-4 {
        --bs-gutter-x: 0.9rem;
    }
}

/* ======================  Auth Section End  ======================*/
/* ======================  Dashboard Section Start  ======================*/
.dashboard .btn {
    box-shadow: none;
}

.dashboard .btn:hover {
    transform: unset;
}

.dashboard__wrap {
    padding-left: 275px;
}

.dashboard__wrap--header {
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 120px;
}

@media screen and (max-width: 991px) {
    .dashboard__wrap {
        padding-left: 0;
    }
    .dashboard__wrap--header {
        padding-left: 16px;
        padding-right: 16px;
        padding-top: 100px;
        overflow-x: hidden;
    }
    .dashboard__wrapper {
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }
}

.dashboard__wrapper {
    padding: 24px;
}

.dashboard__sidebar {
    position: fixed;
    inset-inline-start: 0;
    top: 0;
    width: 275px;
    height: 100vh;
    z-index: 2;
    background-color: hsl(var(--heading-color));
    overflow-y: auto;
    scrollbar-width: none;
}

@media screen and (max-width: 991px) {
    .dashboard__sidebar {
        background-color: hsl(var(--heading-color));
        inset-inline-start: -100%;
        z-index: 13;
        transition: 0.3s;
    }

    .dashboard__sidebar.active {
        inset-inline-start: 0;
    }
}

.dashboard__logo a {
    display: block;
    text-align: center;
}

.dashboard__logo a img {
    width: 100%;
    max-width: 175px;
}

.dashboard__logo {
    padding: 32px 24px;
}

.sidebar__close {
    position: absolute;
    inset-inline-end: 0;
    top: 0;
    z-index: 2;
    background-color: hsl(var(--danger));
    width: 30px;
    height: 30px;
    display: none;
    align-items: center;
    justify-content: center;
    color: hsl(var(--white));
    cursor: pointer;
    transition: 0.3s;
}

@media screen and (max-width: 991px) {
    .sidebar__close {
        display: flex;
    }
}

.sidebar__open {
    font-size: 24px;
    cursor: pointer;
    transition: 0.3s;
    display: none;
}

@media screen and (max-width: 991px) {
    .sidebar__open {
        display: block;
    }
}

.sidebar__open:hover {
    color: hsl(var(--base));
}

.dashboard__menu ul {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-inline-end: 14px;
    overflow: hidden;
}

.dashboard__menu ul li a {
    display: flex;
    align-items: center;
    padding: 16px 24px;
    gap: 12px;
    font-size: 16px;
    font-weight: 500;
    color: hsl(var(--white)/0.76);
    border-radius: 0 4px 4px 0;
    position: relative;
    z-index: 1;
    transition: 0.4s;
}

.dashboard__menu ul li a::after {
    position: absolute;
    inset-inline-start: -17px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    content: "";
    z-index: -1;
    background-color: hsl(var(--white));
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
}

.dashboard__menu ul li a:hover {
    background-color: hsl(var(--white)/0.08);
    color: hsl(var(--white));
}

.dashboard__menu ul li a:hover::after {
    opacity: 0.3;
    visibility: visible;
    inset-inline-start: -8px;
}

.dashboard__menu ul li a.active {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.dashboard__menu ul li a.active::after {
    opacity: 1;
    visibility: visible;
    inset-inline-start: -8px;
}

.sidebar__dropdown {
    background-color: hsl(var(--white)/0.08);
    padding: 12px 22px;
    border-radius: 0 0 4px 0;
}

.dashboard__menu ul li a[aria-expanded=true] {
    border-radius: 0 4px 0 0;
}

.dashboard__menu ul li a[aria-expanded=true] .dropdown__arrow i {
    transform: rotate(90deg);
}

.dropdown__arrow {
    line-height: 1;
    margin-inline-start: auto;
}

.dropdown__arrow i {
    transition: 0.3s;
}

.sidebar__dropdown ul {
    padding-inline-end: 0;
}

.sidebar__dropdown ul li a {
    border-radius: 4px;
    padding: 12px 18px;
}

.sidebar__dropdown ul li a.active,
.sidebar__dropdown ul li a:hover {
    background-color: hsl(var(--heading-color));
}

.sidebar__dropdown ul li a::after {
    inset-inline-start: -6px !important;
    width: 5px;
    height: 60%;
    background-color: hsl(var(--base));
    border-radius: 10px;
}

.sidebar__dropdown ul li a.active::after {
    inset-inline-start: 0 !important;
}

.sidebar__dropdown ul li a:hover::after {
    inset-inline-start: 0 !important;
    opacity: 1;
}

/* Dashboard header (replaces sidebar): same behavior as main site header */
.dashboard-header.header__area {
    padding-top: 16px;
    padding-bottom: 16px;
    background-color: hsl(var(--white));
    box-shadow: 0 1px 3px hsl(var(--heading-color)/0.08);
}

@media screen and (max-width: 991px) {
    .dashboard-header .container {
        padding-left: 16px;
        padding-right: 16px;
        max-width: 100%;
        box-sizing: border-box;
    }
}

.dashboard-header .header__widgets {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.dashboard__header {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 24px;
    padding-bottom: 0;
}

@media screen and (max-width: 767px) {
    .dashboard__header {
        flex-direction: column;
        gap: 24px;
    }

    .dashboard__header .search__box {
        width: 100%;
    }
}

.dashboard__header h2 {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    .dashboard__header h2 {
        font-size: 20px;
    }
}

@media screen and (max-width: 575px) {
    .dashboard__header h2 {
        font-size: 18px;
    }
}

.dashboard__header__widgets {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 32px;
}

@media screen and (max-width: 991px) {
    .dashboard__header__widgets {
        gap: 20px;
    }
}

@media screen and (max-width: 767px) {
    .dashboard__header__widgets {
        width: 100%;
        justify-content: flex-end;
        gap: 14px;
    }

    .dashboard__header__widgets .upload__file {
        margin-inline-end: auto;
    }
}

@media screen and (max-width: 470px) {
    .sidebar__open {
        margin-inline-start: auto !important;
    }
}

.notification__btn {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: hsl(var(--white));
    border-radius: 15px;
    color: hsl(var(--base));
    font-size: 26px;
    transition: 0.3s;
}

.notification__btn:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.profile__dropdown {
    display: flex;
    align-items: center;
    gap: 8px;
}

.profile__dropdown span {
    font-weight: 500;
}

.notification__count {
    position: absolute;
    inset-inline-end: -6px;
    top: -10px;
    z-index: 2;
    background-color: hsl(var(--base));
    line-height: 1;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    color: hsl(var(--white));
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid hsl(var(--white));
}

.profile__dropdown img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid hsl(var(--white));
}

.profile__dropdown .user-avatar {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border: 2px solid hsl(var(--white));
}

.profile__dropdown .user-avatar--initials {
    font-size: 16px;
}

@media screen and (max-width: 991px) {
    .profile__dropdown img {
        width: 38px;
        height: 38px;
    }

    .profile__dropdown .user-avatar {
        width: 38px;
        height: 38px;
    }

    .profile__dropdown .user-avatar--initials {
        font-size: 14px;
    }
}

.dash__dropdown {
    display: flex;
    align-items: center;
    gap: 10px;
}

.drop__arrow {
    font-size: 16px;
    line-height: 1;
}

.drop__arrow i {
    transition: 0.3s;
    position: relative;
    top: -3px;
}

.dash__dropdown.show .drop__arrow i {
    transform: rotate(180deg);
    top: 4px;
}

.upload__file .btn {
    padding: 14px 16px;
    border-radius: 6px;
}

.upload__file .btn i {
    margin-inline-end: 2px;
}

.notification__wrap {
    width: 250px;
    padding: 10px;
}

.notification__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 6px;
}

.notification__footer {
    padding-top: 6px;
}

.notification__header h4 {
    margin-bottom: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.notification__body a {
    padding: 8px 12px;
    color: hsl(var(--body-color));
    background-color: hsl(var(--base)/0.06);
    border: 1px solid hsl(var(--base)/0.1);
    border-radius: 4px;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.notification__body a p {
    font-size: 14px;
    font-weight: 500;
    transition: 0.2s;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.notification__body a span {
    color: hsl(var(--black)/0.4);
    font-size: 12px;
    margin-top: -4px;
    transition: 0.2s;
}

.notification__body a:hover {
    background-color: hsl(var(--base));
    color: hsl(var(--white));
}

.notification__body a:hover p {
    color: hsl(var(--white));
}

.notification__body a:hover span {
    color: hsl(var(--white)/0.5);
}

.notification__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dashboard__card {
    position: relative;
    z-index: 1;
    transition: 0.3s;
}

.dashboard__card:hover {
    transform: translateY(-5px);
}

.dc__img {
    position: absolute;
    inset-inline-end: 0;
    bottom: 0;
    z-index: -2;
    user-select: none;
    pointer-events: none;
    max-width: 80px;
    opacity: 0.3;
}

@media screen and (max-width: 1399px) {
    .dc__img {
        max-width: 60px;
    }
}

.dashboard__card h5 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 22px;
    color: hsl(var(--white));
    font-family: var(--body-font);
}

@media screen and (max-width: 767px) {
    .dashboard__card h5 {
        font-size: 16px;
    }
}

.dashboard__card p {
    font-size: 24px;
    font-weight: 700;
    color: hsl(var(--white));
    line-height: 1;
}

@media screen and (max-width: 767px) {
    .dashboard__card p {
        font-size: 20px;
    }
}

/* Dashboard compact cards (user dashboard) */
.dashboard__card--compact {
    padding: 18px 22px !important;
}

.dashboard__card--compact h5 {
    font-size: 16px !important;
    margin-bottom: 10px !important;
}

.dashboard__card--compact p {
    font-size: 22px !important;
}

.dashboard__card--compact .dc__img {
    max-width: 64px;
    opacity: 0.25;
}

@media screen and (max-width: 767px) {
    .dashboard__card--compact h5 {
        font-size: 15px !important;
    }
    .dashboard__card--compact p {
        font-size: 20px !important;
    }
    .dashboard__card--compact .dc__img {
        max-width: 52px;
    }
}

/* Dashboard compact meals section */
.dashboard__rutine--compact .dashboard__rutine__topbar {
    padding: 16px 20px;
}

.dashboard__rutine--compact .dashboard__rutine__topbar h5 {
    font-size: 18px;
    margin-bottom: 4px;
}

.dashboard__rutine--compact .dashboard__rutine__topbar p {
    font-size: 15px;
}

.dashboard__rutine--compact .pd__rutine__item {
    gap: 18px;
    white-space: normal;
}

.dashboard__rutine--compact .pd__rutine__item img {
    width: 88px;
    height: 88px;
    padding: 12px;
}

.dashboard__rutine--compact .pd__rutine__item h5 {
    font-size: 17px;
}

.dashboard__rutine--compact .pd__rutine__item .pd__inf {
    min-width: 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
}
.dashboard__rutine--compact .pd__rutine__overview {
    font-size: 15px;
    line-height: 1.5;
    color: hsl(var(--body-color));
    margin-top: 4px;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.dashboard__rutine--compact .pd__rutine__overview p {
    margin-bottom: 0.25em;
}

.dashboard__rutine--compact .pd__rutine__meal-type {
    font-size: 14px;
    font-weight: 600;
    color: hsl(var(--base));
}

.dashboard__rutine--compact .pd__rutine__desc > div,
.dashboard__rutine--compact .pd__rutine__desc > p {
    margin-bottom: 10px;
    font-size: 15px;
}

.dashboard__rutine--compact .pd__rutine__desc ul {
    gap: 6px;
    padding-left: 18px;
}

.dashboard__rutine--compact .pd__rutine__desc ul li {
    font-size: 15px;
}

@media screen and (max-width: 767px) {
    .dashboard__rutine--compact .pd__rutine__item img {
        width: 72px;
        height: 72px;
        padding: 10px;
    }
}

.chart__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.chart__topbar h5 {
    margin-bottom: 0;
}

.chart__topbar .dropdown .dropdown-toggle {
    border: 1px solid hsl(var(--black)/0.12);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
}

.dashboard__acco {
    position: relative;
    z-index: 1;
    transition: 0.3s;
}

.dashboard__acco:hover {
    opacity: 0.8;
    transform: translateY(-5px);
}

.dashboard__acco::after {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    z-index: 1;
    content: "";
    background-image: linear-gradient(to top, hsl(var(--black)), transparent);
}

.dashboard__acco img {
    width: 100%;
}

.dashboard__acco__content {
    position: absolute;
    inset-inline-start: 20px;
    bottom: 20px;
    z-index: 2;
}

.dashboard__acco__content a {
    color: hsl(var(--white));
    font-size: 20px;
    font-weight: 600;
    display: block;
}

.dashboard__acco__content a:hover {
    color: hsl(var(--base));
}

.dashboard__acco__content p {
    color: hsl(var(--white)/0.7);
    font-size: 14px;
}

.ds__plus {
    color: hsl(var(--base));
    font-size: 20px;
    font-weight: 700;
}

.ds__discount {
    text-decoration: line-through;
    color: hsl(var(--border-color));
}

.table__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .table__topbar {
        flex-direction: column;
    }
}

.filter__btn {
    white-space: nowrap;
}

.table__topbar>h5 {
    margin-bottom: 0;
}

.table__topbar__right {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media screen and (max-width: 767px) {
    .table__topbar__right {
        width: 100%;
    }

    .table__topbar__right .search__box {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .table__topbar__right .filter__main {
        inset-inline-end: -30px !important;
    }
}

@media screen and (max-width: 1199px) {
    .table__topbar__right .btn.filter__btn {
        font-size: 14px;
        padding: 18px 20px;
    }
}

.table__topbar__right .search__box .form-control {
    padding: 15px 16px;
    padding-inline-end: 44px;
}

@media screen and (max-width: 767px) {
    .table__topbar__right .search__box .form-control {
        width: 100%;
    }
}

.btn.open__ticket {
    font-size: 14px;
    padding: 18px 20px;
    white-space: nowrap;
}

.table__topbar__right.ticket__pg {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.upload__preview {
    margin-bottom: 36px;
    border: 1px solid hsl(var(--black)/0.2);
    border-radius: 12px;
    padding: 17px;
}

.uplaod__box {
    background-color: hsl(var(--black)/0.02);
    border-radius: 10px;
    padding: 68px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.uplaod__box span {
    font-size: 40px;
    color: hsl(var(--base));
    line-height: 1;
    margin-bottom: 12px;
}

.uplaod__box label {
    font-size: 14px;
    font-weight: 400;
    padding: 12px 14px;
    border-radius: 5px;
    border: 1px solid hsl(var(--black)/0.12);
    margin-bottom: 16px;
    line-height: 1;
    cursor: pointer;
    transition: 0.3s;
}

.uplaod__box label:hover {
    background-color: hsl(var(--base));
    border-color: hsl(var(--base));
    color: hsl(var(--white));
}

.upload__title h5 {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 18px;
}

.dashboard .search__box .form-control {
    border-radius: 8px;
    background-color: hsl(var(--white));
}

.dashboard__rutine {
    background-color: hsl(var(--white));
    border-radius: 8px;
    border: 1px solid hsl(var(--border-color));
}

.dashboard__rutine__topbar {
    padding: 20px;
    border-bottom: 1px solid hsl(var(--black)/0.08);
}

.dashboard__rutine__topbar h5 {
    margin-bottom: 5px;
}

.dashboard__rutine__topbar p {
    font-size: 14px;
    font-weight: 500;
}

.pd__rutine__table .table {
    border-spacing: 0px 0px;
}

@media screen and (max-width: 767px) {
    .pd__rutine__table .table {
        width: 700px;
    }
    .dashboard__rutine--compact .pd__rutine__table .table {
        width: 100%;
    }
}

.pd__rutine__table .table tbody tr {
    outline: none;
}

.pd__rutine__table .table tbody tr:hover {
    box-shadow: none;
}

.pd__rutine__table .table tbody tr td:first-child {
    border-inline-end: 1px solid hsl(var(--black)/0.08);
    border-bottom: 1px solid hsl(var(--black)/0.08);
}

.pd__rutine__table .table tbody tr td:first-child {
    border-radius: 0;
}

.pd__rutine__table .table tbody tr td:last-child {
    text-align: start;
    border-inline-end: none;
    border-bottom: 1px solid hsl(var(--black)/0.08);
}

.pd__rutine__table .table tbody tr td:last-child {
    border-radius: 0;
}

.pd__rutine__table .table tbody tr:last-child td:first-child {
    border-bottom: none;
}

.pd__rutine__table .table tbody tr:last-child td:last-child {
    border-bottom: none;
}

.cp__topbar {
    padding: 20px;
    padding-bottom: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.cp__left ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 8px;
}

.cp__left ul li {
    border-inline-end: 1px solid hsl(var(--black)/0.12);
    line-height: 1;
    margin-inline-end: 8px;
    padding-inline-end: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--heading-color));
}

.cp__left ul li:last-child {
    padding-inline-end: 0;
    margin-inline-end: 0;
    border-inline-end: none;
}

.cp__right .dropdown-toggle {
    border: 1px solid hsl(var(--black)/0.12);
    padding: 12px;
    border-radius: 8px;
    line-height: 1;
    font-size: 14px;
    font-weight: 500;
}

.cp__upcoming {
    opacity: 0.4;
    user-select: none;
}

/* ======================  Dashboard Section End  ======================*/
/* ======================  Profile Section Start  ======================*/
.user-avatar {
    border-radius: 50%;
    flex-shrink: 0;
}

.user-avatar--image {
    display: block;
    object-fit: cover;
}

.user-avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(var(--base));
    color: hsl(var(--white));
    font-weight: 600;
    line-height: 1;
    user-select: none;
}

.profile__upload input {
    display: none;
}

.profile__upload label {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    z-index: 1;
    margin-bottom: 6px;
}

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

.profile__upload label .user-avatar--initials {
    width: 100%;
    height: 100%;
    font-size: 36px;
}

.profile__upload label i {
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: hsl(var(--white));
    background-color: hsl(var(--black)/0.5);
    transition: 0.3s;
    opacity: 0;
    visibility: hidden;
}

.profile__upload label:hover i {
    opacity: 1;
    visibility: visible;
}

.profile__wr {
    text-align: center;
    background-color: hsl(var(--base)/0.02);
    border: 1px solid hsl(var(--base)/0.2);
    padding: 16px;
    margin-bottom: 16px;
    border-radius: 8px;
}

.profile__wr h4 {
    font-size: 20px;
    margin-bottom: 0;
}

.profile__menu ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.profile__contact p {
    display: flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--black)/0.6);
    margin-bottom: 4px;
}

.profile__contact a {
    font-weight: 600;
    color: hsl(var(--heading-color));
    display: block;
}

.profile__contact span {
    font-weight: 600;
    color: hsl(var(--heading-color));
    display: block;
    max-width: 280px;
}

.profile__sidebar ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media screen and (max-width: 1199px) {
    .profile__sidebar ul {
        flex-direction: row;
        justify-content: center;
        margin-top: 20px;
        flex-wrap: wrap;
    }

    .profile__sidebar ul li {
        flex: 0 0 auto;
    }
}

@media screen and (max-width: 575px) {
    .profile__sidebar ul li {
        flex: unset;
    }
}

.profile__contact a:hover {
    color: hsl(var(--base));
}

.two__factor__info {
    text-align: center;
    margin-bottom: 20px;
}

.two__factor__info p {
    font-size: 14px;
    margin-bottom: 14px;
}

.two__factor__info img {
    max-width: 200px;
    width: 100%;
}

@media screen and (max-width: 575px) {
    .profile__sidebar.card.p-4 {
        padding: 18px !important;
    }

    .profile__wrap.card.p-4 {
        padding: 18px !important;
    }

    .profile__wrap .g-4,
    .profile__wrap .gy-4 {
        --bs-gutter-y: 0.8rem;
    }

    .profile__wrap .g-4,
    .profile__wrap .gx-4 {
        --bs-gutter-x: 0.8rem;
    }
}

/* ======================  Profile Section End  ======================*/
/* ======================  Error Section Start  ======================*/
.error {
    position: relative;
    z-index: 1;
}

.error__sp {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    z-index: -1;
    user-select: none;
    pointer-events: none;
    max-width: 300px;
}

@media screen and (max-width: 1399px) {
    .error__sp {
        max-width: 200px;
    }
}

@media screen and (max-width: 991px) {
    .error__sp {
        max-width: 160px;
    }
}

@media screen and (max-width: 575px) {
    .error__sp {
        max-width: 120px;
    }
}

.error__sp.sp-2 {
    inset-inline-start: auto;
    inset-inline-end: 0;
    max-width: 250px;
}

@media screen and (max-width: 1399px) {
    .error__sp.sp-2 {
        max-width: 200px;
    }
}

@media screen and (max-width: 991px) {
    .error__sp.sp-2 {
        max-width: 130px;
    }
}

@media screen and (max-width: 575px) {
    .error__sp.sp-2 {
        max-width: 100px;
    }
}

.error__sp img {
    width: 100%;
}

.error__main {
    text-align: center;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.error__main img {
    max-width: 300px;
    width: 100%;
    margin-bottom: 40px;
}

@media screen and (max-width: 1399px) {
    .error__main img {
        max-width: 250px;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 991px) {
    .error__main img {
        max-width: 180px;
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 575px) {
    .error__main img {
        max-width: 130px;
        margin-bottom: 16px;
    }
}

.error__main h2 {
    margin-bottom: 30px;
    font-size: 196px;
    line-height: 1;
    text-shadow: 4px 4px hsl(var(--base));
}

@media screen and (max-width: 1399px) {
    .error__main h2 {
        font-size: 160px;
    }
}

@media screen and (max-width: 991px) {
    .error__main h2 {
        font-size: 130px;
    }
}

@media screen and (max-width: 575px) {
    .error__main h2 {
        font-size: 100px;
        margin-bottom: 20px;
    }
}

.error__main p {
    font-size: 24px;
    max-width: 500px;
    margin-bottom: 40px;
}

@media screen and (max-width: 1399px) {
    .error__main p {
        font-size: 20px;
    }
}

@media screen and (max-width: 991px) {
    .error__main p {
        font-size: 18px;
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 575px) {
    .error__main p {
        font-size: 16px;
    }
}

#searchResults {
    display: none;
    position: absolute;
    background: #fff;
    z-index: 999999999;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
}

#dishLoader {
    display: none;
    text-align: center;
    margin-top: 5px;
}

/*========= Cookies Css ========*/
.cookies-card {
    position: fixed;
    bottom: 16px;
    inset-inline-start: 16px;
    /* fixed left */
    max-width: 90%;
    width: 500px;
    padding: 16px 20px;
    background: hsl(var(--white));
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 2px solid hsl(var(--base));
    border-radius: 16px;
    z-index: 555;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: 'Inter', sans-serif;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Action buttons */
.cookies-card__actions .btn {
    width: 100%;
    padding: 10px;
    font-weight: 500;
    border-radius: 8px;
    transition: background 0.2s ease;
}

/* Responsive for mobile */
@media (max-width: 480px) {
    .cookies-card {
        width: 90%;
        padding: 12px 16px;
        font-size: 14px;
        gap: 8px;
    }
}

.ticket__single {
    background-color: hsl(var(--base) / 0.06);
    padding: 24px;
    border-radius: 12px;
}

.ticket__single.user__ticket {
    background-color: hsl(var(--black) / 0.06);
}

.ticket__single p span {
    font-weight: 600;
    color: hsl(var(--base));
}

@media (min-width: 992px) and (max-width: 1199px) {
    #dishComponent>.col-xl-3.col-lg-4.col-sm-6:nth-child(n+4) {
        display: none !important;
    }
}

.ai__suggest {
    background-color: #f8fff3;
    border-color: hsl(var(--success) / 0.3);
}

.ai__suggest .card-body {
    background-color: transparent;
}

/* ======================  Error Section End  ======================*/

/* Tag Selector */
.tag-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-item {
    display: inline-flex;
    align-items: center;
    background-color: transparent;
    border: 1px solid hsl(var(--accent));
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 14px;
    gap: 8px;
    font-weight: 500;
}

.tag-item > span:first-child {
    color: #212529;
}

.tag-item .tag-remove-btn {
    cursor: pointer;
    background: hsl(var(--accent));
    color: white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: background 0.2s;
    border: none;
}

.tag-item .tag-remove-btn:hover {
    background: hsl(var(--accent-d-100));
}

/* ====================== Subscription Meals Calendar Styles Start ====================== */
.page-header .title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2d3748;
}

/* === Date Tabs Styles === */
.date-tabs-wrapper {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 12px;
    padding: 12px 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    gap: 8px;
    max-width: 100%;
    overflow: hidden;
}

.date-tabs-nav {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: hsl(var(--base));
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    font-size: 1rem;
}

.date-tabs-nav:hover:not(:disabled) {
    background: hsl(var(--base) / 0.85);
    transform: scale(1.05);
}

.date-tabs-nav:disabled {
    background: #e9ecef;
    color: #adb5bd;
    cursor: not-allowed;
}

.date-tabs-container {
    flex: 1;
    overflow: hidden;
}

.date-tabs {
    display: flex;
    gap: 8px;
    transition: transform 0.3s ease;
}

.date-tab {
    flex-shrink: 0;
    min-width: 120px;
    padding: 12px 16px;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    background: #fff;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.date-tab:hover:not(.date-tab--selected) {
    background: #f8f9fa;
    border-color: #dee2e6;
}

.date-tab--has-meals:hover:not(.date-tab--selected) {
    background: rgba(240, 120, 32, 0.14);
    border-color: rgba(240, 120, 32, 0.45);
    color: #c2410c;
}

.date-tab--selected {
    background: hsl(var(--base));
    border-color: hsl(var(--base));
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.date-tab--has-meals:not(.date-tab--selected) {
    border-color: rgba(240, 120, 32, 0.3);
    background: rgba(240, 120, 32, 0.05);
}

.date-tab--past.date-tab--has-meals:not(.date-tab--selected) {
    background: #f0fdf4;
    border-color: #86efac;
    color: #166534;
}

.date-tab__day {
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

.date-tab--selected .date-tab__day {
    opacity: 0.9;
    color: #fff;
}

.date-tab__date {
    font-size: 0.95rem;
    font-weight: 600;
}

.date-tab--selected .date-tab__date {
    color: #fff;
}

/* Non-delivery days — visible but not clickable */
.date-tab--disabled {
    opacity: 0.38;
    cursor: not-allowed;
    background: #f8f9fa;
}
.date-tab--disabled:hover {
    background: #f8f9fa !important;
    border-color: #e9ecef !important;
    color: inherit !important;
}

/* === Meal Card === */
.meal-card {
    background: #fff;
    border-radius: 8px;
    border: 1px dashed #cbd5e0;
    padding: 18px;
    transition: 0.3s ease;
}

.meal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    border-bottom: 1px solid #edf2f7;
    padding-bottom: 8px;
}

.meal-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2d3748;
}

/* Status */
.status {
    padding: 4px 12px;
    border-radius: 16px;
    font-size: 0.8rem;
    font-weight: 500;
    flex: 0 0 auto;
}

.status-completed {
    background: #ffedd5;
    color: #7c2d12;
}

.status-delivered {
    background: #ffedd5;
    color: #7c2d12;
}

.status-pending {
    background: #ffedd5;
    color: #7c2d12;
}

.status-skipped {
    background: #fed7d7;
    color: #742a2a;
}

.meal-description {
    color: #4a5568;
    font-size: 16px;
    margin-bottom: 12px;
    line-height: 1.4;
}

.detail-item {
    display: flex;
    margin-bottom: 16px;
}

.detail-icon {
    margin-inline-end: 10px;
    color: hsl(var(--base));
    font-size: 1rem;
    width: 22px;
    top: -3px;
    position: relative;
}

.detail-content h5 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
    color: #242424
}

.detail-content p {
    font-size: 16px;
    color: #4a5568;
}

.action-wrapper {
    text-align: center;
}

.detail-content p {
    color: hsl(var(--black)/0.7) !important;
}

.selected-date-meals .title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 20px;
}

/* === Date Tabs Responsive Styles === */
@media (max-width: 768px) {
    .date-tabs-wrapper {
        padding: 10px 6px;
        gap: 6px;
    }

    .date-tabs-nav {
        width: 36px;
        height: 36px;
        font-size: 0.9rem;
    }

    .date-tabs {
        gap: 6px;
    }

    .date-tab {
        min-width: 100px;
        padding: 10px 12px;
    }

    .date-tab__day {
        font-size: 0.7rem;
    }

    .date-tab__date {
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .date-tabs-wrapper {
        padding: 8px 4px;
        gap: 4px;
        border-radius: 10px;
    }

    .date-tabs-nav {
        width: 32px;
        height: 32px;
        font-size: 0.8rem;
    }

    .date-tabs {
        gap: 4px;
    }

    .date-tab {
        min-width: 85px;
        padding: 8px 10px;
        border-radius: 6px;
    }

    .date-tab__day {
        font-size: 0.65rem;
    }

    .date-tab__date {
        font-size: 0.8rem;
    }

    .page-header .title {
        font-size: 1.2rem;
    }

    .selected-date-meals .title {
        font-size: 1.1rem;
        margin-bottom: 15px;
    }
}

@media (max-width: 360px) {
    .date-tabs-wrapper {
        padding: 6px 3px;
    }

    .date-tabs-nav {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }

    .date-tab {
        min-width: 75px;
        padding: 6px 8px;
    }

    .date-tab__day {
        font-size: 0.6rem;
    }

    .date-tab__date {
        font-size: 0.75rem;
    }
}
/* ====================== Subscription Meals Date Tabs Styles End ====================== */

/* ====================== Outline Button Styles Start ====================== */
.btn--success-outline {
    background-color: transparent !important;
    border: 2px solid #1EA84B !important;
    color: #1EA84B !important;
}

.btn--success-outline:hover {
    background-color: #1EA84B !important;
    border-color: #1EA84B !important;
    color: #ffffff !important;
}

.btn--warning-outline {
    background-color: transparent !important;
    border: 2px solid #F07820 !important;
    color: #F07820 !important;
}

.btn--warning-outline:hover {
    background-color: #F07820 !important;
    border-color: #F07820 !important;
    color: #ffffff !important;
}

.btn--danger-outline {
    background-color: transparent !important;
    border: 2px solid #ea5455 !important;
    color: #ea5455 !important;
}

.btn--danger-outline:hover {
    background-color: #ea5455 !important;
    border-color: #ea5455 !important;
    color: #ffffff !important;
}

.btn--info-outline {
    background-color: transparent !important;
    border: 2px solid hsl(var(--green)) !important;
    color: hsl(var(--green)) !important;
}

.btn--info-outline:hover {
    background-color: hsl(var(--green)) !important;
    border-color: hsl(var(--green)) !important;
    color: #ffffff !important;
}

.btn--primary-outline {
    background-color: transparent !important;
    border: 2px solid hsl(var(--base)) !important;
    color: hsl(var(--base)) !important;
}

.btn--primary-outline:hover {
    background-color: hsl(var(--base)) !important;
    border-color: hsl(var(--base)) !important;
    color: #ffffff !important;
}
/* ====================== Outline Button Styles End ====================== */

/* ========================= Prevent Horizontal Scroll ========================= */
body {
    overflow-x: hidden;
    max-width: 100vw;
}

/* Fix for decorative elements that might overflow */
.hero__area,
.breadcrumb,
.newsletter__area,
.testimonial__area,
section {
    overflow-x: clip;
}

/* ========================= Language Dropdown Styles ========================= */
.language__dropdown .dropdown-toggle {
    background: transparent;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
}

.language__dropdown .dropdown-toggle::after {
    display: none;
}

.language__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    color: hsl(var(--heading-color));
    font-weight: 500;
}

.language__btn i {
    font-size: 20px;
}

.language__dropdown .dropdown-menu {
    min-width: 160px;
    padding: 8px 0;
    border-radius: 8px;
    box-shadow: var(--box-shadow);
}

.language__dropdown .dropdown-item {
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.language__dropdown .dropdown-item:hover {
    background-color: hsl(var(--base-l-800));
}

/* ========================= Auth Page Language Switcher ========================= */
.auth__lang {
    position: absolute;
    top: 20px;
    inset-inline-start: 20px;
    inset-inline-end: auto;
    z-index: 100;
}

.auth__lang .dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #fff !important;
}

.auth__lang .dropdown-toggle:hover,
.auth__lang .dropdown-toggle:focus,
.auth__lang .dropdown-toggle:active {
    color: #fff !important;
}

.auth__lang .dropdown-item {
    display: flex;
    align-items: center;
}

/* ========================= Language Icon Styles ========================= */
.lang-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}

.lang-icon--sm {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

/* Auth page language icons need margin since they don't use flex gap */
.auth__lang .lang-icon--sm {
    margin-inline-end: 8px;
}

/* RTL fix for auth page splash image positioning */
[dir="rtl"] .auth--sp {
    inset-inline-start: -50%;
}

/* RTL fix for dashboard wrap padding */
[dir="rtl"] .dashboard__wrap {
    padding-left: 0;
    padding-right: 275px;
}

[dir="rtl"] .dashboard__wrap--header {
    padding-inline: 24px;
}

[dir="rtl"] .dashboard__wrapper {
    padding-inline: 24px;
}

@media screen and (max-width: 991px) {
    [dir="rtl"] .dashboard__wrap {
        padding-right: 0;
    }
    [dir="rtl"] .dashboard__wrap--header {
        padding-inline: 16px;
    }
    [dir="rtl"] .dashboard__wrapper {
        padding-inline: 16px;
    }
}

/* RTL fix for table header border-radius */
[dir="rtl"] .table thead tr th:first-child {
    border-radius: 0 8px 8px 0;
}

[dir="rtl"] .table thead tr th:last-child {
    border-radius: 8px 0 0 8px;
}

/* RTL fix for date tabs navigation arrows */
[dir="rtl"] .date-tabs-nav i {
    transform: rotateY(180deg);
}

/* RTL fix for form inputs - email and phone should remain LTR */
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[name="mobile"] {
    direction: ltr;
    text-align: right;
}

/* ====================== Phone Input Group ====================== */

/* Base styles */
.phone-input-group {
    width: 100%;
}

.phone-input-group .input-group-text,
.phone-input-group .country-code-select {
    flex-shrink: 0;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right: 0;
}

.phone-input-group .country-code-select {
    max-width: 130px;
}

.phone-input-group input {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border: 1px solid #ced4da !important;
    min-width: 0;
    flex: 1;
}

/* RTL overrides - force LTR display for phone numbers */
[dir="rtl"] .phone-input-group {
    direction: ltr;
}

[dir="rtl"] .phone-input-group input,
[dir="rtl"] .phone-input-group .input-group-text,
[dir="rtl"] .phone-input-group .country-code-select {
    direction: ltr;
    text-align: left;
}

/* RTL: Override Bootstrap's swapped border rules */
[dir="rtl"] .phone-input-group .input-group-text,
[dir="rtl"] .phone-input-group .country-code-select {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right: 0 !important;
    border-left: 1px solid #ced4da !important;
}

[dir="rtl"] .phone-input-group input {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-right: 1px solid #ced4da !important;
}

[dir="rtl"] .phone-input-group .country-code-select {
    background-position: left 0.75rem center;
    padding-left: 2.25rem;
    padding-right: 0.75rem;
}

/* RTL fix for validation icon position */
[dir="rtl"] .form-control.is-invalid {
    background-position: left 0.75rem center;
    padding-left: 2.25rem;
    padding-right: 0.75rem;
}

/* RTL fix for checkbox alignment */
[dir="rtl"] .form-check {
    padding-left: 0;
    padding-right: 1.75em;
}

[dir="rtl"] .form-check .form-check-input {
    float: right;
    margin-left: 0;
    margin-right: -1.75em;
}

[dir="rtl"] .form-check .form-check-input:checked::before {
    inset-inline-start: -20%;
}

/* Coupon section styles */
.hsl-primary { 
    color: hsl(15, 99%, 59%) !important; 
}

.coupon-section .d-flex a.hsl-primary {
    margin-inline-end: 8px;
}

/* Remove button animation/transform on focus for coupon buttons */
.coupon-section .btn:focus,
.coupon-section .btn:focus-visible,
.modal .btn:focus,
.modal .btn:focus-visible {
    transform: none !important;
    box-shadow: none !important;
}

/* Style modal coupon apply buttons */
.coupon-item .btn {
    padding: 12px 20px;
    font-size: 16px;
    box-shadow: none;
}

/* ========== Profile setting page (from profile_setting.blade.php) ========== */
.profile__wrap select.form-control--match-height,
.profile__wrap .form-control--match-height {
    padding: 18px;
    min-height: calc(1.5em + 36px);
}
.profile__sidebar .profile__sidebar__list { display: block; }
.profile__sidebar .profile__sidebar__list-item { display: block; }
.profile__sidebar .profile__sidebar__list-item--actions { margin-top: 1.25rem; }
.profile__sidebar .profile__contact--row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 2rem;
}
.profile__sidebar .profile__contact--row span { color: inherit; }
.profile__sidebar .profile__contact--actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.profile__sidebar .profile__contact--actions .profile__actions-divider {
    margin: 1rem 0 0.5rem;
    width: 100%;
}
.profile__sidebar .profile__contact--actions .profile__btn-outline {
    display: inline-block;
    border: 2px solid hsl(var(--base) / 0.3);
    color: hsl(var(--base));
    background: transparent;
    padding: 8px 18px;
    border-radius: 8px;
    font-weight: 500;
    font-size: 0.9375rem;
    text-decoration: none;
    transition: all 0.2s;
}
.profile__sidebar .profile__contact--actions .profile__btn-outline:hover {
    background: hsl(var(--base) / 0.1);
    color: hsl(var(--base));
}
.profile__sidebar .profile__contact--actions .profile__btn-outline--danger {
    border-color: hsl(var(--danger, 0 84% 60%) / 0.5);
    color: hsl(var(--danger, 0 84% 60%));
    margin-top: 0.25rem;
}
.profile__sidebar .profile__contact--actions .profile__btn-outline--danger:hover {
    background: hsl(var(--danger, 0 84% 60%) / 0.1);
    color: hsl(var(--danger, 0 84% 60%));
    border-color: hsl(var(--danger, 0 84% 60%));
}
#deleteAccountModal .delete-account-modal__warning { margin-bottom: 1.25rem; }
#deleteAccountModal .delete-account-modal__intro { margin-top: 0.5rem; }
#deleteAccountModal .delete-account-modal__list {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin-bottom: 0;
}
#deleteAccountModal .delete-account-modal__note { margin-top: 1.25rem; }

/* Address modal: hide Delete button until an existing address is selected */
#addressModal #modalAddressDelete {
    display: none !important;
}
#addressModal.address-modal--address-selected #modalAddressDelete {
    display: inline-block !important;
}
/* Address modal delete button: same size as Save, inverted colors (white inside, red text and border) */
#addressModal .address-modal-delete-btn {
    background: hsl(var(--white)) !important;
    color: hsl(var(--danger, 0 84% 60%)) !important;
    border: 1px solid hsl(var(--danger, 0 84% 60%)) !important;
}
#addressModal .address-modal-delete-btn:hover {
    background: hsl(var(--danger, 0 84% 60%) / 0.08) !important;
    color: hsl(var(--danger, 0 84% 60%)) !important;
    border-color: hsl(var(--danger, 0 84% 60%)) !important;
}
/* Fix form-switch inside address modal: override form-check checkmark that breaks the toggle circle */
#addressModal .form-switch .form-check-input::before,
#addressModal .form-switch .form-check-input:checked::before {
    content: "" !important;
    font-family: inherit !important;
    font-weight: normal !important;
    font-size: inherit !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: hsl(var(--white)) !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}
#addressModal .form-switch .form-check-input::before {
    inset-inline-start: 4px;
}
#addressModal .form-switch .form-check-input:checked::before {
    inset-inline-start: calc(100% - 26px);
}
/* Delete confirm modal: dark overlay on address modal behind it */
#addressDeleteConfirmModal {
    z-index: 1060;
}
#addressModal.address-modal--dimmed .modal-dialog {
    position: relative;
    pointer-events: none;
}
#addressModal.address-modal--dimmed .modal-dialog::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    border-radius: inherit;
    z-index: 99999;
    pointer-events: none;
}

/* ========== Address map (x-address-map) ========== */
.address-map-wrap {
    position: relative;
}

.address-map {
    height: 400px;
    width: 100%;
    border-radius: 8px;
    border: 1px solid #ddd;
}

.subscription-payment-page .address-map {
    height: 280px;
}

.address-map-locate-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.address-map-locate-btn.is-loading {
    pointer-events: none;
    opacity: 0.75;
}

.address-map-locate-btn.is-loading .fa-location-crosshairs {
    display: none;
}

.address-map-locate-btn.is-loading::before {
    content: '';
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: address-map-spin 0.6s linear infinite;
}

@keyframes address-map-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ========== Subscription payment page (from subscriptions/payment.blade.php) ========== */
.subscription-payment-page { max-width: 560px; margin-inline: auto; }
.subscription-payment-page .payment-page-title {
    font-size: 1.5rem; font-weight: 700; margin-top: 1rem; margin-bottom: 0.4rem;
    color: hsl(var(--heading-color)); line-height: 1.25;
}
.subscription-payment-page .payment-page-subtitle {
    font-size: 1rem; color: hsl(var(--body-color) / 0.8); margin-bottom: 1rem;
}
.subscription-payment-page .payment-section-card {
    border-radius: 12px; border: 1px solid hsl(var(--border-color, 220 13% 91%));
    padding: 0.85rem 1rem; margin-bottom: 0.75rem;
    background: hsl(var(--white)); box-shadow: 0 1px 2px hsl(var(--heading-color) / 0.05);
}
.subscription-payment-page .section-heading {
    font-weight: 700; font-size: 1.15rem; margin-top: 2rem; margin-bottom: 1rem;
    color: hsl(var(--heading-color));
}
.subscription-payment-page .package-card-content { display: flex; align-items: flex-start; gap: 0.75rem; }
.subscription-payment-page .package-icon {
    flex-shrink: 0; width: 72px; height: 72px; object-fit: contain; border-radius: 10px;
}
.subscription-payment-page .package-text-wrap {
    flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.2rem;
}
.subscription-payment-page .package-row {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 0;
}
.subscription-payment-page .package-row .package-name {
    font-weight: 600; font-size: 0.95rem; color: hsl(var(--heading-color));
}
.subscription-payment-page .package-row .package-price {
    flex-shrink: 0; font-weight: 600; font-size: 0.95rem; color: hsl(var(--heading-color));
}
.subscription-payment-page .package-detail-row {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    font-size: 1rem; color: hsl(var(--body-color) / 0.9);
}
.subscription-payment-page .package-detail-row .package-detail-left { flex: 1; min-width: 0; }
.subscription-payment-page .package-detail-row .package-duration-badge {
    flex-shrink: 0; font-weight: 500; color: hsl(var(--base));
}
.subscription-payment-page .coupon-row {
    display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem;
}
.subscription-payment-page .coupon-row .coupon-field {
    flex: 1; min-width: 0; font-size: 1rem;
    padding: 0.5rem 0.85rem; border: 1px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px;
}
.subscription-payment-page .coupon-row .coupon-field:focus {
    border-color: hsl(var(--base) / 0.6); outline: none; box-shadow: 0 0 0 2px hsl(var(--base) / 0.15);
}
.subscription-payment-page .btn-apply-coupon { flex-shrink: 0; padding: 0.5rem 1rem; font-size: 1rem; border-radius: 12px; }
.subscription-payment-page .btn-apply-coupon:disabled { opacity: 0.5; cursor: not-allowed; }
.subscription-payment-page .btn--base { border-radius: 12px; }
.subscription-payment-page .deposit__form .form-label,
.subscription-payment-page .deposit__form .form-control { font-size: 0.9rem; }
.subscription-payment-page .payment-detail-row {
    display: flex; justify-content: space-between; align-items: baseline;
    font-size: 1rem; color: hsl(var(--heading-color)); padding: 0.25rem 0;
}
.subscription-payment-page .payment-detail-row .payment-detail-value { margin-inline-start: auto; }
.subscription-payment-page .payment-detail-row-total {
    border-top: 2px solid hsl(var(--heading-color)); padding-top: 0.5rem; margin-top: 0.5rem;
}
.subscription-payment-page .coupon-error-msg {
    font-size: 0.875rem; padding: 0 0 1.25rem 0; margin-bottom: 0.5rem;
}
.subscription-payment-page .coupon-error-msg i { margin-inline-end: 0.35rem; }
.subscription-payment-page .applied-coupon-card {
    display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.75rem 1rem;
}
.subscription-payment-page .applied-coupon-card .applied-coupon-info {
    display: flex; align-items: center; gap: 0.5rem; flex: 1; min-width: 0;
}
.subscription-payment-page .applied-coupon-card .applied-coupon-info .coupon-check-icon {
    color: hsl(var(--success, 142 71% 45%)); font-size: 1.1rem; flex-shrink: 0;
}
.subscription-payment-page .applied-coupon-card .applied-coupon-info .coupon-code {
    font-weight: 600; font-size: 0.95rem; color: hsl(var(--heading-color));
}
.subscription-payment-page .applied-coupon-card .applied-coupon-info .coupon-savings {
    font-size: 0.9rem; color: hsl(var(--body-color) / 0.85); margin-inline-start: 0.25rem;
}
.subscription-payment-page .applied-coupon-card .btn-remove-coupon {
    flex-shrink: 0; width: 32px; height: 32px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 8px;
    background: transparent; color: hsl(var(--body-color) / 0.7);
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.subscription-payment-page .applied-coupon-card .btn-remove-coupon:hover {
    color: hsl(var(--heading-color)); border-color: hsl(var(--body-color) / 0.3);
    background: hsl(var(--body-color) / 0.06);
}
.subscription-payment-page .kitchen-note-wrap { margin-bottom: 1rem; }
.subscription-payment-page .kitchen-note-field {
    width: 100%; font-size: 1rem; padding: 0.6rem 0.85rem;
    border: 1px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px;
    resize: vertical; min-height: 88px; max-height: 150px;
}
.subscription-payment-page .kitchen-note-field:focus {
    border-color: hsl(var(--base) / 0.6); outline: none; box-shadow: 0 0 0 2px hsl(var(--base) / 0.15);
}
.subscription-payment-page .address-card { margin-bottom: 0; }
.subscription-payment-page .address-card .address-title {
    font-weight: 600; font-size: 1rem; color: hsl(var(--heading-color)); margin-bottom: 0.35rem;
}
.subscription-payment-page .address-card .address-details,
.subscription-payment-page .address-card .address-formatted {
    font-size: 0.95rem; color: hsl(var(--body-color) / 0.9);
}
.subscription-payment-page .address-card .address-formatted { margin-bottom: 0; }
.subscription-payment-page .address-card__row {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
}
.subscription-payment-page .address-card__text { flex: 1; min-width: 0; }
.subscription-payment-page .address-card__action { flex-shrink: 0; }
.subscription-payment-page .address-card .btn-address-change { font-size: 0.9rem; }

/* Checkout page: cart summary list (read-only) */
.subscription-payment-page .checkout-cart-summary { padding: 0.75rem 1rem; }
.subscription-payment-page .checkout-cart-item {
    display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0;
    border-bottom: 1px solid hsl(var(--border-color, 220 13% 91%));
    font-size: 0.95rem;
}
.subscription-payment-page .checkout-cart-item:last-child { border-bottom: none; }
.subscription-payment-page .checkout-cart-item__img {
    flex-shrink: 0; width: 48px; height: 48px; border-radius: 8px;
    overflow: hidden; background: hsl(var(--body-color) / 0.08);
}
.subscription-payment-page .checkout-cart-item__img img {
    width: 100%; height: 100%; object-fit: cover;
}
.subscription-payment-page .checkout-cart-item__info {
    flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem;
}
.subscription-payment-page .checkout-cart-item__name {
    font-weight: 600; color: hsl(var(--heading-color));
}
.subscription-payment-page .checkout-cart-item__qty {
    font-size: 0.85rem; color: hsl(var(--body-color) / 0.8);
}
.subscription-payment-page .checkout-cart-item__total {
    flex-shrink: 0; font-weight: 600; color: hsl(var(--heading-color));
}

@media (max-width: 575px) {
    .subscription-payment-page .package-card-content { flex-wrap: wrap; }
    .subscription-payment-page .package-detail-row { flex-wrap: wrap; }
}

/* ========== Subscription create page (from subscriptions/create.blade.php) ========== */
.subscription-program-card {
    border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px; padding: 20px;
    height: 100%; cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;
    background: hsl(var(--white)); display: flex; flex-direction: column;
}
.subscription-program-card:hover {
    border-color: hsl(var(--base) / 0.5); box-shadow: 0 4px 12px hsl(var(--heading-color) / 0.08);
}
.subscription-program-card.selected {
    border-color: hsl(var(--base)); box-shadow: 0 0 0 2px hsl(var(--base) / 0.2);
}
.subscription-program-card .card-top { display: flex; gap: 16px; margin-bottom: 12px; }
.subscription-program-card .card-text { flex: 1; min-width: 0; }
.subscription-program-card .card-title { font-size: 1.1rem; font-weight: 600; margin-bottom: 6px; }
.subscription-program-card .card-desc {
    font-size: 0.9rem; color: hsl(var(--body-color) / 0.85); margin-bottom: 0;
}
.subscription-program-card .card-img-wrap { flex-shrink: 0; }
.subscription-program-card .card-img {
    width: 72px; height: 72px; object-fit: contain; display: block;
}
.subscription-program-card .card-actions {
    display: flex; justify-content: space-between; align-items: center; margin-top: auto;
    padding-top: 12px; border-top: 1px solid hsl(var(--border-color, 220 13% 91%));
}
.subscription-program-card .card-link { font-size: 0.875rem; color: hsl(var(--base)); }
.subscription-program-card .btn-select-plan {
    border: 2px solid hsl(var(--base) / 0.3); color: hsl(var(--base)); background: transparent;
    padding: 6px 12px; border-radius: 8px; font-weight: 500; font-size: 0.875rem; transition: all 0.2s;
}
.subscription-program-card .btn-select-plan:hover { background: hsl(var(--base) / 0.1); }
.subscription-program-card.selected .btn-select-plan {
    background: hsl(var(--base)); color: hsl(var(--white)); border-color: hsl(var(--base));
}
.subscription-summary {
    background: hsl(var(--white));
    border-radius: 14px;
    padding: 28px;
    position: sticky;
    top: 8.5rem;
    align-self: flex-start;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid hsl(var(--black) / 0.08);
    box-shadow: 0 2px 12px hsl(var(--black) / 0.06), 0 0 0 1px hsl(var(--black) / 0.02);
}
.subscription-summary h3 {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: hsl(var(--heading-color));
}
.subscription-summary #summaryLine {
    font-size: 0.9rem;
    color: hsl(var(--body-color) / 0.75);
    margin-bottom: 22px;
    line-height: 1.6;
}
.subscription-summary .payment-summary {
    border-top: 1px solid hsl(var(--black) / 0.1);
    padding-top: 18px;
    margin-bottom: 22px;
}
.subscription-summary .payment-summary h4 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 14px;
}
.subscription-summary .payment-summary > div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 0.9rem;
    color: hsl(var(--body-color) / 0.85);
}
.subscription-summary .payment-summary .summary-total {
    font-size: 1.15rem;
    font-weight: 700;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 2px solid hsl(var(--black) / 0.1);
    color: hsl(var(--heading-color));
}
.subscription-summary .btn-continue {
    margin-top: 4px;
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 10px;
}
.subscription-summary .btn-continue:disabled { opacity: 0.5; cursor: not-allowed; }
.subscription-create {
    max-width: 1100px; margin-inline: auto; padding-inline: 16px;
}
[dir="rtl"] .subscription-create { width: 100%; }
[dir="rtl"] .subscription-create form, [dir="rtl"] .subscription-create .row { width: 100%; }
.subscription-create h2.h5 { font-weight: 600; font-size: 1.1rem; }
.meals-per-day-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.meal-type-card {
    border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px; padding: 16px;
    background: hsl(var(--white)); display: flex; align-items: center; justify-content: space-between;
    gap: 12px; min-height: 64px; box-sizing: border-box; transition: border-color 0.2s;
}
.meal-type-card .meal-type-label { font-weight: 500; color: hsl(var(--heading-color)); margin: 0; }
.meal-count-wrap {
    display: flex; align-items: stretch;
    border: 1px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 8px;
    background: hsl(var(--white)); overflow: hidden;
}
.meal-type-card.has-value .meal-count-wrap { border-color: hsl(var(--base) / 0.5); }
.meal-count-wrap .meal-count-input {
    width: 44px; min-width: 44px; border: none; text-align: center;
    font-weight: 600; font-size: 0.95rem; padding: 6px 4px; -moz-appearance: textfield;
}
.meal-count-wrap .meal-count-input::-webkit-outer-spin-button,
.meal-count-wrap .meal-count-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.meal-count-arrows {
    display: flex; flex-direction: column; width: 24px;
    border-inline-start: 1px solid hsl(var(--border-color, 220 13% 91%));
    background: hsl(var(--body-color) / 0.06); overflow: hidden;
}
.meal-type-card.has-value .meal-count-arrows { border-inline-start-color: hsl(var(--base) / 0.5); }
.meal-count-arrows button {
    flex: 1; min-height: 16px; border: none; background: transparent; color: hsl(var(--body-color));
    font-size: 10px; line-height: 1; cursor: pointer; padding: 0;
    display: flex; align-items: center; justify-content: center; transition: background 0.2s, color 0.2s;
}
.meal-count-arrows button:hover { background: hsl(var(--base) / 0.15); color: hsl(var(--base)); }
.delivery-days-wrap { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.delivery-day-option { position: relative; }
.delivery-day-option input { position: absolute; opacity: 0; width: 0; height: 0; }
.delivery-day-option label {
    display: flex; align-items: center; justify-content: center; width: 52px; height: 52px;
    border-radius: 50%; font-weight: 600; font-size: 0.95rem; cursor: pointer; margin: 0;
    background: hsl(var(--body-color) / 0.08); color: hsl(var(--body-color) / 0.7);
    border: 2px solid transparent; transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.delivery-days-wrap.delivery-days-pills .delivery-day-option label {
    width: auto; height: auto; padding: 10px 18px; min-height: 44px; border-radius: 999px;
    font-size: 0.9rem; white-space: nowrap;
}
.delivery-day-option input:checked + label {
    background: hsl(var(--base)); color: hsl(var(--white)); border-color: hsl(var(--base));
}
.delivery-day-option label:hover { background: hsl(var(--base) / 0.15); color: hsl(var(--base)); }
.delivery-day-option input:checked + label:hover {
    background: hsl(var(--base-d-100)); color: hsl(var(--white));
}
.protein-addon-card {
    border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px; padding: 16px;
    cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s; background: hsl(var(--white));
    display: flex; align-items: center; min-height: 64px; box-sizing: border-box;
}
.protein-addon-card:hover {
    border-color: hsl(var(--base) / 0.5); box-shadow: 0 4px 12px hsl(var(--heading-color) / 0.08);
}
.protein-addon-card.selected {
    border-color: hsl(var(--base)); box-shadow: 0 0 0 2px hsl(var(--base) / 0.2);
}
.protein-addon-card .protein-card-inner {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-width: 0;
}
.protein-addon-card .protein-value-wrap {
    display: flex; align-items: center;
    border: 1px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 8px;
    background: hsl(var(--white)); overflow: hidden;
}
.protein-addon-card.selected .protein-value-wrap { border-color: hsl(var(--base) / 0.5); }
.protein-addon-card .protein-value-wrap .protein-display {
    padding: 6px 10px; font-weight: 600; font-size: 0.95rem; min-width: 52px; text-align: center;
}
.protein-addon-card .protein-value-wrap .protein-arrows {
    display: flex; flex-direction: column; width: 24px;
    border-left: 1px solid hsl(var(--border-color, 220 13% 91%));
    background: hsl(var(--body-color) / 0.06);
}
.protein-addon-card .protein-value-wrap .protein-arrows button {
    flex: 1; min-height: 18px; border: none; background: transparent; color: hsl(var(--body-color));
    font-size: 10px; cursor: pointer; padding: 0;
    display: flex; align-items: center; justify-content: center; transition: background 0.2s, color 0.2s;
}
.protein-addon-card .protein-value-wrap .protein-arrows button:hover {
    background: hsl(var(--base) / 0.15); color: hsl(var(--base));
}
.protein-addon-card .protein-description-text {
    font-size: 0.9rem; color: hsl(var(--body-color) / 0.85); margin: 0; white-space: nowrap;
}
.protein-addon-wrap .protein-addon-card { width: 100%; max-width: 100%; }
.delivery-time-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.delivery-time-option { position: relative; }
.delivery-time-option input { position: absolute; opacity: 0; width: 0; height: 0; }
.delivery-time-option label {
    display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 16px; margin: 0;
    border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px;
    background: hsl(var(--white)); font-weight: 500; color: hsl(var(--heading-color));
    cursor: pointer; transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.delivery-time-option label:hover {
    border-color: hsl(var(--base) / 0.5); background: hsl(var(--base) / 0.06);
}
.delivery-time-option input:checked + label {
    border-color: hsl(var(--base)); background: hsl(var(--base) / 0.08); color: hsl(var(--base));
}
.start-date-wrap { display: block; }
.start-date-dropdown { position: relative; width: 100%; }
.start-date-dropdown__trigger {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 12px 16px; border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px;
    background: hsl(var(--white)); color: hsl(var(--heading-color)); font-size: 1rem; font-family: inherit;
    text-align: start; cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;
}
.start-date-dropdown__trigger:hover { border-color: hsl(var(--base) / 0.4); }
.start-date-dropdown.open .start-date-dropdown__trigger {
    border-color: hsl(var(--base)); box-shadow: 0 0 0 3px hsl(var(--base) / 0.15);
}
.start-date-dropdown__trigger i { margin-inline-start: 8px; transition: transform 0.2s; opacity: 0.7; }
.start-date-dropdown.open .start-date-dropdown__trigger i { transform: rotate(180deg); }
.start-date-dropdown__list {
    position: absolute; top: 100%; left: 0; right: 0; margin-top: 4px; max-height: 280px;
    overflow-y: auto; border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px;
    background: hsl(var(--white)); box-shadow: 0 8px 24px hsl(var(--heading-color) / 0.12);
    z-index: 10; display: none;
}
.start-date-dropdown.open .start-date-dropdown__list { display: block; }
.start-date-dropdown__option {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    padding: 12px 16px; border: none; background: none; color: hsl(var(--heading-color));
    font-size: 0.95rem; font-family: inherit; text-align: start; cursor: pointer;
    transition: background 0.15s; gap: 16px;
}
.start-date-dropdown__option:hover { background: hsl(var(--base) / 0.08); }
.start-date-dropdown__option.selected {
    background: hsl(var(--base) / 0.12); color: hsl(var(--base)); font-weight: 500;
}
.start-date-dropdown__option-day { flex-shrink: 0; margin-inline-start: auto; }
.duration-cycle-section { margin-bottom: 1.5rem; }
.duration-cycle-section .section-title { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.75rem; }
.duration-option-card {
    position: relative; border: 2px solid hsl(var(--border-color, 220 13% 91%)); border-radius: 12px;
    padding: 20px; margin-bottom: 12px; background: hsl(var(--white)); cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    display: flex; flex-direction: column; gap: 8px;
}
.duration-option-card:hover {
    border-color: hsl(var(--base) / 0.5); box-shadow: 0 4px 12px hsl(var(--heading-color) / 0.08);
}
.duration-option-card.selected {
    border-color: hsl(var(--base)); background: hsl(var(--base) / 0.06);
    box-shadow: 0 0 0 2px hsl(var(--base) / 0.15);
}
.duration-option-card .duration-card-top {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
}
.duration-option-card .duration-content { flex: 1; min-width: 0; }
.duration-option-card .duration-radio-wrap { flex-shrink: 0; margin-top: 2px; }
.duration-option-card .duration-radio-wrap input {
    width: 20px; height: 20px; cursor: pointer; appearance: none; -webkit-appearance: none;
    border-radius: 50%; border: 2px solid hsl(var(--border-color, 220 13% 91%));
    background: hsl(var(--white)); transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.duration-option-card .duration-radio-wrap input:checked {
    background: hsl(var(--base)); border-color: hsl(var(--white)); box-shadow: 0 0 0 1px hsl(var(--base));
}
.duration-option-card.selected .duration-radio-wrap input { border-color: hsl(var(--white)); }
.duration-option-card .duration-save-badge {
    display: inline-block; background: hsl(var(--base) / 0.15); color: hsl(var(--base));
    font-size: 0.75rem; font-weight: 600; padding: 4px 8px; border-radius: 6px; margin-bottom: 6px;
}
.duration-option-card .duration-title {
    font-size: 1.1rem; font-weight: 600; margin-bottom: 0; color: hsl(var(--heading-color));
}
.duration-option-card .duration-price-line {
    font-size: 0.95rem; color: hsl(var(--body-color) / 0.9); margin-bottom: 2px;
}
.duration-option-card .duration-per-day {
    font-size: 0.875rem; color: hsl(var(--body-color) / 0.75);
}
.duration-cycle-section.disabled .duration-options-wrap { opacity: 0.6; pointer-events: none; }
.duration-cycle-section.disabled .duration-options-wrap .duration-option-card {
    cursor: not-allowed; background: hsl(var(--body-color) / 0.04);
}
@media screen and (max-width: 767px) {
    .subscription-create { padding-inline: 16px; overflow-x: hidden; box-sizing: border-box; }
    #programCards .col-md-6 { flex: 0 0 100%; max-width: 100%; }
    .meals-per-day-grid { grid-template-columns: 1fr; }
    .protein-addon-wrap .protein-addon-card { min-width: 0; min-height: 0; width: 100%; }
    .protein-addon-card .protein-description-text { white-space: normal; }
    .delivery-day-option label { width: 40px; height: 40px; font-size: 0.85rem; }
    .delivery-days-wrap.delivery-days-pills .delivery-day-option label {
        width: auto; height: auto; padding: 8px 14px; min-height: 40px; font-size: 0.85rem;
    }
    .delivery-time-cards { grid-template-columns: 1fr; }
}
@media screen and (max-width: 575px) {
    .subscription-create { padding-inline: 12px; }
    .delivery-day-option label { width: 36px; height: 36px; font-size: 0.8rem; }
    .delivery-days-wrap.delivery-days-pills .delivery-day-option label {
        width: auto; height: auto; padding: 6px 12px; min-height: 36px; font-size: 0.8rem;
    }
}

/* ========== User data / registration step (from user_data.blade.php) ========== */
.referral-input-wrap.input-group {
    border: 1px solid hsl(var(--border-color, 220 13% 91%));
    border-radius: 12px;
    overflow: hidden;
}
.referral-input-wrap.input-group .form-control {
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
}
.referral-input-wrap.input-group .referral-clear-btn {
    border: none;
    border-inline-start: 1px solid hsl(var(--border-color, 220 13% 91%));
    border-radius: 0;
    background: hsl(var(--white));
    cursor: pointer;
    padding: 0.5rem 0.75rem;
}
.referral-input-wrap.input-group .referral-clear-btn.d-none { display: none !important; }
.referral-input-wrap.input-group:focus-within {
    border-color: hsl(var(--black) / 0.2);
}
.referral-feedback {
    font-size: 0.875rem;
    padding: 0 0 0.25rem 0;
}
.referral-feedback .referral-feedback-icon {
    margin-inline-end: 0.35rem;
}
.referral-feedback--error {
    color: hsl(var(--danger, 0 84% 60%));
}
.referral-feedback--success {
    color: hsl(var(--success, 142 71% 45%));
}
.referral-feedback--checking {
    color: hsl(var(--black) / 0.6);
}

/* ========== Referral page (user referral.blade.php) ========== */
.referral-page .card-body .fas,
.referral-page .card-body .fa,
.referral-page .referral-error-msg .fas {
    color: hsl(var(--accent)) !important;
}
.referral-code-line {
    gap: 0.5rem;
}
.referral-code-btn,
.referral-coupon-btn {
    background: hsl(var(--white));
    color: #F07820;
    border: 1px solid #F07820;
    border-radius: 8px;
    padding: 0.4rem 0.75rem;
    font-size: 1rem;
    cursor: pointer;
}
.referral-code-btn:hover,
.referral-coupon-btn:hover {
    background: #F07820;
    color: hsl(var(--white));
    border-color: #F07820;
}
.referral-code-text {
    color: inherit;
    font-size: 1rem;
}
.referral-apply-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.referral-apply-row .referral-apply-field {
    flex: 1;
    min-width: 0;
    font-size: 1rem;
    padding: 0.5rem 0.85rem;
    border: 1px solid hsl(var(--border-color, 220 13% 91%));
    border-radius: 12px;
}
.referral-apply-row .referral-apply-field:focus {
    border-color: hsl(var(--base) / 0.6);
    outline: none;
    box-shadow: 0 0 0 2px hsl(var(--base) / 0.15);
}
.referral-apply-row .referral-apply-btn {
    flex-shrink: 0;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border-radius: 12px;
}
.referral-apply-row .referral-apply-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.referral-stat-row {
    font-size: 1rem;
    color: hsl(var(--black));
}
.referral-stat-row .text-muted {
    color: hsl(var(--black)) !important;
}
.referral-stat-value {
    color: hsl(var(--black)) !important;
    font-weight: 600;
}
.referral-stat-underline {
    height: 1px;
    background: hsl(var(--black));
    margin: 1.5rem 0;
}
.referral-coupon-list .referral-coupon-item:last-child {
    border-bottom: none !important;
}
.referral-coupon-btn .referral-coupon-code {
    font-family: monospace;
    font-size: 0.95rem;
}
.referral-coupon-discount {
    color: #1EA84B;
    font-weight: 600;
    font-size: 0.9rem;
}

.dashboard__table .table thead th {
    white-space: nowrap;
}
/* ========================= Transactions page ========================= */
.dashboard__table .table thead tr th.text-center {
    text-align: center !important;
}
.dashboard__table .table tbody tr td.text-start {
    text-align: start !important;
}
.transactions-filter-btn {
    background-color: hsl(var(--white)) !important;
    color: hsl(var(--base)) !important;
    border: 1px solid hsl(var(--base)) !important;
    font-size: 0.875rem;
}
.transactions-filter-btn:hover,
.transactions-filter-btn:focus,
.transactions-filter-btn:focus-visible {
    background-color: hsl(var(--accent)) !important;
    color: hsl(var(--white)) !important;
    border-color: hsl(var(--accent)) !important;
}
.transactions-filter-btn i {
    color: inherit;
}
.transactions-filter-btn--wide {
    min-width: 120px;
}
.transactions-date-input.form-control {
    padding: 18px 26px !important;
    font-size: 0.875rem !important;
    line-height: 1 !important;
    min-height: unset !important;
    height: auto !important;
    box-sizing: border-box;
}

/* Inline star rating (order details) */
.inline-star-rating {
    display: inline-flex;
    gap: 3px;
}
.inline-star-rating .star-btn {
    font-size: 1.15rem;
    color: #ccc;
    cursor: pointer;
    transition: color .15s;
}
.inline-star-rating .star-btn.active,
.inline-star-rating .star-btn.hovered {
    color: hsl(var(--base));
}

/*# sourceMappingURL=main.css.map */