/*css/main.css*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Damion&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap'); 

:root {
    box-sizing: border-box;
    --clr001: #ff0005;
    --clr002: #607D8B;
    --clr003: #9E9E9E;
    --clr004: #777;
    --clr005: #172B85;
    --none_shadow: none;
    --filter_w: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(0%) hue-rotate(169deg) brightness(114%) contrast(100%);
    --filter_m: brightness(0) saturate(100%) invert(74%) sepia(73%) saturate(3453%) hue-rotate(352deg) brightness(102%) contrast(89%);
}

html {
    scroll-padding-top: 100px;
    /* altura de la navbar fija */
}

* {
    -webkit-transition: 300ms;
    -moz-transition: 300ms;
    -o-transition: 300ms;
    transition: 300ms;
}

body {
    font-family: "Montserrat", sans-serif;
    position: relative;
    font-weight: 500;
    background: #fff;
    color: #333;
    font-size: calc(1rem + 0.2vw);
    line-height: 1.2;
    /*overflow-x: hidden;*/
}

body section {
    padding: 10vw 0 4vw;
    position: relative;
    min-height: 50vh;
    z-index: 0;
}

a {
    color: #000;
    text-decoration: none;
}
a:hover {
    outline: none;
    outline-offset: 0;
    text-decoration: none;
    color: var(--clr001);
}
a:focus {
    color: #000;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Cormorant", serif;
    font-weight: 700;
    line-height: 1.1;
}

img{width:100%;pointer-events:none;}
.center{text-align:center;}
.right_{text-align:right;}
.justify{text-align:justify;}
.justifyc{text-align:justify;text-align-last:center;}
.no_drop{cursor:no-drop;}
.imgc{display:block;margin-right:auto;margin-left:auto;text-align:center;}
.upp_{text-transform:uppercase;}

.clr_00{color:#fff;}
.clr_0b{color:#333;}
.clr_01{color:var(--clr001);}
.clr_02{color:var(--clr002);}
.clr_03{color:var(--clr003);}

.bg_00{background:#FFF;}
.bg_01{background:var(--clr001);}
.bg_02{background:var(--clr002);}
.bg_03{background:var(--clr003);}

.fw_100{font-weight:100;}
.fw_200{font-weight:200;}
.fw_300{font-weight:300;}
.fw_400{font-weight:400;}
.fw_500{font-weight:500;}
.fw_600{font-weight:600;}
.fw_700{font-weight:700;}
.fw_800{font-weight:800;}
.fw_900{font-weight:900;}

.fs_00{font-size:calc(0.2rem + 1vw);}
.fs_01_0{font-size:calc(0.3rem + 1vw);}
.fs_01_1{font-size:calc(1.1rem + 1.1vw);}
.fs_01_2{font-size:calc(1.2rem + 1.2vw);}
.fs_01_3{font-size:calc(1.3rem + 1.3vw);}
.fs_01{font-size:calc(1.5rem + 1.5vw);}
.fs_02{font-size:calc(2.5rem + 2vw);}
.fs_03_{font-size:calc(3rem + 3vw);}
.fs_03{font-size:calc(3.5rem + 3vw);}
.fs_04{font-size:calc(4.5rem + 4vw);}
.fs_05{font-size:calc(5.5rem + 5vw);}

.fs_80 {font-size: 80%;}
.fs_90 {font-size: 90%;}

.padd_01{padding:1vw;}
.padd_02{padding:2vw;}
.padd_03{padding:3vw;}
.padd_04{padding:4vw;}
.padd_05{padding:5vw;}
.padd_06{padding:6vw;}

.padd_x_01{padding:0 1vw;}
.padd_x_02{padding:0 2vw;}
.padd_x_03{padding:0 3vw;}
.padd_x_04{padding:0 4vw;}
.padd_x_05{padding:0 5vw;}
.padd_x_06{padding:0 6vw;}
.padd_x_07{padding:0 7vw;}
.padd_x_08{padding:0 8vw;}
.padd_x_09{padding:0 9vw;}
.padd_x_10{padding:0 10vw;}
.padd_x_11{padding:0 11vw;}

.mb_01{margin:0 0 1vw;}
.mb_02{margin:0 0 2vw;}
.mb_03{margin:0 0 3vw;}
.mb_04{margin:0 0 4vw;}
.mb_05{margin:0 0 5vw;}
.mb_06{margin:0 0 6vw;}

.my_01{margin:1vw 0 0;}
.my_02{margin:2vw 0 0;}
.my_03{margin:3vw 0 0;}
.my_04{margin:4vw 0 0;}
.my_05{margin:5vw 0 0;}
.my_06{margin:6vw 0 0;}

.mt_01{margin:1vw 0 0;}
.mt_02{margin:2vw 0 0;}
.mt_03{margin:3vw 0 0;}
.mt_04{margin:4vw 0 0;}
.mt_05{margin:5vw 0 0;}
.mt_06{margin:6vw 0 0;}

.marg_00{margin:0;}
.padd_00{padding:0!important;}
.no_marg{margin-left:0;margin-right:0;}
.no_padd{padding-left:0;padding-right:0;}

.dly1{animation-delay:0.2s;}
.dly2{animation-delay:0.4s;}
.dly3{animation-delay:0.6s;}
.dly4{animation-delay:0.8s;}
.dly5{animation-delay:1.0s;}
.dly6{animation-delay:1.2s;}
.dly7{animation-delay:1.4s;}
.dly8{animation-delay:1.6s;}
.dly9{animation-delay:1.8s;}
.dly10{animation-delay:2.0s;}
.dly11{animation-delay:2.2s;}
.dly12{animation-delay:2.4s;}

.cont_10{width:10%;padding:0 15px;}
.cont_20{width:20%;padding:0 15px;}
.cont_30{width:30%;padding:0 15px;}
.cont_33{width:33%;padding:0 15px;}
.cont_40{width:40%;padding:0 15px;}
.cont_50{width:50%;padding:0 15px;}
.cont_60{width:60%;padding:0 15px;}
.cont_70{width:70%;padding:0 15px;}
.cont_80{width:80%;padding:0 15px;}
.cont_90{width:90%;padding:0 15px;}

.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
    outline: 0px auto transparent;
    outline-offset: -2px;
}

button.active.focus, button.active:focus, button.focus, button:active.focus, button:active:focus, button:focus {
    outline: 0px auto transparent;
    outline-offset: -2px;
}

a.active.focus, a.active:focus, a.focus, a:active.focus, a:active:focus, a:focus {
    outline: 0px auto transparent;
    outline-offset: -2px;
}

/* ============================================= */
/* QUITAR BORDES A BOTONES Y ENLACES */
/* ============================================= */

/* Botones y inputs */
button,
input[type="button"],
input[type="submit"],
.btn {
    box-shadow: none !important;
}

/* Enlaces <a> (especialmente los que parecen botones) */
a,
a.btn,
a.button,
a[href] {
    text-decoration: none !important;
    box-shadow: none !important;
}
/* Estados hover, focus y active */
a:hover,
a:focus,
a:active,
button:hover,
button:focus,
button:active,
.btn:hover,
.btn:focus,
.btn:active,
.btn:focus-visible {
    box-shadow: none !important;
    outline: none !important;
}

/* Evitar borde en focus por defecto de algunos navegadores */
a:focus-visible,
button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

hr {
    margin: 20px auto;
    border: none; /* ← quita el estilo nativo */
    height: 2.5px; /* ← da altura real */
    background: #efefef;
    width: 100%;
    position: relative;
    z-index: 1;
    opacity: 1;
    overflow: visible;
}
hr::after {
    content: "";
    position: absolute;
    transform: translate(0%, -50%);
    /*background: var(--clr001);*/
    background: #777;
    z-index: 20;
    width: 30%;
    height: 5px;
    top: 50%;
    left: 0;
    border-radius: 1em;
}

.btn {
    line-height: 1;
}

.video_yt {
    width: 100%;
    box-shadow: 0 23px 15px -25px #000;
    margin: 10px auto;
    position: relative;
    border-radius: 1em;
}

.video_yt .ratio>* {
    border-radius: 1em
}

.align_c {
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.w90 {
    width: 90%;
    margin: 0 auto;
}

.w70 {
    width: 70%;
}

.w80_ {
    width: 80%;
    padding: 0 15px;
    margin: 0 auto;
}

.w50 {
    width: 50%;
}

.carousel-control {
    font-size: 10px;
    opacity: 0;
}

.carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .fa-angle-left, .carousel-control .fa-angle-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.carousel-control.left {
    background-image: -webkit-linear-gradient(left,color-stop(transparent 0),color-stop(rgba(0,0,0,0.0001) 100%));
    background-image: linear-gradient(to right,transparent 0,rgba(0,0,0,0.0001) 100%);
}

.carousel-control.right {
    background-image: -webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(transparent 100%));
    background-image: linear-gradient(to right,rgba(0,0,0,0.0001) 0,transparent 100%);
}

.carousel-indicators .active {
    background-color: #4FBDBA !important;
    width: 50px!important;
}

.carousel-indicators .active {
    background-color: #fff !important;
}

.btn_00 {
    background: var(--clr001);
    color: #fff;
    border-radius: 5px;
    border: none;
    padding: 10px 20px;
    font-size: 22px;
    margin: 10px auto;
    font-weight: 300;
    letter-spacing: 0;
}

.btn_00:focus, .btn_00:hover {
    background: #232323;
    color: #fff;
}

.btn_01 {
    background: #000;
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5vw;
    margin: 0 auto;
    font-size: calc(0vw + 1vw);
}

.btn_01:focus, .btn_01:hover {
    background: var(--clr001);
    color: #fff;
}

.btn_02 {
    background: var(--clr001);
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5vw;
    margin: 0 auto;
}
.btn_02:focus, .btn_02:hover {
    background: #000;
    color: #fff;
}

.btn_04 {
    background: var(--clr005);
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5vw;
    margin: 0 auto;
    font-size: calc(0vw + 1vw);
}
.btn_04:focus, .btn_04:hover {
    background: #516adf;
    color: #fff;
}

.poss {
    position: relative;
}

.hide_ {
    display: initial!important;
}

.show_ {
    display: none!important;
}

.cont_w100 {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    gap: 0.5rem;
}

#gral {
    padding: 5em 0 1em;
}

.video_event {
    width: 50%;
    margin: 25px auto 10px;
    position: relative;
    float: right;
    padding: 10px;
}

.center_y_flex {
    justify-content: center;
}

#iframe_flipbook {
    /*aspect-ratio: 16 / 9;*/
    width: 100%;
    height: 100vh;
    overflow: hidden;
    margin: 0 0 -6px;
    border-radius: 0em;
}

#iframe_flipbook_16_9 {
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
    margin: 0 0 -6px;
    border-radius: 0em;
}

#iframe_flipbook_1_1 {
    aspect-ratio: 1 / 1;
    width: 100%;
    overflow: hidden;
    margin: 0 0 -6px;
    border-radius: 1em;
}

.iframe_model {
    height: 80vh;
    margin: 0 0 -7px;
}

.doc_ivt {
    height: 100vh;
    margin: 0 0 -10px;
}

.share_wa {
    position: absolute;
    right: 8rem;
    top: 10px;
    width: fit-content;
    margin: 0 auto;
    background: #25d366;
    color: #fff;
    border: none;
    padding: 5px 15px;
    border-radius: 2em;
    box-shadow: 0 0 5px #000;
    font-size: 85%;
}

.share_wa:hover {
    background: #128c7e;
    color: #fff;
}

/*OWL NEW*/
.owl-carousel {
    width: 100%;
    margin: 0 auto;
}

.owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    margin: 0 auto;
}

.owl-nav .owl-prev, .owl-nav .owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
}

.owl-nav .owl-prev {
    left: 10px;
}

.owl-nav .owl-next {
    right: 10px;
}

/* CUSTOM SCROLL BAR */
/* width */
::-webkit-scrollbar {
    width: 15px;
    height: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #ddd;
    border-radius: 0;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--clr001);
    border-radius: 10px;
}

::selection {
    color: var(--clr003);
    background: transparent;
    text-shadow: 0 0 5px rgb(255 255 255 / 50%);
}

/************ MODALS STYLE ************/
.modal-open .modal {
    backdrop-filter: blur(5px);
}

body.modal-open {
    padding-right: 0 !important;
}

/*EVITA QUE SALTE LA PAGINA AL ABRIR MODAL overflow: auto!important;*/
.navbar {
    padding-right: 0 !important;
    /* Evita que el padding dinamico afecte la navbar */
}

.modal-dialog {
    width: 100%;
    margin: 0;
}

.modal-content {
    border: 0px solid #FFF;
    border-radius: 0;
    -webkit-box-shadow: 0 0 0 #FFF;
    box-shadow: 0 0 0 #FFF;
    background-color: transparent;
    width: 100vw;
}

.modal-header {
    padding: 15px;
    border-bottom: 0px solid #fff;
    background: var(--clr001);
    text-align: center;
    justify-content: center;
}

.modal-header h4 {
    font-size: 2.5rem;
    margin: 0;
}

.modal-title {
    font-size: 44px;
    letter-spacing: 0px;
    color: #fff;
}

.close {
    top: 5px;
    right: 0px;
    left: unset;
    opacity: 1;
    position: absolute;
    font-size: 3rem;
    font-weight: 400;
    background: var(--clr001);
    color: #fff;
    padding: 0 0;
    width: 50px;
    height: 45px;
    line-height: 1;
    border-radius: 1em 0 0 1em;
    text-align: center;
    border: none;
}

.close:hover, .close:focus {
    background: var(--hvr_color);
    color: #fff;
    opacity: 1;
}

.modal-dialog .btn_00 {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 10;
    font-size: 1rem;
    padding: 5px 10px;
    margin: 0;
}

/*********** ANIMATIONS ****************/
.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

.fadeIn {
    animation-name: fadeIn;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/*********** PANEL COLLAPSE ****************/
.accordion-button::after {
    content: '';
}

.accordion-button .icon {
    transition: transform 0.3s ease;
}

.accordion-button.collapsed .icon {
    transform: rotate(0deg);
}

.accordion-button:not(.collapsed) .icon {
    transform: rotate(180deg);
}

/*CUSTOM COLLAPSE*/
.accordion-button:focus {
    box-shadow: var(--none_shadow);
}

.accordion-button {
    font-size: 1.5rem;
    font-weight: 700;
    background: #232323;
    color: #fff;
}

.accordion-button::after {
    filter: brightness(0) saturate(100%) invert(100%) sepia(8%) saturate(0%) hue-rotate(157deg) brightness(107%) contrast(107%);
}

.accordion-button:hover {
    background: var(--clr001);
    color: #fff;
}

.accordion-button:not(.collapsed) {
    color: #fff;
    background: var(--clr001);
    box-shadow: inset 0 calc(-1* var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-body {
    max-height: 200px;
    overflow: auto;
}

/*********** GALERIA LIGHTBOX ****************/
.lb_ {
    background: #fff;
    position: relative;
    width: 100%;
    margin: 0 0 10px;
}

.lb__ {
    background: #fff;
    position: relative;
    width: 100%;
    margin: 0 0 10px;
}

.tz-gallery .lightbox img {
    width: 100%;
    border-radius: 0;
    position: relative;
}

.tz-gallery .lightbox:hover img {
    opacity: 0.3;
    -webkit-filter: blur(5px);
    filter: blur(3px);
}

.tz-gallery .lightbox:before {
    position: absolute;
    top: 45%;
    left: 0;
    right: 0;
    margin: -15px 0 0;
    opacity: 0;
    color: var(--clr001);
    font-size: 50px;
    font-family: fontawesome;
    content: "\f002";
    pointer-events: none;
    z-index: 1;
    transition: 0.4s;
    text-align: center;
}

.tz-gallery .lightbox:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: transparent;
    content: '';
    transition: 0.4s;
}

.tz-gallery .lightbox:hover:after, .tz-gallery .lightbox:hover:before {
    opacity: 1;
}

.baguetteBox-button {
    background-color: transparent !important;
}

#baguetteBox-overlay .full-image img {
    box-shadow: none;
    background: transparent;
}

.gall_img img {
    border-radius: 1em !important;
}

.small_gall {
    display: inline-grid;
    position: relative;
    padding: 10px;
    width: 6em;
}

/*********** FIN GALERIA LIGHTBOX ****************/
table .tz-gallery .lightbox:before {
    position: relative;
    display: none;
}

table .tz-gallery .lightbox:after {
    position: unset;
}

#nolupa .tz-gallery .lightbox:before {
    position: relative;
    display: none;
}

#nolupa .tz-gallery .lightbox:after {
    position: unset;
}

/***********BOOTSTRAP 5.3****************/
.form-control:focus, .form-select:focus {
    border-color: var(--clr003);
    box-shadow: none;
}

#gral_pills .nav-pills .nav-link {
    color: var(--light_clr);
    background-color: var(--gray_color);
    border: 4px solid transparent;
    margin: 0 5px;
    font-weight: 500;
}

#gral_pills .nav-pills .nav-link.active,#oem_pills .nav-pills .show>.nav-link {
    color: var(--clr001);
    background-color: transparent;
    border: 4px solid var(--clr001);
}

/************ NUEVO FORM GOOGLE ***********/
.input_hidden {
    display: none;
}

#loading_oculto {
    z-index: 1050;
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    visibility: hidden;
    transform: translate(0, -50%);
    background: rgb(0 0 0 / 50%);
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
}

#loading_oculto img {
    filter: var(--filter_w);
    width: 120px;
    margin: 0 auto;
}

/************ FIN NUEVO FORM GOOGLE ***********/
/*====================
======Header CSS=====
======================*/
#navigation .navbar {
    border-radius: 0;
    border-bottom: 0;
    padding: 10px 0vw;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.navbar-expand-lg .navbar-nav {
    gap: 1.2rem;
}

.navbar_custom {
    box-shadow: 0 0 5px rgb(0 0 0 / 0%);
    background: #fff;
    transition: all 0.3s ease-in-out;
}

.navbar_custom.scrolled {
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    background: #fff;
    /* Color oscuro, puedes cambiarlo */
}

.logo {
    width: 120px;
    padding: 10px 0;
}
.logo.scrolled {
    width: 100px;
    padding: 0;
}

.dropdown-item {
    color: #fff;
}

.dropdown .dropdown-menu {
    display: none;
    background: #fcfcfc;
}

.dropdown:hover>.dropdown-menu, .dropend:hover>.dropdown-menu {
    display: block;
    right: 0;
    margin: 0;
    padding: 0;
    border: none;
    /*border-radius: 0 0 10px 10px;*/
    box-shadow: 0 5px 15px -5px rgb(0 0 0 / 30%);
    min-width: 240px;
}

@media screen and (min-width: 769px) {
    .dropend:hover>.dropdown-menu {
        position: absolute;
        top: 0;
        left: 100%;
    }

    .dropend .dropdown-toggle {
        margin-left: .5em;
    }
}

#navigation .dropend .dropdown-toggle::after {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 10px;
}

#navigation .navbar-brand {
    padding: 0;
}

#navigation .nav-link {
    background: transparent;
    color: #333;
    font-weight: 700;
    text-shadow: -2px 2px 0px rgb(0 0 0 / 15%);
}

#navigation .nav-link:hover {
    background: transparent;
    color: var(--clr001);
}

#navigation .nav-link.active {
    background: black;
    color: white;
    border-radius: 5em;
    padding-right: 1rem;
    padding-left: 1rem;
}

#navigation .nav_link {
    border-radius: 5vw;
    background: var(--clr003);
    color: #333;
    text-align: center;
    padding: 0.5rem 1rem;
    display: block;
}

#navigation .nav_link:hover {
    background: var(--clr001);
    color: #fff;
}

#navigation .nav_link.active {
    background: rgb(0 0 0 / 0%);
    color: var(--clr003);
    position: relative;
}

#navigation .dropdown-menu li .nav-link {
    text-transform: uppercase;
    background: transparent;
    color: #232323;
    padding: 5px 25px 5px 10px;
    margin: 0;
    display: flex;
    align-items: center;
    white-space: break-spaces;
}

#navigation .dropdown-menu li .nav-link span {
    display: block;
    font-size: 80%;
}

#navigation .dropdown-menu li .nav-link:hover {
    background: transparent;
    color: var(--clr001);
}

#navigation .dropdown-item {
    text-transform: uppercase;
    color: #232323;
    padding: 5px 10px;
    white-space: break-spaces;
    display: flex;
    align-items: center;
    line-height: 1.1;
}

#navigation .dropdown-menu li .nav-link img, #navigation .dropdown-item img {
    width: 30px;
    height: 30px;
    margin: 0 5px 0 0;
}

#navigation .dropdown-menu li .nav-link:hover .clr_hvr, #navigation .dropdown-item:hover .clr_hvr {
    filter: var(--filter_m)
}

#navigation .dropdown-item:hover {
    color: var(--clr001);
}

#navigation .navbar-toggler {
    margin: 0 10px;
    background: rgb(0 0 0 / 100%);
    color: #fff;
}

#navigation .navbar-toggler:focus {
    box-shadow: none;
    background: rgb(0 0 0 / 50%);
}

#navigation .navbar-toggler-icon {
    background-image: url(../img/burg.svg);
}

#navigation .dropdown-item.active, #navigation .dropdown-item:active {
    color: var(--clr001);
    text-decoration: none;
    background-color: transparent;
}

#navigation .navbar-expand-lg .navbar_menu {
    display: flex!important;
    flex-basis: auto;
    flex-wrap: wrap;
    justify-content: center;
    width: fit-content;
}
#navigation .navbar-expand-lg .navbar_menu.scrolled {
    font-size: 85%;
}

#navigation .navbar-brand {margin: 0 !important;}

.store_icons {
    list-style: none;
    display: flex;
    gap: 1rem;
    padding: 0;
}

.search_head {
    width: 70%;
    margin: 5px 0;
}

.custom_menu {
    width: 100%;
    justify-content: space-evenly;
}

.cont_btn_store {
    font-size: 55%;
    padding: 0.5rem;
    background: #ddd;
    border-radius: 0.3rem;
    display: flex;
    gap: 0.5rem;
    flex-direction: column;
    width: fit-content;
    font-weight: 700;
}
.cont_btn_store.scrolled {
    align-items: center;
}

#navigation .form-control {
    background: #efefef;
    border: transparent;
    border-radius: 2em 0 0 2em;
    font-size: 80%;
}

#navigation .btn_01 {
    border-radius: 0.3rem;
    padding: 0.5rem;
    
}

#navigation a {color: #000;}
#navigation a:hover {color: var(--clr001);}

.cont_store_data {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
}
.cont_store_data.scrolled {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 1rem;
}

.btn_search {
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0 2em 2em 0;
    background: #efefef;
}
.btn_search:hover {
    background: rgb(0 0 0 / 10%);
}

/** FOOTER SECTION **/
footer {
    background: #181818;
    padding: 20px 0;
    color: #fff;
    position: relative;
}

footer p {
    margin: 0;
}

footer a {
    color: #fff;
}

footer a:hover, footer a:focus {
    color: var(--clr001);
}

#ftr_btm {
    box-shadow: unset;
    position: relative;
    z-index: 1029;
    min-height: unset;
    padding: 2vw 0;
    background: #000;
    color: #fff;
}

#ftr_btm ul {
    list-style: none;
    font-weight: 400;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 0 2vw !important;
}
#ftr_btm ul li {
    margin: 0 0 0.5rem;
}

#btm_last {
    padding: 0.5vw 0;
    text-align: center;
    background: #000;
    color: #fff;
    font-size: 1rem;
    min-height: unset;
}

#btm_last p {
    margin: 0;
}

#btm_last a {
    color: #fff;
}

#btm_last a:hover, #btm_last a:focus {
    color: var(--clr001);
    ; }

.lang_cont {
    position: fixed;
    z-index: 1050;
    bottom: 1rem;
    left: 1rem;
    width: 2.5em;
    padding: 10px;
    background: rgb(0 0 0 / 10%);
    backdrop-filter: blur(5px);
    border-radius: 5px;
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
}

.lang_cont a {
    position: relative;
    text-decoration: none;
}

.lang_cont a::before {
    content: attr(data-title);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(115%, -50%);
    font-size: 14px;
    color: #fff;
    background: rgb(0 0 0 / 90%);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(5px);
    padding: 10px;
    width: fit-content;
    border-radius: 5px;
}

.lang_cont a:hover::before {
    opacity: 1;
}

.btn_ftr {
    background: #fff;
    color: #000;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 2em;
    width: 100%;
}
.btn_ftr:hover {
    background: var(--clr001);
    color: #fff;
}

#ftr_btm h2 {
    font-family: "Montserrat", sans-serif;
    margin: 0 0 1.5rem !important;
    font-size: calc(1rem + 0.5vw);
}
#ftr_btm a {
    color: #fff;
}
#ftr_btm a:hover {
    color: var(--clr001);
}
    
#ftr_btm hr {
    margin: 20px auto;
    border: none; /* ← quita el estilo nativo */
    height: 1px; /* ← da altura real */
    background: #fff;
    width: 100%;
    position: relative;
    z-index: 1;
    opacity: 1;
}
#ftr_btm hr::after {
    content: "";
    position: absolute;
    transform: translate(0%, -50%);
    background: var(--clr001);
    z-index: 20;
    width: 20%;
    height: 0;
    top: 50%;
    left: 0;
    border-radius: 1em;
}

.logo_ftr {
    padding: 0 5vw 0 0;
}

#ftr_btm .social_ftr {
    display: flex;
    height: unset !important;
    justify-content: flex-start;
    font-size: calc(1rem + 1vw);
    padding: 0 !important;
    flex-direction: row;
    gap: 1rem;
}

.ttl_mons {font-family: "Montserrat", sans-serif;}
.ttl_dam {font-family: "Damion", cursive;}

#ftr_btm .cards_ftr {
    display: flex;
    flex-direction: row !important;
    gap: 0.5rem;
    height: unset !important;
    padding: 0 !important;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#ftr_btm .cards_ftr li {margin: 0 !important;}
#ftr_btm .cards_ftr li img {width: 65px;}
#ftr_btm .img_last_card {width: 95px !important;}

.ttl_cards {font-size: calc(1rem + 0.3vw);}

.btn_trans {
    background: transparent;
    border: 2px solid;
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 2em;
    width: 100%;
    margin: 1rem 0;
}
.btn_trans:hover {
    background: var(--clr001);
    border: 2px solid var(--clr001);
    color: #fff;
}

.wapp_ftr {
    position: absolute;
    width: 100px;
    top: -70px;
    right: 1rem;
    filter: grayscale(0);
    transform: scale(1);
}
.wapp_ftr:hover {
    filter: grayscale(1);
    transform: scale(1.1);
}
.wapp_ftr .wapp_ftr_msg {
    position: absolute;
    top: 25px;
    left: -50%;
    background: rgb(0 0 0 / 45%);
    padding: 10px 40px 10px 20px;
    min-width: 240px;
    z-index: -1;
    border-radius: 5em;
    font-size: calc(0.6rem + 0.2vw);
    text-align: left;
    transform: translateX(-50%);
}
.wapp_ftr:hover .wapp_ftr_msg {
    background: rgb(0 0 0 / 80%);
}

/** FOOTER SECTION **/

/* NUEVO INDEX*/
#idx_bloq_01 {
    min-height: unset;
    padding: 125px 0 0;
}

#idx_bloq_01 .carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border-top: 0px solid transparent;
    border-bottom: 0px solid transparent;
}
#idx_bloq_01 .carousel-indicators .active {
    background-color: #fff !important;
    width: 10px!important;
}

.caption_idx {
    display: flex;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ttl_idx_01 {
    font-size: calc(1rem + 4vw);
    font-style: italic;
}
.ttl_idx_02 {
    font-size: calc(1rem + 6vw);
    line-height: 0;
    margin: 0 0 4vw;
    font-weight: 100;
    position: relative;
    top: -10px;
    font-style: italic;
}
.ttl_idx_03 {
    font-size: calc(1rem + 1.8vw);
    font-style: italic;
}

#idx_bloq_02 {
    min-height: unset;
}
#idx_bloq_03 {
    padding: 5vw 0 4vw;
}

.ttl_rebajas {
    background: var(--clr001);
    width: fit-content;
    padding: 0.2rem 2rem;
    border-radius: 1em;
    color: #fff;
}

.img_b02 {
    aspect-ratio: 19 / 9;
    object-fit: cover;
    object-position: center;
}

.btn_poss_01 {
    position: absolute;
    bottom: 1vw;
    left: 2vw;
}
.btn_poss_02 {
    position: absolute;
    bottom: 1vw;
    right: 2vw;
}

.btn_wa_idx {
    background: #25d366;
    color: #000;
    border: none;
    border-radius: 3em;
    padding: 0.5rem 1rem;
    font-size: calc(0.5rem + 0.3vw);
}
.btn_wa_idx:hover {
    background: #128c7e;
    color: #fff;
}

#idx_bloq_04 {
    padding: 0;
}

.cont_card_prod {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding: 2vw 0;
}
.card_prod {
    position: relative;
    max-width: clamp(220px, 30vw, 310px);
    width: 100%;
    max-height: 450px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 0.3rem;
    overflow: hidden;
    text-align: left;
    border: 1px solid #efefef;
    padding: 0 10px;
}
.card_prod h3 {
    font-family: "Montserrat", sans-serif;
}

.card_prod .prod_img {
    aspect-ratio: 1;
    object-fit: contain;
    transform: scale(1);
    transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.card_prod:hover .prod_img {
    transform: scale(0.9);
}
.card_prod:hover {
    box-shadow: 0 0 15px rgb(0 0 0 / 15%);
}

.tag_sku {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 90%;
    padding: 4px 8px;
    z-index: 2;
}
.tag_disc {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #e74c3c;
    color: white;
    font-weight: 700;
    padding: 6px 10px;
    border-radius: 4px;
    z-index: 2;
}

.cont_data_prod {
    background: #fff;
    padding: 0 5px;
    margin-top: auto;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.prod_ttl_fav {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0;
}

.prod_price_add {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0;
    align-items: center;
}
.prod_price_add h3 {
    color: #000;
    font-size: calc(1rem + 0.2vw);
}
.prod_price_add .price_discount {color: var(--clr001);margin: 5px 0 0 !important;}
.prod_price_add .price_x {
    font-weight: 400;
    color: #000;
    text-decoration: line-through;
}

.card_coll {
    position: relative;
    display: flex;
    flex-direction: column;
    aspect-ratio: 2.5/2;
    background-position: 50% 0%;
    background-size: 200%;
    z-index: 0;
    transition: all 300ms;
}
.card_coll::before {
    background: #000;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.2;
    transition: all 300ms;
}
.card_coll:hover::before {
    opacity: 0.8;
}
.card_coll h3 {
    font-family: "Damion", cursive;
    font-size: calc(1rem + 6vw);
    font-weight: 100;
    transform: translateY(0px);
}
.card_coll:hover h3 {
    transform: translateY(-30px);
}

.card_coll .btn_01 {
    background: var(--clr001);
    opacity: 0;
    transform: translateY(-5em);
}
.card_coll .btn_01:hover {
    background: var(--clr003);
}
.card_coll:hover .btn_01 {
    opacity: 1;
    transform: translateY(-2em);
}

.bg_card_coll_01 {background-image: url(../img/idx_04.webp);}
.bg_card_coll_02 {background-image: url(../img/idx_05.webp);}
.bg_card_coll_03 {background-image: url(../img/idx_06.webp);}
.bg_card_coll_04 {background-image: url(../img/idx_07.webp);}

.cont_data_card_coll {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

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

.card_blog_idx_main {
    position: relative;
    aspect-ratio: 10/8;
}
.card_blog_idx_main img {
    object-fit: cover;
    height: 100%;
    object-position: center;
}
.data_blog_idx_main {
    position: absolute;
    bottom: 0;
    padding: 1em 7vw 1em 1em;
    color: #fff;
    backdrop-filter: blur(1rem);
    width: 100%;
    text-shadow: 0 0 5px rgb(0 0 0 / 50%);
}
.ttl_blog_idx_main {
    font-size: calc(1rem + 1vw);
    font-weight: 700;
}
.card_blog_idx {
    padding: 1em;
    background: #f8f8f8;
    font-size: 65%;
    border-radius: 0.3rem;
    min-height: 48%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.card_blog_idx img {
    border-radius: 0.3rem;
    margin: 0 0 1rem;
}
.card_blog_idx .fs_01 {
    font-size: calc(0.8rem + 0.1vw);
}

/* FIN NUEVO INDEX*/

/*  LOG IN */

#login_sec .cont_btn_store {display: none !important;}

#log_bloq_01 {
    padding: 10vw 0 4vw;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#log_bloq_01 hr::after {
    width: 35%;
}
#log_bloq_01 .form-control {
    font-weight: 700;
}

.btn_login {
    padding: 1rem;
    display: flex;
    width: fit-content;
    margin: 0 auto 1rem;
    border-radius: 0.5rem;
    min-width: 350px;
    justify-content: center;
    gap: 1rem;
    font-weight: 600;
}
.btn_facebook {
    background: #1877f2;
    color: #fff;
}
.btn_facebook:focus,
.btn_facebook:hover {
    background: #0d51a8;
    color: #fff;
}
.btn_google img {
    width: calc(1rem + 0.5vw);
}
.btn_google {
    background: #fff;
    color: #333;
    box-shadow: 0 2px 5px rgb(0 0 0 / 15%);
}
.btn_google:focus,
.btn_google:hover {
    background: #f8f8f8;
    color: #333;
}
.img_profile {
    width: 95px;
    height: 95px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 0 0.5rem;
}

.profile_info {
    max-width: 100%;
    background: #f8f8f8;
    margin: 1vw auto;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    text-align: left;
}
.profile_info button {
    background: transparent;
    border: none;
    font-size: 110%;
    color: #666;
    width: 40px;
    aspect-ratio: 1;
}
.profile_info button:hover {
    color: #333;
}

.list_profile {
    font-weight: 700;
    list-style: none;
    padding: 0;
    line-height: 1.8;
}

.welcome_msg_login {
    position: absolute;
    backdrop-filter: blur(15px);
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.welcome_msg_login_data {
    background: #fff;
    width: fit-content;
    padding: 2rem;
    box-shadow: 0 0 5px rgb(0 0 0 / 20%);
    border-radius: 1rem;
}

.recover_password_alert {
    position: fixed;
    top: 50%;
    left: 50%;
    max-width: 290px;
    transform: translate(-50%, -50%);
    background: #fff;
}

/* FIN LOG IN */

/* PRODUCTOS */

#prod_bloq_01 {
    min-height: 85vh;
    padding: 125px 0 0;
    background-image: url(../img/bg_top.webp);
    background-position: 0% 50%;
    background-size: 130%;
    display: flex;
    align-items: center;
}
#prod_bloq_01::before {
    background: linear-gradient(90deg, #672B00, transparent);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.8;
    transition: all 300ms;
}

.lh_0 {line-height: 0;}

#filter_sec {
    background: #000;
    color: #fff;
    padding: 2vw 0;
    min-height: unset;
}
.align_filters {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.filters_numbers {
    margin-left: auto;
    align-items: center;
    display: flex;
    gap: 1rem;
}
.number_filter {
    width: 75px;
}
.img_filter {
    width: 25px;
    margin: 0 5px 0 0;
}
.btn_filter {
    background: transparent;
    border: none;
    color: #fff;
}

.form-check-input {
    border-radius: 50% !important;
    position: relative;
    top: -2px;
}
.form-check-input:checked {
    background-color: var(--clr004);
    border-color: var(--clr004);
}
.form-check-input:focus {
    border-color: var(--clr004);
    outline: 0;
    box-shadow: 0 0 0 .2rem rgb(0 0 0 / 35%);
}

/* Estilos adicionales para el filtro sidebar */
.products-container {
    display: flex;
    position: relative;
}

.sidebar-filter {
    width: 0;
    overflow: hidden;
    transition: width 0.35s ease;
    background: #000;
    border-right: 0px solid #000;
    padding: 1.5rem 0;
    flex-shrink: 0;
    color: #fff;
    min-height: 70vh;
    height: 100%;
    position: relative;
    border-radius: 0 0 1.5rem 0;
}
.btn_clox {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 130%;
}

.sidebar-filter.active {
    width: 280px; /* ← ajusta según necesites */
}

.products-grid {
    flex: 1;
    transition: margin-left 0.35s ease;
}

.sidebar-filter.active + .products-grid {
    margin-left: 0; /* ya no necesita margen extra porque usa flex */
    background: white;
}

.btn-toggle-filter {
    cursor: pointer;
    user-select: none;
    color
}

.filter-group {
    margin-bottom: 0.5rem;
    padding: 0 1.25rem;
}

.filter-group h6 {
    margin-bottom: 0.75rem;
    font-weight: 600;
}

@media (max-width: 992px) {
    .sidebar-filter.active {
        width: 240px;
    }
}

@media (max-width: 768px) {
    .products-container {
        flex-direction: column;
    }
    .sidebar-filter,
    .sidebar-filter.active {
        width: 100% !important;
        border-right: none;
        border-bottom: 1px solid #eee;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        transition: max-height 0.35s ease, padding 0.4s ease;
    }
    .sidebar-filter.active {
        max-height: 1200px; /* valor grande para que quepa todo */
        padding: 1.5rem 0;
    }
}

.btn-favorito {
  color: #666;
  text-decoration: none;
  font-size: 1.3rem;
}

.btn-favorito:hover,
.btn-favorito.active i {
  color: #e74c3c;
}

.product-hero { /*background: #f8f9fa;*/ background: #fff; padding: 150px 0 2vw; min-height: 100vh;}
.prod-main-img { min-height: 500px; object-fit: contain; width: 100%; }
.tab-content img { /*max-height: 500px;*/ object-fit: contain; width: 100%; aspect-ratio: 1 }
.nav-tabs .nav-link { font-weight: 500; }
.nav-tabs .nav-link { background-color: transparent; color: white; border-color: #ddd; border-radius: 0.3rem; }
.nav-tabs .nav-link:hover { border-color: var(--clr001); }
.nav-tabs .nav-link.active { background-color: transparent; color: white; border-color: #555; }
.price-regular { text-decoration: line-through; color: #999; }
.price-discount { color: var(--clr001); font-size: 2rem; font-weight: bold; }
.no-stock { opacity: 0.7; }
.tab-content {
    border: 1px solid #ddd;
    border-radius: 0.3rem;
    width: 100%;
}

.cont_img_tabs_prod_detail {
    display: flex;
    list-style: none;
    flex-direction: column;
    padding: 0;
    margin: 0;
    gap: 0.5rem;
    border-bottom: none;
}
.img_thumb_prod_detail {
    width: calc(95px + 1vw);
    object-fit: contain;
    border-radius: 4px;
    aspect-ratio: 1;
}

.flex_row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}
.flex_row button.data_prod_detail_opt {
    /*flex: 1;*/
    min-width: 280px;
}
.flex_row .btn-outline-secondary {
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 1.2rem;
}
.flex_row input.form-control {
    width: 50px;
    text-align: center;
    border: none;
    background: transparent;
}
.cont_btn_cantidad {
    display: flex;
    background: #fff;
    border-radius: 0.3rem;
    border: 2px solid;
}
.f_icon {font-size: calc(1rem + 1vw)}
.data_prod_detail_opt {
    background: #000;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 5vw;
    font-weight: 600;
    font-size: 80%;
}

#prod_detail input[type="number"]::-webkit-outer-spin-button,
#prod_detail input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#prod_detail input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

#prod_bloq_02 {
    padding: 0 0 2rem;
}
#prod_bloq_02 .owl-carousel {
    width: 92%;
    margin: 0 auto;
    padding: 0;
}

#prod_bloq_02 .owl-nav .owl-prev, #prod_bloq_02 .owl-nav .owl-next {
    padding: 0px !important;
    border: 3px solid #000 !important;
    border-radius: 50%;
    max-width: 40px;
    height: 40px;
    font-size: calc(1.5rem + 1vw);
    display: flex;
    align-items: center;
    justify-content: center;
}
#prod_bloq_02 .owl-nav .owl-prev {
    left: -3rem;
}
#prod_bloq_02 .owl-nav .owl-next {
    right: -3rem;
}

.padd_desc {padding-left: 160px;}
.padd_carac {padding-left: 40px;}

/* Tag para SKU cuando no hay descuento */
.tag-sku {
    background-color: transparent;
    color: #222;
    font-size: 0.8rem;
    padding: 4px 8px;
    border-radius: 4px;
    position: absolute;
    top: 10px;
    right: 10px;
    font-weight: 600;
    z-index: 2;
}

.main_ttl_detail_prod {
    font-size: calc(1rem + 0.3vw);
}

/* ===================== FILTROS BONITOS ===================== */
.custom-filter-option input.hidden-filter-input {
    display: none !important;
}

.custom-filter-option label.filter-label {
    display: block;
    padding: 10px 0;
    margin-bottom: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: #fff;
    background: transparent;
    font-size: 80%;
}
.custom-filter-option label.filter-label:hover {
    color: #8A8A89;
}

.custom-filter-option input.hidden-filter-input:checked + label.filter-label {
    background-color: transparent;
    color: var(--clr001);
    border-color: var(--clr001);
}

#pagination-container .btn_01 {
    margin: 0;
    background: var(--clr001);
    border-radius: 0.3rem;
    color: #fff;
}

#prod_detail .input-group {
    width: fit-content;
}

/* FIN PRODUCTOS */

/* NOSOTROS */

#aus_bloq_01 {
    background: #000;
    color: #fff;
}

.img_aus_01 {
    border: 1rem solid #fff;
    width: 60%;
    object-fit: cover;
    aspect-ratio: 1 / 1.15;
}

#aus_bloq_01 .right_ {min-height: 35px;}
#aus_bloq_01 .btn_01 {
    background: #fff;
    color: #000;
}
#aus_bloq_01 .btn_01:hover {
    background: var(--clr001);
    color: #fff;
}

#aus_bloq_02 {
    line-height: 1.6;
    padding: 5vw 0;
}
#aus_bloq_02 hr {
    margin: 2rem auto;
}

/* FIN NOSOTROS */

/* NOTICIAS */

.blog-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s;
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    transform: scale(0.95);
    box-shadow: 0 1.3rem 2rem -5px rgb(0 0 0 / 30%);
}
.blog-card:hover {
    transform: scale(0.98);
    box-shadow: 0 0rem 2rem -5px rgb(0 0 0 / 30%);
}
.blog-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    background: #ddd;
}
.blog-card-body {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.blog-card-title {
    font-size: 1.4rem;
    margin-bottom: 10px;
}
.blog-card-date {
    font-size: 0.9rem;
    opacity: 0.7;
    margin-bottom: 15px;
}
.blog-card-excerpt {
    flex-grow: 0;
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pagination .page-link {
    background: var(--clr002);
    border-color: var(--clr002);
    color: #fff;
}
.pagination .page-item.active .page-link {
    background: var(--clr003);
    border-color: var(--clr003);
}

.fit_cont {width: fit-content}


/* FIN NOTICIAS */

/* ===================== TARJETAS DE PRODUCTOS ===================== */
.cont_card_prod {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: center;        /* mejor centrado */
    padding: 2vw 0;
    background: white;
}

.card_prod {
    position: relative;
    width: 100%;
    max-width: clamp(220px, 28vw, 310px);   /* más controlado */
    background: #fff;
    border-radius: 0.5rem;
    overflow: hidden;
    border: 1px solid #efefef;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}
/* Contenido inferior */
.cont_data_prod {
    flex: 1;                       /* ocupa el espacio restante */
    display: flex;
    flex-direction: column;
    padding: 0 12px 14px;
    justify-content: space-between; /* importante */
}

.prod_ttl_fav {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin: 12px 0 8px;
    min-height: 80px;
}

.prod_ttl_fav h3 {
    font-size: calc(0.75rem + 0.2vw);
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
    flex: 1;
}

.prod_price_add {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: auto;              /* empuja hacia abajo */
}

.prod_price_add h3 {
    font-size: calc(1.05rem + 0.2vw);
    margin: 0;
    font-weight: 700;
}

.prod_price_add .price_x {
    text-decoration: line-through;
    color: #999;
    font-weight: 400;
    font-size: 0.95rem;
}

.prod_price_add .price_discount {
    color: var(--clr001);
}

.btn-add-to-cart,
.btn_04 {
    font-size: 0.9rem;
    padding: 8px 14px;
    white-space: nowrap;
}

/* Ajuste para móviles */
@media (max-width: 576px) {
    .card_prod {
        max-width: 100%;
    }
}

#sidebarFilter .accordion-button {
    font-size: calc(1rem + 0.3vw);
    font-weight: 500;
    background: #000;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    box-shadow: none;
}
#sidebarFilter h5 .accordion-button {
    font-size: calc(0.7rem + 0.3vw);
}
#sidebarFilter .accordion-body {
    max-height: unset;
    overflow: unset;
    padding: 0.5rem 0 0 2.5rem;
}
#sidebarFilter .accordion-item {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #5a5a5a;
    border-radius: 0;
}

.welcome_profile_msg {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.85rem;
    white-space: nowrap;
    pointer-events: none;
}

/* Estilos para el avatar */
.txt_pp {
    width: 20px;     /* Aumentado un poco para mejor visibilidad */
    height: 20px;
    font-size: 1rem;
}

.img_pp {
    width: 20px;
    height: 20px;
    object-fit: cover;
}

/* Mejorar el chevron */
.dropdown-toggle {
    align-items: center;
}

.dropdown-toggle::after {
    display: none !important;   /* Ocultamos el triángulo por defecto de Bootstrap */
}
.dropdown:hover>.dropdown-menu {
    background: #efefef !important;
    padding: 1rem !important;
}
#navigation .dropdown-item {
    text-transform: unset !important;
    font-weight: 600 !important;
}

.fs_icon_ddown {font-size: 80%;}

.cont_wishlist {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}
.badge-count {
    position: relative;
    top: -2px;
    background: #000;
    color: #fff;
    width: 19px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 70%;
    border-radius: 50%;
    font-weight: 600;
    padding: 1px 0 0 0;
}

.wl_icon_img {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 10;
}

.color-box {
    transition: all 0.2s ease;
    border: 3px solid #ddd;
}
.color-box:hover {
    border-color: var(--clr001);
    transform: scale(1.08);
}
.color-box.selected {
    border-color: #000 !important;
    box-shadow: none !important;
}

#prod_detail_sec .input-group-text {
    border: none;
    background: transparent;
    padding: 0.375rem 0.375rem 0.375rem 0;
}
#prod_detail_sec .form-select {
    border: var(--bs-border-width) solid transparent;
}
#prod_detail_sec .form-select:focus {
    border-color: #efefef;
}

#cart_bloq_01 {
    padding: 10vw 0 4vw;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#cart_bloq_01 hr::after {
    width: 35%;
}
#cart_bloq_01 .form-control {
    font-weight: 700;
}

/* Circulos de color en filtros */
.color-circle {
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.custom-filter-option {
    padding: 6px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-direction: row-reverse;
}
.filter-label {
    cursor: pointer;
    margin-bottom: 0;
    flex-grow: 1;
}

/* BUSCADOR HEADER */
.search-dropdown {
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    display:none; max-height: 420px; overflow-y:auto; z-index: 1050; border: 1px solid #ddd;
    top: 35px;
}

.search-result-item:hover {
    background-color: #f8f9fa;
}

/* Elimina la 'X' en Chrome/Safari */
#navigation input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
/* Opcional: Elimina la 'X' en Internet Explorer/Edge */
#navigation input[type=search]::-ms-clear {
    display: none;
}

.step-progress {
    counter-reset: step;
}
.step-progress .step {
    position: relative;
    flex: 1;
    text-align: center;
    padding: 0 10px;
    max-width: 135px;
}
.step-progress .step:before {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: white;
    border-radius: 50%;
    font-size: 1.3rem;
    margin: 0 0 10px;
    border: 1.5px solid black;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.icon_progress {
    position: absolute;
    top: 11px;
    left: 50%;
    right: 0;
    font-size: calc(1rem + 0.5vw);
    width: fit-content;
    transform: translateX(-50%);
}
.step-progress .step.active .icon_progress {
    color: white;
}
.step-progress .step.completed .icon_progress {
    color: white;
}
.step-progress .step.active:before {
    background: #212121;
    color: white;
    border-color: #212121;
}
.step-progress .step.completed:before {
    background: #444 !important;
    color: white !important;
    border-color: #444 !important;
}
.bg_card_body { background: #f2f2f2;}
.br_5 {border-radius: 5em !important; }
.promo-input {
    border: 2px solid transparent;
    border-radius: 0.3rem !important;
}
.free-shipping-banner {
    background: #0052cc;
    color: white;
    padding: 18px;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
}
.cart-item {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}
.cart-img-container {
    width: 90px;
    height: 90px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.qty-control-cart button {
    width: 36px;
    height: 36px;
    border: none;
    background: #f8f9fa;
}
.box_info_envios {
    background: #1A43BF;
    padding: 1rem;
    color: white;
    border-radius: 0.3rem;
}
.height_txtarea {height: 90%;}
.form-check {
    padding-left: 0 !important;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.form-switch .form-check-input {
    border-radius: 5em !important;
    width: 55px;
    height: 30px;
}
.hr_basic {
    margin: 20px auto;
    border: none;
    height: 0.5px;
    background: #bbb;
    width: 100%;
    position: relative;
    z-index: 1;
    opacity: 1;
}
.hr_basic::after {
    content: "";
    position: absolute;
    transform: translate(0%, -50%);
    background: var(--clr001);
    z-index: 20;
    width: 20%;
    height: 0;
    top: 50%;
    left: 0;
    border-radius: 1em;
}
.txt_gray { color: #bbb;}
.txt_grayer { color: #999;}

#asesorCompra {
    border-color: #999;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='gray'/%3e%3c/svg%3e");
    display: flex;
    justify-content: flex-end;
    margin: 0;
}
#asesorCompra:focus {
    border-color: black;
    outline: 0;
    box-shadow: none!important;
}
#asesorCompra:checked {
    background-color: black;
    border-color: black;

    /* Sobrescribimos el SVG de Bootstrap con uno donde el círculo (fill) es rojo (white/FF0000) */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");
}

.btn_nextstep {
    background: #25CF43;
    color: black;
    border: none;
    border-radius: 5em;
}
.btn_nextstep:hover {
    background: #333;
    color: white;
}


.btn_back_prods {
    background: white;
    color: black;
    border: none;
    border-radius: 5em;
    padding: 0.5rem 1rem;
    font-weight: 600;
}
.btn_back_prods:hover {
    background: black;
    color: white;
}

#cart_bloq_01 .cards_ftr {
    list-style: none;
    display: flex;
    flex-direction: row !important;
    gap: 0.5rem;
    height: unset !important;
    padding: 0 !important;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#cart_bloq_01 .cards_ftr li {margin: 0 !important;}
#cart_bloq_01 .cards_ftr li img {width: 65px;}
#cart_bloq_01 .img_last_card {width: 95px !important;}


.fade_clps {
    opacity: 0;
    transition: opacity 0.5s ease;
}
.fade_clps.show {
    opacity: 1;
}

.cont_collpaseAddress {
    background: rgb(0 0 0 / 5%);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 1030;
    backdrop-filter: blur(2.5px);
}
.collpaseAddress {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1052;
}


.wishlist-row.out-of-stock {
    opacity: 0.85;
    background-color: #fff9f0;
}

.btn-sobrepedido {
    width: 100%;
    font-weight: 600;
    white-space: nowrap;
}

.btn-sobrepedido i {
    margin-right: 6px;
}

.wishlist-header {
    display: flex;
    padding: 15px 0;
    border-bottom: 2px solid #eee;
    font-weight: 600;
    color: #555;
}
.wishlist-row {
    display: flex;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background-color 0.2s;
}
.wishlist-row:hover {
    background-color: #f8f9fa;
}
.wishlist-row:last-child {
    border-bottom: none;
}
.col-icon { width: 50px; }
.col-img { width: 120px; padding-right: 15px; }
.col-name { flex: 1; padding-right: 20px; }
.col-price { width: 180px; text-align: right; padding-right: 20px; }
.col-qty { width: 150px; text-align: center; }
.col-action { width: 200px; text-align: right; }
.wishlist-img-container {
    width: 100px;
    height: 100px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.wishlist-img-container img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
}
.price-normal {
    text-decoration: line-through;
    color: #999;
    font-size: 1rem;
}
.price-discount {
    color: #e74c3c;
    font-weight: 700;
    font-size: 1.15rem;
}
.qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
}
.qty-control button {
    width: 32px;
    height: 32px;
    border: none;
    background: #f8f9fa;
    font-weight: bold;
}
.qty-control span {
    padding: 0 12px;
    min-width: 40px;
    text-align: center;
    font-weight: 500;
}
.btn-add-cart {
    background: #212121;
    color: white;
    border: none;
    padding: 10px 24px;
    border-radius: 6px;
    font-weight: 600;
}
.btn-remove {
    font-size: 1.6rem;
    color: #aaa;
    cursor: pointer;
    transition: color 0.2s;
}
.btn-remove:hover {
    color: #e74c3c;
}
.empty-state {
    text-align: center;
    padding: 80px 20px;
    color: #666;
}
.qty-control, .btn-add-cart, .btn-remove {
    pointer-events: auto;
}

#wishlistWrapper {
    scrollbar-width: thin;
    scrollbar-color: #ddd #f8f9fa;
}

#wishlistWrapper::-webkit-scrollbar {
    width: 6px;
}

#wishlistWrapper::-webkit-scrollbar-thumb {
    background-color: #ddd;
    border-radius: 20px;
}

/* Aseguramos que la cabecera se vea bien al hacer sticky */
.wishlist-header.sticky-top {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 0;
    border-bottom: 2px solid #eee;
}


.flag_cupon {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.disc_envio_50 {
    background: #777;
    font-size: 65%;
    padding: 0.3rem;
    border-radius: 0.15rem;
    width: calc(170px + 2vw);
}

#paymentContent h1 {font-family: "Montserrat", sans-serif;}

#paymentContent .svelte-1oil008 {display: none;}

.saveAddress__.form-check {
    justify-content: flex-end;
}

.load_cont {
    position: fixed;
    top: 120px;
    left: 50%;
    transform: translateX( -50%);
    z-index: 9999;
    background: rgb(255 255 255 / 90%);
    padding: 1rem 2rem;
    width: 100%;
    height: 85%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    backdrop-filter: blur(20px);
}

/* Evitamos que el título se superponga mal en móviles */
@media (max-width: 768px) {
    #wishlistWrapper {
        max-height: calc(100vh - 260px);
    }
}

.cinta_promos {
    width: 100%;
    background: var(--clr001);
    padding: 5px 0;
    color: white;
    font-size: 75%;
    text-align: center;
    margin: -10px 0 5px;
}

.cont_wapp_msg {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    width: 90%;
    max-width: 800px;
}
.cont_wapp_msg .btn_wa_idx {
    font-size: calc(1rem + 0.2vw);
}

.ttl_blogcard_side {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: calc(0.7rem + 0.5vw);
    min-height: 35px;
}

.img_maincard_blog {
    aspect-ratio: 2.5 / 1;
    object-fit: cover;
    object-position: 50% 20%;
}

/* Aplicamos la animación a cualquier elemento */
.blink_ {
  animation: parpadeo 1s infinite; /* Duración de 1 segundo, repetición infinita */
}

/* Definimos la animación de parpadeo */
@keyframes parpadeo {
  0%, 100% {
    opacity: 1; /* Completamente visible */
  }
  50% {
    opacity: 0; /* Completamente invisible */
  }
}
