a:hover {
    color: #003654;
    text-decoration: underline;
}

[v-cloak] {
    display: none;
}

.img-domus {
    width: 100%;
    object-fit: cover;
}

#mapa_detalle {
    height: 400px;
}

#mapa_lista {
    height: 400px;
}

#mapaCreacion {
    height: 400px;
}

#mapaCreacionBranch {
    height: 400px;
}

#mapaEditarBranch {
    height: 400px;
}

.form-wizard {
    border: 0 !important;
}

.nav-wizard {
    box-shadow: none !important;
}

.form-wizard .nav-wizard {
    box-shadow: none !important;
    margin-bottom: 2rem !important;
}

.div-errores {
    position: fixed;
    z-index: 400;
    right: 5%;
    width: 20%;
    top: 5%;
}

.alert::after {
    content: "x";
    position: absolute;
    right: 5%;
    top: 5%;
    cursor: pointer;
}

.div-errores .alert {
    box-shadow: rgb(0, 0, 0, 0.3) 5px 5px 5px 5px;
}

/* Estilo de filtros inmuebles */
#vs1__combobox,
#vs2__combobox,
#vs3__combobox,
#vs4__combobox,
#vs5__combobox,
#vs6__combobox,
#vs7__combobox,
#vs8__combobox,
#vs9__combobox,
#vs10__combobox,
#vs11__combobox,
#vs12__combobox,
#vs13__combobox,
#vs14__combobox,
#vs15__combobox,
#vs16__combobox,
#vs17__combobox,
#vs18__combobox,
#vs19__combobox,
#vs20__combobox,
#vs21__combobox,
#vs22__combobox,
#vs23__combobox,
#vs24__combobox,
#vs25__combobox,
#vs26__combobox,
#vs27__combobox,
#vs28__combobox,
#vs29__combobox,
#vs30__combobox,
#vs31__combobox,
#vs32__combobox,
#vs33__combobox,
#vs34__combobox,
#vs35__combobox,
#vs36__combobox,
#vs37__combobox,
#vs38__combobox,
#vs39__combobox,
#vs40__combobox,
#vs41__combobox,
#vs42__combobox,
#vs43__combobox,
#vs44__combobox,
#vs45__combobox,
#vs46__combobox,
#vs47__combobox,
#vs48__combobox,
#vs49__combobox,
#vs50__combobox,
#vs51__combobox,
#vs52__combobox,
#vs53__combobox,
#vs54__combobox,
#vs55__combobox {
    background: #fff;
    border: 2px solid #b3b3b3;
    color: #6e6e6e;
    height: 56px;
    border-radius: 0.75rem;
}

/* Color opcion seleccionada */
.vs__selected {
    background-color: #efefef !important;
}

.fondoamenitie {
    background-color: #9a9a9adb;
    height: 40px;
    width: 1%;
    color: #ffff;
    border-radius: 15px;
    vertical-align: middle;
    padding: 8px 8px 8px 8px;
}

.form-control {
    border: 2px solid #b3b3b3 !important;
}

.form-controlx {
    border: 0px !important;
}

.aiend {
    align-items: end;
}

.hidden {
    display: none;
}

::placeholder {
    color: #d2d2d2 !important;
}

.w100 {
    width: 100px !important;
}

.card {
    box-shadow: 0px 0px 13px 0px rgb(129 129 129 / 20%) !important;
    height: calc(100% - 30px) !important;
}

.dropdown-menu {
    box-shadow: -1px 11px 20px 7px rgb(133 133 133 / 55%) !important;
    margin-top: 0 !important;
}

.custom-toast {
    background: rgba(0, 0, 0, 0.5);
    color: white;
    float: none;
    display: flex;
    position: absolute;
    top: 50%;
    left: 25%;
    width: 50%;
    border-radius: 50px;
    padding: 20px;
}

.custom-toast p {
    text-align: center;
    width: 100%;
    margin: 0px;
}

.card-title {
    text-transform: none !important;
}

.fondogris {
    background: #e5e5e5 !important;
}

/* TOOLTIP */
.tooltip1 {
    position: relative;
    display: inline-block;
    /* border-bottom: 1px dotted black; */
}

.tooltip1 .tooltiptext1 {
    visibility: hidden;
    width: 180px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    /* Position the tooltip */
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    margin-left: -60px;
}

.tooltip1:hover .tooltiptext1 {
    visibility: visible;
}

/* TOOLTIP FIN */

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+.slider {
    background-color: #DFCDA5;
}

input:focus+.slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked+.slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

:root {
    --vs-dropdown-option--active-bg: #151515 !important;
}

.vdp-datepicker__calendar {
    top: -282px;
}

.alt50 {
    height: 50px !important;
}

.alt350 {
    height: 350px !important;
}

.alt30 {
    height: 30px !important;
}

.slide-item-list li {
    display: inline-block;
    flex: 0 0 10% !important;
    width: 20% !important;
    padding: 0 5px;
}

/* Mejoras vista de detalle en tablet */
@media (max-width: 1200px) {
    .modal-dialog {
        max-width: 95% !important;
        margin: 1.75rem auto;
    }
}

@media only screen and (max-width: 1199px) {
    .food-list-row .media-bx {
        width: 73%;
    }
}

/* Lista inmuebles, segunda linea de info mejor distribuida */
.food-list-row .food-list-footer {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.mb10 {
    margin-bottom: 10px;
}

.sinpadd {
    padding: 0px 0px 0px 0px !important;
}

.default-close-button {
    z-index: 401;
}

.div-contents {
    display: contents;
}

.bg-gris {
    background-color: #c8c8c8 !important;
}

/* hover del select */
.btn1-light:hover {
    border-color: #6e6e6e !important;
}

/* padding de botones */
.btnqp {
    padding: 0.5rem 0.5rem !important;
}

/* icono de portales en listado */
.icont {
    width: 20px !important;
    height: 20px !important;
    margin-top: 3px;
}

.dgrid {
    display: grid;
}

.text-red {
    color: red;
}

.white-text {
    color: white;
}

.custom-control-e {
    padding-left: 0rem !important;
}

.cajita {
    background-color: #eeeeee;
    padding: 10px !important;
    /* border: solid; */
    border-radius: 1.5rem;
}

.cajita2 {
    border: dashed 1px;
    padding: 10px !important;
    /* border: solid; */
    border-radius: 1.5rem;
}

.brad15 {
    border-radius: 15px;
}

.fondobeige {
    background-color: beige;
}

.img-thumb-gallery {
    width: 140px;
    height: 100px;
    object-fit: cover;
}

.oro {
    color: #CA940E;
}

.brd-f {
    border: 2px solid #b3b3b3 !important;
    border-radius: 0.75rem;
    height: 44px;
}

.vasub {
    vertical-align: sub;
}

.fs30 {
    font-size: 34px;
}
.fs20 {
    font-size: 20px;
}

.delete-picture-button {
    position: absolute;
    background: red;
    color: white;
    cursor: pointer;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 100%;
    right: 1vw;
}

.cursor-as-action {
    cursor: pointer;
}

.tar {
    text-align: right;
}

.pull-right {
    float: right !important;
}

.radio1 {
    width: 22px;
    height: 22px;
    font-size: 13px;
}

/* mejoras vista mapa */
.popupmapa {
    padding: 15px 0px 15px 0px;
}

.leaflet-pane {
    z-index: 1 !important;
}

.leaflet-top,
.leaflet-bottom {
    z-index: 1 !important;
}

/* Color opcion seleccionada */
.vs__selected{
    background-color: #efefef !important;
    border: none !important;
}

.red-alert {
    border: 2px solid red;
}
/* ------------------------------------------------------ */
 /* Estilos para vcard  */
 .sinmargenes{
    margin-left: 0rem !important;
    padding-top: 0rem !important;
 }
 .borderound{
    border-radius: 10px;
 }
 .altovcardfoto{
    height: 180px;
 }
.btnvcard{
    padding: 1rem;
    font-size: 1rem;
    width: 100%;
}
.btnvcardblanco{
    padding: 1rem;
    font-size: 1rem;
    width: 100%;
    background-color: #d6d6d6 !important;
    color: #464a53 !important;
}
.btnvcardblanco:hover {
    color: #fff !important;
    background-color: var(--color-bg-inmo) !important;
}
.btnvcardblanco{
    padding: 1rem;
    font-size: 1rem;
    width: 100%;
    background-color: #d6d6d6 !important;
    color: #464a53 !important;
}

.alineabtnsrs{
    display: grid;
    justify-content: left;
    align-items: center;
}
.profile .profile-photo{
    margin-top: -80px !important;
}
.color-inmo{
    color: var(--color-inmo) !important;
}
.color-bg-inmo{
    background-color: var(--color-bg-inmo) !important;
}
.color-bg-gris{
    background-color: #6f6f6f;
    color: #fff;
}
.color-bg-gris:hover{
    background-color: var(--color-bg-inmo) !important;
    color: #fff;
}
 /* FIN Estilos para vcard  */

/* pagina web conf plantillas */
.cajacpw
{
    border: 3px solid #a89666;
    text-align: center;
}
/* filtros avanzados listado */
.input-group-text {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    margin-bottom: 0;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    background: #efefef;
    border: 2px solid #b3b3b3;
    border-radius: 0.75rem;
}
/* buscador arriba */
.igt2 {
    border: 0px solid #b3b3b3 !important;
}
.blanco{
   color: #ffff;
}

.portal-box {
    padding: 20px;
}

.loading-gif {
    height: 30px;
    width: auto;
}

.password-input {
    display: flex;
    align-items: center;
    width: 97.5%;
}

.password-input input {
    flex: 1;
}

.password-input i {
    cursor: pointer;
    margin-left: -25px;
}

.portal-icon {
    width: 30px;
}

.payment-btn {
    padding: 0.8rem 1.5rem !important;
}

/************ radios con estilos para profichas */

.radio-group {
  display: flex;
  /* gap: 12px; */
  align-items: center;
}

/* Hacemos que el span ocupe toda la caja para poder "resaltar" visualmente */
.radio-box {
  display: inline-block;
  border-radius: 12px;
  padding: 0;                /* el padding lo manejamos en el span */
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
  /* borde por defecto */
  border: 2px solid #cfcfcf;
  background: transparent;
  padding: 10px 18px;
}

/* ocultar input físico */
.radio-box input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* el contenido visible dentro de la caja */
.radio-box .radio-label {
  display: block;
  padding: 10px 20px;
  border-radius: 10px;
  font-size: 16px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: #111;
  background: #f9f9f9;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

/* hover ligero */
.radio-box:hover .radio-label {
  background: #f2f6fb;
  border-radius: 10px;
}

/* ---- aquí viene la magia: cuando el label contiene un input chekeado ---- */
/* selector :has() selecciona el label que tenga input:checked dentro */
.radio-box:has(input:checked) {
  transform: translateY(-1px) scale(1.02);
  /* opcional: borde más marcado en el contorno externo */
  border-color: #3b82f6;
  box-shadow: 0 6px 18px rgba(59,130,246,0.18);
}

.radio-box:has(input:checked) .radio-label {
  background: linear-gradient(180deg,#3b82f6,#2563eb);
  color: #fff;
  box-shadow: 0 6px 24px rgba(37,99,235,0.18);
  transform: translateY(0);
}

/* pequeña animación 'pop' al cambiar */
@keyframes pop {
  0% { transform: scale(0.98); }
  60% { transform: scale(1.06); }
  100% { transform: scale(1); }
}
.radio-box:has(input:checked) .radio-label {
  animation: pop .22s ease;
}

/********* fin radios con estilos para profichas */