:where(body:not(.wp-admin), .editor-styles-wrapper, .cg-ui) {
  font-family: var(--cg-font-body);
  font-size: var(--cg-text-body);
  font-weight: var(--cg-weight-body);
  line-height: var(--cg-line-body);
  color: var(--cg-forest);
}
:where(body:not(.wp-admin), .editor-styles-wrapper, .cg-ui) :where(h1, h2, h3),
.cg-type--display, .cg-type--title, .cg-type--section {
  font-family: var(--cg-font-heading);
  line-height: var(--cg-line-heading);
  overflow-wrap: anywhere;
}
:where(body:not(.wp-admin), .editor-styles-wrapper, .cg-ui) h1, .cg-type--display {
  font-size: var(--cg-text-display);
  font-weight: var(--cg-weight-display);
  letter-spacing: var(--cg-tracking-display);
}
:where(body:not(.wp-admin), .editor-styles-wrapper, .cg-ui) h2, .cg-type--title {
  font-size: var(--cg-text-title);
  font-weight: var(--cg-weight-title);
  letter-spacing: var(--cg-tracking-title);
}
:where(body:not(.wp-admin), .editor-styles-wrapper, .cg-ui) h3, .cg-type--section {
  font-size: var(--cg-text-section);
  font-weight: var(--cg-weight-section);
  letter-spacing: var(--cg-tracking-normal);
}
.cg-type--body { font: var(--cg-weight-body) var(--cg-text-body)/var(--cg-line-body) var(--cg-font-body); }
.cg-type--caption {
  font: var(--cg-weight-caption) var(--cg-text-caption)/var(--cg-line-body) var(--cg-font-body);
  letter-spacing: var(--cg-tracking-caption);
}
.cg-ui *, .cg-button, .cg-field, .cg-field *, .cg-product-card, .cg-product-card * { box-sizing: border-box; }
.cg-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
/* Se mantiene una lista de navegación visible; no se añade hamburguesa. */
.clubgafas-header nav > ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cg-space-4);
  list-style: none;
  padding: 0;
}
.clubgafas-header nav a { display: inline-flex; align-items: center; min-height: var(--cg-target); }

/* Los controles públicos heredan la familia global sin alterar sus pesos. */
body:not(.wp-admin) :is(input, select, textarea, button):not(#wpadminbar *) { font-family: var(--cg-font-body); }
