/*!*******************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/style.css ***!
  \*******************************************************************************************************************************************************************/
/**
 * Tipologías Viewer — Frontend styles.
 *
 * Owns sub-group visibility and button resets so this works independently
 * of any theme CSS cascade.
 */

.tipologias-viewer {
	position: relative;
}

/* padding-top absorbs the "considerable margin" before the heading
   (previously a real margin-bottom on the hero, which — being outside both
   the hero's own box and this one — was never covered by either
   background, showing as a flat, uncovered seam). */

.tipologias-viewer__sector {
	position: relative;
	isolation: isolate;
	padding-top: 100px;
}

/* Fase cards "hero" — header + fase cards get their own background image and
   height (~90-95vh), completely separate from the radial gradient above,
   which is left to cover .tipologias-viewer__sector-intro onward as before.
   The image itself lives on ::before, full-bleed via the same 100vw escape
   trick as the gradient above, so this element's own box can stay a normal,
   width-constrained flex column for the header/cards content. */

.tipologias-viewer__fase-hero {
	position: relative;
	isolation: isolate;
	min-height: 92vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--wp--preset--spacing--px-64, 4rem);
	padding-block: var(--wp--preset--spacing--px-80, 5rem);
	box-sizing: border-box;
}

.tipologias-viewer__fase-hero::before {
	content: '';
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 50%;
	top: 0;
	margin-left: -50vw;
	background-image: var(--pwb-fase-hero-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -1;
}

/* Capa oscura al 55 % sobre la imagen de fondo: DESACTIVADA (comentada, no
   eliminada) para que la imagen se vea con su brillo natural. Quitar los
   comentarios si la imagen que se use la necesita.
.tipologias-viewer__fase-hero::after {
	content: '';
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 50%;
	top: 0;
	margin-left: -50vw;
	background: rgba(12, 17, 23, 0.55);
	z-index: -1;
}
*/

/* Panel oscuro tras el texto de la cabecera (sobrecabecera, título y
   subtítulo), del mismo ancho que la fila de tarjetas (sus bordes izquierdo y
   derecho coinciden). Se aplica con el modificador
   .tipologias-viewer__fase-hero--text-panel del contenedor (render.php, en
   src/ y build/); quitándolo se desactiva sin tocar este CSS. Las tarjetas ya
   tienen fondo propio. */

.tipologias-viewer__fase-hero--text-panel .roi__header {
	padding: var(--wp--preset--spacing--px-24, 1.5rem) var(--wp--preset--spacing--px-40, 2.5rem);
	background: rgba(12, 17, 23, 0.3);
	border-radius: var(--wp--custom--radius--xl, 16px);
	box-sizing: border-box;
}

@media (max-width: 640px) {
	.tipologias-viewer__fase-hero--text-panel .roi__header {
		padding: var(--wp--preset--spacing--px-16, 1rem) var(--wp--preset--spacing--px-20, 1.25rem);
	}
}

/* Reset native <button> chrome for ROI-style cards and sub-buttons.
   box-sizing: border-box is included explicitly because .tipologias-viewer__fase-btn
   is now a <div role="button"> (it nests its own download button, and a
   <button> can't contain another <button> — see render.php): browsers give
   <button> border-box by default via their UA stylesheet, but not <div>, so
   the same width: 100% + padding that fit fine as a button started
   overflowing its grid column once padding was added on top instead of
   included. */

.tipologias-viewer__fase-btn,
.tipologias-viewer__sub-btn {
	-moz-appearance: none;
	     appearance: none;
	-webkit-appearance: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	text-align: left;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	display: block;
}

/* There is only ever one .tipologias-viewer__sub-group now (fases and
   tipologías are independent sections — no more one group per fase), always
   rendered with .is-visible; the bare, hidden-by-default rule below is just
   defensive in case that class is ever missing. */

.tipologias-viewer__sub-group {
	display: none;
}

.tipologias-viewer__sub-group.is-visible {
	display: grid;
}

/* Content area loading state */

.tipologias-viewer__content {
	transition: opacity 0.2s ease;
	padding-top: var(--wp--preset--spacing--px-48, 3rem);
	padding-inline: max(20px, 5vw);
}

.tipologias-viewer__content[aria-busy="true"] {
	opacity: 0.5;
	pointer-events: none;
}

/* ---- Row 1: Tipología info ---- */

.tipologias-viewer__tipologia-row {
	display: grid;
	grid-template-columns: 2fr 3fr;
	grid-template-areas: "desc kpis";
	-moz-column-gap: var(--wp--preset--spacing--px-48, 3rem);
	     column-gap: var(--wp--preset--spacing--px-48, 3rem);
	padding-bottom: var(--wp--preset--spacing--px-64, 4rem);
}

.tipologias-viewer__tipologia-desc {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: desc;
	color: rgba(255, 255, 255, 0.75);
	font-size: var(--wp--preset--font-size--sm-plus, 0.9375rem);
	line-height: 1.75;
}

.tipologias-viewer__tipologia-desc p {
	margin: 0;
}

.tipologias-viewer__kpis {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
	grid-area: kpis;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--px-24, 1.5rem);
	align-content: center;
}

.tipologias-viewer__kpi-card {
	background: var(--wp--preset--color--custom-pwb-dark-navy-accent, var(--wp--preset--color--custom-pwb-dark-navy-accent, #151c31));
	border-radius: var(--wp--custom--radius--md, 8px);
	padding: 50px;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--px-16, 1rem);
	margin: var(--wp--preset--spacing--px-20, 1.25rem);
}

.tipologias-viewer__kpi-value {
	font-family: var(--wp--preset--font-family--sora);
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	font-weight: 700;
	color: var(--wp--preset--color--custom-pwb-primary-color, var(--wp--preset--color--custom-pwb-primary-color, #ff9900));
	line-height: 1;
}

.tipologias-viewer__kpi-label {
	font-size: var(--wp--preset--font-size--sm, 14px);
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.4;
}

/* ---- Row 2: Caso de éxito ---- */

.tipologias-viewer__caso-row {
	padding-top: var(--wp--preset--spacing--px-64, 4rem);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-bottom: var(--wp--preset--spacing--px-32, 2rem);
}

.tipologias-viewer__caso-overline {
	font-family: var(--wp--preset--font-family--sora);
	font-size: var(--wp--custom--font-size--base, 1rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--custom-pwb-primary-color, var(--wp--preset--color--custom-pwb-primary-color, #ff9900));
	margin: 0 0 var(--wp--preset--spacing--px-8, 0.5rem);
	line-height: 1;
}

.tipologias-viewer__caso-title {
	font-family: var(--wp--preset--font-family--sora);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
	color: var(--wp--custom--color--white, #ffffff);
	line-height: 1.2;
	margin: 0 0 var(--wp--preset--spacing--px-40, 2.5rem);
}

.tipologias-viewer__caso-body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--px-48, 3rem);
	align-items: start;
}

.tipologias-viewer__caso-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--wp--custom--radius--md, 8px);
}

.tipologias-viewer__caso-text {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--px-20, 1.25rem);
}

.tipologias-viewer__caso-subtitle {
	font-family: var(--wp--preset--font-family--sora);
	font-size: var(--wp--custom--font-size--md, 1.125rem);
	font-weight: 700;
	color: var(--wp--custom--color--white, #ffffff);
	margin: 0;
	line-height: 1.4;
}

.tipologias-viewer__caso-desc {
	color: rgba(255, 255, 255, 0.75);
	font-size: var(--wp--preset--font-size--sm-plus, 0.9375rem);
	line-height: 1.75;
}

.tipologias-viewer__caso-desc p {
	margin: 0;
}

.tipologias-viewer__caso-download {
	align-self: center;
}

/* Extra specificity (over a single class) so this reliably wins over
   .pwb-btn-outline's own display:inline-block regardless of CSS load
   order — inline-block ignores margin:auto centering entirely. block +
   width: fit-content keeps it sized to its own label instead of stretching
   to the card's full width, while margin:auto still centers it. */

.tipologias-viewer__fase-btn .tipologias-viewer__fase-caso-download {
	position: relative;
	z-index: 1; /* above the fase card's ::before gradient border layer */
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin: var(--wp--preset--spacing--px-20, 1.25rem) auto 0;
}

/* "Ver demo" is a plain <a>, not a <button> — :disabled never matches an
   anchor, so the inactive-card look is keyed off the same .is-active class
   the active one uses instead. */

.tipologias-viewer__fase-caso-download:not(.is-active) {
	opacity: 0.5;
	cursor: not-allowed;
	/* Also removes :hover entirely — otherwise it still matches :hover (and
	   picks up .pwb-btn-outline:hover's opacity) just from the mouse sitting
	   over it, even though it can't be clicked. */
	pointer-events: none;
}

/* Previews the still-disabled link at the same strength as the card's own
   text (rgba(255,255,255,0.75)) while the card itself is hovered — pointer-events:none
   above means it can never match :hover on its own, so this keys off the
   card's hover instead. */

.roi__card:hover .tipologias-viewer__fase-caso-download:not(.is-active) {
	opacity: 0.75;
}

/* Active card's link — same filled look as the theme's default button
   (theme.json's "elements.button"), reproduced locally instead of applying
   the real wp-block-button__link class: see the comment in render.php for
   why that class isn't safe to reuse here. */

.tipologias-viewer__fase-caso-download.is-active {
	background-color: var(--wp--preset--color--custom-pwb-primary-color);
	border-color: transparent;
	color: var(--wp--preset--color--custom-pwb-dark-navy-accent);
}

/* Overrides .pwb-btn-outline:hover's opacity:0.8 — meant for the plain
   outline look, it faded this filled button to a washed-out orange on
   hover instead of the solid color a filled button should keep. */

.tipologias-viewer__fase-caso-download.is-active:hover {
	opacity: 1;
}

/* The card itself is only clickable to *switch* fase — once it's already
   the active one, clicking it (selectFase no-ops) does nothing, so only
   its still-enabled "Ver demo" link should invite a click. The link's own
   cursor: pointer (from .pwb-btn-outline) isn't affected: an element's own
   declared value always wins over an inherited one. */

.tipologias-viewer__fase-btn.is-active {
	cursor: default;
}

/* Same reasoning as the fase card above: clicking the already-active
   tipología (selectTypology no-ops) does nothing, so it shouldn't invite
   a click either. Overrides .roi__sub-btn's own unconditional cursor: pointer. */

.roi__sub-btn.is-active {
	cursor: default;
}

/* Same treatment as the fase card's own nested download button — extra
   specificity to reliably win over .pwb-btn-outline's own
   display:inline-block (which ignores margin:auto centering entirely), and
   width: fit-content so it stays sized to its label instead of stretching
   to the sub-button's full width. */

.tipologias-viewer__sub-btn .tipologias-viewer__tipologia-caso-download {
	position: relative;
	z-index: 1;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin: var(--wp--preset--spacing--px-16, 1rem) auto 0;
}

.tipologias-viewer__sub-btn-desc {
	margin: var(--wp--preset--spacing--px-8, 0.5rem) 0 0;
	font-size: var(--wp--preset--font-size--sm-plus, 0.9375rem);
	line-height: 1.5;
	/* Same strength as .tipologias-viewer__tipologia-desc below — was 0.6. */
	color: rgba(255, 255, 255, 0.75);
}

/* Purely explicit affordance for the card's existing click-to-open behavior
   (see the comment in render.php) — spacing only, no color/text-decoration
   here: the .pwb-footer-link class (render.php) already provides the same
   link treatment used in the footer. inline-block, not block: sizes to its
   own text instead of stretching the full card width (so the clickable/
   hover area only covers "Saber más" itself, not the empty rest of the
   line), while still respecting margin-top — a plain inline <a> would
   ignore it. */

.tipologias-viewer__sub-btn-more {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--px-12, 0.75rem);
	font-size: var(--wp--preset--font-size--xs-plus, 0.8125rem);
}

.tipologias-viewer__tipologia-caso-download:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

/* Same preview-on-hover as the fase card's own download link — see the
   comment there. */

.roi__sub-btn:hover .tipologias-viewer__tipologia-caso-download:disabled {
	opacity: 0.75;
}

.tipologias-viewer__tipologia-caso-download.is-active {
	background-color: var(--wp--preset--color--custom-pwb-primary-color);
	border-color: transparent;
	color: var(--wp--preset--color--custom-pwb-dark-navy-accent);
}

/* Same override as the fase card's own download link — see the comment there. */

.tipologias-viewer__tipologia-caso-download.is-active:hover {
	opacity: 1;
}

/* Intro copy between the fase cards and the tipología buttons — spans the
   full grid (it's a sibling of .roi__card/.roi__sub-buttons inside the same
   .roi__cards grid), reusing .roi__title/.roi__subtitle/.overline as-is for
   visual consistency with the section header above the fase cards. */

.tipologias-viewer__sector-intro {
	grid-column: 1 / -1;
	text-align: center;
	padding: var(--wp--preset--spacing--px-24, 1.5rem) 0;
}

/* ---- "Descargar caso de éxito" lead capture modal ----
   Same visual language as powerbim-roi's .pwb-roi__modal-*, duplicated
   under its own pwb-caso__ prefix since this plugin can't depend on the
   ROI plugin's stylesheet being loaded. */

.pwb-caso__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--px-8, 0.5rem);
	padding: var(--wp--preset--spacing--px-8, 0.5rem) var(--wp--preset--spacing--px-24, 1.5rem);
	border-radius: var(--wp--custom--radius--sm, 4px);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--custom--font-size--base, 1rem);
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
	border: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
	text-decoration: none;
}

.pwb-caso__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.pwb-caso__btn:active:not(:disabled) {
	transform: scale(0.98);
}

.pwb-caso__btn--primary {
	background: var(--wp--preset--color--custom-pwb-primary-color);
	color: var(--wp--preset--color--custom-pwb-dark-navy-accent, #151c31);
}

.pwb-caso__btn--primary:hover:not(:disabled) {
	opacity: 0.8;
}

.pwb-caso__btn--ghost {
	background: transparent;
	color: rgba(255, 255, 255, 0.55);
	font-weight: 500;
}

.pwb-caso__btn--ghost:hover {
	color: var(--wp--custom--color--white, #ffffff);
}

.pwb-caso__modal-overlay {
	position: fixed;
	inset: 0;
	z-index: var(--wp--custom--z-index--modal, 9999);
	background: rgba(0, 0, 0, 0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	padding: var(--wp--preset--spacing--px-20, 1.25rem);
	box-sizing: border-box;
}

/* The lead-capture modal can open from a button inside the tipología
   content modal (both share this class, both end up as <body> children —
   see view.js) — without a higher z-index, equal-z-index siblings stack by
   DOM order, so the content modal (appended second) would sit on top and
   swallow every click meant for this one. */

#pwCasoModal {
	z-index: var(--wp--custom--z-index--modal-top, 10000);
}

.pwb-caso__modal {
	background: var(--wp--preset--color--custom-pwb-secondary-background, #161d27);
	border: 1px solid var(--wp--custom--color--border, #2a2f37);
	border-radius: var(--wp--custom--radius--2-xl, 20px);
	padding: var(--wp--preset--spacing--px-32, 2rem);
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	max-height: 90dvh;
	overflow-y: auto;
	box-shadow: var(--wp--preset--shadow--pwb-modal, 0 24px 64px rgba(0, 0, 0, 0.5));
}

.pwb-caso__modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--wp--preset--spacing--px-16, 1rem);
}

.pwb-caso__modal-title {
	font-family: var(--wp--preset--font-family--sora);
	font-size: var(--wp--custom--font-size--md, 1.125rem);
	font-weight: 700;
	color: var(--wp--custom--color--text, #f5f6f8);
}

.pwb-caso__modal-close {
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--wp--custom--color--text-muted, #7b8290);
	font-size: var(--wp--custom--font-size--base, 1rem);
	padding: var(--wp--preset--spacing--px-4, 0.25rem);
	line-height: 1;
	transition: color 0.15s;
}

.pwb-caso__modal-close:hover {
	color: var(--wp--custom--color--text, #f5f6f8);
}

.pwb-caso__modal-intro {
	font-size: var(--wp--preset--font-size--xs-plus, 0.8125rem);
	color: var(--wp--custom--color--text-soft, #c8cdd6);
	line-height: 1.5;
	margin: 0 0 var(--wp--preset--spacing--px-20, 1.25rem);
}

.pwb-caso__modal-body {
	margin-bottom: var(--wp--preset--spacing--px-24, 1.5rem);
}

.pwb-caso__modal-form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--px-16, 1rem);
}

.pwb-caso__modal-field {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--px-6, 0.375rem);
}

.pwb-caso__modal-label {
	font-size: var(--wp--preset--font-size--xs-plus, 0.8125rem);
	font-weight: 600;
	color: var(--wp--custom--color--text-soft, #c8cdd6);
}

.pwb-caso__modal-optional {
	font-weight: 400;
	color: var(--wp--custom--color--text-muted, #7b8290);
}

.pwb-caso__modal-input {
	background: var(--wp--preset--color--custom-pwb-main-background, #0c1117);
	border: 1.5px solid var(--wp--custom--color--border, #2a2f37);
	border-radius: var(--wp--custom--radius--md-plus, 10px);
	padding: var(--wp--preset--spacing--px-10, 0.625rem) var(--wp--preset--spacing--px-14, 0.875rem);
	font-family: var(--wp--preset--font-family--inter);
	font-size: var(--wp--preset--font-size--sm-plus, 0.9375rem);
	color: var(--wp--custom--color--text, #f5f6f8);
	outline: none;
	transition: border-color 0.15s;
}

.pwb-caso__modal-input::-moz-placeholder {
	color: #4A5060;
}

.pwb-caso__modal-input::placeholder {
	color: #4A5060;
}

.pwb-caso__modal-input:focus {
	border-color: var(--wp--preset--color--custom-pwb-primary-color, #ff9900);
}

.pwb-caso__modal-input--error {
	border-color: var(--wp--custom--color--danger, #ff4d6a);
}

.pwb-caso__modal-input--error:focus {
	border-color: var(--wp--custom--color--danger, #ff4d6a);
}

.pwb-caso__modal-hint {
	font-size: var(--wp--preset--font-size--xs, 12px);
	color: var(--wp--custom--color--text-muted, #7b8290);
}

.pwb-caso__modal-hint--error {
	color: var(--wp--custom--color--danger, #ff4d6a);
}

.pwb-caso__modal-checkbox-field {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--px-10, 0.625rem);
	cursor: pointer;
}

.pwb-caso__modal-field + .pwb-caso__modal-checkbox-field {
	margin-top: var(--wp--preset--spacing--px-4, 0.25rem);
}

.pwb-caso__modal-checkbox {
	margin-top: var(--wp--preset--spacing--px-2, 0.125rem);
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	accent-color: var(--wp--preset--color--custom-pwb-primary-color, #ff9900);
	cursor: pointer;
}

.pwb-caso__modal-checkbox-label {
	font-size: var(--wp--preset--font-size--xs, 12px);
	line-height: 1.5;
	color: var(--wp--custom--color--text-soft, #c8cdd6);
}

.pwb-caso__modal-actions {
	display: flex;
	gap: var(--wp--preset--spacing--px-10, 0.625rem);
	justify-content: flex-end;
	flex-wrap: wrap;
}

.pwb-caso__modal-thanks {
	text-align: center;
	padding: var(--wp--preset--spacing--px-24, 1.5rem) 0;
}

.pwb-caso__modal-thanks-icon {
	font-size: var(--wp--custom--font-size--3-xl, 2.25rem);
	margin-bottom: var(--wp--preset--spacing--px-12, 0.75rem);
	color: var(--wp--preset--color--custom-pwb-primary-color, #ff9900);
}

.pwb-caso__modal-thanks-title {
	font-weight: 700;
	font-size: var(--wp--custom--font-size--base, 1rem);
	color: var(--wp--custom--color--text, #f5f6f8);
	margin-bottom: var(--wp--preset--spacing--px-6, 0.375rem);
}

.pwb-caso__modal-thanks-text {
	font-size: var(--wp--preset--font-size--xs-plus, 0.8125rem);
	color: var(--wp--custom--color--text-soft, #c8cdd6);
	line-height: 1.5;
	margin: 0 0 var(--wp--preset--spacing--px-16, 1rem);
}

/* Same fix as powerbim-roi's modal: five fields stacked in a single
   420px-wide column made this taller than needed on desktop. Widening the
   modal and pairing fields two-per-row on non-mobile viewports shortens it. */

@media (min-width: 640px) {
	.pwb-caso__modal {
		max-width: 640px;
	}

	.pwb-caso__modal-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--wp--preset--spacing--px-16, 1rem) var(--wp--preset--spacing--px-20, 1.25rem);
	}

	.pwb-caso__modal-checkbox-field,
	.pwb-caso__modal-hint--error,
	.pwb-caso__modal-actions {
		grid-column: 1 / -1;
	}
}

/* Standard WP pattern — visually hidden but still announced by screen
   readers. Not defined anywhere else in this theme/plugin yet; needed here
   for the tipología content modal's own (non-visual) accessible title. */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Tipología content modal — reuses .pwb-caso__modal's overlay/header/close
   button for a consistent look, but far wider: this content's own two-column
   rows (description+KPIs, caso image+text) need much more room than that
   modal's simple form. min-width: 0 overrides the flex item's implicit
   min-width: auto — without it, the KPI cards' own fixed padding pushes the
   modal past max-width instead of letting its grid columns shrink to fit.
   box-sizing: border-box because .pwb-caso__modal doesn't set it — without
   it, that modal's own 32px padding + 1px border add on top of max-width
   instead of being included in it, rendering ~66px wider than intended. */

.tipologias-viewer__content-modal {
	width: 95vw;
	max-width: 1400px;
	min-width: 0;
	box-sizing: border-box;
}

/* The header's title (h2) is screen-reader-only here (this modal has no
   visible heading — see render.php) — taken clean out of flow by
   .screen-reader-text's position: absolute, so justify-content: space-between
   no longer has two real flex items to push apart, and the close button
   drifts to the start (left) instead of staying at the end (right). */

.tipologias-viewer__content-modal .pwb-caso__modal-header {
	justify-content: flex-end;
}

/* .tipologias-viewer__content's own padding was sized for a full-width page
   section, not a modal dialog that already has its own 32px padding — reset
   it here to avoid doubling up. */

.tipologias-viewer__content-modal .tipologias-viewer__content {
	padding-top: 0;
	padding-inline: 0;
}

@media (max-width: 420px) {
	.pwb-caso__modal-actions {
		flex-direction: column;
	}

	.pwb-caso__modal-actions .pwb-caso__btn {
		width: 100%;
		justify-content: center;
	}
}

/*# sourceMappingURL=style-index.css.map*/