
/**
 * Global HubSpot Form Modal Styles
 *
 * Shared modal for any link with href="#zededa-form-{slug}".
 *
 * @package Zededa
 */

/* Modal overlay (fixed full-screen) */
.zededa-hubspot-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	/* flex-start prevents top clipping when content exceeds viewport;
	   margin: auto on the content box centers it when shorter */
	align-items: flex-start;
	justify-content: center;
	padding: var(--spacing-lg);
	overflow-y: auto;
}

.zededa-hubspot-modal[hidden] {
	display: none;
}

/* Semi-transparent backdrop */
.zededa-hubspot-modal__overlay {
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, .5);
}

/* Content box */
.zededa-hubspot-modal__content {
	position: relative;
	background-color: var(--color-background-light, #faf5f0);
	max-width: 640px;
	width: 100%;
	/* margin: auto centers vertically when content is shorter than viewport */
	margin: auto;
	padding: var(--spacing-3xl) var(--spacing-2xl);
	border-radius: 0;
}

/* Close button */
.zededa-hubspot-modal__close {
	position: absolute;
	top: var(--spacing-md);
	right: var(--spacing-md);
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: var(--color-text-primary);
	padding: var(--spacing-xs);
}

.zededa-hubspot-modal__close:hover {
	opacity: .7;
}

/* Modal title */
.zededa-hubspot-modal__title {
	font-family: "Plus Jakarta Sans", var(--typography-font-family-heading);
	font-size: 32px;
	font-weight: var(--typography-font-weight-bold);
	color: var(--color-navigation-background);
	margin: 0 0 var(--spacing-xl);
}

.zededa-hubspot-modal__title[hidden] {
	display: none;
}

/* Form container */
.zededa-hubspot-modal__form {
	margin-top: var(--spacing-md);
}

/* Small mobile */
@media (max-width: 375px) {
	.zededa-hubspot-modal__content {
		padding: var(--spacing-xl) var(--spacing-lg);
	}
	
	.zededa-hubspot-modal__title {
		font-size: 24px;
	}
}
