/**
Theme Name: Shop&Roll
Author: Estudio Dos Manos
Author URI: https://estudiodosmanos.com
Description: Tema hijo de Astra para Shop&Roll. Header y footer custom + estilos propios. Sistema responsive con breakpoints unificados, tipografía y espaciado fluidos.
Version: 1.2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shoproll
Template: astra
*/

/* ============================================================
   Sistema de tokens (colores, tipografía fluida, espaciado, breakpoints)
============================================================ */
:root {
	/* Colores */
	--sr-color-text:        rgb(45, 42, 38);
	--sr-color-text-soft:   rgb(77, 88, 88);
	--sr-color-bg:          #ffffff;
	--sr-color-bg-soft:     #f5f5f5;
	--sr-color-accent:      #2bb3a7;            /* verde turquesa */
	--sr-color-accent-dark: #1f8d83;
	--sr-color-accent-2:    #D37990;            /* rosa/coral */
	--sr-color-bottom:      #2bb3a7;
	--sr-color-border:      #d9d9d9;

	/* Fuentes */
	--sr-font-base:         'Roboto', sans-serif;
	--sr-font-heading:      'Montserrat', sans-serif;

	/* Header */
	--sr-header-height:     90px;
	--sr-header-height-mob: 72px;

	/* Containers (4 niveles) */
	--sr-container-narrow:  1100px;   /* texto centrado, intro */
	--sr-container:         1400px;   /* header, footer */
	--sr-container-wide:    1600px;   /* secciones principales */
	--sr-container-form:    980px;    /* formularios */

	/* Gutter fluido (sustituye gutter-mob) */
	--sr-gutter:            clamp(20px, 3vw, 32px);

	/* Tipografía fluida — interpolación 375px → 1440px */
	--sr-text-h1:           clamp(28px, 2.6vw + 18px, 48px);
	--sr-text-h2-cover:     clamp(30px, 3.5vw + 17px, 56px);
	--sr-text-h2:           clamp(24px, 2.8vw + 14px, 44px);
	--sr-text-h3:           clamp(11px, 0.5vw + 9px, 13px);
	--sr-text-lead:         clamp(17px, 1vw + 13px, 22px);
	--sr-text-body:         clamp(14px, 0.5vw + 12px, 16px);
	--sr-text-micro:        clamp(11px, 0.3vw + 10px, 13px);

	/* Espaciado fluido */
	--sr-space-xs:          8px;
	--sr-space-sm:          16px;
	--sr-space-md:          32px;
	--sr-space-lg:          clamp(40px, 5vw, 64px);
	--sr-space-xl:          clamp(60px, 7vw, 100px);
	--sr-space-2xl:         clamp(80px, 10vw, 140px);

	/* Desbordamiento de cards sobre la siguiente sección */
	--sr-card-bleed:        80px;

	/* Breakpoints (referencia, no usables en CSS) */
	--sr-bp-xs:             480px;
	--sr-bp-sm:             768px;
	--sr-bp-md:             1024px;
	--sr-bp-lg:             1440px;
}

/* ============================================================
   Reset / utilidades
============================================================ */
.screen-reader-text {
	border: 0;
	clip: rect(1px,1px,1px,1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #000;
	color: #fff;
	padding: 8px 16px;
	z-index: 1000;
}
.skip-link:focus { top: 0; }

/* Foco visible global (accesibilidad) */
:focus-visible {
	outline: 2px solid var(--sr-color-accent);
	outline-offset: 2px;
}

/* Compensar header sticky */
body { padding-top: var(--sr-header-height); }
@media (max-width: 1024px) { body { padding-top: var(--sr-header-height-mob); } }

/* Defensa: ocultar entry-header de Astra si llega a renderizarse */
.entry-header,
.ast-page-header,
.ast-archive-description,
.ast-title-bar { display: none !important; }

/* Tipografía global */
h1, h2, h3, h4, h5, h6,
.entry-title, .site-title {
	font-family: var(--sr-font-heading);
	color: var(--sr-color-text);
	font-weight: 700;
}

/* ============================================================
   HOME — Hero (vídeo full-width)
============================================================ */
.sr-hero,
figure.wp-block-video.sr-hero {
	margin: 0 !important;
	padding: 0;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	overflow: hidden;
	background: #000;
	line-height: 0;
}
.sr-hero video {
	display: block;
	width: 100%;
	height: auto;
	max-height: 90vh;
	object-fit: cover;
	pointer-events: none;
}
.sr-hero video::-webkit-media-controls,
.sr-hero video::-webkit-media-controls-enclosure { display: none !important; }

/* Wrapper del contenido (home + páginas internas) permite alignfull */
.sr-front,
.sr-front__content,
.sr-page,
.sr-page__content { width: 100%; }
.sr-front__content > .alignfull,
.sr-page__content > .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

/* Hero variante para páginas internas (más bajo) */
.sr-hero--inner video {
	max-height: 45vh !important;
	min-height: 280px !important;
}
@media (max-width: 768px) {
	.sr-hero--inner video {
		max-height: 35vh !important;
		min-height: 220px !important;
	}
}

/* Anti-overflow horizontal en mobile */
html, body { overflow-x: hidden; }

/* ============================================================
   HOME — Intro (eyebrow + título + lead)
============================================================ */
.sr-intro,
.wp-block-group.sr-intro {
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: var(--sr-container-narrow) !important;
	margin: 0 auto;
	text-align: center;
}
.sr-intro__h1 {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h3);
	font-weight: 600;
	line-height: 1.4;
	color: var(--sr-color-accent);
	text-align: center;
	margin: 0 0 16px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.sr-intro__title {
	font-family: var(--sr-font-heading);
	font-weight: 700;
	color: var(--sr-color-text);
	font-size: var(--sr-text-h2);
	line-height: 1.15;
	margin: 0 0 24px;
}
.sr-intro__lead {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	line-height: 1.545;
	color: var(--sr-color-text-soft);
	text-align: center;
	max-width: 940px;
	margin: 22px auto 0;
}

/* ============================================================
   HOME — Beneficios (imagen + 4 cards)
============================================================ */
.sr-benefits,
.wp-block-columns.sr-benefits {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: var(--sr-space-lg) var(--sr-gutter) var(--sr-space-2xl);
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 40px;
	align-items: stretch;
}
.sr-benefits__media {
	position: relative;
	display: flex;
	min-height: 100%;
}
.sr-benefits__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	border-radius: 0 60px 0 60px;
	box-shadow: 0 20px 60px rgba(0,0,0,.08);
}
/* Hoja decorativa verde */
.sr-benefits__media::after {
	content: "";
	position: absolute;
	left: -32px;
	bottom: -40px;
	width: 110px;
	height: 125px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 165 187'><path d='M162.508 35.8988C145.992 -11.9663 19.001 -11.9663 2.47408 35.8988C-9.7025 70.0882 25.831 134.973 48.8447 161.32C57.7004 171.086 67.7848 185.018 81.9208 186.962C82.2879 187.013 82.6606 187.013 83.0277 186.962C97.1525 185.05 107.292 171.118 116.104 161.32C139.106 135.069 174.751 70.0134 162.508 35.8988Z' fill='%232CB3A7'/></svg>");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 2;
}
/* 4 cards en grid 2x2 (display:contents aplana wp:columns) */
.sr-benefits__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	align-items: stretch;
}
.sr-benefits__title {
	font-size: var(--sr-text-h2);
	line-height: 1.15;
	margin: 0 0 32px;
	grid-column: 1 / -1;
}
.sr-benefits__content > .wp-block-columns.sr-benefits__grid {
	display: contents;
}
.sr-benefits__content .wp-block-column {
	width: auto !important;
	flex: 1 1 auto !important;
	display: flex;
	min-width: 0;
}
.sr-benefit {
	background: #fff;
	border: 1px solid var(--sr-color-border);
	border-radius: 8px;
	padding: 28px 24px;
	transition: transform .2s ease, box-shadow .2s ease;
	border-left: 3px solid var(--sr-color-accent);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.sr-benefit:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.sr-benefit__icon {
	display: inline-flex;
	width: 40px;
	height: 40px;
	color: var(--sr-color-accent);
	margin-bottom: 18px;
}
.sr-benefit__icon svg { width: 100%; height: 100%; }
.sr-benefit__title {
	font-family: var(--sr-font-heading);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin: 0 0 12px;
	color: var(--sr-color-text);
}
.sr-benefit__text {
	font-family: var(--sr-font-base);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.545;
	color: var(--sr-color-text-soft);
	margin: 0;
}

/* ============================================================
   HOME — Sostenibilidad (cover + título + texto)
============================================================ */
.wp-block-cover.sr-sustain {
	min-height: 520px;
	padding: 0 !important;
}
.sr-sustain .wp-block-cover__inner-container {
	max-width: var(--sr-container) !important; /* 1400px, igual que header */
	width: 100%;
	margin: 0 auto !important;
	padding: var(--sr-space-2xl) var(--sr-gutter) !important;
	box-sizing: border-box;
}
.sr-sustain__inner {
	max-width: 720px;
	margin: 0 !important;
	padding: 0 !important;
}
.sr-sustain__title {
	font-family: var(--sr-font-heading);
	color: #fff !important;
	font-size: var(--sr-text-h2-cover);
	line-height: 1.0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.sr-sustain__overline {
	display: block;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.0;
}
.sr-sustain__main {
	display: block;
	font-weight: 300;
	letter-spacing: -.005em;
	line-height: 1.0;
}
.sr-sustain__text {
	font-family: var(--sr-font-base);
	color: #fff !important;
	font-size: var(--sr-text-lead);
	font-weight: 300;
	line-height: 1.545;
	margin: 0 0 32px;
	max-width: 720px;
}
/* Botón blanco con texto verde */
.sr-btn-white .wp-block-button__link,
.sr-btn-white .wp-block-button__link.wp-element-button,
.sr-sustain__buttons .wp-block-button__link,
.sr-sustain__buttons .wp-block-button__link.wp-element-button {
	background: #fff !important;
	color: var(--sr-color-accent) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 13px 34px !important;
	font-family: var(--sr-font-heading);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none !important;
	text-underline-offset: 0 !important;
	transition: background .2s, color .2s, transform .2s;
}
.sr-btn-white .wp-block-button__link:hover,
.sr-btn-white .wp-block-button__link:focus,
.sr-btn-white .wp-block-button__link:focus-visible {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}

/* ============================================================
   HOME — Catálogo (cover + CTA)
============================================================ */
.wp-block-cover.sr-catalog {
	min-height: 520px;
	padding: 0 !important;
}
.sr-catalog .wp-block-cover__inner-container {
	max-width: var(--sr-container) !important; /* 1400px, igual que header */
	width: 100%;
	margin: 0 auto !important;
	padding: var(--sr-space-2xl) var(--sr-gutter) !important;
	box-sizing: border-box;
}
.sr-catalog__inner {
	max-width: 600px;
	margin: 0 !important;
	padding: 0 !important;
}
.sr-catalog__title {
	font-family: var(--sr-font-heading);
	color: #fff !important;
	font-size: var(--sr-text-h2-cover);
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 24px;
}
.sr-catalog__text {
	font-family: var(--sr-font-base);
	color: #fff !important;
	font-size: var(--sr-text-lead);
	font-weight: 300;
	line-height: 1.545;
	margin: 0 0 32px;
	max-width: 600px;
}
.sr-btn-fill .wp-block-button__link,
.sr-btn-fill .wp-block-button__link.wp-element-button,
.sr-catalog__buttons .wp-block-button__link,
.sr-catalog__buttons .wp-block-button__link.wp-element-button {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 14px 36px !important;
	font-family: var(--sr-font-heading);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .2s, transform .2s;
}
.sr-btn-fill .wp-block-button__link:hover,
.sr-btn-fill .wp-block-button__link:focus,
.sr-btn-fill .wp-block-button__link:focus-visible {
	background: var(--sr-color-accent-dark) !important;
	transform: translateY(-1px);
	text-decoration: none !important;
}

/* No underline en TODOS los botones de bloque */
.wp-block-button__link,
.wp-block-button__link.wp-element-button {
	text-decoration: none !important;
}
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button__link:focus-visible {
	text-decoration: none !important;
}

/* ============================================================
   HOME — Clientes (carrusel "Confían en nosotros")
============================================================ */
.sr-clients {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: #fff;
	padding: var(--sr-space-xl) 0 var(--sr-space-lg);
}
.sr-clients__inner {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: 0 var(--sr-gutter);
}
.sr-clients__title {
	font-family: var(--sr-font-heading);
	color: var(--sr-color-text);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	text-align: center;
	margin: 0 0 56px;
}
.sr-clients__viewport {
	position: relative;
	overflow: hidden;
}
.sr-clients .swiper { padding: 24px 0; }
.sr-clients .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 220px;
}
.sr-clients__logo {
	max-width: 90%;
	max-height: 140px;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	transition: transform .25s ease;
}
.sr-clients .swiper-slide:hover .sr-clients__logo {
	transform: scale(1.05);
}

/* Controles */
.sr-clients__controls {
	display: flex;
	align-items: center;
	gap: 32px;
	margin-top: 48px;
}
.sr-clients__scrollbar {
	position: relative;
	flex: 1 1 auto;
	height: 3px;
	background: #ececec;
	border-radius: 999px;
	overflow: hidden;
}
.sr-clients__scrollbar .swiper-scrollbar-drag {
	background: var(--sr-color-accent);
	border-radius: 999px;
	transition: background .2s ease;
}
.sr-clients__scrollbar:hover .swiper-scrollbar-drag {
	background: var(--sr-color-accent-dark);
}
.sr-clients__nav {
	display: flex;
	align-items: center;
	gap: 14px;
}
.sr-clients__prev,
.sr-clients__next {
	width: 44px !important;
	height: 44px !important;
	min-width: 44px;
	min-height: 44px;
	max-width: 44px;
	max-height: 44px;
	flex: 0 0 auto;
	padding: 0 !important;
	border: none !important;
	background: var(--sr-color-accent) !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #fff;
	box-shadow: 0 4px 12px rgba(78, 192, 160, .25);
	transition: background .2s, transform .2s, box-shadow .2s;
	position: relative;
	box-sizing: border-box;
}
.sr-clients__icon {
	display: inline-block;
	width: 9px;
	height: 9px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	pointer-events: none;
}
.sr-clients__icon--prev { transform: rotate(-135deg); margin-left: 3px; }
.sr-clients__icon--next { transform: rotate(45deg);   margin-right: 3px; }
.sr-clients__prev:hover,
.sr-clients__next:hover {
	background: var(--sr-color-accent-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(78, 192, 160, .4);
}
.sr-clients__prev:disabled,
.sr-clients__next:disabled,
.swiper-button-disabled {
	background: #d9d9d9 !important;
	box-shadow: none !important;
	cursor: not-allowed;
	transform: none !important;
}
.sr-clients__counter {
	font-family: var(--sr-font-heading);
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	min-width: 72px;
	color: var(--sr-color-text);
}
.sr-clients__counter-current {
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}
.sr-clients__counter-sep,
.sr-clients__counter-total {
	color: var(--sr-color-text-soft);
	font-size: 14px;
	font-weight: 500;
}

/* ============================================================
   HOME — Contacto (cover + título + form ActiveCampaign)
============================================================ */
.wp-block-cover.sr-contact {
	min-height: 700px;
	padding: 0 !important;
}
.sr-contact .wp-block-cover__inner-container {
	max-width: var(--sr-container) !important;
	width: 100%;
	margin: 0 auto !important;
	padding: var(--sr-space-xl) var(--sr-gutter) !important;
	box-sizing: border-box;
}
.sr-contact__inner {
	max-width: var(--sr-container-narrow) !important;
	margin: 0 auto !important;
	text-align: center;
}
.sr-contact__title {
	font-family: var(--sr-font-heading);
	color: #fff !important;
	font-size: var(--sr-text-h2-cover);
	font-weight: 700;
	line-height: 1.1;
	margin: 0 0 16px;
	text-align: center;
}
.sr-contact__lead {
	font-family: var(--sr-font-base);
	color: #fff !important;
	font-size: var(--sr-text-lead);
	font-weight: 300;
	line-height: 1.545;
	margin: 0 auto 48px;
	max-width: 820px;
	text-align: center;
}
/* Wrapper del embed AC */
.sr-contact__form {
	width: 100%;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent;
	border: none;
	text-align: left;
}
.sr-contact__form ._form {
	width: 100% !important;
	max-width: var(--sr-container-form) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-family: var(--sr-font-base) !important;
	box-sizing: border-box !important;
}
.sr-contact__form ._form * { box-sizing: border-box; }
.sr-contact__form ._form ._form-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 32px;
	padding: 0 !important;
}
/* Cada campo */
.sr-contact__form ._form ._form_element {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	float: none !important;
}
/* Campos a fila completa */
.sr-contact__form ._form ._form_element:has(textarea),
.sr-contact__form ._form ._form_element:has(input[type="checkbox"]),
.sr-contact__form ._form ._form_element._clear,
.sr-contact__form ._form ._row,
.sr-contact__form ._form ._row._checkbox-radio,
.sr-contact__form ._form ._html-code,
.sr-contact__form ._form ._button-wrapper,
.sr-contact__form ._form ._submit,
.sr-contact__form ._form ._form-thank-you {
	grid-column: 1 / -1;
}
/* Labels */
.sr-contact__form ._form ._form-label {
	display: block !important;
	color: #fff !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}
/* Inputs */
.sr-contact__form ._form input[type="text"],
.sr-contact__form ._form input[type="email"],
.sr-contact__form ._form input[type="tel"],
.sr-contact__form ._form input[type="number"],
.sr-contact__form ._form select,
.sr-contact__form ._form textarea {
	width: 100% !important;
	background: #fff !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 14px 16px !important;
	font-family: var(--sr-font-base) !important;
	font-size: 15px !important;
	color: var(--sr-color-text) !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	min-height: 48px;
	margin: 0 !important;
}
.sr-contact__form ._form textarea {
	min-height: 120px !important;
	resize: vertical !important;
}
.sr-contact__form ._form select { appearance: auto; padding-right: 32px !important; }

/* Reset fieldset (donde nacían los borders) */
.sr-contact ._form ._form-fieldset,
.sr-contact ._form fieldset {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0;
	background: transparent !important;
}
.sr-contact ._form ._form-fieldset legend,
.sr-contact ._form fieldset legend { display: none !important; }
.sr-contact ._form ._form_element:has(input[type="checkbox"]),
.sr-contact ._form ._form_element:has(input[type="checkbox"]) > *,
.sr-contact ._form ._form_element:has(input[type="checkbox"]) > * > *,
.sr-contact ._form ._row._checkbox-radio {
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.sr-contact__form ._form ._form_element:has(input[type="checkbox"]) {
	padding: 0 !important;
	margin-top: -16px !important;
}
.sr-contact__form ._form ._form_element:not(:has(input[type="checkbox"])) + ._form_element:has(input[type="checkbox"]) {
	margin-top: 8px !important;
}
.sr-contact__form ._form ._row._checkbox-radio {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 2px 0 !important;
	padding: 0 !important;
}
.sr-contact__form ._form ._row._checkbox-radio input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
	margin: 1px 0 0 !important;
	cursor: pointer;
	accent-color: var(--sr-color-accent);
}
.sr-contact__form ._form ._row._checkbox-radio label {
	font-family: var(--sr-font-base) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline !important;
	border: none !important;
	cursor: pointer;
}
.sr-contact__form ._form ._row._checkbox-radio label a {
	color: var(--sr-color-accent) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	transition: opacity .15s ease;
}
.sr-contact__form ._form ._row._checkbox-radio label a:hover { opacity: .8; }

/* Bloque RGPD */
.sr-contact__form ._form ._html-code {
	margin: 16px 0 !important;
	font-family: var(--sr-font-base) !important;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}
.sr-contact__form ._form ._html-code h4,
.sr-contact__form ._form ._html-code strong {
	color: #fff !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin: 0 0 8px !important;
}
.sr-contact__form ._form ._html-code p {
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
	margin: 0 0 8px !important;
	max-height: 140px;
	overflow-y: auto;
	background: rgba(0,0,0,.25);
	padding: 12px 14px;
	border-radius: 4px;
}
.sr-contact__form ._form ._html-code a { color: #fff; text-decoration: underline; }

/* Botón submit */
.sr-contact__form ._form ._button-wrapper {
	margin-top: 20px !important;
	text-align: left !important;
}
.sr-contact__form ._form ._submit,
.sr-contact__form ._form button[type="submit"],
.sr-contact__form ._form input[type="submit"] {
	display: inline-block !important;
	background: var(--sr-color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 14px 40px !important;
	font-family: var(--sr-font-heading) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	width: auto !important;
	min-width: 180px;
	min-height: 48px;
	transition: background .2s, transform .2s !important;
}
.sr-contact__form ._form ._submit:hover,
.sr-contact__form ._form button[type="submit"]:hover {
	background: var(--sr-color-accent-dark) !important;
	transform: translateY(-1px) !important;
}
/* Mensajes error/éxito */
.sr-contact__form ._form ._error_inner,
.sr-contact__form ._form ._error,
.sr-contact__form ._form ._validate_required,
.sr-contact__form ._form ._error-html {
	color: #ffcccc !important;
	font-size: 13px !important;
	margin-top: 4px !important;
}
.sr-contact__form ._form ._form-thank-you {
	color: #fff !important;
	background: rgba(78, 192, 160, .15);
	border: 1px solid var(--sr-color-accent);
	border-radius: 6px;
	padding: 24px;
	font-size: 16px;
}

/* ============================================================
   Header
============================================================ */
.sr-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 250;  /* encima del overlay (150) y por debajo del drawer top:header-height (200) — el drawer arranca DEBAJO así que no compite con el header */
	background: var(--sr-color-bg);
	height: var(--sr-header-height);
	border-bottom: 1px solid transparent;
	transition: box-shadow .25s ease, border-color .25s ease;
}
.sr-header.is-scrolled {
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
	border-bottom-color: var(--sr-color-border);
}
.sr-header__inner {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: 0 var(--sr-gutter);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	position: relative;
}
.sr-header__logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	max-width: 220px;
}
.sr-header__logo img { display: block; width: 100%; height: auto; max-height: 60px; }

.sr-header__nav { flex: 1 1 auto; display: flex; justify-content: center; }
.sr-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 36px; }
.sr-menu a {
	display: block;
	font-family: var(--sr-font-base);
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
	color: var(--sr-color-text);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: all 0.15s ease-in-out;
}
.sr-menu a:hover,
.sr-menu .current-menu-item > a { color: var(--sr-color-accent); }

.sr-header__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}
.sr-header__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	box-shadow: none;
	padding: 11px;            /* sube touch target a 44px (22px svg + 22px padding) */
	cursor: pointer;
	color: var(--sr-color-text);
	min-width: 44px;
	min-height: 44px;
}
.sr-header__btn:hover,
.sr-header__btn:focus,
.sr-header__btn:active { color: var(--sr-color-text); background: none; box-shadow: none; outline: none; }
.sr-header__sep {
	width: 1px;
	height: 22px;
	background: var(--sr-color-border);
}
.sr-header__lang {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--sr-color-border);
	border-radius: 4px;
	color: var(--sr-color-text);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	min-height: 36px;
}
.sr-header__lang-label { line-height: 1; }

.sr-header__menu-toggle { display: none; }
.sr-header__menu-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--sr-color-text);
	margin: 5px 0;
	transition: transform .25s ease, opacity .25s ease;
}

.sr-header__search {
	position: absolute;
	inset: 0;
	margin: 0 var(--sr-gutter);
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--sr-color-bg);
	z-index: 5;
}
.sr-header__search[hidden] { display: none; }
.sr-header__search input {
	flex: 1 1 auto;
	border: none;
	border-bottom: 1px solid var(--sr-color-border);
	background: transparent;
	padding: 12px 0;
	font-size: 18px;
	font-family: inherit;
	color: var(--sr-color-text);
	outline: none;
}
.sr-header__search input:focus { border-bottom-color: var(--sr-color-accent); }
.sr-header__search-close {
	background: none;
	border: none;
	padding: 11px;
	cursor: pointer;
	color: var(--sr-color-text);
	min-width: 44px;
	min-height: 44px;
}

/* ============================================================
   Off-canvas mobile
============================================================ */
/* Panel móvil: full-width DEBAJO del header (logo visible siempre) */
.sr-mobile-panel {
	position: fixed;
	top: var(--sr-header-height-mob, var(--sr-header-height, 72px));
	left: 0; right: 0;
	bottom: 0;
	width: 100%;
	background: var(--sr-color-bg);
	z-index: 200;
	box-shadow: 0 8px 24px rgba(0,0,0,.08);
	transform: translateY(-12px);
	opacity: 0;
	transition: transform .3s ease, opacity .3s ease;
	display: flex;
	flex-direction: column;
	padding: 8px 24px 32px;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.sr-mobile-panel[hidden] { display: none; }
.sr-mobile-panel.is-open {
	transform: translateY(0);
	opacity: 1;
}

/* X interna ya no hace falta — el hamburger del header alterna */
.sr-mobile-panel__head { display: none; }
.sr-mobile-panel__nav { margin-top: 0; }

/* Items de nivel superior: grandes, alineados izquierda, chevron derecha */
.sr-menu--mobile {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sr-menu--mobile > .menu-item > a {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 20px 4px;
	border-bottom: 1px solid var(--sr-color-border);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .02em;
	text-align: left;
	text-transform: uppercase;
	color: var(--sr-color-text);
	text-decoration: none;
}
.sr-menu--mobile > .menu-item.has-megamenu.is-open > a {
	color: var(--sr-color-accent);
}
.sr-overlay {
	position: fixed; inset: 0;
	background: rgba(0,0,0,.4);
	z-index: 150; opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}
.sr-overlay.is-visible { opacity: 1; pointer-events: auto; }

/* ============================================================
   Footer
============================================================ */
.sr-footer { background: var(--sr-color-bg); color: var(--sr-color-text); margin-top: 0; }
.sr-footer__cta { display: none; } /* solo visible en móvil — ver media query */
.sr-footer__inner {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: var(--sr-space-xl) var(--sr-gutter) var(--sr-space-lg);
	display: grid;
	grid-template-columns: minmax(180px, 1fr) 1fr 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.sr-footer__col { width: 100%; }
.sr-footer__col--logo img { display: block; max-width: 180px; height: auto; }
.sr-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
}
.sr-footer__list a {
	display: block;
	font-family: var(--sr-font-base);
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	color: var(--sr-color-text);
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.15s ease-in-out;
}
.sr-footer__list a:hover { color: var(--sr-color-accent); }

.sr-footer__bottom { background: var(--sr-color-bottom); color: #fff; }
.sr-footer__bottom-inner {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: 18px var(--sr-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 32px;
}
.sr-footer__copy { margin: 0; font-size: 13px; flex: 1 1 auto; }
.sr-footer__legal { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sr-footer__legal a {
	color: #fff;
	text-decoration: none;
	font-size: 13px;
	transition: opacity 0.15s ease-in-out;
}
.sr-footer__legal a:hover { opacity: .75; }
.sr-footer__legal span { color: rgba(255,255,255,.7); font-size: 13px; }
.sr-footer__social { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; }
.sr-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,.15);
	color: #fff;
	transition: background .2s ease;
}
.sr-footer__social a:hover { background: rgba(255,255,255,.3); }


/* ============================================================
   PÁGINA CONÓCENOS — Breadcrumb
============================================================ */
.sr-breadcrumb {
	background: transparent;
	padding: 12px 0;
}
.sr-breadcrumb__inner {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: 0 var(--sr-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-family: var(--sr-font-base);
	font-size: 13px;
	line-height: 1;
	color: var(--sr-color-text-soft);
}
.sr-breadcrumb__link {
	color: var(--sr-color-accent);
	text-decoration: none;
	font-weight: 500;
	transition: opacity .15s ease;
}
.sr-breadcrumb__link:hover,
.sr-breadcrumb__link:focus-visible {
	opacity: .75;
	text-decoration: none;
}
.sr-breadcrumb__sep {
	color: var(--sr-color-text-soft);
	font-weight: 300;
	font-size: 14px;
	line-height: 1;
}
.sr-breadcrumb__current {
	color: var(--sr-color-text-soft);
	font-weight: 300;
}

@media (max-width: 600px) {
	.sr-breadcrumb { padding: 10px 0; }
	.sr-breadcrumb__inner { font-size: 12px; gap: 6px; }
}

/* ============================================================
   PÁGINA CONÓCENOS — Misión y Visión
============================================================ */
.sr-mv {
	background: #f5efe2 !important;     /* beige claro */
	padding: var(--sr-space-xl) var(--sr-gutter) var(--sr-space-md);
	max-width: 100% !important;
	margin-bottom: calc(var(--sr-card-bleed) + var(--sr-space-lg));
	position: relative;
}
.sr-mv__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	text-align: center;
	margin: 0 auto 56px;
	max-width: var(--sr-container);
}
.sr-mv__grid,
.wp-block-columns.sr-mv__grid {
	max-width: var(--sr-container);
	margin: 0 auto calc(-1 * var(--sr-card-bleed)) !important;
	gap: 32px;
	position: relative;
	z-index: 2;
}
.sr-mv__card {
	height: 100%;
	padding: 2em;
	border-radius: 20px;
	border: 1px solid #ECECEC;
	background: white;
	position: relative;
}
.sr-mv__card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 25%;
	height: 30%;
	border-left: 4px solid var(--sr-color-accent-2);
}
.sr-mv__card-title {
	font-family: var(--sr-font-base);
	font-size: 30px;
	font-weight: 700;
	line-height: 45px;
	color: #fff;
	-webkit-text-stroke: 1px rgb(43, 179, 167);
	text-stroke: 1px rgb(43, 179, 167);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0 0 16px;
}
.sr-mv__card-text {
	font-family: var(--sr-font-base);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.6;
	color: var(--sr-color-text);
	margin: 0;
}

/* ============================================================
   PÁGINA CONÓCENOS — Valores
============================================================ */
.sr-values {
	background: #f5efe2 !important;
	padding: var(--sr-space-xl) var(--sr-gutter) var(--sr-space-md);
	max-width: 100% !important;
	position: relative;
}
.sr-values__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	text-align: center;
	margin: 0 auto 56px;
	max-width: var(--sr-container);
}
.sr-values__grid,
.wp-block-columns.sr-values__grid {
	max-width: var(--sr-container);
	margin: 0 auto calc(-1 * var(--sr-card-bleed)) !important;
	gap: 20px !important;
	flex-wrap: wrap;
	position: relative;
	z-index: 2;
}
.sr-values__grid .wp-block-column {
	flex: 1 1 0 !important;
	min-width: 180px;
	display: flex;
}
.sr-value {
	height: 100%;
	width: 100%;
	padding: 2em;
	border-radius: 20px;
	border: 1px solid #ECECEC;
	background: white;
	position: relative;
	display: flex;
	flex-direction: column;
}
.sr-value::before {
	content: "";
	position: absolute;
	left: 0;
	top: 25%;
	height: 30%;
	border-left: 4px solid var(--sr-color-accent-2);
}
.sr-value__icon {
	margin: 0 0 20px;
}
.sr-value__icon img { display: block; width: 48px; height: auto; }
.sr-value__title {
	font-family: var(--sr-font-heading);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sr-color-text);
	margin: 0 0 12px;
}
.sr-value__text {
	font-family: var(--sr-font-base);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.55;
	color: var(--sr-color-text-soft);
	margin: 0;
}

/* ============================================================
   PÁGINA CONÓCENOS — Mapa "Estamos presentes en más de 80 países"
============================================================ */
.sr-locations {
	max-width: var(--sr-container) !important;
	margin: 0 auto !important;
	padding: calc(var(--sr-space-2xl) + var(--sr-card-bleed)) var(--sr-gutter) var(--sr-space-2xl);
}

/* Fachada (Conócenos) — limita altura para que no domine la página */
.sr-fachada img {
	max-height: 560px;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
@media (max-width: 768px) {
	.sr-fachada img { max-height: 340px; }
}
.sr-locations__head,
.wp-block-columns.sr-locations__head {
	gap: 64px;
	align-items: center;
	margin: 0;
}
.sr-locations__head .sr-locations__map { flex-basis: 60% !important; flex-grow: 1; }
.sr-locations__head .sr-locations__intro { flex-basis: 40% !important; }
.sr-locations__map img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	min-height: 480px;
	object-fit: contain;
	margin: 0;
}
@media (max-width: 768px) {
	.sr-locations__map img { min-height: 320px; }
}
.sr-locations__overline {
	font-family: var(--sr-font-heading);
	font-size: 12px;
	font-weight: 700;
	color: var(--sr-color-text);
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.sr-locations__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.15;
	margin: 0;
}

/* ============================================================
   PÁGINA CONÓCENOS — Nuestras sedes
============================================================ */
.sr-offices {
	background: #f5efe2 !important;
	padding: var(--sr-space-xl) var(--sr-gutter) var(--sr-space-md);
	max-width: 100% !important;
	position: relative;
}
.sr-offices__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	text-align: center;
	margin: 0 auto 56px;
	max-width: var(--sr-container);
}
.sr-offices__grid,
.wp-block-columns.sr-offices__grid {
	max-width: var(--sr-container);
	margin: 0 auto calc(-1 * var(--sr-card-bleed)) !important;
	gap: 24px;
	flex-wrap: wrap;
	position: relative;
	z-index: 2;
}
.sr-office {
	height: 100%;
	padding: 2em;
	border-radius: 20px;
	border: 1px solid #ECECEC;
	background: white;
	position: relative;
}
.sr-office::before {
	content: "";
	position: absolute;
	left: 0;
	top: 25%;
	height: 30%;
	border-left: 4px solid var(--sr-color-accent-2);
}
.sr-office__city {
	font-family: var(--sr-font-base);
	font-size: 30px;
	font-weight: 700;
	line-height: 45px;
	color: #fff;
	-webkit-text-stroke: 1px rgb(43, 179, 167);
	text-stroke: 1px rgb(43, 179, 167);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0 0 16px;
}
.sr-office__company {
	font-family: var(--sr-font-base);
	font-size: 14px;
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0 0 8px;
	letter-spacing: .02em;
	text-transform: uppercase;
}
.sr-office__address {
	font-family: var(--sr-font-base);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.6;
	color: var(--sr-color-text-soft);
	margin: 0;
}

/* ============================================================
   PÁGINA CONÓCENOS — Inversión en I+D
============================================================ */
.sr-rd,
.wp-block-columns.sr-rd {
	max-width: var(--sr-container) !important; /* 1400px, igual que header */
	margin: 0 auto !important;
	padding: calc(var(--sr-space-xl) + var(--sr-card-bleed)) var(--sr-gutter) var(--sr-space-xl);
	gap: 64px;
	align-items: center;
}
.sr-rd__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.15;
	margin: 0 0 24px;
}
.sr-rd__text {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	line-height: 1.6;
	color: var(--sr-color-text-soft);
	margin: 0 0 32px;
	max-width: 480px;
}
.sr-rd__media {
	position: relative;
}
.sr-rd__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0 60px 0 60px;
	box-shadow: 0 20px 60px rgba(0,0,0,.08);
}
/* Hoja decorativa abajo-derecha (espejada del bloque beneficios) */
.sr-rd__media::after {
	content: "";
	position: absolute;
	right: -32px;
	bottom: -40px;
	width: 100px;
	height: 115px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 165 187'><path d='M162.508 35.8988C145.992 -11.9663 19.001 -11.9663 2.47408 35.8988C-9.7025 70.0882 25.831 134.973 48.8447 161.32C57.7004 171.086 67.7848 185.018 81.9208 186.962C82.2879 187.013 82.6606 187.013 83.0277 186.962C97.1525 185.05 107.292 171.118 116.104 161.32C139.106 135.069 174.751 70.0134 162.508 35.8988Z' fill='%232CB3A7'/></svg>");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}
/* Si la imagen está a la izquierda (sección reverse), la hoja se espeja al lado izquierdo */
.sr-rd > .sr-rd__media:first-child img {
	border-radius: 60px 0 60px 0;
}
.sr-rd > .sr-rd__media:first-child::after {
	right: auto;
	left: -32px;
	transform: scaleX(-1);
}

/* ============================================================
   RESPONSIVE — breakpoints unificados (480 / 768 / 1024 / 1440)
============================================================ */

/* === Tablet y por debajo (≤ 1024px) === */
@media (max-width: 1024px) {
	/* Header → hamburguesa */
	.sr-header { height: var(--sr-header-height-mob); }
	.sr-header__inner { padding: 0 var(--sr-gutter); gap: 16px; }
	.sr-header__nav { display: none; }
	.sr-header__menu-toggle {
		display: inline-flex;
		flex-direction: column;
		padding: 11px 8px;
		min-width: 44px;
		min-height: 44px;
		justify-content: center;
	}
	.sr-header__logo { max-width: 160px; }
	.sr-header__logo img { max-height: 48px; }
	.sr-header__actions { gap: 8px; }
	.sr-header__sep { display: none; }
	.sr-header__lang { padding: 6px 10px; font-size: 13px; }

	/* Beneficios → 1 columna (selector específico para vencer a .wp-block-columns) */
	.sr-benefits,
	.wp-block-columns.sr-benefits {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	/* Imagen full width en móvil: sale del padding del container */
	.sr-benefits__media,
	.wp-block-column.sr-benefits__media {
		min-height: auto !important;
		width: 100vw !important;
		max-width: 100vw !important;
		flex-basis: auto !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: 0 !important;
		padding: 0 !important;
		display: block !important;
	}
	.sr-benefits__media figure,
	.sr-benefits__media .wp-block-image {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}
	.sr-benefits__media img {
		display: block !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 280px !important;
		min-height: auto !important;
		max-height: none !important;
		object-fit: cover !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	/* Title y cards mantienen el gutter horizontal */
	.sr-benefits__content {
		padding: 0 var(--sr-gutter);
	}

	/* Footer tablet → logo arriba (full-width, izquierda) + 3 columnas debajo */
	.sr-footer__inner {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 32px 28px;
		align-items: start;
	}
	.sr-footer__col--logo {
		grid-column: 1 / -1;
		display: flex;
		justify-content: flex-start;
		margin-bottom: 8px;
	}
	.sr-footer__col { text-align: left; }
	.sr-footer__list { align-items: flex-start; gap: 12px; }
	.sr-footer__list a { text-align: left; }

	/* Bottom bar: stack vertical → legales 2x2, copyright, redes */
	.sr-footer__bottom-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 20px;
	}
	.sr-footer__legal {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px 20px;
		justify-items: center;
		width: 100%;
		max-width: 420px;
	}
	.sr-footer__legal span { display: none; }    /* separadores · ocultos en grid */
	.sr-footer__copy { order: 2; text-align: center; }
	.sr-footer__legal { order: 1; }
	.sr-footer__social { order: 3; }
}

/* === Mobile grande y por debajo (≤ 768px) === */
@media (max-width: 768px) {
	/* Hero más alto en móvil para ganar presencia visual */
	.sr-hero video { max-height: 80vh; min-height: 360px; }

	/* Beneficios — sin hoja decorativa en móvil (imagen full-width edge to edge) */
	.sr-benefits__media::after { display: none; }
	/* 4 cards apiladas en 1 columna */
	.sr-benefits__content { grid-template-columns: 1fr; }

	/* Covers: min-height auto en mobile */
	.wp-block-cover.sr-sustain,
	.wp-block-cover.sr-catalog { min-height: auto; }
	.wp-block-cover.sr-contact { min-height: auto; }

	/* Carrusel clientes — flechas mantienen 44px */
	.sr-clients .swiper-slide { height: 140px; }
	.sr-clients__logo { max-height: 90px; }
	.sr-clients__controls { gap: 16px; margin-top: 32px; }
	.sr-clients__counter { min-width: 56px; }
	.sr-clients__counter-current { font-size: 22px; }

	/* Form contacto: 1 columna + botón ancho completo */
	.sr-contact__form ._form ._form-content { grid-template-columns: 1fr; gap: 16px; }
	.sr-contact__form ._form ._button-wrapper { text-align: center !important; }
	.sr-contact__form ._form ._submit,
	.sr-contact__form ._form button[type="submit"],
	.sr-contact__form ._form input[type="submit"] {
		width: 100% !important;
		max-width: 320px;
	}
	/* Mostrar todo el RGPD sin scroll interno */
	.sr-contact__form ._form ._html-code p {
		max-height: none;
		overflow-y: visible;
	}
	/* Anular el margin-top negativo de checkboxes (no hay row-gap en 1col) */
	.sr-contact__form ._form ._form_element:has(input[type="checkbox"]) {
		margin-top: 0 !important;
	}

	/* Conócenos — locations en 1 columna */
	.sr-locations__head,
	.wp-block-columns.sr-locations__head { flex-direction: column; gap: 32px; }
	.sr-locations__map img { max-width: 100%; }
	.sr-locations__title { text-align: center; }
	.sr-locations__overline { text-align: center; }

	/* Conócenos — Misión y Visión / Valores / Sedes : slider con scroll-snap */
	.sr-mv__grid,
	.wp-block-columns.sr-mv__grid,
	.sr-values__grid,
	.wp-block-columns.sr-values__grid,
	.sr-offices__grid,
	.wp-block-columns.sr-offices__grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 var(--sr-gutter);
		gap: 16px !important;
		padding: 8px var(--sr-gutter) 24px !important;
		margin-left: calc(-1 * var(--sr-gutter)) !important;
		margin-right: calc(-1 * var(--sr-gutter)) !important;
		margin-bottom: 0 !important;
		max-width: none !important;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.sr-mv__grid::-webkit-scrollbar,
	.sr-values__grid::-webkit-scrollbar,
	.sr-offices__grid::-webkit-scrollbar { display: none; }
	.sr-mv__grid > .wp-block-column,
	.sr-values__grid > .wp-block-column,
	.sr-offices__grid > .wp-block-column {
		flex: 0 0 80% !important;
		min-width: 0 !important;
		scroll-snap-align: center;
		display: flex !important;
	}
	.sr-mv__grid > .wp-block-column > .sr-mv__card,
	.sr-values__grid > .wp-block-column > .sr-value,
	.sr-offices__grid > .wp-block-column > .sr-office { width: 100%; }

	/* Conócenos — Mision/Vision/Sedes: en mobile no hay bleed (cards en slider), reducir margen */
	.sr-mv,
	.sr-offices { padding: var(--sr-space-lg) var(--sr-gutter) var(--sr-space-md); margin-bottom: 0; }
	.sr-values { padding: var(--sr-space-lg) var(--sr-gutter) var(--sr-space-md); }
	.sr-mv__title,
	.sr-values__title,
	.sr-offices__title { margin-bottom: var(--sr-space-md); }

	/* Conócenos — locations: padding mobile sin bleed extra */
	.sr-locations { padding: var(--sr-space-lg) var(--sr-gutter) !important; }
	.sr-locations__map img { min-height: 280px; }

	/* Conócenos — I+D apilado, sin compensación de bleed */
	.sr-rd,
	.wp-block-columns.sr-rd {
		flex-direction: column;
		gap: 32px;
		padding: var(--sr-space-lg) var(--sr-gutter) !important;
	}
	.sr-rd__media::after { right: -16px; bottom: -20px; width: 70px; height: 80px; }
	.sr-rd__media img { border-radius: 0 32px 0 32px; }
	.sr-rd > .sr-rd__media:first-child img { border-radius: 32px 0 32px 0; }
	.sr-rd > .sr-rd__media:first-child::after { right: auto; left: -16px; }
	.sr-rd__title { font-size: clamp(28px, 7vw, 36px); text-align: center; }
	.sr-rd__text { text-align: center; }

	/* Sellos / Certificados / Colaboradores / Newsletter: padding mobile más razonable */
	.sr-seals,
	.sr-collabs,
	.sr-certs,
	.sr-newsletter { padding: var(--sr-space-lg) var(--sr-gutter); }
	.sr-seals__title,
	.sr-collabs__title,
	.sr-certs__title,
	.sr-newsletter__title { margin-bottom: var(--sr-space-md); }

	/* Newsletter — form en 1 columna */
	.sr-newsletter ._form ._form-content { grid-template-columns: 1fr !important; }
	.sr-newsletter ._form ._button-wrapper { text-align: center !important; }
	.sr-newsletter ._form ._submit { width: 100% !important; max-width: 320px; }
	.sr-newsletter ._form ._html-code p { max-height: none; overflow-y: visible; }

	/* Footer mobile: logo arriba + CTA + 2 columnas (Menú | Productos) + Empresa full */
	.sr-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 24px 20px;
		padding: var(--sr-space-lg) var(--sr-gutter) var(--sr-space-md);
	}
	.sr-footer__col--logo {
		grid-column: 1 / -1;
		justify-content: center;
	}
	.sr-footer__cta {
		display: flex;
		grid-column: 1 / -1;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		padding: 20px 16px;
		background: var(--sr-color-bg-soft);
		border-radius: 14px;
		text-align: center;
	}
	.sr-footer__cta-title {
		margin: 0;
		font-family: var(--sr-font-heading);
		font-size: 17px;
		font-weight: 600;
		color: var(--sr-color-text);
	}
	.sr-footer__cta-buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px;
		width: 100%;
	}
	.sr-footer__cta-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 44px;
		padding: 10px 18px;
		border-radius: 999px;
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
		transition: transform .2s ease, box-shadow .2s ease;
		flex: 1 1 auto;
		min-width: 0;
	}
	.sr-footer__cta-btn svg { flex: 0 0 auto; }
	.sr-footer__cta-btn--fill {
		background: var(--sr-color-accent);
		color: #fff;
		border: 1px solid var(--sr-color-accent);
	}
	.sr-footer__cta-btn--outline {
		background: transparent;
		color: var(--sr-color-text);
		border: 1px solid var(--sr-color-border);
	}
	.sr-footer__cta-btn:hover,
	.sr-footer__cta-btn:focus-visible {
		transform: translateY(-1px);
		box-shadow: 0 6px 16px rgba(15,31,60,.10);
	}

	/* La columna "Empresa" ocupa las 2 cols en móvil para mejor lectura */
	.sr-footer__col--company {
		grid-column: 1 / -1;
	}
	.sr-footer__col--company .sr-footer__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px 20px;
	}

	.sr-footer__list { gap: 12px; }
	.sr-footer__list a {
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: 0;
	}
}

/* === Mobile pequeño (≤ 480px) === */
@media (max-width: 480px) {
	.sr-hero video { max-height: 75vh; min-height: 320px; }

	/* Sliders mobile: slide más estrecho para ver el peek del siguiente */
	.sr-mv__grid > .wp-block-column,
	.sr-values__grid > .wp-block-column,
	.sr-offices__grid > .wp-block-column { flex: 0 0 85% !important; }

	/* Footer mobile pequeño: misma estructura del breakpoint 768px, más compacto */
	.sr-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 20px 16px;
		padding: var(--sr-space-md) var(--sr-gutter);
	}
	.sr-footer__col--logo img { max-width: 140px; }
	.sr-footer__cta {
		padding: 16px 14px;
		gap: 10px;
	}
	.sr-footer__cta-title { font-size: 16px; }
	.sr-footer__cta-buttons {
		flex-direction: column;
		gap: 8px;
	}
	.sr-footer__cta-btn { width: 100%; }
	.sr-footer__list { gap: 10px; }
	.sr-footer__list a { font-size: 13px; line-height: 1.4; }
	.sr-footer__bottom-inner { gap: 16px; }

	/* Beneficios cards 1 columna en pantallas muy estrechas */
	.sr-benefits__content { grid-template-columns: 1fr; }

	/* Mapa min-height más bajo en xs */
	.sr-locations__map img { min-height: 220px; }

	/* H1 Conócenos un punto más pequeño */
	.sr-intro__title { font-size: clamp(28px, 8vw, 36px); }

	/* Newsletter avión escala más en xs */
	.sr-newsletter__plane { width: 80px; top: -28px; }
}

/* === Wide desktop (≥ 1441px) === */
@media (min-width: 1441px) {
	.wp-block-cover.sr-sustain { min-height: 600px; }
	.wp-block-cover.sr-catalog { min-height: 560px; }
	.sr-benefits { gap: 60px; }
}


/* ============================================================
   Accesibilidad — Reduced Motion
============================================================ */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	.sr-clients .swiper-slide:hover .sr-clients__logo { transform: none; }
	.sr-benefit:hover { transform: none; }
	.sr-clients__prev:hover,
	.sr-clients__next:hover,
	.sr-btn-white .wp-block-button__link:hover,
	.sr-btn-fill .wp-block-button__link:hover,
	.sr-contact__form ._form ._submit:hover { transform: none !important; }
	/* Nota: el JS (clients-carousel.js) también desactivará autoplay */
}

/* ============================================================
   PÁGINA CONÓCENOS — Sellos, reconocimientos y adhesiones
============================================================ */
.sr-seals {
	background: #fff;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-seals__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	text-align: center;
	margin: 0 auto var(--sr-space-lg);
	max-width: 760px;
	line-height: 1.2;
}
.sr-seals__grid,
.wp-block-group.sr-seals__grid {
	max-width: var(--sr-container);
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: clamp(20px, 3vw, 48px) clamp(16px, 2.5vw, 40px) !important;
	align-items: center;
	justify-items: center;
}
.sr-seals__item {
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	scroll-snap-align: start;
}
.sr-seals__item img {
	display: block;
	height: 80px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

/* Mobile: slider con scroll-snap */
@media (max-width: 768px) {
	.sr-seals__grid,
	.wp-block-group.sr-seals__grid {
		display: flex !important;
		grid-template-columns: none !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 0;
		gap: 16px !important;
		padding: 4px 0 16px !important;
		margin: 0 auto !important;
		max-width: 100% !important;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.sr-seals__grid::-webkit-scrollbar { display: none; }
	/* Override: Gutenberg añade is-content-justification-center que centra
	   el contenido y rompe el scroll horizontal */
	.sr-seals__grid.is-content-justification-center,
	.sr-seals__grid {
		justify-content: flex-start !important;
	}
	.sr-seals__item {
		flex: 0 0 calc((100% - 32px) / 3); /* 3 sellos visibles, gap 16px */
		min-width: 0;
	}
	.sr-seals__item:last-child { scroll-snap-align: end; }
	.sr-seals__item img { height: 56px; }
}
@media (max-width: 480px) {
	.sr-seals__item { flex: 0 0 calc((100% - 32px) / 3); }
	.sr-seals__item img { height: 44px; }
}

/* ============================================================
   PÁGINA CONÓCENOS — Documentos (Políticas / Memoria)
============================================================ */
.sr-docs {
	background: #2d2a26;
	padding: clamp(40px, 5vw, 64px) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-docs__inner,
.wp-block-group.sr-docs__inner {
	max-width: 1100px;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: clamp(40px, 6vw, 88px) !important;
	align-items: stretch !important;
	justify-content: center !important;
}
.sr-docs__row,
.wp-block-group.sr-docs__row {
	flex: 1 1 360px;
	min-width: 0;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
	padding: 8px 0 !important;
}

.sr-docs__label {
	font-family: var(--sr-font-base);
	font-size: clamp(15px, 1.2vw, 18px);
	font-weight: 400;
	color: #fff;
	margin: 0 !important;
	letter-spacing: .01em;
	flex: 1 1 auto;
}
.sr-docs__btn,
.wp-block-buttons.sr-docs__btn { margin: 0 !important; flex: 0 0 auto; }
.sr-docs__btn .wp-block-button__link,
.sr-docs__btn .wp-block-button__link.wp-element-button {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 11px 24px !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	text-underline-offset: 0 !important;
	transition: background .15s ease;
}
.sr-docs__btn .wp-block-button__link:hover {
	background: var(--sr-color-accent-dark) !important;
	text-decoration: none !important;
}

@media (max-width: 768px) {
	.sr-docs__inner,
	.wp-block-group.sr-docs__inner { gap: 12px !important; }
	.sr-docs__row,
	.wp-block-group.sr-docs__row {
		flex: 1 1 100%;
		padding: 14px 0 !important;
		border-bottom: 1px solid rgba(255,255,255,.1);
	}
	.sr-docs__inner > .sr-docs__row:last-child { border-bottom: none; }
}
@media (max-width: 480px) {
	.sr-docs__row,
	.wp-block-group.sr-docs__row {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
	}
}

/* ============================================================
   Sliders — dots de paginación (mobile)
============================================================ */
.sr-slider-dots {
	display: none;
	gap: 8px;
	justify-content: center;
	align-items: center;
	margin: 16px auto 0;
	padding: 0;
}
.sr-slider-dot {
	appearance: none;
	-webkit-appearance: none;
	background: rgba(45, 42, 38, 0.25);
	border: none;
	border-radius: 999px;
	width: 8px;
	height: 8px;
	padding: 0;
	cursor: pointer;
	transition: background .2s ease, width .2s ease;
}
.sr-slider-dot.is-active {
	background: var(--sr-color-accent);
	width: 24px;
}
.sr-slider-dot:focus-visible {
	outline: 2px solid var(--sr-color-accent);
	outline-offset: 2px;
}
@media (max-width: 768px) {
	.sr-slider-dots { display: flex; }
}

/* ============================================================
   PÁGINA CONÓCENOS — Certificados ISO
============================================================ */
.sr-certs {
	background: #f5f5f5;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-certs__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	text-align: center;
	letter-spacing: .04em;
	margin: 0 auto var(--sr-space-lg);
}
.sr-certs__grid,
.wp-block-group.sr-certs__grid {
	max-width: 480px;
	margin: 0 auto !important;
}
.sr-cert {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0,0,0,.06);
	width: 100%;
}
.sr-cert__thumb {
	margin: 0 !important;
	background: #fff;
	padding: 24px 24px 0;
}
.sr-cert__thumb img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 480px;
	object-fit: contain;
}
.sr-cert__title {
	font-family: var(--sr-font-base);
	font-size: 16px;
	font-weight: 700;
	color: var(--sr-color-text);
	padding: 24px 24px 8px;
	margin: 0;
	letter-spacing: .02em;
}
.sr-cert__btn {
	padding: 8px 24px 24px;
}
.sr-cert__btn .wp-block-button__link {
	background: transparent !important;
	color: var(--sr-color-accent) !important;
	border: 1px solid var(--sr-color-accent) !important;
	border-radius: 999px !important;
	padding: 8px 28px !important;
	font-family: var(--sr-font-base) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}
.sr-cert__btn .wp-block-button__link:hover {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
}

/* ============================================================
   PÁGINA CONÓCENOS — Colaboradores
============================================================ */
.sr-collabs {
	background: #fff;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-collabs__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	text-align: center;
	margin: 0 auto var(--sr-space-lg);
}
.sr-collabs__grid,
.wp-block-group.sr-collabs__grid {
	max-width: var(--sr-container);
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: clamp(32px, 4vw, 56px) clamp(24px, 4vw, 64px) !important;
	align-items: center;
	justify-items: center;
}
.sr-collabs__item {
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	scroll-snap-align: start;
}
.sr-collabs__item img {
	display: block;
	height: 70px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

/* Mobile: slider con scroll-snap */
@media (max-width: 768px) {
	.sr-collabs__grid,
	.wp-block-group.sr-collabs__grid {
		display: flex !important;
		grid-template-columns: none !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 0;
		gap: 16px !important;
		padding: 4px 0 16px !important;
		margin: 0 auto !important;
		max-width: 100% !important;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.sr-collabs__grid::-webkit-scrollbar { display: none; }
	/* Override: Gutenberg añade is-content-justification-center que centra
	   el contenido y rompe el scroll horizontal */
	.sr-collabs__grid.is-content-justification-center,
	.sr-collabs__grid {
		justify-content: flex-start !important;
	}
	.sr-collabs__item {
		flex: 0 0 calc((100% - 16px) / 2); /* 2 visibles */
		min-width: 0;
	}
	.sr-collabs__item:last-child { scroll-snap-align: end; }
	.sr-collabs__item img { height: 50px; }
}
@media (max-width: 480px) {
	.sr-collabs__item { flex: 0 0 calc((100% - 16px) / 2); }
}

/* ============================================================
   PÁGINA CONÓCENOS — Newsletter (ActiveCampaign form)
============================================================ */
.sr-newsletter {
	background: #f5efe2;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-newsletter__inner,
.wp-block-group.sr-newsletter__inner {
	max-width: 1100px;
	margin: 0 auto !important;
	position: relative;
}
.sr-newsletter__plane {
	position: absolute !important;
	top: -10px;
	right: clamp(8px, 6vw, 80px);
	margin: 0 !important;
	width: clamp(110px, 15vw, 174px);
	z-index: 2;
	pointer-events: none;
}
.sr-newsletter__plane img {
	width: 100%;
	height: auto;
	display: block;
}
.sr-newsletter__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 400;
	color: var(--sr-color-text);
	line-height: 1.15;
	margin: 0 auto var(--sr-space-md);
	max-width: 720px;
	text-align: center;
}
.sr-newsletter__title strong {
	font-weight: 800;
}
.sr-newsletter__lead {
	font-family: var(--sr-font-base);
	font-size: 16px;
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.55;
	margin: 0 auto var(--sr-space-lg);
	max-width: 600px;
	text-align: center;
}

/* ActiveCampaign form override */
.sr-newsletter ._form_29,
.sr-newsletter form._form-content,
.sr-newsletter ._form { max-width: 100% !important; background: transparent !important; padding: 0 !important; }
.sr-newsletter ._form * { box-sizing: border-box; }
.sr-newsletter ._form ._form-content,
.sr-newsletter ._form ._row,
.sr-newsletter ._form ._field-wrapper { background: transparent !important; }
.sr-newsletter ._form ._form-label { display: none !important; }
.sr-newsletter ._form ._form_element { margin-bottom: 18px !important; }

/* Inputs / selects / textarea con fondo blanco */
.sr-newsletter ._form input[type="text"],
.sr-newsletter ._form input[type="email"],
.sr-newsletter ._form input[type="tel"],
.sr-newsletter ._form input[type="number"],
.sr-newsletter ._form select,
.sr-newsletter ._form textarea {
	width: 100% !important;
	border: 1px solid var(--sr-color-border) !important;
	border-radius: 4px !important;
	padding: 14px 16px !important;
	background: #fff !important;
	font-family: var(--sr-font-base) !important;
	font-size: 15px !important;
	color: var(--sr-color-text) !important;
	box-shadow: none !important;
}
.sr-newsletter ._form select { appearance: auto; padding-right: 32px !important; }
.sr-newsletter ._form input:focus,
.sr-newsletter ._form select:focus,
.sr-newsletter ._form textarea:focus {
	outline: 2px solid var(--sr-color-accent);
	outline-offset: 1px;
	border-color: var(--sr-color-accent) !important;
}
.sr-newsletter ._form input::placeholder,
.sr-newsletter ._form textarea::placeholder { color: var(--sr-color-text); opacity: .55; }

/* Reset fieldset/legend */
.sr-newsletter ._form ._form-fieldset,
.sr-newsletter ._form fieldset {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.sr-newsletter ._form fieldset legend { display: none !important; }

/* Checkboxes — mismo patrón que el form de la home, adaptado a fondo beige */
.sr-newsletter ._form ._form_element:has(input[type="checkbox"]),
.sr-newsletter ._form ._form_element:has(input[type="checkbox"]) > *,
.sr-newsletter ._form ._row._checkbox-radio {
	background: transparent !important;
}
.sr-newsletter ._form ._form_element:has(input[type="checkbox"]) {
	margin: 0 0 6px !important;
}
.sr-newsletter ._form ._form_element:not(:has(input[type="checkbox"])) + ._form_element:has(input[type="checkbox"]) {
	margin-top: 8px !important;
}
.sr-newsletter ._form ._row._checkbox-radio {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 2px 0 !important;
	padding: 0 !important;
}
.sr-newsletter ._form ._row._checkbox-radio input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
	margin: 1px 0 0 !important;
	cursor: pointer;
	accent-color: var(--sr-color-accent);
}
.sr-newsletter ._form ._row._checkbox-radio label {
	font-family: var(--sr-font-base) !important;
	color: var(--sr-color-text) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline !important;
	border: none !important;
	cursor: pointer;
}
.sr-newsletter ._form ._row._checkbox-radio label a {
	color: var(--sr-color-accent) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	transition: opacity .15s ease;
}
.sr-newsletter ._form ._row._checkbox-radio label a:hover { opacity: .8; }

/* Bloque RGPD (PUBLICIDAD) */
.sr-newsletter ._form ._html-code {
	margin: 16px 0 !important;
	font-family: var(--sr-font-base) !important;
	color: var(--sr-color-text) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}
.sr-newsletter ._form ._html-code h4,
.sr-newsletter ._form ._html-code strong {
	color: var(--sr-color-text) !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin: 0 0 8px !important;
}
.sr-newsletter ._form ._html-code p {
	font-size: 12px !important;
	line-height: 1.55 !important;
	margin: 0 0 8px !important;
	max-height: 140px;
	overflow-y: auto;
	background: #fff;
	padding: 12px 14px;
	border: 1px solid var(--sr-color-border);
	border-radius: 4px;
}
.sr-newsletter ._form ._html-code a { color: var(--sr-color-accent); text-decoration: underline; }

/* Botón submit */
.sr-newsletter ._form ._button-wrapper {
	margin-top: 20px !important;
	text-align: left !important;
}
.sr-newsletter ._form ._submit,
.sr-newsletter ._form button[type="submit"],
.sr-newsletter ._form input[type="submit"] {
	display: inline-block !important;
	background: var(--sr-color-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 14px 40px !important;
	font-family: var(--sr-font-heading) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	width: auto !important;
	min-width: 180px;
	min-height: 48px;
	transition: background .2s, transform .2s !important;
}
.sr-newsletter ._form ._submit:hover {
	background: var(--sr-color-accent-dark) !important;
	transform: translateY(-1px);
}

.sr-newsletter ._form a { color: var(--sr-color-accent) !important; }

@media (min-width: 768px) {
	.sr-newsletter ._form ._row._checkbox-radio,
	.sr-newsletter ._form ._row { gap: 16px; }
	/* Two-column layout on desktop for first 2 fields */
	.sr-newsletter ._form ._form-content {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 24px;
	}
	.sr-newsletter ._form ._form_element._full_width,
	.sr-newsletter ._form ._form_element[data-name],
	.sr-newsletter ._form ._button-wrapper,
	.sr-newsletter ._form ._error-inner,
	.sr-newsletter ._form ._html-code,
	.sr-newsletter ._form ._form_element:has(input[type="checkbox"]) { grid-column: 1 / -1; }
	.sr-newsletter ._form ._form_element:nth-of-type(1),
	.sr-newsletter ._form ._form_element:nth-of-type(2) { grid-column: span 1; }
	.sr-newsletter ._form ._form_element:nth-of-type(3),
	.sr-newsletter ._form ._form_element:nth-of-type(4) { grid-column: span 1; }
}

@media (max-width: 600px) {
	.sr-newsletter__plane { top: -40px; right: 8px; width: 90px; }
}

/* ============================================================
   PÁGINA INNOVACIÓN Y SOSTENIBILIDAD
============================================================ */

/* Hero cover con imagen + tarjeta beige */
.wp-block-cover.sr-innov-hero {
	min-height: clamp(420px, 60vw, 640px);
	padding: 0 !important;
	margin-top: var(--sr-space-md);
	margin-bottom: 0; /* la card sobresale absoluta, no necesitamos margen */
	overflow: visible !important;
}
.sr-innov-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--sr-container); /* 1400px, igual que header/footer */
	margin: 0 auto !important;
	padding: clamp(40px, 6vw, 96px) var(--sr-gutter);
	overflow: visible !important;
}
.sr-innov-hero__inner,
.wp-block-group.sr-innov-hero__inner {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(24px, 4vw, 64px);
	align-items: stretch;
	max-width: 100% !important;
	min-height: clamp(380px, 50vw, 540px);
}
/* H2 a la mitad vertical, card al final */
.sr-innov-hero__inner > .sr-innov-hero__title { align-self: center; }
.sr-innov-hero__inner > .sr-innov-hero__card { align-self: end; }
.sr-innov-hero__title {
	font-family: var(--sr-font-heading);
	font-size: clamp(32px, 3.6vw, 52px);
	font-weight: 500;
	line-height: 1.18;
	color: #fff;
	margin: 0;
	max-width: 620px;
	letter-spacing: -.005em;
}
.sr-innov-hero__card,
.wp-block-group.sr-innov-hero__card {
	position: relative;
	background: #d6c08a;
	color: var(--sr-color-text);
	padding: clamp(28px, 3.2vw, 44px) clamp(28px, 3.2vw, 48px);
	max-width: 480px !important;
	width: 100%;
	margin-left: auto;
	margin-bottom: clamp(-120px, -8vw, -60px); /* sobresale por debajo del cover */
	justify-self: end;
	align-self: end;
	z-index: 3;
}
/* Extensión del fondo marrón hasta el borde derecho del viewport */
.sr-innov-hero__card::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 100%;
	width: 100vw;
	background: #d6c08a;
	z-index: -1;
}
/* Línea blanca vertical (igual que original .mod-06 .aparte::after) */
.sr-innov-hero__card::after {
	content: " ";
	display: block;
	position: absolute;
	left: 0;
	top: 15%;
	height: 25%;
	border-left: 4px solid #fff;
}
.sr-innov-hero__card-title {
	font-family: var(--sr-font-base);
	font-size: clamp(19px, 1.5vw, 24px);
	font-weight: 900;
	color: var(--sr-color-text);
	margin: 0 0 18px;
	line-height: 1.25;
}
.sr-innov-hero__card-text,
.sr-innov-hero__card p.sr-innov-hero__card-text {
	font-family: var(--sr-font-base);
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 800;
	color: #fff !important;
	margin: 0 0 28px;
	line-height: 1.4;
}
.sr-innov-hero__btn .wp-block-button__link,
.sr-innov-hero__btn .wp-block-button__link.wp-element-button {
	background: transparent !important;
	color: #fff !important;
	border: 1px solid #fff !important;
	border-radius: 999px !important;
	padding: 11px 30px !important;
	font-family: var(--sr-font-heading) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.sr-innov-hero__btn .wp-block-button__link:hover {
	background: #fff !important;
	color: var(--sr-color-text) !important;
}

/* Secciones de texto centrado con CTA outline */
.sr-innov-section,
.wp-block-group.sr-innov-section {
	max-width: 100% !important;
	padding: var(--sr-space-xl) var(--sr-gutter);
	background: #fff;
}
/* La 1ª sección después del cover hero: padding-top extra que absorbe
   el bleed de la card y deja respiro hasta el siguiente título */
.wp-block-cover.sr-innov-hero + .sr-innov-section,
.wp-block-cover.sr-innov-hero + .wp-block-group.sr-innov-section {
	padding-top: clamp(120px, 14vw, 200px);
}
.sr-innov-section__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.2;
	margin: 0 auto 20px;
	max-width: 880px;
	text-align: center;
}
.sr-innov-section__lead {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	color: var(--sr-color-text-soft);
	line-height: 1.55;
	margin: 0 auto var(--sr-space-md);
	max-width: 820px;
	text-align: center;
}
.sr-innov-section__btn {
	justify-content: center !important;
}
/* Botón outline accent (¿Necesitas orientación? / Consúltanos) */
.sr-btn-outline .wp-block-button__link,
.sr-btn-outline .wp-block-button__link.wp-element-button {
	background: transparent !important;
	color: var(--sr-color-accent) !important;
	border: 1px solid var(--sr-color-accent) !important;
	border-radius: 999px !important;
	padding: 13px 34px !important;
	font-family: var(--sr-font-heading) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.sr-btn-outline .wp-block-button__link:hover,
.sr-btn-outline .wp-block-button__link:focus {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
}

/* Bloques 2-col texto + imagen (Vita / Oceanis / Neuromarketing) */
.sr-innov-feature,
.wp-block-columns.sr-innov-feature {
	max-width: 100% !important;
	margin: 0 !important;
	gap: 0 !important;
	align-items: stretch !important;
	min-height: clamp(380px, 48vw, 560px);
}
/* Anular align-self: center que Gutenberg aplica con verticalAlignment: center
   para que ambas columnas se estiren a la altura de la fila */
.sr-innov-feature > .wp-block-column,
.sr-innov-feature > .wp-block-column.is-vertically-aligned-center {
	align-self: stretch !important;
}
.sr-innov-feature__text,
.wp-block-column.sr-innov-feature__text {
	background: #f5efe2;
	padding: clamp(40px, 5vw, 80px) clamp(32px, 6vw, 96px);
	/* Alinea el texto al mismo x que el header/footer/hero (1400px + gutter) */
	padding-left: max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2 + var(--sr-gutter)));
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-self: stretch !important;
}
.sr-innov-feature__title {
	font-family: var(--sr-font-heading);
	font-size: clamp(26px, 2.6vw, 38px);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.2;
	margin: 0 0 24px;
	max-width: 480px;
}
.sr-innov-feature__copy {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	color: var(--sr-color-text-soft);
	line-height: 1.55;
	margin: 0 0 32px;
	max-width: 540px;
}
.sr-innov-feature__btn .wp-block-button__link,
.sr-innov-feature__btn .wp-block-button__link.wp-element-button {
	text-decoration: none !important;
}
.sr-innov-feature__media,
.wp-block-column.sr-innov-feature__media {
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
}
/* Neuromarketing (reverse): imagen a la izquierda — alinea borde izq con header */
.sr-innov-feature--reverse .sr-innov-feature__media,
.sr-innov-feature--reverse .wp-block-column.sr-innov-feature__media {
	padding-left: max(0px, calc((100vw - var(--sr-container)) / 2)) !important;
}
.sr-innov-feature__media .wp-block-image,
.sr-innov-feature__media figure {
	margin: 0 !important;
	width: 100%;
	height: 100%;
}
.sr-innov-feature__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

/* Variante reversa (Neuromarketing): media a la izquierda, fondo blanco */
.sr-innov-feature--reverse .sr-innov-feature__text { background: #fff; }
.sr-innov-feature--reverse .sr-innov-feature__text,
.sr-innov-feature--reverse .wp-block-column.sr-innov-feature__text {
	/* Texto a la derecha: alinea por el lado derecho con el header/footer (1400px) */
	padding-left: clamp(32px, 6vw, 96px);
	padding-right: max(var(--sr-gutter), calc((100vw - var(--sr-container)) / 2 + var(--sr-gutter)));
}

/* Decoración neuromarketing: bordes redondeados + hoja verde, igual que home */
.sr-innov-feature--neuro,
.wp-block-columns.sr-innov-feature--neuro {
	padding: clamp(40px, 5vw, 80px) clamp(32px, 4vw, 80px);
	gap: clamp(40px, 5vw, 80px) !important;
	overflow: visible !important;
}
.sr-innov-feature--neuro .sr-innov-feature__media,
.wp-block-column.sr-innov-feature--neuro .sr-innov-feature__media {
	overflow: visible !important;
}
/* La hoja se posiciona relativa al figure (la imagen) — no a la columna,
   que tiene padding-left dinámico para alinear con el header */
.sr-innov-feature--neuro .sr-innov-feature__media .wp-block-image,
.sr-innov-feature--neuro .sr-innov-feature__media figure {
	position: relative;
	overflow: visible !important;
}
.sr-innov-feature--neuro .sr-innov-feature__media img {
	border-radius: 0 60px 0 60px;
	box-shadow: 0 20px 60px rgba(0,0,0,.08);
}
.sr-innov-feature--neuro .sr-innov-feature__media figure::after,
.sr-innov-feature--neuro .sr-innov-feature__media .wp-block-image::after {
	content: "";
	position: absolute;
	left: -40px;
	bottom: -40px;
	width: 110px;
	height: 125px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 165 187'><path d='M162.508 35.8988C145.992 -11.9663 19.001 -11.9663 2.47408 35.8988C-9.7025 70.0882 25.831 134.973 48.8447 161.32C57.7004 171.086 67.7848 185.018 81.9208 186.962C82.2879 187.013 82.6606 187.013 83.0277 186.962C97.1525 185.05 107.292 171.118 116.104 161.32C139.106 135.069 174.751 70.0134 162.508 35.8988Z' fill='%232CB3A7'/></svg>");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 2;
}

/* Variante neuromarketing: lista con bullets — tipografía coherente con sr-innov-feature__copy */
.sr-innov-feature__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 520px;
}
.sr-innov-feature__list li {
	position: relative;
	padding-left: 24px;
	margin: 0 0 24px;
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	color: var(--sr-color-text-soft);
	line-height: 1.55;
}
.sr-innov-feature__list li:last-child { margin-bottom: 0; }
.sr-innov-feature__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sr-color-accent);
}
.sr-innov-feature__list li strong {
	color: var(--sr-color-text);
	font-weight: 700;
}

/* Responsive */
@media (max-width: 768px) {
	/* === HERO === */
	.wp-block-cover.sr-innov-hero {
		min-height: auto;
	}
	.sr-innov-hero .wp-block-cover__inner-container {
		padding: var(--sr-space-lg) var(--sr-gutter) !important;
	}
	.sr-innov-hero__inner,
	.wp-block-group.sr-innov-hero__inner {
		grid-template-columns: 1fr;
		gap: 24px;
		min-height: auto;
		align-items: stretch;
	}
	.sr-innov-hero__title { font-size: clamp(26px, 6vw, 32px); }
	/* Reset alineación de la card en mobile */
	.sr-innov-hero__card,
	.wp-block-group.sr-innov-hero__card {
		max-width: 100% !important;
		margin-left: 0;
		margin-bottom: 0;
		justify-self: stretch;
		align-self: stretch;
		padding: 24px;
	}
	/* Ocultar extensión a la derecha del viewport — provocaba overflow */
	.sr-innov-hero__card::before { display: none; }
	.sr-innov-hero__card::after { left: 0; top: 0; height: 100%; border-left-width: 3px; }
	.sr-innov-hero__card-title { font-size: clamp(18px, 4.5vw, 22px); }
	.sr-innov-hero__card-text { font-size: clamp(15px, 4vw, 18px); }

	/* === Sección tras hero — menos espacio === */
	.wp-block-cover.sr-innov-hero + .sr-innov-section,
	.wp-block-cover.sr-innov-hero + .wp-block-group.sr-innov-section {
		padding-top: var(--sr-space-lg);
	}

	/* === Feature blocks: stack === */
	.sr-innov-feature,
	.wp-block-columns.sr-innov-feature {
		display: flex !important;
		flex-direction: column !important;
		min-height: auto;
	}
	/* Neuromarketing reverse: SIEMPRE imagen arriba en mobile (no column-reverse) */
	.sr-innov-feature--reverse {
		flex-direction: column !important;
	}
	.sr-innov-feature__media img { min-height: 240px; max-height: 360px; }

	/* CTAs full width en mobile */
	.sr-innov-section__btn .wp-block-button,
	.sr-innov-feature__btn .wp-block-button { width: 100%; max-width: 320px; }
	.sr-innov-section__btn .wp-block-button__link,
	.sr-innov-feature__btn .wp-block-button__link { width: 100%; text-align: center; }

	/* Hoja verde Neuromarketing: contenida dentro del viewport */
	.sr-innov-feature--neuro .sr-innov-feature__media figure::after,
	.sr-innov-feature--neuro .sr-innov-feature__media .wp-block-image::after {
		left: -16px;
		bottom: -24px;
		width: 70px;
		height: 80px;
	}

	/* Sin padding-left dinámico en neuro mobile (la imagen ya es full bleed) */
	.sr-innov-feature--reverse .sr-innov-feature__media,
	.sr-innov-feature--reverse .wp-block-column.sr-innov-feature__media {
		padding-left: 0 !important;
	}

	.sr-innov-section { padding: var(--sr-space-lg) var(--sr-gutter); }
}

/* Headings de innovación — wrap balanceado en cualquier breakpoint */
.sr-innov-section__title,
.sr-innov-feature__title,
.sr-innov-hero__title { text-wrap: balance; }

/* ============================================================
   PÁGINA CATÁLOGO (un solo catálogo)
============================================================ */
.sr-cat-list {
	background: #fff;
	padding: var(--sr-space-md) var(--sr-gutter) var(--sr-space-2xl);
	max-width: 100% !important;
}
.sr-cat-list__grid,
.wp-block-group.sr-cat-list__grid {
	max-width: 720px;
	margin: 0 auto !important;
	gap: var(--sr-space-lg) !important;
	justify-content: center !important;
}
.sr-cat-card,
.wp-block-group.sr-cat-card {
	width: 100%;
	max-width: 560px;
	text-align: center;
	display: flex !important;
	flex-direction: column;
	gap: 32px;
}
.sr-cat-card__cover {
	margin: 0 !important;
}
.sr-cat-card__cover a {
	display: block;
	width: 100%;
}
.sr-cat-card__cover img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0 auto;
	box-shadow: none;
	border-radius: 0;
	transition: transform .3s ease;
}
@media (hover: hover) {
	.sr-cat-card__cover a:hover img,
	.sr-cat-card__cover a:focus-visible img {
		transform: translateY(-6px);
	}
}
.sr-cat-card__title {
	font-family: var(--sr-font-heading);
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0;
	line-height: 1.3;
	text-wrap: balance;
}
.sr-cat-card__btn {
	justify-content: center !important;
	margin: 0 !important;
}
.sr-cat-card__btn .wp-block-button__link,
.sr-cat-card__btn .wp-block-button__link.wp-element-button {
	background: transparent !important;
	color: var(--sr-color-accent) !important;
	border: 1px solid var(--sr-color-accent) !important;
	border-radius: 999px !important;
	padding: 11px 28px !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.sr-cat-card__btn .wp-block-button__link:hover {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
}

/* === Página Catálogo — responsive === */
@media (max-width: 768px) {
	.sr-cat-list {
		padding: var(--sr-space-md) var(--sr-gutter) var(--sr-space-xl);
	}
	.sr-cat-card,
	.wp-block-group.sr-cat-card {
		gap: 24px;
	}
	.sr-cat-card__btn,
	.wp-block-buttons.sr-cat-card__btn { width: 100%; }
	.sr-cat-card__btn .wp-block-button { width: 100%; max-width: 320px; margin: 0 auto; }
	.sr-cat-card__btn .wp-block-button__link { width: 100%; text-align: center; }
}

/* H1 del intro con balance de líneas (afecta también páginas con sr-intro) */
.sr-intro__title { text-wrap: balance; }

/* ============================================================
   PÁGINA CARROS Y CESTAS
============================================================ */

/* Banner hero — 3 fotos en panorama (desktop) / slider (mobile) */
.sr-cc-banner,
.wp-block-group.sr-cc-banner {
	margin-top: var(--sr-space-lg) !important;
	margin-bottom: 0 !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: 100vw;
	max-width: 100vw !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	overflow: hidden;
}
.sr-cc-banner__slide {
	flex: 1 1 33.333%;
	margin: 0 !important;
	display: block;
	overflow: hidden;
	max-width: 100% !important;
}
.sr-cc-banner__slide img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: clamp(260px, 30vw, 480px);
	object-fit: cover;
	object-position: 50% 50%;
}

/* Mobile: slider con scroll-snap */
@media (max-width: 768px) {
	.sr-cc-banner,
	.wp-block-group.sr-cc-banner,
	.sr-cc-banner.is-content-justification-center {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 0;
		scrollbar-width: none;
		-ms-overflow-style: none;
		justify-content: flex-start !important;
	}
	.sr-cc-banner::-webkit-scrollbar { display: none; }
	.sr-cc-banner__slide {
		flex: 0 0 100%;
		min-width: 0;
		scroll-snap-align: start;
	}
	.sr-cc-banner__slide img {
		max-height: none;
		aspect-ratio: 4 / 3;
		height: auto;
	}
}
@media (max-width: 480px) {
	.sr-cc-banner__slide img {
		aspect-ratio: 3 / 4;
	}
}

/* === Familias (4 cards) === */
.sr-fam,
.wp-block-group.sr-fam {
	background: #fff;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-fam__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.2;
	margin: 0 auto var(--sr-space-md);
	max-width: 880px;
	text-align: center;
	text-wrap: balance;
}
.sr-fam__lead {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	color: var(--sr-color-text-soft);
	line-height: 1.55;
	margin: 0 auto var(--sr-space-lg);
	max-width: 820px;
	text-align: center;
}
.sr-fam__grid,
.wp-block-group.sr-fam__grid {
	max-width: var(--sr-container);
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: clamp(20px, 2.5vw, 40px) !important;
}
.sr-fam__card,
.wp-block-group.sr-fam__card {
	background: transparent;
	text-align: center;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	max-width: 100% !important;
}
.sr-fam__media {
	margin: 0 !important;
	width: 100%;
	max-width: 240px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sr-fam__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.sr-fam__name {
	font-family: var(--sr-font-heading);
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0;
	line-height: 1.3;
}
.sr-fam__btn { justify-content: center !important; margin: 0 !important; }
.sr-fam__btn .wp-block-button__link,
.sr-fam__btn .wp-block-button__link.wp-element-button {
	background: transparent !important;
	color: var(--sr-color-accent) !important;
	border: 1px solid var(--sr-color-accent) !important;
	border-radius: 999px !important;
	padding: 10px 26px !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.sr-fam__btn .wp-block-button__link:hover {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
}

/* === Top ventas (3 cards) === */
.sr-tops,
.wp-block-group.sr-tops {
	background: #fff;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-tops__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.2;
	margin: 0 auto var(--sr-space-md);
	max-width: 880px;
	text-align: center;
	text-wrap: balance;
}
.sr-tops__lead {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	color: var(--sr-color-text-soft);
	line-height: 1.55;
	margin: 0 auto var(--sr-space-lg);
	max-width: 820px;
	text-align: center;
}
.sr-tops__grid,
.wp-block-group.sr-tops__grid {
	max-width: var(--sr-container);
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: clamp(24px, 3vw, 56px) !important;
}
.sr-tops__card,
.wp-block-group.sr-tops__card {
	text-align: center;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: 100% !important;
}
.sr-tops__media {
	margin: 0 !important;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 240px;
}
.sr-tops__media img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 280px;
	object-fit: contain;
}
.sr-tops__name {
	font-family: var(--sr-font-heading);
	font-size: clamp(20px, 1.6vw, 24px);
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0;
	flex: 1 0 auto; /* alinea botones a la misma altura aunque títulos varíen */
	display: flex;
	align-items: center;
}
.sr-tops__btn { justify-content: center !important; margin: 0 !important; }
.sr-tops__btn .wp-block-button__link,
.sr-tops__btn .wp-block-button__link.wp-element-button {
	background: transparent !important;
	color: var(--sr-color-accent) !important;
	border: 1px solid var(--sr-color-accent) !important;
	border-radius: 999px !important;
	padding: 11px 28px !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.sr-tops__btn .wp-block-button__link:hover {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
}

/* === Beneficios numerados === */
.sr-bens,
.wp-block-group.sr-bens {
	background: #f5efe2;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-bens__title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.2;
	margin: 0 auto var(--sr-space-lg);
	max-width: 720px;
	text-align: center;
	text-wrap: balance;
}
.sr-ben,
.wp-block-group.sr-ben {
	max-width: 1100px;
	margin: 0 auto var(--sr-space-md) !important;
	background: #fff;
	border-radius: 20px;
	padding: clamp(24px, 3vw, 40px);
	position: relative;
	overflow: hidden;
}
/* Línea rosa lateral igual que cards de Conócenos */
.sr-ben::before {
	content: "";
	position: absolute;
	left: 0;
	top: 25%;
	height: 30%;
	border-left: 4px solid var(--sr-color-accent-2);
}
.sr-ben__inner,
.wp-block-group.sr-ben__inner {
	display: flex !important;
	flex-direction: row !important;
	gap: clamp(24px, 4vw, 56px) !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
}
.sr-ben--reverse .sr-ben__inner {
	flex-direction: row-reverse !important;
}
.sr-ben__text,
.wp-block-group.sr-ben__text {
	flex: 1 1 50%;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	text-align: left;
	padding: clamp(8px, 2vw, 24px) 0;
}
.sr-ben__num,
.sr-ben__name,
.sr-ben__copy { width: 100%; text-align: left; }
.sr-ben__num { grid-area: num; }
.sr-ben__name { grid-area: name; }
.sr-ben__copy { grid-area: copy; }
.sr-ben__num {
	font-family: var(--sr-font-base);
	font-size: clamp(24px, 2.2vw, 30px);
	font-weight: 700;
	line-height: 1;
	color: rgb(43, 179, 167); /* fallback para navegadores sin text-stroke */
	-webkit-text-stroke: 1px rgb(43, 179, 167);
	text-stroke: 1px rgb(43, 179, 167);
	margin: 0;
	letter-spacing: .04em;
	white-space: nowrap;
}
@supports ((-webkit-text-stroke: 1px black) or (text-stroke: 1px black)) {
	.sr-ben__num { color: #fff; }
}
.sr-ben__name {
	font-family: var(--sr-font-base);
	font-size: clamp(15px, 1.05vw, 17px);
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.3;
}
.sr-ben__copy {
	font-family: var(--sr-font-base);
	font-size: clamp(14px, 1vw, 16px);
	font-weight: 300;
	color: var(--sr-color-text);
	line-height: 1.6;
	margin: 0;
}
.sr-ben__media {
	flex: 1 1 50%;
	margin: 0 !important;
}
.sr-ben__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	object-fit: cover;
	aspect-ratio: 4 / 3;
	max-height: none;
}

/* === Responsive === */
@media (max-width: 900px) {
	/* Familias: 2 columnas en tablet */
	.sr-fam__grid,
	.wp-block-group.sr-fam__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 900px) {
	/* Tops: 2 columnas en tablet (intermedio antes del 1col móvil) */
	.sr-tops__grid,
	.wp-block-group.sr-tops__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 600px) {
	/* Tops: 1 columna en mobile */
	.sr-tops__grid,
	.wp-block-group.sr-tops__grid {
		grid-template-columns: 1fr !important;
	}
}
@media (max-width: 768px) {
	/* Beneficios: stack vertical */
	.sr-ben__inner,
	.wp-block-group.sr-ben__inner,
	.sr-ben--reverse .sr-ben__inner {
		flex-direction: column !important;
		gap: 20px !important;
	}
	.sr-ben__text { flex: 1 1 100%; }
	.sr-ben__media { flex: 1 1 100%; width: 100%; }
	.sr-ben,
	.wp-block-group.sr-ben { margin-bottom: var(--sr-space-md) !important; padding: 20px; }

	.sr-fam,
	.sr-tops,
	.sr-bens { padding: var(--sr-space-lg) var(--sr-gutter); }
	/* Tops card padding interior en mobile */
	.sr-tops__media { min-height: 200px; }
	.sr-tops__media img { max-height: 240px; }

	/* CTAs full-width en mobile */
	.sr-fam__btn .wp-block-button,
	.sr-tops__btn .wp-block-button { width: 100%; max-width: 280px; }
	.sr-fam__btn .wp-block-button__link,
	.sr-tops__btn .wp-block-button__link { width: 100%; text-align: center; }
}
@media (max-width: 480px) {
	/* Familias: 1 columna en mobile pequeño */
	.sr-fam__grid,
	.wp-block-group.sr-fam__grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
	.sr-cc-banner img { max-height: 280px; }
	/* Familias: imagen más contenida en 1 col */
	.sr-fam__media { max-width: 200px; margin: 0 auto !important; }
	/* Catálogo: min-height más bajo en mobile pequeño */
	.wp-block-cover.sr-catalog { min-height: 380px !important; }
	/* Beneficios: padding y radio reducidos */
	.sr-ben,
	.wp-block-group.sr-ben { border-radius: 16px; padding: 16px; }
}

/* ============================================================
   Links inline dentro de copys/leads — verde accent
============================================================ */
.sr-intro__lead a,
.sr-intro__lead a:link,
.sr-intro__lead a:visited,
.sr-fam__lead a,
.sr-fam__lead a:link,
.sr-fam__lead a:visited,
.sr-tops__lead a,
.sr-tops__lead a:link,
.sr-tops__lead a:visited,
.sr-innov-section__lead a,
.sr-innov-section__lead a:link,
.sr-innov-section__lead a:visited,
.sr-innov-feature__copy a,
.sr-innov-feature__copy a:link,
.sr-innov-feature__copy a:visited,
.sr-ben__copy a,
.sr-ben__copy a:link,
.sr-ben__copy a:visited {
	color: var(--sr-color-accent) !important;
	text-decoration: none !important;
	transition: color .15s ease, opacity .15s ease;
}
.sr-intro__lead a:hover,
.sr-fam__lead a:hover,
.sr-tops__lead a:hover,
.sr-innov-section__lead a:hover,
.sr-innov-feature__copy a:hover,
.sr-ben__copy a:hover {
	color: var(--sr-color-accent-dark) !important;
	opacity: 1;
}

/* ============================================================
   LANDINGS DE FAMILIA — grid de productos
============================================================ */
.sr-prods,
.wp-block-group.sr-prods {
	background: #fff;
	padding: var(--sr-space-xl) var(--sr-gutter);
	max-width: 100% !important;
}
.sr-prods__grid,
.wp-block-group.sr-prods__grid {
	max-width: var(--sr-container);
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: clamp(32px, 4vw, 64px) clamp(24px, 3vw, 48px) !important;
}

.sr-prod,
.wp-block-group.sr-prod {
	background: transparent;
	text-align: center;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: 100% !important;
	min-width: 0;
}
.sr-prod__media {
	margin: 0 !important;
	width: 100%;
	max-width: 280px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sr-prod__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.sr-prod__name {
	font-family: var(--sr-font-heading);
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0;
	line-height: 1.3;
	text-wrap: balance;
}
.sr-prod__btn {
	justify-content: center !important;
	margin: 0 !important;
}
.sr-prod__btn .wp-block-button__link,
.sr-prod__btn .wp-block-button__link.wp-element-button {
	background: transparent !important;
	color: var(--sr-color-accent) !important;
	border: 1px solid var(--sr-color-accent) !important;
	border-radius: 999px !important;
	padding: 10px 26px !important;
	font-family: var(--sr-font-heading) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background .2s, color .2s;
}
.sr-prod__btn .wp-block-button__link:hover {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
}

/* CTA Oceanis tras grid de productos — separación generosa */
.sr-prods__cta {
	margin-top: var(--sr-space-xl) !important;
	margin-bottom: var(--sr-space-md) !important;
}

/* Bloque de cierre de landings Oceanis — eyebrow + título + copy + CTA juntos */
.sr-oceanis-closing {
	max-width: 880px !important;
	margin: var(--sr-space-2xl) auto !important;
	padding: var(--sr-space-xl) clamp(24px, 5vw, 48px) !important;
	background: linear-gradient(180deg, var(--sr-color-bg-soft) 0%, rgba(43, 179, 167, 0.04) 100%);
	border: 1px solid rgba(43, 179, 167, 0.18);
	border-radius: 24px;
	text-align: center;
}
.sr-oceanis-closing__eyebrow {
	display: inline-block;
	font-family: var(--sr-font-base);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--sr-color-accent);
	padding: 6px 14px;
	background: rgba(43, 179, 167, 0.12);
	border-radius: 999px;
	margin-bottom: 18px;
}
.sr-oceanis-closing__title {
	font-family: var(--sr-font-heading);
	font-weight: 700;
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.25;
	color: var(--sr-color-text);
	margin: 0 0 16px !important;
	max-width: 720px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.sr-oceanis-closing__copy {
	font-family: var(--sr-font-base);
	font-size: 16px;
	line-height: 1.65;
	color: var(--sr-color-text-soft);
	max-width: 640px;
	margin: 0 auto 28px !important;
}
.sr-oceanis-closing__cta {
	margin: 0 !important;
}
.sr-oceanis-closing__cta .wp-block-button__link {
	padding: 14px 32px !important;
	font-size: 14px;
	letter-spacing: .04em;
}
@media (max-width: 768px) {
	.sr-oceanis-closing {
		margin: var(--sr-space-xl) var(--sr-gutter) !important;
		padding: var(--sr-space-lg) 24px !important;
		border-radius: 18px;
	}
	.sr-oceanis-closing__title { font-size: 22px; }
	.sr-oceanis-closing__copy { font-size: 15px; }
}

/* Closing H2 al final del grid */
.sr-prods__closing {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.2;
	margin: var(--sr-space-xl) auto var(--sr-space-md) !important;
	max-width: 880px;
	text-align: center;
	text-wrap: balance;
}
.sr-prods__copy {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	line-height: 1.545;
	color: var(--sr-color-text-soft);
	text-align: center;
	max-width: 940px;
	margin: 22px auto 0 !important;
}
.sr-prods__copy:last-child { margin-bottom: 0 !important; }

/* Responsive */
@media (max-width: 900px) {
	.sr-prods__grid,
	.wp-block-group.sr-prods__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 768px) {
	.sr-prods,
	.wp-block-group.sr-prods { padding: var(--sr-space-lg) var(--sr-gutter); }
	.sr-prod__btn .wp-block-button { width: 100%; max-width: 280px; }
	.sr-prod__btn .wp-block-button__link { width: 100%; text-align: center; }
}
@media (max-width: 480px) {
	.sr-prods__grid,
	.wp-block-group.sr-prods__grid {
		grid-template-columns: 1fr !important;
	}
	.sr-prod__media { max-width: 220px; }
}

/* Accesorios — grid 4 columnas (4+4+4+1 con 13 productos) */
body.page-id-182 .sr-prods__grid,
body.page-id-182 .wp-block-group.sr-prods__grid {
	grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 1100px) {
	body.page-id-182 .sr-prods__grid,
	body.page-id-182 .wp-block-group.sr-prods__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}
@media (max-width: 768px) {
	body.page-id-182 .sr-prods__grid,
	body.page-id-182 .wp-block-group.sr-prods__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 480px) {
	body.page-id-182 .sr-prods__grid,
	body.page-id-182 .wp-block-group.sr-prods__grid {
		grid-template-columns: 1fr !important;
	}
}

/* === Landings de familia — refinamientos UX === */

/* Hover lift sutil en cards de producto (solo desktop con hover real) */
@media (hover: hover) {
	.sr-prod__media img {
		transition: transform .25s ease;
	}
	.sr-prod:hover .sr-prod__media img {
		transform: translateY(-4px) scale(1.02);
	}
}

/* Gap mayor entre filas en mobile para que no toque botón con imagen siguiente */
@media (max-width: 768px) {
	.sr-prods__grid,
	.wp-block-group.sr-prods__grid {
		gap: clamp(40px, 6vw, 56px) clamp(20px, 3vw, 32px) !important;
	}
}

/* Mobile pequeño: imagen ocupa más espacio y card luce más equilibrada */
@media (max-width: 480px) {
	.sr-prod__media { max-width: 280px; }
	.sr-prods__grid,
	.wp-block-group.sr-prods__grid {
		gap: 32px !important;
	}
}

/* Accesorios — centrar último ítem cuando queda solo en su fila */
body.page-id-182 .sr-prods__grid {
	justify-items: center;
}
body.page-id-182 .sr-prod {
	width: 100%;
}

/* ============================================================
   FICHA DE PRODUCTO (single-productos.php)
============================================================ */
.sr-product {
	max-width: 100%;
	margin: 0 auto;
	padding: var(--sr-space-md) 0 var(--sr-space-2xl);
}

/* Hero 2 col */
.sr-product__hero {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: var(--sr-space-md) var(--sr-gutter) 0;
}
.sr-product__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}
.sr-product__hero-inner > * { min-width: 0; }

/* Galería */
.sr-product__gallery {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}
.sr-product__main {
	position: relative;
	aspect-ratio: 1 / 1;
	background: transparent;
	border: none;
	border-radius: 0;
	overflow: hidden;
	padding: 0;
}
.sr-product__main-img {
	position: absolute;
	inset: 0;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .25s ease;
	pointer-events: none;
}
.sr-product__main-img.is-active {
	opacity: 1;
	pointer-events: auto;
}
.sr-product__main-img img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.sr-product__thumbs-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}
.sr-product__nav {
	background: #fff;
	border: 1px solid var(--sr-color-accent);
	border-radius: 999px;
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	color: var(--sr-color-accent);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	flex-shrink: 0;
}
.sr-product__nav svg { display: block; stroke: currentColor; }
.sr-product__nav:hover,
.sr-product__nav:focus-visible {
	background: var(--sr-color-accent);
	color: #fff;
	border-color: var(--sr-color-accent);
	outline: none;
}
.sr-product__thumbs {
	flex: 1;
	display: flex;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x proximity;
}
.sr-product__thumbs::-webkit-scrollbar { display: none; }
.sr-product__thumb {
	flex: 0 0 80px;
	height: 80px;
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 4px 0;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .15s ease, opacity .15s ease;
	scroll-snap-align: center;
	opacity: .65;
}
.sr-product__thumb:hover { opacity: 1; }
.sr-product__thumb.is-active {
	opacity: 1;
	border-bottom-color: var(--sr-color-accent);
}
.sr-product__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Info derecha */
.sr-product__info {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 12px;
	min-width: 0;
}
.sr-product__title {
	font-family: var(--sr-font-heading);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 700;
	color: var(--sr-color-text);
	line-height: 1.15;
	margin: 0;
	text-wrap: balance;
}
.sr-product__desc {
	font-family: var(--sr-font-base);
	font-size: var(--sr-text-lead);
	font-weight: 300;
	color: var(--sr-color-text-soft);
	line-height: 1.55;
}
.sr-product__desc p { margin: 0 0 14px; }
.sr-product__desc p:last-child { margin-bottom: 0; }

.sr-product__colors {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.sr-product__colors-label {
	font-family: var(--sr-font-base);
	font-size: 13px;
	font-weight: 500;
	color: var(--sr-color-text-soft);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.sr-product__colors-list {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.sr-product__color {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid #d9d9d9;
	background: #ccc;
	display: inline-block;
}
/* Color name → swatch */
.sr-product__color--azul { background: #1a4d8f; }
.sr-product__color--azulgris { background: #4a6480; }
.sr-product__color--rojo { background: #d62828; }
.sr-product__color--rojogris { background: #883333; }
.sr-product__color--negro { background: #1a1a1a; }
.sr-product__color--gris { background: #888; }
.sr-product__color--amarillo { background: #f5c518; }
.sr-product__color--verde { background: #2bb3a7; }
.sr-product__color--naranja { background: #e85a18; }
.sr-product__color--aguamarina { background: #4ec0a0; }
.sr-product__color--transparente { background: rgba(255,255,255,.6); border: 1px dashed #aaa; }

.sr-product__ctas {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	padding-top: 16px;
	border-top: 1px solid #ececec;
}
.sr-product__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 14px 32px;
	font-family: var(--sr-font-heading);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .2s, color .2s, transform .2s;
	cursor: pointer;
}
.sr-product__cta--fill {
	background: var(--sr-color-accent);
	color: #fff;
	border: 1px solid var(--sr-color-accent);
}
.sr-product__cta--fill:hover {
	background: var(--sr-color-accent-dark);
	color: #fff;
	transform: translateY(-1px);
}
.sr-product__cta--outline {
	background: transparent;
	color: var(--sr-color-accent);
	border: 1px solid var(--sr-color-accent);
}
.sr-product__cta--outline:hover {
	background: var(--sr-color-accent);
	color: #fff;
}

/* Vídeo */
.sr-product__video {
	max-width: var(--sr-container);
	margin: 0 auto;
	padding: var(--sr-space-2xl) var(--sr-gutter) 0;
}
.sr-product__video-inner {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}
.sr-product__video-title {
	font-family: var(--sr-font-heading);
	font-size: var(--sr-text-h2);
	font-weight: 700;
	color: var(--sr-color-text);
	margin: 0 0 var(--sr-space-md);
	text-wrap: balance;
}
.sr-product__video-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	background: #000;
}
.sr-product__video-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Responsive */
@media (max-width: 900px) {
	.sr-product__hero-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.sr-product__title { font-size: clamp(24px, 6vw, 32px); }
}
@media (max-width: 600px) {
	.sr-product__ctas { flex-direction: column; gap: 12px; }
	.sr-product__cta { width: 100%; max-width: 320px; margin: 0 auto; }
	.sr-product__thumb { flex: 0 0 64px; height: 64px; }
	.sr-product__nav { width: 32px; height: 32px; }
}

/* ==========================================================================
   PÁGINAS LEGALES (Aviso legal, Cookies, Privacidad, Canal de denuncias)
   ========================================================================== */
.sr-legal { padding: 60px 24px 80px; background: #fff; }
.sr-legal__inner { max-width: 880px; margin: 0 auto; }
.sr-legal__title { font-family: 'Montserrat', sans-serif; font-size: clamp(28px, 4vw, 42px); font-weight: 700; color: #1a1a1a; margin: 0 0 32px; letter-spacing: -0.01em; }
.sr-legal__h { font-family: 'Montserrat', sans-serif; font-size: clamp(20px, 2.4vw, 26px); font-weight: 700; color: #1a1a1a; margin: 40px 0 16px; padding-top: 8px; border-top: 1px solid #e8e8e8; padding-top: 28px; }
.sr-legal__h:first-of-type { border-top: none; padding-top: 0; }
.sr-legal__h3 { font-family: 'Montserrat', sans-serif; font-size: clamp(16px, 1.8vw, 18px); font-weight: 600; color: #1a1a1a; margin: 28px 0 12px; }
.sr-legal__p { font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 1.7; color: #3a3a3a; margin: 0 0 14px; }
.sr-legal__list { font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 1.7; color: #3a3a3a; margin: 0 0 18px; padding-left: 22px; }
.sr-legal__list li { margin-bottom: 10px; }
.sr-legal a { color: var(--sr-color-accent); text-decoration: underline; text-underline-offset: 2px; }
.sr-legal a:hover { color: var(--sr-color-accent-dark); }
.sr-legal strong { color: #1a1a1a; font-weight: 600; }
.sr-legal__rev { margin-top: 32px; color: #777; font-size: 14px; }

/* Tabla (privacidad) */
.sr-legal__table-wrap { overflow-x: auto; margin: 18px 0 24px; border: 1px solid #e8e8e8; border-radius: 8px; }
.sr-legal__table { width: 100%; border-collapse: collapse; font-family: 'Roboto', sans-serif; font-size: 15px; }
.sr-legal__table th { background: #f5f7f3; color: #1a1a1a; font-weight: 600; text-align: left; padding: 14px 16px; border-bottom: 1px solid #e8e8e8; }
.sr-legal__table td { padding: 14px 16px; border-bottom: 1px solid #f0f0f0; vertical-align: top; line-height: 1.6; color: #3a3a3a; }
.sr-legal__table tr:last-child td { border-bottom: none; }

/* Botón PDF (canal denuncias) */
.sr-legal__cta-wrap { margin: 28px 0; }
.sr-legal__btn { display: inline-block; background: var(--sr-color-accent); color: #fff !important; text-decoration: none !important; padding: 14px 28px; border-radius: 999px; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 15px; transition: background .2s ease; }
.sr-legal__btn:hover { background: var(--sr-color-accent-dark); color: #fff !important; }

/* Form CF7 dentro de canal denuncias */
.sr-legal__form { margin-top: 16px; }
.sr-legal__form .wpcf7-form { display: grid; gap: 14px; }
.sr-legal__form .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) { width: 100%; padding: 12px 14px; border: 1px solid #d8d8d8; border-radius: 6px; font-family: 'Roboto', sans-serif; font-size: 15px; background: #fff; }
.sr-legal__form textarea.wpcf7-form-control { min-height: 140px; resize: vertical; }
.sr-legal__form .wpcf7-submit { background: var(--sr-color-accent); color: #fff; border: none; padding: 14px 28px; border-radius: 999px; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 15px; cursor: pointer; transition: background .2s ease; width: auto; }
.sr-legal__form .wpcf7-submit:hover { background: var(--sr-color-accent-dark); }

@media (max-width: 640px) {
  .sr-legal { padding: 40px 18px 60px; }
  .sr-legal__table { font-size: 14px; }
  .sr-legal__table th, .sr-legal__table td { padding: 10px 12px; }
}

/* ==========================================================================
   BLOG (home.php / archive.php)
   ========================================================================== */
.sr-blog__hero { background: var(--sr-color-accent, var(--sr-color-accent)); padding: 60px 24px; }
.sr-blog__hero-inner { max-width: 1240px; margin: 0 auto; text-align: center; }
.sr-blog__hero-title { color: #fff; font-family: 'Montserrat', sans-serif; font-size: clamp(36px, 5vw, 56px); font-weight: 800; margin: 0; letter-spacing: -0.01em; }

.sr-blog__filters { background: #fff; padding: 32px 24px 8px; border-bottom: 1px solid #eee; }
.sr-blog__filters-inner { max-width: 1240px; margin: 0 auto; display: flex; gap: 24px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.sr-blog__cats { display: flex; flex-wrap: wrap; gap: 8px; }
.sr-blog__pill { display: inline-block; padding: 8px 16px; border-radius: 999px; font-family: 'Roboto', sans-serif; font-size: 13px; font-weight: 500; color: #3a3a3a; text-decoration: none; background: #f3f3f3; transition: all .15s; }
.sr-blog__pill:hover { background: rgba(78, 192, 160, 0.15); color: var(--sr-color-accent-dark); }
.sr-blog__pill.is-active { background: var(--sr-color-accent); color: #fff; }
.sr-blog__tags-wrap { flex: 0 0 auto; }
.sr-blog__tags-select { padding: 10px 14px; border: 1px solid #d8d8d8; border-radius: 999px; background: #fff; font-family: 'Roboto', sans-serif; font-size: 13px; color: #3a3a3a; cursor: pointer; min-width: 220px; }

.sr-blog__featured { padding: 40px 24px 0; background: #fff; }
.sr-blog__featured-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; text-decoration: none; color: inherit; padding: 24px 0; }
.sr-blog__featured-img { margin: 0; aspect-ratio: 4/3; overflow: hidden; border-radius: 4px; background: #f5f5f5; }
.sr-blog__featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.sr-blog__featured-inner:hover .sr-blog__featured-img img { transform: scale(1.04); }
.sr-blog__featured-body { padding: 0; }
.sr-blog__cat-label { display: inline-block; font-family: 'Roboto', sans-serif; font-size: 13px; font-weight: 500; color: var(--sr-color-accent); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 12px; text-decoration: none; }
.sr-blog__featured-title { font-family: 'Montserrat', sans-serif; font-size: clamp(24px, 3vw, 34px); font-weight: 700; color: #1a1a1a; margin: 0 0 16px; line-height: 1.25; }
.sr-blog__featured-excerpt { font-family: var(--sr-font-base); font-size: 15px; font-weight: 300; line-height: 1.545; color: var(--sr-color-text-soft); margin: 0 0 24px; }

.sr-blog__btn { display: inline-block; padding: 12px 28px; background: var(--sr-color-accent); border: 2px solid var(--sr-color-accent); color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; border-radius: 999px; transition: all .15s; text-align: center; }
.sr-blog__btn:hover { background: var(--sr-color-accent-dark); border-color: var(--sr-color-accent-dark); color: #fff; }
.sr-blog__featured .sr-blog__btn { align-self: flex-start; }
.sr-blog__card .sr-blog__btn { align-self: stretch; margin-top: auto; }

.sr-blog__grid-wrap { padding: 60px 24px 80px; background: #fff; }
.sr-blog__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
.sr-blog__card { display: flex; flex-direction: column; }
.sr-blog__card-link { display: block; }
.sr-blog__card-img { margin: 0 0 18px; aspect-ratio: 4/3; overflow: hidden; border-radius: 4px; background: #f5f5f5; }
.sr-blog__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.sr-blog__card-link:hover .sr-blog__card-img img { transform: scale(1.04); }
.sr-blog__card-title { font-family: 'Montserrat', sans-serif; font-size: 19px; font-weight: 700; color: #1a1a1a; margin: 6px 0 10px; line-height: 1.3; }
.sr-blog__card-title a { color: inherit; text-decoration: none; }
.sr-blog__card-title a:hover { color: var(--sr-color-accent); }
.sr-blog__card-tags { font-family: 'Roboto', sans-serif; font-size: 12px; color: #888; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.sr-blog__card-tags a { color: #888; text-decoration: none; }
.sr-blog__card-tags a:hover { color: var(--sr-color-accent); }
.sr-blog__card-excerpt { font-family: var(--sr-font-base); font-size: 15px; font-weight: 300; line-height: 1.545; color: var(--sr-color-text-soft); margin: 0 0 18px; flex-grow: 1; }
.sr-blog__cont { color: var(--sr-color-accent); text-decoration: none; font-weight: 500; }
.sr-blog__cont:hover { text-decoration: underline; }

.sr-blog__pagination { max-width: 1240px; margin: 60px auto 0; display: flex; justify-content: center; gap: 6px; }
.sr-blog__pagination a, .sr-blog__pagination span > span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 6px; background: #f5f5f5; color: #3a3a3a; text-decoration: none; font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 14px; transition: all .15s; }
.sr-blog__pagination a:hover { background: rgba(78, 192, 160, 0.15); color: var(--sr-color-accent-dark); }
.sr-blog__pagination .current { background: var(--sr-color-accent); color: #fff; }

.sr-blog__empty { padding: 80px 24px; text-align: center; color: #777; }

@media (max-width: 900px) {
	.sr-blog__featured-inner { grid-template-columns: 1fr; gap: 24px; }
	.sr-blog__grid { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
}
@media (max-width: 580px) {
	.sr-blog__filters-inner { flex-direction: column; align-items: stretch; }
	.sr-blog__tags-select { width: 100%; }
	.sr-blog__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   SINGLE POST + RELATED (single.php)
   ========================================================================== */
.sr-single { background: #fff; padding: 0 24px; }
.sr-single__breadcrumb { padding: 22px 0; border-bottom: 1px solid #f0f0f0; }
.sr-single__breadcrumb-inner { max-width: 1080px; margin: 0 auto; font-family: 'Roboto', sans-serif; font-size: 13px; color: #777; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sr-single__breadcrumb a { color: #777; text-decoration: none; }
.sr-single__breadcrumb a:hover { color: var(--sr-color-accent); }
.sr-single__breadcrumb [aria-current] { color: #1a1a1a; font-weight: 500; }

.sr-single__inner { max-width: 880px; margin: 0 auto; padding: 40px 0 60px; }
.sr-single__featured { margin: 0 0 36px; border-radius: 6px; overflow: hidden; aspect-ratio: 16/9; background: #f5f5f5; }
.sr-single__featured img { width: 100%; height: 100%; object-fit: cover; display: block; }

.sr-single__head { margin-bottom: 32px; }
.sr-single__cat { display: inline-block; font-family: 'Roboto', sans-serif; font-size: 13px; font-weight: 500; color: var(--sr-color-accent); text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; margin-bottom: 14px; }
.sr-single__title { font-family: 'Montserrat', sans-serif; font-size: clamp(28px, 4vw, 42px); font-weight: 800; color: #1a1a1a; line-height: 1.2; margin: 0 0 14px; letter-spacing: -0.01em; }
.sr-single__date { font-family: 'Roboto', sans-serif; font-size: 14px; color: #888; }
.sr-single__sep { border: none; border-top: 1px solid #e8e8e8; margin: 24px 0 0; }

.sr-single__content { font-family: var(--sr-font-base); font-size: var(--sr-text-lead); font-weight: 300; line-height: 1.545; color: var(--sr-color-text-soft); }
.sr-single__content p { margin: 0 0 18px; }
.sr-single__content h2 { font-family: 'Montserrat', sans-serif; font-size: 28px; font-weight: 700; color: #1a1a1a; margin: 40px 0 16px; line-height: 1.3; }
.sr-single__content h3 { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 700; color: #1a1a1a; margin: 32px 0 14px; line-height: 1.35; }
.sr-single__content h4 { font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 600; color: #1a1a1a; margin: 28px 0 12px; }
.sr-single__content ul, .sr-single__content ol { margin: 0 0 18px; padding-left: 22px; }
.sr-single__content li { margin-bottom: 8px; }
.sr-single__content a { color: var(--sr-color-accent); text-decoration: underline; text-underline-offset: 2px; }
.sr-single__content a:hover { color: var(--sr-color-accent-dark); }
.sr-single__content img { max-width: 100%; height: auto; border-radius: 6px; margin: 24px 0; }
.sr-single__content figure { margin: 24px 0; }
.sr-single__content blockquote { border-left: 4px solid var(--sr-color-accent); padding: 8px 0 8px 22px; margin: 28px 0; color: #555; font-style: italic; }
.sr-single__content strong { color: #1a1a1a; }

.sr-single__tags { margin-top: 40px; padding-top: 24px; border-top: 1px solid #e8e8e8; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sr-single__tags-label { font-family: 'Roboto', sans-serif; font-size: 13px; color: #777; margin-right: 4px; }
.sr-single__tags a { display: inline-block; padding: 6px 14px; background: #f3f3f3; color: #555; border-radius: 999px; font-family: 'Roboto', sans-serif; font-size: 12px; text-decoration: none; transition: all .15s; }
.sr-single__tags a:hover { background: var(--sr-color-accent); color: #fff; }

/* Related */
.sr-related { background: #fafafa; padding: 60px 24px 80px; }
.sr-related__inner { max-width: 1240px; margin: 0 auto; }
.sr-related__title { text-align: center; font-family: 'Montserrat', sans-serif; font-size: clamp(22px, 2.6vw, 28px); font-weight: 700; color: #1a1a1a; margin: 0 0 40px; }
.sr-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }

@media (max-width: 900px) {
	.sr-related__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
	.sr-related__grid { grid-template-columns: 1fr; }
	.sr-single__inner { padding: 24px 0 40px; }
}

/* Sección con título centrado + párrafos lead (usada en Trabaja con nosotros) */
.sr-section { padding: 50px var(--sr-gutter); }
.sr-section__title { text-align: center; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(24px, 3vw, 32px); color: #1a1a1a; margin: 0 0 24px; }
.sr-cta-buttons { margin: 30px 0 60px; }

/* Pretítulo encima del H2 en bloques sr-rd */
.sr-rd__pretitle { font-family: 'Roboto', sans-serif; font-size: 12px; font-weight: 500; color: var(--sr-color-text-soft); text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 12px; }

/* Lista dentro de bloque sr-rd */
.sr-rd__content .wp-block-list { font-family: var(--sr-font-base); font-size: 15px; font-weight: 300; line-height: 1.65; color: var(--sr-color-text-soft); padding-left: 22px; margin: 0 0 18px; }
.sr-rd__content .wp-block-list li { margin-bottom: 8px; }
.sr-rd__content .wp-block-list li::marker { color: var(--sr-color-accent); }

/* Lista dentro de bloque sr-section (texto centrado con listado) */
.sr-section .wp-block-list { font-family: var(--sr-font-base); font-size: var(--sr-text-lead); font-weight: 300; line-height: 1.65; color: var(--sr-color-text-soft); padding-left: 22px; margin: 18px auto; max-width: 720px; text-align: left; }
.sr-section .wp-block-list li { margin-bottom: 10px; }
.sr-section .wp-block-list li::marker { color: var(--sr-color-accent); }

/* ==========================================================================
   FIXES UX AUDITORÍA — landings (Trabaja con nosotros / Políticas)
   ========================================================================== */

/* En mobile, en bloques sr-rd, la imagen siempre va arriba (orden coherente) */
@media (max-width: 768px) {
	.sr-rd > .sr-rd__media   { order: 0 !important; }
	.sr-rd > .sr-rd__content { order: 1 !important; }
}

/* Defensa contra <h2> vacíos en sr-section (no dejan hueco visual) */
.sr-section__title:empty,
.sr-rd__title:empty { display: none; margin: 0; padding: 0; }

/* Pretítulo sr-rd: ahora en color accent para que actúe como eyebrow real */
.sr-rd__pretitle { color: var(--sr-color-accent); font-size: 13px; }

/* Margen mayor entre CTA final y newsletter de footer */
.sr-cta-buttons { margin: 30px 0 100px !important; }

/* Pausar vídeo del hero si el usuario prefiere reducir movimiento */
@media (prefers-reduced-motion: reduce) {
	.sr-hero video { animation: none !important; }
}

/* ============================================================
   Página Catálogo — solicitud (imagen + form)
   ============================================================ */
.sr-cat-request,
.wp-block-columns.sr-cat-request {
	max-width: var(--sr-container);
	margin: var(--sr-space-lg) auto var(--sr-space-xl);
	padding: 0 var(--sr-gutter);
	gap: clamp(24px, 4vw, 56px) !important;
	align-items: stretch !important;
}
.sr-cat-request .is-vertically-aligned-center { align-self: stretch !important; }
.sr-cat-request__cover,
.wp-block-column.sr-cat-request__cover {
	flex: 1 1 50% !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column;
}
.sr-cat-request__img,
.sr-cat-request__cover .wp-block-image {
	margin: 0 !important;
	flex: 1 1 auto;
	display: flex;
}
.sr-cat-request__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: none;
}
.sr-cat-request__form,
.wp-block-column.sr-cat-request__form {
	flex: 1 1 50% !important;
}
.sr-cat-request__title {
	font-family: var(--sr-font-heading);
	font-size: clamp(26px, 2.6vw, 38px);
	font-weight: 600;
	line-height: 1.2;
	color: var(--sr-color-text);
	margin: 0 0 12px;
}
.sr-cat-request__lead {
	font-family: var(--sr-font-base);
	font-size: 16px;
	line-height: 1.55;
	color: var(--sr-color-text-soft);
	margin: 0 0 20px;
}

@media (max-width: 768px) {
	.sr-cat-request,
	.wp-block-columns.sr-cat-request {
		flex-direction: column !important;
		gap: 24px !important;
	}
	.sr-cat-request__cover,
	.sr-cat-request__form,
	.wp-block-column.sr-cat-request__cover,
	.wp-block-column.sr-cat-request__form {
		flex: 1 1 100% !important;
	}
}

/* ============================================================
   Form de catálogo — estilo claro (fondo blanco, texto oscuro)
   Reutiliza la estructura del form de contacto pero con paleta clara.
   ============================================================ */
.sr-cat-request__form ._form { max-width: 100% !important; background: transparent !important; padding: 0 !important; }
.sr-cat-request__form ._form * { box-sizing: border-box; }
.sr-cat-request__form ._form ._form-content {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 16px 14px;
	margin: 0 !important;
}
.sr-cat-request__form ._form ._form_element {
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
}
.sr-cat-request__form ._form ._form_element:has(textarea),
.sr-cat-request__form ._form ._form_element:has(input[type="checkbox"]),
.sr-cat-request__form ._form ._form_element._clear,
.sr-cat-request__form ._form ._row,
.sr-cat-request__form ._form ._row._checkbox-radio,
.sr-cat-request__form ._form ._html-code,
.sr-cat-request__form ._form ._button-wrapper,
.sr-cat-request__form ._form ._submit,
.sr-cat-request__form ._form ._form-thank-you { grid-column: 1 / -1 !important; }

.sr-cat-request__form ._form ._form-label {
	display: block !important;
	font-family: var(--sr-font-base);
	font-size: 13px !important;
	color: var(--sr-color-text-soft) !important;
	margin-bottom: 4px !important;
}
.sr-cat-request__form ._form input[type="text"],
.sr-cat-request__form ._form input[type="email"],
.sr-cat-request__form ._form input[type="tel"],
.sr-cat-request__form ._form input[type="number"],
.sr-cat-request__form ._form select,
.sr-cat-request__form ._form textarea {
	width: 100% !important;
	padding: 14px 16px !important;
	font-family: var(--sr-font-base) !important;
	font-size: 15px !important;
	color: var(--sr-color-text) !important;
	background: var(--sr-color-bg-soft) !important;
	border: none !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	line-height: 1.4 !important;
	min-height: 48px;
	margin: 0 !important;
	transition: background .15s ease;
}
.sr-cat-request__form ._form input:focus,
.sr-cat-request__form ._form select:focus,
.sr-cat-request__form ._form textarea:focus {
	background: #f0f0f0 !important;
	outline: none !important;
}
.sr-cat-request__form ._form textarea { min-height: 110px !important; resize: vertical !important; }
.sr-cat-request__form ._form select { appearance: auto; padding-right: 32px !important; }

/* Reset fieldset / wrappers de checkbox (donde nacían los borders) */
.sr-cat-request__form ._form ._form-fieldset,
.sr-cat-request__form ._form fieldset {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0;
	background: transparent !important;
}
.sr-cat-request__form ._form ._form-fieldset legend,
.sr-cat-request__form ._form fieldset legend { display: none !important; }
.sr-cat-request__form ._form ._form_element:has(input[type="checkbox"]),
.sr-cat-request__form ._form ._form_element:has(input[type="checkbox"]) > *,
.sr-cat-request__form ._form ._form_element:has(input[type="checkbox"]) > * > *,
.sr-cat-request__form ._form ._row._checkbox-radio {
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.sr-cat-request__form ._form ._form_element:has(input[type="checkbox"]) {
	padding: 0 !important;
	margin-top: -16px !important;
}
.sr-cat-request__form ._form ._form_element:not(:has(input[type="checkbox"])) + ._form_element:has(input[type="checkbox"]) {
	margin-top: 8px !important;
}

/* Checkboxes (RGPD) — sin bordes, espaciado compacto */
.sr-cat-request__form ._form ._row._checkbox-radio {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 2px 0 !important;
	padding: 0 !important;
}
.sr-cat-request__form ._form ._row._checkbox-radio input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0 !important;
	margin: 1px 0 0 !important;
	cursor: pointer;
	accent-color: var(--sr-color-accent);
}
.sr-cat-request__form ._form ._row._checkbox-radio label,
.sr-cat-request__form ._form ._row._checkbox-radio span {
	font-family: var(--sr-font-base);
	font-size: 13px;
	color: var(--sr-color-text) !important;
	line-height: 1.4;
}
.sr-cat-request__form ._form ._row._checkbox-radio a { color: var(--sr-color-accent); text-decoration: underline; }

/* Aviso LSSI */
.sr-cat-request__form ._form ._html-code {
	font-family: var(--sr-font-base);
	font-size: 12px;
	color: var(--sr-color-text-soft) !important;
	line-height: 1.45;
	background: var(--sr-color-bg-soft);
	padding: 12px 14px;
	border-radius: 8px;
	margin: 8px 0 !important;
	max-height: 140px;
	overflow-y: auto;
}
.sr-cat-request__form ._form ._html-code p { margin: 0 0 6px !important; color: inherit !important; }
.sr-cat-request__form ._form ._html-code a { color: var(--sr-color-accent); text-decoration: underline; }

/* Ocultar elementos sueltos con sólo el link "Política de privacidad"
   (AC los genera fuera del _html-code; el enlace debe ir en el texto legal). */
.sr-cat-request__form ._form ._form_element:has( > a[href*="privacidad" i]):not(:has(input)):not(:has(label)):not(:has(textarea)):not(:has(select)) { display: none !important; }
.sr-cat-request__form ._form ._form_element:has( > a[href*="privacy" i]):not(:has(input)):not(:has(label)):not(:has(textarea)):not(:has(select)) { display: none !important; }
.sr-cat-request__form ._form ._form_element:has( > a[href*="confidentialite" i]):not(:has(input)):not(:has(label)):not(:has(textarea)):not(:has(select)) { display: none !important; }
.sr-cat-request__form ._form > a[href*="privacidad" i],
.sr-cat-request__form ._form > a[href*="privacy" i],
.sr-cat-request__form ._form > a[href*="confidentialite" i] { display: none !important; }

/* Botón submit */
.sr-cat-request__form ._form ._button-wrapper { margin-top: 8px !important; text-align: left !important; }
.sr-cat-request__form ._form ._submit,
.sr-cat-request__form ._form button[type="submit"],
.sr-cat-request__form ._form input[type="submit"] {
	background: var(--sr-color-accent) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 14px 32px !important;
	font-family: var(--sr-font-base) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	border-radius: 999px !important;
	cursor: pointer;
	transition: background .15s ease;
}
.sr-cat-request__form ._form ._submit:hover,
.sr-cat-request__form ._form button[type="submit"]:hover {
	background: var(--sr-color-accent-dark) !important;
}

/* Errores */
.sr-cat-request__form ._form ._error_inner,
.sr-cat-request__form ._form ._error {
	color: #c0392b !important;
	font-size: 12px !important;
}

/* Móvil: 1 columna */
@media (max-width: 600px) {
	.sr-cat-request__form ._form ._form-content { grid-template-columns: 1fr; }
	.sr-cat-request__form ._form ._submit { width: 100%; }
}

/* ============================================================
   Switcher de idiomas (Polylang)
   ============================================================ */
.sr-header__lang {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.sr-header__lang-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 0;
	padding: 8px 10px;
	cursor: pointer;
	color: var(--sr-color-text);
	font-family: var(--sr-font-base);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .02em;
	transition: color .15s ease;
}
.sr-header__lang-toggle:hover,
.sr-header__lang-toggle:focus { color: var(--sr-color-accent); outline: none; }
.sr-header__lang-toggle svg { display: block; flex-shrink: 0; }
.sr-header__lang-menu {
	position: absolute;
	top: 100%;
	right: 0;
	min-width: 100px;
	margin: 6px 0 0;
	padding: 6px 0;
	list-style: none;
	background: var(--sr-color-bg);
	border: 1px solid var(--sr-color-border);
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(0,0,0,.08);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	z-index: 200;
}
.sr-header__lang:hover .sr-header__lang-menu,
.sr-header__lang:focus-within .sr-header__lang-menu,
.sr-header__lang.is-open .sr-header__lang-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.sr-header__lang-menu li { margin: 0; padding: 0; }
.sr-header__lang-menu a {
	display: block;
	padding: 8px 16px;
	color: var(--sr-color-text);
	font-family: var(--sr-font-base);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .02em;
	transition: background .15s ease, color .15s ease;
}
.sr-header__lang-menu a:hover {
	background: var(--sr-color-bg-soft);
	color: var(--sr-color-accent);
}
.sr-header__lang-menu a[aria-current="true"] {
	color: var(--sr-color-accent);
	font-weight: 600;
}

/* ============================================================
   Megamenú "Carros y cestas"
   ============================================================ */

/* El <li> con megamenú no necesita position relative: el panel se
   ancla al .sr-header (que es fixed full-width). */
.sr-menu .has-megamenu { position: static; }

/* Oculta el <ul.sub-menu> nativo (si Polylang/WP lo añade) — el
   megamenú custom lo sustituye. */
.sr-menu .has-megamenu > .sub-menu { display: none !important; }

/* Chevron en el item con megamenú */
.sr-menu .has-megamenu > a::after {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .25s ease;
	vertical-align: middle;
}
.sr-menu .has-megamenu.is-open > a::after,
.sr-menu .has-megamenu:hover > a::after,
.sr-menu .has-megamenu:focus-within > a::after {
	transform: rotate(225deg) translateY(2px);
}

/* Panel megamenú: fixed para que el fondo ocupe el viewport completo
   (el __inner mantiene su max-width para las tarjetas). */
.sr-megamenu {
	position: fixed;
	top: var(--sr-header-height);
	left: 0;
	right: 0;
	width: 100vw;
	background: var(--sr-color-bg);
	box-shadow: 0 16px 40px rgba(15, 31, 60, 0.10);
	border-top: 1px solid var(--sr-color-border);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s;
	z-index: 99;
}
.sr-menu .has-megamenu:hover .sr-megamenu,
.sr-menu .has-megamenu:focus-within .sr-megamenu,
.sr-menu .has-megamenu.is-open .sr-megamenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sr-megamenu__inner {
	max-width: var(--sr-container-wide);
	margin: 0 auto;
	padding: 36px var(--sr-gutter);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.sr-menu .sr-megamenu__card,
.sr-menu a.sr-megamenu__card {
	display: flex;
	flex-direction: column;
	background: var(--sr-color-bg);
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	text-align: left;
	text-transform: none;
	white-space: normal;
	font-size: 14px;
	line-height: 1.5;
	color: var(--sr-color-text);
	border: 1px solid var(--sr-color-border);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sr-megamenu__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(15, 31, 60, 0.10);
	border-color: var(--sr-color-accent);
}

.sr-megamenu__image {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--sr-color-bg-soft);
	display: block;
}
.sr-megamenu__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.sr-megamenu__card:hover .sr-megamenu__image img { transform: scale(1.05); }

.sr-megamenu__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.sr-megamenu__title {
	font-family: var(--sr-font-heading);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.25;
	color: var(--sr-color-text);
	margin: 0;
	text-transform: none;
	letter-spacing: -.01em;
}
.sr-megamenu__excerpt {
	font-family: var(--sr-font-base);
	font-size: 13px;
	line-height: 1.5;
	color: var(--sr-color-text-soft);
	margin: 0;
}
.sr-megamenu__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--sr-font-base);
	font-weight: 500;
	font-size: 13px;
	color: var(--sr-color-accent);
	text-transform: none;
}
.sr-megamenu__cta svg { width: 14px; height: 14px; }

/* ======== MÓVIL: acordeón con miniaturas dentro del off-canvas ======== */
@media (max-width: 992px) {
	.sr-menu--mobile .has-megamenu > a::after { margin-left: auto; }
	.sr-mobile-panel .sr-megamenu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border-top: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height .35s ease;
	}
	.sr-menu--mobile .has-megamenu.is-open .sr-megamenu {
		max-height: 2000px;
	}
	.sr-megamenu__inner {
		grid-template-columns: 1fr;
		padding: 8px 0 16px;
		gap: 0;
	}
	.sr-mobile-panel a.sr-megamenu__card,
	.sr-mobile-panel .sr-megamenu__card {
		display: flex !important;
		flex-direction: row !important;
		align-items: center;
		gap: 14px;
		padding: 10px 4px;
		border: 0 !important;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		position: relative;
		text-align: left;
	}
	.sr-mobile-panel a.sr-megamenu__card:hover,
	.sr-mobile-panel a.sr-megamenu__card:focus-visible {
		transform: none;
		box-shadow: none;
		border-color: transparent;
		background: var(--sr-color-bg-soft);
	}
	.sr-mobile-panel .sr-megamenu__image {
		flex: 0 0 56px;
		width: 56px;
		height: 56px;
		aspect-ratio: 1 / 1;
		border-radius: 10px;
		overflow: hidden;
	}
	.sr-mobile-panel .sr-megamenu__body {
		padding: 0;
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.sr-mobile-panel .sr-megamenu__title {
		font-size: 15px;
		font-weight: 600;
		line-height: 1.3;
		margin: 0;
	}
	/* En móvil mostramos solo imagen + título */
	.sr-mobile-panel .sr-megamenu__excerpt,
	.sr-mobile-panel .sr-megamenu__cta { display: none; }

	/* El submenu (megamenú) dentro del panel móvil: sangría visual */
	.sr-mobile-panel .sr-megamenu {
		background: transparent;
		padding-left: 8px;
	}
	.sr-mobile-panel .sr-megamenu__inner {
		padding: 4px 0 12px;
	}
}
