/**
 * Brand tokens of the Manual de Identidad v3.0 (hidden tests ?gm_v2=1 and ?gm_pdp=v2).
 * Miguel, 11 Nov 2026: the website moves to the manual. Source of truth:
 * Designer Grosmac/grosmac-catalogo-proyecto/DESIGN.md.
 *
 * - Accent: Grosmac Amber #DE881F. The carrot orange #F39200 stays only in the logo.
 * - Small amber text: Text-Safe Amber #AE610C (4.6:1 on white).
 * - Black: Press Black #111111; running text Ink #2B2B2B.
 * - Type: Archivo Narrow for headings, labels and figures; Archivo for reading text.
 */

@font-face {
	font-family: "Archivo Narrow";
	src: url("../fonts/archivo-narrow-latin-wght-normal.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

:is(body.gm-site-v2, body.gm-pdp-v2) {
	--gm-color-brand: #de881f;
	--gm-color-accent: #de881f;
	--gm-color-brand-text: #ae610c;
	--gm-neutral-carbon: #111111;
	--gm-color-ink: #111111;
	--gm-color-heading: #111111;
	--gm-color-text: #2b2b2b;
	--gm-color-muted: #555555;
	--gm-color-text-muted: #555555;
	--gm-font-display: "Archivo Narrow", "Liberation Sans Narrow", "Arial Narrow", sans-serif;
	--gm-font-body: "Archivo", "Liberation Sans", Arial, sans-serif;
	--gm-font-technical: "Archivo", "Liberation Sans", Arial, sans-serif;
	--gm2-ink: #111111;
	--gm2-brand: #de881f;
	--gm2-muted: #555555;
	color: var(--gm-color-text);
	font-family: var(--gm-font-body);
}

/* Archivo Narrow tops out at 700: never ask for a heavier, synthesised weight */
:is(body.gm-site-v2, body.gm-pdp-v2) :is(h1, h2, h3, h4, h5, h6, strong, b, th, button, summary, legend, label, a, span, p, li, dt, dd, div) {
	font-synthesis: none;
}

:is(body.gm-site-v2, body.gm-pdp-v2) :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--gm-font-display);
	font-weight: 700;
	letter-spacing: 0;
}

/* The Uppercase Labels Rule: narrow uppercase for headings and labels, sentences in Archivo */
:is(body.gm-site-v2, body.gm-pdp-v2) :is(p, li, dd, td) {
	font-family: var(--gm-font-body);
}

/* Amber as small text or link colour uses the text-safe tone */
:is(body.gm-site-v2, body.gm-pdp-v2) :is(.entry-content, .gm-pdp2, .gm-card__body) a:not([class*="btn"]):not([class*="button"]):not(.gm-quote-add) {
	text-decoration-color: var(--gm-color-brand);
}

/* Archivo Narrow is about 18 % narrower than Archivo: labels and titles go a size up to read the same */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-primary-menu :is(.gm-primary-menu__link, .gm-primary-menu__summary),
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-primary-menu .gm-primary-menu__label {
	font-family: var(--gm-font-display);
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

body.gm-site-v2 .gm-card-li .gm-card__title,
body.gm-site-v2 .gm-card-li .gm-card__title * {
	font-size: 16px;
	line-height: 1.12;
}

body.gm-site-v2 .gm-card-li .gm-card__price-main,
body.gm-site-v2 .gm-card-li .gm-card__price-main * {
	font-size: 22px;
}

body.gm-site-v2 .gm-card-li .gm-card__eyebrow,
body.gm-site-v2 .gm-card-li .gm-card__price-label {
	font-family: var(--gm-font-display);
	font-size: 12.5px;
	font-weight: 700;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-mega-menu__card strong {
	font-family: var(--gm-font-display);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

:is(body.gm-site-v2, body.gm-pdp-v2) :is(.gm-site-header__action-copy strong, .gm-pdp2-btn, .gm-pdp2-rail a, .gm-pdp2-more, .gm-pdp2-film__index a) {
	font-family: var(--gm-font-display);
	font-weight: 700;
	font-size: 15px;
}

/* =====================================================================
   Rest of the site in the approved direction (11 Nov 2026)
   ===================================================================== */

/* Buttons, one set everywhere: amber with black text at rest, black with white text when selected.
   (White text on amber was 2.6:1.) Secondary: white with a black edge, same selected state. */
:is(body.gm-site-v2, body.gm-pdp-v2) :is(.wp-block-button__link, .gm-btn, .gm-site-footer__button, button[type="submit"], .grosmac-lead-form button) {
	border: 2px solid #111;
	border-radius: 0;
	box-shadow: none;
	font-family: var(--gm-font-display);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
	transform: none;
	transition: background-color 0.14s ease-out, color 0.14s ease-out;
}

:is(body.gm-site-v2, body.gm-pdp-v2) :is(.wp-block-button:not(.is-style-outline) > .wp-block-button__link, .gm-btn--primary, .gm-site-footer__button--primary, button[type="submit"], .grosmac-lead-form button) {
	background: var(--gm-color-brand);
	color: #111 !important;
}

:is(body.gm-site-v2, body.gm-pdp-v2) :is(.wp-block-button.is-style-outline > .wp-block-button__link, .gm-site-footer__button--plain) {
	background: #fff;
	color: #111 !important;
}

:is(body.gm-site-v2, body.gm-pdp-v2) :is(.wp-block-button__link, .gm-btn, .gm-site-footer__button--plain, button[type="submit"], .grosmac-lead-form button):is(:hover, :focus-visible) {
	background: #111;
	border-color: #111;
	color: #fff !important;
	box-shadow: none;
	transform: none;
}

/* On black, the selected state inverts to amber so it still changes */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer :is(.gm-site-footer__button--primary, .gm-site-footer__button--secondary) {
	border-color: var(--gm-color-brand);
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__button--secondary {
	background: #111;
	color: #fff !important;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer :is(.gm-site-footer__button--primary, .gm-site-footer__button--secondary):is(:hover, :focus-visible) {
	background: var(--gm-palette-honey-yellow, #f9b233);
	border-color: var(--gm-palette-honey-yellow, #f9b233);
	color: #111 !important;
}

/* Footer: nothing grey or dark on black. Column titles in honey, links white, selected link amber. */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer :is(h2, h3, h4, h5, .gm-site-footer__heading, .gm-site-footer__title) {
	color: var(--gm-palette-honey-yellow, #f9b233);
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer :is(p, li, span, small, address) {
	color: #f7f7f5;
	opacity: 1;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer a:not([class*="button"]):not([class*="social"]) {
	color: #fff;
	opacity: 1;
	text-decoration-color: var(--gm-color-brand);
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer a:not([class*="button"]):not([class*="social"]):is(:hover, :focus-visible) {
	color: var(--gm-palette-honey-yellow, #f9b233);
}

/* The light panel that sits inside the footer keeps dark text */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer :is(.gm-site-footer__cta, .gm-site-footer__advice, [class*="footer__panel"]) :is(h2, h3, h4, p, li, span, a:not([class*="button"])) {
	color: #111;
}

/* Headings inside dark blocks stay light */
:is(body.gm-site-v2, body.gm-pdp-v2) :is(.gm-static-card--dark, .is-style-gm-industrial-inverse) :is(h2, h3, h4, p, li, a, span) {
	color: #fff;
}

/* Process tiles ("Hydrate / Divide / Round…"): same rest and selected states as the menu families */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > * {
	border: 1px solid #111;
	border-top: 4px solid var(--gm-color-brand);
	background: #fff;
	box-shadow: none;
	transition: background-color 0.14s ease-out;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:nth-child(6n + 1) { border-top-color: var(--gm-palette-seal-brown, #4e1e04); }
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:nth-child(6n + 2) { border-top-color: var(--gm-color-brand); }
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:nth-child(6n + 3) { border-top-color: var(--gm-palette-honey-yellow, #f9b233); }
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:nth-child(6n + 4) { border-top-color: var(--gm-palette-persimmon, #ea5b0c); }
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:nth-child(6n + 5) { border-top-color: var(--gm-palette-harvest-gold, #d68b20); }
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:nth-child(6n + 6) { border-top-color: var(--gm-palette-rufous, #aa230e); }

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > * a {
	color: #111;
	font-family: var(--gm-font-display);
	font-weight: 700;
	text-decoration: none;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:is(:hover, :focus-within) {
	background: #111;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-process-rail__nav > *:is(:hover, :focus-within) :is(a, p, span) {
	color: #fff;
}

/* Static cards: firm black edge, amber top, no soft shadow */
:is(body.gm-site-v2, body.gm-pdp-v2) .entry-content :is(.gm-static-card:not(.gm-static-card--dark), .gm-family-matrix__card, .gm-process-flow > *) {
	border: 1px solid #111;
	border-top: 4px solid var(--gm-color-brand);
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	:is(body.gm-site-v2, body.gm-pdp-v2) :is(.wp-block-button__link, .gm-btn, .gm-process-rail__nav > *) {
		transition: none;
	}
}

/* The white lead panel on top of the footer is a light surface: dark text, amber only as underline */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__lead :is(h2, h3, h4, h5, p, li, span, small, strong) {
	color: #111;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__lead a:not([class*="button"]):not([class*="social"]) {
	color: #111;
	text-decoration-color: var(--gm-color-brand);
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__lead a:not([class*="button"]):not([class*="social"]):is(:hover, :focus-visible) {
	color: var(--gm-color-brand-text, #ae610c);
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__lead .gm-site-footer__button--secondary {
	background: #111;
	border-color: #111;
	color: #fff !important;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__lead .gm-site-footer__button--primary {
	border-color: #111;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer .gm-site-footer__lead :is(.gm-site-footer__button--primary, .gm-site-footer__button--secondary, .gm-site-footer__button--plain):is(:hover, :focus-visible) {
	background: #111;
	border-color: #111;
	color: #fff !important;
}

/* Secondary block button (Gutenberg style "grosmac-secondary"): white with a black edge */
:is(body.gm-site-v2, body.gm-pdp-v2) .wp-block-button.is-style-grosmac-secondary > .wp-block-button__link {
	background: #fff;
	color: #111 !important;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .wp-block-button.is-style-grosmac-secondary > .wp-block-button__link:is(:hover, :focus-visible) {
	background: #111;
	color: #fff !important;
}

/* Text inside any footer button follows the button's own colour */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-site-footer [class*="__button"] :is(span, strong, small) {
	color: inherit !important;
}

/* Links in reading text on light surfaces: text-safe amber (the plain amber was under 3:1 on white) */
:is(body.gm-site-v2, body.gm-pdp-v2) .entry-content :is(p, li, label, td, dd) a:not([class*="button"]):not([class*="btn"]) {
	color: var(--gm-color-brand-text, #ae610c);
	text-decoration-color: currentColor;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .entry-content :is(.gm-static-card--dark, .is-style-gm-industrial-inverse) :is(p, li) a {
	color: var(--gm-palette-honey-yellow, #f9b233);
}

/* Headings were tightened for the old typeface (down to -1.76px) and set at weight 900.
   Archivo Narrow is already narrow and stops at 700: no negative tracking. */
:is(body.gm-site-v2, body.gm-pdp-v2) :is(#content, .site-content, main) :is(h1, h2, h3, h4) {
	letter-spacing: 0;
	word-spacing: 0;
	font-weight: 700;
}

:is(body.gm-site-v2, body.gm-pdp-v2) :is(#content, .site-content, main) :is(h1, h2) {
	line-height: 1.08;
}

/* Blog: the featured strip is black, so its text is white and the link honey. */
:is(body.gm-site-v2, body.gm-pdp-v2) .gm-blog-template__pillar p {
	color: #fff;
}

:is(body.gm-site-v2, body.gm-pdp-v2) .gm-blog-template__pillar a {
	color: var(--gm-palette-honey-yellow, #f9b233);
	text-decoration-color: var(--gm-color-brand);
}
