/* Ajustes de accesibilidad, adaptación móvil y personalización del sitio. */
:root {
  --marca-verde: #3f4b35;
  --marca-crema: #f1f0eb;
  --foco-teclado: #d0d9ae;
}

html { scroll-behavior: smooth; }
body { min-width: 320px; line-height: 1.6; }
img { max-width: 100%; }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, [role="tab"]:focus-visible {
  outline: 3px solid var(--foco-teclado);
  outline-offset: 3px;
}
.logo { display: block; width: clamp(120px, 15vw, 205px); height: auto; object-fit: contain; }
.primary-header { z-index: 1001; }
.mobile-nav-toggle { cursor: pointer; }
.primary-navigation a { display: inline-flex; align-items: center; min-height: 44px; }
.tabs h3, .tabs-est h3 { cursor: pointer; }
.chat, .flecha { z-index: 900; }
input, textarea, select { max-width: 100%; }
textarea { resize: vertical; }
iframe { max-width: 100%; }

@media (max-width: 58em) {
  .primary-navigation { background: var(--marca-verde); }
  .primary-navigation a { color: white; }
  .logo { margin: 1rem; }
  .mobile-nav-toggle { min-width: 44px; min-height: 44px; }
}

@media (max-width: 40em) {
  h1 { font-size: clamp(1.4rem, 7vw, 2.1rem); letter-spacing: 2px; }
  h2 { font-size: clamp(1.5rem, 7vw, 2rem); }
  p.max-content-axis { max-width: 100%; }
  footer { margin-top: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

.primary-navigation { background-image: none !important; background-color: var(--marca-crema); }
.button-type-1, .button-type-2, .button-type-3 { background-image: none !important; background-color: var(--marca-verde); color: white !important; border-radius: 999px; padding: .85rem 1.35rem; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 58em) { .primary-navigation { background-color: var(--marca-verde); } }
