/*
Theme Name: CAM Comunidades
Theme URI: https://www.camcomunidades.cl
Author: CAM Comunidades
Author URI: https://www.camcomunidades.cl
Description: Tema de una sola página para CAM Comunidades. Autocontenido: Tailwind compilado y tipografías incluidas en el tema, sin dependencias externas. Página de solo consulta.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cam-comunidades
*/

  html { scroll-behavior: smooth; }
  body { font-family: 'IBM Plex Sans', sans-serif; background-color: #F7F6F2; color: #22282E; }
  h1, h2, h3, .display { font-family: 'Spectral', serif; }
  .mono-tag { font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.04em; }

  /* Blueprint grid texture used only in the hero — the site's one visual signature */
  .blueprint-grid {
    background-image:
      linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px);
    background-size: 42px 42px;
  }

  /* Inspection-stamp badge: a technical seal, not a soft gradient pill */
  .stamp {
    border: 1.5px solid rgba(255,255,255,0.55);
    border-radius: 3px;
    position: relative;
  }
  .stamp::before {
    content: '';
    position: absolute;
    inset: 3px;
    border: 1px dashed rgba(255,255,255,0.35);
    border-radius: 2px;
    pointer-events: none;
  }

  .nav-link { position: relative; }
  .nav-link.active { color: #B5B048; }
  .nav-link.active::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -6px;
    height: 2px;
    background: #B5B048;
  }

  .card-hover { transition: transform .25s ease, box-shadow .25s ease; }
  .card-hover:hover { transform: translateY(-3px); box-shadow: 0 10px 30px -12px rgba(43,58,78,0.25); }

  input:focus, textarea:focus { outline: 2px solid #B5B048; outline-offset: 1px; }
  a:focus-visible, button:focus-visible { outline: 2px solid #B5B048; outline-offset: 2px; }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    * { transition: none !important; animation: none !important; }
  }

  .divider-dot { letter-spacing: 0.35em; }

  /* Justificación de texto en párrafos y listas de contenido */
  p, li {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }
  /* Excepciones: etiquetas cortas, botones y elementos donde justificar no aplica o rompe el diseño */
  .mono-tag, nav p, footer p, label, button p, a p {
    text-align: left;
  }
