/* Argafood: estilos del tema */

:root {
	--af-cabecera: 76px;
	--af-sombra: 0 1px 0 var(--wp--preset--color--linea);
}

html { scroll-padding-top: calc(var(--af-cabecera) + 64px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

h1, h2, .af-expandida { font-stretch: 118%; }
h3, h4 { font-stretch: 108%; }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

:where(a, button, input, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--verde);
	outline-offset: 2px;
	border-radius: 2px;
}

.wp-element-button, .wp-block-button__link { text-decoration: none; transition: background-color .15s ease, color .15s ease; }

/* ------- Cabecera ------- */
.af-header { position: sticky; top: 0; z-index: 50; box-shadow: var(--af-sombra); }
.admin-bar .af-header { top: var(--wp-admin--admin-bar--height, 32px); }
.af-header__barra { gap: 1.5rem; min-height: 52px; }
.af-header__logo img { display: block; height: auto; }
.af-nav { flex: 1; }
.af-nav a { text-decoration: none; color: var(--wp--preset--color--tinta); }
.af-nav .wp-block-navigation-item__content:hover,
.af-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--verde); }
.af-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--linea) !important;
	border-radius: 6px;
	padding: .5rem 0;
	min-width: 240px !important;
	box-shadow: 0 12px 28px rgba(18, 52, 37, .12);
}
.af-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1.1rem; }
.af-header__tel { margin: 0; white-space: nowrap; font-weight: 600; }
.af-header__tel a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.af-header__tel a::before {
	content: ""; display: inline-block; width: .95em; height: .95em; margin-right: .4em; vertical-align: -0.12em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.af-btn-whatsapp .wp-block-button__link { padding: .6rem 1.1rem; }

@media (max-width: 1100px) { .af-header__tel { display: none; } }
@media (max-width: 781px) {
	.af-header__barra { gap: .75rem; }
	.af-header__logo img { width: 104px !important; }
	.af-nav { order: 3; flex: 0 0 auto; }
	.af-btn-whatsapp .wp-block-button__link { padding: .55rem .9rem; font-size: .9rem; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding-top: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1rem; font-size: 1.15rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { font-size: 1rem; padding-left: 1rem !important; border: 0 !important; box-shadow: none; }

/* ------- Cabecera de página ------- */
.af-cabecera-pagina .wp-block-post-title { margin: 0; max-width: 18ch; }
.af-intro { max-width: 62ch; color: var(--wp--preset--color--tinta-suave); }

/* ------- Portada ------- */
.af-hero { overflow: hidden; }
.af-hero__titulo { font-stretch: 125%; font-weight: 800; letter-spacing: -0.02em; line-height: 1; max-width: 13ch; }
.af-hero__texto { max-width: 46ch; color: var(--wp--preset--color--tinta-suave); }
.af-hero__mosaico { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: .75rem; aspect-ratio: 1 / 1; }
.af-hero__mosaico figure { margin: 0 !important; height: 100%; }
.af-hero__mosaico figure:first-child { grid-row: span 2; }
.af-hero__mosaico img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 4px; }
.af-dato { margin: 0; }
.af-dato strong { display: block; font-family: var(--wp--preset--font-family--display); font-stretch: 118%; font-size: 1.75rem; line-height: 1.1; color: var(--wp--preset--color--verde-oscuro); }

/* Líneas de negocio: filas tipo índice de catálogo */
.af-lineas { border-top: 2px solid var(--wp--preset--color--tinta); }
.af-linea { border-bottom: 1px solid var(--wp--preset--color--linea); padding-block: var(--wp--preset--spacing--40); }
.af-linea__img img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.af-linea__titulo { margin: 0; }
.af-linea__titulo a { color: inherit; text-decoration: none; }
.af-linea__titulo a:hover { color: var(--wp--preset--color--verde); }
.af-linea__sub { margin: 0; font-size: .95rem; color: var(--wp--preset--color--tinta-suave); }
.af-linea__sub a { color: var(--wp--preset--color--tinta-suave); text-decoration-color: var(--wp--preset--color--linea); text-underline-offset: 3px; }
.af-linea__sub a:hover { color: var(--wp--preset--color--verde); }

/* Bloque Verifactu / Marqués */
.af-banda-oscura h2, .af-banda-oscura h3 { color: var(--wp--preset--color--base); }
.af-banda-oscura .af-intro, .af-banda-oscura p { color: #D7E3DA; }
.af-banda-oscura .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); }
.af-banda-oscura .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--verde-oscuro); }
.af-plazos { display: grid; gap: 1px; background: rgba(255,255,255,.18); border-radius: 6px; overflow: hidden; }
.af-plazos > * { background: var(--wp--preset--color--verde-oscuro); margin: 0 !important; padding: 1.25rem 1.5rem; }
.af-plazos strong { display: block; font-family: var(--wp--preset--font-family--display); font-stretch: 118%; font-size: 1.5rem; color: #fff; }

/* Marcas */
.af-marcas { align-items: center; }
.af-marcas img { max-height: 72px; width: auto !important; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.af-marcas img:hover { filter: none; opacity: 1; }

/* ------- Páginas de catálogo ------- */
.af-subnav {
	position: sticky; top: var(--af-cabecera); z-index: 40;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.admin-bar .af-subnav { top: calc(var(--af-cabecera) + var(--wp-admin--admin-bar--height, 32px)); }
.af-subnav ul { list-style: none; margin: 0; padding: .7rem 0; display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }
.af-subnav ul::-webkit-scrollbar { display: none; }
.af-subnav li { flex: 0 0 auto; margin: 0; }
.af-subnav a {
	display: inline-block; padding: .4rem .85rem; border-radius: 999px; font-size: .9rem; font-weight: 500;
	color: var(--wp--preset--color--tinta); text-decoration: none; background: var(--wp--preset--color--acero);
}
.af-subnav a:hover, .af-subnav a.is-activo { background: var(--wp--preset--color--verde); color: #fff; }

.af-seccion { padding-block: var(--wp--preset--spacing--60); }
.af-seccion + .af-seccion { border-top: 1px solid var(--wp--preset--color--linea); }
.af-seccion__cabecera { margin-bottom: var(--wp--preset--spacing--40) !important; }
.af-seccion__cabecera h2 { margin: 0; }
.af-seccion__cabecera p { margin: .5rem 0 0; max-width: 62ch; color: var(--wp--preset--color--tinta-suave); }

/* Ficha de producto */
.af-ficha { display: flex; flex-direction: column; gap: .6rem !important; height: 100%; }
.af-ficha > * { margin: 0 !important; }
.af-ficha .wp-block-image { margin-bottom: .4rem !important; background: var(--wp--preset--color--acero); border-radius: 4px; overflow: hidden; }
.af-ficha .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.af-ficha .wp-block-image.af-contener img { object-fit: contain; padding: 1rem; }
.af-ficha h3 { font-size: 1.2rem; line-height: 1.2; }
.af-ficha p { font-size: .975rem; color: var(--wp--preset--color--tinta-suave); }
.af-ficha .af-ficha__datos { font-size: .9rem; color: var(--wp--preset--color--tinta); background: var(--wp--preset--color--acero); padding: .6rem .8rem; border-radius: 4px; }
.af-ficha .af-ficha__accion { margin-top: auto !important; padding-top: .3rem; }
.af-consultar a {
	display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; font-size: .95rem;
	color: var(--wp--preset--color--pimenton); text-decoration: none;
}
.af-consultar a::before {
	content: ""; width: 1.05em; height: 1.05em; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-12.4 7.4L3 21l2.1-5.6A8.4 8.4 0 1 1 21 11.5z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-12.4 7.4L3 21l2.1-5.6A8.4 8.4 0 1 1 21 11.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.af-consultar a:hover { text-decoration: underline; text-underline-offset: 3px; }

.af-tabla { font-size: .95rem; }
.af-tabla td { padding: .55rem .75rem; border-color: var(--wp--preset--color--linea); }

/* Galería de producto (maquinaria de ocasión, Marqués) */
.af-galeria img { aspect-ratio: 1 / 1; object-fit: cover; }
.af-galeria.af-contener img { object-fit: contain; background: #fff; }

/* ------- CTA final y contacto ------- */
.af-mapa {
	position: relative; min-height: 320px; height: 100%; border-radius: 6px; overflow: hidden;
	background: var(--wp--preset--color--acero);
	display: grid; place-items: center; text-align: center; padding: 2rem;
}
.af-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.af-mapa p { margin: 0 0 1rem; color: var(--wp--preset--color--tinta-suave); max-width: 34ch; }

.af-form { display: grid; gap: 1rem; }
.af-form p { margin: 0; }
.af-form__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .af-form__fila { grid-template-columns: 1fr; } }
.af-form__campo label { display: block; font-weight: 600; font-size: .95rem; margin-bottom: .35rem; }
.af-form__campo label span { font-weight: 400; color: var(--wp--preset--color--tinta-suave); }
.af-form input[type=text], .af-form input[type=email], .af-form input[type=tel], .af-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; color: inherit;
	padding: .75rem .85rem; border: 1px solid #AEB8B1; border-radius: 4px; background: #fff;
}
.af-form input:focus, .af-form textarea:focus { border-color: var(--wp--preset--color--verde); outline: 2px solid var(--wp--preset--color--verde); outline-offset: 0; }
.af-form__check { display: flex; gap: .6rem; align-items: flex-start; }
.af-form__check input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--wp--preset--color--verde); }
.af-form__info { font-size: .8rem; color: var(--wp--preset--color--tinta-suave); }
.af-form__trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.af-form__aviso { padding: .85rem 1rem; border-radius: 4px; font-weight: 500; }
.af-form__aviso--ok { background: var(--wp--preset--color--verde-claro); color: var(--wp--preset--color--verde-oscuro); }
.af-form__aviso--error { background: #FBE9E5; color: #8A2A16; }
.af-form button { cursor: pointer; border: 0; }

.af-contacto-datos { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.af-contacto-datos li { margin: 0; }
.af-contacto-datos strong { display: block; font-size: .85rem; color: var(--wp--preset--color--tinta-suave); font-weight: 500; }

/* ------- Pie ------- */
.af-footer__marca { font-stretch: 125%; font-weight: 800; }
.af-footer__titulo { font-size: 1rem !important; font-family: var(--wp--preset--font-family--texto) !important; font-stretch: 100% !important; font-weight: 600; color: #9FB8A8 !important; }
.af-footer__lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.af-footer a { text-decoration: none; }
.af-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.af-footer__legal { border-top: 1px solid rgba(255,255,255,.15); color: #9FB8A8; }
.af-footer__legal a { margin-left: 1.25rem; color: #C9D6CD !important; }
.af-footer__legal p { margin: 0; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* Ajustes tras primera revisin */
.af-hero__titulo { font-size: clamp(2.6rem, 5.4vw, 5rem) !important; overflow-wrap: normal; word-break: normal; hyphens: none; }
.wp-block-post-content > .wp-block-group:not(.has-background) + .wp-block-group:not(.has-background) { margin-top: 0; }
.wp-block-post-content > * { margin-block-start: 0; }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.af-header { position: static !important; }
.is-layout-constrained > .af-intro { max-width: min(100%, 1240px) !important; box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1240px) - 62ch)); }
.af-seccion h2 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); }
.af-linea__sub { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; }
.af-linea__img.af-contener img { object-fit: contain; background: #fff; }
.af-datos { margin-top: 1.5rem !important; gap: 1rem 2.25rem !important; }
.af-marcas { gap: 1.5rem 2.5rem !important; }
.af-marcas img { height: 72px !important; mix-blend-mode: multiply; }
.af-plazos { background: none !important; gap: .75rem !important; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)) !important; }
.af-plazos > * { border: 1px solid rgba(255,255,255,.22); border-radius: 6px; }
.af-banda-oscura a:not(.wp-element-button) { color: #fff; }
.af-galeria.af-contener img { object-fit: contain !important; background: #fff; }
#verifactu > .af-intro { max-width: 900px !important; padding-right: 0 !important; }
