/* Go PetiA Site — página pública de planes */

.gsp {
	--gsp-purple: #5b3fa5;
	--gsp-gold: #e5c547;
	--gsp-ink: #1a1625;
	--gsp-muted: #6b6b76;
	--gsp-line: rgba(26, 22, 37, .12);
	max-width: 1100px;
	margin: 0 auto;
	padding: 8px 16px 48px;
	color: var(--gsp-ink);
	line-height: 1.55;
}

.gsp *, .gsp *::before, .gsp *::after { box-sizing: border-box; }

.gsp__head { text-align: center; max-width: 62ch; margin: 0 auto 34px; }
.gsp__head h1 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin: 0 0 10px; color: var(--gsp-purple); line-height: 1.15; }
.gsp__head p { margin: 0; color: var(--gsp-muted); }

.gsp__group { margin-bottom: 40px; }
.gsp__group h2 {
	font-size: .74rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
	color: var(--gsp-purple); margin: 0 0 14px;
}

.gsp__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(268px, 1fr)); gap: 16px; align-items: start; }

.gsp-card {
	position: relative; display: flex; flex-direction: column; gap: 10px;
	background: #fff; border: 1px solid var(--gsp-line); border-radius: 18px; padding: 24px;
}

.gsp-card.is-featured { border-color: var(--gsp-purple); box-shadow: 0 12px 34px rgba(91, 63, 165, .14); }

.gsp-card__badge {
	position: absolute; top: -11px; left: 24px;
	background: var(--gsp-purple); color: #fff; border-radius: 999px;
	padding: 4px 12px; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}

.gsp-card h3 { margin: 0; font-size: 1.2rem; line-height: 1.25; }

.gsp-card__price { margin: 0 0 4px; display: flex; align-items: baseline; gap: 7px; }
.gsp-card__price strong { font-size: 2rem; line-height: 1; color: var(--gsp-purple); }
.gsp-card__price small { font-size: .78rem; color: var(--gsp-muted); }

.gsp-card__label {
	margin: 6px 0 0; font-size: .68rem; font-weight: 800; letter-spacing: .07em;
	text-transform: uppercase; color: var(--gsp-muted);
}

.gsp-card__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; font-size: .88rem; }
.gsp-card__list li { display: flex; gap: 8px; line-height: 1.4; }
.gsp-card__list li::before { content: "✓"; color: #1d9e75; font-weight: 700; flex: 0 0 auto; }

.gsp-card__cta {
	margin-top: auto; align-self: stretch; text-align: center;
	background: #fff; color: var(--gsp-purple); border: 1px solid var(--gsp-purple);
	border-radius: 999px; padding: 12px 22px; font-size: .92rem; font-weight: 700;
	text-decoration: none; display: block;
}

.gsp-card.is-featured .gsp-card__cta { background: var(--gsp-purple); color: #fff; }
.gsp-card__cta:hover { opacity: .88; }

.gsp__billing {
	border-top: 1px solid var(--gsp-line); padding-top: 26px;
	max-width: 74ch; margin: 0 auto; font-size: .9rem;
}

.gsp__billing h2 {
	font-size: .74rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
	color: var(--gsp-purple); margin: 0 0 10px;
}

.gsp__billing p { margin: 0 0 10px; color: var(--gsp-muted); }
.gsp__vat { font-size: .82rem; }
.gsp__links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; }
.gsp__links a { color: var(--gsp-purple); font-weight: 600; text-decoration: none; }
.gsp__links a:hover { text-decoration: underline; }

/* 4.1.1 — colour-card plan catalogue, matching the PetiA promotional language. */
.gsp {
	--gsp-purple: #6424e8;
	--gsp-purple-deep: #3a078c;
	--gsp-blue: #245bdc;
	--gsp-gold: #ffd51f;
	--gsp-lavender: #f2ecff;
	--gsp-ink: #161c35;
}

.gsp__head h1 {
	font-weight: 950;
	letter-spacing: -.04em;
}

.gsp__grid { gap: 22px; }

.gsp-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px 12px;
	min-height: 310px;
	padding: 26px;
	border: 0;
	border-radius: 28px;
	background: var(--gsp-lavender);
	box-shadow: 0 8px 0 #ded0f6, 0 18px 34px rgba(58, 7, 140, .10);
}

.gsp-card.is-paid {
	background: var(--gsp-purple);
	color: #fff;
	box-shadow: 0 8px 0 #3b0e99, 0 18px 36px rgba(58, 7, 140, .20);
}

.gsp-card--petlover_family,
.gsp-card--business_pro {
	background: var(--gsp-purple-deep) !important;
	box-shadow: 0 8px 0 #25005e, 0 18px 36px rgba(58, 7, 140, .22) !important;
}

.gsp-card.is-featured {
	border: 0;
	box-shadow: 0 8px 0 #3b0e99, 0 22px 42px rgba(58, 7, 140, .25);
}

.gsp-card__badge {
	top: -12px;
	left: 22px;
	background: var(--gsp-gold);
	color: var(--gsp-purple-deep);
	box-shadow: 0 4px 0 #d4b000;
	font-weight: 900;
}

.gsp-card h3 {
	font-size: 1.35rem;
	font-weight: 950;
	letter-spacing: -.025em;
}

.gsp-card__price {
	min-width: 112px;
	margin: 0;
	padding: 14px 12px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	border-radius: 21px;
	background: #fff;
	color: var(--gsp-purple-deep);
	text-align: center;
	box-shadow: 0 6px 0 rgba(39, 0, 102, .22);
}

.gsp-card__price strong,
.gsp-card__price small,
.gsp-card.is-paid .gsp-card__price strong,
.gsp-card.is-paid .gsp-card__price small {
	color: var(--gsp-purple-deep);
}

.gsp-card__price strong { font-size: 1.72rem; font-weight: 950; }
.gsp-card.is-free .gsp-card__price { background: var(--gsp-gold); color: var(--gsp-blue); box-shadow: 0 6px 0 #d7b400; }
.gsp-card.is-free .gsp-card__price strong { color: var(--gsp-blue); }

.gsp-card__label,
.gsp-card__list,
.gsp-card__cta {
	grid-column: 1 / -1;
}

.gsp-card.is-paid .gsp-card__label { color: #ffec78; }
.gsp-card.is-paid .gsp-card__list { color: #f4efff; }
.gsp-card.is-paid .gsp-card__list li::before { color: var(--gsp-gold); }

.gsp-card__cta,
.gsp-card.is-featured .gsp-card__cta,
.gsp-card.is-paid .gsp-card__cta {
	border: 0;
	border-radius: 16px;
	background: var(--gsp-gold);
	color: var(--gsp-blue);
	box-shadow: 0 5px 0 #d6b100;
	font-weight: 900;
}

.gsp-card__cta:hover { opacity: 1; transform: translateY(-2px); }
.gsp-card__cta:active { transform: translateY(3px); box-shadow: 0 2px 0 #d6b100; }

@media (max-width: 600px) {
	.gsp { padding-inline: 12px; }
	.gsp__grid { grid-template-columns: 1fr; }
	.gsp-card { min-height: 0; padding: 22px 18px; border-radius: 24px; }
	.gsp-card__price strong { font-size: 1.7rem; }
}


/* 4.1.12 — richer fallback cards with plan artwork if AI Core renderer is unavailable. */
.gsp-card__visual{grid-column:1/-1;overflow:hidden;border-radius:22px;box-shadow:0 6px 18px rgba(58,7,140,.08)}
.gsp-card__visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.gsp-card__highlights{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.gsp-card__highlights span{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;background:#fff;color:var(--gsp-purple-deep);font-size:.72rem;font-weight:850;border:1px solid rgba(99,44,198,.08)}


/* 4.1.14 — no-plan-image fallback to avoid awkward crops */
.gsp-card{position:relative;overflow:hidden}
.gsp-card::before{content:"";position:absolute;inset:0 0 auto 0;height:128px;background:radial-gradient(circle at 15% 15%,rgba(255,214,0,.18),transparent 34%),linear-gradient(180deg,rgba(115,60,255,.10),rgba(115,60,255,0));pointer-events:none}
.gsp-card__headicon{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:linear-gradient(145deg,#6d31ff,#4f16cb);box-shadow:0 5px 0 #4311aa;color:#fff;font-size:22px;font-weight:900}
.gsp-card--business_free .gsp-card__headicon,.gsp-card--business_starter .gsp-card__headicon,.gsp-card--business_pro .gsp-card__headicon{background:linear-gradient(145deg,#ffd83a,#ffc814);box-shadow:0 5px 0 #d8b200;color:#41156b}
.gsp-card__highlights{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:.1rem 0 .35rem}
.gsp-card__highlights span{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;background:#fff;color:var(--gsp-purple-deep);font-size:.72rem;font-weight:850;border:1px solid rgba(99,44,198,.08)}
.gsp-card__visual{display:none !important}


/* 4.1.15 — richer cards + 3D CTA */
.gsp-card{border-radius:32px;border:1px solid rgba(98,60,190,.10);background:linear-gradient(180deg,#ffffff,#faf7ff);box-shadow:0 10px 0 #ebe3ff,0 22px 42px rgba(58,7,140,.09)!important;transition:transform .18s ease, box-shadow .18s ease}
.gsp-card:hover{transform:translateY(-3px);box-shadow:0 13px 0 #ebe3ff,0 28px 52px rgba(58,7,140,.12)!important}
.gsp-card.is-featured{box-shadow:0 10px 0 #f3e5b0,0 24px 46px rgba(58,7,140,.12)!important;border-color:rgba(255,210,32,.45)}
.gsp-card__cta,.gsp-card.is-featured .gsp-card__cta,.gsp-card.is-paid .gsp-card__cta{border-radius:18px;min-height:56px;padding:14px 18px;background:linear-gradient(180deg,#ffd93f,#ffc814);box-shadow:0 7px 0 #d8b200,0 16px 26px rgba(117,83,0,.15);color:#3f146d;font-weight:950;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.gsp-card__cta:hover{opacity:1;transform:translateY(-2px);box-shadow:0 9px 0 #d8b200,0 20px 30px rgba(117,83,0,.18);filter:saturate(1.02)}
.gsp-card__cta:active{transform:translateY(3px);box-shadow:0 3px 0 #d8b200,0 10px 18px rgba(117,83,0,.12)}


/* 4.1.16 — fallback polish aligned to home visuals */
.gsp{max-width:1320px;padding:20px 14px 50px}
.gsp__head{max-width:74ch;margin:0 auto 28px;padding:28px 24px;border-radius:30px;background:linear-gradient(180deg,#fff,#faf7ff);box-shadow:0 10px 0 #ece4ff,0 22px 44px rgba(58,7,140,.09)}
.gsp__grid{gap:22px}
.gsp-card{border-radius:32px;border:1px solid rgba(98,60,190,.10);background:linear-gradient(180deg,#ffffff,#faf7ff);box-shadow:0 10px 0 #ebe3ff,0 22px 42px rgba(58,7,140,.09)!important;transition:transform .18s ease, box-shadow .18s ease}
.gsp-card:hover{transform:translateY(-3px);box-shadow:0 13px 0 #ebe3ff,0 28px 52px rgba(58,7,140,.12)!important}
.gsp-card.is-featured{box-shadow:0 10px 0 #f3e5b0,0 24px 46px rgba(58,7,140,.12)!important;border-color:rgba(255,210,32,.45)}
.gsp-card__cta,.gsp-card.is-featured .gsp-card__cta,.gsp-card.is-paid .gsp-card__cta{border-radius:18px;min-height:56px;padding:14px 18px;background:linear-gradient(180deg,#ffd93f,#ffc814);box-shadow:0 7px 0 #d8b200,0 16px 26px rgba(117,83,0,.15);color:#3f146d;font-weight:950;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.gsp-card__cta:hover{opacity:1;transform:translateY(-2px);box-shadow:0 9px 0 #d8b200,0 20px 30px rgba(117,83,0,.18);filter:saturate(1.02)}
.gsp-card__cta:active{transform:translateY(3px);box-shadow:0 3px 0 #d8b200,0 10px 18px rgba(117,83,0,.12)}


/* 4.1.17 — compact /planes fallback */
.gsp__head{margin-bottom:22px;padding:22px 20px}.gsp__head p{max-width:52ch;margin:0 auto}.gsp-card{border-radius:30px;box-shadow:0 9px 0 #ebe3ff,0 20px 38px rgba(58,7,140,.08)!important}.gsp-card__cta{min-height:56px;border-radius:18px;background:linear-gradient(180deg,#ffd93f,#ffc814);box-shadow:0 7px 0 #d8b200,0 15px 24px rgba(117,83,0,.15)}
