/* ===== BASE: tokens, reset, tipografia ===== */
:root {
  /* Alias SSOT -> theme.json palette (cambiar color solo en theme.json) */
  --color-primary: var(--wp--preset--color--primary);
  --color-primary-container: var(--wp--preset--color--primary-container);
  --color-primary-fixed: var(--wp--preset--color--primary-fixed);
  --color-primary-fixed-dim: var(--wp--preset--color--primary-fixed-dim);
  --color-on-primary: var(--wp--preset--color--on-primary);
  --color-on-primary-container: var(--wp--preset--color--on-primary-container);
  --color-on-primary-fixed: var(--wp--preset--color--on-primary-fixed);
  --color-on-primary-fixed-variant: var(--wp--preset--color--on-primary-fixed-variant);
  --color-secondary: var(--wp--preset--color--secondary);
  --color-secondary-container: var(--wp--preset--color--secondary-container);
  --color-secondary-fixed: var(--wp--preset--color--secondary-fixed);
  --color-secondary-fixed-dim: var(--wp--preset--color--secondary-fixed-dim);
  --color-on-secondary: var(--wp--preset--color--on-secondary);
  --color-on-secondary-container: var(--wp--preset--color--on-secondary-container);
  --color-on-secondary-fixed: var(--wp--preset--color--on-secondary-fixed);
  --color-on-secondary-fixed-variant: var(--wp--preset--color--on-secondary-fixed-variant);
  --color-tertiary: var(--wp--preset--color--tertiary);
  --color-tertiary-container: var(--wp--preset--color--tertiary-container);
  --color-tertiary-fixed: var(--wp--preset--color--tertiary-fixed);
  --color-tertiary-fixed-dim: var(--wp--preset--color--tertiary-fixed-dim);
  --color-on-tertiary: var(--wp--preset--color--on-tertiary);
  --color-on-tertiary-container: var(--wp--preset--color--on-tertiary-container);
  --color-on-tertiary-fixed: var(--wp--preset--color--on-tertiary-fixed);
  --color-on-tertiary-fixed-variant: var(--wp--preset--color--on-tertiary-fixed-variant);
  --color-background: var(--wp--preset--color--background);
  --color-surface: var(--wp--preset--color--surface);
  --color-surface-bright: var(--wp--preset--color--surface-bright);
  --color-surface-dim: var(--wp--preset--color--surface-dim);
  --color-surface-container: var(--wp--preset--color--surface-container);
  --color-surface-container-low: var(--wp--preset--color--surface-container-low);
  --color-surface-container-lowest: var(--wp--preset--color--surface-container-lowest);
  --color-surface-container-high: var(--wp--preset--color--surface-container-high);
  --color-surface-container-highest: var(--wp--preset--color--surface-container-highest);
  --color-on-surface: var(--wp--preset--color--on-surface);
  --color-on-surface-variant: var(--wp--preset--color--on-surface-variant);
  --color-on-background: var(--wp--preset--color--on-background);
  --color-outline: var(--wp--preset--color--outline);
  --color-outline-variant: var(--wp--preset--color--outline-variant);
  --color-inverse-surface: var(--wp--preset--color--inverse-surface);
  --color-inverse-on-surface: var(--wp--preset--color--inverse-on-surface);
  --color-inverse-primary: var(--wp--preset--color--inverse-primary);
  --color-error: var(--wp--preset--color--error);
  --color-on-error: var(--wp--preset--color--on-error);
  --color-error-container: var(--wp--preset--color--error-container);
  --color-on-error-container: var(--wp--preset--color--on-error-container);
  --color-white: var(--wp--preset--color--white);
  --font-display: var(--wp--preset--font-family--display);
  --font-body: var(--wp--preset--font-family--body);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --stack-xs: 8px;
  --stack-sm: 16px;
  --stack-md: 32px;
  --stack-lg: 64px;
  --gutter: 24px;
  --margin-desktop: 64px;
  --margin-mobile: 20px;
  --container-max: 1280px;
  --header-height: 80px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: var(--wp--preset--color--on-surface);
  background-color: var(--wp--preset--color--background);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: var(--wp--preset--color--primary); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--wp--preset--color--secondary); }
img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  margin-top: 0;
}

/* ===== WORDAPRESS OVERRIDES ===== */
.wp-block-post-title { font-family: var(--font-display) !important; }

/* ===== ALINEACION DE ANCHO DE BLOQUES (Normal / Ancho / Ancho completo) ===== */
.is-layout-constrained > .alignwide { max-width: var(--wp--style--global--wide-size); }
.is-layout-constrained > .alignfull { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; width: auto !important; max-width: none !important; }
