﻿/* ==========================================================================
   SANYDES · páginas interiores, blog, glosario y tienda
   Complementa site.css con los componentes que genera la conversión de Divi a
   Elementor (sy-phero, sy-cols, sy-card…) y con las plantillas del tema
   (blog, entradas, WooCommerce). Mismo estilo que la portada: Geist, gris claro,
   tarjetas blancas sin sombra, píldoras naranjas con círculo verde.
   Solo presentación; ningún texto se cambia.
   ========================================================================== */

body.sy a { color: var(--h-green); }
body.sy a:hover { color: var(--h-orange); }
body.sy .elementor-button, body.sy .elementor-button:hover,
body.sy .sy-footer a, body.sy .elementor-location-header a { color: inherit; }

/* ------------------------------------------------------- Hero interior */
body.sy .e-con.sy-phero {
	position: relative;
	min-height: 440px;
	justify-content: center;
	background-color: var(--h-green);
	--padding-top: 96px;
	--padding-bottom: 120px;
	overflow: hidden;
}
body.sy .e-con.sy-phero--img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 131, 76, .35) 0%, rgba(15, 131, 76, .6) 50%, rgba(15, 131, 76, .92) 100%);
	z-index: 0;
}
body.sy .e-con.sy-phero > .e-con-inner { position: relative; z-index: 1; align-items: center; text-align: center; gap: 20px; max-width: 920px; }
body.sy .sy-phero .sy-row { align-items: center; gap: 18px; width: 100%; }
body.sy .sy-phero__title .elementor-heading-title {
	color: #fff;
	font-size: clamp(42px, 5.6vw, 76px);
	letter-spacing: -.045em;
	line-height: 1 !important;
	text-wrap: balance;
	text-shadow: 0 2px 28px rgba(15, 131, 76, .45);
}
body.sy .sy-phero__title .elementor-heading-title * { color: inherit; font: inherit; }
body.sy .sy-phero__lead, body.sy .sy-phero__lead p, body.sy .sy-phero__lead * {
	color: #fff !important;
	font-size: 18px;
	line-height: 1.65;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
/* Títulos de cabecera que en Divi eran párrafos grandes */
body.sy .sy-phero__lead:first-child p { font-size: clamp(38px, 5vw, 66px); font-weight: 500; letter-spacing: -.04em; line-height: 1.02; }
body.sy .sy-phero .sy-btnrow { justify-content: center; }
/* La sección siguiente sube sobre la cabecera, como en la portada */
body.sy .e-con.sy-phero + .e-con.sy-s {
	position: relative;
	z-index: 3;
	margin-top: -40px;
	border-radius: 40px 40px 0 0;
}

/* ------------------------------------------------------------ Secciones */
body.sy .e-con.sy-s--white { background-color: #fff; }
body.sy .e-con.sy-s--grey { background-color: var(--h-grey); }
body.sy .e-con.sy-s > .e-con-inner { gap: 28px; }
body.sy .sy-row { gap: 18px; width: 100%; }
body.sy .e-con.sy-cols { gap: 24px; align-items: stretch; }
body.sy .e-con.sy-cols > .sy-col { flex: 1 1 0; min-width: 0; gap: 18px; width: auto !important; }
body.sy .e-con.sy-cols > .sy-col--8 { flex-grow: 2; }
body.sy .e-con.sy-cols > .sy-col--7 { flex-grow: 1.5; }
body.sy .e-con.sy-cols > .sy-col--6 { flex-grow: 1; }
body.sy .e-con.sy-cols > .sy-col--5 { flex-grow: 1; }
body.sy .e-con.sy-cols > .sy-col--9 { flex-grow: 3; }
body.sy .e-con.sy-cols:not(.sy-cols--cards) { align-items: center; }
body.sy .e-con.sy-cols--cards > .sy-col { align-self: stretch; }
body.sy .sy-cols--cards > .sy-col > .sy-card { height: 100%; }

/* Bloque blanco que en Divi tenía fondo propio */
body.sy .e-con.sy-panel {
	background: #fff;
	border-radius: var(--h-r);
	padding: 32px !important;
}
body.sy .sy-s--white .e-con.sy-panel { background: var(--h-grey); }

/* Texto largo y títulos dentro de bloques de texto */
body.sy .sy-body h1, body.sy .sy-body h2, body.sy .sy-body h3, body.sy .sy-body h4 {
	font-family: var(--h-font);
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1.12;
	color: var(--h-ink);
	margin: 1.3em 0 .5em;
}
body.sy .sy-body h1 { font-size: clamp(28px, 2.8vw, 38px); }
body.sy .sy-body h2 { font-size: clamp(24px, 2.3vw, 32px); }
/* Texto largo en una sola columna (legales, entradas): ancho de lectura */
body.sy .sy-s:not(.sy-phero) .sy-row:not(.sy-cols) > .sy-body { max-width: 860px; }
body.sy .sy-sc .glossaryList li a, body.sy .sy-sc #glossaryList li a { border: 0 !important; box-shadow: none; }
body.sy .sy-body h3 { font-size: 22px; }
body.sy .sy-body h4 { font-size: 18px; }
body.sy .sy-body > *:first-child, body.sy .sy-body .elementor-widget-container > *:first-child { margin-top: 0; }
body.sy .sy-body ul, body.sy .sy-body ol { padding-left: 1.3em; margin: 0 0 1.2em; color: var(--h-soft); }
body.sy .sy-body li { margin-bottom: .45em; line-height: 1.7; }
body.sy .sy-body li::marker { color: var(--h-orange); }
body.sy .sy-body--light h1, body.sy .sy-body--light h2, body.sy .sy-body--light h3, body.sy .sy-body--light h4 { color: #fff; }
body.sy .sy-title--page .elementor-heading-title { font-size: clamp(36px, 4.4vw, 56px); }

/* Botones en fila */
body.sy .e-con.sy-btnrow { flex-wrap: wrap; gap: 12px; }
body.sy .sy-btnrow > .elementor-widget { width: auto !important; }

/* ---------------------------------------------------------------- Tarjetas */
body.sy .e-con.sy-card {
	background: #fff;
	border-radius: var(--h-r);
	padding: 30px 28px !important;
	gap: 12px;
	transition: box-shadow .25s;
}
body.sy .sy-s--white .e-con.sy-card, body.sy .sy-panel .e-con.sy-card { background: var(--h-grey); }
body.sy .sy-s--white .sy-panel .e-con.sy-card { background: #fff; }
body.sy .e-con.sy-card:hover { box-shadow: inset 0 0 0 2px var(--h-green); }
body.sy .sy-col > .e-con.sy-card + .e-con.sy-card { margin-top: 0; }
body.sy .sy-card__img img { width: 64px; height: 64px; padding: 12px; object-fit: contain; border-radius: 50%; background: #fff; }
body.sy .sy-s--grey .sy-card__img img { background: var(--h-grey); }
body.sy .sy-card__img, body.sy .sy-card__img .elementor-widget-container { text-align: left; }
body.sy .sy-card__icon { align-self: flex-start; width: auto; }
body.sy .sy-card__icon .elementor-icon-wrapper { display: flex; text-align: left !important; }
body.sy .sy-card__icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--h-orange);
}
body.sy .sy-card__icon .elementor-icon svg { width: 16px; height: 16px; fill: #fff; }
body.sy .sy-card__title .elementor-heading-title { font-size: 22px; line-height: 1.15 !important; letter-spacing: -.02em; color: var(--h-ink); }
body.sy .sy-card__title .elementor-heading-title a { color: inherit; }
body.sy .sy-card__title .elementor-heading-title a:hover { color: var(--h-green); }
body.sy .sy-card__text, body.sy .sy-card__text p { font-size: 15px; line-height: 1.65; color: var(--h-soft); }
body.sy .sy-card__text p:last-child { margin-bottom: 0; }
body.sy .sy-card .sy-link { margin-top: auto; padding-top: 6px; }

/* Lista de comprobación (tarjetas Divi solo con título) */
body.sy .e-con.sy-check { align-items: center; gap: 12px; padding: 10px 0 !important; border-bottom: 1px solid var(--h-line); }
body.sy .e-con.sy-check:last-child { border-bottom: 0; }
body.sy .sy-check .sy-card__icon .elementor-icon { width: 28px; height: 28px; background: var(--h-green); }
body.sy .sy-check .sy-card__icon .elementor-icon svg { width: 12px; height: 12px; }
body.sy .sy-check .sy-card__title { width: auto; flex: 1 1 0; }
body.sy .sy-check .sy-card__title .elementor-heading-title { font-size: 16px; font-weight: 500; letter-spacing: 0; }

/* ---------------------------------------------------------------- Imágenes */
body.sy .sy-img img { width: 100%; height: auto; border-radius: var(--h-r-lg); }
body.sy .sy-img--logo img { width: 160px; max-width: 100%; border-radius: 0; mix-blend-mode: multiply; }
body.sy .sy-faq .elementor-tab-title:focus:not(:focus-visible), body.sy .sy-faq .elementor-tab-title a:focus:not(:focus-visible) { outline: none; }
body.sy .sy-img--logo, body.sy .sy-img--logo .elementor-widget-container { text-align: center; }
body.sy .sy-s--quote .sy-img img { border-radius: 24px; }
body.sy .sy-img--badge img { width: 130px; border-radius: 0; }
body.sy .sy-img--badge, body.sy .sy-img--badge .elementor-widget-container { text-align: center; }
/* Logos del Kit Digital, discretos como en la portada */
body.sy .sy-s--kit { --padding-top: 40px; --padding-bottom: 56px; }
body.sy .sy-s--kit .sy-body, body.sy .sy-s--kit .sy-body p { text-align: center; font-size: 12.5px; }
body.sy .sy-s--kit .sy-cols { justify-content: center; gap: 56px; }
body.sy .sy-s--kit .sy-cols > .sy-col { flex: 0 0 auto; }
body.sy .sy-s--kit .sy-img img { max-height: 76px; width: auto; border-radius: 0; mix-blend-mode: multiply; }
body.sy .sy-s--kit .sy-img, body.sy .sy-s--kit .sy-img .elementor-widget-container { text-align: center; }
/* Primera sección sin cabecera de foto (p. ej. Contacto): más aire arriba */
body.sy .elementor > .e-con.sy-s:first-child:not(.sy-phero) { --padding-top: 72px; }
body.sy .sy-code iframe { min-height: 380px; background: var(--h-grey); }

/* ----------------------------------------------- Formularios y presupuesto */
body.sy .e-con.sy-formbox { background: #fff; border-radius: 24px; padding: 32px !important; }
body.sy .sy-s--quote .e-con.sy-formbox { background: #fff; }
body.sy .sy-s--white .e-con.sy-formbox { background: var(--h-grey); }
body.sy .sy-s--white .sy-formbox .sy-form .elementor-field { background: #fff !important; }
body.sy .sy-form .elementor-field-type-acceptance label, body.sy .sy-form .elementor-field-type-acceptance a { font-size: 14px; }
body.sy .sy-form input[type="checkbox"] { accent-color: var(--h-green); width: 16px; height: 16px; }
body.sy .sy-s--quote + .sy-s, body.sy .sy-s + .sy-s--quote { margin-top: 16px; }
body.sy .elementor > .e-con.sy-s--quote:last-child { margin-bottom: 16px; }
body.sy .e-con.sy-phero:not(.sy-phero--img) { min-height: 340px; }

/* FluentForm (página de contacto) con el mismo aspecto */
body.sy .fluentform .ff-el-form-control {
	background: var(--h-grey) !important;
	border: 1px solid transparent !important;
	border-radius: 12px !important;
	padding: 14px 16px;
	font-family: var(--h-font);
	font-size: 15px;
	color: var(--h-ink);
}
body.sy .fluentform .ff-el-form-control:focus { background: #fff; border-color: var(--h-ink); box-shadow: none; }
body.sy .fluentform .ff-el-input--label label { font-family: var(--h-font); font-weight: 500; color: var(--h-ink); }
body.sy .fluentform .ff-btn-submit {
	background: var(--h-orange) !important;
	color: #fff !important;
	border: 0;
	border-radius: 999px;
	padding: 16px 32px;
	font-family: var(--h-font);
	font-weight: 500;
	font-size: 15px;
}
body.sy .fluentform .ff-btn-submit:hover { background: var(--h-green) !important; }
body.sy .sy-s--white .fluentform .ff-el-form-control { background: var(--h-grey); }

/* Código incrustado (mapas…) */
body.sy .sy-code iframe { width: 100%; border: 0; border-radius: var(--h-r-lg); display: block; }

/* ------------------------------------------------------------- Glosario */
body.sy .sy-sc #glossaryList, body.sy .sy-sc .glossaryList { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
body.sy .sy-sc .glossaryList li, body.sy .sy-sc #glossaryList li { margin: 0; }
body.sy .sy-sc .glossaryList li a, body.sy .sy-sc #glossaryList li a {
	display: block;
	padding: 14px 18px;
	border-radius: 12px;
	background: #fff;
	color: var(--h-ink);
	font-weight: 500;
	transition: box-shadow .2s, color .2s;
}
body.sy .sy-s--white .sy-sc .glossaryList li a, body.sy .sy-s--white .sy-sc #glossaryList li a { background: var(--h-grey); }
body.sy .sy-sc .glossaryList li a:hover, body.sy .sy-sc #glossaryList li a:hover { color: var(--h-green); box-shadow: inset 0 0 0 2px var(--h-green); }
body.sy .sy-sc .ln-letters { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
body.sy .sy-sc .ln-letters a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: 999px;
	background: #fff;
	color: var(--h-ink);
	font-weight: 500;
	border: 0 !important;
}
body.sy .sy-sc .ln-letters a.ln-selected, body.sy .sy-sc .ln-letters a:hover { background: var(--h-orange); color: #fff; }
body.sy .sy-sc .ln-letters a.ln-disabled { opacity: .35; }

/* ------------------------------------------- Plantillas del tema (Hello) */
/* Páginas sin maquetar (Localidades, Tienda, Mi cuenta…), entradas y archivo */
body.sy:not(.elementor-template-full-width):not(.home) .site-main,
body.sy.single-post .site-main,
body.sy.blog .site-main, body.sy.archive .site-main, body.sy.search .site-main,
body.sy.woocommerce-page .site-main, body.sy.single-glossary .site-main {
	max-width: 1232px;
	margin: 0 auto;
	padding: 0 24px 96px;
}
body.sy .site-main > .page-header {
	margin: 0 calc(50% - 50vw) 48px;
	padding: 88px 24px 96px;
	background: var(--h-green);
	text-align: center;
	border-radius: 0 0 40px 40px;
}
body.sy .site-main > .page-header { width: auto; max-width: none; }
body.sy .woocommerce-products-header__title.page-title,
body.sy .woocommerce div.product .product_title, body.sy div.product .product_title {
	font-family: var(--h-font);
	font-weight: 500;
	letter-spacing: -.04em;
	color: var(--h-ink);
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.05;
}
body.sy div.product .woocommerce-tabs ul.tabs li { border-radius: 999px 999px 0 0; background: #fff; border-color: var(--h-line); }
body.sy div.product .woocommerce-tabs ul.tabs li.active { background: var(--h-orange); }
body.sy div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
body.sy div.product .woocommerce-tabs ul.tabs li a { color: var(--h-ink); font-weight: 500; }
body.sy div.product .woocommerce-product-gallery img { border-radius: var(--h-r); }
body.sy .site-main > .page-header .entry-title {
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
	color: #fff;
	font-family: var(--h-font);
	font-weight: 500;
	font-size: clamp(40px, 5.4vw, 72px);
	letter-spacing: -.045em;
	line-height: 1;
	margin: 0;
}
body.sy .site-main { font-family: var(--h-font); color: var(--h-text); }
body.sy .site-main h1, body.sy .site-main h2, body.sy .site-main h3, body.sy .site-main h4,
body.sy h2, body.sy h3 { font-family: var(--h-font); font-weight: 500; letter-spacing: -.025em; color: var(--h-ink); }
body.sy form.login, body.sy form.register, body.sy form.lost_reset_password {
	border: 0;
	border-radius: var(--h-r);
	background: #fff;
	padding: 32px;
	max-width: 560px;
}
body.sy.woocommerce-account .woocommerce > h2 { max-width: 560px; }

/* Entrada individual */
body.sy.single-post .site-main > .page-header { margin-bottom: 0; }
body.sy.single-post .site-main > .page-content { max-width: 820px; margin: 0 auto; }
body.sy.single-post .page-content .e-con.sy-s { --padding-top: 48px; --padding-bottom: 0; background: transparent; }
body.sy.single-post .page-content .e-con.sy-s + .e-con.sy-s { --padding-top: 0; margin-top: 0; border-radius: 0; }
body.sy.single-post .sy-s--post > .e-con-inner { max-width: 820px; }
body.sy.single-post .sy-body, body.sy.single-post .sy-body p { font-size: 17.5px; line-height: 1.8; color: var(--h-text); }
body.sy.single-post .sy-body img { border-radius: var(--h-r); height: auto; }
body.sy.single-post .post-tags, body.sy.single-post .comments-area { max-width: 820px; margin: 32px auto 0; }

/* Blog / archivo: tarjetas en rejilla */
body.sy.blog .page-content, body.sy.archive:not(.woocommerce) .page-content, body.sy.search .page-content {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
body.sy.blog article.post, body.sy.archive:not(.woocommerce) article.post, body.sy.search article {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: var(--h-r);
	overflow: hidden;
	margin: 0;
	padding: 0 0 24px;
	transition: box-shadow .25s;
}
body.sy.blog article.post:hover, body.sy.archive:not(.woocommerce) article.post:hover { box-shadow: inset 0 0 0 2px var(--h-green); }
body.sy.blog article.post > a:has(img), body.sy.archive article.post > a:has(img) { order: -1; display: block; }
body.sy.blog article.post img, body.sy.archive:not(.woocommerce) article.post img, body.sy.search article img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
	margin: 0;
}
body.sy.blog article.post .entry-title, body.sy.archive:not(.woocommerce) article.post .entry-title, body.sy.search article .entry-title {
	margin: 22px 24px 10px;
	font-family: var(--h-font);
	font-size: 21px;
	font-weight: 500;
	letter-spacing: -.02em;
	line-height: 1.2;
}
body.sy.blog article.post .entry-title a, body.sy.archive article.post .entry-title a { color: var(--h-ink); }
body.sy.blog article.post .entry-title a:hover, body.sy.archive article.post .entry-title a:hover { color: var(--h-green); }
body.sy.blog article.post img[src*="logo-cuadrado"], body.sy.archive article.post img[src*="logo-cuadrado"] { object-fit: contain; padding: 28px; background: #fff; }
body.sy.blog article.post p,body.sy.archive:not(.woocommerce) article.post p, body.sy.search article p { margin: 0 24px; font-size: 15px; line-height: 1.65; color: var(--h-soft); }
body.sy .pagination, body.sy nav.pagination { grid-column: 1 / -1; display: flex; justify-content: center; gap: 12px; margin-top: 40px; }
body.sy .pagination a, body.sy .pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	border-radius: 999px;
	background: #fff;
	color: var(--h-ink);
	font-weight: 500;
}
body.sy .pagination a:hover, body.sy .pagination .current { background: var(--h-orange); color: #fff; }

/* Ficha del glosario */
body.sy.single-glossary .page-content { max-width: 820px; margin: 0 auto; background: #fff; border-radius: var(--h-r); padding: 40px; font-size: 17px; line-height: 1.75; }
body.sy.single-glossary .page-content ul { padding-left: 1.2em; }
body.sy.single-glossary .page-content li::marker { color: var(--h-orange); }
body.sy.single-glossary .page-content a { font-weight: 500; }

/* ------------------------------------------------------------- WooCommerce */
body.sy.woocommerce-page .woocommerce-breadcrumb { font-size: 14px; color: var(--h-soft); margin-bottom: 20px; }
body.sy.woocommerce-page .woocommerce-breadcrumb a { color: var(--h-soft); }
body.sy .woocommerce-result-count { color: var(--h-soft); font-size: 15px; }
body.sy .woocommerce-ordering select, body.sy select {
	border: 0;
	border-radius: 999px;
	background-color: #fff;
	padding: 12px 18px;
	font-family: var(--h-font);
	font-size: 15px;
}
body.sy ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; }
body.sy ul.products::before, body.sy ul.products::after { display: none; }
body.sy ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	background: #fff;
	border-radius: var(--h-r);
	padding: 20px 20px 24px !important;
	display: flex;
	flex-direction: column;
	transition: box-shadow .25s;
}
body.sy ul.products li.product:hover { box-shadow: inset 0 0 0 2px var(--h-green); }
body.sy ul.products li.product a img { border-radius: 14px; margin-bottom: 16px; background: var(--h-grey); }
body.sy ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--h-font);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--h-ink);
	padding: 0;
}
body.sy ul.products li.product .price, body.sy div.product .price { color: var(--h-green) !important; font-weight: 600; font-size: 17px; }
body.sy a.button, body.sy button.button, body.sy input.button,
body.sy #respond input#submit, body.sy .button.alt, body.sy a.checkout-button {
	background: var(--h-orange) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 13px 24px !important;
	font-family: var(--h-font);
	font-weight: 500 !important;
	font-size: 15px !important;
	border: 0;
	transition: background .2s;
}
body.sy a.button:hover, body.sy button.button:hover, body.sy .button.alt:hover,
body.sy a.checkout-button:hover { background: var(--h-green) !important; }
body.sy ul.products li.product .button { margin-top: auto; align-self: flex-start; }
body.sy div.product .product_title { font-family: var(--h-font); font-weight: 500; letter-spacing: -.03em; }
body.sy .woocommerce-message, body.sy .woocommerce-info, body.sy .woocommerce-error {
	border: 0;
	border-radius: 14px;
	background: #fff;
	border-left: 4px solid var(--h-green);
	font-family: var(--h-font);
}
body.sy .woocommerce-info::before, body.sy .woocommerce-message::before { color: var(--h-green); }
body.sy table.shop_table { border: 0; border-radius: var(--h-r); background: #fff; overflow: hidden; border-collapse: separate; }
body.sy table.shop_table th, body.sy table.shop_table td { border-color: var(--h-line); padding: 16px; }
body.sy .quantity .qty { border-radius: 10px; border: 1px solid var(--h-line); padding: 8px; }
body.sy input.input-text, body.sy textarea, body.sy form .form-row input.input-text {
	background: #fff;
	border: 1px solid var(--h-line);
	border-radius: 12px;
	padding: 12px 14px;
	font-family: var(--h-font);
}
body.sy .cart-collaterals .cart_totals, body.sy .woocommerce-checkout-review-order {
	background: #fff;
	border-radius: var(--h-r);
	padding: 24px;
}
body.sy .wc-block-components-button:not(.is-link), body.sy .wc-block-cart__submit-button {
	background: var(--h-orange) !important;
	color: #fff !important;
	border-radius: 999px !important;
	border: 0 !important;
}

/* ------------------------------------------------------------ Responsive */
@media (max-width: 1024px) {
	body.sy.blog .page-content, body.sy.archive:not(.woocommerce) .page-content, body.sy.search .page-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.sy ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.sy .e-con.sy-cols--cards { flex-wrap: wrap !important; }
}
@media (max-width: 767px) {
	body.sy .e-con.sy-phero { min-height: 0; --padding-top: 64px; --padding-bottom: 84px; }
	body.sy .sy-phero__lead, body.sy .sy-phero__lead p { font-size: 16.5px; }
	body.sy .e-con.sy-phero + .e-con.sy-s { margin-top: -28px; border-radius: 28px 28px 0 0; }
	body.sy .e-con.sy-cols { flex-direction: column !important; gap: 14px; }
	body.sy .e-con.sy-cols > .sy-col { flex: none; width: 100% !important; }
	body.sy .e-con.sy-cols:not(.sy-cols--cards) { align-items: stretch; }
	body.sy .e-con.sy-card { padding: 24px 22px !important; }
	body.sy .e-con.sy-panel { padding: 22px !important; }
	body.sy .e-con.sy-formbox { padding: 22px !important; }
	body.sy .sy-btnrow > .elementor-widget, body.sy .sy-btnrow .elementor-button { width: 100% !important; }
	body.sy .sy-btnrow .elementor-button { justify-content: space-between; }
	body.sy .sy-img--logo img { width: 120px; }
	body.sy:not(.elementor-template-full-width):not(.home) .site-main,
	body.sy.single-post .site-main, body.sy.blog .site-main, body.sy.archive .site-main,
	body.sy.woocommerce-page .site-main, body.sy.single-glossary .site-main { padding: 0 16px 64px; }
	body.sy .site-main > .page-header { margin: 0 calc(50% - 50vw) 32px; padding: 56px 16px 64px; border-radius: 0 0 28px 28px; }
	body.sy.blog .page-content, body.sy.archive:not(.woocommerce) .page-content, body.sy.search .page-content { grid-template-columns: minmax(0, 1fr); }
	body.sy ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	body.sy ul.products li.product { padding: 14px 14px 18px !important; }
	body.sy.single-glossary .page-content { padding: 24px 20px; }
	body.sy .sy-sc #glossaryList, body.sy .sy-sc .glossaryList { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =================================================== Sobre nosotros (v2) */
/* Hero fotográfico como el de la portada: foto a sangre, arriba transparente
   y abajo verde corporativo; título grande alineado a la izquierda. */
body.sy .e-con.sy-ab-hero {
	position: relative;
	min-height: min(calc(100vh - 64px), 620px);
	justify-content: flex-end;
	align-items: flex-start;
	padding: 0 var(--h-side) 112px !important;
	background: var(--h-green) url("../../uploads/2025/05/pest-control-30.jpg") 50% 40% / cover no-repeat;
	overflow: hidden;
}
body.sy .e-con.sy-ab-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 131, 76, 0) 0%, rgba(15, 131, 76, 0) 55%, rgba(15, 131, 76, .75) 100%);
	z-index: 0;
}
body.sy .sy-ab-hero__title { position: relative; z-index: 1; width: 100%; max-width: 1152px; margin: 0 auto; }
body.sy .sy-ab-hero__title .elementor-heading-title {
	color: #fff;
	font-size: clamp(52px, 8vw, 112px);
	letter-spacing: -.05em;
	line-height: .95 !important;
	text-align: left;
	text-shadow: 0 2px 28px rgba(15, 131, 76, .55), 0 1px 3px rgba(15, 131, 76, .4);
}

/* Presentación: hoja blanca que sube sobre el hero */
body.sy .e-con.sy-ab-intro {
	position: relative;
	z-index: 2;
	margin-top: -40px;
	border-radius: 40px 40px 0 0;
	background: #fff;
}
body.sy .e-con.sy-ab-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}
/* Panel de marca: logo grande sobre gris, sello "Empresa líder" en la esquina */
body.sy .e-con.sy-ab-brand {
	position: relative;
	aspect-ratio: 1 / 1;
	min-height: 480px;
	justify-content: center;
	align-items: center;
	background: var(--h-grey);
	border-radius: var(--h-r-lg);
	padding: 40px !important;
}
body.sy .sy-ab-brand__logo, body.sy .sy-ab-brand__logo .elementor-widget-container { width: 100%; text-align: center; }
body.sy .sy-ab-brand__logo img { width: 78%; max-width: 380px; height: auto; mix-blend-mode: multiply; border-radius: 0; }
body.sy .elementor-widget.sy-ab-brand__badge {
	position: absolute;
	right: -18px;
	bottom: -18px;
	width: 34%;
	max-width: 168px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
	padding: 14px;
	box-shadow: 0 0 0 8px #fff;
}
body.sy .sy-ab-brand__badge .elementor-widget-container { width: 100%; line-height: 0; }
body.sy .sy-ab-brand__badge img { width: 100%; height: auto; border-radius: 0; }
/* Texto de presentación: los dos párrafos con la misma letra que el resto de la web */
body.sy .sy-ab-statement p { font-size: 18px; line-height: 1.7; }
body.sy .sy-ab-statement p + p { margin-top: 18px; }

/* Lo que hacemos: texto + foto alta y las tres tarjetas de tratamientos */
body.sy .e-con.sy-ab-what { background: var(--h-grey); }
body.sy .e-con.sy-ab-what__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}
body.sy .e-con.sy-ab-what__text { gap: 26px; }
body.sy .sy-ab-what__body p + p { margin-top: 18px; }
body.sy .sy-ab-what__img, body.sy .sy-ab-what__img .elementor-widget-container { width: 100%; }
body.sy .sy-ab-what__img img {
	width: 100%;
	height: clamp(420px, 44vw, 620px);
	object-fit: cover;
	object-position: 50% 35%;
	border-radius: var(--h-r-lg);
	display: block;
}
body.sy .e-con.sy-ab-services { margin-top: clamp(48px, 6vw, 80px); }

@media (max-width: 1024px) {
	body.sy .e-con.sy-ab-intro__grid, body.sy .e-con.sy-ab-what__grid { grid-template-columns: minmax(0, 1fr); }
	body.sy .e-con.sy-ab-brand { max-width: 520px; width: 100%; margin: 0 auto; }
}
@media (max-width: 767px) {
	body.sy .e-con.sy-ab-hero { min-height: 420px; padding: 0 20px 84px !important; }
	body.sy .e-con.sy-ab-intro { margin-top: -32px; border-radius: 28px 28px 0 0; }
	body.sy .e-con.sy-ab-brand { padding: 28px 28px 64px !important; min-height: 0; }
	body.sy .sy-ab-brand__logo img { width: 72%; }
	body.sy .elementor-widget.sy-ab-brand__badge { right: -6px; bottom: -6px; width: 30%; padding: 10px; box-shadow: 0 0 0 6px #fff; }
	body.sy .sy-ab-statement p { font-size: 17px; }
	body.sy .sy-ab-what__img img { height: 380px; }
}
