/**
 * Cero escusas — calle horizontal, edificios e diálogos.
 *
 * @package Sogama
 */

.site-main.site-main--cero-excusas {
	/* Tipografía diseño (Figma) */
	--ce-s1-icono-text-size: 9px;
	--ce-texto-botones: 10px;
	--ce-textos-s: 14px;
	--ce-texto-bocadillos: 14px;
	--ce-textos-m: 18px;
	--ce-textos-l: 24px;
	--ce-texto-xxl: 50px;
	--ce-texto-xxxl: 85px;
	/* XXL / XXXL: titulares display; usar en clamp donde faga falta */
	--ce-lh-auto: normal;
	--ce-lh-tight: 1.15;
	--ce-lh-snug: 1.25;
	--ce-lh-body: 1.45;
	--ce-font-weight: 500;
	--ce-open-sans-copy-weight: 700;
	--ce-color-cyan: #00adee;
	--ce-bg-page: #e9e9e9;
	--ce-color-texto: #1a202c;
	--ce-color-texto-respuesta: #000;
	--ce-modal-width: 240px;
	--ce-modal-content-padding: 32px;
	/* Modal vídeo: ~80 % do viewport; o ancho vén da proporción intrínseca do <video>. */
	--ce-video-modal-max-width: min(80vw, calc(100vw - 2rem));
	--ce-video-modal-max-height: min(80vh, calc(100vh - 2rem));
	--ce-video-modal-max-height: min(80dvh, calc(100dvh - 2rem));

	--sogama-font-titan-one: "Titan One", "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", cursive;
	--sogama-font-open-sans: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--sogama-font-body: var(--sogama-font-titan-one);
	--sogama-font-heading: var(--sogama-font-titan-one);
	--sogama-font-nav: var(--sogama-font-titan-one);
	padding-top: 0;
	font-family: var(--sogama-font-body);
	background-color: var(--ce-bg-page);
}

.site-main.site-main--cero-excusas .entry--cero-excusas {
	background: transparent;
}

.site-main.site-main--cero-excusas .cero-excusas-street {
	font-family: var(--sogama-font-body);
}

.cero-excusas-street--bleed {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.cero-excusas-street__hint {
	margin: 0 0 0.75rem;
	padding: 0 clamp(1rem, 4vw, 2rem);
	font-size: var(--ce-textos-s);
	line-height: var(--ce-lh-body);
	color: var(--sogama-color-text-muted, #4a5568);
}

.cero-excusas-street__viewport-shell {
	position: relative;
	width: 100%;
}

.cero-excusas-street__viewport {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	overscroll-behavior-y: auto;
	scroll-behavior: auto;
	min-height: max(14rem, calc(100vh - 5.5rem));
	min-height: max(14rem, calc(100dvh - 5.5rem));
	min-height: max(14rem, var(--cero-excusa-street-viewport-height, calc(100dvh - 5.5rem)));
	height: max(14rem, calc(100vh - 5.5rem));
	height: max(14rem, calc(100dvh - 5.5rem));
	height: max(14rem, var(--cero-excusa-street-viewport-height, calc(100dvh - 5.5rem)));
	cursor: grab;
	touch-action: pan-x pan-y;
	border-block: 1px solid rgba(0, 0, 0, 0.08);
	background: transparent;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.cero-excusas-street__viewport::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
	background: transparent;
}

.cero-excusas-street__viewport.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.cero-excusas-street__viewport img {
	-webkit-user-drag: none;
	user-drag: none;
}

.cero-excusas-street__scroll-hint {
	position: absolute;
	top: 50%;
	z-index: 25;
	pointer-events: none;
	animation: cexc-scroll-hint-pulse 1.15s ease-in-out infinite;
	transition:
		left 0.4s cubic-bezier(0.33, 1, 0.68, 1),
		right 0.4s cubic-bezier(0.33, 1, 0.68, 1),
		transform 0.4s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.35s ease,
		visibility 0.35s ease;
}

.cero-excusas-street__scroll-hint--section-end {
	left: var(--ce-hint-at-section-x, 88%);
	right: auto;
	transform: translate(calc(-100% - 0.35rem), -50%);
}

.cero-excusas-street__scroll-hint--corner {
	left: auto;
	right: clamp(0.5rem, 2.5vw, 1.25rem);
	transform: translateY(-50%);
}

.cero-excusas-street__scroll-hint-icon {
	display: block;
	width: clamp(1.5rem, 4.5vw, 2rem);
	height: auto;
	object-fit: contain;
	animation: cexc-scroll-hint-nudge-right 1.45s ease-in-out infinite;
	filter:
		drop-shadow(0 0 2px #fff)
		drop-shadow(0 0 8px rgba(255, 255, 255, 0.95))
		drop-shadow(0 0 16px rgba(255, 255, 255, 0.75))
		drop-shadow(0 0 24px rgba(255, 255, 255, 0.45));
}

.cero-excusas-street__viewport.is-scroll-end ~ .cero-excusas-street__scroll-hint .cero-excusas-street__scroll-hint-icon {
	animation: none;
}

.cero-excusas-street__viewport.is-scroll-end ~ .cero-excusas-street__scroll-hint {
	opacity: 0;
	visibility: hidden;
	animation: none;
}

@keyframes cexc-scroll-hint-pulse {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.4;
	}
}

@keyframes cexc-scroll-hint-nudge-right {
	0%,
	100% {
		transform: translateX(0);
	}
	45% {
		transform: translateX(0.5rem);
	}
	90% {
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.cero-excusas-street__scroll-hint {
		animation: none;
		opacity: 0.92;
		transition-duration: 0.01ms;
	}

	.cero-excusas-street__scroll-hint-icon {
		animation: none;
	}
}

.cero-excusas-street__rail {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	flex: 1 1 0;
	min-height: 0;
	width: max-content;
	box-sizing: border-box;
}

.cero-excusas-street__section {
	position: relative;
	flex: 0 0 auto;
	min-width: var(--cero-excusa-section-width, 100vw);
	min-height: 100%;
	box-sizing: border-box;
	padding: 1.25rem clamp(1rem, 3vw, 2rem);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.cero-excusas-street__label {
	margin: 0 0 auto;
	font-size: clamp(var(--ce-textos-s), 2.5vw, var(--ce-textos-m));
	line-height: var(--ce-lh-auto);
	font-weight: var(--ce-font-weight);
	color: rgba(0, 0, 0, 0.75);
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.cero-excusas-street__section--1 {
	--cero-excusa-section-width: 90vw;
	--ce-s1-icono-text-size: 9px;
	--ce-s1-icono-text-lh: 1;
	--ce-s1-iconos-gap: 6px;
	--ce-s1-iconos-row-width: 230px;
	background: #fff;
	justify-content: center;
	align-items: center;
	padding-top: clamp(32px, 5vh, 64px);
	padding-bottom: clamp(32px, 5vh, 64px);
}

@media (min-width: 768px) {
	.cero-excusas-street__section--1 {
		--cero-excusa-section-width: 85vw;
	}
}

@media (max-width: 767px) {
	.cero-excusas-street__section--1 {
		flex: 0 0 90vw;
		width: 90vw;
		max-width: 90vw;
		min-width: 90vw;
		box-sizing: border-box;
		padding-top: clamp(20px, 5vh, 32px);
		padding-bottom: clamp(16px, 4vh, 24px);
		padding-inline: clamp(10px, 3.5vw, 16px);
	}

	.cero-excusas-street__section--1 {
		--ce-s1-icono-text-size: 7px;
		--ce-s1-icono-text-lh: 1;
	}

	.cero-excusas-street__section--1 .cero-excusas-street__s1 {
		--ce-s1-mobile-content-width: 230px;
		width: 100%;
		max-width: 100%;
		padding-inline: 0;
		align-items: center;
	}
}

.cero-excusas-street__s1 {
	--cero-excusa-s1-below-logo-shift: -30px;
	--ce-s1-icono-text-size: 9px;
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
}

.cero-excusas-street__s1-logo-wrap {
	width: 730px;
	max-width: 100%;
	margin-inline: auto;
	flex-shrink: 0;
}

.cero-excusas-street__s1-picture {
	display: block;
	width: 100%;
}

.cero-excusas-street__s1-logo {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.cero-excusas-street__s1-logo-wrap {
		width: var(--ce-s1-mobile-content-width, 230px);
		max-width: var(--ce-s1-mobile-content-width, 230px);
		margin-bottom: clamp(8px, 2.5vw, 14px);
	}

	.cero-excusas-street__s1-picture {
		max-width: var(--ce-s1-mobile-content-width, 230px);
	}

	.cero-excusas-street__s1-logo {
		max-width: var(--ce-s1-mobile-content-width, 230px);
	}
}

.cero-excusas-street__s1-stack {
	width: 100%;
	max-width: min(1100px, 100%);
	margin-top: clamp(8px, 2vw, 18px);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(16px, 3vw, 24px);
	box-sizing: border-box;
	transform: translateX(var(--cero-excusa-s1-below-logo-shift, -30px));
}

.cero-excusas-street__s1-main-row {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.cero-excusas-street__s1-iconos-row {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.cero-excusas-street__s1-col--copy,
.cero-excusas-street__s1-col--content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	width: 100%;
	min-width: 0;
	padding-top: 10px;
	box-sizing: border-box;
}

.cero-excusas-street__s1-heading {
	margin: 0;
	font-family: var(--sogama-font-heading, inherit);
	font-size: var(--ce-textos-l);
	font-weight: 400;
	line-height: var(--ce-lh-tight);
	color: #1a1a1a;
	text-align: left;
}

.cero-excusas-street__s1-heading--rich > :first-child {
	margin-top: 0;
}

.cero-excusas-street__s1-heading--rich > :last-child {
	margin-bottom: 0;
}

.cero-excusas-street__s1-sub-icons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
	width: 290px;
	max-width: 100%;
	gap: clamp(6px, 1vw, 10px);
	margin-top: 0;
}

.cero-excusas-street__s1-heading + .cero-excusas-street__s1-subheading,
.cero-excusas-street__s1-heading + .cero-excusas-street__s1-subheading--rich,
.cero-excusas-street__s1-heading + .cero-excusas-street__s1-sub-icons {
	margin-top: 40px;
}

.cero-excusas-street__s1-subheading {
	margin: 0;
	font-family: var(--sogama-font-open-sans);
	font-size: var(--ce-textos-m);
	font-weight: var(--ce-open-sans-copy-weight);
	line-height: var(--ce-lh-body);
	color: var(--ce-color-cyan);
	text-align: left;
	text-wrap: balance;
	box-sizing: border-box;
	width: 100%;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

.cero-excusas-street__s1-subheading--rich,
.cero-excusas-street__s1-subheading--rich :where(p, span, li, div, a, strong, b, em) {
	font-family: var(--sogama-font-open-sans);
	font-weight: var(--ce-open-sans-copy-weight);
}

.cero-excusas-street__s1-subheading--rich {
	text-wrap: balance;
}

/* ACF WYSIWYG pode inxectar font-weight normal no HTML. */
.cero-excusas-street__s1-subheading--rich [style*='font-weight'] {
	font-weight: var(--ce-open-sans-copy-weight) !important;
}

.cero-excusas-street__s1-subheading--rich > :first-child {
	margin-top: 0;
}

.cero-excusas-street__s1-subheading--rich > :last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.cero-excusas-street__s1-stack--split {
		display: grid;
		grid-template-columns: minmax(0, 1fr) max-content;
		grid-template-rows: auto auto;
		column-gap: clamp(16px, 2.5vw, 24px);
		row-gap: clamp(6px, 1vw, 10px);
		max-width: 500px;
		width: 100%;
		margin-inline: auto;
		align-items: start;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-main-row--split {
		display: contents;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-col--copy {
		grid-column: 1;
		grid-row: 1;
		align-items: flex-end;
		padding-top: 10px;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-iconos-row {
		grid-column: 1;
		grid-row: 2;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-col--personaje {
		grid-column: 2;
		grid-row: 1 / span 2;
		width: max-content;
		max-width: 100%;
		min-width: 0;
		align-self: start;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-personaje-img {
		width: auto;
		max-width: 100%;
		height: 300px;
		object-fit: contain;
		object-position: center;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-heading,
	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-heading--rich,
	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-subheading,
	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-subheading--rich {
		text-align: right;
	}

	.cero-excusas-street__s1-iconos {
		justify-content: space-between;
		gap: var(--ce-s1-iconos-gap, 6px);
		width: 100%;
		max-width: var(--ce-s1-iconos-row-width, 230px);
	}

	.cero-excusas-street__s1-icono {
		flex: 1 1 0;
		min-width: 0;
	}

	.cero-excusas-street__s1-iconos-row {
		width: auto;
		max-width: 100%;
		margin-inline: auto;
	}

	.cero-excusas-street__s1-stack--split .cero-excusas-street__s1-iconos-row {
		margin-inline: 0;
		margin-left: auto;
		margin-right: 0;
	}
}

@media (max-width: 767px) {
	.cero-excusas-street__s1-stack {
		transform: none;
		width: var(--ce-s1-mobile-content-width, 230px);
		max-width: var(--ce-s1-mobile-content-width, 230px);
		margin-inline: auto;
		margin-top: 0;
		gap: clamp(14px, 4vw, 18px);
		align-items: stretch;
		box-sizing: border-box;
	}

	.cero-excusas-street__s1-main-row,
	.cero-excusas-street__s1-main-row--split {
		width: 100%;
		max-width: var(--ce-s1-mobile-content-width, 230px);
		margin-inline: auto;
		box-sizing: border-box;
	}

	.cero-excusas-street__s1-main-row--split {
		display: grid;
		grid-template-columns: 90px minmax(0, 1fr);
		align-items: start;
		column-gap: 8px;
	}

	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-col--personaje {
		flex: 0 0 90px;
		width: 90px;
		max-width: 90px;
		min-width: 90px;
		justify-content: flex-start;
		align-items: flex-start;
		align-self: start;
		padding-top: 0;
		box-sizing: border-box;
	}

	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-personaje-img {
		width: 100%;
		max-width: 90px;
		height: auto;
		object-fit: contain;
		object-position: left top;
	}

	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-col--copy {
		padding-top: 0;
		padding-bottom: 0;
		align-items: flex-start;
		align-self: start;
		justify-content: flex-start;
	}

	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-heading,
	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-heading--rich,
	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-subheading,
	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-subheading--rich {
		text-align: left;
	}

	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-heading + .cero-excusas-street__s1-subheading,
	.cero-excusas-street__s1-main-row--split .cero-excusas-street__s1-heading + .cero-excusas-street__s1-subheading--rich {
		margin-top: 6px;
	}

	.cero-excusas-street__s1-col--copy .cero-excusas-street__s1-heading,
	.cero-excusas-street__s1-col--copy .cero-excusas-street__s1-heading--rich,
	.cero-excusas-street__s1-col--copy .cero-excusas-street__s1-heading--rich :where(*) {
		font-family: var(--sogama-font-titan-one);
		font-size: clamp(14px, 4vw, 15px);
		font-weight: 400;
		line-height: 1.1;
		color: #1a1a1a;
	}

	.cero-excusas-street__s1-col--copy .cero-excusas-street__s1-subheading,
	.cero-excusas-street__s1-col--copy .cero-excusas-street__s1-subheading--rich,
	.cero-excusas-street__s1-col--copy .cero-excusas-street__s1-subheading--rich :where(p, span, li, div, a, strong, b, em) {
		font-family: var(--sogama-font-open-sans);
		font-size: clamp(11px, 3.1vw, 12px);
		font-weight: var(--ce-open-sans-copy-weight);
		line-height: 1.25;
		color: var(--ce-color-cyan);
	}

	.cero-excusas-street__s1-iconos-row {
		width: 100%;
		max-width: var(--ce-s1-mobile-content-width, 230px);
		margin-inline: auto;
		padding-inline: 0;
		box-sizing: border-box;
	}

	.cero-excusas-street__s1-iconos-row .cero-excusas-street__s1-icono-img {
		width: 25px;
		height: 25px;
	}

	.cero-excusas-street__section--1 .cero-excusas-street__s1-iconos-row .cero-excusas-street__s1-icono-text {
		font-family: var(--sogama-font-open-sans);
		font-size: var(--ce-s1-icono-text-size);
		font-weight: var(--ce-open-sans-copy-weight);
		line-height: var(--ce-s1-icono-text-lh);
		color: #000;
		hyphens: auto;
	}

	.cero-excusas-street__scroll-hint--section-end .cero-excusas-street__scroll-hint-icon {
		width: 22px;
		filter: none;
		animation: cexc-scroll-hint-nudge-right 1.45s ease-in-out infinite;
	}
}

.cero-excusas-street__s1-iconos-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* Iconos / contenedores: fila compacta (espaciado en px). */
.cero-excusas-street__s1-iconos {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--ce-s1-iconos-gap, 6px);
	width: 100%;
	padding: 0;
	list-style: none;
}

.cero-excusas-street__s1-icono {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
}

.cero-excusas-street__s1-icono-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 115px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 3px;
}

.cero-excusas-street__s1-icono-img {
	display: block;
	width: 25px;
	height: 25px;
	object-fit: contain;
	flex-shrink: 0;
}

.cero-excusas-street__section--1 .cero-excusas-street__s1-icono-text {
	font-family: var(--sogama-font-open-sans);
	font-size: var(--ce-s1-icono-text-size);
	font-weight: var(--ce-open-sans-copy-weight);
	line-height: var(--ce-s1-icono-text-lh);
	color: #333;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.cero-excusas-street__s1-col--personaje {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
}

.cero-excusas-street__s1-stack:not(.cero-excusas-street__s1-stack--split) .cero-excusas-street__s1-col--personaje {
	justify-content: center;
	align-items: center;
}

.cero-excusas-street__s1-personaje-img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 300px;
	object-fit: contain;
	object-position: center;
}

@media (min-width: 768px) {
	.cero-excusas-street__s1-stack:not(.cero-excusas-street__s1-stack--split) .cero-excusas-street__s1-personaje-img {
		max-width: min(100%, 480px);
		margin-inline: auto;
	}
}

/* Zona 2: ancho = alto do rail × proporción de edificios.jpg (sen bandas do fondo #2d2a35). */
.cero-excusas-street__section--2 {
	--ce-edificios-aspect-ratio: 16 / 9;
	--ce-speech-pad-inline: 25px;
	background-color: #2d2a35;
	overflow: hidden;
	isolation: isolate;
	min-width: 0;
	width: auto;
	flex: 0 0 auto;
	align-self: flex-end;
	height: 100%;
	max-height: 100%;
	min-height: 0;
	aspect-ratio: var(--ce-edificios-aspect-ratio);
	box-sizing: border-box;
	padding: 0;
	display: block;
}

.cero-excusas-street__section--2-facade {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-width: none;
	object-fit: cover;
	object-position: center bottom;
	pointer-events: none;
	-webkit-user-drag: none;
	user-select: none;
}

.cero-excusas-street__building-layer {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.cero-excusas-street__speech {
	--ce-speech-x: 50%;
	--ce-speech-y: 50%;
	position: absolute;
	left: var(--ce-speech-x);
	top: var(--ce-speech-y);
	transform: translate(-50%, calc(-100% - 0.5rem));
	box-sizing: border-box;
	width: min(32vw, 9.75rem);
	height: min(32vw, 9.75rem);
	max-width: 36%;
	max-height: 32%;
	aspect-ratio: 1;
	border: none;
	border-radius: 0;
	overflow: visible;
	padding-block: 0;
	padding-inline: var(--ce-speech-pad-inline, 25px);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: var(--sogama-font-body);
	font-size: var(--ce-texto-bocadillos);
	font-weight: var(--ce-font-weight);
	line-height: var(--ce-lh-tight);
	letter-spacing: -0.01em;
	color: #141414;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	pointer-events: auto;
	transition: transform 0.12s ease;
}

.cero-excusas-street__speech-shape {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	z-index: 0;
	pointer-events: none;
	filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.2)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

.cero-excusas-street__speech-text {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	-webkit-box-pack: center;
	overflow: hidden;
}

.cero-excusas-street__speech:hover,
.cero-excusas-street__speech:focus-visible {
	transform: translate(-50%, calc(-100% - 0.5rem - 2px));
	outline: none;
}

.cero-excusas-street__speech:hover .cero-excusas-street__speech-shape,
.cero-excusas-street__speech:focus-visible .cero-excusas-street__speech-shape {
	filter: drop-shadow(0 7px 20px rgba(0, 0, 0, 0.24)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}

.cero-excusas-street__speech:focus-visible {
	box-shadow: none;
	outline: 3px solid rgba(0, 95, 158, 0.45);
	outline-offset: 3px;
	border-radius: 0.25rem;
}

.cero-excusas-street__section--3 {
	/* Ancho ao contido (grid + padding); o scroll horizontal fai o carril. */
	min-width: 0;
	width: max-content;
	max-width: none;
	/* Padding do bloque respecto ao slide (fixo, independente do gap do grid). */
	--ce-contenedor-pad-inline: 16px;
	--ce-contenedor-pad-block: 24px;
	/* Gap do grid: column-gap fixo; row-gap adaptativo ao alto do slide. */
	--ce-contenedor-gap-col: 90px;
	--ce-contenedor-gap-row: calc(var(--ce-contenedor-vh) * 0.03);
	--ce-contenedor-vh: var(--cero-excusa-street-viewport-height, 100dvh);
	--ce-contenedor-card-gap: calc(var(--ce-contenedor-vh) * 0.018);
	--ce-contenedor-img-pad-top: calc(var(--ce-contenedor-vh) * 0.012);
	background: #fff;
	justify-content: center;
	align-items: stretch;
	padding: 0;
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.cero-excusas-street__section--3 {
		--ce-contenedor-pad-inline: 80px;
	}
}

.cero-excusas-street__contenedores {
	width: max-content;
	max-width: none;
	margin: 0;
	padding-block: var(--ce-contenedor-pad-block);
	padding-inline: var(--ce-contenedor-pad-inline);
	box-sizing: border-box;
}

.cero-excusas-street__contenedores-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 330px));
	justify-content: start;
	align-content: start;
	column-gap: var(--ce-contenedor-gap-col);
	row-gap: var(--ce-contenedor-gap-row);
	width: max-content;
	box-sizing: border-box;
}

.cero-excusas-street__contenedores-item {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.cero-excusas-street__contenedor-card {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--ce-contenedor-card-gap);
	width: 100%;
	max-width: 330px;
	min-width: 0;
	margin-inline: 0;
	font-family: var(--sogama-font-open-sans);
}

.cero-excusas-street__contenedor-card-media {
	flex: 0 0 100px;
	width: 100px;
	max-width: 100px;
	padding-top: var(--ce-contenedor-img-pad-top);
	box-sizing: border-box;
}

.cero-excusas-street__contenedor-card-img {
	display: block;
	width: 100px;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.cero-excusas-street__contenedor-card-body {
	flex: 1 1 auto;
	min-width: 0;
	align-self: flex-start;
}

.cero-excusas-street__contenedor-card-titulo {
	margin: 0 0 0.35rem;
	font-family: var(--sogama-font-titan-one);
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	font-weight: 400;
	line-height: var(--ce-lh-tight);
	color: var(--ce-contenedor-titulo-color, var(--ce-color-cyan));
}

.cero-excusas-street__contenedor-card-titulo--rich {
	color: var(--ce-contenedor-titulo-color, unset);
}

.cero-excusas-street__contenedor-card-titulo--rich,
.cero-excusas-street__contenedor-card-titulo--rich :where(*) {
	font-family: var(--sogama-font-titan-one);
	font-weight: 400;
	line-height: var(--ce-lh-tight);
	color: inherit;
}

.cero-excusas-street__contenedor-card-titulo--rich :where(p) {
	margin: 0;
}

.cero-excusas-street__contenedor-card-subtitulo {
	margin: 0 0 0.45rem;
	font-family: var(--sogama-font-open-sans);
	font-size: clamp(0.875rem, 2.15vw, 1rem);
	font-weight: var(--ce-open-sans-copy-weight);
	line-height: var(--ce-lh-snug);
	color: #000;
}

.cero-excusas-street__contenedor-card-subtitulo--rich,
.cero-excusas-street__contenedor-card-subtitulo--rich :where(*) {
	font-family: var(--sogama-font-open-sans);
	font-weight: var(--ce-open-sans-copy-weight);
	line-height: var(--ce-lh-snug);
	color: #000;
}

.cero-excusas-street__contenedor-card-subtitulo--rich :where(p) {
	margin: 0;
}

.cero-excusas-street__contenedor-card-texto {
	font-family: var(--sogama-font-open-sans);
	font-size: clamp(0.6875rem, 1.75vw, 0.75rem);
	font-weight: 400;
	line-height: var(--ce-lh-body);
	color: #000;
}

.cero-excusas-street__contenedor-card-texto :where(*) {
	font-family: inherit;
	font-weight: inherit;
}

.cero-excusas-street__contenedor-card-texto :where(strong, b) {
	font-weight: var(--ce-open-sans-copy-weight);
}

.cero-excusas-street__contenedor-card-texto :where(p) {
	margin: 0 0 0.45em;
}

.cero-excusas-street__contenedor-card-texto :where(p:last-child) {
	margin-bottom: 0;
}

.cero-excusas-street__contenedor-card--final {
	align-items: stretch;
}

.cero-excusas-street__contenedor-card--final .cero-excusas-street__contenedor-card-media {
	align-self: stretch;
	padding-top: 0;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

.cero-excusas-street__contenedor-card--final .cero-excusas-street__contenedor-card-body {
	align-self: stretch;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
}

.cero-excusas-street__contenedor-card-texto--final {
	font-family: var(--sogama-font-open-sans);
	font-size: clamp(0.8125rem, 2.05vw, 0.9375rem);
	font-weight: 800;
	line-height: var(--ce-lh-body);
	color: #7c412b;
	text-align: left;
}

.cero-excusas-street__contenedor-card-texto--final :where(*) {
	font-family: inherit;
	font-weight: inherit;
	color: inherit;
}

.cero-excusas-street__contenedor-card-texto--final :where(p) {
	text-align: left;
}

.cero-excusas-street__bubble {
	position: relative;
	align-self: flex-start;
	margin-top: 1rem;
	margin-bottom: 0.25rem;
	padding: 0.65rem 1.1rem 0.65rem 1rem;
	max-width: min(18rem, 85%);
	border: 2px solid rgba(0, 0, 0, 0.2);
	border-radius: 1rem;
	background: #fff;
	font: inherit;
	font-weight: var(--ce-font-weight);
	font-size: var(--ce-texto-botones);
	color: var(--ce-color-texto);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
	cursor: pointer;
	text-align: left;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.cero-excusas-street__bubble::after {
	content: "";
	position: absolute;
	left: 1.5rem;
	bottom: -10px;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 4px solid transparent;
	border-top: 10px solid #fff;
	filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 0.12));
}

.cero-excusas-street__bubble:hover,
.cero-excusas-street__bubble:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
	outline: none;
}

.cero-excusas-street__bubble:focus-visible {
	box-shadow: 0 0 0 3px rgba(0, 95, 158, 0.45), 0 6px 18px rgba(0, 0, 0, 0.12);
}

.cero-excusas-street__dialog {
	width: var(--ce-modal-width);
	max-width: min(var(--ce-modal-width), calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	padding: 0;
	border: none;
	background: transparent;
	color: #1a202c;
	overflow: visible !important;
	contain: none;
}

/* Co aberto: capa a pantalla completa + flex para centrar o marco; clic fóra do frame péchase no JS (contains). */
.cero-excusas-street__dialog[open] {
	width: 100%;
	max-width: 100vw;
	height: 100%;
	max-height: 100vh;
	max-height: 100dvh;
	margin: 0;
	padding: 1rem;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cero-excusas-street__dialog[open] .cero-excusas-street__dialog-frame {
	width: fit-content;
	max-width: 100%;
	max-height: calc(100vh - 2rem);
	max-height: calc(100dvh - 2rem);
}

.cero-excusas-street__dialog--content[open] .cero-excusas-street__dialog-frame {
	width: var(--ce-modal-width);
	max-width: min(var(--ce-modal-width), calc(100vw - 2rem));
}

.cero-excusas-street__dialog::backdrop {
	background: rgba(15, 23, 42, 0.55);
}

.cero-excusas-street__dialog-frame {
	position: relative;
	width: 100%;
	overflow: visible;
	margin: 0;
	padding: 0;
}

.cero-excusas-street__dialog-shell {
	position: relative;
	width: 100%;
	min-height: 429px;
	max-height: calc(100vh - 2rem);
	box-sizing: border-box;
	margin: 0;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-shell {
	min-height: 430px;
	height: auto;
}

.cero-excusas-street__dialog--video-full .cero-excusas-street__dialog-shell {
	background: #000;
	border-radius: 0;
	min-height: 0;
	max-height: var(--ce-video-modal-max-height);
	width: fit-content;
	max-width: var(--ce-video-modal-max-width);
}

.cero-excusas-street__dialog-dismiss {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 5;
	width: 32px;
	height: 32px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translate(50%, -50%);
	line-height: 0;
}

.cero-excusas-street__dialog-dismiss-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.cero-excusas-street__dialog-dismiss-icon img {
	display: block;
	width: 21px;
	height: auto;
}

.cero-excusas-street__dialog-dismiss:hover,
.cero-excusas-street__dialog-dismiss:focus-visible {
	filter: brightness(1.12);
	outline: none;
}

.cero-excusas-street__dialog-body {
	flex: 1;
	min-height: 0;
	overflow: auto;
	box-sizing: border-box;
	padding: 1.35rem 1rem 1rem;
	display: flex;
	flex-direction: column;
	font-size: var(--ce-textos-s);
	line-height: var(--ce-lh-body);
	-webkit-overflow-scrolling: touch;
}

/* Modal escusa sen vídeo: padding 32px, columna cheo o shell, hashtag abaixo con space-between. */
.cero-excusas-street__dialog--content .cero-excusas-street__dialog-body {
	padding: var(--ce-modal-content-padding);
	text-align: center;
	align-items: stretch;
	justify-content: flex-start;
	flex: 1 1 auto;
	min-height: 0;
}

.cero-excusas-street__dialog--video-full .cero-excusas-street__dialog-body {
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	overflow: hidden;
	flex: 1 1 auto;
	position: relative;
	background: #000;
}

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

.cero-excusas-street__dialog-title {
	margin: 0 0 0.5rem;
	font-size: var(--ce-textos-m);
	line-height: var(--ce-lh-snug);
	font-weight: var(--ce-font-weight);
}

.cero-excusas-street__dialog-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	flex: 1 1 auto;
	min-height: 0;
	box-sizing: border-box;
	gap: 0;
}

.cero-excusas-street__dialog-stack-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	flex: 0 1 auto;
	min-height: 0;
	box-sizing: border-box;
	gap: 0.75rem;
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-hashtag {
	flex-shrink: 0;
}

.cero-excusas-street__dialog-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	text-align: center;
}

.cero-excusas-street__dialog-heading {
	margin: 0;
	font-size: var(--ce-textos-l);
	line-height: var(--ce-lh-snug);
	font-weight: var(--ce-font-weight);
	text-align: center;
	max-width: 100%;
	color: var(--ce-color-cyan);
}

.cero-excusas-street__dialog-heading--rich {
	font-size: var(--ce-textos-l);
	font-weight: var(--ce-font-weight);
	text-align: center;
	max-width: 100%;
	color: var(--ce-color-cyan);
}

.cero-excusas-street__dialog-heading--rich :where(p, span, strong, em, a) {
	color: inherit;
}

.cero-excusas-street__dialog-heading--rich > :first-child {
	margin-top: 0;
}

.cero-excusas-street__dialog-heading--rich > :last-child {
	margin-bottom: 0;
}

.cero-excusas-street__dialog-hashtag {
	display: block;
	font-size: var(--ce-textos-s);
	font-weight: var(--ce-font-weight);
	line-height: var(--ce-lh-auto);
	color: var(--ce-color-cyan);
	letter-spacing: 0.02em;
	margin: 0;
	padding: 0;
	text-align: center;
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-response {
	margin: 0;
	width: 100%;
	text-align: center;
	font-size: var(--ce-textos-m);
	line-height: var(--ce-lh-body);
	color: var(--ce-color-texto-respuesta);
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-response :where(p, li, span, strong, em) {
	color: var(--ce-color-texto-respuesta);
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-response a {
	color: var(--ce-color-texto-respuesta);
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-img {
	margin: 0;
	margin-inline: auto;
}

.cero-excusas-street__dialog-body p {
	margin: 0 0 0.75rem;
}

.cero-excusas-street__dialog-body p:last-child {
	margin-bottom: 0;
}

.cero-excusas-street__dialog-response {
	margin: 0 0 0.75rem;
	line-height: var(--ce-lh-body);
	font-size: var(--ce-textos-m);
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-stack .cero-excusas-street__dialog-response {
	margin-bottom: 0;
}

.cero-excusas-street__dialog--content .cero-excusas-street__dialog-text .cero-excusas-street__dialog-response {
	margin: 0;
	width: 100%;
}

.cero-excusas-street__dialog-response > :last-child {
	margin-bottom: 0;
}

.cero-excusas-street__dialog-img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0.5rem 0 0;
	border-radius: 4px;
	flex-shrink: 0;
}

.cero-excusas-street__dialog--video-full .cero-excusas-street__dialog-video {
	display: block;
	position: static;
	inset: auto;
	width: auto;
	height: auto;
	max-width: var(--ce-video-modal-max-width);
	max-height: var(--ce-video-modal-max-height);
	margin: 0;
	border-radius: 0;
	background: #000;
	object-fit: contain;
	object-position: center;
}

.cero-excusas-street__escusas-grid {
	padding-block: 2rem 2.5rem;
	padding-inline: 0;
	background: transparent;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cero-excusas-street__escusas-grid-wrap {
	max-width: 1145px;
	margin-inline: auto;
	padding-inline: 16px;
	box-sizing: border-box;
}

.cero-excusas-street__escusas-grid-inner {
	width: 100%;
	box-sizing: border-box;
}

.cero-excusas-street__escusas-grid-heading {
	width: 100%;
	max-width: 730px;
	margin: 0 auto 1.25rem;
	font-family: var(--sogama-font-heading, inherit);
	font-size: clamp(2.25rem, 8vw, var(--ce-texto-xxxl));
	font-weight: var(--ce-font-weight);
	line-height: var(--ce-lh-tight);
	color: #000;
	text-align: center;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

.cero-excusas-street__escusas-grid-heading span {
	color: var(--ce-color-cyan);
}

.cero-excusas-street__escusas-grid-heading :where(a) {
	color: var(--ce-color-cyan);
}

.cero-excusas-street__escusas-grid-heading :where(p) {
	margin: 0;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.cero-excusas-street__escusas-grid-heading :where(p):not(:last-child) {
	margin-bottom: 0.35em;
}

.cero-excusas-street__escusas-grid-divider {
	display: block;
	width: 100%;
	height: 0;
	margin: 0 0 70px;
	padding: 0;
	border: 0;
	border-top: 1px solid #000;
}

@media (max-width: 767px) {
	.cero-excusas-street__escusas-grid-divider {
		margin-bottom: 35px;
	}
}

.cero-excusas-street__escusas-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 70px;
	width: 100%;
}

@media (max-width: 767px) {
	.cero-excusas-street__escusas-list {
		gap: 35px;
	}
}

@media (max-width: 991px) {
	.cero-excusas-street__escusas-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 479px) {
	.cero-excusas-street__escusas-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

.cero-excusas-street__escusas-list-item {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.cero-excusas-street__escusas-list-entry {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
	font-family: var(--sogama-font-open-sans);
	font-weight: 400;
}

.cero-excusas-street__escusas-list-entry :where(
		h1,
		h2,
		h3,
		h4,
		h5,
		h6,
		strong,
		b,
		[style*='font-weight:6'],
		[style*='font-weight:7'],
		[style*='font-weight:8'],
		[style*='font-weight:9'],
		[style*='font-weight: 6'],
		[style*='font-weight: 7'],
		[style*='font-weight: 8'],
		[style*='font-weight: 9']
	) {
	font-weight: 500;
}

.cero-excusas-street__escusas-list-titulo {
	margin: 0;
	font-family: var(--sogama-font-titan-one);
	font-size: var(--ce-textos-l);
	font-weight: 500;
	line-height: var(--ce-lh-tight);
	color: var(--ce-color-cyan);
	text-transform: uppercase;
}

.cero-excusas-street__escusas-list-titulo--rich,
.cero-excusas-street__escusas-list-titulo--rich :where(*) {
	font-family: var(--sogama-font-titan-one);
	font-weight: 500;
	color: var(--ce-color-cyan);
}

.cero-excusas-street__escusas-list-titulo--rich :where(p) {
	margin: 0;
}

.cero-excusas-street__escusas-list-sep {
	display: block;
	width: 100%;
	height: 0;
	margin: 0.15rem 0 0.35rem;
	padding: 0;
	border: 0;
	border-top: 1px solid #000;
}

.cero-excusas-street__escusas-list-pregunta {
	margin: 0;
	font-family: var(--sogama-font-titan-one);
	font-size: var(--ce-textos-s);
	font-weight: 500;
	line-height: var(--ce-lh-snug);
	color: #000;
}

.cero-excusas-street__escusas-list-pregunta :where(*) {
	font-family: inherit;
	font-weight: 500;
	color: inherit;
}

.cero-excusas-street__escusas-list-pregunta :where(a) {
	color: #000;
}

.cero-excusas-street__escusas-list-respuesta {
	margin-top: clamp(0.45rem, 1.2vw, 0.75rem);
	font-family: var(--sogama-font-open-sans);
	font-size: clamp(0.75rem, 1.5vw, 0.8125rem);
	font-weight: 400;
	line-height: var(--ce-lh-body);
	color: #000;
}

.cero-excusas-street__escusas-list-respuesta :where(*) {
	font-family: inherit;
	font-weight: 400;
	color: inherit;
}

.cero-excusas-street__escusas-list-respuesta :where(a) {
	color: #000;
}

.cero-excusas-street__escusas-list-respuesta :where(p) {
	margin: 0 0 0.5em;
}

.cero-excusas-street__escusas-list-respuesta :where(p:last-child) {
	margin-bottom: 0;
}

/* -------------------------------------------------------------------------
 * Sección compartir (formulario ao pé da grelle de escusas)
 * ------------------------------------------------------------------------- */

.cero-excusas-street__share {
	padding-block: 0 clamp(2.5rem, 6vw, 4rem);
	background: var(--ce-bg-page);
	box-sizing: border-box;
}

.cero-excusas-street__share .cero-excusas-street__escusas-grid-wrap {
	max-width: 1145px;
	margin-inline: auto;
	padding-inline: 16px;
	box-sizing: border-box;
}

.cero-excusas-street__share-divider {
	margin-top: 0;
	margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.cero-excusas-street__share-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.5rem, 4vw, 2.75rem);
	align-items: start;
	box-sizing: border-box;
}

@media (min-width: 900px) {
	.cero-excusas-street__share-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
		gap: clamp(2rem, 4.5vw, 3.5rem);
		align-items: center;
	}
}

.cero-excusas-street__share-col {
	min-width: 0;
}

.cero-excusas-street__share-heading {
	margin: 0;
	font-family: var(--sogama-font-titan-one);
	font-size: clamp(1.65rem, 4.8vw, var(--ce-texto-xxl));
	font-weight: 400;
	line-height: var(--ce-lh-tight);
	color: var(--ce-color-cyan);
	text-align: center;
	text-wrap: balance;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

.cero-excusas-street__share-heading :where(p) {
	margin: 0 0 0.35em;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}

.cero-excusas-street__share-heading :where(p:last-child) {
	margin-bottom: 0;
}

.cero-excusas-street__share-heading :where(span) {
	color: #000;
	font-weight: inherit;
}

.cero-excusas-street__share-heading :where(strong) {
	color: inherit;
	font-weight: inherit;
}

.cero-excusas-street__share-heading :where(a) {
	color: var(--ce-color-cyan);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.cero-excusas-street__share-bubble {
	position: relative;
	isolation: isolate;
	margin-inline: auto;
	width: min(19.875rem, 100%);
	max-width: 100%;
	padding: clamp(1.55rem, 5vw, 2.1rem) clamp(1.45rem, 5vw, 2.15rem) clamp(4rem, 12vw, 5.5rem);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	filter: drop-shadow(0 10px 26px rgba(0, 0, 0, 0.14));
	overflow: visible;
}

.cero-excusas-street__share-bubble::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: url("../img/bocadillo-form.svg") no-repeat center / 100% 100%;
	pointer-events: none;
}

.cero-excusas-street__share-bubble > * {
	position: relative;
	z-index: 1;
}

@media (min-width: 900px) {
	.cero-excusas-street__share-bubble {
		margin-inline: 0 auto;
	}
}

.cero-excusas-street__share-bubble-title {
	margin: 0 0 1rem;
	font-family: var(--sogama-font-titan-one);
	font-size: clamp(0.8125rem, 2.5vw, 0.9375rem);
	font-weight: 400;
	line-height: var(--ce-lh-tight);
	color: var(--ce-color-texto);
	text-align: center;
}

.cero-excusas-street__share-bubble-title--rich :where(p) {
	margin: 0 0 0.45em;
	text-align: center;
}

.cero-excusas-street__share-bubble-title--rich :where(p:last-child) {
	margin-bottom: 0;
}

.cero-excusas-street__share-form {
	position: relative;
}

.cero-excusas-street__share-feedback {
	margin: 0 0 1rem;
	padding: 0.6rem 0.75rem;
	font-family: var(--sogama-font-open-sans);
	font-size: var(--ce-textos-s);
	line-height: var(--ce-lh-body);
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.cero-excusas-street__share-feedback--ok {
	background: rgba(22, 101, 52, 0.09);
	color: #166534;
	border: 1px solid rgba(22, 101, 52, 0.22);
}

.cero-excusas-street__share-feedback--error {
	background: rgba(185, 28, 28, 0.08);
	color: #b91c1c;
	border: 1px solid rgba(185, 28, 28, 0.25);
}

.cero-excusas-street__share-form-inner {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	font-family: var(--sogama-font-open-sans);
}

.cero-excusas-street__share-hp {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.cero-excusas-street__share-input,
.cero-excusas-street__share-field {
	width: 100%;
	box-sizing: border-box;
	font-family: inherit;
	font-size: var(--ce-textos-s);
	line-height: var(--ce-lh-snug);
	color: var(--ce-color-texto);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 0.45rem;
	padding: 0.55rem 0.65rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cero-excusas-street__share-input::placeholder,
.cero-excusas-street__share-field::placeholder {
	color: color-mix(in srgb, var(--ce-color-texto) 46%, transparent);
}

.cero-excusas-street__share-input:hover,
.cero-excusas-street__share-field:hover {
	border-color: rgba(0, 0, 0, 0.1);
}

.cero-excusas-street__share-input:focus,
.cero-excusas-street__share-field:focus {
	outline: none;
	border-color: rgba(0, 0, 0, 0.14);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}

.cero-excusas-street__share-field {
	min-height: 7rem;
	resize: vertical;
}

.cero-excusas-street__share-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.22rem;
	margin-top: 0.3rem;
	padding: 0.28rem 0.55rem;
	border: none;
	border-radius: 0.25rem;
	background: #111;
	color: #fff;
	font-family: var(--sogama-font-open-sans);
	font-size: clamp(0.6875rem, 2.2vw, 0.75rem);
	font-weight: 600;
	cursor: pointer;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
	transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
	align-self: center;
}

.cero-excusas-street__share-submit:hover {
	filter: brightness(1.08);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.cero-excusas-street__share-submit:focus-visible {
	outline: none;
	box-shadow:
		0 0 0 2px rgba(0, 0, 0, 0.18),
		0 1px 8px rgba(0, 0, 0, 0.16);
}

.cero-excusas-street__share-submit:active {
	transform: translateY(1px);
}

.cero-excusas-street__share-submit-arrow {
	display: inline-block;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 767px) {
	.cero-excusas-street__share-col--form {
		width: 100%;
		max-width: 100%;
	}

	.cero-excusas-street__share-bubble {
		width: min(18rem, 100%);
		padding:
			clamp(1.5rem, 5.5vw, 1.85rem)
			clamp(1.85rem, 8vw, 2.25rem)
			clamp(4.35rem, 14vw, 5.65rem);
		overflow: hidden;
	}

	.cero-excusas-street__share-form,
	.cero-excusas-street__share-form-inner {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.cero-excusas-street__share-input,
	.cero-excusas-street__share-field {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0.65rem 0.7rem;
		-webkit-appearance: none;
		appearance: none;
		box-sizing: border-box;
		overflow-wrap: anywhere;
	}
}

/* Etiquetas bajo iconos (zona 1): tamaño propio, no --ce-texto-botones (10px). */
.site-main.site-main--cero-excusas .cero-excusas-street__section--1 .cero-excusas-street__s1-icono-text {
	font-family: var(--sogama-font-open-sans);
	font-size: var(--ce-s1-icono-text-size);
	font-weight: var(--ce-open-sans-copy-weight);
	line-height: var(--ce-s1-icono-text-lh);
	color: #333;
	word-break: break-word;
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.site-main.site-main--cero-excusas .cero-excusas-street__section--1 .cero-excusas-street__s1-icono-text {
		color: #000;
		hyphens: auto;
	}
}

.site-main.site-main--cero-excusas button.cero-excusas-street__speech {
	padding-block: 0;
	padding-inline: var(--ce-speech-pad-inline, 25px);
}

@media (max-width: 767px) {
	.cero-excusas-street__section--2 {
		--ce-speech-pad-inline: 15px;
		--ce-texto-bocadillos: 12px;
	}

	.site-main.site-main--cero-excusas .cero-excusas-street__section--2 button.cero-excusas-street__speech,
	.site-main.site-main--cero-excusas button.cero-excusas-street__speech {
		padding-block: 0;
		padding-inline: var(--ce-speech-pad-inline, 15px);
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.cero-excusas-street__section--2 .cero-excusas-street__speech-text {
		width: 100%;
		text-align: center;
		-webkit-box-pack: center;
	}
}
