/* PHONECASH: confianza.
   Páginas de contacto, compra segura, garantía y privacidad, y la sección de confianza del inicio.
   Usa las variables de main.css. */

/* ---------- Utilidades ---------- */

.link-plain {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--blue-link);
	font-size: 19px;
	font-weight: 500;
	text-decoration: none;
}

.link-plain::after {
	content: "›";
	font-size: 1.3em;
	line-height: 1;
	transition: transform 0.4s var(--ease-out);
}

.link-plain:hover {
	text-decoration: none;
}

.link-plain:hover::after {
	transform: translateX(4px);
}

.trust-page {
	overflow-x: clip;
}

/* ---------- Encabezado de las páginas ---------- */

.thero {
	position: relative;
	overflow: hidden;
	padding: clamp(40px, 6vw, 88px) 0 clamp(48px, 7vw, 96px);
	background: linear-gradient(180deg, var(--mist) 0%, #fff 100%);
}

.thero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	align-items: center;
	gap: clamp(24px, 5vw, 72px);
}

.thero-eyebrow {
	margin: 0 0 14px;
	color: var(--blue-link);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.thero h1 {
	font-size: clamp(40px, 6.4vw, 76px);
	line-height: 1.03;
	letter-spacing: -0.042em;
}

.thero-sub {
	max-width: 30em;
	margin: 22px 0 0;
	color: var(--muted);
	font-size: clamp(19px, 2.1vw, 23px);
	line-height: 1.38;
}

.thero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	margin-top: 34px;
}

.thero-actions .btn {
	max-width: 100%;
}

.thero-art {
	position: relative;
	width: min(100%, 380px);
	margin-inline: auto;
}

.thero-glow {
	position: absolute;
	inset: -8% -14%;
	background: radial-gradient(closest-side, rgba(0, 113, 227, 0.22), rgba(0, 113, 227, 0) 72%);
	pointer-events: none;
}

.thero--simple {
	padding-bottom: clamp(32px, 5vw, 56px);
	text-align: center;
}

.thero--simple .thero-sub {
	margin-inline: auto;
}

.thero-date {
	margin: 20px 0 0;
	color: var(--muted);
	font-size: 15px;
}

/* ---------- Cashi, la mascota ---------- */

.mascot {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.orbit {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.orbit-tile {
	position: absolute;
	left: var(--x);
	top: var(--y);
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background: #fff;
	color: var(--blue);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
	rotate: var(--r);
}

@media (max-width: 760px) {
	.orbit-tile {
		width: 46px;
		height: 46px;
		border-radius: 15px;
	}

	.orbit-tile .icon {
		width: 22px;
		height: 22px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.mascot-float {
		animation: m-float 5.6s ease-in-out infinite;
	}

	.mascot-shadow {
		transform-box: fill-box;
		transform-origin: center;
		animation: m-shadow 5.6s ease-in-out infinite;
	}

	.mascot-arm {
		transform-box: view-box;
		transform-origin: 248px 232px;
		animation: m-wave 4.4s ease-in-out infinite;
	}

	.mascot-eyes {
		transform-box: fill-box;
		transform-origin: center;
		animation: m-blink 5.8s infinite;
	}

	.mascot-check {
		stroke-dasharray: 100;
		animation: m-draw 1.1s var(--ease-out) 0.9s both;
	}

	.thero-art .mascot,
	.safe-art .mascot {
		animation: m-in 1.3s var(--ease-out) 0.2s both;
	}

	.orbit-tile {
		animation: o-in 0.9s var(--ease-out) 0.7s both, o-float 6s ease-in-out var(--d) infinite;
	}

	.thero-copy > * {
		animation: rise 1.1s var(--ease-out) both;
	}

	.thero-copy > :nth-child(2) {
		animation-name: rise-blur;
		animation-delay: 0.08s;
	}

	.thero-copy > :nth-child(3) {
		animation-delay: 0.2s;
	}

	.thero-copy > :nth-child(4) {
		animation-delay: 0.32s;
	}

	@keyframes m-float {
		50% {
			transform: translateY(-12px);
		}
	}

	@keyframes m-shadow {
		50% {
			transform: scaleX(0.88);
			opacity: 0.09;
		}
	}

	@keyframes m-wave {
		0%,
		100% {
			transform: rotate(0deg);
		}

		50% {
			transform: rotate(-6deg);
		}
	}

	@keyframes m-blink {
		0%,
		92%,
		100% {
			transform: scaleY(1);
		}

		95% {
			transform: scaleY(0.08);
		}
	}

	@keyframes m-draw {
		from {
			stroke-dashoffset: 100;
		}

		to {
			stroke-dashoffset: 0;
		}
	}

	@keyframes m-in {
		from {
			opacity: 0;
			transform: translateY(44px) scale(0.94);
		}
	}

	@keyframes o-in {
		from {
			opacity: 0;
			scale: 0.5;
		}
	}

	@keyframes o-float {
		50% {
			translate: 0 -12px;
		}
	}

	/* Aparecer al hacer scroll (misma idea que en main.css) */
	.pc-js .rv {
		opacity: 0;
		translate: 0 32px;
		transition: opacity 1s var(--ease-out) var(--rd, 0ms), translate 1.1s var(--ease-out) var(--rd, 0ms), transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease), background-color 0.4s var(--ease);
	}

	.pc-js .flow:not(.is-in)::after {
		transform: scaleX(0);
	}

	.pc-js .flow:not(.is-in) .flow-icon i {
		scale: 0;
	}
}

/* ---------- Canales oficiales ---------- */

.channels {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.channel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 30px 26px 26px;
	border-radius: var(--radius-lg);
	background: var(--mist);
	transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease);
}

.social .channel,
.on-mist .channel {
	background: #fff;
}

.channel:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 46px rgba(0, 0, 0, 0.09);
}

.channel-icon {
	display: block;
	margin-bottom: 22px;
	color: var(--ink);
}

.channel h3 {
	font-size: 20px;
	letter-spacing: -0.025em;
}

.channel-value {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	margin: 6px 0 10px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.015em;
	overflow-wrap: break-word;
}

.channel-text {
	margin: 0 0 18px;
	color: var(--muted);
	font-size: 15.5px;
	line-height: 1.42;
}

.channel-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: auto;
}

.channel-go {
	color: var(--blue-link);
	font-size: 16px;
	font-weight: 500;
}

.channel-go::after {
	content: " ›";
}

.channel-copy {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 4px 14px;
	border: 0;
	border-radius: var(--pill);
	background: #fff;
	color: var(--ink);
	font: 500 13.5px/1 var(--font);
	letter-spacing: -0.01em;
	cursor: pointer;
	box-shadow: inset 0 0 0 1px var(--line);
	transition: background-color 0.3s var(--ease), color 0.3s var(--ease), transform 0.4s var(--ease-out), box-shadow 0.3s var(--ease);
}

.social .channel-copy,
.on-mist .channel-copy {
	background: var(--mist);
}

.channel-copy:hover {
	background: var(--ink);
	color: #fff;
}

.channel-copy:active {
	transform: scale(0.94);
}

.channel-copy.is-copied {
	background: #1faa59;
	color: #fff;
	box-shadow: none;
}

@media (max-width: 1040px) {
	.channels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.channels {
		grid-template-columns: 1fr;
	}

	.channel {
		padding: 26px 22px 22px;
	}
}

/* Aviso de cuentas oficiales */

.official {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-top: 20px;
	padding: 26px 30px;
	border-radius: 24px;
	background: #e8f2ff;
}

.official-icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--blue);
	color: #fff;
}

.official h3 {
	margin-bottom: 6px;
	font-size: 21px;
	letter-spacing: -0.025em;
}

.official p {
	max-width: 80ch;
	margin: 0;
	color: #3b4a5f;
	font-size: 16.5px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

@media (max-width: 560px) {
	.official {
		flex-direction: column;
		gap: 14px;
		padding: 24px 22px;
	}
}

/* ---------- Contacto: temas, base y datos ---------- */

.channels-section {
	background: #fff;
}

.topics-section {
	background: var(--mist);
}

.topics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 980px) {
	.topics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.topics {
		grid-template-columns: 1fr;
	}
}

.topic {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 22px;
	border-radius: 22px;
	background: #fff;
	color: var(--ink);
	text-decoration: none;
	transition: transform 0.45s var(--ease-out), box-shadow 0.45s var(--ease);
}

.topic:hover {
	color: var(--ink);
	text-decoration: none;
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.topic:active {
	transform: scale(0.98);
}

.topic-icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: #e8f2ff;
	color: var(--blue);
}

.topic-text {
	flex: 1;
	min-width: 0;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.02em;
}

.topic-arrow {
	color: var(--muted);
	font-size: 26px;
	line-height: 1;
	transition: transform 0.4s var(--ease-out);
}

.topic:hover .topic-arrow {
	transform: translateX(4px);
}

.about-section {
	background: #fff;
}

.about-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: clamp(32px, 6vw, 80px);
}

.about-copy h2 {
	max-width: 14ch;
	font-size: clamp(32px, 4.6vw, 52px);
}

.about-copy p {
	margin: 20px 0 0;
	color: var(--muted);
	font-size: 20px;
	line-height: 1.42;
}

.about-links {
	font-size: 17px !important;
}

.facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.facts li {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 138px;
	padding: 22px;
	border-radius: 22px;
	background: var(--mist);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.facts li:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	min-height: 0;
	flex-direction: row;
	align-items: center;
}

.fact-icon {
	display: block;
	color: var(--blue);
}

@media (max-width: 860px) {
	.about-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Garantía ---------- */

.tiers-section {
	background: var(--mist);
}

.tiers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.tier {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 36px 30px 34px;
	border-radius: var(--radius-lg);
	background: #fff;
	transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease);
}

.tier:hover {
	transform: translateY(-5px);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.09);
}

.device-art {
	display: block;
	width: 132px;
	height: 132px;
	margin: 0 0 22px;
}

.tier-tag {
	margin: 0 0 4px;
	color: var(--blue-link);
	font-size: 15px;
	font-weight: 600;
}

.tier h3 {
	font-size: 26px;
	letter-spacing: -0.03em;
}

.tier-time {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 16px 0 14px;
}

.tier-time b {
	font-size: clamp(60px, 7vw, 84px);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.05em;
	font-variant-numeric: tabular-nums;
}

.tier-time span {
	color: var(--muted);
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.02em;
}

.tier-text {
	margin: 0;
	color: var(--muted);
	font-size: 16.5px;
	line-height: 1.45;
}

.trial {
	display: flex;
	align-items: center;
	gap: clamp(20px, 4vw, 44px);
	margin-top: 18px;
	padding: clamp(26px, 4vw, 40px);
	border-radius: var(--radius-lg);
	background: #000;
	color: #f5f5f7;
}

.trial-num {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: center;
	min-width: 110px;
}

.trial-num b {
	background: linear-gradient(180deg, #5ac8fa, #0a84ff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-size: clamp(64px, 8vw, 96px);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.05em;
}

.trial-num small {
	color: #a1a1a6;
	font-size: 18px;
}

.trial h3 {
	color: #f5f5f7;
	font-size: clamp(22px, 2.8vw, 30px);
	letter-spacing: -0.03em;
}

.trial p {
	max-width: 58ch;
	margin: 10px 0 0;
	color: #a1a1a6;
	font-size: 17.5px;
}

@media (max-width: 900px) {
	.tiers {
		grid-template-columns: 1fr;
	}

	.tier {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0 22px;
		align-items: center;
	}

	.tier .device-art {
		width: 104px;
		height: 104px;
		margin: 0;
	}

	.tier-tag,
	.tier h3 {
		flex: 1 1 calc(100% - 140px);
	}

	.tier-time,
	.tier-text {
		flex: 1 1 100%;
	}

	.tier-time {
		margin: 18px 0 8px;
	}
}

@media (max-width: 560px) {
	.trial {
		flex-direction: column;
		align-items: flex-start;
	}

	.trial-num {
		align-items: flex-start;
	}
}

.cover-section {
	background: #fff;
}

.cover-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	gap: 18px;
	align-items: stretch;
}

.covers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cover {
	padding: 28px 26px;
	border-radius: 24px;
	background: var(--mist);
}

.cover-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 18px;
	border-radius: 16px;
	background: #fff;
	color: var(--blue);
}

.cover h3 {
	margin-bottom: 6px;
	font-size: 20px;
	letter-spacing: -0.025em;
}

.cover p {
	margin: 0;
	color: var(--muted);
	font-size: 15.5px;
	line-height: 1.42;
}

.not-covers {
	padding: 30px 28px;
	border-radius: 24px;
	box-shadow: inset 0 0 0 1.5px var(--line);
}

.not-covers h3 {
	margin-bottom: 18px;
	font-size: 22px;
	letter-spacing: -0.028em;
}

.not-covers ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.not-covers li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: #3a3a3c;
	font-size: 16px;
	line-height: 1.4;
}

.not-covers .icon {
	margin-top: 2px;
	color: #ff3b30;
}

@media (max-width: 960px) {
	.cover-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.covers {
		grid-template-columns: 1fr;
	}
}

.claim-section {
	background: #000;
	color: #f5f5f7;
}

.claim-section h2 {
	color: #f5f5f7;
}

.claim-section .how-intro p {
	color: #a1a1a6;
}

.claim-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 26px;
	margin-top: 30px;
}

.fine-section {
	padding-block: clamp(48px, 7vw, 88px);
	background: #fff;
}

.fine-title {
	font-size: 28px !important;
	letter-spacing: -0.03em !important;
	line-height: 1.15 !important;
}

.fine-list {
	display: grid;
	gap: 12px;
	margin: 22px 0 0;
	padding-left: 1.2em;
	color: #3a3a3c;
	font-size: 17px;
	line-height: 1.45;
}

.fine-date {
	margin: 26px 0 0;
	color: var(--muted);
	font-size: 14px;
}

/* Dibujos de equipos */

.device-art--sealed rect[stroke-dasharray] {
	transform-box: fill-box;
	transform-origin: center;
}

@media (prefers-reduced-motion: no-preference) {
	.device-art--sealed rect[stroke-dasharray] {
		animation: film 4s ease-in-out infinite;
	}

	.pc-js .tier .check-draw {
		stroke-dasharray: 100;
		stroke-dashoffset: 100;
		transition: stroke-dashoffset 0.9s var(--ease-out) 0.5s;
	}

	.pc-js .tier.is-in .check-draw {
		stroke-dashoffset: 0;
	}

	.device-art--cable {
		animation: sway 5s ease-in-out infinite;
		transform-origin: 50% 20%;
	}

	@keyframes film {
		50% {
			opacity: 0.5;
		}
	}

	@keyframes sway {
		50% {
			transform: rotate(-4deg);
		}
	}
}

/* ---------- Compra segura ---------- */

.rules-section {
	background: #fff;
}

.rules {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rule {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 32px 28px 28px;
	border-radius: var(--radius-lg);
	background: var(--mist);
	transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease);
}

.rule:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 46px rgba(0, 0, 0, 0.08);
}

.rule-icon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-bottom: 22px;
	border-radius: 19px;
	background: #fff;
	color: var(--blue);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
	transition: transform 0.6s var(--ease-out);
}

.rule:hover .rule-icon {
	transform: scale(1.08) rotate(-4deg);
}

.rule h3 {
	margin-bottom: 8px;
	font-size: 23px;
	letter-spacing: -0.03em;
}

.rule p {
	margin: 0;
	color: var(--muted);
	font-size: 16.5px;
	line-height: 1.45;
}

.rule-link {
	margin-top: 16px;
	font-size: 16px;
}

.rule-link::after {
	content: " ›";
}

@media (max-width: 980px) {
	.rules {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.rules {
		grid-template-columns: 1fr;
	}
}

/* Revisión antes de pagar (lista que se marca) */

.check-section {
	background: #000;
	color: #f5f5f7;
}

.check-section h2 {
	color: #f5f5f7;
}

.check-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: start;
	gap: clamp(36px, 7vw, 96px);
}

.check-intro {
	position: sticky;
	top: calc(var(--header-h) + 40px);
}

.check-intro > p:first-of-type {
	margin: 20px 0 0;
	color: #a1a1a6;
	font-size: 19px;
	line-height: 1.45;
}

.check-ring {
	position: relative;
	width: 150px;
	height: 150px;
	margin-top: 34px;
}

.check-ring svg {
	display: block;
	width: 100%;
	height: 100%;
	rotate: -90deg;
}

.check-ring circle {
	fill: none;
	stroke-width: 9;
	stroke-linecap: round;
}

.ring-bg {
	stroke: #2a2a2d;
}

.ring-fg {
	stroke: var(--blue-bright);
	stroke-dasharray: 100;
	stroke-dashoffset: var(--off, 100);
	transition: stroke-dashoffset 0.8s var(--ease-out), stroke 0.5s var(--ease);
}

.check-ring.is-done .ring-fg {
	stroke: #30d158;
}

.ring-num {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.ring-num b {
	font-size: 46px;
	font-weight: 600;
	letter-spacing: -0.04em;
}

.ring-num small {
	margin-top: 4px;
	color: #a1a1a6;
	font-size: 14px;
}

.check-result {
	max-width: 24em;
	margin: 20px 0 0;
	color: #a1a1a6;
	font-size: 17px;
	transition: color 0.4s var(--ease);
}

.check-result.is-done {
	color: #30d158;
	font-weight: 600;
}

.check-list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.check-item {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	width: 100%;
	padding: 20px 22px;
	border: 0;
	border-radius: 22px;
	background: #161618;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.35s var(--ease), transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease);
}

.check-item:hover {
	background: #1d1d20;
}

.check-item:active {
	transform: scale(0.985);
}

.check-item:focus-visible {
	outline-offset: 2px;
}

.check-box {
	display: grid;
	flex: none;
	place-items: center;
	width: 32px;
	height: 32px;
	margin-top: 1px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px #48484a;
	color: #fff;
	transition: background-color 0.35s var(--ease), box-shadow 0.35s var(--ease);
}

.check-box .icon {
	scale: 0;
	transition: scale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.check-item[aria-checked="true"] .check-box {
	background: #30d158;
	box-shadow: none;
}

.check-item[aria-checked="true"] .check-box .icon {
	scale: 1;
}

.check-item[aria-checked="true"] {
	background: #14231a;
}

.check-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.check-body strong {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.check-body span {
	color: #a1a1a6;
	font-size: 15.5px;
	line-height: 1.4;
}

.check-foot {
	margin: 36px auto 0;
	color: #86868b;
	font-size: 14.5px;
}

.check-foot a {
	color: var(--blue-bright);
}

@media (max-width: 900px) {
	.check-grid {
		grid-template-columns: 1fr;
	}

	.check-intro {
		position: static;
	}
}

/* Pasos en línea */

.flow-section {
	background: var(--mist);
}

.flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.flow::before,
.flow::after {
	content: "";
	position: absolute;
	top: 36px;
	left: 12.5%;
	right: 12.5%;
	height: 3px;
	border-radius: 2px;
	background: #d2d2d7;
}

.flow::after {
	background: var(--blue);
	transform-origin: left center;
	transition: transform 1.6s var(--ease-out) 0.3s;
}

.flow-step {
	position: relative;
	z-index: 1;
	text-align: center;
}

.flow-icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #fff;
	color: var(--blue);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.09);
}

.flow-icon i {
	position: absolute;
	top: -4px;
	right: -4px;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: 13px;
	font-style: normal;
	font-weight: 600;
	transition: scale 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s;
}

.flow-step h3 {
	margin-bottom: 6px;
	font-size: 21px;
	letter-spacing: -0.028em;
}

.flow-step p {
	max-width: 22ch;
	margin: 0 auto;
	color: var(--muted);
	font-size: 15.5px;
	line-height: 1.42;
}

@media (max-width: 860px) {
	.flow {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.flow::before,
	.flow::after {
		top: 37px;
		bottom: 37px;
		left: 36px;
		right: auto;
		width: 3px;
		height: auto;
	}

	.flow::after {
		transform-origin: center top;
	}

	.pc-js .flow:not(.is-in)::after {
		transform: scaleY(0);
	}

	.flow-step {
		display: grid;
		grid-template-columns: 74px 1fr;
		align-items: center;
		gap: 0 20px;
		text-align: left;
	}

	.flow-icon {
		grid-row: 1 / span 2;
		margin: 0;
	}

	.flow-step h3 {
		align-self: end;
	}

	.flow-step p {
		max-width: none;
		margin: 0;
		align-self: start;
	}
}

.official-section {
	background: #fff;
}

.trust-segura .faq {
	background: var(--mist);
}

/* ---------- Privacidad ---------- */

.thero-simple {
	display: block;
}

.summary-section {
	padding-top: 0;
	padding-bottom: clamp(40px, 6vw, 72px);
	background: #fff;
}

ul.summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.summary li {
	padding: 26px 24px;
	border-radius: 24px;
	background: var(--mist);
}

.summary-icon {
	display: block;
	margin-bottom: 16px;
	color: var(--blue);
}

.summary-section ul.summary h2 {
	margin-bottom: 6px;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

ul.summary p {
	margin: 0;
	color: var(--muted);
	font-size: 15.5px;
	line-height: 1.42;
}

@media (max-width: 960px) {
	ul.summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	ul.summary {
		grid-template-columns: 1fr;
	}
}

.policy-section {
	padding-top: 0;
	background: #fff;
}

.policy-grid {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: start;
	gap: clamp(32px, 6vw, 88px);
}

.policy-toc {
	position: sticky;
	top: calc(var(--header-h) + 28px);
}

.policy-toc-title {
	margin: 0 0 14px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.policy-toc ol {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.policy-toc a {
	display: block;
	padding: 7px 12px;
	margin-left: -12px;
	border-radius: 10px;
	color: #424245;
	font-size: 15px;
	line-height: 1.3;
	transition: background-color 0.3s var(--ease), color 0.3s var(--ease);
}

.policy-toc a:hover {
	background: var(--mist);
	color: var(--blue-link);
	text-decoration: none;
}

.policy-body {
	max-width: 720px;
}

.policy-sec {
	padding: 0 0 clamp(32px, 5vw, 48px);
	scroll-margin-top: calc(var(--header-h) + 24px);
}

.policy-section .policy-sec h2 {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
	font-size: clamp(24px, 3vw, 30px);
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.policy-n {
	display: grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--mist);
	color: var(--muted);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
}

.policy-sec p,
.policy-sec li {
	color: #3a3a3c;
	font-size: 17.5px;
	line-height: 1.6;
}

.policy-sec ul {
	display: grid;
	gap: 8px;
	margin: 12px 0 0;
	padding-left: 1.3em;
}

.policy-sec p {
	margin: 0 0 12px;
}

.policy-contact {
	padding: 30px 30px 24px;
	border-radius: var(--radius-lg);
	background: var(--mist);
}

.policy-section .policy-contact h2 {
	margin-bottom: 10px;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.policy-contact p {
	margin: 0;
	color: #3a3a3c;
	font-size: 17px;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.policy-grid {
		grid-template-columns: 1fr;
	}

	.policy-toc {
		display: none;
	}
}

/* ---------- Inicio: confianza ---------- */

.safe {
	background: var(--mist);
}

.safe-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(32px, 6vw, 88px);
}

.safe-art {
	position: relative;
	width: min(100%, 340px);
	margin-inline: auto;
}

.safe-copy h2 {
	max-width: 14ch;
}

.safe-lead {
	margin: 18px 0 0;
	color: var(--muted);
	font-size: clamp(18px, 2vw, 21px);
	line-height: 1.4;
}

.safe-list {
	display: grid;
	gap: 14px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.safe-list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 17.5px;
	line-height: 1.4;
}

.safe-ic {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 13px;
	background: #fff;
	color: var(--blue);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.safe-warranty {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 30px;
}

.chip {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 20px;
	border-radius: 20px;
	background: #fff;
	color: var(--ink);
	font-size: 17px;
	line-height: 1.1;
}

.chip b {
	display: inline;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.04em;
}

.chip small {
	margin-top: 4px;
	color: var(--muted);
	font-size: 13px;
}

.safe-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 26px;
	margin: 32px 0 0;
}

@media (max-width: 860px) {
	.safe-grid {
		grid-template-columns: 1fr;
	}

	.safe-art {
		width: min(72%, 260px);
	}

	.safe-copy h2 {
		max-width: none;
	}
}

/* ---------- Pie de página ---------- */

.footer-policies {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0 0 18px;
	padding-top: 24px;
	border-top: 1px solid #1d1d1f;
	font-size: 13px;
}

.footer-policies a {
	color: #a1a1a6;
}

.footer-policies a:hover {
	color: #f5f5f7;
	text-decoration: none;
}

.site-footer .footer-policies + .footer-legal {
	padding-top: 0;
	border-top: 0;
}

.site-footer .footer-link-icon span {
	overflow-wrap: anywhere;
}

/* ---------- Ficha de producto ---------- */

.single-trust__list a {
	white-space: nowrap;
}

/* ---------- Teléfono ---------- */

@media (max-width: 860px) {
	.thero-grid {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.thero-art {
		width: min(78%, 300px);
		margin-top: 8px;
	}
}

@media (max-width: 520px) {
	.thero-actions {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.thero-actions .btn {
		width: 100%;
	}

	.trust-page .btn-lg {
		padding-inline: 24px;
	}
}

/* ---------- Tasa 0: tarjetas de bancos ---------- */

.banks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.bank {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 18px 18px 22px;
	border-radius: 24px;
	background: var(--white);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03), 0 10px 30px -18px rgba(0, 0, 0, 0.18);
}

.banks .bank:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.bank-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 84px;
	padding: 14px 18px;
	border-radius: 16px;
	background: var(--mist);
}

.bank-logo {
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.has-logo .bank-logo {
	padding: 16px 10px 14px;
}

.bank-logo img {
	display: block;
	flex: none;
	width: 60px;
	height: 60px;
	border-radius: 14px;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
}

.bank-wordmark {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	text-wrap: balance;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-align: center;
}

.bank-terms {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding-inline: 6px;
	color: var(--muted);
	font-size: 15px;
}

.bank-terms b {
	color: var(--blue);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
}

.bank-terms small {
	font-size: 15px;
}

@media (prefers-reduced-motion: no-preference) {
	.bank {
		transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
	}

	.bank:hover {
		transform: translateY(-4px);
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03), 0 22px 40px -20px rgba(0, 0, 0, 0.28);
	}
}

@media (max-width: 520px) {
	.banks {
		gap: 10px;
	}

	.bank {
		padding: 12px 12px 16px;
	}

	.bank-logo {
		min-height: 70px;
		padding: 10px;
	}

	.has-logo .bank-logo {
		flex-direction: column;
		justify-content: center;
		gap: 8px;
		padding: 12px 8px;
	}

	.has-logo .bank-wordmark {
		text-align: center;
	}

	.bank-logo img {
		width: 52px;
		height: 52px;
		border-radius: 12px;
	}

	.bank-wordmark {
		font-size: 16px;
	}

	.bank-terms b {
		font-size: 32px;
	}
}

@media (max-width: 380px) {
	.bank-terms {
		flex-wrap: wrap;
		gap: 2px 6px;
		padding-inline: 2px;
	}

	.bank-terms b {
		font-size: 28px;
	}

	.bank-terms small {
		font-size: 13px;
	}

	.bank-wordmark {
		font-size: 15px;
	}
}

/* Cuatro tarjetas en una fila (página del iPhone 18 Pro Max). */
.rules--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1000px) {
	.rules--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.rules--four {
		grid-template-columns: 1fr;
	}
}
