/*
Template Name: Swiggiweb - Online Food Ordering Website Template
Author: Askbootstrap
Author URI: https://themeforest.net/user/askbootstrap
Version: 1.0
*/

/* ==========================================
   ESTILOS BASE (APLICADOS A TODOS)
   ========================================== */

@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@200;300;400;500;600;700;800;900&display=swap');

body {
    font-family: 'Mulish', sans-serif;
    font-size: 13px;
    color: #000000;
    background: #f5f5f5;
}

body.bd-registro {
    background: white;
}

/*area botones*/
body {
    padding-bottom: env(safe-area-inset-bottom);
    padding-top: env(safe-area-inset-top);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

/* O específicamente para el contenido inferior */
.bottom-buttons {
    margin-bottom: calc(env(safe-area-inset-bottom) + 20px);
}
/*fin area botones*/

.slick-slider {
    margin: 0 -8px;
}

.slick-slide {
    padding: 8px;
}

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

.small, small {
    font-size: 11px !important;
}

div, a {
    outline: none !important;
}

.border-primary {
    border-color: #e23844!important;
}

.w-300 {
    max-width: 300px;
}

.form-control,
.btn,
.input-group-sm>.custom-select,
.input-group-sm>.form-control,
.input-group-sm>.input-group-append>.btn,
.input-group-sm>.input-group-append>.input-group-text,
.input-group-sm>.input-group-prepend>.btn,
.input-group-sm>.input-group-prepend>.input-group-text {
    font-size: 13px;
}

/* ==========================================
   ESTILOS ESPECÍFICOS PARA DESKTOP
   ========================================== */

@media (min-width: 768px) {/*993*/
    .container,
    .container-md,
    .container-sm {
        max-width: 1140px;
    }
    
    .restaurant-pic {
        position: absolute;
        right: 15px;
        height: 148px;
        border-radius: 4px;
        margin: 9px 0;
        display: block;
    }
    
    .login-page video {
        width: 50%;
        position: absolute;
        bottom: 0;
        right: 50%;
        display: block;
    }
    
    .login-page .px-5.col-10.mx-auto {
        margin: auto !important;
        padding: 3rem !important;
        width: 83.333333% !important;
        flex: 0 0 83.333333% !important;
        max-width: 83.333333%;
    }
    
    footer.section-footer.border-top.bg-dark {
        display: block;
    }
    
    .pb-5, .py-5 {
        padding-bottom: 3rem!important;
    }
    
    .pt-5, .py-5 {
        padding-top: 3rem!important;
    }
    
    .hc-nav-trigger span,
    .hc-nav-trigger span::before,
    .hc-nav-trigger span::after {
        background: #000;
    }
    
    .section-header {
        display: block;
    }
    
    .header-main {
        height: auto;
    }
    
    .header-main .col-1 {
        width: 8.333333% !important;
        min-width: auto !important;
        max-width: 8.333333%;
        flex: 0 0 8.333333% !important;
        padding: 15px;
    }
    
    .header-main .row.align-items-center {
        height: auto;
    }
    
    .header-main .col-8 {
        flex: 0 0 66.666667%;
        margin-left: 0;
        padding: 15px;
    }
    
    .header-main .col-8 .hc-nav-trigger {
        top: 18px;
        right: auto;
        left: 17px;
    }
    
    .d-none {
        display: none !important;
    }
    
    .fixed-bottom-bar {
        padding-bottom: 0;
    }
    
    .hc-nav-trigger {
        top: 18px;
        left: 17px;
    }
    
    .opciones_pedido_btns {
        position: static;
        bottom: auto;
        left: auto;
        width: auto;
    }
    
    h2 {
        font-size: 2rem;
    }
    
    .img-registro {
        width: 70%;
    }
    
    .div-imgreg {
        text-align: center;
        width: 100%;
    }
    
    .px-3.col-md-6.ml-auto {
        width: 50%;
    }
}

/* ==========================================
   ESTILOS PARA TODOS LOS DISPOSITIVOS MÓVILES
   (Tablets y móviles - máximo 992px)
   ========================================== */

@media (max-width: 767px) {/*992*/
    .container,
    .container-md,
    .container-sm {
        max-width: 100%;
    }
    
    .m-none {
        display: none !important;
    }
    
    .section-header {
        display: none;
    }
    
    .header-main {
        height: 67px;
    }
    
    .header-main .col-1 {
        width: auto !important;
        min-width: auto !important;
        max-width: unset;
        flex: unset !important;
        padding: 8px;
    }
    
    .header-main .row.align-items-center {
        height: 67px;
    }
    
    .header-main .col-8 {
        flex: unset;
        margin-left: auto;
        padding: 0px;
    }
    
    .header-main .col-8 .hc-nav-trigger {
        top: 0px;
        right: 8px;
    }
    
    .d-none {
        display: block !important;
    }
    
    .restaurant-pic {
        display: none;
    }
    
    .fixed-bottom-bar {
        padding-bottom: 56px;
    }
    
    .hc-nav-trigger {
        top: 18px;
        left: 17px;
    }
    
    footer.section-footer.border-top.bg-dark {
        display: none;
    }
    
    .sidebar_right{
        display: none !important;
    }
    
    .pb-5, .py-5 {
        padding-bottom: 1rem!important;
    }
    
    .pt-5, .py-5 {
        padding-top: 1rem!important;
    }
    
    .hc-nav-trigger span,
    .hc-nav-trigger span::before,
    .hc-nav-trigger span::after {
        background: #ffffff !important;
    }
    
    .login-page video {
        display: none;
    }
    
    .login-page .px-5.col-10.mx-auto {
        margin: 0px !important;
        padding: 0px !important;
        width: 100% !important;
        flex: unset !important;
        max-width: 100%;
    }
    
    /* BOTÓN DE CARTA EN MÓVILES */
    .opciones_pedido_btns {
        position: fixed;
        bottom: -16px;
        left: 0px;
        width: 100%;
    }
    
    h2 {
        font-size: 1.5em;
    }
    
    .img-registro {
        width: 100%;
    }
    
    .px-3.col-md-6.ml-auto {
        width: 90%;
    }
    
    /* BOTONES DEL MENÚ TÁCTILES */
    .menu-btn {
        min-height: 60px;
        min-width: 60px;
    }
    
    .menu-btn:active {
        transform: scale(0.9);
    }
    
    .linkneg {
        -webkit-tap-highlight-color: rgba(118, 10, 122, 0.05);
    }
    
    .menu-item-touch {
        -webkit-tap-highlight-color: rgba(118, 10, 122, 0.05);
    }
}

/* ==========================================
   ESTILOS COMPARTIDOS (TODOS LOS DISPOSITIVOS)
   ========================================== */

/* Fixed Bottom */
.fixed-bottom {
    height: 58px;
    border-radius: 0px;
    box-shadow: 10px -1px 10px rgba(0, 0, 0, .075);
}

.fixed-bottom .btn {
    border-radius: 0px;
    border: none;
    height: 58px;
}

.h-auto {
    height: auto;
}

.modal-footer .btn {
    border-radius: 0px;
}

/* Nav */
.brand-wrap img {
    height: 50px;
}

.toggle-2 {
    right: 17px !important;
    left: auto !important;
}

.hc-nav-trigger.toggle-2 span,
.hc-nav-trigger.toggle-2 span::before,
.hc-nav-trigger.toggle-2 span::after {
    background: #000;
}

.hc-nav-trigger.togglew span,
.hc-nav-trigger.togglew span::before,
.hc-nav-trigger.togglew span::after {
    background: #ffffff;
}

.cat-slider img {
    width: 50px;
    margin: auto;
    -webkit-filter: saturate(200%);
    filter: saturate(200%);
}

/* Grid Card */
.grid-card span.float-right.text-black-50 {
    display: none;
}

.grid-card .p-3 {
    padding: 10px !important;
}

/* Menu */
.osahan-menu-fotter {
    padding: 0px !important;
}

.osahan-menu-fotter .row {
    margin: 0px;
}

.osahan-menu-fotter .col {
    padding: 0px;
}

.osahan-menu-fotter .col a {
    padding: 12px;
    display: block;
}

.osahan-menu-fotter .col a p {
    font-size: 19px;
}

.osahan-menu-fotter .col.selected a {
    color: #dc3545;
    background: #f8f9fa;
}

.osahan-menu-fotter .col.selected p {
    color: #dc3545;
}

.osahan-menu-fotter .col.bg-white.rounded-circle.mt-n4.px-3.py-2 {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    height: 100px;
    min-height: 100px;
    max-height: 100px;
    margin: -15px 0 0 0 !important;
}

.osahan-menu-fotter .col.bg-white.rounded-circle.mt-n4.px-3.py-2 a {
    width: 68px;
    color: #fff !important;
    height: 68px;
    font-size: 27px !important;
    padding: 16px;
}

/* Extra */
.border-custom-radio .custom-control-label::before {
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    border-radius: .25rem!important;
    background: transparent !important;
    box-shadow: none !important;
}

.border-custom-radio .custom-control-input:checked~.custom-control-label::before {
    border-color: #28a745; /*#d92662;*/
    border: 2px solid #28a745; /*#d92662;*/
}

.border-custom-radio .custom-control-label::after {
    display: none;
}
/*VISTO DE COLOR VERDE*/

.border-custom-radio {
    position: relative;
}

.border-custom-radio .custom-control-input:checked~.custom-control-label {
    position: relative;
}

/*.border-custom-radio .custom-control-input:checked~.custom-control-label .p-3::after {
    content: "✓";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-size: 20px;
    font-weight: bold;
    color: #28a745;
    z-index: 10;
}*/
/*
.border-custom-radio 
.custom-control-input:checked ~ 
.custom-control-label .p-3::after {
    content: "✓";
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    
    width: 28px;
    height: 28px;
    border-radius: 50%;
    
    background-color: #28a745; 
    color: #ffffff;           
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    font-size: 18px;
    font-weight: bold;

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    z-index: 10;
}*/
/* 🔵 CÍRCULO VERDE */
.border-custom-radio 
.custom-control-input:checked ~ 
.custom-control-label .p-3::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    
    width: 28px;
    height: 28px;
    border-radius: 50%;
    
    background-color: #28a745;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    
    z-index: 9;
}

/* ✔ CHECK (dibujado con bordes) */
.border-custom-radio 
.custom-control-input:checked ~ 
.custom-control-label .p-3::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 21px; /* ajusta fino para centrar */
    
    width: 8px;
    height: 14px;
    
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    
    transform: translateY(-60%) rotate(45deg);
    
    z-index: 10;
}



/*fin del visto*/

.modal-content {
    border: none !important;
}

.slick-dots {
    bottom: 20px !important;
}

/* Slick Navigation - Oculto por defecto */
.slick-prev,
.slick-prev:hover,
.slick-prev:focus,
.slick-next,
.slick-next:hover,
.slick-next:focus {
    display: none !important;
}

.slick-arrow,
.slick-arrow:hover,
.slick-arrow:focus {
    background-size: 6px;
    width: 34px;
    border-radius: 50px;
    height: 34px;
    margin: 0 8px;
    background-color: #fff;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
    border: 1px solid #e4e7ea;
    z-index: 9;
}

.slick-next:before,
.slick-prev:before {
    display: none;
}

/* Sticky Sidebar */
.sticky_sidebar,
.c-t-order,
.osahan-account {
    position: sticky;
    top: 15px;
}

.c-t-order li {
    border: none !important;
    margin: 5px 4px !important;
}

.c-t-order li a {
    background: #ffffff;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    display: flex;
    align-items: center;
}

.c-t-order li a i {
    background: #fff;
    border: 1px solid #eff2f5;
    padding: 5px 5px;
    border-radius: 50px;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
    font-size: 18px;
    vertical-align: bottom;
}

.c-t-order li a.active,
.c-t-order li a:hover {
    background: #eff2f5 !important;
}

.c-t-order li a.active i {
    background: #e23844;
    color: #fff !important;
    border-color: transparent;
}

/* Dropdown */
.dropdown-menu {
    background: #ffffff;
    border-radius: .40rem!important;
    margin: 0;
    padding: 6px;
    border: 1px solid #ffffff;
    box-shadow: 0px 6px 10px rgba(0, 0, 0, .1)!important;
}

.dropdown:hover .dropdown-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
    transition: .5s ease all;
}

.dropdown-menu {
    display: block;
    visibility: hidden;
    opacity: 0;
    transform: translateY(50px);
    transition: .5s ease all;
}

.dropdown-menu.show {
    display: block;
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
    transition: .5s ease all;
}

.dropdown-item {
    padding: 6px 10px;
}

.dropdown .dropdown-menu,
.dropdown-item {
    font-size: 13px;
    border-radius: 6px;
    margin: 1px 0;
}

/* Grid System */
.col,
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-auto,
.col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4,
.col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9,
.col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto,
.col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4,
.col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9,
.col-md-10, .col-md-11, .col-md-12, .col-md-auto,
.col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4,
.col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9,
.col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto,
.col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4,
.col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9,
.col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 8px;
    padding-left: 8px;
}

.row {
    margin-right: -8px;
    margin-left: -8px;
}

/* Scrollbar */
::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none;
}

::-webkit-scrollbar-corner {
    background-color: transparent;
}

::-webkit-scrollbar-thumb {
    height: 6px;
    border: 4px solid transparent;
    background-clip: padding-box;
    -webkit-border-radius: 7px;
    border-radius: 7px;
    background-color: rgba(0, 0, 0, .15);
    -webkit-box-shadow: inset -1px -1px 0 rgba(0, 0, 0, .05), inset 1px 1px 0 rgba(0, 0, 0, .05);
    box-shadow: inset -1px -1px 0 rgba(0, 0, 0, .05), inset 1px 1px 0 rgba(0, 0, 0, .05);
}

::-webkit-scrollbar {
    width: 4px;
    background-color: #ffffff;
}

::-webkit-scrollbar-thumb {
    height: 50px;
    background: hsla(0, 0%, 53.3%, 0.4);
}

/* Buttons */
.btn-facebook {
    background: #2b4170;
    background: -moz-linear-gradient(45deg, #3b5998 0%, #2b4170 100%);
    background: -webkit-linear-gradient(45deg, #3b5998 0%, #2b4170 100%);
    background: linear-gradient(45deg, #3b5998 0%, #2b4170 100%);
    /*filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#3b5998', endColorstr='#2b4170', GradientType=1);*/
    border-color: #3b5998;
    color: #ffffff !important;
}

.bg-primary {
    background: #760a7a;
    background: -moz-linear-gradient(45deg, #630666 0%, #760a7a 100%);
    background: -webkit-linear-gradient(45deg, #630666 0%, #760a7a 100%);
    background: linear-gradient(45deg, #630666 0%, #760a7a 100%);
}

.btn-primary {
    background: #760a7a;
    background: -moz-linear-gradient(45deg, #630666 0%, #760a7a 100%);
    background: -webkit-linear-gradient(45deg, #630666 0%, #760a7a 100%);
    background: linear-gradient(45deg, #630666 0%, #760a7a 100%);
    border-color: #760a7a;
}

.btn-primary:hover {
    background: #760a7a;
    background: -moz-linear-gradient(45deg, #630666 0%, #760a7a 100%);
    background: -webkit-linear-gradient(45deg, #630666 0%, #760a7a 100%);
    background: linear-gradient(45deg, #630666 0%, #760a7a 100%);
}

button:focus,
button:focus-visible,
button:-moz-focusring {
    outline: none;
    box-shadow: none;
}

.btn-outline-primary {
    color: #e23744;
    border-color: #e23744;
}

.btn-outline-primary:hover {
    color: #ffffff;
    background: #d92662;
    background: -moz-linear-gradient(-45deg, #d92662 0%, #e23744 100%);
    background: -webkit-linear-gradient(-45deg, #d92662 0%, #e23744 100%);
    background: linear-gradient(135deg, #d92662 0%, #e23744 100%);
    /*filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#d92662', endColorstr='#e23744', GradientType=1);*/
    border-color: #e23744;
}

.text-primary {
    color: #e23744 !important;
    text-decoration: none !important;
}

a {
    color: #e23744;
    text-decoration: none !important;
    cursor: pointer;
}

p {
    color: #424242;
    letter-spacing: 0.2px;
}

.btn-link {
    font-weight: 400;
    color: #e23744;
    text-decoration: none !important;
}

.btn-lg {
    font-size: 16px;
    padding: 16px 16px;
    font-weight: 600;
}

.btn-whatsapp {
    background: #7AB317;/*#25d366;*/
}

.btn-contacto-local {
    min-width: 50%;
}

.btn-piddi {
    background-color: #760a7a;
    color: #ffffff;
    border: none;
}

.btn-piddi:hover {
    background-color: #630666;
    color: #ffffff;
}

.btn-buscar {
    background: black;
}

.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    outline: none !important;
    border: none !important;
}

/* Landing Page */
.landing-page-skip .img-fluid {
    max-height: 290px;
}

.landing-page-skip p {
    margin: 0px;
}

.landing-page-skip .zindex {
    right: 0;
    z-index: 9;
}

.landing-page-skip .slick-dotted.slick-slider {
    margin: 0px;
}

.landing-page-skip .osahan-slider-item {
    padding: 0px 20px;
}

/* List Card */
.list-card .count-number {
    margin: 4px 0 0 0;
    display: inline-block;
}

.list-card a,
.list-card h6 {
    color: inherit;
    overflow: hidden;
    white-space: nowrap;
    font-size: 15px;
    text-overflow: ellipsis;
}

.list-card a:hover {
    color: #0091bc;
}

.list-card .star {
    right: 8px;
    bottom: 8px;
}

.list-card .star .badge {
    font-size: 11px;
    padding: 5px 5px;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
}

.list-card .member-plan {
    left: 8px;
    top: 8px;
}

.list-card .member-plan .badge {
    font-size: 11px;
    padding: 5px 5px;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
}

.list-card .list-card-image {
    position: relative;
}

.list-card .favourite-heart {
    right: 8px;
    top: 8px;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075)!important;
}

.list-card .favourite-heart i {
    background: #fff;
    width: 23px;
    height: 23px;
    display: inline-block;
    text-align: center;
    font-size: 15px;
    line-height: 24px;
    border-radius: 50px;
}

.list-card.d-flex .list-card-image {
    width: 130px;
    height: 140px;
    min-width: 130px;
    max-width: 130px;
}

.list-card.d-flex .list-card-image .item-img {
    height: 140px;
    object-fit: cover;
}

.list-card .list-card-body p.text-gray {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 12px;
}

.list-card .p-3 {
    overflow: hidden;
}

.list-card.d-flex .list-card-body span.float-right.text-black-50 {
    display: none;
}

.rating-stars .feather-star {
    font-size: 10px;
    background: #000000;
    color: #fff;
    padding: 2px;
    text-shadow: 0px 0px 1px #d2b128;
    border-radius: 5px;
}

.rating-stars .feather-star.star_active {
    background: #f5cd25;
}

/* Login Page */
.login-page {
    background: #fff;
}

.login-page .form-control:hover,
.login-page .form-control:focus {
    color: #000;
}

.login-page label {
    margin: 0px;
    opacity: 0.8;
}

.login-page .form-group {
    margin-bottom: 30px;
}

.login-page::placeholder {
    color: rgb(255 255 255 / 65%)!important;
    opacity: 1;
}

.login-page:-ms-input-placeholder {
    color: rgb(255 255 255 / 65%)!important;
}

.login-page::-ms-input-placeholder {
    color: rgb(255 255 255 / 65%)!important;
}

/* OTP */
.otp input.form-control.form-control-lg {
    text-align: center !important;
    font-size: 44px;
    border: 1px solid #ccc !important;
    border-radius: 8px;
    margin: auto;
}

/* Verification */
.osahan-verification .form-control {
    text-align: center;
    font-size: 47px;
    border-bottom: 2px solid #ccc !important;
    border: none;
    border-radius: 0px;
    font-weight: 300;
    box-shadow: none;
}

/* Filter */
.filter .custom-control-label::before {
    right: 1rem;
    left: auto;
    margin: auto;
    top: 0;
    bottom: 0;
}

.filter .custom-control-label::after {
    left: auto;
    right: 1rem;
    margin: auto;
    top: 0;
    bottom: 0;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #e23744;
    background-color: #e23744;
}

/* Cart */
.gold-members h6,
.menu-list h6 {
    font-size: 14px;
}

.gold-members .badge,
.menu-list .badge {
    font-size: 10px;
    font-weight: 500;
    padding: 4px 6px 3px 6px;
}

.menu-list img {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.menu-list img.imgpedidos {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.count-number .btn {
    padding: 2px 6px;
    font-size: 16px;
    border-radius: 0px;
}

.count-number-input {
    width: 30px;
    text-align: center;
    border: none;
    height: 30px;
    border-radius: 0px;
    vertical-align: bottom;
}

.non_veg,
.veg {
    width: 20px;
    border: 1px solid;
    height: 20px;
    border-radius: 3px;
    font-size: 32px;
    text-align: center;
    line-height: 0px;
}

/* Most Popular */
.most_popular .trending-slider img {
    border-radius: 10px;
    padding: 0px 4px;
    margin: 8px 0 0 0;
}

/* Map Page */
.osahan-track-order-page {
    min-height: 676px;
}

.food-item {
    border: 1px solid;
    border-radius: 2px;
    display: inline-block;
    font-size: 31px;
    height: 12px;
    line-height: 5px;
    text-align: center;
    width: 12px;
    vertical-align: text-bottom;
    padding: 0 2px;
    margin: 0px 3px 2px 0px;
}

.osahan-point {
    z-index: 1;
    width: 50%;
    border-radius: 50%;
    padding-bottom: 50%;
    pointer-events: none;
    background-color: rgba(225, 48, 8, .2);
    border: 1px solid #ff3008;
}

.osahan-map iframe {
    width: 100% !important;
}

.osahan-map .toggle {
    z-index: 9;
    margin: 2px 0 0 4px;
}

.osahan-map .mapouter.position-absolute {
    width: 100%;
    height: 100vh;
}

.osahan-map .bg-primary.border-bottom {
    position: absolute;
    z-index: 9;
    width: 100%;
}

.osahan-map .fixed-bottom {
    padding: 10px 0px;
}

.osahan-map .list-card.d-flex .list-card-image .item-img {
    width: 100px;
    height: 100px;
}

.osahan-map .list-card.d-flex .list-card-image {
    width: 100px;
    height: 100px;
    min-width: 100px;
    max-width: 100px;
}

.osahan-map .member-plan {
    text-align: center;
    background: rgb(255 255 255 / 18%);
    font-size: 12px;
    padding: 7px 5px;
    margin: 0 1px;
    border-radius: 43px;
}

.gold-members .mr-2 {
    border: 1px solid;
    width: 15px;
    height: 15px;
    text-align: center;
    border-radius: 3px;
    font-size: 35px;
    line-height: 7px;
}

.index-page img {
    height: 130px;
}

/* Spinner */
.spinner {
    width: 180px;
    height: 180px;
    margin: auto;
    background-color: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
    border-radius: 100%;
    -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
    animation: sk-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
    0% {
        -webkit-transform: scale(0);
    }
    100% {
        -webkit-transform: scale(1.0);
        opacity: 0;
    }
}

@keyframes sk-scaleout {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    100% {
        -webkit-transform: scale(1.0);
        transform: scale(1.0);
        opacity: 0;
    }
}

/* Right Bounce Animation */
@-webkit-keyframes bounceRight {
    0%, 20%, 50%, 80%, 100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    40% {
        -webkit-transform: translateX(-30px);
        transform: translateX(-30px);
    }
    60% {
        -webkit-transform: translateX(-15px);
        transform: translateX(-15px);
    }
}

@-moz-keyframes bounceRight {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(-30px);
    }
    60% {
        transform: translateX(-15px);
    }
}

@keyframes bounceRight {
    0%, 20%, 50%, 80%, 100% {
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
    40% {
        -ms-transform: translateX(-30px);
        transform: translateX(-30px);
    }
    60% {
        -ms-transform: translateX(-15px);
        transform: translateX(-15px);
    }
}

.feather-arrow-right {
    -webkit-animation: bounceRight 2s infinite;
    animation: bounceRight 2s infinite;
}

.location-page .img-fluid {
    max-width: 360px;
}

/* Restaurant */
.restaurant-detailed-ratings-and-reviews hr {
    margin: 0 -16px;
}

.reviews-members-footer img {
    width: 22px;
    height: 22px;
    border: 2px solid #fff;
    box-shadow: 0px 0px 12px #ccc;
    margin: 0 -3px;
}

.total-like {
    font-size: 11px;
    padding: 2px 6px;
}

.reviews-members-body p {
    font-size: 12px;
}

.reviews-members-header h6 {
    font-size: 14px;
}

.graph-star-rating-body .progress {
    border-radius: 40px;
    height: 6px;
}

.rating-list {
    display: flex;
    margin: 6px 0;
    align-items: center;
    justify-content: space-between;
}

.rating-list-center {
    margin: auto;
    width: 70%;
}

.rating-list-left {
    width: 20%;
    font-size: 10px !important;
    font-weight: 400 !important;
}

.rating-list-right {
    width: 10%;
    text-align: right;
    font-size: 10px !important;
    font-weight: 400 !important;
}

.offer-section {
    background-color: white;
}

/* Header User */
.header-user {
    height: 32px;
}

.drop-loc {
    width: 250px;
}

/* Footer */
footer .text-muted {
    color: #bdbdbd !important;
}

.hov_footer a:hover {
    color: #fff !important;
}

.section-footer {
    background: #000 !important;
}

.section-footer .border-top {
    border-top: 1px solid rgb(222 226 230 / 9%)!important;
}

.section-footer ul li {
    line-height: 29px;
}

.section-footer ul {
    margin: 0px;
}

.footer-about img {
    height: 60px; /*35px;*/
    padding: 4px;
}

.footer-about .btn {
    padding: 0px;
    border: 1px solid #3d3d3e;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
}

.footer-about p.text-muted {
    line-height: 23px;
}

/* Orders */
.sc-osahan-logo {
    height: 30px;
}

.custom-tabs.nav-tabs .nav-item.show .nav-link,
.custom-tabs.nav-tabs .nav-link.active {
    border-bottom: 2px solid #d92662 !important;
}

.search .nav-tabs .nav-item.show .nav-link,
.search .nav-tabs .nav-link.active {
    border-bottom: 2px solid #dc375d !important;
    background-color: #dc375d !important;
    color: #ffffff !important;
}

.order_img {
    height: 88px;
}

.offers_img {
    height: 130px;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    border-bottom: 2px solid #dc375d !important;
    color: #dc375d !important;
}

.sticky_sidebar {
    position: sticky;
    top: 10px;
}

.input_search {
    border-radius: 50px 0px 0px 50px;
}

.border_search {
    border-radius: 0px 50px 50px 0px !important;
}

/* ==========================================
   ESTILOS PERSONALIZADOS
   ========================================== */

/* Estados de Local */
.local-cerrado {
    color: #dc3545;
    font-weight: bold;
}

.local-cerradopa {
    color: #007bff;
    font-weight: bold;
}

.item-deshabilitado {
    opacity: 40%;
}

/* Fuentes Personalizadas */
@font-face {
    font-family: 'insaniburger';
    src: url('../fuentes/Insanibu.ttf');
}

.titulo-barrasup {
    font-family: 'insaniburger';
    font-weight: normal !important;
}

/* Links */
a.linkneg:link, :visited, :hover, :active {
    text-decoration: none !important;
}

/* Títulos y Texto */
.titulo-modal {
    font-weight: bold;
}

.txtenfasis {
    font-weight: bold;
}

.centrado-modal {
    text-align: center;
}

.imagen-modal img {
    width: 25%;
}

#ver_negocio_cerrado {
    color: white !important;
}

.restaurant-pic-inner {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

.star {
    color: white;
}

.txt-centradov {
    margin: auto 0px auto;
}

.margen-inferior {
    margin-bottom: 1em;
}

.nombre-local {
    color: black !important;
}

.detalles-pedido {
    background: aliceblue !important;
}

.ciudadregistro {
    font-weight: bold;
    font-size: larger;
}

.div-imgreg {
    text-align: center;
    width: 100%;
}

/* Loader Page */
.loader-page {
    position: fixed;
    z-index: 25000;
    background: rgb(255, 255, 255);
    left: 0px;
    top: 0px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
}

.loader-page::before {
    content: "";
    position: absolute;
    border: 2px solid #760a7a;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    box-sizing: border-box;
    border-left: 2px solid rgba(118,10,122,0);
    border-top: 2px solid rgba(118,10,122,0);
    animation: rotarload 1s linear infinite;
    transform: rotate(0deg);
}

.loader-page::after {
    content: "";
    position: absolute;
    border: 2px solid rgba(118,10,122,0.5);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    box-sizing: border-box;
    border-left: 2px solid rgba(118,10,122,0);
    border-top: 2px solid rgba(118,10,122,0);
    animation: rotarload 1s ease-out infinite;
    transform: rotate(0deg);
}

@keyframes rotarload {
    0% { transform: rotate(0deg) }
    100% { transform: rotate(360deg) }
}

/* Menú Footer */
.osahan-menu-fotter .text-danger {
    color: #760a7a !important;
}

/* Textos */
.text-muted {
    font-size: smaller;
}

.text-detalle {
    color: #007bff !important;
}

.precio-adicional {
    font-size: inherit;
    font-weight: 700;
}

.precio-subtotal {
    font-size: large;
    font-weight: 600;
}

.text-precio {
    font-weight: bold;
    font-size: larger;
}

/* Leer Más */
.morecontent {
    display: none;
}

.morelink {
    display: block;
    cursor: pointer;
    color: #2196f3;
    font-size: smaller;
}

.morelink:hover {
    text-decoration: underline;
}

.hidden {
    display: none;
}

/* Etiquetas Flotantes */
.menu-list {
    position: relative;
}

.etiquetas_prods {
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 0px;
    font-size: 12px !important;
}

.etiquetas_items {
    width: 100%;
}

.etiquetas_items .precio-adicional {
    float: right;
}

.etiquetas_items .precio-adicional .precio-original {
    text-decoration: line-through;
    color:#b7b7b7;
}

/* Custom Controls */
.custom-control-input {
    z-index: 0 !important;
    opacity: 100 !important;
}

.retornar_menu {
    display: none;
}

/* Botón Back Bar */
.btn-back-bar {
    position: absolute;
    top: 14px;
    width: 30px;
    min-height: 24px;
}

.btn-back-bar i {
    font-size: xx-large;
    color: white;
}

/* Cart */
.cart-inactivo {
    background: #b7b7b7 !important;
}

.cart-activo {
    background: #D53A19 !important;
}

#count-items {
    position: absolute;
    margin-top: -11px;
    margin-left: -13px;
    font-size: 15px;
    font-family: 'Mulish';
    color: white !important;
}

.link-eliminaritem {
    cursor: pointer;
}

.iconocart {
    color: white !important;
}

/* Radio Oculto */
.border-custom-radio input[type="checkbox"], 
.border-custom-radio input[type="radio"] {
    margin: 1em;
}

/* Filtros */
.txt-filtro {
    padding: 0.5rem 1rem;
    border-radius: 20px;
    background: cornsilk;
}

/* Sección Amarilla */
.bg-yellow {
    background: #ffe135;
}

/* Slider */
.slick-list {
    margin: 0px;
}

.slick-slider {
    margin: 0px !important;
}

.ocultar-vacios {
    overflow: hidden;
}

/* Menú Sticky */
.sticky-menu {
    position: sticky;
    top: 0;
    background-color: #f5f5f5;
    z-index: 100;
    box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.2);
    border-radius: 0px;
}

.sticky-menu a {
    color: #fff;
}

#sticky-title {
    display: none;
    font-weight: bold;
}

.sticky-menu .cat-slider {
    display: flex !important;
    overflow-x: auto !important;
}

.sticky-menu .cat-item {
    flex: 0 0 auto !important;
}

/* Buscador Web */
.buscador-web {
    border-bottom: 1px solid lightgray;
}

.ocultar {
    display: none;
}

/* Párrafos */
.parrafo p {
    text-align: justify;
}

.parrafo ul.text-secondary {
    text-align: justify;
}

/* Logo */
.img-logo {
    height: 30px !important;
    margin: 0 auto;
}

/* Formulario de Envío */
#cenvio {
    display: none;
}

/* Video Publicitario */
.video-container {
    position: relative;
    width: 100%;
    max-width: 800px;
}

video {
    width: 100%;
    height: auto;
    display: block;
}

.ad-label {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: rgba(128, 128, 128, 0.8);
    color: white;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 4px;
}

/* Resumen Pedido */
.resumen-pedido p {
    margin-bottom: 5px;
}

/* Fotos de Productos */
.rounded-pill {
    border-radius: 0rem !important;
}

/* Formulario Incremental */
.form-step {
    display: none;
}

.form-step.active {
    display: block;
    animation: slideIn 0.5s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.step-indicator {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.step {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #e9ecef;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 15px;
    font-weight: bold;
    position: relative;
}

.step.active {
    background-color: #007bff;
    color: white;
}

.step.completed {
    background-color: #28a745;
    color: white;
}

.step-line {
    position: absolute;
    width: 40px;
    height: 3px;
    background-color: #e9ecef;
    top: 15px;
    left: 100%;
}

.step.active .step-line,
.step.completed .step-line {
    background-color: #28a745;
}

.btn-navigation {
    transition: all 0.3s ease;
}

.btn-navigation:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

#form-container {
    padding: 20px 0;
}

.form-control:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.progress {
    height: 20px;
    border-radius: 4px;
    margin-bottom: 25px;
    background-color: #e9ecef;
    overflow: hidden;
}

.progress-bar {
    background-color: #007bff;
    transition: width 0.6s ease;
}

.fade-in {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Logos Bancos */
.logos_bancos {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 5px;
}

.simbcopy {
    border-radius: none;
}

/* ==========================================
   EFECTOS TÁCTILES
   ========================================== */

/* Efectos para Menú */
.menu-btn {
    transition: all 0.2s ease-in-out;
    border-radius: 0px;
    padding: 8px;
    position: relative;
    overflow: hidden;
}

.menu-btn:active {
    transform: scale(0.95);
    background-color: rgba(118, 10, 122, 0.2) !important;
}

.menu-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(118, 10, 122, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.menu-btn:active::before {
    width: 300px;
    height: 300px;
}

.menu-btn .icon-container {
    transition: all 0.2s ease-in-out;
}

.menu-btn:active .icon-container {
    transform: scale(1.2);
}

.menu-btn.text-danger:active {
    background-color: rgba(220, 53, 69, 0.2) !important;
}

.menu-btn.text-danger::before {
    background: rgba(220, 53, 69, 0.3);
}

/* Efectos para menus tipo imagen*/
.img-btn:active {
    transform: scale(0.97);
    background-color: rgba(118, 10, 122, 0.2) !important;
}
.img-btn:active .menu-list {
    background-color: rgba(118, 10, 122, 0.2) !important;
}

/* Efectos para Negocios */
.linkneg {
    display: block;
    transition: box-shadow 0.15s ease-in-out;
    text-decoration: none;
}

.linkneg .list-card {
    transition: box-shadow 0.15s ease-in-out;
}

.linkneg:active .list-card {
    box-shadow: 0 6px 20px rgba(118, 10, 122, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Efectos para Catálogo */
.menu-item-touch {
    transition: box-shadow 0.15s ease-in-out;
    border-radius: 8px;
    cursor: pointer;
}

.menu-item-touch:active {
    box-shadow: 0 6px 20px rgba(118, 10, 122, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
}

/*agregado por el menu*/
.cat-item {
  min-width: 120px; /* o el tamaño que quieras */
  flex: 0 0 auto;   /* evita que se encoja */
}
.slick-slide {
  width: auto !important;  /* deja que el contenido/ min-width decida */
}
.slick-track {
  width: auto !important;
  display: flex !important; /* importante: para que alinee slides */
}

a.link_nored{
    color: inherit !important;
}

/*CONTAINER DE NOTIFICACIONES*/
.notificaciones .inner_notif{
    background: #e9ecef;
    border-radius: 5px;
}
.notificaciones a{
    text-decoration: none;
    color:black;
    display: block;
    transition: box-shadow 0.15s ease-in-out;
}
.notificaciones .inner_notif h6{
    font-weight: 700;
}
.notificaciones .inner_notif img{
    max-width: 100%;
}
.notificaciones a:link, a:visited, a:hover, a:active {
    text-decoration: none !important;
}
.notificaciones a {
    transition: box-shadow 0.15s ease-in-out;
}
.notificaciones a:active {
    box-shadow: 0 6px 20px rgba(118, 10, 122, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}
.notificaciones span{
    width: 100%;
    display: block;
    text-align: right;
    color: #760a7a;
    font-weight: bold;
    font-size:smaller;
    text-transform: uppercase;
}
/*PONER LOADER AL RECALCULAR EL DELIVERY Y DESACTIVAR EL BOTON*/
#items-desglosado-wrap {
    position: relative;
}

#overlay-recalculando {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.75);
    z-index: 20;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

#overlay-recalculando .overlay-box {
    text-align: center;
    padding: 14px 18px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
    font-size: 14px;
}

#overlay-recalculando .overlay-spinner {
    width: 30px;
    height: 30px;
    margin: 0 auto 8px auto;
    border: 4px solid #dddddd;
    border-top: 4px solid #444444;
    border-radius: 50%;
    animation: giroOverlay 0.9s linear infinite;
}

@keyframes giroOverlay {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#btnenviar:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
/*FUENTE PARA EL TEXTO MENU DEL DIA*/
.menu_dia{
    font-family: "Times New Roman", Times, serif;
    font-style: italic;
    width: 100%;
    text-align: center;
    background: #e9ecef;
}
/*IMGS SIDEBAR DERECHO*/
.pub_derecho{
    width: 100%;
}
/*IMAGEN ANCHA CENTRADA*/
.centrar-imagen{
    display: flex;
    justify-content: center; /* Centra horizontalmente */
    align-items: center;     /* Centra verticalmente */
    overflow: hidden;
    /*height: 100vh;*/
}