/* ============================================================
   Serena Psicología — what the native markup still read from Elementor's
   global sheets, for the day Elementor is not loaded (#170, F5).

   Enqueued ONLY when Elementor is not loaded (`! defined( 'ELEMENTOR_VERSION' )`)
   and in the same three calls that ask for the kit (`post-9.css`) today —
   inc/serena-native-templates.php, inc/serena-blocks.php and
   inc/serena-native-archive.php — so it reaches exactly the routes the kit
   reaches and prints where the kit printed. With Elementor loaded it is never
   referenced: the HTML is byte for byte master's.

   ## Only what the measurement proved, one rule per finding

   Method (#170 Gate 2): the same bench, the same tree, Elementor loaded against
   Elementor not loaded; `measure.cjs` on 22 routes at 390 and 1440, every text
   box's family, weight, size, line height and spacing. A rule is here only if
   its absence moved a measured box — or, for the states a resting capture does
   not see (r3, last section), changed a computed value. Everything else in `post-9.css` and
   `custom-frontend.min.css` was measured inert (the 31 `--e-global-*`
   variables have no consumer; nothing carries `.e-con` or
   `.elementor-section-boxed`) and is NOT reproduced.

   Each rule keeps the SPECIFICITY of its source, so the theme rules already
   written to beat it (serena-blocks.css `.serena-itc .serena-itc__title`,
   serena-templates.css `body.single-psicologa .serena-ficha__h`) keep beating it.
   ============================================================ */

/* ---- post-9.css (the global kit, document 9), rule
   `@media(max-width:767px){.elementor-kit-9 h3{font-size:30px;line-height:1.2em;}}`.
   Measured without it at 390 px: /aviso-legal/ (5 h3) and /psicologa/alejandra-mencias/
   (3 h3) dropped to Bridge's 26px / 44px (and 20px / 28px). `.elementor-kit-9` is a
   body class, specificity (0,1,1); `.wp-child-theme-bridge-child` is the body class
   WordPress gives every route of this child theme, same specificity. The scope is the
   enqueue, as it was for the kit. */
@media (max-width: 767px) {
	.wp-child-theme-bridge-child h3 {
		font-size: 30px;
		line-height: 1.2em;
	}
}

/* ---- custom-frontend.min.css (Elementor's generic frontend sheet, handle elementor-frontend-css; prod md5
   a0d4113928d951a4aa3bed915420fdb0) — the rules that change BEHAVIOUR on these routes, not the resting
   picture: a capture at rest cannot see them, so #170 Gate 2 r3 measured them in the browser, Elementor
   loaded against not loaded, same bench and tree (evidence r3-blog/: sonda-reglas-dinamicas.cjs lists the
   rules of the two Elementor sheets with an interaction pseudo-class or a behaviour property whose selector
   matches the native markup on the 22 routes of measure.cjs; sonda-estados.cjs and sonda-boton.cjs measure
   the computed result, with :hover / :focus / :focus-visible forced and with prefers-reduced-motion on and off).
   Only the declarations whose absence changed a computed value are here, each with its source selector, so
   specificity and order are the source's. Rules of that sheet already overridden by the theme or swbn_forms
   (the button's colour, background, padding; the placeholder) measured equal and are NOT reproduced. */

/* `.elementor-column{display:flex;min-height:1px;position:relative}` — the columns of the swbn_forms forms
   (`elementor-column elementor-col-XX`, render.php). Without it the text of the contact form's «Enviar» on
   /contacto/ (and the footer's on the other routes) paints with other antialiasing: 448 AE at 1280, a 66×12 box
   at x 972-1038, the same in both repetitions, control 0. Found by bisection over the 257 rules of the sheet
   (r3-blog/biseccion-enviar.mjs) and isolated to `position: relative` (props-enviar.mjs); the whole source rule
   is kept so the columns are what they are today for absolutely positioned descendants too. */
.elementor-column {
	display: flex;
	min-height: 1px;
	position: relative;
}

/* `.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{height:1px;margin:-1px;
   overflow:hidden;padding:0;position:absolute;top:-10000em;width:1px;clip:rect(0,0,0,0);border:0}` — the visually hidden
   labels of the swbn_forms fields (`elementor-field-label elementor-screen-only`). Invisible either way, but without it the
   label sits at its place in the form instead of 10000em above the page (r3-cajas: the footer label's box, y 1507 against
   -158492 at 1280). The whole source rule, as #170 names `.elementor-screen-only`. */
.elementor-screen-only,
.screen-reader-text,
.screen-reader-text span,
.ui-helper-hidden-accessible {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: -10000em;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* `.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option{flex-basis:100%}` — each option of a
   checkbox / acceptance group (the consent of the page forms) takes the whole row: measured on /contacto/ at 1280 the
   option's box is 880 px wide with it and 478 without (r3-cajas). */
.elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option {
	flex-basis: 100%;
}

/* `@media (min-width:768px){.elementor-column.elementor-col-10,.elementor-column[data-col="10"]{width:10%} … .elementor-col-100…{width:100%}}`
   — the column widths of the swbn_forms forms, the whole block as the source has it (#170 names `elementor-column
   elementor-col-XX`). swbn-forms.css already sets the widths it uses in the footer; the consent row (`elementor-col-100`)
   it does not: measured at 1280, that row is 915 px wide with the block and 600 without (r3-cajas, reglas-nodo.cjs). */
@media (min-width: 768px) {
	.elementor-column.elementor-col-10,
	.elementor-column[data-col="10"] {
		width: 10%;
	}
	.elementor-column.elementor-col-11,
	.elementor-column[data-col="11"] {
		width: 11.111%;
	}
	.elementor-column.elementor-col-12,
	.elementor-column[data-col="12"] {
		width: 12.5%;
	}
	.elementor-column.elementor-col-14,
	.elementor-column[data-col="14"] {
		width: 14.285%;
	}
	.elementor-column.elementor-col-16,
	.elementor-column[data-col="16"] {
		width: 16.666%;
	}
	.elementor-column.elementor-col-20,
	.elementor-column[data-col="20"] {
		width: 20%;
	}
	.elementor-column.elementor-col-25,
	.elementor-column[data-col="25"] {
		width: 25%;
	}
	.elementor-column.elementor-col-30,
	.elementor-column[data-col="30"] {
		width: 30%;
	}
	.elementor-column.elementor-col-33,
	.elementor-column[data-col="33"] {
		width: 33.333%;
	}
	.elementor-column.elementor-col-40,
	.elementor-column[data-col="40"] {
		width: 40%;
	}
	.elementor-column.elementor-col-50,
	.elementor-column[data-col="50"] {
		width: 50%;
	}
	.elementor-column.elementor-col-60,
	.elementor-column[data-col="60"] {
		width: 60%;
	}
	.elementor-column.elementor-col-66,
	.elementor-column[data-col="66"] {
		width: 66.666%;
	}
	.elementor-column.elementor-col-70,
	.elementor-column[data-col="70"] {
		width: 70%;
	}
	.elementor-column.elementor-col-75,
	.elementor-column[data-col="75"] {
		width: 75%;
	}
	.elementor-column.elementor-col-80,
	.elementor-column[data-col="80"] {
		width: 80%;
	}
	.elementor-column.elementor-col-83,
	.elementor-column[data-col="83"] {
		width: 83.333%;
	}
	.elementor-column.elementor-col-90,
	.elementor-column[data-col="90"] {
		width: 90%;
	}
	.elementor-column.elementor-col-100,
	.elementor-column[data-col="100"] {
		width: 100%;
	}
}

/* `@media (max-width:767px){… .elementor-column{width:100%}}` — below 768 every form column is a full row. The block's other
   rules (`.elementor-reverse-mobile …{order:…}`) match no element of the 372 routes and are not reproduced. Measured at
   320 and 390: without it the footer form's Turnstile row drops below the consent row (x 377.5 → 12.5, y +60/+86; r3-cajas). */
@media (max-width: 767px) {
	.elementor-column {
		width: 100%;
	}
}

/* `.elementor-field-group{align-items:center;flex-wrap:wrap}` — the field rows of the forms. Measured: without it the
   Turnstile row of the footer form (`elementor-field-group swbn-turnstile`, where the widget renders in production) moves
   315 px left at 1280 (x 1097.5 against 782.5; r3-cajas). */
.elementor-field-group {
	align-items: center;
	flex-wrap: wrap;
}

/* `@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}`. Without it the page jumps
   instead of gliding on every anchor link and scripted scroll; measured on /blog/: a scroll pass in 400 px
   steps reached the infinite-scroll anchor and loaded page 2 (and 3) — with the rule it does not. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* `@media (prefers-reduced-motion:reduce){.animated{animation:none!important}html *{transition-delay:0s!important;transition-duration:0s!important}}`:
   a visitor who asks the system for reduced motion gets no transition (and no `.animated` animation) on these routes today.
   The whole block, as the source has it. */
@media (prefers-reduced-motion: reduce) {
	.animated {
		animation: none !important;
	}

	html * {
		transition-delay: 0s !important;
		transition-duration: 0s !important;
	}
}

/* `.elementor-button{…;transition:all .3s}`: the footer form's «Suscribirme» (and every swbn_forms submit)
   fades to its hover / focus colour in 0.3 s instead of switching at once. Only the transition: its other
   declarations lose to swbn-forms.css and serena-footer.css (measured). */
.elementor-button {
	transition: all .3s;
}

/* `.elementor-field-group .elementor-field-textual:focus{box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:0}`:
   a focused field of the footer form (and of the page forms) shows a faint inset line, not the browser's
   focus ring. */
.elementor-field-group .elementor-field-textual:focus {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
	outline: 0;
}

/* `.elementor-field-label{cursor:pointer}`: the form labels show the pointer. */
.elementor-field-label {
	cursor: pointer;
}

/* `.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container,
   .elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)){transition:…}`:
   the reviews widget (swbn_reviews_customers prints Elementor's widget classes; home and the landings) animates
   its container's background, border, radius, shadow and transform. The whole selector list, as the source has it. */
.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container,
.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)) {
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s, transform var(--e-transform-transition-duration, .4s);
}
