/* Wave Internet — design tokens & layout (source: Wave Hosting.dc.html) */

:root {
	--wave-bg: #fdfcf9;
	--wave-bg-alt: #f4f1e9;
	--wave-dark: #0e2f40;
	--wave-border: #e9e4d8;
	--wave-text: #24333c;
	--wave-muted: #55676f;
	--wave-accent: #1a7fa0;
	--wave-accent-dark: #14657f;
	--wave-accent-light: #7fd4e8;
	--wave-footer-text: #7d8f95;
	--wave-cta-sub: #a9c0cb;
	--wave-cream: #f2efe6;
}

body {
	margin: 0;
	background: var(--wave-bg);
	font-family: Figtree, sans-serif;
	color: var(--wave-text);
}

body a {
	color: var(--wave-accent);
}

body a:hover {
	color: var(--wave-accent-dark);
}

/* Hero eyebrow */
.wave-eyebrow .elementor-heading-title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wave-accent);
}

/* Constrained text blocks */
.wave-max-880 { max-width: 880px !important; margin-left: 0 !important; margin-right: auto !important; }
.wave-max-640 { max-width: 640px !important; }

/* Photo band placeholder — replace by setting a background image on this container in Elementor.
   Height comes from the container's min-height setting. */
.wave-photo-band {
	background: linear-gradient(175deg, #d8edf4 0%, #a5dcea 45%, #7fd4e8 70%, #4fa8c4 100%);
}

.wave-rounded { border-radius: 10px; overflow: hidden; }

/* "Every plan includes" definition rows */
.wave-inc-row.e-con {
	display: grid !important;
	grid-template-columns: 260px 1fr;
	gap: 32px;
	padding: 24px 0;
	border-top: 1px solid var(--wave-border);
}

.wave-inc-row.wave-inc-last.e-con {
	border-bottom: 1px solid var(--wave-border);
}

/* Included section: left title column fixed at 300px */
.wave-inc-grid.e-con {
	display: grid !important;
	grid-template-columns: 300px 1fr;
	gap: 56px;
	align-items: start;
}

@media (max-width: 900px) {
	.wave-inc-grid.e-con { grid-template-columns: 1fr; gap: 24px; }
	.wave-inc-row.e-con { grid-template-columns: 1fr; gap: 8px; }
}

/* Switching cards */
.wave-cards.e-con {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.wave-card.e-con {
	background: var(--wave-bg);
	border: 1px solid var(--wave-border);
	border-radius: 10px;
}

@media (max-width: 900px) {
	.wave-cards.e-con { grid-template-columns: 1fr; }
}

/* CTA band layout */
.wave-cta.e-con {
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 40px;
}

@media (max-width: 767px) {
	.wave-cta.e-con { grid-template-columns: 1fr; }
}

/* CTA band button hover */
.wave-cta-btn .elementor-button:hover {
	background-color: #ffffff;
	color: var(--wave-dark);
}

/* Header / footer helper links (rendered via HTML widgets) */
.wave-nav a { text-decoration: none; }
.wave-nav a:hover { color: var(--wave-text); }

/* Generic last-row bottom border */
.wave-row-last.e-con { border-bottom: 1px solid var(--wave-border); }

/* Home: service rows — title / description / details link */
.wave-svc-row.e-con {
	display: grid !important;
	grid-template-columns: 260px 1fr auto;
	gap: 32px;
	align-items: baseline;
	padding: 26px 0;
	border-top: 1px solid var(--wave-border);
}

/* Hero button + email row */
.wave-btn-row.e-con {
	display: flex !important;
	flex-direction: row;
	align-items: center;
	gap: 22px;
}
.wave-btn-row .elementor-widget { width: auto; }

/* Two-column media/text section */
.wave-2col.e-con {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}

/* Home: stats row */
.wave-stats.e-con {
	display: flex !important;
	flex-direction: row;
	gap: 48px;
}
.wave-stats > .e-con { width: auto; flex: 0 0 auto; }

/* WordPress: process rows — number / title / description */
.wave-proc-row.e-con {
	display: grid !important;
	grid-template-columns: 56px 220px 1fr;
	gap: 28px;
	align-items: baseline;
	padding: 24px 0;
	border-top: 1px solid #ddd6c6;
}
.wave-proc-row.wave-proc-last.e-con { border-bottom: 1px solid #ddd6c6; }

/* WordPress: custom plugin rows (tighter than included rows) */
.wave-plug-row.e-con {
	display: grid !important;
	grid-template-columns: 260px 1fr;
	gap: 32px;
	padding: 20px 0;
	border-top: 1px solid var(--wave-border);
}

/* Software: dark stack cards */
.wave-stack-cards.e-con {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.wave-stack-card.e-con {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
}

/* Contact layout */
.wave-contact.e-con {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 72px;
	max-width: 1160px;
	margin-left: 0 !important;
	margin-right: auto !important;
	align-items: start;
}

/* Contact form (Elementor Pro Form widget) */
.wave-form .elementor-field-group { margin-bottom: 18px; }
.wave-form .elementor-field-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--wave-text);
	margin-bottom: 7px;
}
.wave-form input[type="text"],
.wave-form input[type="email"],
.wave-form textarea,
.wave-form select {
	font-family: Figtree, sans-serif;
	font-size: 15.5px;
	padding: 13px 16px;
	border: 1px solid #d8d2c4;
	border-radius: 8px;
	background: #ffffff;
	color: var(--wave-text);
}
.wave-form input::placeholder,
.wave-form textarea::placeholder { color: #a4b2b8; }
.wave-form .elementor-button[type="submit"] {
	background-color: var(--wave-accent);
	color: var(--wave-bg);
	border-radius: 8px;
	font-weight: 700;
	font-size: 15.5px;
	padding: 15px 28px;
	width: 100%;
}
.wave-form .elementor-button[type="submit"]:hover { background-color: var(--wave-accent-dark); }

@media (max-width: 900px) {
	.wave-svc-row.e-con { grid-template-columns: 1fr; gap: 8px; }
	.wave-2col.e-con,
	.wave-contact.e-con { grid-template-columns: 1fr; gap: 32px; }
	.wave-proc-row.e-con { grid-template-columns: 48px 1fr; }
	.wave-plug-row.e-con { grid-template-columns: 1fr; gap: 8px; }
	.wave-stack-cards.e-con { grid-template-columns: 1fr; }
	.wave-stats.e-con { flex-wrap: wrap; }
}
