/* =============================================================
   /precios/ — overrides de página interna
   PRODUCTION_VISUAL_GATE=PASS_FOR_ILLUSTRATIVE_VISUALS
   W0/W1/W2 = PUBLICABLE_AI_ILLUSTRATIVE · REAL_CASE_PHOTOS=NOT_PROVIDED
   COMMERCIAL_GATE_FLEET=BLOCKED · PRICE_MINIMUM=BLOCKED
   ============================================================= */

.pagina-precios .hero__grilla{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:start;
}
.pagina-precios .hero__imagen{
  grid-column:1;
  grid-row:2;
  max-width:100%;
  border-radius:var(--radio-lg);
  overflow:hidden;
  background:var(--verde-tenue);
}
.pagina-precios .tarjeta-cotizador{
  grid-column:2;
  grid-row:1 / span 2;
}

.foto-precios{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:var(--radio-lg);
  background:var(--verde-tenue);
}
.foto-precios--hero{
  aspect-ratio:4 / 3;
  max-height:320px;
  object-position:center 45%;
}
.foto-precios--fotos{
  aspect-ratio:4 / 3;
  max-height:400px;
  object-position:center 35%;
}
.foto-precios--servicio{
  aspect-ratio:16 / 9;
  max-height:280px;
  object-position:center 40%;
  border-radius:var(--radio-lg);
}

.visual-ilustrativo{
  margin:28px 0 0;
  padding:0;
  border:0;
  border-radius:var(--radio-lg);
  overflow:hidden;
  background:var(--verde-tenue);
}

.factores-precio{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.factor-card{
  border:1px solid var(--borde);
  border-radius:var(--radio-lg);
  background:var(--blanco);
  padding:22px 20px;
  box-shadow:var(--sombra-suave);
}
.factor-card__titulo{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:17px;
  margin-bottom:8px;
  color:var(--tinta);
}
.factor-card p{
  font-size:var(--text-body-desktop);
  line-height:var(--leading-body-desktop);
  color:var(--texto);
}

.casos-precio{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.caso-precio{
  border:1px solid var(--borde);
  border-radius:var(--radio-lg);
  background:var(--blanco);
  padding:22px 20px;
  box-shadow:var(--sombra-suave);
}
.caso-precio__comuna{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--verde-800);
  margin-bottom:6px;
}
.caso-precio__titulo{
  font-size:18px;
  margin-bottom:10px;
}
.caso-precio__material,
.caso-precio__timing{
  font-size:15px;
  line-height:1.55;
  color:var(--texto);
  margin-bottom:8px;
}
.caso-precio__valor{
  margin-top:14px;
  font-size:18px;
  font-weight:700;
  color:var(--verde-800);
}
.casos-disclaimer{
  margin-top:20px;
  font-size:14px;
  color:var(--texto-suave);
  max-width:62ch;
}

.includes-list{
  display:grid;
  gap:14px;
  margin-top:22px;
}
.include-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  padding:16px 18px;
  border-radius:var(--radio);
  background:var(--blanco);
  border:1px solid var(--borde);
}
.include-item .icon{ color:var(--verde); margin-top:2px; }
.include-item h3{ font-size:16px; margin-bottom:4px; }
.include-item p{
  font-size:15px;
  line-height:1.55;
  color:var(--texto);
}
.include-item--nota{
  border-color:#D9C98A;
  background:#FBF8EC;
}

.regla-terreno{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:28px;
  align-items:center;
  padding:28px;
  border-radius:var(--radio-lg);
  background:linear-gradient(135deg,var(--salvia),var(--crema));
  border:1px solid var(--borde);
  margin-top:28px;
}
.regla-terreno__cita{
  font-size:clamp(17px,2vw,20px);
  line-height:1.55;
  color:var(--tinta);
  font-weight:600;
  max-width:46ch;
}

.pagina-precios .preguntas{
  grid-template-columns:1fr 1fr;
}

@media (max-width:1024px){
  .pagina-precios .hero__grilla{ grid-template-columns:1fr; }
  .pagina-precios .hero__imagen,
  .pagina-precios .tarjeta-cotizador{
    grid-column:auto;
    grid-row:auto;
  }
  .pagina-precios .hero__texto{ order:1; }
  .pagina-precios .hero__imagen{ order:2; }
  .pagina-precios .tarjeta-cotizador{ order:3; }
  .factores-precio{ grid-template-columns:1fr; }
  .regla-terreno{ grid-template-columns:1fr; }
  .foto-precios--hero{ max-height:260px; }
}

@media (max-width:720px){
  .casos-precio{ grid-template-columns:1fr; }
  .pagina-precios .preguntas{ grid-template-columns:1fr; }
  .foto-precios--hero{ max-height:200px; object-position:center 40%; }
  .foto-precios--servicio{ max-height:200px; }
  .foto-precios--fotos{ max-height:280px; }
}

.fotos-regla-grilla{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:28px;
  align-items:center;
}
@media (max-width:1024px){
  .fotos-regla-grilla{ grid-template-columns:1fr; }
}

/* PROD-08 — tamaños de camión (4 columnas en desktop) */
.pagina-camion .factores-precio--camion{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:960px){
  .pagina-camion .factores-precio--camion{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
.pagina-camion .factor-card__capacidad{
  font-size:28px;
  font-weight:700;
  color:var(--verde);
  margin:0 0 8px;
  line-height:1.1;
}
