/* ==========================================================================
   DIABETCENTRO — the six institutional "Nosotros" docs. POSTS originally;
   PAGES since the 2026-07 conversion (tools/nosotros-pages/RUNBOOK.md — the
   functions.php enqueue matches both via dc_is_nosotros_doc()). Convention:
   Elementor's selector + `body` prefix.

   Six hand-cloned Elementor documents — styling keys on WIDGET CLASSES (the
   enqueue scopes the file), per-doc ids only for divergences. The conversion
   runbook PRUNED the blog chrome from the JSON: author/date/terms + their
   icon decorations, post-comments, hfe-search, "Continue Reading" tails,
   10099's abandoned draft section 2bb7f8bb. Per-doc map (2026-07-11):
   10297 quienes-somos      title 52cad426 · dup content-H1 (punch list)
                            · founders duo in the prose (§10)
   10208 nuestra-historia   title 19a0f71 · featured 6396a56f
   9811  en-que-creemos     NO masthead widgets (content-only doc)
   10066 que-hacemos        NO masthead widgets
   10099 resultados         title 1ef39eee
   10164 opiniones          title 14a2c18b · featured 274eae71
   Tail on the masthead docs: "Sigue aprendiendo" h5 + Qi blog-list (cards
   inherit style.css §3).
   ========================================================================== */

/* -- §1 MASTHEAD: the scrimmed hero band --------------------------------------
   The four masthead docs (dt-post-title present) open on a radius-24 BAND
   painted as the TITLE WIDGET'S OWN ::before. Since the conversion runbook
   removed the meta line, the title is the band's only rider — the band takes
   its size from the padded, min-height'd title box (any title line-count
   works; the old per-doc --dc-postband/--dc-postclear constants are gone).
   Title anchors bottom-left, magazine-style. Photo docs (10208/10164) put
   the featured photo under the homepage 160deg scrim; the others take the
   brand gradient plate. 9811/10066 have no masthead widgets — no band until
   the punch-list retags land. */

body .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dt-post-title) > .elementor-widget-wrap {
	padding-top: clamp(20px, 3vw, 32px);
}
/* the title box IS the band (DethemeKit dt-post-title; tag drifts h1/h2) */
body .elementor-widget-dt-post-title {
	position: relative;
	z-index: 0; /* own stacking context: the band's z -1 stays above page bg */
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(220px, 26vw, 340px);
	padding: 32px clamp(24px, 3.5vw, 48px) clamp(36px, 5vw, 56px);
	margin-bottom: 40px;
}
body .elementor-widget-dt-post-title::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: var(--dc-radius-media);
	box-shadow: var(--dc-shadow-soft);
	/* default: the brand gradient plate (style.css §3 recipe) */
	background-color: var(--e-global-color-accent);
	background-image:
		radial-gradient(circle at 78% 24%, rgba(191, 227, 223, 0.38), transparent 52%),
		radial-gradient(circle at 18% 88%, rgba(47, 167, 159, 0.42), transparent 55%),
		linear-gradient(135deg, var(--e-global-color-accent) 0%, var(--dc-color-teal-bright) 100%);
	background-size: cover;
	background-position: center;
}
/* photo docs: featured image under the homepage scrim (UPDATE TOGETHER
   with the docs' featured images — mirror-comment convention) */
body .elementor-10208 .elementor-widget-dt-post-title::before {
	background-image:
		linear-gradient(160deg, rgba(0, 74, 72, 0.92) 0%, rgba(0, 74, 72, 0.55) 55%, rgba(0, 74, 72, 0.3) 100%),
		image-set(
			url("../../../../uploads-webpc/uploads/2026/06/ale-y-fa-1024x678.jpg.webp") type("image/webp"),
			url("../../../../uploads/2026/06/ale-y-fa-1024x678.jpg") type("image/jpeg")); /* sized variant — the band renders ≤~900px wide */
}
body .elementor-10164 .elementor-widget-dt-post-title::before {
	background-image:
		linear-gradient(160deg, rgba(0, 74, 72, 0.92) 0%, rgba(0, 74, 72, 0.55) 55%, rgba(0, 74, 72, 0.3) 100%),
		image-set(
			url("../../../../uploads-webpc/uploads/2026/06/saludo-cordial.png.webp") type("image/webp"),
			url("../../../../uploads/2026/06/saludo-cordial.png") type("image/png"));
}
/* the in-flow featured plates are replaced by their bands */
body :is(.elementor-10208, .elementor-10164) .elementor-widget-post-featured-image {
	display: none;
}
body .elementor-widget-dt-post-title :is(h1, h2, h3) {
	font-size: clamp(2.6rem, 1.95rem + 2.7vw, 4.125rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: #ffffff;
	margin: 0 0 6px;
}
body .elementor-widget-dt-post-title :is(h1, h2, h3)::after {
	content: "";
	display: block;
	margin-top: 18px;
	width: 76px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg,
		var(--dc-color-drop) 0 20px,
		var(--e-global-color-primary) 20px); /* mint body on the dark band */
}

/* (the author/date/terms meta line was deleted from the documents by the
   conversion runbook — its inline-collapse and band-clear rules left with
   it: prose now follows the title box's own 40px margin) */

/* featured image → radius-24 media plate */
body .elementor-widget-post-featured-image img {
	width: 100%;
	max-height: 460px;
	object-fit: cover;
	border-radius: var(--dc-radius-media);
	box-shadow: var(--dc-shadow-soft);
}

/* -- §2 PROSE ------------------------------------------------------------------ */

body .elementor-widget-text-editor {
	max-width: 70ch;
}
/* in-content H1 duplicates (10297/10208) demote to the section-H2 voice —
   the semantic retag/deletion is punch-listed */
body .elementor-widget-text-editor h1 {
	font-size: clamp(1.75rem, 1.55rem + 0.85vw, 2.25rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--e-global-color-accent);
	margin: 30px 0 12px;
}
body .elementor-widget-text-editor h2 {
	font-size: clamp(1.5rem, 1.35rem + 0.65vw, 1.875rem);
	line-height: 1.25;
	color: var(--e-global-color-accent);
	margin: 26px 0 10px;
}
body .elementor-widget-text-editor h3 {
	font-size: clamp(1.25rem, 1.13rem + 0.5vw, 1.5rem);
	line-height: 1.35;
	font-weight: 600;
	color: var(--dc-color-teal-text);
	margin: 22px 0 8px;
}
body .elementor-widget-text-editor a {
	color: var(--dc-color-teal-text);
	text-decoration: none;
	border-bottom: 2px solid var(--e-global-color-primary);
	transition: color var(--dc-speed) var(--dc-ease), border-color var(--dc-speed) var(--dc-ease);
}
body .elementor-widget-text-editor a:hover {
	color: var(--e-global-color-accent);
	border-color: var(--dc-color-drop);
}
body .elementor-widget-text-editor li {
	margin-bottom: 6px;
}

/* -- §3 TAIL (related/latest lists + headings) --------------------------------- */

/* the "Sigue aprendiendo" heading lives in the column that holds the Qi
   blog-list — :has() scopes it so 9811's content H4 stays untouched.
   (Renamed from "Latest News" by the conversion runbook.) */
body .elementor-column:has(.qodef-addons-blog-list) .elementor-widget-heading :is(h4, h5) {
	font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-weight: 700;
	font-size: var(--dc-fs-eyebrow);
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dc-color-teal-text);
	margin: 8px 0 14px;
}
/* the tail's blog-cards inherit the site card system from style.css §3 */

/* -- §3b TAIL CTA PAIR: white card + spruce dark beat ---------------------------
   Each doc's closing info-card pair takes the 9276 two-tone: first card
   white house chrome, the cita/action card the page's DARK BEAT. Per-doc
   ids (10099's draft-section twin died with section 2bb7f8bb). */
body :is(
	.elementor-10297 .elementor-element.elementor-element-21b24cd2,
	.elementor-10208 .elementor-element.elementor-element-4b090a53,
	.elementor-10099 .elementor-element.elementor-element-1b3b71a1,
	.elementor-10164 .elementor-element.elementor-element-72f08cb6) .qodef-qi-info-cards {
	background-color: #ffffff;
	border: var(--dc-border);
	border-radius: var(--dc-radius-card);
	padding: 20px 22px;
	transition: border-color var(--dc-speed) var(--dc-ease),
		transform var(--dc-speed) var(--dc-ease),
		box-shadow var(--dc-speed) var(--dc-ease);
}
body :is(
	.elementor-10297 .elementor-element.elementor-element-21b24cd2,
	.elementor-10208 .elementor-element.elementor-element-4b090a53,
	.elementor-10099 .elementor-element.elementor-element-1b3b71a1,
	.elementor-10099 .elementor-element.elementor-element-926e059,
	.elementor-10164 .elementor-element.elementor-element-72f08cb6):hover .qodef-qi-info-cards {
	border-color: var(--e-global-color-secondary);
	transform: translateY(-3px);
	box-shadow: var(--dc-shadow-soft);
}
body :is(
	.elementor-10297 .elementor-element.elementor-element-3a624b34,
	.elementor-10208 .elementor-element.elementor-element-77410ac2,
	.elementor-10099 .elementor-element.elementor-element-767625f7,
	.elementor-10099 .elementor-element.elementor-element-22ad8859,
	.elementor-10164 .elementor-element.elementor-element-2d25102b) .qodef-qi-info-cards {
	background-color: var(--e-global-color-accent);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--dc-radius-card);
	padding: 20px 22px;
	box-shadow: var(--dc-shadow-soft);
	transition: transform var(--dc-speed) var(--dc-ease),
		box-shadow var(--dc-speed) var(--dc-ease);
}
body :is(
	.elementor-10297 .elementor-element.elementor-element-3a624b34,
	.elementor-10208 .elementor-element.elementor-element-77410ac2,
	.elementor-10099 .elementor-element.elementor-element-767625f7,
	.elementor-10099 .elementor-element.elementor-element-22ad8859,
	.elementor-10164 .elementor-element.elementor-element-2d25102b):hover .qodef-qi-info-cards {
	transform: translateY(-3px);
	box-shadow: var(--dc-shadow-lift);
}
body :is(
	.elementor-10297 .elementor-element.elementor-element-3a624b34,
	.elementor-10208 .elementor-element.elementor-element-77410ac2,
	.elementor-10099 .elementor-element.elementor-element-767625f7,
	.elementor-10099 .elementor-element.elementor-element-22ad8859,
	.elementor-10164 .elementor-element.elementor-element-2d25102b) .qodef-qi-info-cards :is(.qodef-m-title, .qodef-m-title a) {
	color: #ffffff;
}
body :is(
	.elementor-10297 .elementor-element.elementor-element-3a624b34,
	.elementor-10208 .elementor-element.elementor-element-77410ac2,
	.elementor-10099 .elementor-element.elementor-element-767625f7,
	.elementor-10099 .elementor-element.elementor-element-22ad8859,
	.elementor-10164 .elementor-element.elementor-element-2d25102b) .qodef-qi-info-cards .qodef-m-text {
	color: rgba(255, 255, 255, 0.88);
}
body :is(
	.elementor-10297 .elementor-element.elementor-element-3a624b34,
	.elementor-10208 .elementor-element.elementor-element-77410ac2,
	.elementor-10099 .elementor-element.elementor-element-767625f7,
	.elementor-10099 .elementor-element.elementor-element-22ad8859,
	.elementor-10164 .elementor-element.elementor-element-2d25102b) .qodef-qi-info-cards :is(.qodef-m-icon-holder, .qodef-m-icon-holder a, .qodef-m-button .qodef-qi-button) {
	color: var(--e-global-color-primary);
}

/* -- §4 PER-DOC DIVERGENCES ----------------------------------------------------- */

/* (10099's abandoned draft section 2bb7f8bb was deleted from the document
   by the conversion runbook — the display:none stopgap left with it) */

/* 10164: photo band gets a touch more presence for its wide testimonial shot */
body .elementor-10164 .elementor-widget-dt-post-title {
	min-height: clamp(240px, 28vw, 360px);
}

/* -- §5 MOBILE (<768px) ----------------------------------------------------------- */

@media (max-width: 767px) {
	body .elementor-widget-post-featured-image img {
		max-height: 300px;
	}
	/* the band is content-sized now — only inset the plate so its radius-24
	   corners read instead of kissing the screen edges (kit zeroes column
	   padding <768, same grammar as the member portrait plates) */
	body .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-dt-post-title) > .elementor-widget-wrap {
		padding-top: 16px;
		padding-inline: 16px;
	}
}

/* -- §6 CONTENT-ONLY DOCS (9811, 10066): masthead + full-width editorial ------
   These two opened with NO masthead and a 50%-EMPTY column (the blank the
   client flagged), and no <h1> at all. tools/nosotros-mastheads gave each a
   real first <h1> (9811 retagged its buried headline; 10066 got eyebrow +
   "Filosofía de atención"). Here that first <h1> becomes the cluster's gradient
   band (§1's dt-post-title recipe), the empty column is dropped, and the doc
   runs full width with readable prose. */

/* drop the empty half; the content column fills the row */
body .elementor-9811 .elementor-element.elementor-element-1ffd2ccc,
body .elementor-10066 .elementor-element.elementor-element-4a622098 {
	display: none;
}
body .elementor-9811 .elementor-element.elementor-element-591ae57c,
body .elementor-10066 .elementor-element.elementor-element-34628a4b {
	width: 100%;
	max-width: 100%;
	flex: 1 1 100%;
}
/* the content column's widget-wrap carried an authored 150px top margin — a
   vertical offset from the 50/50 design that is dead space now it's full
   width. Replace with a sane gap below the header (band starts near the top). */
body .elementor-9811 .elementor-element.elementor-element-591ae57c > .elementor-widget-wrap,
body .elementor-10066 .elementor-element.elementor-element-34628a4b > .elementor-widget-wrap {
	margin-top: 0;
	padding-top: clamp(28px, 4vw, 48px);
}

/* the text-editor runs full width; prose is capped for readability so only the
   band + section headings span the full measure */
body :is(.elementor-9811, .elementor-10066) .elementor-widget-text-editor {
	max-width: none;
}
body :is(.elementor-9811, .elementor-10066) .elementor-widget-text-editor :is(p, ol) {
	max-width: 68ch;
}

/* the eyebrow: 9811's is a real h6 widget (global eyebrow voice already
   applies); 10066's rides inside the text-editor — match the voice here */
body .elementor-10066 .elementor-widget-text-editor h6:first-child {
	font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-weight: 700;
	font-size: var(--dc-fs-eyebrow);
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dc-color-teal-text);
	margin: 0 0 12px;
}

/* the FIRST <h1> IS the gradient band (title-only masthead — §1 recipe, but
   collapsed onto the heading since there is no dt-post-title wrapper here) */
body :is(.elementor-9811, .elementor-10066) .elementor-widget-text-editor h1 {
	position: relative;
	z-index: 0; /* own stacking context so the band's z-1 stays above page bg */
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(200px, 24vw, 320px);
	padding: 32px clamp(24px, 3.5vw, 48px) clamp(32px, 4.5vw, 48px);
	margin: 0 0 36px;
	border-radius: var(--dc-radius-media);
	box-shadow: var(--dc-shadow-soft);
	font-size: clamp(2.6rem, 1.95rem + 2.7vw, 4.125rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: #ffffff;
	max-width: none;
}
body :is(.elementor-9811, .elementor-10066) .elementor-widget-text-editor h1::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: var(--dc-radius-media);
	/* the brand gradient plate (style.css §3 recipe, mirrored from §1) */
	background-color: var(--e-global-color-accent);
	background-image:
		radial-gradient(circle at 78% 24%, rgba(191, 227, 223, 0.38), transparent 52%),
		radial-gradient(circle at 18% 88%, rgba(47, 167, 159, 0.42), transparent 55%),
		linear-gradient(135deg, var(--e-global-color-accent) 0%, var(--dc-color-teal-bright) 100%);
	background-size: cover;
	background-position: center;
}
body :is(.elementor-9811, .elementor-10066) .elementor-widget-text-editor h1::after {
	content: "";
	display: block;
	margin-top: 18px;
	width: 76px;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg,
		var(--dc-color-drop) 0 20px,
		var(--e-global-color-primary) 20px); /* mint body on the dark band */
}
/* the stray closing CTA rows read as loose buttons on a wall of prose — give
   them air above so they land as a deliberate close */
body .elementor-9811 .elementor-element.elementor-element-2642e37,
body .elementor-10066 .elementor-element.elementor-element-08e3570 {
	margin-top: 8px;
}

/* -- §7 FEATURE BULLETS → mint chip rows -------------------------------------
   Plain <ul> bullets in the prose become the homepage's benefit-chip rows (the
   servicios recipe, adapted to text-editor <li>): a mint check-chip + hairline
   row rhythm, bloom to teal on hover. Applies to the belief/pillar lists
   (9811, 10066) and the testimonial highlights (10164). */
body :is(.elementor-9811, .elementor-10066, .elementor-10099, .elementor-10164) .elementor-widget-text-editor ul {
	list-style: none;
	margin: 20px 0 28px;
	padding: 0;
	max-width: 80ch; /* keep chip-row lines readable on the full-width docs */
}
body :is(.elementor-9811, .elementor-10066, .elementor-10099, .elementor-10164) .elementor-widget-text-editor ul li {
	position: relative;
	margin: 0;
	padding: 15px 6px 15px 52px;
	border-block-start: 1px solid var(--e-global-color-d59e8a8);
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--e-global-color-text, #333F46);
}
body :is(.elementor-9811, .elementor-10066, .elementor-10099, .elementor-10164) .elementor-widget-text-editor ul li:first-child {
	border-block-start: 0;
}
body :is(.elementor-9811, .elementor-10066, .elementor-10099, .elementor-10164) .elementor-widget-text-editor ul li::before {
	content: "\2713"; /* ✓ */
	position: absolute;
	left: 0;
	top: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--e-global-color-primary); /* mint */
	color: var(--dc-color-teal-text);
	font-size: 15px;
	font-weight: 700;
	transition: background-color var(--dc-speed) var(--dc-ease),
		color var(--dc-speed) var(--dc-ease);
}
body :is(.elementor-9811, .elementor-10066, .elementor-10099, .elementor-10164) .elementor-widget-text-editor ul li:hover::before {
	background-color: var(--e-global-color-secondary); /* teal bloom */
	color: #ffffff;
}

/* §6/§7 mobile: shrink the band, keep the plate off the screen edges */
@media (max-width: 767px) {
	body :is(.elementor-9811, .elementor-10066) .elementor-widget-text-editor h1 {
		min-height: clamp(150px, 40vw, 220px);
		padding: 24px 20px 26px;
		margin-bottom: 26px;
	}
	body :is(.elementor-9811, .elementor-10066) .elementor-element.elementor-element-591ae57c > .elementor-widget-wrap,
	body :is(.elementor-9811, .elementor-10066) .elementor-element.elementor-element-34628a4b > .elementor-widget-wrap {
		padding-inline: 16px;
	}
	body :is(.elementor-9811, .elementor-10066, .elementor-10099, .elementor-10164) .elementor-widget-text-editor ul li {
		padding-left: 46px;
		font-size: 15px;
	}
}

/* -- §8 SIDEBAR DOCS (10099, 10164): stack to single column + full-width tail -
   Both opened as 50/50 [content | sidebar]. The content ran SHORTER than the
   sidebar (10099 especially) so a big blank opened under it (the client's
   flag), and the masthead band was trapped at half width. Stack the row:
   content takes the full width (band and all), and the sidebar drops below as
   a full-width "Sigue aprendiendo" tail — 3-up posts + the two-tone CTA pair
   (§3b) — matching the other docs' single-column rhythm. */

/* stack the 50/50 row: the flex container must WRAP or the two 100%-basis
   columns just shrink back to 50% on one line */
body :is(
	.elementor-10099 .elementor-element.elementor-element-69ed652c,
	.elementor-10164 .elementor-element.elementor-element-471e7b6a) > .elementor-container {
	flex-wrap: wrap;
}
body :is(
	.elementor-10099 .elementor-element.elementor-element-278aecc9,
	.elementor-10099 .elementor-element.elementor-element-51ad029d,
	.elementor-10164 .elementor-element.elementor-element-57f6636a,
	.elementor-10164 .elementor-element.elementor-element-7a594087) {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
}
/* a clear beat between the content and the tail */
body :is(
	.elementor-10099 .elementor-element.elementor-element-51ad029d,
	.elementor-10164 .elementor-element.elementor-element-7a594087) {
	margin-top: clamp(24px, 4vw, 48px);
}
/* tail layout: the "Sigue aprendiendo" heading + the posts span the full
   width; the two CTA cards sit side by side */
body :is(
	.elementor-10099 .elementor-element.elementor-element-51ad029d,
	.elementor-10164 .elementor-element.elementor-element-7a594087) > .elementor-widget-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: stretch;
}
body :is(
	.elementor-10099 .elementor-element.elementor-element-51ad029d,
	.elementor-10164 .elementor-element.elementor-element-7a594087) > .elementor-widget-wrap > :is(.elementor-widget-heading, .elementor-widget-qi_addons_for_elementor_blog_list) {
	grid-column: 1 / -1;
}
/* the Qi blog grid ran 1-up in the narrow sidebar — 3-up across the tail.
   (.qodef-qi-grid is an inline-block wrapper; the real grid is .qodef-grid-inner) */
body :is(.elementor-10099, .elementor-10164) .elementor-widget-qi_addons_for_elementor_blog_list .qodef-addons-blog-list.qodef-qi-grid {
	display: block;
	width: 100%;
}
/* MIRROR Qi's full col-num selector (grid.min.css:
   .qodef-qi-grid.qodef-layout--qi-columns.qodef-col-num--1 > .qodef-grid-inner,
   plus its predefined-responsive twins) + body prefix, so this wins by one
   type selector at every breakpoint instead of losing to Qi's 4-class rule. */
body :is(.elementor-10099, .elementor-10164) .qodef-qi-grid.qodef-layout--qi-columns.qodef-col-num--1 > .qodef-grid-inner {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
/* the CTA info-cards fill their grid cell (chrome comes from §3b) */
body :is(
	.elementor-10099 .elementor-element.elementor-element-1b3b71a1,
	.elementor-10099 .elementor-element.elementor-element-767625f7,
	.elementor-10164 .elementor-element.elementor-element-72f08cb6,
	.elementor-10164 .elementor-element.elementor-element-2d25102b) {
	width: 100%;
	max-width: 100%;
}
/* the tail heading gained a little top room now it opens a full-width band */
body :is(
	.elementor-10099 .elementor-element.elementor-element-143c614d,
	.elementor-10164 .elementor-element.elementor-element-21ce599b) {
	margin-bottom: 4px;
}

/* §8 tablet/mobile: collapse the tail grid (same mirrored selector so these
   keep winning over Qi's own predefined-responsive col-num rules) */
@media (max-width: 1024px) {
	body :is(.elementor-10099, .elementor-10164) .qodef-qi-grid.qodef-layout--qi-columns.qodef-col-num--1 > .qodef-grid-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	body :is(
		.elementor-10099 .elementor-element.elementor-element-51ad029d,
		.elementor-10164 .elementor-element.elementor-element-7a594087) > .elementor-widget-wrap {
		grid-template-columns: 1fr;
	}
	body :is(.elementor-10099, .elementor-10164) .qodef-qi-grid.qodef-layout--qi-columns.qodef-col-num--1 > .qodef-grid-inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* -- §9 EN QUÉ CREEMOS (9811): belief prose + Dr. Monzón portrait -----------
   The client asked to fill the blank to the RIGHT of the "Se trata de tí"
   belief text with the "Dr. Monzón examinando" photo. tools/en-que-creemos-
   photo split the monolith text-editor 116c48b2 into band-only (its <h1> stays
   the full-width gradient masthead, §6) + prose dcec0101, then added the classic
   image widget dcec0201 (attachment 10439). Column order is now eyebrow · band ·
   prose · photo · button. Desktop (≥768): the content column's widget-wrap
   becomes a grid — eyebrow + band span the full measure, then the prose sits
   LEFT beside the tall portrait RIGHT, with the button under the prose. Mobile
   keeps the natural single-column stack (grid is ≥768 only). Image srcset/sizes/
   loading are tuned in functions.php (dc_creemos_image_attrs). */

@media (min-width: 768px) {
	body .elementor-9811 .elementor-element.elementor-element-591ae57c > .elementor-widget-wrap {
		display: grid;
		grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
		column-gap: clamp(28px, 3.4vw, 56px);
		row-gap: 0;
		align-items: start;
		grid-template-areas:
			"eyebrow eyebrow"
			"band    band"
			"prose   photo"
			"button  photo";
	}
	/* neutralise the kit's inter-widget margins so the grid rows are deterministic;
	   the vertical rhythm comes from each widget's OWN inner type spacing (the
	   band <h1>'s 36px, the prose <ul>'s margins) which the reset leaves intact */
	body .elementor-9811 .elementor-element-591ae57c > .elementor-widget-wrap > .elementor-element {
		margin-block: 0;
		width: auto;
		max-width: none;
	}
	body .elementor-9811 .elementor-element-591ae57c > .elementor-widget-wrap > .elementor-element-1067eea0 { grid-area: eyebrow; }
	body .elementor-9811 .elementor-element-591ae57c > .elementor-widget-wrap > .elementor-element-116c48b2 { grid-area: band; }
	body .elementor-9811 .elementor-element-591ae57c > .elementor-widget-wrap > .elementor-element-dcec0101 { grid-area: prose; }
	body .elementor-9811 .elementor-element-591ae57c > .elementor-widget-wrap > .elementor-element-7a0ea51 {
		grid-area: button;
		align-self: start;
		margin-top: 6px;
	}
	/* the portrait fills the prose+button height as one tall media plate */
	body .elementor-9811 .elementor-element-591ae57c > .elementor-widget-wrap > .elementor-element-dcec0201 {
		grid-area: photo;
		align-self: stretch;
		min-height: 460px;
	}
	body .elementor-9811 .elementor-element-dcec0201 img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 16%; /* hold Dr. Monzón's face as the tall crop tightens */
		border-radius: var(--dc-radius-media);
		box-shadow: var(--dc-shadow-soft);
		display: block;
	}
}

/* mobile: the portrait rides inline between the prose and the CTA as a friendly
   4:5 block (the full 2:3 is too tall at 375) */
@media (max-width: 767px) {
	body .elementor-9811 .elementor-element-dcec0201 {
		margin: 8px 0 24px;
	}
	body .elementor-9811 .elementor-element-dcec0201 img {
		width: 100%;
		aspect-ratio: 4 / 5;
		height: auto;
		object-fit: cover;
		object-position: 50% 16%;
		border-radius: var(--dc-radius-media);
		box-shadow: var(--dc-shadow-soft);
		display: block;
	}
}

/* a gentle house entrance for the portrait — gated on motion-safe + view-timeline
   support so no-support browsers just show the static photo (style.css §5 also
   carries the global reduced-motion kill switch) */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		body .elementor-9811 .elementor-element-dcec0201 {
			animation: dc-creemos-photo-rise linear both;
			animation-timeline: view();
			animation-range: entry 6% cover 24%;
		}
	}
}
@keyframes dc-creemos-photo-rise {
	from { opacity: 0; transform: translateY(26px); }
	to   { opacity: 1; transform: none; }
}

/* -- §10 QUIÉNES SOMOS (10297): the founders' portrait duo -------------------
   The client asked for the two founders' photos to sit under the "Los
   Fundadores de Diabetcentro" heading, as part of the story the page tells.
   tools/quienes-somos-fundadores spliced a <div class="dc-fundadores"> with two
   <figure class="dc-fundador"> INTO the article text-editor 12b14e7f, right
   after the paragraph that names them — so the duo is a full-measure band
   between two paragraphs (no widget split needed, unlike §9).

   Each figure is the site card system (style.css §3) at portrait proportions:
   white ground, hairline, radius-card, the 4:5 photo bleeding to the card edge,
   caption underneath in the data-label + subhead voices. The name is a
   STRETCHED link over its whole card (one link per card, keyboard-reachable),
   pointing at that founder's profile page.

   The two portraits were cut to matched 4:5 crops (same face scale, same head
   position) so the pair reads as one shoot — see crop-sources.php in the tool. */

body .elementor-10297 .dc-fundadores {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(14px, 1.8vw, 24px);
	margin: 20px 0 28px;
}

body .elementor-10297 .dc-fundador {
	position: relative; /* containing block for the stretched link */
	display: flex;
	flex-direction: column;
	margin: 0;
	background: #fff;
	border: 1px solid var(--dc-border);
	border-radius: var(--dc-radius-card);
	overflow: hidden; /* the media bleeds to the card edge */
	transition:
		transform var(--dc-speed) var(--dc-ease),
		border-color var(--dc-speed) var(--dc-ease),
		box-shadow var(--dc-speed) var(--dc-ease);
}

body .elementor-10297 .dc-fundador__foto {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	height: auto;
	object-fit: cover;
	object-position: 50% 18%; /* both faces sit high in the crop */
	border-radius: 0;
	transition: transform 240ms var(--dc-ease);
}

body .elementor-10297 .dc-fundador__pie {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 13px clamp(13px, 1.3vw, 18px) 15px;
	font-style: normal; /* Elementor reset.css italicises every figcaption */
}

/* role — the data-label voice */
body .elementor-10297 .dc-fundador__rol {
	font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--dc-color-teal-text);
}

/* name — the subhead voice; the prose <a> border/colour is overridden here */
body .elementor-10297 .dc-fundador__nombre,
body .elementor-10297 .elementor-widget-text-editor a.dc-fundador__nombre {
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
	line-height: 1.25;
	font-weight: 600;
	color: var(--e-global-color-accent);
	text-decoration: none;
	border-bottom: 0;
	transition: color var(--dc-speed) var(--dc-ease);
}
/* stretched link: the whole card is the target, the anchor stays the only one */
body .elementor-10297 .dc-fundador__nombre::after {
	content: "";
	position: absolute;
	inset: 0;
}

body .elementor-10297 .dc-fundador__meta {
	font-size: 0.82rem;
	line-height: 1.4;
	color: var(--dc-text-muted);
}

/* house card physics — :focus-within keeps it keyboard-visible */
body .elementor-10297 .dc-fundador:hover,
body .elementor-10297 .dc-fundador:focus-within {
	transform: translateY(-3px);
	border-color: var(--e-global-color-primary);
	box-shadow: var(--dc-shadow-soft);
}
body .elementor-10297 .dc-fundador:hover .dc-fundador__foto,
body .elementor-10297 .dc-fundador:focus-within .dc-fundador__foto {
	transform: scale(1.03);
}
body .elementor-10297 .dc-fundador:hover .dc-fundador__nombre,
body .elementor-10297 .dc-fundador:focus-within .dc-fundador__nombre {
	color: var(--dc-color-teal-text);
}

/* mobile: the pair STAYS 2-up (they read as a pair, and the brief asked for
   small/mid images) — only the caption tightens so the long second name fits */
@media (max-width: 767px) {
	body .elementor-10297 .dc-fundadores {
		gap: 12px;
		margin: 16px 0 24px;
	}
	body .elementor-10297 .dc-fundador__pie {
		padding: 11px 12px 13px;
	}
	body .elementor-10297 .dc-fundador__rol {
		font-size: 0.66rem;
		letter-spacing: 0.07em;
	}
	body .elementor-10297 .dc-fundador__meta {
		font-size: 0.76rem;
	}
}

/* a gentle house entrance, staggered — animates `translate` (NOT `transform`)
   so the hover lift still composes on top of the finished animation */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		body .elementor-10297 .dc-fundador {
			animation: dc-fundador-rise linear both;
			animation-timeline: view();
			animation-range: entry 4% entry 54%;
		}
		body .elementor-10297 .dc-fundador:nth-child(2) {
			animation-range: entry 14% entry 64%;
		}
	}
}
@keyframes dc-fundador-rise {
	from { opacity: 0; translate: 0 26px; }
	to   { opacity: 1; translate: 0 0; }
}
