/* carousel start */
.carousel__prev,
.carousel__next {
    font-size: 1.5rem !important;
    height: 2.5rem !important;
    width: 2.5rem !important;
    border-radius: 30px !important;
    color: rgb(110 113 145 / var(--tw-text-opacity)) !important;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.carousel__prev:hover,
.carousel__next:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
    --tw-bg-opacity: 1;
    background-color: rgb(12 155 141 / var(--tw-bg-opacity)) !important;
}

/* carousel end */

/* Select code start */
.vue-select.no-radius {
    border-radius: 0 !important;
}

.vue-select {
    width: auto !important;
    border: 1px solid rgb(229 231 235 / var(--tw-border-opacity)) !important;
    border-radius: 0.375rem !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex-direction: column !important;
}

.vue-select.invalid {
    border: 1px solid rgb(252 165 165 / var(--tw-border-opacity)) !important
}

.vue-input {
    padding: 0.1rem 0rem !important;
}

.vue-input input {
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.vue-input input::placeholder {
    color: #697a8d !important;
}

.vue-dropdown {
    border: 1px solid #0C9B8D33 !important;
    box-shadow: 0 0.25rem 1rem rgb(229 231 235 / 45%) !important;
}

.vue-select.direction-top .vue-dropdown {
    border-top-left-radius: 0.375rem !important;
    border-top-right-radius: 0.375rem !important;
    z-index: 100000;
}

.vue-select.direction-bottom .vue-dropdown {
    border-bottom-left-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
    z-index: 100000;
}

.vue-select[aria-expanded='true'].direction-top {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.vue-select[aria-expanded='true'].direction-bottom {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.vue-select[aria-expanded='true'] {
    border-color: #0C9B8D33 !important;
}

.vue-dropdown-item.highlighted {
    background-color: rgba(67, 89, 113, .04) !important;
}

.vue-dropdown-item.selected.highlighted {
    background-color: rgba(105, 108, 255, .08) !important;
    color: rgb(12 155 141 / var(--tw-text-opacity)) !important;
}

.vue-dropdown-item.selected {
    background-color: rgba(105, 108, 255, .08) !important;
    color: rgb(12 155 141 / var(--tw-text-opacity)) !important;
}

.vue-dropdown-item {
    font-size: 15px;
    padding: 0.4375rem 0.875rem !important;
}

/* Select code close */


/* Map code start*/
.map-height {
    height: 24rem;
}

/* Map code close*/


/* Date picker code start*/
/* .dp__input {
    border-color: rgb(229 231 235 / var(--tw-border-opacity)) !important;
} */

.dp__input_focus {
    border-color: rgb(12 155 141 / 0.2) !important;
}

.custom-datepicker>.dp__main>div {
    width: 240px !important;
}

.dp__input {
    border: 1px solid #e5e7eb !important;
    height: 40px !important;
    border-radius: 0.375rem !important;
}

.dp__input:hover {
    border-color: inherit !important;
}

/* Date picker code close here*/

/* custom height start*/
.c-h-30 {
    height: 7.50rem;
}

.c-h-25 {
    height: 6.75rem
}

/* custom height end*/

/* Font size and color start */
.db-table-action.qr-code i {
    background-color: rgb(246 166 9 / 0.1);
    --tw-text-opacity: 1;
    color: rgb(246 166 9 / var(--tw-text-opacity))
}

.db-table-action.qr-code i:hover {
    background-color: rgb(246 166 9 / 0.2);
}

.font-fill-primary-toggle {
    color: #0C9B8D;
}

@media (max-width: 639px) {
    .font-fill-primary-toggle {
        color: #FFFFFF !important;
    }
}

.font-fill-paragraph-toggle {
    color: #FFFFFF;
}

@media (max-width: 639px) {
    .font-fill-paragraph-toggle {
        color: #0C9B8D !important;
    }
}

.lab-margin-top-minus-20 {
    margin-top: -20px;
}

.lab-font-display-block {
    display: block;
}

.font-fill-primary {
    color: #0C9B8D;
}

.font-fill-paragraph {
    color: #6E7191;
}

.font-fill-danger {
    color: #FB4E4E;
}

.font-fill-black {
    color: #1F1F39;
}

.font-fill-pos {
    color: #FF8A26;
}

.add-btn:hover .font-fill-primary {
    color: #ffffff;
}

.info-btn:hover .font-fill-paragraph {
    color: #0C9B8D;
}

.lab-font-bold {
    font-weight: bold !important;
}

.lab-font-size-12 {
    font-size: 12px !important;
}

.lab-font-size-13 {
    font-size: 13px !important;
}

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

.lab-font-size-15 {
    font-size: 15px !important;
}

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

.lab-font-size-17 {
    font-size: 17px !important;
}

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

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

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

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

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

.lab-font-color-1 {
    color: #dee2e5 !important;
}

.lab-font-color-2 {
    color: #a0a3bd !important;
}

.lab-font-color-3 {
    color: #27282a !important;
}

.lab-color-pink {
    color: #f46099 !important;
}

.lab-color-portage {
    color: #8a7ff8 !important;
}

.lab-color-cornflower-blue {
    color: #5b7df7 !important;
}

.lab-color-heliotrope {
    color: #b082f8 !important;
}

.lab-color-yellow {
    color: #f5a83b !important;
}

.lab-color-green {
    color: #5ec869 !important;
}

.lab-color-blue {
    color: #008bba !important;
}

.lab-color-blue-2 {
    color: #4D7CF7 !important;
}

.lab-color-delivered {
    color: #797ef8 !important;
}

.lab-color-red {
    color: #F74D4D !important;
}



.lab-font-weight-600 {
    font-weight: 600;
}

/* Font size and color close*/

/* Variation size start */
.variation-margin-right {
    margin-right: 10px;
}

/* Variation size close */

/* branch start */
.branch-margin-right {
    margin-right: 10px;
}

/* branch close */

/* time start */
.time-margin-right {
    margin-right: 10px;
}

/* time close */

/* day take start */
.day-take-margin-right {
    margin-right: 10px;
}

/* day take close */

/* Margin - 6 top start*/
.margin-top-6 {
    margin-top: 1.5rem;
}

.margin-top-5-px {
    margin-top: 5px;
}

/* Margin - 6 top close*/

/* payment custom font size start */
.payment-font-size {
    font-size: 12px;
}

/* payment custom font size end */

/* POS code start */
.pos-card-height {
    height: 250px !important;
}

.pos-image-height {
    height: 68% !important;
}

.pos-add-button:hover .font-fill-primary {
    color: white;
}

/* POS code end */
/* Advance order code start */
.advance-order {
    background-color: #1AB759;
    color: #ffffff;
}

/* Advance order code close */

/* Language conde start */
.font-color-danger {
    color: rgb(239 68 68 / var(--tw-text-opacity));
}

.language-note-font-size {
    font-size: 12px;
}

.strong-left-tab {
    margin-left: 40px;
}

/* Language conde end */

/* cds conde start */
.db-main-customer {
    padding: 80Px 16px 20px 16px;
    height: 100vh;
    overflow: auto;
    transition: all;
    background: #f7f7fc;
    transition: all 0.5s ease-in-out;
}

.db-main-customer.hiddenHeader {
    padding-top: 20px;
}

.kitchen-board.db-tab-btn.active {
    background-color: #0C9B8D !important;
    color: white !important;
    border-radius: 8px;
}

/* cds conde end */


.dropdown-list {
    transform: scaleY(0) !important;
}

.dropdown-list.active {
    transform: scaleY(1) !important;
    transform-origin: top !important;
}

/* ═══ CEED Marketplace Overrides ═══ */

/* Montserrat everywhere */
body, h1, h2, h3, h4, h5, h6, p, span, a, button, input, select, textarea, label {
    font-family: 'Montserrat', 'Rubik', 'Public Sans', sans-serif !important;
}

/* CEED tile card hover effect */
.ud-card-hover {
    transition: box-shadow .2s, transform .2s;
}
.ud-card-hover:hover {
    box-shadow: 0 12px 32px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.05) !important;
    transform: translateY(-2px);
}

/* Smooth section headings */
.container h2 {
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* Category swiper cards */
.menu-swiper .swiper-slide > div,
.menu-swiper .swiper-slide > a {
    border-radius: 12px !important;
    border: 1px solid #EBEDF3;
    box-shadow: 0 2px 8px rgba(0,0,0,.05), 0 0 0 1px rgba(0,0,0,.03);
    transition: box-shadow .2s, transform .2s;
}
.menu-swiper .swiper-slide > div:hover,
.menu-swiper .swiper-slide > a:hover {
    box-shadow: 0 12px 32px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.05);
    transform: translateY(-2px);
}

/* Banner rounded corners */
.banner-swiper img {
    border-radius: 12px !important;
}

/* CEED Marketplace hero animation */
@keyframes ceed-float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
}
.ceed-hero .relative.w-80 {
    animation: ceed-float 4s ease-in-out infinite;
}

/* Footer dark theme */
.footer-part {
    background: linear-gradient(135deg, #0B0E11 0%, #131722 50%, rgba(12,155,141,0.15) 100%) !important;
}

/* Scrollbar ceed-styled */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #F5F6FA; }
::-webkit-scrollbar-thumb { background: #0C9B8D; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #0AB09F; }

/* Selection color */
::selection {
    background: rgba(12, 155, 141, 0.2);
    color: #1A1E2C;
}
/* ═══ ECOSYSTEM SECTION ═══ */
.wf-eco { padding: 80px 0; background: linear-gradient(180deg, #F5F6FA 0%, #EDF0F7 100%); }
.wf-eco__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-top: 32px; }
.wf-eco__card { background: #fff; border-radius: 16px; padding: 28px 24px; border: 1px solid #EBEDF3; transition: all 0.25s; }
.wf-eco__card:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.08); transform: translateY(-4px); border-color: rgba(12,155,141,0.2); }
.wf-eco__icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px; }
.wf-eco__label { font-size: 16px; font-weight: 700; color: #1A1E2C; margin-bottom: 8px; font-family: 'Montserrat', sans-serif; }
.wf-eco__desc { font-size: 13px; line-height: 1.6; color: #515972; }
.wf-eco__desc a { font-weight: 600; text-decoration: none; }
.wf-eco__desc a:hover { text-decoration: underline; }
@media (max-width: 768px) { .wf-eco { padding: 48px 0; } .wf-eco__grid { grid-template-columns: 1fr; } }

/* ═══ CEED BRANDING — Montserrat + Shadows ═══ */
body, h1, h2, h3, h4, h5, h6, button, input, select, textarea {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
code, pre, .font-mono { font-family: 'JetBrains Mono', monospace !important; }

/* ═══ MOBILE OPTIMIZATION ═══ */

/* Header: compact single row on mobile */
@media (max-width: 767px) {
    .ff-header .container {
        padding: 8px 12px !important;
    }
    .ff-header img[alt="logo"] {
        width: 96px !important;
        height: auto;
    }
    .header-search-group {
        height: 34px !important;
        border-radius: 8px !important;
        flex: 1;
        min-width: 0;
    }
}

/* Hero: responsive text + spacing */
@media (max-width: 767px) {
    .wf-hero__inner {
        padding: 32px 0 24px !important;
    }
    .wf-hero__title {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }
    .wf-hero__sub {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    .wf-hero__search {
        flex-direction: column !important;
        border-radius: 12px !important;
    }
    .wf-hero__search-input {
        width: 100% !important;
        font-size: 14px !important;
    }
    .wf-hero__search-btn {
        width: 100% !important;
        border-radius: 8px !important;
        margin-top: 4px;
    }
    .wf-hero__stats {
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center;
    }
    .wf-hero__stat {
        min-width: 80px;
    }
    .wf-hero__stat-sep {
        display: none !important;
    }
    .wf-hero__badge {
        font-size: 11px !important;
    }
}

/* Section headings: smaller on mobile */
@media (max-width: 767px) {
    .wf-section__title {
        font-size: 18px !important;
    }
    .wf-section__sub {
        font-size: 12px !important;
    }
    .wf-section__head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .wf-section {
        padding: 24px 0 !important;
    }
}

/* Product cards: better mobile grid */
@media (max-width: 767px) {
    .product-card-grid {
        min-width: 0 !important;
    }
    .product-card-grid img {
        height: 120px !important;
        object-fit: cover;
    }
    .product-card-grid .p-3,
    .product-card-grid .p-4 {
        padding: 8px !important;
    }
    .product-card-grid h3,
    .product-card-grid .text-sm {
        font-size: 12px !important;
    }
    .product-card-grid .text-lg,
    .product-card-grid .text-base {
        font-size: 14px !important;
    }
}

/* Category swiper: tighter mobile cards */
@media (max-width: 767px) {
    .menu-swiper .swiper-slide {
        width: 100px !important;
    }
    .menu-swiper .swiper-slide img {
        height: 64px !important;
        object-fit: contain;
    }
}

/* Mobile bottom nav: safe area for notched phones */
@media (max-width: 1023px) {
    nav.fixed.bottom-0 {
        padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }
    /* Content should not be hidden behind bottom nav */
    .ff-content, main, .wf-footer {
        padding-bottom: 72px !important;
    }
}

/* Ecosystem grid: single column on small mobile */
@media (max-width: 450px) {
    .wf-eco__grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .wf-eco__card {
        padding: 20px 16px !important;
    }
}

/* Cart drawer: full-width on mobile */
@media (max-width: 767px) {
    .canvas, .drawer {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Modals: mobile-friendly */
@media (max-width: 767px) {
    .modal-dialog {
        width: 95% !important;
        max-width: 95% !important;
        margin: 8px auto !important;
    }
}

/* Dropdown menus: full-width on mobile */
@media (max-width: 767px) {
    .dropdown-list {
        width: calc(100vw - 24px) !important;
        left: 12px !important;
        right: 12px !important;
    }
}

/* Touch targets: minimum 44px on mobile */
@media (max-width: 767px) {
    button, a, .wf-btn, [role="button"], input[type="submit"] {
        min-height: 40px;
        min-width: 40px;
    }
}

/* Footer: stack on mobile */
@media (max-width: 767px) {
    .footer-part .container {
        padding: 24px 16px !important;
    }
    .footer-part .grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* Prevent horizontal overflow on mobile */
@media (max-width: 767px) {
    html, body {
        overflow-x: hidden !important;
    }
    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    img, video, iframe {
        max-width: 100% !important;
    }
}

/* PNG logo: crisp rendering */
img[alt="logo"] {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Shadowed cards/tiles */
.wf-how__card, .wf-eco__card, .card, [class*="rounded"][class*="border"][class*="bg-"] {
    box-shadow: 0 2px 12px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04) !important;
    transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}
.wf-how__card:hover, .card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.06) !important;
}

/* Shadowed tabs/pills */
.nav-link, [role="tab"], .tab-btn, .wf-btn {
    transition: box-shadow 0.2s, background 0.15s;
}
.nav-link.active, [role="tab"][aria-selected="true"], .tab-btn.active {
    box-shadow: 0 2px 8px rgba(12,155,141,0.15), 0 1px 3px rgba(0,0,0,0.06) !important;
}
