/* ══════════════════════════════════════
   FERRANOVA — Reset de Plataforma
   Normalización + override WordPress/WooCommerce
   ══════════════════════════════════════ */

/* ── Reset Universal ── */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ── Documento ── */
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  min-height: 100vh;
  line-height: var(--fn-lh-normal);
  font-family: var(--fn-fuente-cuerpo);
  font-size: var(--fn-fs-base);
  color: var(--fn-texto);
  background-color: var(--fn-fondo);
  overflow-x: hidden;
}

/* ── Tipografía ── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--fn-fuente-titulo);
  font-weight: var(--fn-fw-bold);
  line-height: var(--fn-lh-tight);
  letter-spacing: var(--fn-ls-tight);
  color: var(--fn-gris-800);
}

p {
  line-height: var(--fn-lh-relaxed);
  color: var(--fn-texto-suave);
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--fn-trans-fast);
}

a:hover {
  color: var(--fn-primario);
}

strong, b {
  font-weight: var(--fn-fw-semibold);
}

/* ── Media ── */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ── Formularios ── */
input, button, textarea, select {
  font: inherit;
  color: inherit;
  border: none;
  outline: none;
  background: none;
}

button {
  cursor: pointer;
}

/* ── Listas ── */
ul, ol {
  list-style: none;
}

/* ── Tablas ── */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ── WordPress Admin Bar Fix ── */
body.admin-bar .ferranova-header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .ferranova-header {
    top: 46px;
  }
}

/* ── WordPress Overrides ── */
.entry-content,
.page-content,
.post-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wp-block-group,
.wp-block-columns {
  max-width: none !important;
  padding: 0 !important;
}

/* ── Gutenberg Cleanup ── */
.has-global-padding,
.wp-site-blocks {
  padding: 0 !important;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
}

/* ── WooCommerce Base Reset ── */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin: 0 !important;
}

.woocommerce ul.products {
  margin: 0 !important;
}

.woocommerce-page .entry-content,
.woocommerce-page .page-content {
  max-width: none !important;
}

/* ── Accesibilidad ── */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--fn-z-toast);
  padding: var(--fn-sp-sm) var(--fn-sp-md);
  background: var(--fn-primario);
  color: var(--fn-blanco);
  font-weight: var(--fn-fw-bold);
}
