/*
 * Página "Herramientas para fotógrafos" (/es/herramientas-para-fotografos/
 * y su equivalente EN). Reutiliza los tokens y componentes de home.css,
 * y añade el grid de tarjetas de herramientas.
 */

/* Tokens de marca también dentro del editor (en el front los pone home.css). */
.editor-styles-wrapper {
	--ps-green: #316d61;
	--ps-green-dark: #24544a;
	--ps-ink: #322f30;
	--ps-coral: #ee6958;
	--ps-sage: #c6d8af;
	--ps-paper: #f1f2eb;
	--ps-muted: #5b6462;
	--ps-line: #dfe6e2;
	--ps-radius: 18px;
}

/* Los anclajes internos no deben quedar bajo el header sticky. */
.ps-subpage [id] { scroll-margin-top: 104px; }

/* ============================================================
   Hero centrado
   ============================================================ */
.ps-tools-hero {
	text-align: center;
	background-color: var(--ps-paper);
	background-image:
		radial-gradient(100% 90% at 88% -10%, rgba(198, 216, 175, .55) 0%, rgba(198, 216, 175, 0) 62%),
		radial-gradient(90% 70% at 0% 0%, rgba(49, 109, 97, .10) 0%, rgba(49, 109, 97, 0) 60%),
		linear-gradient(180deg, #f6f7f1 0%, var(--ps-paper) 55%, #ffffff 100%);
}
.ps-tools-hero-inner {
	max-width: 880px !important;
	margin: 0 auto !important;
	text-align: center;
}
.ps-tools-hero .ps-eyebrow {
	display: flex !important;
	width: fit-content !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ps-tools-hero .ps-hero-title {
	font-size: clamp(2.05rem, 3.6vw, 3.15rem) !important;
	margin-bottom: .35em !important;
	text-wrap: balance;
}
.ps-tools-hero .ps-hero-sub {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 62ch;
}
.ps-tools-hero .wp-block-buttons { justify-content: center !important; }
.ps-tools-hero .ps-hero-note {
	margin: 16px auto 0 !important;
	max-width: none;
}

/* ============================================================
   Grid de herramientas
   ============================================================ */
.ps-tools { background: #fff; }
.ps-tools-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0 !important;
	max-width: none !important;
}
@media (max-width: 820px) {
	.ps-tools-grid { grid-template-columns: 1fr; gap: 16px; }
}

.ps-tool {
	display: flex !important;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius);
	padding: 26px 26px 24px !important;
	margin: 0 !important;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ps-tool:hover {
	border-color: #cbd8d2;
	box-shadow: 0 22px 48px -34px rgba(24, 58, 51, .45);
	transform: translateY(-2px);
}
.ps-tool-n {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 11px;
	background: rgba(238, 105, 88, .1);
	border: 1px solid rgba(238, 105, 88, .3);
	color: #c04434 !important;
	font-size: .78rem !important;
	font-weight: 800;
	letter-spacing: .02em;
	margin: 0 0 14px !important;
	line-height: 1;
}
.ps-tool h3 {
	font-size: clamp(1.08rem, 1.5vw, 1.22rem) !important;
	line-height: 1.25 !important;
	margin: 0 0 .45em !important;
	letter-spacing: -.02em;
}
.ps-tool > p,
.ps-tool .ps-feature-text {
	font-size: .93rem !important;
	line-height: 1.58 !important;
	color: var(--ps-muted) !important;
	margin: 0 0 14px !important;
}
.ps-tool .ps-feature-list {
	list-style: none !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}
.ps-tool .ps-feature-list li {
	position: relative;
	padding-left: 1.5em;
	margin: 0 0 .4em !important;
	font-size: .88rem !important;
	line-height: 1.5;
	color: #3f4846;
}
.ps-tool .ps-feature-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ps-green);
	font-weight: 700;
}
.ps-tool .ps-feature-link {
	margin: auto 0 0 !important;
	padding-top: 4px;
}
.ps-tool .ps-feature-link a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: .9rem;
	color: var(--ps-green) !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(49, 109, 97, .3);
	padding-bottom: 1px;
}
.ps-tool .ps-feature-link a::after { content: "→"; }
.ps-tool .ps-feature-link a:hover { color: var(--ps-green-dark) !important; border-bottom-color: var(--ps-green-dark); }
.ps-tool .ps-tool-note {
	margin-top: 10px !important;
	font-size: .78rem !important;
	line-height: 1.5 !important;
	color: #77807d !important;
}

/* ============================================================
   Otras herramientas (3 columnas)
   ============================================================ */
.ps-extras { background: var(--ps-paper); }
.ps-extras-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0 !important;
	max-width: none !important;
}
@media (max-width: 980px) {
	.ps-extras-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.ps-extras-grid { grid-template-columns: 1fr; gap: 16px; }
}
.ps-extras .ps-tool { background: #fff; }

/* ============================================================
   Landing de una herramienta (Galerías, y siguientes)
   ============================================================ */

/* Bloque a dos columnas: texto + captura alternando lado. */
.ps-split {
	display: grid !important;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	margin: 0 !important;
	max-width: none !important;
}
/* Separador fino entre explicaciones. */
.ps-split + .ps-split {
	margin-top: clamp(28px, 3.6vw, 44px) !important;
	padding-top: clamp(28px, 3.6vw, 44px);
	border-top: 1px solid rgba(50, 47, 48, .12);
}
.ps-split > * { min-width: 0; }
/* En las filas invertidas la captura va a la izquierda, pero siempre en la columna estrecha. */
.ps-split--reverse { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
.ps-split--reverse .ps-split-media { order: -1; }
@media (max-width: 880px) {
	.ps-split { grid-template-columns: 1fr; gap: 22px; }
	.ps-split--reverse .ps-split-media { order: 0; }
}
.ps-split-copy h3 {
	font-size: clamp(1.2rem, 1.9vw, 1.55rem) !important;
	line-height: 1.22 !important;
	letter-spacing: -.025em;
	margin: 0 0 .5em !important;
}
.ps-split-copy .ps-body { margin-bottom: 14px !important; }
.ps-split-copy .ps-feature-list { margin-bottom: 0 !important; }
.ps-split-media { margin: 0 !important; }
.ps-split-media .wp-block-image { margin: 0 !important; }
/* Todas las capturas comparten marco 3:2 para que la sección respire igual. */
.ps-split-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	border-radius: 14px;
	border: 1px solid var(--ps-line);
	background: #fff;
	box-shadow: 0 16px 34px -30px rgba(24, 58, 51, .45);
}
.ps-split-kicker {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	font-size: .72rem !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ps-coral) !important;
	margin: 0 0 10px !important;
	line-height: 1;
}

/* Pasos numerados (Cómo funciona) */
.ps-steps--wide { max-width: 1080px; margin-left: auto !important; margin-right: auto !important; }
.ps-step .ps-step-n--wide { min-width: 0; padding: 0 12px !important; }

/* Preguntas frecuentes con una sola columna y separadores */
.ps-faq-list { max-width: 860px; margin: 0 auto !important; }
.ps-faq-list .wp-block-accordion { border-top: 1px solid rgba(50, 47, 48, .14); }

/* ============================================================
   Hero con captura (landing de una herramienta)
   Texto a la izquierda, captura a la derecha.
   ============================================================ */
.ps-hero-visual--plain { padding-bottom: 0 !important; }
.ps-hero-visual--plain .ps-app-shot { max-width: 720px; }

/* La descripción de una tarjeta-resumen cierra la tarjeta. */
.ps-tool .ps-feature-text:last-child { margin-bottom: 0 !important; }

@media (max-width: 700px) {
	.ps-hero-visual--plain .ps-app-shot { max-width: 100%; }
}

/* Introducción de la sección de funciones: resumen + enlace al detalle. */
.ps-features-lead { margin-bottom: 10px !important; }
.ps-lead-note {
	margin: 0 auto 18px !important;
	max-width: 640px;
	font-size: .95rem !important;
	line-height: 1.55 !important;
	color: var(--ps-muted) !important;
}
.ps-features-link {
	margin: 0 0 40px !important;
	text-align: center;
	font-size: .9rem !important;
	font-weight: 600;
}
.ps-features-link a {
	color: var(--ps-green) !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(49, 109, 97, .3);
	padding-bottom: 2px;
}
.ps-features-link a:hover { border-bottom-color: var(--ps-green); }

/* ============================================================
   Resumen de funciones: 3 columnas con icono de línea
   ============================================================ */
.ps-features-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 18px;
}
@media (max-width: 980px) {
	.ps-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
	.ps-features-grid { grid-template-columns: 1fr !important; gap: 14px; }
}

.ps-features-grid .ps-tool {
	position: relative;
	padding: 24px 24px 22px !important;
}
.ps-features-grid .ps-tool::before {
	content: "";
	display: block;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background-color: rgba(238, 105, 88, .10);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	margin: 0 0 18px;
	transition: background-color .18s ease;
}
.ps-features-grid .ps-tool:hover::before { background-color: rgba(238, 105, 88, .18); }

/* Iconos de las tarjetas-resumen (decorativos, definidos por clase). */
.ps-features-grid .ps-tool.ps-ico-gallery::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-heart::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-comment::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-8.5 8.5 8.6 8.6 0 0 1-3.8-.9L3 21l1.9-5.7A8.6 8.6 0 0 1 4 11.5 8.5 8.5 0 0 1 12.5 3 8.4 8.4 0 0 1 21 11.5z'/%3E%3Ccircle cx='8.5' cy='11.5' r='.8' fill='%23ee6958' stroke='none'/%3E%3Ccircle cx='12' cy='11.5' r='.8' fill='%23ee6958' stroke='none'/%3E%3Ccircle cx='15.5' cy='11.5' r='.8' fill='%23ee6958' stroke='none'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-history::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-link::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-download::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-camera::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3C/svg%3E");
}
/* Pagos y facturación */
.ps-features-grid .ps-tool.ps-ico-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-calendar::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-invoice::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M8 13h8M8 17h5'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-shield::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-rotate::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E");
}

.ps-features-grid .ps-tool h3 { margin-top: 0 !important; }
.ps-features-grid .ps-tool .ps-feature-text { font-size: .9rem !important; line-height: 1.5 !important; }

.ps-features-grid .ps-tool:nth-child(7) { grid-column: 2; }

@media (max-width: 980px) {
	.ps-features-grid .ps-tool:nth-child(7) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - 9px);
	}
}
@media (max-width: 680px) {
	.ps-features-grid .ps-tool:nth-child(7) {
		grid-column: auto;
		width: 100%;
	}
}

/* ============================================================
   Pasos con captura (landing de Pagos)
   ============================================================ */
.ps-steps--media .ps-step--media { padding: 14px 14px 22px !important; }
.ps-step-media { margin: 0 0 16px !important; }
.ps-step-media .wp-block-image { margin: 0 !important; }
.ps-step-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: 12px;
}
.ps-step--media .ps-step-n { margin-top: 6px; }
.ps-step--media h3 { font-size: clamp(1.02rem, 1.4vw, 1.15rem) !important; }
.ps-step--media p { font-size: .9rem !important; }
.ps-step--media .ps-step-copy { padding: 0 6px; }

/* ============================================================
   Banda de planes (CTA intermedio)
   ============================================================ */
.ps-pricing { background: #fff; }
.ps-plan-band {
	max-width: 1000px;
	margin: 0 auto;
	padding: clamp(28px, 4vw, 46px) clamp(22px, 4vw, 52px);
	text-align: center;
	background: linear-gradient(180deg, rgba(198, 216, 175, .22), rgba(198, 216, 175, .08));
	border: 1px solid rgba(49, 109, 97, .16);
	border-radius: 22px;
}
.ps-plan-band h2 {
	font-size: clamp(1.45rem, 2.4vw, 2rem) !important;
	line-height: 1.12 !important;
	letter-spacing: -.025em;
	margin: 0 0 .4em !important;
}
.ps-plan-text {
	max-width: 68ch;
	margin: 0 auto 22px !important;
	color: var(--ps-muted) !important;
}
.ps-plan-band .wp-block-buttons { justify-content: center !important; }
.ps-plan-note {
	max-width: 72ch;
	margin: 16px auto 0 !important;
	font-size: .82rem !important;
	line-height: 1.5 !important;
	color: var(--ps-muted) !important;
}

/* Con 5 tarjetas, en 2 columnas la última queda sola: se centra. */
@media (min-width: 681px) and (max-width: 980px) {
	.ps-features-grid .ps-tool:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - 9px);
	}
}

/* Contratos */
.ps-features-grid .ps-tool.ps-ico-template::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-signature::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-pdf::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 15l2 2 4-4'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-globe::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3a15 15 0 0 1 0 18a15 15 0 0 1 0-18z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-lock::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-infinity::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.5 8.5c-2.5 0-4.5 3.5-6.5 3.5s-4-3.5-6.5-3.5a3.5 3.5 0 0 0 0 7c2.5 0 4.5-3.5 6.5-3.5s4 3.5 6.5 3.5a3.5 3.5 0 0 0 0-7z'/%3E%3C/svg%3E");
}

/* Clientes */
.ps-features-grid .ps-tool.ps-ico-brain::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-cake::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21h16'/%3E%3Cpath d='M5 21v-7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v7'/%3E%3Cpath d='M12 12V9'/%3E%3Cpath d='M12 5.5c.7 0 1-.5 1-1S12.5 3 12 3s-1 .5-1 1 .3 1.5 1 1.5z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-eye::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-chart::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 16v-4M12 16V8M17 16V5'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-search::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-mail::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}
/* Porfolio */
.ps-features-grid .ps-tool.ps-ico-frame::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-folder::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-eyeoff::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.9 17.9A10.4 10.4 0 0 1 12 20C5 20 1 12 1 12a19.8 19.8 0 0 1 5.1-6.1'/%3E%3Cpath d='M9.9 4.2A10 10 0 0 1 12 4c7 0 11 8 11 8a19.6 19.6 0 0 1-2.2 3.3'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M1 1l22 22'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-palette::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21a9 9 0 1 1 9-9c0 2-1.5 3-3 3h-2a2 2 0 0 0-2 2c0 1 .5 1.5.5 2.5S13.5 21 12 21z'/%3E%3Ccircle cx='7.5' cy='11' r='.8' fill='%23ee6958' stroke='none'/%3E%3Ccircle cx='10' cy='7.5' r='.8' fill='%23ee6958' stroke='none'/%3E%3Ccircle cx='14.5' cy='7.5' r='.8' fill='%23ee6958' stroke='none'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-phone::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E");
}
/* Photo Stats */
.ps-features-grid .ps-tool.ps-ico-zap::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L3 14h8l-1 8 10-12h-8z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-target::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-layers::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l10 5-10 5L2 7z'/%3E%3Cpath d='M2 12l10 5 10-5'/%3E%3Cpath d='M2 17l10 5 10-5'/%3E%3C/svg%3E");
}

/* ============================================================
   Página de Precios
   ============================================================ */
.ps-pricing-cards { background: #fff; }
.ps-compare-section { background: #fff; }

/* Planes */
.ps-plans--pricing .ps-plan { background: #fff; }
.ps-plans--pricing .ps-plan--featured::before { display: none !important; }
.ps-plan-badge {
	align-self: center;
	margin: 0 0 14px !important;
	padding: 6px 13px;
	border-radius: 999px;
	background: var(--ps-coral);
	color: #fff !important;
	font-size: .68rem !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1;
}
.ps-plans--pricing .ps-price {
	font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
	font-weight: 700 !important;
	color: var(--ps-ink) !important;
	letter-spacing: -.02em;
	margin: 0 0 4px !important;
}
.ps-plans--pricing .ps-plan-note { min-height: 3.2em; }
.ps-plans--pricing .ps-plan .wp-block-buttons { margin-top: auto !important; }
.ps-plans--pricing .ps-plan .wp-block-button,
.ps-plans--pricing .ps-plan .wp-block-button__link { width: 100%; }
.ps-plans--pricing .ps-plan .wp-block-button__link { text-align: center; }
.ps-proof {
	text-align: center;
	margin: 26px 0 0 !important;
	font-size: .9rem !important;
	color: var(--ps-muted) !important;
}

/* Tabla de espacio */
.ps-storage-band { background: #f7f8f3; }
.ps-storage {
	margin: 0 !important;
	overflow-x: auto;
	background: #fff;
	border: 1px solid rgba(49, 109, 97, .12);
	border-radius: 22px;
	box-shadow: 0 18px 40px -30px rgba(24, 58, 51, .45);
}
.ps-storage table {
	width: 100%;
	min-width: 640px;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .92rem;
	font-variant-numeric: tabular-nums;
}
.ps-storage thead,
.ps-storage tbody,
.ps-storage tr,
.ps-compare thead,
.ps-compare tbody,
.ps-compare tr { border: 0 !important; }
.ps-storage th,
.ps-storage td {
	border: 0 !important;
	padding: 18px 20px;
	text-align: center;
	vertical-align: middle;
}
.ps-storage tbody tr + tr td { border-top: 1px solid rgba(49, 109, 97, .08) !important; }
.ps-storage th:first-child,
.ps-storage td:first-child { text-align: left; }
.ps-storage thead th {
	background: #f2f6ec;
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6f7b74;
}
.ps-storage thead th:first-child { border-radius: 22px 0 0 0; }
.ps-storage thead th:last-child { border-radius: 0 22px 0 0; }
.ps-storage thead th:nth-child(3) { background: #e3ecd6; color: var(--ps-green); }
.ps-storage thead th:nth-child(3)::after {
	content: "Ahorra 3–4 meses";
	display: block;
	width: fit-content;
	margin: 6px auto 0;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--ps-green);
	color: #fff;
	font-size: .55rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: none;
}
html[lang^="en"] .ps-storage thead th:nth-child(3)::after { content: "Save 3–4 months"; }
.ps-storage td:nth-child(3) { background: rgba(198, 216, 175, .16); }
.ps-storage tbody tr:hover td { background-color: #fbfcf7; }
.ps-storage tbody tr:hover td:nth-child(3) { background-color: rgba(198, 216, 175, .26); }
.ps-storage td strong {
	display: block;
	font-size: 1.14rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--ps-ink);
}
.ps-storage td:first-child strong { font-size: 1.22rem; color: var(--ps-green); }
.ps-cell-sub {
	display: block;
	margin-top: 3px;
	font-size: .74rem;
	font-weight: 400;
	color: var(--ps-muted);
}
.ps-storage-note {
	margin: 16px 0 0 !important;
	font-size: .8rem !important;
	text-align: center;
	color: var(--ps-muted) !important;
}

/* Espacio en móvil: una ficha por tramo, con los tres precios */
@media (max-width: 700px) {
	.ps-storage {
		overflow: visible;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.ps-storage table,
	.ps-storage tbody { display: block; width: 100%; min-width: 0; }
	.ps-storage thead { display: none; }
	.ps-storage tbody tr {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		margin-bottom: 12px;
		padding: 16px;
		background: #fff;
		border: 1px solid rgba(49, 109, 97, .12);
		border-radius: 18px;
		box-shadow: 0 12px 26px -24px rgba(24, 58, 51, .45);
	}
	.ps-storage tbody tr + tr td { border-top: 0 !important; }
	.ps-storage td {
		padding: 0;
		text-align: center;
		background: transparent !important;
	}
	.ps-storage td:first-child {
		grid-column: 1 / -1;
		padding-bottom: 10px;
		margin-bottom: 2px;
		border-bottom: 1px solid rgba(49, 109, 97, .10);
		text-align: left;
	}
	.ps-storage td:nth-child(n+2) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 10px 6px;
		border-radius: 12px;
		background: #f7f9f3 !important;
	}
	.ps-storage td:nth-child(n+2)::before {
		display: block;
		margin-bottom: 4px;
		font-size: .6rem;
		font-weight: 700;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: #6f7b74;
	}
	html[lang^="es"] .ps-storage td:nth-child(2)::before { content: "Mes"; }
	html[lang^="es"] .ps-storage td:nth-child(3)::before { content: "Año"; }
	html[lang^="es"] .ps-storage td:nth-child(4)::before { content: "Único"; }
	html[lang^="en"] .ps-storage td:nth-child(2)::before { content: "Month"; }
	html[lang^="en"] .ps-storage td:nth-child(3)::before { content: "Year"; }
	html[lang^="en"] .ps-storage td:nth-child(4)::before { content: "One-time"; }
	.ps-storage td:nth-child(3) { background: #eef4e6 !important; }
	.ps-storage td strong { font-size: 1.02rem; }
	.ps-storage td:first-child strong { font-size: 1.16rem; }
	.ps-storage tbody tr:hover td { background-color: #f7f9f3; }
	.ps-storage tbody tr:hover td:nth-child(3) { background-color: #eef4e6; }
}

/* Tabla comparativa */
.ps-compare {
	max-height: 72vh;
	overflow: auto;
	margin: 0 !important;
	background: #fff;
	border: 1px solid rgba(49, 109, 97, .12);
	border-radius: 22px;
	box-shadow: 0 18px 40px -30px rgba(24, 58, 51, .45);
}
.ps-compare table {
	width: 100%;
	min-width: 880px;
	border: 0 !important;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	font-size: .9rem;
}
.ps-compare th,
.ps-compare td {
	border: 0 !important;
	padding: 13px 18px;
	text-align: left;
	vertical-align: middle;
}
.ps-compare tbody tr + tr td { border-top: 1px solid rgba(50, 47, 48, .07) !important; }
.ps-compare thead th {
	background: #2f5f55;
	padding-top: 16px;
	padding-bottom: 16px;
	font-size: .9rem;
	font-weight: 600;
	color: #fff;
}
.ps-compare thead th:nth-child(3) {
	background: #316d61;
	box-shadow: inset 0 3px 0 var(--ps-coral);
}
.ps-compare th:nth-child(n+2),
.ps-compare td:nth-child(n+2) { text-align: center; width: 15%; }
.ps-compare th:first-child { width: 55%; }
.ps-compare td { color: #4a4a48; font-weight: 500; }
.ps-compare td:first-child { color: var(--ps-ink); }
.ps-compare td:nth-child(3) { background: rgba(198, 216, 175, .13); }
.ps-compare tbody tr:hover td { background-color: #fafbf7; }
.ps-compare tbody tr:hover td:nth-child(3) { background-color: rgba(198, 216, 175, .22); }
.ps-compare tr.ps-group td {
	background: #eef3e7 !important;
	border-top: 0;
	padding: 13px 18px;
}
.ps-compare tr.ps-group:hover td { background: #e8efe0 !important; }
.ps-group-inner {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 12px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: #2f5f55;
}
.ps-group-link {
	margin-left: auto;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ps-coral) !important;
	text-decoration: none !important;
	white-space: nowrap;
}
.ps-yes {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(49, 109, 97, .10);
	color: var(--ps-green);
	font-size: .76rem;
	font-weight: 700;
	line-height: 1;
}
.ps-no { color: #c3c8c1; font-weight: 600; }
.ps-plan-price {
	display: block;
	margin-top: 3px;
	font-size: .72rem;
	font-weight: 500;
	color: rgba(255, 255, 255, .72);
}
.ps-compare-hint { display: none; margin: 0 0 10px !important; font-size: .82rem !important; color: var(--ps-muted) !important; }

/* Toggle Mensual / Anual */
.ps-billing-toggle { margin: 0 0 10px !important; gap: 8px; }
.ps-billing-toggle .ps-bill-btn .wp-block-button__link {
	background: #fff !important;
	color: var(--ps-green) !important;
	border: 1px solid var(--ps-line) !important;
	box-shadow: none !important;
	padding: 9px 20px;
	font-size: .88rem;
	font-weight: 600;
}
.ps-billing-toggle .ps-bill-btn.is-active .wp-block-button__link {
	background: var(--ps-green) !important;
	color: #fff !important;
	border-color: var(--ps-green) !important;
}
.ps-billing-note {
	text-align: center;
	margin: 0 0 26px !important;
	font-size: .82rem !important;
	color: var(--ps-muted) !important;
}
.ps-price--month { display: none; }
.ps-price--year { display: block; }
.ps-billing--month .ps-price--month { display: block; }
.ps-billing--month .ps-price--year { display: none; }
.ps-billing--year .ps-price--month { display: none; }
.ps-billing--year .ps-price--year { display: block; }
.ps-price-sub {
	display: block;
	margin-top: 2px;
	font-size: .78rem !important;
	font-weight: 500;
	color: var(--ps-muted) !important;
}
/* La columna de la tabla que corresponde al modo elegido */
.ps-billing--month .ps-storage thead th:nth-child(2) {
	background: #e3ecd6;
	color: var(--ps-green);
}
.ps-billing--month .ps-storage td:nth-child(2) { background: rgba(198, 216, 175, .16); }
.ps-billing--month .ps-storage thead th:nth-child(3) {
	background: #f2f6ec;
	color: #6f7b74;
}
.ps-billing--month .ps-storage thead th:nth-child(3)::after { display: none; }
.ps-billing--month .ps-storage td:nth-child(3) { background: transparent; }
.ps-billing--month .ps-storage tbody tr:hover td:nth-child(2) { background-color: rgba(198, 216, 175, .26); }
.ps-billing--month .ps-storage tbody tr:hover td:nth-child(3) { background-color: transparent; }
@media (max-width: 700px) {
	.ps-billing--month .ps-storage td:nth-child(2) { background: #eef4e6 !important; }
	.ps-billing--month .ps-storage td:nth-child(3) { background: #f7f9f3 !important; }
}

/* El precio de la cabecera Pro y de la fila de precio también cambian con el toggle */
.ps-plan-price--month { display: none; }
.ps-plan-price--year { display: block; }
.ps-billing--month .ps-plan-price--month { display: block; }
.ps-billing--month .ps-plan-price--year { display: none; }
.ps-row-price--month { display: none; }
.ps-row-price--year { display: inline; }
.ps-billing--month .ps-row-price--month { display: inline; }
.ps-billing--month .ps-row-price--year { display: none; }

/* Con 3 planes, en 2 columnas el último queda solo: se centra. */
@media (min-width: 621px) and (max-width: 860px) {
	.ps-plans--pricing .ps-plan:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - 10px);
	}
}

/* Comparativa desplegable */
.ps-compare-help {
	margin: 0 0 8px !important;
	text-align: center;
	font-size: .86rem !important;
	color: var(--ps-muted) !important;
}
.ps-compare-help a {
	font-weight: 600;
	color: var(--ps-green) !important;
}
.ps-compare-note {
	margin: 14px 0 0 !important;
	max-width: 82ch;
	font-size: .82rem !important;
	line-height: 1.5 !important;
	color: var(--ps-muted) !important;
}
.ps-group-inner { justify-content: flex-start; }
.ps-group-link { margin-left: auto; }
.ps-group-chevron {
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform .18s ease;
}
tr.ps-group.is-open .ps-group-chevron { transform: rotate(45deg); }
.ps-compare--ready tr.ps-group { cursor: pointer; }
.ps-compare--ready tr.ps-group:hover td { background: #edf2e9 !important; }

/* Cabecera fija dentro de la caja con scroll */
.ps-compare-sticky {
	position: sticky;
	top: 0;
	z-index: 6;
	display: grid;
	grid-template-columns: 55% 15% 15% 15%;
	min-width: 880px;
	width: 100%;
	background: #2f5f55;
	border-bottom: 1px solid rgba(0, 0, 0, .18);
	border-radius: 22px 22px 0 0;
	overflow: hidden;
	pointer-events: none;
}
.ps-compare-sticky-row { display: contents; }
.ps-compare-sticky-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 16px 18px;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.1;
	color: #fff;
	background: #2f5f55;
}
.ps-compare-sticky-cell:first-child {
	align-items: flex-start;
	justify-content: center;
	position: sticky;
	left: 0;
	z-index: 2;
}
.ps-compare-sticky-cell.is-pro {
	background: #316d61;
	box-shadow: inset 0 3px 0 var(--ps-coral);
}

@media (max-width: 760px) {
	.ps-compare-sticky-cell:first-child { z-index: 3; }
	.ps-compare tr.ps-group td { position: static; }
}

/* Comparativa en móvil: cada función es una ficha con los tres planes */
@media (max-width: 960px) {
	.ps-compare {
		max-height: none;
		overflow: visible;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}
	.ps-compare table {
		display: block;
		min-width: 0;
		width: 100%;
		table-layout: auto;
	}
	.ps-compare thead { display: none; }
	.ps-compare tbody { display: block; }
	.ps-compare tr { display: block; }
	.ps-compare tbody tr[hidden] { display: none !important; }

	.ps-compare tr.ps-group { margin: 20px 0 10px; }
	.ps-compare tr.ps-group td {
		display: block;
		padding: 0 4px;
		background: transparent !important;
	}
	.ps-compare tr.ps-group:first-child { margin-top: 0; }
	.ps-group-inner { font-size: .68rem; }

	.ps-compare tbody tr:not(.ps-group) {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
		align-items: stretch;
		margin-bottom: 10px;
		padding: 14px 16px;
		background: #fff;
		border: 1px solid rgba(49, 109, 97, .12);
		border-radius: 16px;
		box-shadow: 0 10px 24px -22px rgba(24, 58, 51, .4);
	}
	.ps-compare tbody tr:not(.ps-group) td {
		display: block;
		width: auto !important;
		padding: 0;
		border: 0 !important;
		text-align: center;
		background: transparent !important;
	}
	.ps-compare tbody tr:not(.ps-group) td:first-child {
		grid-column: 1 / -1;
		margin-bottom: 4px;
		padding-bottom: 10px;
		border-bottom: 1px solid rgba(49, 109, 97, .09);
		text-align: left;
		font-weight: 600;
		color: var(--ps-ink);
	}
	.ps-compare tbody tr:not(.ps-group) td:nth-child(n+2) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 8px 4px;
		border-radius: 10px;
		background: #f7f9f3 !important;
	}
	.ps-compare tbody tr:not(.ps-group) td:nth-child(3) {
		background: #eef4e6 !important;
	}
	.ps-compare tbody tr:not(.ps-group) td:nth-child(n+2)::before {
		display: block;
		margin-bottom: 4px;
		font-size: .62rem;
		font-weight: 700;
		letter-spacing: .07em;
		text-transform: uppercase;
		color: #6f7b74;
	}
	html[lang^="es"] .ps-compare tbody tr:not(.ps-group) td:nth-child(2)::before { content: "Gratis"; }
	html[lang^="es"] .ps-compare tbody tr:not(.ps-group) td:nth-child(3)::before { content: "Pro"; }
	html[lang^="es"] .ps-compare tbody tr:not(.ps-group) td:nth-child(4)::before { content: "Único"; }
	html[lang^="en"] .ps-compare tbody tr:not(.ps-group) td:nth-child(2)::before { content: "Free"; }
	html[lang^="en"] .ps-compare tbody tr:not(.ps-group) td:nth-child(3)::before { content: "Pro"; }
	html[lang^="en"] .ps-compare tbody tr:not(.ps-group) td:nth-child(4)::before { content: "One-time"; }
	.ps-compare .ps-compare-sticky { display: none; }
	.ps-compare-hint { display: none; }
	.ps-yes { width: 22px; height: 22px; font-size: .72rem; }
}

/* Hero y planes fusionados en la página de precios */
.ps-pricing-hero { padding-bottom: clamp(48px, 6vw, 80px) !important; }
.ps-pricing-hero .ps-tools-hero-inner { margin-bottom: 0; }
.ps-pricing-plans { margin-top: clamp(30px, 4vw, 48px); }
.ps-pricing-plans .ps-plan { text-align: left; }

/* Separación y estilo de control para el toggle de facturación */
.ps-pricing-plans::before {
	content: "";
	display: block;
	width: 44px;
	height: 1px;
	margin: 0 auto 26px;
	background: rgba(50, 47, 48, .20);
}
.ps-billing-toggle {
	display: flex !important;
	width: fit-content;
	margin: 0 auto 8px !important;
	padding: 4px;
	gap: 2px;
	background: rgba(198, 216, 175, .35);
	border: 1px solid rgba(49, 109, 97, .16);
	border-radius: 999px;
}
.ps-billing-toggle .ps-bill-btn { margin: 0 !important; }
.ps-billing-toggle .ps-bill-btn .wp-block-button__link {
	background: transparent !important;
	color: var(--ps-muted) !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 7px 18px;
	font-size: .82rem;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 999px;
}
.ps-billing-toggle .ps-bill-btn.is-active .wp-block-button__link {
	background: #fff !important;
	color: var(--ps-green) !important;
	box-shadow: 0 2px 5px -2px rgba(24, 58, 51, .28) !important;
}

/* Capturas densas (modales de app): reparto a partes iguales para que se lean sin dominar. */
.ps-split--reverse.ps-split--media-wide { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); }
@media (max-width: 880px) {
	.ps-split--reverse.ps-split--media-wide { grid-template-columns: 1fr; }
}

/* ============================================================
   Landing de preselección (culling)
   ============================================================ */
.ps-features-grid .ps-tool.ps-ico-star::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8-5.2-2.7-5.2 2.7 1-5.8L3.5 9.7l5.9-.9z'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-archive::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='4' rx='1'/%3E%3Cpath d='M5 8v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8'/%3E%3Cpath d='M10 12h4'/%3E%3C/svg%3E");
}
.ps-features-grid .ps-tool.ps-ico-scan::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ee6958' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M20 16v2a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M8 20H6a2 2 0 0 1-2-2v-2'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

/* Captura móvil dentro de un marco de teléfono. */
.ps-split .ps-split-media--phone { display: flex; justify-content: center; }
.ps-split .ps-split-media--phone img {
	display: block;
	width: auto;
	max-width: 268px;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	border-radius: 30px;
	border: 7px solid #171717;
	background: #171717;
	box-shadow: 0 30px 60px -34px rgba(24, 58, 51, .55);
}
@media (max-width: 880px) {
	.ps-split .ps-split-media--phone img { max-width: 226px; }
}

/* Sección de nota de calidad: tres tarjetas en una fila. */
.ps-quality .ps-tools-grid { max-width: 1080px; margin: 0 auto !important; }
.ps-quality .ps-lead-note { margin: 22px auto 0 !important; }
.ps-quality-split {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: center;
	max-width: 1060px;
	margin: 32px auto 0 !important;
}
.ps-quality-media .wp-block-image { margin: 0 !important; }
.ps-quality-media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
	box-shadow: 0 20px 44px -30px rgba(24, 58, 51, .5);
}
.ps-quality-copy .ps-quality-caption {
	margin: 0 0 12px !important;
	text-align: left;
	font-size: 1.05rem !important;
	font-weight: 600;
	line-height: 1.45 !important;
	color: var(--ps-ink) !important;
}
.ps-quality-copy .ps-quality-privacy {
	margin: 0 !important;
	text-align: left;
	font-size: .95rem !important;
	line-height: 1.65 !important;
	color: var(--ps-muted) !important;
}
@media (max-width: 820px) {
	.ps-quality-split { grid-template-columns: 1fr; gap: 20px; padding: 0 20px; }
	.ps-quality-copy .ps-quality-caption,
	.ps-quality-copy .ps-quality-privacy { text-align: center; }
}

/* Captura vertical del visor (foto + barra de acciones). */
.ps-split .ps-split-media--portrait { display: flex; justify-content: center; }
.ps-split .ps-split-media--portrait img {
	display: block;
	width: auto;
	max-width: 340px;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	border-radius: 20px;
	border: 1px solid var(--ps-line);
	box-shadow: 0 26px 50px -34px rgba(24, 58, 51, .5);
}
@media (max-width: 880px) {
	.ps-split .ps-split-media--portrait img { max-width: 290px; }
}

/* Nota aclaratoria del plan gratuito en precios */
.ps-plans-note {
	max-width: 64ch;
	margin: 20px auto 0 !important;
	text-align: center;
	font-size: .88rem !important;
	line-height: 1.55 !important;
	color: var(--ps-muted) !important;
}

/* ── Contacto ─────────────────────────────────────────────── */
.ps-contact-hero { padding-bottom: clamp(30px, 4vw, 48px) !important; }
.ps-home .ps-contact.ps-sec { padding-top: 0; padding-bottom: clamp(64px, 9vw, 110px); }
.ps-contact-inner { max-width: 780px; margin: 0 auto !important; }
.ps-contact-cards {
	gap: 20px !important;
	margin: 0 0 clamp(34px, 4vw, 46px) !important;
	align-items: stretch;
}
.ps-contact-card {
	height: 100%;
	padding: clamp(22px, 3vw, 30px) !important;
	background: var(--ps-white);
	border: 1px solid var(--ps-line);
	border-radius: var(--ps-radius);
	box-shadow: 0 14px 34px -28px rgba(24, 58, 51, .4);
}
.ps-contact-card h3 {
	margin: 0 0 8px !important;
	font-size: 1.08rem !important;
	line-height: 1.3 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-card p {
	margin: 0 0 14px !important;
	font-size: .95rem !important;
	line-height: 1.6 !important;
	color: var(--ps-muted) !important;
}
.ps-contact-card .ps-feature-link {
	margin: 0 !important;
	font-weight: 600;
}
.ps-contact-card .ps-feature-link a { text-decoration: none; }

.ps-contact-h2 {
	margin: 38px 0 12px !important;
	font-size: clamp(1.35rem, 2.1vw, 1.65rem) !important;
	line-height: 1.25 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-h2:first-of-type { margin-top: 0 !important; }

.ps-contact-inner ul,
.ps-contact-inner ol {
	margin: 0 0 6px !important;
	padding-left: 22px !important;
	display: grid;
	gap: 10px;
}
.ps-contact-inner li {
	font-size: 1rem !important;
	line-height: 1.65 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-inner li strong { color: var(--ps-ink); }
.ps-contact-inner li a { color: var(--ps-green); text-decoration: underline; }
.ps-contact-note {
	margin: 26px 0 30px !important;
	padding: 16px 20px !important;
	background: rgba(198, 216, 175, .28);
	border-left: 3px solid var(--ps-green);
	border-radius: 0 12px 12px 0;
	font-size: .95rem !important;
	line-height: 1.6 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-inner .wp-block-buttons { margin-top: 0 !important; }
.ps-contact-inner .wp-block-button__link {
	background: var(--ps-green) !important;
	border-radius: 999px;
	padding: 14px 28px;
	font-weight: 600;
	text-decoration: none;
}
.ps-contact-inner .wp-block-button__link:hover { background: var(--ps-green-dark) !important; }

@media (max-width: 700px) {
	.ps-contact-cards { display: block !important; }
	.ps-contact-card + .ps-contact-card { margin-top: 16px; }
	.ps-contact-inner .wp-block-buttons,
	.ps-contact-inner .wp-block-button { width: 100%; }
	.ps-contact-inner .wp-block-button__link { display: block; text-align: center; }
}

/* ── Flujo de trabajo ─────────────────────────────────────── */
.ps-home .ps-workflow-hero { padding-bottom: clamp(14px, 2vw, 22px) !important; }
.ps-home .ps-flow-steps-sec { padding-top: 0 !important; }

.ps-steps--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ps-steps--five .ps-step {
	padding: 20px 18px !important;
	border-radius: 18px;
	display: grid !important;
	grid-template-rows: auto auto 1fr auto;
	transition: transform .2s ease, box-shadow .2s ease;
}
.ps-steps--five .ps-step:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 40px -30px rgba(24, 58, 51, .55);
}
.ps-steps--five .ps-step > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.ps-flow-head {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 14px !important;
}
.ps-flow-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	background: var(--ps-coral);
	color: #fff;
	font-weight: 800;
	font-size: .78rem;
	letter-spacing: .04em;
}
.ps-flow-phase {
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--ps-coral);
}
.ps-steps--five .ps-step h3 {
	font-size: 1.02rem !important;
	line-height: 1.25 !important;
	margin: 0 0 .42em !important;
}
.ps-steps--five .ps-step p { font-size: .86rem !important; line-height: 1.55 !important; }
.ps-flow-step .ps-flow-action { margin: 0 !important; padding-top: 15px; }
.ps-flow-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 7px 12px;
	border: 1px solid rgba(49, 109, 97, .28);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--ps-green) !important;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .2s, color .2s, border-color .2s;
}
.ps-flow-link:hover {
	background: var(--ps-green);
	border-color: var(--ps-green);
	color: #fff !important;
}

@media (max-width: 1100px) {
	.ps-steps--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.ps-steps--five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.ps-steps--five { grid-template-columns: 1fr; }
}

.ps-flow-why-sec { background: #f7f8f3; }
.ps-flow-why-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: center;
	max-width: 1080px;
	margin: 0 auto !important;
}
.ps-flow-why-copy .ps-h2 {
	margin-top: 0 !important;
	text-align: left;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem) !important;
}
.ps-flow-why-copy .ps-body {
	margin: 0 0 14px !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	color: var(--ps-ink) !important;
}
.ps-flow-why-copy .ps-body:last-child { margin-bottom: 0 !important; }
.ps-flow-why-copy a {
	color: var(--ps-green);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ps-flow-why-card {
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: 18px;
	padding: clamp(24px, 3vw, 32px) !important;
	box-shadow: 0 20px 44px -38px rgba(24, 58, 51, .5);
}
.ps-flow-checks {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: grid;
	gap: 14px;
}
.ps-flow-checks li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	font-size: .95rem !important;
	line-height: 1.5 !important;
	color: var(--ps-ink) !important;
}
.ps-flow-check {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(49, 109, 97, .12);
	color: var(--ps-green);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: .7rem;
	font-weight: 800;
	margin-top: 1px;
}
@media (max-width: 880px) {
	.ps-flow-why-grid { grid-template-columns: 1fr; gap: 26px; }
	.ps-flow-why-copy .ps-h2 { text-align: center; }
}

/* Contacto · guía primero, luego dudas y correo */
.ps-contact-cards { margin-top: 22px !important; align-items: stretch; }

.ps-contact-guide {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	height: auto !important;
	padding: 28px 32px !important;
	background: linear-gradient(100deg, #edf4ee 0%, #ffffff 80%);
	border: 2px solid var(--ps-green);
	box-shadow: 0 22px 48px -36px rgba(24, 58, 51, .45);
}
.ps-contact-guide::before {
	content: 'Empieza aquí';
	position: absolute;
	top: -13px;
	left: 24px;
	background: var(--ps-green);
	color: #fff;
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
}
html[lang^="en"] .ps-contact-guide::before { content: 'Start here'; }
.ps-contact-guide-copy h3 {
	margin: 0 0 6px !important;
	font-size: 1.15rem !important;
}
.ps-contact-guide-copy p {
	margin: 0 !important;
	max-width: 64ch;
	font-size: .95rem !important;
	line-height: 1.55 !important;
	color: var(--ps-muted) !important;
}
.ps-contact-guide .ps-feature-link { margin: 0 !important; flex: 0 0 auto; }
.ps-contact-guide .ps-feature-link a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--ps-green);
	color: #fff !important;
	border-radius: 999px;
	padding: 10px 18px;
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none !important;
}
.ps-contact-guide .ps-feature-link a:hover { background: var(--ps-green-dark); }

.ps-contact-aside {
	height: 100%;
	padding: clamp(22px, 3vw, 28px) !important;
	background: #fbfcf9;
	border: 1px solid #e5ebe6;
	border-radius: var(--ps-radius);
}
.ps-contact-aside .ps-contact-h2--aside {
	margin: 0 0 14px !important;
	font-size: 1.1rem !important;
	line-height: 1.3 !important;
}
.ps-contact-aside .ps-contact-checks {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: grid;
	gap: 12px;
}
.ps-contact-aside .ps-contact-checks li {
	position: relative;
	margin: 0 !important;
	padding-left: 30px !important;
	font-size: .95rem !important;
	line-height: 1.55 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-aside .ps-contact-checks li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(49, 109, 97, .12);
	color: var(--ps-green);
	font-size: .7rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ps-contact-cards + .ps-contact-h2 { margin-top: 36px !important; }

@media (max-width: 800px) {
	.ps-contact-guide { flex-direction: column; align-items: flex-start; gap: 18px; }
	.ps-contact-guide .ps-feature-link { width: 100%; }
	.ps-contact-guide .ps-feature-link a { display: flex; justify-content: center; }
}

/* Contacto · una sola tarjeta para escribir + qué incluir al lado */
.ps-contact-bottom { margin-top: 22px !important; align-items: stretch; }
.ps-contact-combined {
	height: 100%;
	padding: clamp(24px, 3vw, 32px) !important;
}
.ps-contact-combined h3 { margin: 0 0 8px !important; }
.ps-contact-subhead {
	margin: 22px 0 12px !important;
	padding-top: 20px;
	border-top: 1px solid #eef1ec;
	font-size: 1rem !important;
	font-weight: 800;
	line-height: 1.3 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-combined .ps-contact-checks {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: grid;
	gap: 12px;
}
.ps-contact-combined .ps-contact-checks li {
	position: relative;
	margin: 0 !important;
	padding-left: 30px !important;
	font-size: .93rem !important;
	line-height: 1.55 !important;
	color: var(--ps-ink) !important;
}
.ps-contact-combined .ps-contact-checks li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(49, 109, 97, .12);
	color: var(--ps-green);
	font-size: .7rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ps-contact-email-link {
	margin: 22px 0 0 !important;
	padding-top: 18px;
	border-top: 1px solid #eef1ec;
}
.ps-contact-email-link a {
	color: var(--ps-green) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.ps-contact-include {
	height: 100%;
	padding: clamp(24px, 3vw, 32px) !important;
}
.ps-contact-h2--card {
	margin: 0 0 14px !important;
	font-size: 1.1rem !important;
	line-height: 1.3 !important;
}
.ps-contact-include ul {
	margin: 0 !important;
	padding-left: 20px !important;
	display: grid;
	gap: 10px;
}
.ps-contact-include li {
	font-size: .93rem !important;
	line-height: 1.55 !important;
}
.ps-contact-bottom + .ps-contact-note { margin-top: 24px !important; }

/* Contacto · tarjeta única de correo */
.ps-contact-combined {
	margin-top: 22px !important;
	height: auto !important;
}
.ps-contact-combined .ps-contact-include-list {
	margin: 0 !important;
	padding-left: 20px !important;
	display: grid;
	gap: 10px;
}
.ps-contact-combined .ps-contact-include-list li {
	font-size: .93rem !important;
	line-height: 1.55 !important;
}
.ps-contact-combined + .ps-contact-note { margin-top: 24px !important; }

/* Plantillas de contrato */
.ps-templates { background: var(--ps-paper); }
.ps-template-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 22px !important;
}
.ps-template-card {
	background: #fff;
	border: 1px solid var(--ps-line);
	border-radius: 16px;
	padding: 20px !important;
}
.ps-template-card h3 {
	margin: 0 0 8px !important;
	font-size: 1.02rem !important;
	letter-spacing: -.02em;
}
.ps-template-card p {
	margin: 0 !important;
	font-size: .9rem !important;
	line-height: 1.55 !important;
	color: var(--ps-muted) !important;
}
.ps-legal-note {
	max-width: 860px;
	margin: 18px auto 22px !important;
	padding: 16px 20px !important;
	background: rgba(238, 105, 88, .08);
	border-left: 3px solid var(--ps-coral);
	border-radius: 0 10px 10px 0;
	font-size: .9rem !important;
	line-height: 1.55 !important;
	color: var(--ps-ink) !important;
}
.ps-template-list {
	max-width: 920px;
	margin: 0 auto 20px !important;
	padding-left: 20px !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 24px;
}
.ps-template-list li {
	font-size: .93rem !important;
	line-height: 1.5 !important;
}
.ps-templates .wp-block-buttons { justify-content: center; }
@media (max-width: 900px) {
	.ps-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ps-template-list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.ps-template-grid { grid-template-columns: 1fr; }
}
