/*
Theme Name: T. David Divi Child
Theme URI: https://tdavid.ca/
Description: Child theme for T. David Topsoil & Landscape Supplies.
Author: OpenAI
Author URI: https://openai.com/
Template: Divi
Version: 1.0.0
Text Domain: tdavid-divi-child
*/

:root {
	--tdavid-red: #eb1b20;
	--tdavid-red-dark: #c9151a;
	--tdavid-green: #006f3a;
	--tdavid-green-dark: #04512b;
	--tdavid-dark: #262626;
	--tdavid-light: #f7f7f7;
}

body {
	color: var(--tdavid-dark);
	overflow-x: hidden;
}

html {
	overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
.et_pb_module_header,
.et_pb_counter_amount_number,
.et_pb_button {
	font-family: Rubik, Arial, Helvetica, sans-serif;
}

a {
	color: var(--tdavid-red);
}

a:hover {
	color: var(--tdavid-red-dark);
}

.et_pb_button {
	border-radius: 0;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
}

.et_pb_button:hover {
	transform: translateY(-1px);
}

#main-header {
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

#top-menu li a {
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.78rem;
}

#top-menu li a:hover,
#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a {
	color: var(--tdavid-red);
}

.mobile_menu_bar:before,
.mobile_menu_bar:after {
	color: var(--tdavid-red);
}

.et_pb_section {
	background-position: center center;
}

.et_pb_blurb_content,
.et_pb_cta,
.et_pb_text,
.et_pb_toggle,
.et_pb_number_counter,
.et_pb_code,
.et_pb_contact_form_container,
.et_pb_login_form {
	border-color: rgba(38, 38, 38, 0.08);
}

.et_pb_blurb,
.et_pb_cta,
.et_pb_toggle,
.et_pb_contact_form_container,
.et_pb_login_form {
	border-radius: 24px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.et_pb_contact_form_container input,
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select,
.et_pb_login_form input {
	border-radius: 14px;
	border-color: rgba(38, 38, 38, 0.12);
}

.et_pb_contact_form_container input:focus,
.et_pb_contact_form_container textarea:focus,
.et_pb_contact_form_container select:focus,
.et_pb_login_form input:focus {
	border-color: var(--tdavid-red);
}

.et_pb_toggle_title:before {
	color: var(--tdavid-red);
}

.et_pb_number_counter .percent-value {
	color: var(--tdavid-red);
}

.et_pb_bg_layout_light .et_pb_button,
.et_pb_bg_layout_dark .et_pb_button {
	border-color: currentColor;
}

.tdavid-materials-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.tdavid-material-card {
	overflow: hidden;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.tdavid-material-card__image {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.tdavid-material-card__body {
	padding: 1.25rem;
	display: grid;
	gap: 0.75rem;
}

.tdavid-material-card__body h3 {
	margin: 0;
	font-size: 1.3rem;
}

.tdavid-material-card__body p {
	margin: 0;
	line-height: 1.65;
	color: rgba(38, 38, 38, 0.8);
}

.tdavid-material-card__body a {
	font-weight: 700;
}

.tdavid-contact-info {
	display: grid;
	gap: 1rem;
}

.tdavid-contact-info p {
	margin: 0;
	line-height: 1.6;
}

.tdavid-callout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem 1.75rem;
	border-radius: 24px;
	background: linear-gradient(135deg, var(--tdavid-green), var(--tdavid-green-dark));
	color: #fff;
}

.tdavid-callout h2 {
	margin: 0;
	font-size: clamp(1.5rem, 3vw, 2.3rem);
}

.tdavid-callout .et_pb_button {
	color: #fff;
}

@media (max-width: 980px) {
	.tdavid-materials-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tdavid-callout {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 700px) {
	.tdavid-materials-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.et_pb_row {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.et_pb_column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		float: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.et_pb_text h1 {
		font-size: clamp(1.5rem, 6.5vw, 2.1rem) !important;
		line-height: 1.05 !important;
	}

	.et_pb_text h2 {
		font-size: clamp(1.7rem, 8vw, 2.2rem) !important;
		line-height: 1.1 !important;
	}

	.et_pb_section .et_pb_column {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.page-id-3051 .et_pb_section .et_pb_column_1_3,
	.page-id-3051 .et_pb_section .et_pb_column_2_3 {
		width: 100% !important;
		float: none !important;
	}

	.page-id-3051 .et_pb_section .et_pb_column_1_3 {
		padding: 28px 20px !important;
	}

	.page-id-3051 .et_pb_section .et_pb_column_2_3 {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.page-id-3051 .et_pb_section:first-of-type .et_pb_column:last-child,
	.page-id-3051 .et_pb_section:nth-of-type(2) .et_pb_column:last-child {
		display: none !important;
	}

	.page-id-3051 .et_pb_section:first-of-type .et_pb_column:first-child,
	.page-id-3051 .et_pb_section:nth-of-type(2) .et_pb_column:first-child {
		width: 100% !important;
		padding-right: 0 !important;
	}

	.page-id-2908 .et_pb_text h1 {
		font-size: clamp(1.05rem, 4.7vw, 1.45rem) !important;
		line-height: 1.05 !important;
		max-width: 260px !important;
	}

	.page-id-2908 .et_pb_text_inner {
		max-width: 260px !important;
	}

	.page-id-2908 .et_pb_text p {
		font-size: 0.96rem !important;
	}

	.page-id-3051 .et_pb_section .et_pb_blurb_container {
		padding-left: 0 !important;
	}

	.page-id-3051 .et_pb_section .et_pb_social_media_follow {
		justify-content: flex-start;
	}

	.page-id-3060 .et_pb_text h1 {
		font-size: clamp(1.55rem, 6.5vw, 2.1rem) !important;
	}

	.page-id-3060 .et_pb_text p {
		font-size: 0.94rem !important;
		line-height: 1.45 !important;
		max-width: 280px !important;
	}

	.page-id-3060 .et_pb_text_inner {
		max-width: 280px !important;
	}

	.page-id-3060 .et_pb_row,
	.page-id-3060 .et_pb_text,
	.page-id-3060 .et_pb_code {
		max-width: 100% !important;
	}

	.et_pb_text {
		max-width: none !important;
		width: 100% !important;
	}

	.et_pb_text h1,
	.et_pb_text h2,
	.et_pb_text h3,
	.et_pb_text p,
	.et_pb_blurb_description,
	.et_pb_button,
	.tdavid-callout h2,
	.tdavid-material-card__body h3,
	.tdavid-material-card__body p {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.page-id-2908 .et_pb_text h1,
	.page-id-3060 .et_pb_text h1,
	.page-id-3051 .et_pb_text h1,
	.page-id-3051 .et_pb_text h2,
	.page-id-3060 .et_pb_text p,
	.page-id-2908 .et_pb_text p {
		max-width: 100% !important;
	}
}
