/* ==========================================================================
   MINMUEBLES ARCO — Estilos Fichas de Predios (predio-*.php)
   ========================================================================== */

/* ==========================================================================
   11. PREDIO 2064 (Página de Predio)
   ========================================================================== */

/* Hero de Predio */
.predio-hero{
  position:relative;
  min-height:clamp(560px,72vw,960px);
  display:flex;
  align-items:center;
  padding-block:clamp(160px,24vw,340px) clamp(100px,14vw,200px);
  overflow:hidden;
}
.predio-hero__fondo{
  position:absolute;
  inset:0;
  z-index:0;
}
.predio-hero__fondo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.predio-hero__fondo::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.52);
}
.predio-hero__contenido{
  position:relative;
  z-index:1;
  width:100%;
}
.predio-hero__titulo{
  font-size:clamp(2.8rem,6.8vw,5.6rem);
  font-weight:300;
  letter-spacing:.04em;
  text-transform:uppercase;
  line-height:1.1;
  color:#fff;
  text-shadow:0 3px 20px rgba(0,0,0,.4);
}
.predio-hero__titulo strong{
  font-weight:800;
}

/* Sección Intro / Ficha Técnica */
.predio-intro{
  padding-block:clamp(60px,9vw,130px);
  background:var(--negro);
}
.predio-intro__grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:clamp(40px,7vw,110px);
  align-items:flex-start;
}
.predio-intro__desc{
  display:flex;
  flex-direction:column;
  gap:clamp(18px,2.5vw,30px);
  border-left:1.5px solid rgba(255,255,255,.75);
  padding-left:clamp(22px,3.8vw,44px);
  max-width:640px;
}
.predio-intro__desc p{
  font-size:clamp(.9rem,1.3vw,1.08rem);
  line-height:1.75;
  font-weight:300;
  color:#ffffff;
}
.predio-intro__specs{
  display:flex;
  flex-direction:column;
  gap:0;
  max-width:320px;
  width:100%;
}
.predio-spec{
  padding-block:12px 10px;
  border-bottom:1.5px solid rgba(255,255,255,.75);
  font-size:clamp(1rem,1.4vw,1.18rem);
  font-weight:400;
  color:#ffffff;
  line-height:1.35;
}
.predio-spec:first-child{
  padding-top:0;
}

/* Sección Acabados */
.predio-acabados{
  padding-block:clamp(50px,8vw,110px);
  background:var(--negro);
}
.predio-acabados__inner{
  max-width:960px;
  margin-inline:auto;
}
.predio-acabados__titulo{
  font-family:var(--fuente-heavy);
  font-size:clamp(2rem,3.8vw,3rem);
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:clamp(30px,5vw,55px);
  color:#fff;
}
.predio-acabados__foto{
  width:100%;
  border-radius:4px;
  overflow:hidden;
  margin-bottom:clamp(35px,5.5vw,60px);
}
.predio-acabados__foto img{
  width:100%;
  height:auto;
  display:block;
}
.predio-acabados__subtitulo{
  font-size:clamp(1.2rem,1.9vw,1.6rem);
  font-weight:700;
  color:#fff;
  margin-bottom:12px;
}
.predio-acabados__texto{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.predio-acabados__texto p{
  font-size:clamp(.9rem,1.3vw,1.12rem);
  line-height:1.75;
  font-weight:300;
  color:rgba(255,255,255,.85);
}

/* Gran Banner Panorámico / Banners múltiples */
.predio-banners{
  display:flex;
  flex-direction:column;
  width:100%;
}
.predio-banner{
  width:100%;
  overflow:hidden;
  position:relative;
}
.predio-banner img{
  width:100%;
  height:auto;
  display:block;
}

/* Mosaico Galería Predio 3045 */
.predio-mosaico{
  display:grid;
  grid-template-columns:46.5% 53.5%;
  width:100%;
  overflow:hidden;
  align-items:stretch;
}
.predio-mosaico__col-izq{
  width:100%;
  height:100%;
  display:flex;
}
.predio-mosaico__col-izq img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.predio-mosaico__col-der{
  display:grid;
  grid-template-rows:1fr 1fr;
  width:100%;
  height:100%;
}
.predio-mosaico__item{
  width:100%;
  height:100%;
  overflow:hidden;
}
.predio-mosaico__col-der img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Galería Predio 3140 (1 arriba + 2 abajo) */
.predio-galeria-3140{
  display:flex;
  flex-direction:column;
  width:100%;
  overflow:hidden;
}
.predio-galeria-3140__top{
  width:100%;
}
.predio-galeria-3140__top img{
  width:100%;
  height:auto;
  display:block;
}
.predio-galeria-3140__bottom{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
}
.predio-galeria-3140__item{
  width:100%;
  height:100%;
  overflow:hidden;
}
.predio-galeria-3140__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:768px){
  .predio-galeria-3140__bottom{
    grid-template-columns:1fr;
  }
}

/* Sección Áreas Verdes */
.predio-verdes{
  padding-block:clamp(60px,9vw,130px);
  background:var(--negro);
}
.predio-verdes__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,7vw,110px);
  align-items:center;
}
.predio-verdes__info{
  display:flex;
  flex-direction:column;
  gap:clamp(16px,2.2vw,28px);
}
.predio-verdes__titulo{
  font-family:var(--fuente-heavy);
  font-size:clamp(2rem,3.8vw,3rem);
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}
.predio-verdes__info p{
  font-size:clamp(.92rem,1.4vw,1.15rem);
  line-height:1.75;
  font-weight:300;
  color:rgba(255,255,255,.88);
}
.predio-verdes__foto{
  border-radius:4px;
  overflow:hidden;
}
.predio-verdes__foto img{
  width:100%;
  height:auto;
  display:block;
}

/* Sección Contacto / Ubicación y Formulario */
.predio-contacto{
  padding-block:clamp(60px,9vw,130px);
  background:var(--negro);
}
.predio-contacto__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(40px,7vw,100px);
  align-items:flex-start;
}
.predio-contacto__info{
  display:flex;
  flex-direction:column;
}
.predio-contacto__dir{
  font-size:clamp(1.1rem,1.6vw,1.35rem);
  font-weight:700;
  color:#fff;
  line-height:1.4;
  margin-bottom:clamp(18px,2.5vw,26px);
}
.predio-contacto__desc{
  font-size:clamp(.88rem,1.25vw,1.05rem);
  line-height:1.75;
  font-weight:300;
  color:rgba(255,255,255,.85);
  max-width:440px;
  margin-bottom:clamp(35px,5vw,60px);
}
.predio-contacto__datos{
  display:flex;
  flex-direction:column;
}
.predio-contacto__seccion-titulo{
  font-size:clamp(.95rem,1.3vw,1.12rem);
  font-weight:400;
  color:#fff;
  margin-bottom:clamp(18px,2.5vw,24px);
}
.predio-contacto__item{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:clamp(20px,2.8vw,28px);
}
.predio-contacto__tel{
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  font-weight:800;
  color:#fff;
  letter-spacing:.02em;
  line-height:1.2;
}
.predio-contacto__nombre{
  font-size:clamp(1.05rem,1.5vw,1.35rem);
  font-weight:800;
  color:#fff;
  letter-spacing:.01em;
}

/* Tarjeta de Formulario */
.predio-card-form{
  background:#232528;
  border-radius:24px;
  padding:clamp(32px,4.5vw,46px) clamp(24px,3.8vw,40px);
  max-width:460px;
  width:100%;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.predio-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.predio-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.predio-form__row--single{
  grid-template-columns:1fr 1fr;
}
.predio-form__campo{
  position:relative;
}
.predio-form input[type="text"],
.predio-form input[type="email"],
.predio-form input[type="tel"],
.predio-form select{
  width:100%;
  height:40px;
  background:#ffffff;
  border:none;
  border-radius:999px;
  padding:0 18px;
  font-size:.88rem;
  font-weight:500;
  color:#222;
  font-family:inherit;
}
.predio-form input::placeholder{
  color:#777;
  font-weight:400;
}
.predio-form__select-wrap{
  position:relative;
}
.predio-form select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:36px;
  color:#666;
  cursor:pointer;
}
.predio-form__select-wrap::after{
  content:'▾';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:.85rem;
  color:#666;
  pointer-events:none;
}
.predio-form__campo--mensaje{
  margin-top:10px;
}
.predio-form textarea{
  width:100%;
  min-height:75px;
  background:transparent;
  border:none;
  border-bottom:1.5px solid rgba(255,255,255,.75);
  border-radius:0;
  padding:6px 0;
  font-size:.95rem;
  color:#fff;
  font-family:inherit;
  resize:none;
}
.predio-form textarea::placeholder{
  color:rgba(255,255,255,.85);
  font-size:.95rem;
}
.predio-form textarea:focus{
  outline:none;
  border-bottom-color:#fff;
}
.predio-form__aviso{
  margin-top:6px;
}
.predio-form__checkbox-label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  cursor:pointer;
}
.predio-form__checkbox-label input[type="checkbox"]{
  width:14px;
  height:14px;
  margin-top:3px;
  flex-shrink:0;
  accent-color:#fff;
  cursor:pointer;
}
.predio-form__checkbox-label span{
  font-size:clamp(.62rem,.85vw,.7rem);
  line-height:1.45;
  color:rgba(255,255,255,.8);
}
.predio-form__checkbox-label span a{
  color:rgba(255,255,255,.9);
  text-decoration:underline;
  text-underline-offset:2px;
}
.predio-form__btn-wrap{
  display:flex;
  justify-content:flex-start;
  margin-top:10px;
}
.predio-form__boton{
  padding:9px 44px;
  border-radius:999px;
  background:#1c1d1f;
  border:1.2px solid rgba(255,255,255,.85);
  color:#ffffff;
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
  transition:background var(--trans),border-color var(--trans),transform var(--trans);
}
.predio-form__boton:hover{
  background:#333539;
  border-color:#fff;
  transform:translateY(-1px);
}

/* Responsive Predios */
@media (max-width:900px){
  .predio-intro__grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .predio-verdes__grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .predio-contacto__grid{
    grid-template-columns:1fr;
    gap:50px;
  }
  .predio-form__row{
    grid-template-columns:1fr;
  }
}

/* ==========================================================================
   Ajustes de móvil (revisión técnica) — bloque nuevo, escritorio intacto
   ========================================================================== */
@media (max-width:760px){
  /* Evita el zoom automático de iOS al enfocar un campo (<16px lo dispara). */
  .predio-form input[type="text"],
  .predio-form input[type="email"],
  .predio-form input[type="tel"],
  .predio-form select,
  .predio-form textarea{font-size:16px;}
  /* Los campos crecen un poco para que el texto de 16px respire. */
  .predio-form input[type="text"],
  .predio-form input[type="email"],
  .predio-form input[type="tel"],
  .predio-form select{height:46px;}

  /* Casilla de consentimiento y su texto legal, ambos por debajo del mínimo
     legible/tocable en un teléfono. */
  .predio-form__checkbox-label input[type="checkbox"]{width:18px;height:18px;margin-top:1px;}
  .predio-form__checkbox-label span{font-size:.78rem;line-height:1.5;}
}

/* ==========================================================================
   Bloque de contacto: correo electrónico y teléfonos pulsables
   --------------------------------------------------------------------------
   Los teléfonos pasaron de <span> a <a href="tel:"> y se añadió el correo,
   para que las fichas de predio muestren los mismos datos que la página de
   contacto. El correo hereda el tamaño del teléfono; el "Correo electrónico"
   que lo encabeza necesita menos separación que el título de la lista.
   ========================================================================== */
.predio-contacto__email{
  font-size:clamp(1.2rem,1.8vw,1.55rem);
  font-weight:800;
  color:#fff;
  letter-spacing:.02em;
  line-height:1.2;
  word-break:break-word;
}
.predio-contacto__item--email{
  margin-top:clamp(6px,1vw,12px);
}
.predio-contacto__item--email .predio-contacto__seccion-titulo{
  margin-bottom:clamp(8px,1.2vw,12px);
}
.predio-contacto__tel,
.predio-contacto__email{
  transition:opacity var(--trans);
}
.predio-contacto__tel:hover,
.predio-contacto__email:hover{
  opacity:.72;
}

@media (max-width:760px){
  /* Mismo criterio que en el resto del sitio: 44px de alto mínimo para el dedo. */
  .predio-contacto__tel,
  .predio-contacto__email{
    display:inline-block;
    padding-block:11px;   /* 23px de línea + 22 = 45px de zona pulsable */
  }
  .predio-contacto__item{margin-bottom:clamp(10px,2vw,16px);}
}
