:root {
  --color-principal: #E363AD;
  --color-botones: #E363AD;
  --color-texto-principal: #515151;
  --color-borde: #e0e0e0;
  --color-borde-input: #cdcdcd;
  --color-borde-input-focus: #E363AD;
  --color-blanco: #ffffff;
  --color-fondo-input: #ffffff;
  --border-radius-boton: 0px;
  --border-radius-input: 10px;
  --box-shadow-input-focus: 0 0 0 0.2rem rgb(30, 94, 134, 0.25);
}

/*for my-account-page*/
a,
a:hover {
  color: var(--color-principal);
}
#my-account.page-my-account .links .link-item i{
    color:#bcbcbc;
    width:fit-content;
    padding-bottom: 0;
    vertical-align: center;
}
.input-group .input-group-btn > .btn[data-action="show-password"] {
  background: var(--color-botones);
  border: none;
  border-radius: 0;
  padding: 10px 20px;
  color: var(--color-blanco);
  font-weight: bold;
}

.input-group .input-group-btn > .btn[data-action="show-password"]:hover {
  background: var(--color-botones);
  opacity: 0.9;
}

.input-group {
  position: relative;
  border-radius: var(--border-radius-input);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  outline: none !important;
}

.input-group:focus-within {
  outline: none !important;
}

.input-group .form-control {
  border-radius: var(--border-radius-input);
  padding-right: 120px;
  outline: none !important;
}

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

.input-group .input-group-btn {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 10;
}

.btn-primary {
  background-color: var(--color-botones);
  border-radius: var(--border-radius-boton);
  color: var(--color-blanco) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-primary:focus,
.btn-primary:active:focus {
  outline: none;
}

.btn-primary:hover,
.btn-primary:active,
.custom-radio input[type="radio"]:checked + span,
.btn-primary:focus,
.btn-primary:active:focus {
  background-color: var(--color-botones);
}

.form-control:focus {
  border-color: var(--color-borde-input-focus) !important;
  outline: none !important;
  box-shadow: var(--box-shadow-input-focus) !important;
}

/*for my-account-page*/
/*****************MY ACCOUNT PAGE***************/
.page-header h1{
    font-family:"Open Sans";
    font-size:24px;
    font-weight:600;
    color:black;
}
.page-addresses .addresses-footer a span {
  margin-top: 0;
}

.page-my-account #content .links a {
  color: var(--color-texto-principal);
}

.page-my-account #content .links a:hover,
.page-my-account #content .links a:focus i,
.page-my-account #content .links a:focus {
  text-decoration: none !important;
}

.page-my-account #wrapper,
.page-customer-account #wrapper,
#module-blockwishlist-lists #wrapper,
#view #wrapper,
#addresses #wrapper {
  margin-top: 30px;
}

.page-my-account #content .links a:hover i,
#module-blockwishlist-lists
  .wishlist-list-item:hover
  .wishlist-list-item-title {
  color: var(--color-botones);
}

#module-blockwishlist-lists .wishlist-add-to-new:hover {
  opacity: 1;
}

.page-addresses .address {
  background: transparent;
  border: 1px solid var(--color-borde);
  border-radius: var(--border-radius-input);
  padding: 20px;
}

.page-addresses .address .address-body {
  min-height: 225px;
  padding: 0;
}

.page-addresses .address .address-footer {
  padding: 10px 0 0 0;
  margin: 10px 0 0 0;
  border-top: 1px solid var(--color-borde);
}

.page-addresses .address .address-body address {
  margin-bottom: 0;
  min-height: unset;
}

/* Inputs personalizados para pÃ¡ginas especÃ­ficas */
#identity .form-control,
#addresses .form-control,
#address .form-control {
  border: 1px solid var(--color-borde-input);
  border-radius: var(--border-radius-input);
  background-color: var(--color-fondo-input);
  padding: 10px 15px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#identity .form-control:focus,
#addresses .form-control:focus,
#address .form-control:focus {
  border-color: var(--color-borde-input-focus) !important;
  outline: none !important;
  box-shadow: var(--box-shadow-input-focus) !important;
}

/* Input-group especÃ­fico para pÃ¡ginas de identidad y direcciones */
#identity .input-group,
#addresses .input-group,
#address .input-group {
  border: 1px solid var(--color-borde-input);
  background-color: var(--color-fondo-input);
  outline: none !important;
}

#identity .input-group .form-control,
#addresses .input-group .form-control,
#address .input-group .form-control {
  border: none !important;
  box-shadow: none !important;
  background-color: transparent;
  outline: none !important;
}

#identity .input-group.focus,
#addresses .input-group.focus,
#address .input-group.focus {
  border-color: var(--color-borde-input-focus) !important;
  box-shadow: var(--box-shadow-input-focus) !important;
  outline: none !important;
}

#identity .input-group:focus-within,
#addresses .input-group:focus-within,
#address .input-group:focus-within {
  outline: none !important;
}

#identity .input-group .form-control:focus,
#addresses .input-group .form-control:focus,
#address .input-group .form-control:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Estilos para historial de pedidos */
#history td.text-sm-center.order-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#order-detail #wrapper {
  margin-top: 30px;
}

.page-my-account #content .links a span.link-item {
    display:flex;
    flex-direction:row;
    gap:15px;
    align-items:center;
    text-align:start;
    padding:50px 25px;
    border:1px solid #D7D2D2;
    border-radius:8px;
    transition:border-color 0.3s ease;
    font-family:"Open Sans";
    text-transform:none;
    font-weight:600;
    font-size:17px;
}
.page-my-account #content .links a span.link-item:hover{
    border-color:#E363AD;
}
#module-blockwishlist-lists .text-primary{
    color:#E363AD !important;
}
/***************END MY ACCOUNT PAGE*************/


/* ==================== HEADER GENERAL ==================== */
.header {
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    z-index: 1000;
}
/* Header oculto al hacer scroll down (TODAS LAS PÃGINAS) */
.header.header-hidden {
    transform: translateY(-100%) !important;
}
/* Header visible con fondo blanco al hacer scroll up (TODAS LAS PÃGINAS) */
.header.header-scrolled {
    transform: translateY(0) !important;
    background-color: white !important;
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important; */
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
}
.header.header-scrolled a {
    color: black !important;
}
.header.header-scrolled .icon-search svg path,
.header.header-scrolled .icon-user svg path,
.header.header-scrolled .icon-wishlist svg path,
.header.header-scrolled .icon-cart svg path{
    fill: black !important;
}
,
.header.header-scrolled .icon-menu svg path {
    stroke: black !important;
}
.header.header-scrolled .header-logo img {
    filter: invert(0) !important;
}
/* ==================== HEADER INDEX (HOME) ==================== */
#index .header {
    position: absolute;
}
#index .header a {
    color: white !important;
    transition: color 0.3s ease;
}
#index .header .icon-search svg path,
#index .header .icon-user svg path,
#index .header .icon-wishlist svg path,
#index .header .icon-cart svg path{
    fill: white;
    transition: fill 0.3s ease;
}

#index .header .icon-menu svg path {
    stroke: white;
    transition: stroke 0.3s ease;
}
#index .header .header-logo img {
    filter: invert(1);
    transition: filter 0.3s ease;
}
/* Hover en index */
#index .header:hover {
    background-color: white !important;
}
#index .header:hover a {
    color: black !important;
}
#index .header:hover .icon-search svg path,
#index .header:hover .icon-user svg path,
#index .header:hover .icon-wishlist svg path,
#index .header:hover .icon-cart svg path{
    fill: black !important;
}

#index .header:hover .icon-menu svg path {
    stroke: black !important;
}
#index .header:hover .header-logo img {
    filter: invert(0) !important;
}
/* Scroll en index - NEGRO */
#index .header.header-scrolled a {
    color: black !important;
}
#index .header.header-scrolled .icon-search svg path,
#index .header.header-scrolled .icon-user svg path,
#index .header.header-scrolled .icon-wishlist svg path {
    fill: black !important;
}

#index .header.header-scrolled .icon-menu svg path {
    stroke: black !important;
}
#index .header.header-scrolled .header-logo img {
    filter: invert(0) !important;
}
/* ==================== BANNER HOME ==================== */
.home-banner-main {
    position: relative;
}
.home-banner-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 300px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 1), transparent);
    pointer-events: none;
    z-index: 1;
}
.home-banner-main::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 300px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    pointer-events: none;
    z-index: 1;
}
/* ==================== MENÃš - ESTILOS GENERALES ==================== */
.menu-link {
    position: relative;
    display: inline-block;
}
.menu-link a {
    position: relative;
    display: inline-block;
    transition: color 0.3s ease;
}
/* LÃ­nea animada en hover (solo si NO es active) */
.menu-link:not(.active) a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background-color: currentColor;
    transition: width 0.3s ease;
}
.menu-link:not(.active) a:hover::after {
    width: 20px;
}
/* ==================== MENÃš - ESTADO ACTIVO ==================== */
.menu-link.active a {
    color: #E363AD !important;
}
/* En index, el color activo tambiÃ©n debe ser #E363AD */
#index .header .menu-link.active a {
    color: #E363AD !important;
}
/* Cuando hay scroll en index, mantener el color activo */
#index .header.header-scrolled .menu-link.active a {
    color: #E363AD !important;
}
/* Cuando hay hover en index, mantener el color activo */
#index .header:hover .menu-link.active a {
    color: #E363AD !important;
}
@media(max-width:992px){
    .custom-btn{
        left:-15px;
    }
    
}
/* ==================== OVERLAY CONTENEDORES HOME ==================== */
#index .home-container-2 {
    position: relative;
}

#index .home-container-2 .container-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    pointer-events: none;
    z-index: 10;
}

.c-slider .swiper-pagination-bullet{
    height:3px;
    border-radius:100px;
    width:15px;
    transition: all 0.3s ease;
}
.c-slider .swiper-pagination-bullet-active{
    width:30px;
}

.video-overlay::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 300px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    pointer-events: none;
    z-index: 1;
}
.s-wishlist svg path,
.s-login svg path{
    fill:#909090;
}


.p-add-wishlist a{
    width:44px !important;
    height:44px !important;
    display:flex !important;
    justify-content:center;
    padding:0;
}
.p-add-wishlist a .stsb_flex_wrapper{
    width:24px;
}
.p-add-wishlist .stsb_pm_action_button_label{
    display:none;
}
@media(min-width:769px){
    .p-add-wishlist{
        display:none;
    }
    .product-miniature:hover .p-add-wishlist{
        display:block;
    }
}
.c-breadcrumb li:last-child span{
    font-weight:500;
}


/*SELECTOR DE IDIOMA*/
/* Contenedor principal */
.language-selector-wrapper {
    display: flex;
    justify-content: right;
    align-items: center;
}

/* BotÃ³n del selector */
.language-selector.dropdown button {
    display: flex;
    justify-content: right;
    align-items: center;
    gap: 5px;
}

/* Imagen del selector */
.language-selector.dropdown img {
    filter: invert(1);
    width: 40px;
}

/* Texto del idioma */
.language-selector.dropdown span.expand-more {
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    text-transform: uppercase;
    color: black;
}

/* Icono */
.language-selector.dropdown i {
    color: black !important;
    font-size: 16px;
}

/* Hover en el botÃ³n - cambiar color del texto */
.language-selector.dropdown button:hover span.expand-more {
    color: #E363AD;
}

/* Dropdown menu alineado a la derecha */
.language-selector.dropdown .dropdown-menu {
    right: 0;
    left: unset;
}

/* Hover en items del dropdown */
.language-selector.dropdown .dropdown-menu li a.dropdown-item:hover {
    color: #E363AD !important;
}



/*POPUPs*/
#sugerirpieza-popup .elementor-field-group:has([for="stsb_contact_us_82fea18"]){
    display:none;
}
#newsletter-popup input#stsb_newsletter_email_3a3e4cb,
#sugerirpieza-popup input,.c-contact-form input,.c-contact-form textarea
{
    padding:10px 0px;
}
#newsletter-popup input#stsb_newsletter_email_3a3e4cb:focus,
#sugerirpieza-popup input:focus,.c-contact-form input,.c-contact-form textarea{
    outline:none !important;
    box-shadow: unset !important;
}
/**/

/*Galeria inspirate*/

.inspirate .cuadro-overlay {
    opacity: 0;
    transition: opacity 0.6s ease;
}

.inspirate .cuadro-container:hover .cuadro-overlay {
    opacity: 1;
}
.cuadro-container:hover {
    cursor: url('https://exquisory.davidescudero.com/img/cursor.png'), pointer;
}
/**/

[data-elementor-type="sidecart"]:has(#sidecart){
    max-width:462px ;
}
.cart-voucher .stsb-promo-code-button {
    display: block;
    width: 100%;
}
.c-contact-form .elementor-repeater-item-b692f1d:has(select[name="id_contact"]) {
 display:none;   
}
#authentication .c-login-form input:focus,
#registration .c-login-form input:focus,
#password .c-login-form input:focus{
    box-shadow:unset !important;
}
#authentication .c-login-form input,
#registration .c-login-form input,
#password .c-login-form input{
    padding:5px 0px;
}
#authentication button.elementor-button.stsb-show-password.elementor-size-sm.stsb_button_no_outline,
#registration .c-login-form button.elementor-button.stsb-show-password.elementor-size-sm.stsb_button_no_outline{
    padding:0;
}
#authentication .c-login-form .elementor-repeater-item-22773fe.elementor-field-group-submit.elementor-field-group.elementor-field-type-submit.stsb_flex_wrapper,
#registration .c-login-form .elementor-repeater-item-e9eea1a.elementor-field-group-submit.elementor-field-group.elementor-field-type-submit.stsb_flex_wrapper,
#password .c-login-form .elementor-repeater-item-922651b.elementor-field-group-submit.elementor-field-group.elementor-field-type-submit.stsb_flex_wrapper{
    margin-top:30px;
}
#registration .c-login-form em{
    font-style: normal;
}
#registration .c-login-form label{
    color:#79736D;
}

/*CHECKOUT*/
body#checkout{
    font-family:"Open sans";
}
body#checkout section.checkout-step.-reachable.-current .step-number{
    background:#E363AD;
    
}
body#checkout section.checkout-step .step-number{
    font-size:24px;
}
body#checkout section.checkout-step .step-title{
    border-bottom: 1px solid #CCCCCC;

}
body#checkout section.checkout-step .stsb-step-heading{
    font-size:24px;
    text-transform:none;
}
body#checkout section.checkout-step .content{
    padding:50px 20px;
}
body#checkout section.checkout-step.-complete h1 *,
body#checkout section.checkout-step.-unreachable h1 *{
    color:#CCCCCC;
}
body#checkout section.checkout-step.-reachable.-complete .step-title .done{
    color:#CCCCCC;
}
body#checkout section.checkout-step.-current h1 span{
    color:#000000
}
body#checkout p{
    font-size:16px;
    line-height:44px;
    color:#000000
}
body#checkout .content:has(p.identity){
    padding:20px;
}
body#checkout .content:has(p.identity) a{
    font-weight:700;
}
body#checkout .content:has(p.identity) small{
    font-size:16px;
    font-weight:300;
    
}
body#checkout button.continue{
    width:fit-content;
    float:left!important;
    margin-top:20px;
    font-size:20px;
    text-transform:none;
    font-weight:400;
    line-height:44px;
    padding:10px 44px;
}
body#checkout input:focus,body#checkout select:focus{
    box-shadow:none !important;
}
body#checkout input,body#checkout select{
    border-radius:0px;
    border:0px solid black;
    border-bottom:1px solid black;
    background:none;
    padding-left:0;
}
body#checkout .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 15px !important; /* Aumentado de 10px a 15px */
  cursor: pointer !important;
}

/* Ocultar checkbox nativo */
body#checkout .custom-checkbox input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Estilo del span (checkbox personalizado) */
body#checkout .custom-checkbox span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  background-color: #D9D9D9 !important;
  border: 0 !important;
  border-radius: 0px !important;
  flex-shrink: 0 !important;
  transition: background-color 0.2s !important;
  margin-top: 2px !important;
  margin-right: 5px !important; /* Espacio extra a la derecha */
}

/* Ocultar el tick cuando NO está checkeado */
body#checkout .custom-checkbox input[type="checkbox"]:not(:checked) + span .material-icons {
  display: none !important;
}

/* Mostrar el tick en rosa cuando SÍ está checkeado */
body#checkout .custom-checkbox input[type="checkbox"]:checked + span {
  background-color: #D9D9D9 !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked + span .material-icons {
  display: block !important;
  color: #E363AD !important;
  font-size: 18px !important;
}

/* Hover */
body#checkout .custom-checkbox:hover span {
  opacity: 0.9 !important;
}
body#checkout .custom-checkbox>label {
    padding-left: 2rem;
}
body#checkout .form-group.row:has(input#field-birthday){
    margin-bottom:52px;
}
body#checkout #checkout-addresses-step p{
    line-height:29px;
}
body#checkout section.checkout-step .address-item.selected{
    border: #E363AD 1px solid;
}
body#checkout #checkout-addresses-step .add-address{
    margin-bottom:1.25rem;
}
body#checkout #checkout-addresses-step a[data-link-action="different-invoice-address"]{
    color:#79736D;
}
body#checkout section.checkout-step .delivery-options .delivery-option{
    background:none;
    border:1px solid #D9D9D9;
}
body#checkout section.checkout-step .delivery-options .delivery-option:has(input:checked){
    border:1px solid #E363AD;
}
body#checkout  section#checkout-delivery-step .content,
body#checkout  section#checkout-payment-step .content{
    padding: 50px 0 50px 20px;
}
body#checkout textarea{
    border-radius:0;
    border:none;
    border-bottom:1px solid black;
}
body#checkout textarea:focus-visible{
    border:none;
    border-bottom:1px solid #E363AD;
    box-shadow:none;
    outline:none;
}
body#checkout #checkout-payment-step .payment-option{
    padding:20px;
    border:none;
}
body#checkout #checkout-payment-step .payment-option span{
    font-size:16px;
}
body#checkout #checkout-payment-step .payment-option:has(input:checked){
    border:1px solid #E363AD;
}
body#checkout #checkout-payment-step .additional-information p{
    font-size:14px;
    line-height:22px;
    margin-bottom:15px;
}
body#checkout #payment-confirmation button{
    font-size:20px;
    text-transform:none;
    font-weight:400;
    line-height:44px;
    padding:10px 20px;
}
body#checkout #payment-confirmation button[disabled="disabled"]{
    color:#666766 !important;
}
body#checkout .cart-grid-right{
    border-color:#C7C7C7 !important;
    padding:40px;
}
body#checkout .container {
    width:100%;
}
@media (min-width: 1200px) {
    body#checkout .container {
        width: 1440px;
        max-width: 100%;
    }
    body#checkout #content-wrapper{
        padding:15px;
    }
}
body#checkout #delivery-addresses{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
        gap:20px;
    }
body#checkout #delivery-addresses article{
        width:100%;
        height:100%;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    }
body#checkout #delivery-addresses .address{
    font-weight:400;
    font-size:16px;
    line-height:26px;
    
}

body#checkout section.checkout-step.-reachable.-complete .step-title .step-edit, body#checkout section.checkout-step.-reachable.-complete .step-title .step-edit{
    font-style:unset !important;
    font-weight:300;
    color:black;
    text-decoration:none;
}
body#checkout section.checkout-step .address {
    margin-left: 30px;
    font-weight: 500;
}
body#checkout .cart-grid-right * {
    font-size:16px;
}
body#checkout .cart-grid-right .product-line-info{
    display:none;
}
body#checkout .cart-grid-right .product-name a{
    color:#222222;
    font-weight:400;
}
body#checkout .cart-grid-right .product-price{
    color:black;
}
body#checkout .cart-grid-right .cart-summary-line.cart-summary-subtotals span{
    font-weight:400 !important;
}
body#checkout .cart-grid-right .card .cart-summary-subtotals-container{
    margin-top:40px;
}
body#checkout .stsb_checkout_wrapper .cart-grid-right .card .cart-summary-totals .cart-summary-line.cart-total{
    border-width:0;
    padding:0;
}
body#checkout .stsb_checkout_wrapper .cart-grid-right .stsb-checkout-cart-quantity{
    font-size:12px;
    font-weight:600;
}
body#checkout .blockreassurance_product .item-product{
    display:none;
}
body#checkout .blockreassurance_product p{
    font-size:13px;
    font-weight:400;
    color:#333333 !important;
}
/*END CHECKOUT*/

#header .header .icon-search:hover svg path,
#header .header .icon-user:hover svg path,
#header .header .icon-wishlist:hover svg path,
#header .header .icon-cart:hover svg path{
    fill: #9E9E9E !important;
}
.stsb_variants .input-color:checked+span{
    border:unset;
}
.product-variants-widget .color,
.stsb_variants .input-color:checked+span{
    border:1px solid #d4d4d4;
}
#sugerirpieza-popup input[type="submit"]{
    margin-top:20px;
}
#checkout-personal-information-step .tab-content{
    margin-top:40px;
}
#checkout #footer{
    display:none;
}

body#checkout .blockreassurance_product .block-title{
    line-height:30px;    
}
body#checkout .blockreassurance_product{
    margin-bottom:30px;
}
#checkout-delivery-step #delivery,
#checkout-delivery-step .order-options .custom-checkbox,
#checkout-delivery-step #gift
{
    margin-top:30px;
}
body#checkout #checkout-payment-step .condition-label{
    position:absolute;
}
body#checkout #checkout-payment-step .condition-label label{
    padding-left: 30px;
}
.stsb_form_errors {
    padding: 15px;
    border: 1px solid #c02a1a;
    border-radius: 8px;
    background: #c02a1a57;
}

#my-account .page-footer a,
.account-link,
.wishlist-footer-links,
.wishlist-add-to-new{
    font-weight:700;
}

#my-account .page-footer a:hover,
.account-link:hover,
.wishlist-footer-links a:hover,
#module-blockwishlist-lists .wishlist-add-to-new:hover{
    text-decoration:underline;
}
#_desktop_language_selector .dropdown-menu{
    top: -85px;
}
.stsb_pm_action_button_wishlist_added .stsb_icon_wrapper {
    display: block;
}
.stsb_pm_action_button_wishlist_added .stsb_icon_wrapper svg path{
    fill:#e363ad;
}
.product-miniature .p-add-wishlist:has(.stsb_pm_action_button_wishlist_added){
    display:block;
}