/* Sistema tipográfico público. Cargar después de los estilos de cada página.
   Base: descripciones de beneficios de Eventos. El admin no carga este archivo. */
:root {
  --font-body: "Inter", sans-serif;
  --font-heading: var(--font-body);
  --content-size: 15px;
  --content-weight: 300;
  --content-leading: 1.6;
  --content-color: #6d5b4d;
  --label-size: clamp(.875rem, 1.15vw, 1rem);
  --label-weight: 500;
  --label-tracking: .08em;
}
@media (max-width:1199px) {
  :root { --content-size: 14px; }
}

/* Una familia; el peso y la escala distinguen cada función. */
body { font-family:var(--font-body); font-weight:var(--content-weight); }
body :is(h1,h2,h3,h4) { font-family:var(--font-body); font-weight:500; }
body :is(strong,b) { font-weight:500; }
body :is(input,select,textarea) { font-family:var(--font-body); font-weight:400; }
body :is(button,.cta,.contact-action,.hero-demo-link,.hero-demo-btn,
  .machine-modal__official,.result-dialog__official,.wizard-option-title,
  .machine-card__action,.machine-details-button,.index-faq__links a) {
  font-family:var(--font-body); font-weight:500; font-style:normal;
}
body :is(.form-field,.wizard-label) { font-weight:500; }
body .response-card h1,
body .response-card .option-card h2 { font-family:var(--font-body); font-weight:500; }
/* Los campos conservan 16px para evitar el zoom al escribir en móvil. */
body :is(.wizard-input,.wizard-select,.form-field input,.form-field select,.form-field textarea) {
  font-size:16px; font-weight:400;
}

/* Hero: misma familia, con escala y énfasis propios de la portada. */
body .c360-hero .c360-hero__title { font-family:var(--font-body); font-weight:600; }
body .c360-hero .c360-hero__description { font-weight:300; line-height:1.6; }
body .c360-hero .c360-hero__eyebrow { font-family:var(--font-body); font-weight:500; }
body .c360-hero .c360-hero__cta { font-family:var(--font-body); font-weight:500; }

/* Títulos de sección: patrón «Conoce más», sin alterar sus márgenes. */
body[data-initial-mode] .section h2,
body[data-initial-mode] .section h2.section-label-title,
body .index-faq .index-faq__header h2,
body .privacy-content h2,
body.photo-selector .option-card h2,
body .next-step .section-eyebrow,
body .result-summary .section-eyebrow {
  font-family:var(--font-body);
  font-size:var(--label-size);
  font-weight:var(--label-weight);
  line-height:1.6;
  letter-spacing:var(--label-tracking);
  text-transform:uppercase;
}
body[data-initial-mode] .section h2 { color:var(--navy); }
body[data-initial-mode] .included-section .benefit-content h3,
body[data-initial-mode] .testimonial__metric,
body .event-extras__item h3 {
  font-family:var(--font-body);
  font-size:var(--label-size);
  font-weight:var(--label-weight);
  line-height:1.6;
  letter-spacing:var(--label-tracking);
  text-transform:uppercase;
}

/* Contenido de lectura: misma base en ambas landings y páginas auxiliares. */
body[data-initial-mode] :is(.section .sub,.included-section .benefit-content p,
  .coffee-brands-section__intro,.coffee-brand-card p:not(.coffee-brand-caption),
  .demo-panel__intro,.demo-highlights li,.demo-details p,.contact-followup,
  .faq-item summary,.faq-answer p,.faq-answer li,.testimonial__quote,
  .event-extras__item li,.event-extras__item p,.entry-sub,.precotizar-sub,
  .wizard-option-sub,.machine-quickfact),
body :is(.selection-value,.option-main,.selection-header > p,.response-card > p,
  .index-faq__question,.index-faq__answer p,.privacy-content p,.privacy-content li,
  .coffee-details-content p,.machine-modal__description,.result-dialog__description,
  .machine-comparison-modal__intro,.result-confirmation,.recommendation-intro,
  .empty-precotizar p,.next-step > div > p:not(.section-eyebrow),.next-step-list li,
  .demo-precotizar__highlights li,.demo-precotizar__details p) {
  font-family:var(--font-body);
  font-size:var(--content-size);
  font-weight:var(--content-weight);
  line-height:var(--content-leading);
  color:var(--content-color);
  letter-spacing:normal;
  text-transform:none;
}
body[data-initial-mode] .testimonial__quote { font-style:italic; }
body[data-initial-mode] .testimonial__author { font-size:13px; font-weight:400; }
body[data-initial-mode] .faq-item summary::after { font-weight:400; font-size:24px; }
body[data-initial-mode] .machine-quickfact small { font-weight:500; }

/* Modales, fichas y cotizador: títulos de lectura, sin mayúsculas en preguntas. */
body :is(.coffee-details-header h2,.machine-modal__content h2,
  .machine-comparison-header h2,.precotizar-title,.entry-title,
  .result-dialog__content h2,.next-step h2,.empty-precotizar h2) {
  font-family:var(--font-body);
  font-weight:500;
  line-height:1.35;
  letter-spacing:normal;
  text-transform:none;
}
body .coffee-details-header h2 { font-size:22px; }
body .coffee-details-options h3 { font-size:16px; font-weight:500; line-height:1.5; }
body .coffee-details-options .coffee-details-profile { font-weight:400; color:#795823; }
body :is(.machine-modal__specs-title,.result-dialog__specs-title,
  .machine-modal__eyebrow,.result-dialog__eyebrow,.precotizar-kicker) {
  font-family:var(--font-body); font-weight:500; letter-spacing:.08em;
}
body :is(.machine-modal__tag,.result-dialog__tag) { font-weight:400; }
body :is(.machine-modal__spec dt,.result-dialog__spec dt,
  .machine-comparison-table th,.result-fact dd) { font-weight:500; }
body :is(.machine-modal__spec dd,.result-dialog__spec dd,
  .machine-comparison-table td) { font-weight:300; line-height:1.6; }
body .machine-comparison-table tbody th,
body .machine-comparison-table--desktop thead th:first-child,
body .machine-comparison-table .machine-comparison-criterion th,
body .machine-comparison-pickers label,
body .machine-comparison-pickers select,
body .machine-comparison-table a { font-family:var(--font-body); font-weight:500; }
body :is(.machine-modal__note,.result-dialog__note,.coffee-details-note,
  .privacy-note,.quote-details__body,.price-explanation,.bottom-note,
  .coffee-details__note,.machine-description,.event-note) {
  font-family:var(--font-body); font-weight:300; line-height:1.6; color:var(--content-color);
}
body :is(.privacy-updated,.privacy-kicker,.result-dialog__source,.machine-modal__source) {
  font-family:var(--font-body); font-weight:400; color:var(--content-color);
}
body :is(.coffee-details summary,.quote-details summary,.demo-details summary,
  .demo-precotizar__details summary) { font-weight:500; }
body :is(.machine-range__price,.coffee-monthly) { font-weight:600; }
body :is(.machine-badge,.comparison-label,.result-dialog__specs-title) { font-weight:500; }
body .quote-machine .machine-badge { font-weight:500; }

@media print {
  body { --content-color:#2b1f18; }
}
