/* Fondo compartido de INCPLANTA. Se carga después de los estilos de cada página. */
:root {
  --fondo-sitio: #e6ecf3;
  --fondo-sitio-alterno: #dde5ee;
  --grilla-sitio:
    linear-gradient(rgba(44, 74, 138, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(44, 74, 138, .045) 1px, transparent 1px);
  --relieve-sitio: 0 3px 14px rgba(30, 51, 102, .055);
}

body,
body.fracttal-tool-page {
  background-color: var(--fondo-sitio);
  background-image: var(--grilla-sitio);
  background-size: 32px 32px;
}

.section-alt {
  background-color: var(--fondo-sitio-alterno);
  background-image: var(--grilla-sitio);
  background-size: 32px 32px;
}

/* El diagnóstico de procesos ya tenía una capa de grilla: usar solo la común. */
.bg-animated { background-image: none; }

/* Superficies de lectura sólidas; los encabezados, CTA y pies conservan su diseño. */
:where(body:not(.resources-page)) :is(
  .service-card, .service-detail-card, .problem-card, .diagnostic-card,
  .diagnostic-step, .diagnostic-side, .value-card, .contact-card,
  .contact-form-wrap, .maintenance-form, .fracttal-step-card,
  .question-card, .result-card
) {
  border-color: #ccd6e3;
  box-shadow: var(--relieve-sitio);
}

body.client-view .layout > form,
body.internal-view .layout > form {
  border-color: #ccd6e3;
  box-shadow: var(--relieve-sitio);
}

.site-reading-panel {
  width: calc(100% - 48px);
  padding: clamp(24px, 4vw, 40px);
  background: #fff;
  border: 1px solid #ccd6e3;
  border-radius: 12px;
  box-shadow: var(--relieve-sitio);
}

/* Bloques existentes que usaban columnas fijas en estilos inline. */
.site-history-grid, .site-offices-grid, .site-purpose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.site-history-grid { gap: 80px; align-items: center; }
.site-offices-grid { gap: 28px; }
.site-purpose-grid { gap: 32px; }
.site-history-grid > *, .site-offices-grid > *, .site-purpose-grid > * { min-width: 0; }
@media (max-width: 768px) {
  .site-history-grid, .site-offices-grid, .site-purpose-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 400px) {
  .btn, .btn-blanco { max-width: 100%; white-space: normal; text-align: center; overflow-wrap: anywhere; }
  .diagnostic-card { min-width: 0; }
  .fracttal-catalog-workbench { grid-template-columns: minmax(0, 1fr); }
  .fracttal-catalog-workbench > * { min-width: 0; }
  .site-history-grid .why-stats-card { padding: 32px 22px; }
  .site-offices-grid > div { flex-wrap: wrap; }
}

@media print {
  body, body.fracttal-tool-page, .section-alt {
    background: #fff !important;
  }
  .site-reading-panel { box-shadow: none; }
}
