/* Identidad tipográfica Century. Cargar después de las hojas de componentes.
   Arial se reserva para títulos, navegación y acciones; Inter para lectura y
   datos técnicos. Los tamaños e interlineados pertenecen a cada componente:
   esta hoja no debe sustituir sus escalas originales. */
:root {
  --font-heading: Arial, Helvetica, sans-serif;
  --font-ui: var(--font-heading);
  --font-body: "Inter", Arial, Helvetica, sans-serif;
  --weight-hero: 900;
  --weight-heading: 800;
  --weight-navigation: 700;
  --weight-action: 800;
}

/* Bootstrap utiliza las mismas familias aprobadas. */
:root, [data-bs-theme] {
  --bs-font-sans-serif: var(--font-body);
  --bs-body-font-family: var(--font-body);
  --bs-font-monospace: var(--font-body);
}

body {
  font-family: var(--font-body);
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6, .product-title, .card-title {
  font-family: var(--font-heading);
}

button, .btn, .btn-century, .header-cta, .quote-btn,
.main-nav a, .nav-link, .badge,
.solution-whatsapp, .warranty-btn, .solution-link,
.news-product-link, .news-expo-link, .plant-action-link,
.closing-btn-light, .closing-btn-red, .about-video-modal-cta,
.btn-about-red, .btn-about-outline, .modal-whatsapp-btn,
.news-column-header > a, .sidebar-help-card a,
.premium-detail-actions a, .catalog-product-actions a,
.catalog-search-btn, .tool-video-text-trigger, .premium-tab,
.warranty-accordion summary, .century-chat-toggle,
.catalog-load-more, .century-chat-header strong,
.commercial-partners-benefits span {
  font-family: var(--font-ui);
}

p, input, select, textarea, label, table, dl,
.site-footer, .century-chat, .product-description,
.product-meta, .technical-text, .premium-code-line,
.product-detail-tags, .warranty-accordion-content {
  font-family: var(--font-body);
}

/* Solo se armonizan pesos; cada componente conserva su tamaño original. */
.main-nav > a,
.main-nav .nav-link-mega {
  font-weight: var(--weight-navigation);
}

.site-header .mega-column h4 {
  font-weight: var(--weight-navigation);
}

.site-header .mega-column a,
.finder-grid label, .search-field label, .sort-box label,
.sidebar-category {
  font-weight: 600;
}

.btn-century, .header-cta, .quote-btn, .warranty-btn,
.btn-about-red, .btn-about-outline, .modal-whatsapp-btn,
.closing-btn-light, .closing-btn-red, .about-video-modal-cta,
.commercial-partners-cta .solution-whatsapp,
.news-product-link, .news-expo-link, .solution-link, .plant-action-link,
.premium-detail-actions a, .catalog-product-actions a,
.solution-whatsapp, .catalog-search-btn, .tool-video-text-trigger,
.news-column-header > a, .sidebar-help-card a,
.premium-tab, .warranty-accordion summary,
.catalog-page .century-chat-toggle,
.century-chat-toggle, .catalog-load-more {
  font-family: var(--font-ui);
  font-weight: var(--weight-action);
}

.hero h1 {
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  line-height: 1.08;
  font-weight: var(--weight-hero);
}

.about-hero-content h1, .products-hero h1,
.section-heading h2, .solutions-heading h2,
.warranty-copy h2, .plant-action-section .plant-action-heading h2,
.identity-content h2, .timeline-header h2,
.purpose-header h2, .work-process-header h2, .quality-content h2,
.gallery-header h2, .news-hub-header h2,
.why .section-heading h2,
.categories .section-heading.compact h2,
.engineering-content h2, .closing-content h2,
.solution-text h2, .about-video-modal-heading h2,
.tool-video-modal-heading h2, .technical-tables-main-title h2,
.technical-sheet-header-premium h2, .tools-action-heading h2,
.news-column-header h3, .tool-finder .finder-title h2,
.solution-card h3, .reason-card h3, .warranty-summary-card h3,
.plant-video-card h3, .tool-video-content h3,
.purpose-card h3, .value-item h3, .work-step h3,
.timeline-card h3, .certificate-card h3, .gallery-info h3,
.catalog-search-heading h2, .news-product-content h4,
.news-expo-content h4, .catalog-product-card h3,
.cert-card h3, .sidebar-card h3, .sidebar-help-card h3,
.empty-products-message h3, .premium-tab-panel h3,
.description-tab-text h3, .description-tab-advantages h3,
.specs-main-card h3, .specs-interpretation-card h3,
.specs-diagrams-card h3, .specs-diagram-item h4,
.technical-section-heading h3, .technical-card-title h3,
.technical-advantages-card h3, .premium-info-panel h1,
.product-modal-info h2, .commercial-partners-cta .solution-text h2 {
  font-weight: var(--weight-heading);
}

/* Inicio, Nosotros y Productos comparten el mismo límite visual. */
.about-hero-content h1,
.products-hero h1,
.products-hero .catalog-title {
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  line-height: 1.08;
}

/* Las palabras destacadas nunca introducen una tercera tipografía. */
h1 > span, h2 > span, h3 > span,
h1 > strong, h2 > strong, h3 > strong,
.news-hub-header h2 strong, .warranty-copy h2 strong,
.tools-action-heading h2 strong {
  font-family: inherit;
  font-weight: inherit;
}

input, select, textarea,
.tool-finder .finder-grid input, .tool-finder .finder-grid select,
.search-field input, .search-field select,
.searchable-select__button, .searchable-select__option,
.searchable-select__search {
  font-family: var(--font-body);
  font-weight: 400;
}

.section-eyebrow, .kicker, .news-hub-eyebrow,
.news-column-header > div > span, .news-expo-content > span,
.news-badge, .catalog-product-badge,
.warranty-eyebrow, .commercial-partners-kicker,
.solutions-kicker, .plant-action-kicker, .products-kicker,
.plant-video-content > span, .tool-video-content > span,
.purpose-card > span, .product-detail-category,
.product-modal-category, .warranty-contact-item span,
.tools-action-kicker, .product-badge, .section-kicker, .about-kicker {
  font-family: var(--font-ui);
  font-weight: 700;
  text-transform: uppercase;
}

.site-footer, .site-footer .footer-brand p,
.site-footer .footer-col p, .site-footer a,
.site-footer li, .site-footer .footer-bottom {
  font-family: var(--font-body);
}

.site-footer .footer-col h4, .footer-social > span {
  font-family: var(--font-heading);
  font-weight: 700;
}

.footer-social > span {
  font-family: var(--font-ui);
}

/* Conservar el espacio de navegación aprobado en escritorio estrecho. */
@media (min-width: 1181px) and (max-width: 1399px) {
  .site-header { gap: 16px; padding-inline: 24px; }
  .main-nav { gap: 14px; }
  .brand img, .brand-logo img { width: 140px; max-width: 140px; }
  .header-cta, .quote-btn { padding-inline: 18px; }
}
