/*
 Theme Name: ReSignature Homes
Theme URI: https://generatepress.com/
Description: Theme for resignaturehome.com
 Author: ReSignature Homes
 Author URI: https://resignaturehome.com/
 Template: generatepress
 Version: 1.0
*/

/* Add your custom CSS below */

.home-card{
background:#fff;
border-radius:15px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.08);
position: relative;
}
.mir {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 999;
    background: #27ae60;
    border-radius: 100px;
    padding: 4px 15px;
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: white;
    letter-spacing: -0.6px;
}


.home-image {
position:relative;
height:220px;
background-size:cover !important;
background-position:center !important;
}
.home-image img{
background-size:cover !important;
background-position:center !important;
}
.home-image {
background-size:cover !important;
background: gray;
}

.home-link{
position:absolute;
inset:0;
}
/*
.home-content{
padding: 10px 20px;
}*/

.home-price{
font-family: "Work Sans", Sans-serif !important;
  font-size: 28px;
  font-weight: 500 !important;
  letter-spacing: -0.5px !important;
  color: #000000 !important;
  padding: 10px 15px 0;
}

.home-location h2{
margin:0;
font-family: "Work Sans", Sans-serif;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: -2% !important;
  color: #000000 !important;
}
.home-location h2 a{
    color: #000000 !important;  
}
.home-location {
 border-bottom: solid 1px #E7E7E7;
 padding: 0px 15px 15px;
 display: inline-block;
}
.home-location {
    display: flex;
    align-items: center; /* alinea verticalmente */
    gap: 3px; /* espacio entre icono y texto */
}
/*.home-location > div{
display:flex;
align-items:center;
gap:8px;
}*/

.home-location h2{
margin:0;
}
.home-location .elementor-icon{
    fill:#981320;
    height:25px;
    font-size:15px;
}
.home-features{
padding:10px 15px 0px;
}
.home-features ul{
    margin:0 !important; 
    display:flex;
gap:20px;
list-style:none;
}
.home-features li{
font-size:14px;
display: inherit;
gap:4px;
line-height:1;
}

.home-features > div li{
display:flex;
align-items:center;
gap:8px;
}
.homes .elementor-posts-container{
display:grid !important;
grid-template-columns:repeat(3,1fr) !important;
}

/*Models*/
.model-home-card{
background:#fff;
border-radius:10px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.model-home-image {
position:relative;
height:250px;
background-size:cover !important;
background-position:center !important;
}
.model-home-image img{
background-size:cover !important;
background-position:center !important;
}
.model-home-image {
background-size:cover !important;
background: gray;
}

.model-home-link{
position:absolute;
inset:0;
}


.model-home-location h2{
margin:0;
font-family: "Work Sans", Sans-serif;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;
  color: #000000 !important;
}
.model-home-location h2 a{
    color: #000000 !important;  
}
.model-home-location {
 border-bottom: solid 1px #E7E7E7;
 padding: 0px 20px 15px;
 display: inline-block;
 padding: 10px 20px 10px;
}
.model-home-location {
    display: flex;
    align-items: center; /* alinea verticalmente */
    gap: 6px; /* espacio entre icono y texto */
}
.model-home-location h2{
margin:0;
}
.model-home-location .elementor-icon{
    fill:#981320;
    height:15px;
    font-size:15px;
}
.model-home-features{
padding:10px 20px 0px;
}
.model-home-features ul{
    margin:0 !important; 
    display:flex;
gap:20px;
list-style:none;
}
.model-home-features li{
font-size:14px;
display: inherit;
gap:4px;
line-height:1;
}

.model-home-features > div li{
display:flex;
align-items:center;
gap:8px;
}
.model-homes .elementor-posts-container{
display:grid !important;
grid-template-columns:repeat(3,1fr) !important;
}
/**/

.neighborhoods .elementor-posts-container{
display:grid !important;
grid-template-columns:repeat(4,1fr) !important;
}
/*.elementor-grid-item{
width:100% !important;
}*/
.elementor-grid-item .homes {
    padding:10px;
}
.elementor-heading-title {
    font-family: "Work Sans", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0px;
  color: #000000;
}
/*.homes .elementor-heading-title a{
  color: #000000 !important;
}*/

.address-row{
display:flex;
align-items:center;
gap:10px;
flex-wrap:nowrap;
}

.address-row .elementor-widget-icon{
flex:0 0 auto;
}

.address-row .elementor-widget-heading{
margin:0;
}
/* ===== Desktop (default) ===== */
#grid-2 .my-grid article{
    width:48%;
    display:inline-block;
    padding: 10px;
}

#grid-3 .my-grid article{
    width:33%;
    display:inline-block;
    padding: 10px;
}

#grid-4 .my-grid article{
    width:25%;
    display:inline-block;
    padding: 10px;
}
#grid-5 .my-grid article{
    width:19%;
    display:inline-block;
    padding: 10px;
}

/* ===== Tablet ===== */
@media (max-width: 1024px){
    #grid-3 .my-grid article,
    #grid-4 .my-grid article,
    #grid-5 .my-grid article{
        width:50%;
    }
}

/* ===== Mobile ===== */
@media (max-width: 600px){
    #grid-3 .my-grid article,
    #grid-4 .my-grid article,
    #grid-5 .my-grid article{
        width:100%;
    }
}



.neighborhood-card{
background:#fff;
border-radius:10px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.08);
display: grid;
grid-template-columns: 1fr 1fr; /* dos columnas iguales */
 gap: 20px;  /*espacio entre columnas */
 align-items: stretch;
 min-height: 320px;
}

.neighborhood-image {
    background-size: cover;
    background-position: center;
    min-height: 320px; /* ajusta según diseño */
}



.neighborhood-image {
background-size:cover !important;
background: gray;
}
.neighborhood-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 15px 0 0;
}


.neighborhood-name{
font-family: "Work Sans", Sans-serif !important;
  font-size: 18px;
  font-weight: 600 !important;
  letter-spacing: -0.5px !important;
  color: #000000 !important;
  padding: 10px 0px 10px;
}
.neighborhood-name a{
  color: #000000 !important;
}
.neighborhood-description{
margin:0;
font-family: "Work Sans", Sans-serif;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  letter-spacing: 0px !important;
  color: #000000 !important;
}
.neighborhood-a a{
    color: #981320 !important;  
    font-family: "Work Sans", Sans-serif;
  font-size: 14px !important;
  font-weight: 600 !important;
}



.neighborhoods .elementor-posts-container{
display:grid !important;
grid-template-columns:repeat(3,1fr) !important;
}

#elementor-popup-modal-12407 .dialog-message {
  width: 60vw !important;
  height: auto;
}


/*Floor plans*/

.floorplan-wrapper{
    width:100%;
}

.floorplan-controls{
    display:flex;
    gap:10px;
    margin-bottom:15px;
}

.floorplan-controls button{
    padding:8px 15px;
    cursor:pointer;
}

.floorplan-container{
    width:100%;
    height:700px;
    overflow:auto;
    border:1px solid #ddd;
    background:#fff;
    text-align:center;
}

.floorplan-image{
    max-width:none;
    transform-origin:center center;
    transition:transform .2s ease;
}
.fp-img{
    -webkit-user-drag: none;
    user-drag: none;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none; /* clave para evitar drag nativo */
}
.fp-stage{
    cursor: grab;
}

.fp-stage:active{
    cursor: grabbing;
}