/**
 * ParkSinta Button System
 * Base unificada para todos los botones y CTAs.
 * Depende de los tokens definidos en parksinta-design-system.css.
 */

/* Base -------------------------------------------------------------------- */
.parksinta-btn,
.parksinta-btn:link,
.parksinta-btn:visited,
.parksinta-cta,
.parksinta-cta:link,
.parksinta-cta:visited,
.parksinta-showroom__button,
.parksinta-showroom__button:link,
.parksinta-showroom__button:visited,
.btn-faq-cta,
.btn-faq-cta:link,
.btn-faq-cta:visited,
.parksinta-editorial-cta,
.parksinta-editorial-cta:link,
.parksinta-editorial-cta:visited,
.frm_forms .frm_final_submit,
.frm_forms input[type="submit"],
.frm_style_formidable-style.with_frm_style input[type="submit"],
#main .post-content .fusion-button,
#main .post-content a.fusion-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: var(--ps-space-xs);
	min-height: var(--ps-btn-min-height) !important;
	padding: var(--ps-btn-padding) !important;
	border: 2px solid var(--ps-btn-border) !important;
	border-radius: var(--ps-radius-pill) !important;
	background: var(--ps-btn-bg) !important;
	color: var(--ps-btn-color) !important;
	font-family: var(--ps-font-body) !important;
	font-size: var(--ps-btn-font-size) !important;
	font-weight: var(--ps-btn-font-weight) !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: var(--ps-shadow-md) !important;
	transition: background-color var(--ps-transition-base), border-color var(--ps-transition-base), transform var(--ps-transition-fast) !important;
	cursor: pointer;
}

.parksinta-btn:hover,
.parksinta-btn:focus,
.parksinta-cta:hover,
.parksinta-cta:focus,
.parksinta-showroom__button:hover,
.parksinta-showroom__button:focus,
.btn-faq-cta:hover,
.btn-faq-cta:focus,
.parksinta-editorial-cta:hover,
.parksinta-editorial-cta:focus,
.frm_forms .frm_final_submit:hover,
.frm_forms input[type="submit"]:hover,
.frm_style_formidable-style.with_frm_style input[type="submit"]:hover,
#main .post-content .fusion-button:hover,
#main .post-content a.fusion-button:hover,
#main .post-content .fusion-button:focus,
#main .post-content a.fusion-button:focus {
	background: var(--ps-btn-bg-hover) !important;
	border-color: var(--ps-btn-bg-hover) !important;
	color: var(--ps-btn-color) !important;
	transform: translateY(-1px) !important;
}

.parksinta-btn:active,
.parksinta-cta:active,
.parksinta-showroom__button:active,
.btn-faq-cta:active,
.parksinta-editorial-cta:active,
.frm_forms .frm_final_submit:active,
.frm_forms input[type="submit"]:active,
#main .post-content .fusion-button:active,
#main .post-content a.fusion-button:active {
	transform: translateY(0) !important;
}

/* Secondary / outline ----------------------------------------------------- */
.parksinta-btn--secondary,
.parksinta-btn--secondary:link,
.parksinta-btn--secondary:visited,
.parksinta-cta--secondary,
.parksinta-cta--secondary:link,
.parksinta-cta--secondary:visited {
	background: transparent !important;
	color: var(--ps-btn-color) !important;
	border-color: var(--ps-btn-border) !important;
	box-shadow: none !important;
}

.parksinta-btn--secondary:hover,
.parksinta-btn--secondary:focus,
.parksinta-cta--secondary:hover,
.parksinta-cta--secondary:focus {
	background: var(--ps-btn-secondary-bg-hover) !important;
	border-color: var(--ps-btn-bg-hover) !important;
	color: var(--ps-btn-color) !important;
}

/* Large ------------------------------------------------------------------- */
.parksinta-btn--large,
.parksinta-btn--large:link,
.parksinta-btn--large:visited,
.parksinta-cta--large,
.parksinta-cta--large:link,
.parksinta-cta--large:visited {
	min-height: 54px !important;
	padding: 16px 28px !important;
	font-size: 17px !important;
}

/* Small ------------------------------------------------------------------- */
.parksinta-btn--small,
.parksinta-btn--small:link,
.parksinta-btn--small:visited,
.parksinta-cta--small,
.parksinta-cta--small:link,
.parksinta-cta--small:visited {
	min-height: 40px !important;
	padding: 10px 18px !important;
	font-size: 14px !important;
}

/* Green / editorial variant ----------------------------------------------- */
.parksinta-btn--green,
.parksinta-btn--green:link,
.parksinta-btn--green:visited,
.parksinta-editorial-cta,
.parksinta-editorial-cta:link,
.parksinta-editorial-cta:visited {
	background: var(--ps-editorial-cta-bg) !important;
	border-color: var(--ps-editorial-cta-bg) !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(24, 63, 52, .18) !important;
}

.parksinta-btn--green:hover,
.parksinta-btn--green:focus,
.parksinta-editorial-cta:hover,
.parksinta-editorial-cta:focus {
	background: var(--ps-editorial-cta-bg-hover) !important;
	border-color: var(--ps-editorial-cta-bg-hover) !important;
	color: #fff !important;
}

/* Form submit: ancho completo en móvil ------------------------------------ */
.frm_forms .frm_final_submit,
.frm_forms input[type="submit"],
.frm_style_formidable-style.with_frm_style input[type="submit"] {
	width: 100%;
	max-width: 400px;
}

/* Fusion default: mantener radio y peso, el resto viene de la base ---------- */
.fusion-button.fusion-button-default,
.fusion-button.fusion-button-default:link,
.fusion-button.fusion-button-default:visited {
	border-radius: var(--ps-radius-pill) !important;
	font-weight: var(--ps-btn-font-weight) !important;
}

/* Container for grouped CTAs ---------------------------------------------- */
.parksinta-cta-group {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ps-space-sm);
	margin: var(--ps-space-md) 0;
}

/* Responsive móvil -------------------------------------------------------- */
@media (max-width: 600px) {
	.parksinta-btn,
	.parksinta-btn:link,
	.parksinta-btn:visited,
	.parksinta-cta,
	.parksinta-cta:link,
	.parksinta-cta:visited,
	.parksinta-showroom__button,
	.parksinta-showroom__button:link,
	.parksinta-showroom__button:visited,
	.btn-faq-cta,
	.btn-faq-cta:link,
	.btn-faq-cta:visited,
	.frm_forms .frm_final_submit,
	.frm_forms input[type="submit"],
	.frm_style_formidable-style.with_frm_style input[type="submit"] {
		min-height: 44px !important;
		padding: 12px 20px !important;
		font-size: 15px !important;
	}

	.parksinta-btn--large,
	.parksinta-btn--large:link,
	.parksinta-btn--large:visited,
	.parksinta-cta--large,
	.parksinta-cta--large:link,
	.parksinta-cta--large:visited {
		min-height: 50px !important;
		padding: 14px 24px !important;
	}
}
