html,body{
    width:100%;
    height: 100%;
    overflow:hidden;
}

#Capa_1{
z-index: 98;
}


path{
    opacity:0;
    cursor: pointer;
}

/*path:hover{
    fill: #ffffff;
    opacity:0.6;
}*/

th, td {
      padding: 10px;
}

a:hover, a:visited, a:link, a:active{
    text-decoration: none;
    cursor: pointer; 
}

.listadoMuebles {
    color: black;
    font-weight: lighter;
    font-size: 15px;
}

.block {
    border-radius: 8px;
    margin-top: 33px;
    margin-bottom: 10px;
    border: solid;
    border-width: 2.5px;
    border-color: #dddddd;
    width: 310px;
    height: 310px;
}

#contieneSVG{
    position:absolute; 
    z-index:98; 
    width:100%;
    background: transparent;
    pointer-events: auto;
}
#contieneSVG svg {
    background-color: transparent;
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
    pointer-events: auto;
}
#contieneSVG svg path {
    pointer-events: visiblePainted;
    opacity: 0;
}
#contieneImagenes{
    position:absolute; 
    z-index:0;
    width:100%;
    height:100%;
}
#contieneImagenesmenu{
    position:relative; 
    z-index:0;

}

.partes_mueble{
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 1;
}
.titulo_seccion_menu{
    background-color: transparent;
    line-height: 26px;
    font-family: Helvetica, Helvetica Neue, Arial, sans-serif;
    font-weight: bold;
    font-size: 20px;
    text-align: left;
    color: #24282c;
}

.item_seccion_menu{
    line-height: 15px;
    color: #605247;
    font-size: 18px;
    text-align: left;
    font-family: Helvetica, Helvetica Neue, Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
}

.item_seccion_menu:hover{
    color: #DBD5CB;
    cursor: pointer;
}

.listadoMuebles{
    color: black;
    font-weight: lighter;
    font-size: 17px;
}

.imgMuestras{
    width: 100%;
    height: 40px;
    margin-top: -3px;
    /* margin: 0px; */
    border-radius: 5px;
    cursor: pointer;
    border: 1px;
    border-style: solid;
    border-color: #d2d2d2;
}

#acabadosEncimera{
    text-align: left;
    margin-bottom: 0px !important;
    padding: 15px 5px 5px 5px;
    cursor: pointer;
    font-size: 17px !important;
    margin-top: 12px;
    padding-left: 12px;
    padding-top: 16px;
}
p#nombre_acabado_encimera {
    margin-top: 10px;
    color: #3a6c77;
    margin-bottom: 5px;
    font-size: 12px;
}

#acabadosEncimera hr{
    margin-bottom: 0px;
}

.imgAcabadoEncimera{
    width: 100%;
    margin-top: -3px;
    /* margin: 0px; */
    border-radius: 5px;
    cursor: pointer;
    border: 1px;
    border-style: solid;
    border-color: #d2d2d2;
}

.scroll::-webkit-scrollbar {
    width: 12px;
}

#contieneFormulario{
    position:absolute;
    background-color: rgba(4, 43, 82, 0.85);
    border-radius:10px;
    top:100px;
    left:200px;
    width:600px;
    padding-top:50px;
    padding-bottom:50px;
    padding-left:30px;
    font-size:18px;
    color:white;
    z-index:9999999;
}

#formularioDeContacto{
    margin: 62px auto 0 auto;
    /*width:80%;*/
    border-collapse:separate;
    border-spacing:10px;
}

#botonCancelarFormulario, #botonEnviarFormulario{
    border-radius:5px;
    padding:2px;
    margin-top:10px;
    font-size:10px;
    height:20px;
    margin-left:5px;
    margin-right:5px;
}

#botonEnviarFormulario{
    width:50px;
}

#botonCancelarFormulario{
    width:50px;
}

#botonCancelarFormulario:hover, #botonEnviarFormulario:hover{
    opacity: 0.5;
}

 /* Dropdown Button */
 .dropbtn {
    background-color: #ffffff;
    border-radius:1px;
    height:25px;
    color: black;
    font-size: 16px;
    border: none;
    cursor: pointer;
    display:flex;
    flex-direction:row;
    align-content: space-around;
}

/* Dropdown button on hover & focus */
.dropbtn:hover, .dropbtn:focus {
    background-color: #999999;
    opacity:0.5;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
    position: relative;
    display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    border-radius:1px;
    max-height:500px;
    overflow-y:auto;
}

/* Links inside the dropdown */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    border-radius:12px;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}

/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
.show {display:block;} 

#dropdown_provincias{
    position:absolute;
    top: 78px;
    left: 59px;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
}
#conjunto_provincias > div > button{
    width:130px;
}
#conjunto_distribuidores > div > button{
    width:130px;
    margin-top:10px;
}

formulario__input{
    width:200px;
}

#provincias_wrapper{
    width: 535px;
    height:90px;
    padding-bottom:10px;
    padding-top:10px;
    display:flex;
    flex-direction: column;
}

#destinatario_informacion{
    color:rgb(194, 193, 193);
}

#inputFirstName::placeholder,  
#inputLastName::placeholder, 
#inputCorreo::placeholder,
#inputTelephone::placeholder,
#inputComments::placeholder{
    font-size:10px;
    color:rgb(116, 116, 116);
}

#ddown_distribuidores{
    max-height: 455px;
    width: 470px;
    overflow-y: auto;
}
#ddown_provincias{
    max-height: 406px;
    width:320px;
    overflow-y: auto;
}

/* AGREGADO POR FRANCISCO 16/09/2022 */
#borradores{
 position:relative;	
 margin-top:15px;
}


/* CSS Document */

/*
 * Breakpoints unificados (viewport, no device-width):
 *   Desktop landscape 1440: min-width 1420px + landscape
 *   Portátil/tablet horizontal: 1000px – 1419.98px + landscape
 *   Móvil portrait: max-width 999.98px + portrait
 */
@media screen and (min-width: 1420px) and (orientation: landscape) {
#contenedor{
  /*transform-origin: 50% 0px 0px;
  transform: scale(1.7, 1.7);
  size: A4;*/
    max-width: 1440px;
    margin: auto;
    position: relative;
    max-height: 937px;
    height: 100%;

}
#fondo{
    z-index:1;
}
img#fondo {
    border-radius: 12px;
}
.btn{
    background-color: #076a7e !important
}
#logotipo{
    max-width: 149px;
    max-height: 119px;
    position: absolute;
}
#texto-confi{
    margin-top: 137px;
    position: absolute;
    z-index: 97;
}
#borradores{
    position: absolute;
    margin-top: 170px;
    width: 167px;
    margin-left: 10px;
}
#titu-borra{
 position:relative;	
}
#mueble{
    top: 22px;
    position: absolute;
    margin-left: 180px;
    z-index: 98 !important;
    width: 700px;
    height: 700px;
}
#contieneIdiomasmenu{
    text-align: right;
    cursor: pointer;
    margin-right: 54px;
    position: absolute;
    margin-top: 40px;
    right: -5px;
    width: 450px;
    zoom: 0.82;
}
#contieneIdiomas{
    text-align: right;
    cursor: pointer;
    margin-right: 54px;
    position: absolute;
    margin-top: 5px;
    right: 10px;
    width: 450px;
    zoom: 0.82;
}
#acabados{
    position: absolute;
    margin-top: 35px;
    margin-left: 920px;
    width: 350px;
    z-index: 99;
}
#configuracionSeleccionada{
    position: absolute;
    top: 790px;
    margin-left: 181px;
    width: 630px;
    z-index: 99;
}
#botonera{
    position: absolute;
    top: 740px;
    margin-left: 172px;
}
#botonera2{
  display:none;
}
#colores{
    border: 1px lightgray solid;
    /* padding: 5px; */
    padding-top: 1px;
    padding-bottom: 5px;
    align-content: center;
    border-radius: 8px;
    margin-top: 3px;
    background-color: #f1f1f1d1;
}

#nombre_muestra{
    font-size: 11px !important;
    margin-bottom: 1px !important;
    width: auto !important;
    color: #2a2e32;
    font-weight: 500;
}
#nombre_pomo{
    font-size: 13px !important;
    margin-bottom: 1px !important;
    width: auto !important;
    color: #2a2e32;
    font-weight: 500;
    margin-left: 10px;
}
#muestra{
    margin:0px !important;
}
#color_muestra {
    height: 57px;
}
#conf-selec-texto1 {
    font-size:18px;
}
#conf-selec-texto2 {
    font-size:12px;
}
#acabadosTable {
    font-size: 13px;
    color: #858a8f;
}
#pomosMuestras {
    border: 1px lightgray solid;
    /* padding: 5px; */
    padding-top: 4px;
    background-color: #ffffff;
    /* padding-bottom: 8px; */
    border-radius: 8px;
    margin-top: 3px;
}
#titulo_acabados{
    text-align: left;
    font-size: 17px!important;
    margin-bottom: 0px !important;
    padding: 15px 5px 5px 6px;
    cursor: pointer;
}
#titulo_acabados:hover, #titulo_pomos:hover{
    color: #b49d66;
}
#titulo_pomos{
    text-align: left;
    font-size: 17px!important;
    margin-bottom: 0px !important;
    margin-top:12px;
    padding: 15px 5px 5px 5px;
    cursor: pointer;
}
#cobre {
    width: 55px;
}
.imgPomos{
 width:55px;   
 cursor:pointer;
}

#nombre_encimera {
    margin-bottom: 3px;
    font-size: 13px;
    margin-top: 28px;
}

.imgEncimeras{
    width: 100%;
    cursor: pointer;
    border: solid;
    border-width: 1.5px;
    border-color: #d1d1d1;
    border-radius: 8px;
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.10);

}
.st0{
  cursor:pointer;  
}
.st1{
  cursor:pointer;  
}
.st2{
  cursor:pointer;  
}
#Pomos{
    flex: 0 0 auto;
    width: 24%;
}
.btn{
margin-left: 4px
}

#iconito {
    margin-top: -3px;
    margin-right: 0px;
    margin-left: -15px;
    margin-right: 4px;
}
#imagen_borradores {
    flex: 0 0 auto;
    width: 145px !important;
    border-radius:5px;
    border: 1px lightgray solid;
    margin-bottom: 10px;
    --bs-gutter-x: 0px !important;
}
#Idioma{
    width: 160px;
    border-radius: 6px;
    font-size: 18px;
    color: #a88d48;
    height: 29px;
    border-color: #e2e2e2;
}
#listadoMuebles{
    overflow: scroll;
    overflow-y: scroll; 
    height: 79vh; 
    overflow-x: hidden;
    margin-top: 170px;
}
#listadoSecciones {
    padding-top: 8px;
    width: 21%;
    margin-top: 177px;
    margin-left: 15px;
    border-style: solid;
    border-width: 1;
    border-color: lightgrey;
    border-radius: 5px;
    background-color: #f3f2f2;
}

}


@media screen and (min-width: 1000px) and (max-width: 1419.98px) and (orientation: landscape) {
#contenedor{
  /*transform-origin: 50% 0px 0px;
  transform: scale(1.7, 1.7);
  size: A4;*/
    max-width: 1440px;
    margin: auto;
    position: relative;
    max-height: 937px;
    height: 100%;

}
#fondo{
    z-index:1;
}
#logotipo{
    max-width: 149px;
    max-height: 119px;
    position: absolute;
}
#texto-confi{
    margin-top: 137px;
    position: absolute;
    z-index: 97;
}
#borradores{
    position: absolute;
    margin-top: 170px;
    width: 167px;
    margin-left: 10px;
}
#titu-borra{
 position:relative;	
}
#mueble{
    top: 22px;
    position: absolute;
    margin-left: 164px;
    z-index: 98 !important;
    width: 700px;
    height: 700px;
}
#contieneIdiomasmenu{
    text-align: right;
    cursor: pointer;
    margin-right: 54px;
    position: absolute;
    margin-top: 40px;
    right: -5px;
    width: 450px;
    zoom: 0.82;
}
#contieneIdiomas{
    text-align: right;
    cursor: pointer;
    margin-right: 54px;
    position: absolute;
    margin-top: 5px;
    right: 10px;
    width: 450px;
    zoom: 0.82;
}
#acabados{
    position: absolute;
    margin-top: 19px;
    margin-left: 892px;
    width: 350px;
    z-index: 99;
}
#configuracionSeleccionada{
    position: absolute;
    top: 697px;
    margin-left: 209px;
    width: 630px;
    z-index: 99;
}
#botonera{
    position: absolute;
    top: 740px;
    margin-left: 172px;
}
#botonera2{
  display:none;
}
#colores{
    border: 1px lightgray solid;
    /* padding: 5px; */
    padding-top: 1px;
    padding-bottom: 5px;
    align-content: center;
    border-radius: 8px;
    margin-top: 3px;
    background-color: #f1f1f1d1;
}

#nombre_muestra{
    font-size: 11px !important;
    margin-bottom: 1px !important;
    width: auto !important;
    color: #2a2e32;
    font-weight: 500;
}
#nombre_pomo{
    font-size: 13px !important;
    margin-bottom: 1px !important;
    width: auto !important;
    color: #2a2e32;
    font-weight: 500;
    margin-left: 10px;
}
#nombre_encimera{
    font-size: 13px !important;
    margin-bottom: 1px !important;
    width: auto !important;
    color: #2a2e32;
    font-weight: 500;
    margin-left: 10px;
}
#muestra{
    margin:0px !important;
}
#color_muestra {
    height: 57px;
}
#conf-selec-texto1 {
    font-size:18px;
}
#conf-selec-texto2 {
    font-size:12px;
}
#acabadosTable {
    font-size: 13px;
    color: #858a8f;
}
#pomosMuestras {
    border: 1px lightgray solid;
    /* padding: 5px; */
    padding-top: 4px;
    background-color: #ffffff;
    /* padding-bottom: 8px; */
    border-radius: 8px;
    margin-top: 3px;
}
#titulo_acabados{
    text-align: left;
    font-size: 17px!important;
    margin-bottom: 0px !important;
}
#titulo_pomos{
    text-align: left;
    font-size: 17px!important;
    margin-bottom: 0px !important;
    margin-top:12px;
}
#cobre {
    width: 55px;
}
.imgPomos{
 width:55px;   
 cursor:pointer;
}
.st0{
  cursor:pointer;  
}
.st1{
  cursor:pointer;  
}
.st2{
  cursor:pointer;  
}
#Pomos{
    flex: 0 0 auto;
    width: 24%;
}
#Encimeras{
    flex: 0 0 auto;
    width: 50%;
}
.btn{
margin-left: 4px
}

#iconito {
    margin-top: -3px;
    margin-right: 0px;
    margin-left: -15px;
    margin-right: 4px;
}
#imagen_borradores {
    flex: 0 0 auto;
    width: 145px !important;
    border-radius:5px;
    border: 1px lightgray solid;
    margin-bottom: 10px;
    --bs-gutter-x: 0px !important;
}
#Idioma{
    width: 160px;
    border-radius: 6px;
    font-size: 18px;
    color: #a88d48;
    height: 29px;
    border-color: #e2e2e2;
}
#listadoMuebles{
    overflow: scroll;
    overflow-y: scroll; 
    height: 79vh; 
    overflow-x: hidden;
    margin-top: 170px;
}
#listadoSecciones {
    padding-top: 8px;
    width: 21%;
    margin-top: 177px;
    margin-left: 15px;
    border-style: solid;
    border-width: 1;
    border-color: lightgrey;
    border-radius: 5px;
    background-color: #f3f2f2;
}

}
@media screen and (max-width: 999.98px) and (orientation: portrait) {
#contieneIdiomasmenu {
    float: right;
    cursor: pointer;
    display:none;
}
button.btn {
    font-size: 32px;
}
a.btn {
    font-size: 32px;
}
#contieneIdiomas {
    float: right;
    cursor: pointer;
    display:none;
}

#boton_borrador{
    display:none;
}
#fondo{
    z-index:1;
}
#borradores {
    display: none;
}


#botonera2 {
    display: block;
}	
#contenedor{
  /*transform-origin: 50% 0px 0px;
  transform: scale(1.7, 1.7);
  size: A4;*/
    max-width: 1400px;
    margin: auto;
    position: relative;
    max-height: 937px;
    height: 100%;

}
#logotipo{
    max-width: 149px;
    max-height: 119px;
    position: absolute;
    z-index:99;
    margin-left: 20px;
    margin-top: -5px;
}
#texto-confi{
    position: absolute;
    z-index: 97;
    margin-top: 121px;
    margin-left: 20px;
    
}
#borradores{
    position: absolute;
    margin-top: 175px;
    width: 167px;
    margin-left: 13px;
}
#titu-borra{
 position:relative;	
}

#contieneIdiomas{
    text-align: right;
    cursor: pointer;
    position: absolute;
    right: 10px;
    width: 100px;
    z-index:99;
    margin-top: 20px;
    margin-right: 32px;
}

#listadoMuebles {
    margin-top: 200px;
}

.col-3 {
    flex: 0 0 auto;
    width: 33% !important;
}

.block {
    border-radius: 8px;
    margin-top: 33px;
    margin-bottom: 10px;
    border: solid;
    width: 250px;
    height: auto;
    border-width: 2.5px;
    border-color: #dddddd;
}

#botonera2{
  display:none;
}
#colores{
    border: 1px lightgray solid;
    padding: 5px;
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 8px;
    margin-top: 3px;
}


#muestra{
    margin:0px !important;
}
#color_muestra {
    height: 50px;
}
#conf-selec-texto1 {
    font-size:18px;
}
#conf-selec-texto2 {
    font-size:12px;
    display: none;
}
#acabadosTable {
    font-size: 13px;
    color: #858a8f;
    margin-top: -7px;
}
#pomosMuestras {
    border: 1px lightgray solid;
    padding: 5px;
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 8px;
    margin-top: 3px;
}
#encimerasMuestras {
    border: 1px lightgray solid;
    /* padding: 5px; */
    padding-top: 1px;
    padding-bottom: 5px;
    align-content: center;
    border-radius: 8px;
    margin-top: 3px;
    background-color: #f1f1f1d1;
}
#titulo_acabados{
    text-align: left;
    font-size: 19px!important;
    margin-top: -30px;
    margin-bottom: 15px !important;
}
#titulo_pomos{
    text-align: left;
    font-size: 19px!important;
    margin-bottom: 0px !important;
    margin-top:10px;
}
#titulo_encimeras{
    text-align: left;
    font-size: 19px!important;
    margin-bottom: 0px !important;
    margin-top:10px;
    display:none;
}
#cobre {
    width: 55px;
}
.imgPomos{
 width:55px;   
 cursor:pointer;
}
.st0{
  cursor:pointer;  
}
.st1{
  cursor:pointer;  
}
.st2{
  cursor:pointer;  
}
#Pomos{
    flex: 0 0 auto;
    width: 24%;
}
.btn{
margin-left: 17px
}

#iconito {
    margin-top: -3px;
    margin-right: 0px;
    margin-left: -15px;
}
#imagen_borradores {
    flex: 0 0 auto;
    width: 182px !important;
    border-radius:5px;
    border: 1px lightgray solid;
    margin-bottom: 5px;
}
.acabadosTitle{
    text-align: left;
    font-size: 17px !important;
    margin-bottom: 0px !important;
    margin-top: 12px;
}
.acabadosBody{
    border: 0px !important;
    padding-top: 4px !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    margin-top: 3px !important;
}
#mueble {
    top: 4px;
    position: absolute;
    margin-left: 15px;
    z-index: 1 !important;
    WIDTH: 900px;
    HEIGHT: 900px;
text-align: center;
}
#configuracionSeleccionada {
position: absolute;
    top: 905px;
    margin-left: 31px;
    width: 915px;
    z-index:99;
}
#botonera {
    position: absolute;
    top: 1495px;
    margin-left: 15px;
    width: 940px;
    height: 100px;
}
#botonera img,
#botonera2 img {
    width: 25px !important;
    height: 25px !important;
    max-width: 25px;
    max-height: 25px;
    object-fit: contain;
    margin-top: -5px;
    vertical-align: middle;
}

button.btn:hover {
 color:yellow;
}

#acabados {
    position: absolute;
    margin-top: 985px;
    margin-left: 30px;
    width: 857px;
    z-index: 99;
}
.col-4 {
flex: 0 0 auto;
    width: 171px;
    height: 75px !important;
}

#nombre_muestra {
    font-size: 19px !important;
    margin-bottom: 1px !important;
    width: auto !important;
    color: #000000;
    font-weight: 500;
}

.imgMuestras {
    width: 100%;
    height: 48px;
    margin-top: -3px;
    /* margin: 0px; */
    border-radius: 5px;
    cursor: pointer;
    border: 1px;
    border-style: solid;
    border-color: #d2d2d2;
}

#conf-selec-texto1 {
    font-size: 28px;
}

#conf-selec-texto2 {
    font-size: 21px;
}

#acabadosTable {
    font-size: 19px;
    color: #858a8f;
    display:none;
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    margin-bottom: 5px;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 28px;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
}

/* Scroll SOLO para la parrilla de colores (Madera, etc.), no para títulos/pomos */
#colores {
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    align-content: flex-start;
    align-items: flex-start;
    padding-top: 0;
    padding-right: 6px;
    scroll-padding-top: 0;
}

/* Scroll más visible/intuitivo en panel derecho de acabados */
#colores {
    scrollbar-width: auto;                 /* Firefox */
    scrollbar-color: #7f8a98 #e5e9ef;      /* thumb / track */
}
#colores::-webkit-scrollbar {
    width: 14px;
}
#colores::-webkit-scrollbar-track {
    background: #e5e9ef;
    border-radius: 10px;
}
#colores::-webkit-scrollbar-thumb {
    background: #7f8a98;
    border-radius: 10px;
    border: 3px solid #e5e9ef;
}
#colores::-webkit-scrollbar-thumb:hover {
    background: #5f6b7b;
}

/* Para tipo "lacado" reducimos la bajada del panel derecho. */
#colores.menu-offset-lacado {
    padding-top: 0;
    scroll-padding-top: 0;
}

/* En flujo por área (debajo de "Tipo de acabado"), menos salto vertical. */
#colores.menu-offset-tipo {
    padding-top: 0;
    scroll-padding-top: 0;
}
#colores.menu-offset-tipo.menu-offset-lacado {
    padding-top: 0;
    scroll-padding-top: 0;
}

@media screen and (min-width: 1000px) {
    #colores {
        max-height: 44vh;
    }
}

@media screen and (max-width: 999.98px) {
    #colores {
        max-height: 32vh;
    }
}

/* Mantener siempre visible la configuración elegida (acabados seleccionados). */
#configuracionSeleccionada {
    overflow: visible;
}
#configuracionSeleccionada #acabadosTable {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 2;
}

/* Acabados a la derecha: grupos por tarifa + muestras circulares */
#colores .acabados-tarifa-bloque {
    background-color: #f9f8f8;
    border: 1px solid #c4c9d2;
    border-radius: 10px;
    padding: 7px 7px 7px;
    margin-bottom: 14px;
    box-sizing: border-box;
}
#colores .acabados-tarifa-bloque .acabados-tarifa-titulo {
    font-size: 14px;
    font-weight: 600;
    color: #2a2e32;
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #d0d4dc;
}
#colores .acabados-tarifa-muestras {
    margin-left: 0;
    margin-right: 0;
    align-items: stretch;
    --bs-gutter-x: 6px;
    --bs-gutter-y: 6px;
}
#colores .acabados-tarifa-muestras > .col-4,
#colores .acabados-tarifa-muestras > [class*="col-"] {
    height: auto !important;
    min-height: 0;
}
#colores .acabados-tarifa-muestras > .col-4.color_muestra,
#colores .color_muestra.col-4 {
    flex: 0 0 54px;
    width: 54px;
    max-width: 54px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    align-self: stretch;
    text-align: center;
}
#colores .color_muestra,
#colores #color_muestra {
    text-align: center;
}
#colores .color_muestra #nombre_muestra,
#colores #color_muestra #nombre_muestra {
    margin: 0 0 4px 0;
    width: 100%;
}
#colores .color_muestra #muestra,
#colores #color_muestra #muestra {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 4px 0 0 0;
}
#colores .imgMuestras {
    width: 41px !important;
    height: 61px !important;
    max-width: 41px;
    border-radius: 6px !important;
    object-fit: cover;
    object-position: center;
    margin-top: 0 !important;
    border: 1px solid #aeb4bf !important;
    box-sizing: border-box;
    cursor: pointer;
}

/* Baño: tipos de lavabo encima del panel de acabados (derecha) */
.panel-tipos-lavabo {
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d0d4dc;
}
#panelTiposLavabo.panel-tipos-lavabo--oculto {
    display: none !important;
}
.panel-tipos-lavabo-titulo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    font-weight: 600;
    color: #2a2e32;
    margin: 0 0 8px 0;
}
.panel-tipos-lavabo-titulo-icon {
    font-size: 1.15em;
    color: #569abc;
    flex-shrink: 0;
    line-height: 1;
}
.panel-tipos-lavabo-hint {
    font-size: 14px;
    color: #000000;
    margin: 0 0 10px 0;
}
/* Carrusel horizontal: tipos de lavabo */
.lavabos-tipo-carousel {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.panel-tipos-lavabo.lavabos-tipo-carousel--no-overflow .lavabos-tipo-carousel {
    justify-content: center;
}
.lavabos-tipo-viewport {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #c4c9d2 transparent;
    padding: 2px 0 6px 0;
}
.panel-tipos-lavabo.lavabos-tipo-carousel--no-overflow .lavabos-tipo-viewport {
    flex: 0 1 auto;
    width: auto;
    max-width: calc(100% - 56px);
    overflow-x: visible;
    display: flex;
    justify-content: center;
}
.panel-tipos-lavabo.lavabos-tipo-carousel--no-overflow .lavabos-tipo-track {
    margin-left: auto;
    margin-right: auto;
}
.lavabos-tipo-viewport::-webkit-scrollbar {
    height: 6px;
}
.lavabos-tipo-viewport::-webkit-scrollbar-thumb {
    background: #c4c9d2;
    border-radius: 4px;
}
.lavabos-tipo-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: flex-start;
    width: max-content;
    min-height: 100%;
    padding: 0 2px;
}
.panel-tipos-lavabo.lavabos-tipo-carousel--no-overflow .lavabos-tipo-nav {
    display: none;
}
.lavabos-tipo-nav {
    flex-shrink: 0;
    align-self: center;
    width: 26px;
    min-height: 76px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: #2a2e32;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}
.lavabos-tipo-nav:hover:not(:disabled) {
    background: #f0f1f3;
    color: #0d6efd;
}
.lavabos-tipo-nav:disabled {
    opacity: 0.35;
    cursor: default;
}
.btn-lavabo-tipo {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    scroll-snap-align: start;
    width: 76px;
    padding: 0 2px 2px;
    border: none;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    text-align: center;
    gap: 4px;
}
.btn-lavabo-tipo:hover .btn-lavabo-tipo-imgwrap {
    opacity: 0.92;
}
.btn-lavabo-tipo.active .btn-lavabo-tipo-imgwrap {
    box-shadow: 0 0 0 2px #0d6efd;
}
.btn-lavabo-tipo-imgwrap {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    display: block;
    overflow: hidden;
    border-radius: 4px;
    background: #fff;
    border: 1px solid #c4c9d2;
    box-sizing: border-box;
}
.btn-lavabo-tipo-imgwrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.btn-lavabo-tipo-imgwrap.lavabo-sin-img::after {
    content: "—";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #adb5bd;
    font-size: 22px;
}
.btn-lavabo-tipo-label {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: #2a2e32;
    word-break: break-word;
    padding: 0 1px;
    max-width: 100%;
}
.btn-lavabo-tipo.active .btn-lavabo-tipo-label {
    color: #0d6efd;
}
.btn-lavabo-tipo .lavabo-sobre {
    display: block;
    margin-top: 0;
    font-size: 8px;
    line-height: 1.15;
    color: #6c757d;
}

/* Modal centrado: artículo añadido al presupuesto */
.articulo-agregado-overlay {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
        max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    background: rgba(0, 0, 0, 0.45);
    box-sizing: border-box;
}
.articulo-agregado-panel {
    width: 100%;
    max-width: 400px;
    margin: auto;
    background: #fff;
    border-radius: 10px;
    padding: 32px 28px 24px;
    text-align: center;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
}
.articulo-agregado-icon {
    font-size: 2.75rem;
    color: #3d8f5c;
    margin-bottom: 14px;
    display: block;
    line-height: 1;
}
.articulo-agregado-icon--alerta {
    color: #c17a00;
}
.articulo-agregado-mensaje {
    margin: 0 0 22px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #2a2e32;
    line-height: 1.45;
}
.articulo-agregado-btn {
    background-color: #569abc;
    border: 0;
    color: #fff;
    padding: 10px 32px;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    min-width: 120px;
}
.articulo-agregado-btn:hover {
    filter: brightness(0.95);
}

/* Modal centrado: confirmar eliminar borrador */
.modal-confirm-borrador-overlay {
    position: fixed;
    inset: 0;
    z-index: 1110;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right))
        max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    background: rgba(0, 0, 0, 0.45);
    box-sizing: border-box;
}
.modal-confirm-borrador-panel {
    width: 100%;
    max-width: 420px;
    margin: auto;
    background: #fff;
    border-radius: 10px;
    padding: 28px 24px 22px;
    text-align: center;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
}
.modal-confirm-borrador-mensaje {
    margin: 0 0 24px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #2a2e32;
    line-height: 1.45;
}
.modal-confirm-borrador-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    align-items: center;
}
.modal-confirm-borrador-btn {
    border: 0;
    padding: 10px 22px;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    min-width: 110px;
}
.modal-confirm-borrador-btn-cancelar {
    background: #e9ecef;
    color: #2a2e32;
}
.modal-confirm-borrador-btn-cancelar:hover {
    filter: brightness(0.97);
}
.modal-confirm-borrador-btn-eliminar {
    background: #8b0000;
    color: #fff;
}
.modal-confirm-borrador-btn-eliminar:hover {
    filter: brightness(1.08);
}

.presupuesto-validacion-lista {
    text-align: left;
    margin: 0 0 22px;
    padding-left: 1.25rem;
    font-size: 0.95rem;
    font-weight: 500;
    color: #2a2e32;
    line-height: 1.5;
}
.presupuesto-validacion-lista li {
    margin-bottom: 4px;
}
.presupuesto-validacion-intro {
    margin: 0 0 12px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #2a2e32;
    line-height: 1.45;
}

/* Logo cabecera producto (hogar y baños): encajar en #logotipo sin recortes raros */
#logotipo img.img-logo-cabecera-producto,
#logotipo > img {
    display: block;
    max-width: 100%;
    max-height: 119px;
    width: auto;
    height: auto;
    object-fit: contain;
}