/* ==========================================================================
   FliserRent – Contact Page
   ========================================================================== */

/* ---------- Hero ---------- */

.fliserrent-contact-hero {
	background: linear-gradient(135deg, var(--fr-dark) 0%, var(--fr-green-dark) 100%);
	position: relative;
}

.fliserrent-contact-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}

/* ---------- Contact Cards ---------- */

.fliserrent-contact-cards {
	margin-top: -3rem;
	padding-top: 0;
	position: relative;
	z-index: 2;
}

.fliserrent-contact-card .card {
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
}

.fliserrent-contact-card:hover .card,
.fliserrent-contact-card:focus-within .card {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

a.fliserrent-contact-card {
	text-decoration: none;
	color: inherit;
	display: block;
}

/* ---------- Contact Form ---------- */

.fliserrent-contact-form .input,
.fliserrent-contact-form .textarea,
.fliserrent-contact-form .select select {
	border-radius: var(--fr-radius);
	border-color: var(--fr-border);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fliserrent-contact-form .input:focus,
.fliserrent-contact-form .textarea:focus,
.fliserrent-contact-form .select select:focus {
	border-color: var(--fr-green);
	box-shadow: 0 0 0 3px rgba(72, 199, 116, 0.15);
}

.fliserrent-contact-form .label {
	font-weight: 600;
	font-size: 0.9rem;
}

#contact-submit {
	transition: transform 0.15s ease;
}

#contact-submit:active {
	transform: scale(0.97);
}

/* ---------- Business Info Sidebar ---------- */

.fliserrent-business-info {
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	position: sticky;
	top: 5rem;
}

.fliserrent-hours-table {
	background: transparent;
}

.fliserrent-hours-table td {
	border-color: var(--fr-border);
	padding: 0.6rem 0.75rem;
}

.fliserrent-cta-phone {
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.fliserrent-contact-cta-box .notification {
	border-radius: var(--fr-radius);
}

/* ---------- Map Section ---------- */

.fliserrent-map-section {
	padding-bottom: 4rem;
}

.fliserrent-contact-map {
	border-radius: var(--fr-radius);
	overflow: hidden;
	box-shadow: var(--fr-shadow);
	min-height: 450px;
}

.fliserrent-contact-map iframe {
	display: block;
}

/* ---------- Dark Mode ---------- */

html.dark-mode .fliserrent-contact-card .card {
	background-color: var(--fr-darker);
	border-color: rgba(255, 255, 255, 0.06);
}

html.dark-mode .fliserrent-business-info {
	background-color: var(--fr-darker);
	border-color: rgba(255, 255, 255, 0.06);
}

html.dark-mode .fliserrent-hours-table td {
	border-color: rgba(255, 255, 255, 0.08);
}

html.dark-mode .fliserrent-contact-form .input,
html.dark-mode .fliserrent-contact-form .textarea,
html.dark-mode .fliserrent-contact-form .select select {
	background-color: var(--fr-darker);
	border-color: rgba(255, 255, 255, 0.1);
	color: #e0e0e0;
}

html.dark-mode .fliserrent-map-section {
	background-color: var(--fr-dark);
}

/* ---------- Responsive ---------- */

@media screen and (max-width: 768px) {
	.fliserrent-contact-cards {
		margin-top: -1.5rem;
	}

	.fliserrent-contact-cards .column {
		padding-bottom: 0.5rem;
	}

	.fliserrent-business-info {
		position: static;
	}

	.fliserrent-contact-map {
		min-height: 300px;
	}

	#contact-submit {
		width: 100%;
	}
}

/* Auto dark mode (prefers-color-scheme) */
@media (prefers-color-scheme: dark) {
	.fliserrent-contact-card .card {
		background-color: var(--fr-darker);
		border-color: rgba(255, 255, 255, 0.06);
	}
	.fliserrent-business-info {
		background-color: var(--fr-darker);
		border-color: rgba(255, 255, 255, 0.06);
	}
	.fliserrent-hours-table td {
		border-color: rgba(255, 255, 255, 0.08);
	}
	.fliserrent-contact-form .input,
	.fliserrent-contact-form .textarea,
	.fliserrent-contact-form .select select {
		background-color: var(--fr-darker);
		border-color: rgba(255, 255, 255, 0.1);
		color: #e0e0e0;
	}
	.fliserrent-map-section {
		background-color: var(--fr-dark);
	}
}
