/* ──────────────────────────────────────────────────────────────────
 * FloresYa — Franquicias Stitch v2 (2026-04-27)
 * ────────────────────────────────────────────────────────────────── */

/* Override container Blocksy a 1280 (igual técnica que política/contacto) */
body.page:has(.fy-franq-page) {
	--theme-container-width: 1280px !important;
	--theme-block-max-width: 1280px !important;
	--wp--style--global--content-size: 1280px !important;
	--wp--style--global--wide-size: 1280px !important;
}
html body.page-template-default .entry-content:has(.fy-franq-page),
html body.page article > .entry-content:has(.fy-franq-page) {
	max-width: none !important;
	padding: 0 !important;
}

.fy-franq-page {
	font-family: 'Plus Jakarta Sans', sans-serif;
	color: var(--fy-on-surface, #1b1c1c);
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px 80px;
}

/* ── HERO ─────────────────────────────────────────────────────── */
.fy-franq-hero {
	position: relative;
	min-height: 540px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 -24px 80px;
	padding: 80px 24px;
	background:
		linear-gradient(135deg, rgba(254, 233, 234, 0.95) 0%, rgba(255, 248, 247, 0.7) 100%),
		radial-gradient(circle at 20% 30%, rgba(254, 149, 163, 0.30), transparent 60%),
		radial-gradient(circle at 80% 70%, rgba(121, 249, 205, 0.20), transparent 50%);
	overflow: hidden;
}
.fy-franq-hero__inner {
	max-width: 800px;
	text-align: center;
	position: relative;
	z-index: 1;
}
.fy-franq-hero__badge {
	display: inline-block;
	padding: 8px 20px;
	border-radius: 999px;
	background: rgba(254, 149, 163, 0.20);
	color: var(--fy-on-secondary-container, #782b39);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 20px;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(254, 149, 163, 0.30);
}
.fy-franq-hero__title {
	font-size: clamp(36px, 5vw, 56px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.1 !important;
	color: var(--fy-on-surface, #26181a) !important;
	margin: 0 0 20px !important;
}
.fy-franq-hero__highlight { color: var(--fy-primary-container, #df1e82); }
.fy-franq-hero__lead {
	font-size: 18px !important;
	line-height: 1.6 !important;
	color: var(--fy-on-surface-variant, #594043) !important;
	max-width: 640px;
	margin: 0 auto 36px !important;
}
.fy-franq-hero__cta-wrap {
	display: flex;
	justify-content: center;
}
.fy-franq-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--fy-primary-container, #df1e82);
	color: #fff !important;
	padding: 16px 32px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none !important;
	transition: transform 200ms ease, box-shadow 200ms ease;
	box-shadow: 0 8px 24px rgba(223, 30, 130, 0.20);
}
.fy-franq-cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(223, 30, 130, 0.30);
	color: #fff !important;
}

/* ── HISTORIA ─────────────────────────────────────────────────── */
.fy-franq-historia {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	margin-bottom: 80px;
}
@media (max-width: 900px) { .fy-franq-historia { grid-template-columns: 1fr; gap: 32px; } }

.fy-franq-historia__text h2 {
	font-size: 32px !important;
	font-weight: 700 !important;
	margin: 0 0 16px !important;
	letter-spacing: -0.015em !important;
}
.fy-franq-historia__divider {
	width: 80px;
	height: 4px;
	background: var(--fy-primary-container, #df1e82);
	border-radius: 999px;
	margin-bottom: 20px;
}
.fy-franq-historia__text p {
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--fy-on-surface-variant, #594043) !important;
	margin: 0 0 16px !important;
}
.fy-franq-historia__text ul {
	list-style: disc !important;
	padding-left: 24px !important;
	margin: 0 0 16px !important;
}
.fy-franq-historia__text li {
	margin-bottom: 8px !important;
	color: var(--fy-on-surface-variant, #594043) !important;
}
.fy-franq-historia__media {
	width: 100%;
	height: 480px;
	border-radius: 24px;
	box-shadow: 0 8px 30px rgba(135, 114, 116, 0.12);
	overflow: hidden;
	position: relative;
	background:
		linear-gradient(135deg, rgba(254, 149, 163, 0.30) 0%, rgba(183, 0, 104, 0.18) 100%),
		url('https://floresyaqa.wpenginepowered.com/wp-content/uploads/2025/05/Marbella-768x768.png') center/cover;
}
/* Override SI Alex configura una imagen via Customizer / theme option */
.fy-franq-historia__media[data-bg-image] {
	background-image: var(--fy-franq-bg-image), linear-gradient(135deg, rgba(254, 149, 163, 0.30), rgba(183, 0, 104, 0.18)) !important;
}
@media (max-width: 900px) { .fy-franq-historia__media { height: 320px; } }

/* ── WHY ──────────────────────────────────────────────────────── */
.fy-franq-why {
	margin-bottom: 80px;
}
.fy-franq-why__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 40px;
}
.fy-franq-why__head h2 {
	font-size: 32px !important;
	font-weight: 700 !important;
	margin: 0 0 12px !important;
	letter-spacing: -0.015em !important;
}
.fy-franq-why__head p {
	font-size: 16px !important;
	color: var(--fy-on-surface-variant, #594043) !important;
	margin: 0 !important;
}
.fy-franq-why__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 900px) { .fy-franq-why__grid { grid-template-columns: 1fr; } }
.fy-franq-why__card {
	background: #fff;
	padding: 36px 32px;
	border-radius: 20px;
	border: 1px solid rgba(225, 189, 199, 0.4);
	box-shadow: 0 4px 20px rgba(135, 114, 116, 0.08);
	transition: box-shadow 200ms ease, transform 200ms ease;
}
.fy-franq-why__card:hover {
	box-shadow: 0 12px 30px rgba(135, 114, 116, 0.12);
	transform: translateY(-4px);
}
.fy-franq-why__card .material-symbols-outlined {
	font-size: 36px !important;
	color: var(--fy-primary-container, #df1e82) !important;
	margin-bottom: 16px;
	display: block;
}
.fy-franq-why__card h3 {
	font-size: 22px !important;
	font-weight: 700 !important;
	margin: 0 0 8px !important;
}
.fy-franq-why__card p {
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: var(--fy-on-surface-variant, #594043) !important;
	margin: 0 !important;
}

/* ── INCLUDED (glassmorphism) ────────────────────────────────── */
.fy-franq-included {
	position: relative;
	padding: 80px 32px;
	margin: 0 -24px 80px;
	background:
		linear-gradient(180deg, rgba(253, 226, 228, 0.5), rgba(255, 248, 247, 0.3));
	border-radius: 32px;
	overflow: hidden;
}
.fy-franq-included::before {
	content: '';
	position: absolute;
	top: -100px;
	right: -100px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: rgba(223, 30, 130, 0.10);
	filter: blur(80px);
}
.fy-franq-included::after {
	content: '';
	position: absolute;
	bottom: -100px;
	left: -100px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: rgba(0, 134, 103, 0.10);
	filter: blur(80px);
}
.fy-franq-included__head {
	text-align: center;
	margin-bottom: 48px;
	position: relative;
	z-index: 1;
}
.fy-franq-included__head h2 {
	font-size: 32px !important;
	font-weight: 700 !important;
	margin: 0 !important;
	letter-spacing: -0.015em !important;
}
.fy-franq-included__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}
@media (max-width: 900px) { .fy-franq-included__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .fy-franq-included__grid { grid-template-columns: 1fr; } }
.fy-franq-included__card {
	background: rgba(255, 255, 255, 0.65);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: 22px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.fy-franq-included__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(135, 114, 116, 0.12);
}
.fy-franq-included__card .material-symbols-outlined {
	color: var(--fy-secondary, #984351);
	margin-bottom: 8px;
	display: block;
	font-size: 24px !important;
}
.fy-franq-included__card p {
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	margin: 0 !important;
	color: var(--fy-on-surface, #1b1c1c) !important;
}

/* ── PROFILE + PAY ────────────────────────────────────────────── */
.fy-franq-profile-pay {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin-bottom: 40px;
}
@media (max-width: 900px) { .fy-franq-profile-pay { grid-template-columns: 1fr; } }

.fy-franq-profile {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
	border: 1px solid rgba(225, 189, 199, 0.3);
	box-shadow: 0 4px 20px rgba(135, 114, 116, 0.08);
}
.fy-franq-profile h3 {
	font-size: 26px !important;
	font-weight: 700 !important;
	margin: 0 0 32px !important;
	letter-spacing: -0.01em !important;
}
.fy-franq-profile__group { margin-bottom: 28px; }
.fy-franq-profile__group:last-child { margin-bottom: 0; }
.fy-franq-profile__group-title {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	margin: 0 0 14px !important;
	color: var(--fy-secondary, #984351) !important;
}
.fy-franq-profile__group-title--required { color: var(--fy-primary-container, #df1e82) !important; }
.fy-franq-profile ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.fy-franq-profile li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	font-size: 15px !important;
	color: var(--fy-on-surface-variant, #594043) !important;
}
.fy-franq-profile li .material-symbols-outlined {
	color: var(--fy-primary, #b70068);
	font-size: 18px !important;
}
.fy-franq-profile__list--soft li .material-symbols-outlined {
	color: var(--fy-outline, #8d6f78);
}

.fy-franq-pay {
	background: var(--fy-primary-container, #df1e82);
	color: #fff;
	padding: 40px;
	border-radius: 20px;
	box-shadow: 0 8px 30px rgba(135, 114, 116, 0.18);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.fy-franq-pay h3 {
	font-size: 26px !important;
	font-weight: 700 !important;
	color: #fff !important;
	margin: 0 0 12px !important;
}
.fy-franq-pay__lead {
	font-size: 16px !important;
	color: rgba(255, 255, 255, 0.9) !important;
	margin: 0 0 28px !important;
}
.fy-franq-pay__cards { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.fy-franq-pay__card {
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.20);
	backdrop-filter: blur(10px);
	padding: 22px;
	border-radius: 14px;
}
.fy-franq-pay__card-title {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 6px;
}
.fy-franq-pay__card p {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.85) !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}
.fy-franq-pay__card--row {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
}
.fy-franq-pay__card-value {
	font-size: 36px;
	font-weight: 800;
}
.fy-franq-pay__cta {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #fff !important;
	color: var(--fy-primary-container, #df1e82) !important;
	padding: 16px 28px !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.fy-franq-pay__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	color: var(--fy-primary, #b70068) !important;
}

/* Logo in historia section */
.fy-franq-historia__logo-img {
    max-width: 280px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 8px 24px rgba(183,0,104,0.15));
}
