/*
Theme Name: Two Girls Kennel Divi Child
Template: Divi
Version: 1.0.0
Text Domain: two-girls-kennel-divi-child
*/

:root {
	--tgk-cream: #fff8f1;
	--tgk-brown: #6a3e24;
	--tgk-dark: #24150e;
	--tgk-body: #5b463b;
	--tgk-white: #ffffff;
	--tgk-tan: #d8b79a;
	--tgk-peach: #efc4aa;
	--tgk-radius-small: 8px;
	--tgk-radius-medium: 18px;
	--tgk-radius-large: 24px;
	--tgk-content-width: 1200px;
}

.tgk-services {
	background: var(--tgk-white);
	padding: 90px 0;
}

.tgk-services-heading {
	margin-bottom: 46px;
	text-align: center;
}

.tgk-services-eyebrow {
	margin-bottom: 10px;
	color: var(--tgk-brown);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tgk-services-accent {
	display: block;
	width: 72px;
	height: 3px;
	margin: 0 auto 20px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		#c99cab,
		var(--tgk-peach),
		#9bb8ad,
		#aea1bf
	);
}

.tgk-services-heading h2 {
	margin-bottom: 20px;
	color: var(--tgk-dark);
	font-size: 46px;
	line-height: 1.15;
}

.tgk-services-intro {
	color: var(--tgk-body);
	font-size: 18px;
	line-height: 1.7;
}

.tgk-services-trust {
	margin-top: 12px;
	color: var(--tgk-brown);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
}

.tgk-services-cards {
	display: flex;
	align-items: stretch;
}

.tgk-service-card {
	display: flex;
	flex-direction: column;
	padding: 30px;
	overflow: hidden;
	border: 1px solid var(--tgk-tan);
	border-radius: var(--tgk-radius-medium);
	background: var(--tgk-cream);
	box-shadow: 0 10px 30px rgba(36, 21, 14, 0.07);
}

.tgk-service-card .et_pb_text {
	margin-bottom: 24px;
}

.tgk-service-paw {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--tgk-peach);
	color: var(--tgk-brown);
	font-size: 28px;
	line-height: 1;
}

.tgk-service-card h3 {
	margin-bottom: 12px;
	color: var(--tgk-dark);
	font-size: 27px;
	line-height: 1.25;
}

.tgk-service-card p {
	color: var(--tgk-body);
	font-size: 16px;
	line-height: 1.65;
}

.tgk-service-card .et_pb_button_module_wrapper {
	margin-top: auto;
	text-align: left;
}

body #page-container .et_pb_section .et_pb_button.tgk-card-button {
	padding: 12px 22px;
	border: 0;
	border-radius: 7px;
	background: var(--tgk-brown);
	color: var(--tgk-white);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

body #page-container .et_pb_section .et_pb_button.tgk-card-button:hover {
	padding: 12px 22px;
	border: 0;
	background: var(--tgk-dark);
	color: var(--tgk-white);
}

body #page-container .et_pb_section .et_pb_button.tgk-card-button:focus-visible {
	padding: 12px 22px;
	border: 0;
	background: var(--tgk-dark);
	color: var(--tgk-white);
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

body #page-container .et_pb_section .et_pb_button.tgk-card-button::after {
	display: none;
	content: none;
}

.tgk-service-paw svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

@media (max-width: 980px) {
	.tgk-services {
		padding: 70px 0;
	}

	.tgk-services-heading h2 {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.tgk-services {
		padding: 55px 0;
	}

	.tgk-services-heading h2 {
		font-size: 34px;
	}

	.tgk-services-cards {
		display: block;
	}

	.tgk-services-cards .tgk-service-card {
		width: 100%;
		margin-right: 0;
		margin-bottom: 24px;
	}

	.tgk-services-cards .tgk-service-card:last-child {
		margin-bottom: 0;
	}

	.tgk-service-card h3 {
		font-size: 25px;
	}
}

/* Phase 4: native Divi global header */
body.et_fixed_nav #page-container {
	padding-top: 72px !important;
}

#main-header,
#main-header.et-fixed-header {
	height: 72px;
	min-height: 72px;
	background: #fffdf9;
	box-shadow: 0 1px 0 rgba(106, 62, 36, 0.14);
}

#main-header .container.et_menu_container,
#main-header.et-fixed-header .container.et_menu_container,
#main-header .logo_container,
#main-header.et-fixed-header .logo_container {
	height: 72px;
	min-height: 72px;
}

#main-header #logo,
#main-header.et-fixed-header #logo {
	width: auto;
	max-width: 150px;
	max-height: 54px;
}

.et_header_style_left #et-top-navigation,
.et_header_style_left .et-fixed-header #et-top-navigation {
	padding-top: 26px !important;
}

.et_header_style_left #et-top-navigation nav > ul > li > a,
.et_header_style_left .et-fixed-header #et-top-navigation nav > ul > li > a {
	padding-bottom: 26px !important;
}

#top-menu > li {
	padding-right: 18px;
}

#top-menu > li > a,
.et-fixed-header #top-menu > li > a {
	color: var(--tgk-dark) !important;
	font-weight: 600;
}

#top-menu > li > a:hover,
#top-menu > li.current-menu-item > a,
#top-menu > li.current_page_item > a,
.et-fixed-header #top-menu > li > a:hover,
.et-fixed-header #top-menu > li.current-menu-item > a,
.et-fixed-header #top-menu > li.current_page_item > a {
	color: var(--tgk-brown) !important;
	opacity: 1;
}

#top-menu > li > a:focus-visible,
.et_mobile_menu a:focus-visible {
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

#top-menu > li.tgk-nav-cta {
	padding-right: 0;
}

#top-menu > li.tgk-nav-cta > a,
.et-fixed-header #top-menu > li.tgk-nav-cta > a {
	margin-top: -8px;
	padding: 8px 14px !important;
	border-radius: 7px;
	background: var(--tgk-brown);
	color: var(--tgk-white) !important;
	font-size: 15px;
	line-height: 1.5;
}

#top-menu > li.tgk-nav-cta.current-menu-item > a,
#top-menu > li.tgk-nav-cta.current_page_item > a,
.et-fixed-header #top-menu > li.tgk-nav-cta.current-menu-item > a,
.et-fixed-header #top-menu > li.tgk-nav-cta.current_page_item > a {
    background: var(--tgk-brown);
    color: var(--tgk-white) !important;
    opacity: 1;
}

#top-menu > li.tgk-nav-cta > a:hover,
#top-menu > li.tgk-nav-cta > a:focus-visible,
.et-fixed-header #top-menu > li.tgk-nav-cta > a:hover,
.et-fixed-header #top-menu > li.tgk-nav-cta > a:focus-visible {
    background: var(--tgk-dark);
    color: var(--tgk-white) !important;
    opacity: 1;
}

#top-menu > li.tgk-nav-cta > a:focus-visible {
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

.mobile_menu_bar {
	color: var(--tgk-brown);
}

.mobile_menu_bar::before {
	color: var(--tgk-brown);
}

.mobile_menu_bar:focus-visible {
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

#main-header .et_mobile_menu {
	border-top-color: var(--tgk-brown);
	background: #fffdf9;
}

#main-header .et_mobile_menu li a {
	color: var(--tgk-dark);
}

#main-header .et_mobile_menu li a:hover,
#main-header .et_mobile_menu li.current-menu-item > a,
#main-header .et_mobile_menu li.current_page_item > a {
	background: rgba(106, 62, 36, 0.07);
	color: var(--tgk-brown);
	opacity: 1;
}

#main-header .et_mobile_menu li.tgk-nav-cta > a {
	margin-top: 8px;
	border-radius: 7px;
	background: var(--tgk-brown);
	color: var(--tgk-white);
	text-align: center;
}

#main-header .et_mobile_menu li.tgk-nav-cta > a:hover,
#main-header .et_mobile_menu li.tgk-nav-cta > a:focus-visible {
	background: var(--tgk-dark);
	color: var(--tgk-white);
}

.home #main-content .tgak-hero {
	margin: 0;
}

.tgk-services-heading,
.tgk-services-heading .et_pb_text,
.tgk-services-heading .et_pb_text_inner {
	text-align: center;
}

.tgk-services-heading,
.tgk-services-cards {
	padding-top: 0;
	padding-bottom: 0;
}

@media (min-width: 981px) {
	.home #main-content .tgk-services {
		padding-top: 64px;
		padding-bottom: 64px;
	}
}

@media (max-width: 980px) {
	body.et_fixed_nav #page-container {
		padding-top: 72px !important;
	}

	#main-header,
	#main-header.et-fixed-header,
	#main-header .container.et_menu_container,
	#main-header.et-fixed-header .container.et_menu_container,
	#main-header .logo_container,
	#main-header.et-fixed-header .logo_container {
		height: 72px;
		min-height: 72px;
	}

	#main-header #logo,
	#main-header.et-fixed-header #logo {
		max-width: 142px;
		max-height: 52px;
	}

	.et_header_style_left #et-top-navigation,
	.et_header_style_left .et-fixed-header #et-top-navigation {
		padding-top: 20px !important;
		padding-bottom: 0 !important;
	}
}

/* Phase 4: native Divi global footer */
#main-footer {
	background: var(--tgk-dark);
	color: var(--tgk-white);
}

#footer-widgets {
	padding: 52px 0 30px;
}

#footer-widgets .footer-widget {
	float: none;
	width: 100% !important;
	margin: 0 !important;
}

#footer-widgets .footer-widget:empty {
	display: none;
}

#footer-widgets .footer-widget:first-child {
	display: grid;
	grid-template-columns: minmax(180px, 0.8fr) minmax(360px, 1.6fr) minmax(220px, 1fr);
	gap: 32px 48px;
	align-items: start;
}

#footer-widgets .footer-widget:first-child > .fwidget {
	float: none;
	width: auto;
	margin: 0;
}

.tgk-footer-name {
	margin: 0;
	color: var(--tgk-white);
	font-family: inherit;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.15;
}

.tgk-footer-service {
	margin: 6px 0 0;
	color: var(--tgk-peach);
	font-size: 16px;
	font-weight: 600;
}

#footer-widgets #nav_menu-2 ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer-widgets #nav_menu-2 li {
	margin: 0;
	padding: 0;
}

#footer-widgets #nav_menu-2 li::before {
	display: none;
}

#footer-widgets #nav_menu-2 a {
	color: var(--tgk-white);
	text-decoration: none;
}

#footer-widgets #nav_menu-2 a:hover,
#footer-widgets #nav_menu-2 a:focus-visible,
#footer-widgets #nav_menu-2 .current-menu-item > a,
#footer-widgets #nav_menu-2 .current_page_item > a {
	color: var(--tgk-peach);
}

#footer-widgets #nav_menu-2 a:focus-visible {
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

.tgk-footer-closing {
	color: var(--tgk-white);
}

.tgk-footer-message {
	margin: 0;
	color: var(--tgk-white);
	font-weight: 600;
	line-height: 1.55;
}

.tgk-footer-accent {
	display: block;
	width: 52px;
	height: 3px;
	margin: 14px 0 18px;
	border-radius: 999px;
	background: var(--tgk-peach);
}

.tgk-footer-copyright {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
	line-height: 1.5;
}

#footer-bottom {
	display: none;
}

@media (max-width: 980px) {
	#footer-widgets .footer-widget:first-child {
		grid-template-columns: minmax(180px, 0.8fr) minmax(280px, 1.4fr);
	}

	#footer-widgets #custom_html-3 {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	#footer-widgets {
		padding: 42px 0 26px;
	}

	#footer-widgets .footer-widget:first-child {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	#footer-widgets #custom_html-3 {
		grid-column: auto;
	}

	#footer-widgets #nav_menu-2 ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px 22px;
	}
}

@media (max-width: 479px) {
	#footer-widgets #nav_menu-2 ul {
		grid-template-columns: 1fr;
	}
}

/* Phase 5: Book a Stay */
.tgk-booking-hero {
	padding: 78px 0 52px;
	background: var(--tgk-cream);
}

.tgk-booking-heading {
	text-align: center;
}

.tgk-booking-eyebrow {
	margin-bottom: 10px;
	color: var(--tgk-brown);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tgk-booking-accent {
	display: block;
	width: 58px;
	height: 3px;
	margin: 0 auto 20px;
	border-radius: 999px;
	background: var(--tgk-peach);
}

.tgk-booking-heading h1 {
	margin-bottom: 20px;
	color: var(--tgk-dark);
	font-size: 48px;
	line-height: 1.12;
}

.tgk-booking-intro {
	max-width: 760px;
	margin: 0 auto;
	color: var(--tgk-body);
	font-size: 18px;
	line-height: 1.7;
}

.tgk-booking-section {
	padding: 62px 0 42px;
	background: var(--tgk-white);
}

.tgk-booking-section > .et_pb_row {
	padding-bottom: 0;
}

.tgk-reservation-form {
	padding: 34px;
	border: 1px solid var(--tgk-tan);
	border-radius: var(--tgk-radius-medium);
	background: var(--tgk-cream);
	box-shadow: 0 10px 30px rgba(36, 21, 14, 0.07);
}

.tgk-reservation-form .et_pb_contact_form {
	margin-left: -12px;
}

.tgk-reservation-form .et_pb_contact_field {
	margin-bottom: 22px;
	padding-left: 12px;
}

.tgk-reservation-form .tgk-form-label,
.tgk-reservation-form .et_pb_contact_field_options_title {
	display: block;
	margin-bottom: 8px;
	color: var(--tgk-dark);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.tgk-reservation-form input.input,
.tgk-reservation-form select.input,
.tgk-reservation-form textarea.input {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid var(--tgk-tan);
	border-radius: 7px;
	background: var(--tgk-white);
	color: var(--tgk-dark);
	font-size: 16px;
	line-height: 1.5;
}

.tgk-reservation-form textarea.input {
	min-height: 145px;
	resize: vertical;
}

.tgk-reservation-form input.input:focus,
.tgk-reservation-form select.input:focus,
.tgk-reservation-form textarea.input:focus {
	border-color: var(--tgk-brown);
	outline: 3px solid var(--tgk-peach);
	outline-offset: 2px;
	background: var(--tgk-white);
}

.tgk-reservation-form input::placeholder,
.tgk-reservation-form textarea::placeholder {
	color: #79675e;
	opacity: 1;
}

.tgk-reservation-form .et_pb_contact_field_checkbox label {
	color: var(--tgk-body);
	font-size: 15px;
	line-height: 1.55;
}

.tgk-reservation-form .et_pb_contact_field_checkbox input:focus-visible + label i {
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

.tgk-reservation-form .et_pb_contact_field_checkbox label i {
	border: 1px solid var(--tgk-tan);
	background: var(--tgk-white);
}

.tgk-reservation-form .et_pb_contact_field_checkbox input:checked + label i::before {
	color: var(--tgk-brown);
}

.tgk-reservation-form .et_contact_bottom_container {
	float: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 4px;
}

body #page-container .et_pb_section .tgk-reservation-form .et_pb_contact_submit {
	padding: 12px 22px !important;
	border: 0 !important;
	border-radius: 7px;
	background: var(--tgk-brown) !important;
	color: var(--tgk-white) !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5 !important;
}

body #page-container .et_pb_section .tgk-reservation-form .et_pb_contact_submit:hover,
body #page-container .et_pb_section .tgk-reservation-form .et_pb_contact_submit:focus-visible {
	padding: 12px 22px !important;
	border: 0 !important;
	background: var(--tgk-dark) !important;
	color: var(--tgk-white) !important;
}

body #page-container .et_pb_section .tgk-reservation-form .et_pb_contact_submit:focus-visible {
	outline: 3px solid var(--tgk-peach);
	outline-offset: 3px;
}

body #page-container .et_pb_section .tgk-reservation-form .et_pb_contact_submit::after {
	display: none;
	content: none;
}

.tgk-reservation-form .et-pb-contact-message {
	color: var(--tgk-dark);
	line-height: 1.6;
}

.tgk-booking-privacy {
	margin-top: 18px;
	color: var(--tgk-body);
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

@media (max-width: 767px) {
	.tgk-booking-hero {
		padding: 56px 0 40px;
	}

	.tgk-booking-heading h1 {
		font-size: 36px;
	}

	.tgk-booking-intro {
		font-size: 17px;
	}

	.tgk-booking-section {
		padding: 42px 0 32px;
	}

	.tgk-reservation-form {
		padding: 24px 18px;
	}

	.tgk-reservation-form .et_pb_contact_field_half {
		float: none;
		width: 100%;
	}

	.tgk-reservation-form .et_contact_bottom_container {
		display: block;
		text-align: left;
	}

	body #page-container .et_pb_section .tgk-reservation-form .et_pb_contact_submit {
		width: 100%;
	}
}

/* Phase 6R: internal service pages */
.tgk-service-page-section {
	color: var(--tgk-body);
	font-size: 16px;
	line-height: 1.7;
}

.tgk-service-page-section > .et_pb_row {
	width: 90%;
	max-width: var(--tgk-content-width);
	padding-top: 0;
	padding-bottom: 0;
}

.tgk-service-page-section *,
.tgk-rate-card,
.tgk-service-feature-card {
	min-width: 0;
}

.tgk-service-hero {
	padding: 76px 0 68px;
	background: var(--tgk-cream);
	text-align: center;
}

.tgk-service-section-heading {
	max-width: 820px;
	margin-right: auto;
	margin-bottom: 36px;
	margin-left: auto;
	text-align: center;
}

.tgk-service-section-heading.et_pb_text {
	text-align: center;
}

.tgk-service-hero .tgk-service-section-heading,
.tgk-service-closing .tgk-service-section-heading {
	margin-bottom: 0;
}

.tgk-service-eyebrow {
	margin-bottom: 10px;
	color: var(--tgk-brown);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tgk-service-accent {
	display: block;
	width: 58px;
	height: 3px;
	margin: 0 auto 20px;
	border-radius: 999px;
	background: linear-gradient(90deg, #c99cab, var(--tgk-peach), #9bb8ad, #aea1bf);
}

.tgk-service-hero h1 {
	margin-bottom: 20px;
	color: var(--tgk-dark);
	font-size: 48px;
	line-height: 1.12;
}

.tgk-service-intro {
	max-width: 760px;
	margin: 0 auto 28px;
	font-size: 18px;
	line-height: 1.7;
}

.tgk-service-rates,
.tgk-service-details {
	padding: 64px 0;
	background: var(--tgk-white);
}

.tgk-service-expect {
	padding: 68px 0;
	background: var(--tgk-cream);
}

.tgk-service-prepare {
	padding: 60px 0;
	background: var(--tgk-peach);
}

.tgk-service-closing {
	padding: 64px 0;
	background: var(--tgk-peach);
	text-align: center;
}

.tgk-service-page-section h2 {
	margin-bottom: 18px;
	color: var(--tgk-dark);
	font-size: 38px;
	line-height: 1.2;
}

.tgk-service-page-section h3 {
	color: var(--tgk-dark);
	line-height: 1.3;
}

.tgk-rate-grid {
	display: grid;
	grid-template-columns: minmax(220px, 360px);
	justify-content: center;
	gap: 18px;
	margin-bottom: 32px;
}

.tgk-rate-grid-four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tgk-rate-card {
	padding: 24px 18px;
	overflow-wrap: anywhere;
	border: 1px solid var(--tgk-tan);
	border-radius: var(--tgk-radius-medium);
	background: var(--tgk-cream);
	text-align: center;
}

.tgk-rate-card h3,
.tgk-rate-card strong,
.tgk-rate-card span {
	display: block;
}

.tgk-rate-card h3 {
	margin-bottom: 8px;
	font-size: 18px;
}

.tgk-rate-card strong {
	margin-bottom: 4px;
	color: var(--tgk-brown);
	font-size: 34px;
	line-height: 1.1;
}

.tgk-rate-card span {
	font-size: 14px;
	line-height: 1.5;
}

.tgk-billing-note,
.tgk-public-hours {
	max-width: 820px;
	margin: 34px auto 0;
	padding: 24px;
	border-left: 4px solid var(--tgk-brown);
	border-radius: var(--tgk-radius-small);
	background: var(--tgk-cream);
}

.tgk-billing-note h3,
.tgk-public-hours h3 {
	margin-bottom: 12px;
	font-size: 22px;
}

.tgk-billing-note ul {
	margin: 0;
	padding-left: 1.2em;
}

.tgk-public-hours dl {
	margin: 0 0 14px;
}

.tgk-public-hours dl > div {
	display: grid;
	grid-template-columns: minmax(140px, 0.7fr) minmax(0, 1.3fr);
	gap: 16px;
	padding: 9px 0;
	border-bottom: 1px solid rgba(106, 62, 36, 0.18);
}

.tgk-public-hours dt {
	color: var(--tgk-dark);
	font-weight: 700;
}

.tgk-public-hours dd {
	margin: 0;
}

.tgk-service-feature-row {
	display: flex;
	align-items: stretch;
}

.tgk-service-feature-card {
	padding: 30px;
	overflow-wrap: anywhere;
	border: 1px solid var(--tgk-tan);
	border-radius: var(--tgk-radius-medium);
	background: var(--tgk-white);
	box-shadow: 0 10px 30px rgba(36, 21, 14, 0.07);
}

.tgk-service-feature-card h3 {
	margin-bottom: 12px;
	font-size: 23px;
}

.tgk-service-page-paw {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--tgk-peach);
	color: var(--tgk-brown);
}

.tgk-service-page-paw svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

.tgk-preparation-list,
.tgk-service-details .et_pb_text {
	max-width: 820px;
	margin-right: auto;
	margin-left: auto;
}

.tgk-preparation-list ul,
.tgk-detail-list {
	margin: 24px 0;
	padding-left: 1.2em;
}

.tgk-preparation-list li,
.tgk-detail-list li {
	margin-bottom: 10px;
}

.tgk-service-page-section .et_pb_button_module_wrapper {
	text-align: center;
}

body #page-container .et_pb_section .et_pb_button.tgk-service-cta {
	padding: 12px 22px !important;
	border: 0 !important;
	border-radius: 7px;
	background: var(--tgk-brown) !important;
	color: var(--tgk-white) !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5 !important;
}

body #page-container .et_pb_section .et_pb_button.tgk-service-cta:hover,
body #page-container .et_pb_section .et_pb_button.tgk-service-cta:focus-visible {
	padding: 12px 22px !important;
	border: 0 !important;
	background: var(--tgk-dark) !important;
	color: var(--tgk-white) !important;
}

body #page-container .et_pb_section .et_pb_button.tgk-service-cta:focus-visible {
	outline: 3px solid var(--tgk-white);
	outline-offset: 3px;
}

body #page-container .et_pb_section .et_pb_button.tgk-service-cta::after {
	display: none;
	content: none;
}

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

	.tgk-service-feature-row {
		display: block;
	}

	.tgk-service-feature-row .tgk-service-feature-card {
		width: 100%;
		margin-right: 0;
		margin-bottom: 24px;
	}

	.tgk-service-feature-row .tgk-service-feature-card:last-child {
		margin-bottom: 0;
	}
}

@media (max-width: 767px) {
	.tgk-service-hero {
		padding: 54px 0 48px;
	}

	.tgk-service-hero h1 {
		font-size: 36px;
	}

	.tgk-service-intro {
		font-size: 17px;
	}

	.tgk-service-rates,
	.tgk-service-expect,
	.tgk-service-details {
		padding: 50px 0;
	}

	.tgk-service-prepare,
	.tgk-service-closing {
		padding: 46px 0;
	}

	.tgk-service-page-section h2 {
		font-size: 31px;
	}

	.tgk-rate-grid,
	.tgk-rate-grid-four,
	.tgk-public-hours dl > div {
		grid-template-columns: 1fr;
	}

	.tgk-public-hours dl > div {
		gap: 2px;
	}

	.tgk-rate-card,
	.tgk-service-feature-card,
	.tgk-billing-note,
	.tgk-public-hours {
		padding: 22px;
	}
}

/* Phase 7: Policies and FAQs page */
.tgk-policy-page-section { color: var(--tgk-body); font-size: 16px; line-height: 1.7; }
.tgk-policy-page-section > .et_pb_row { width: 90%; max-width: var(--tgk-content-width); padding-top: 0; padding-bottom: 0; }
.tgk-policy-page-section *, .tgk-policy-card, .tgk-faq-list article { min-width: 0; }
.tgk-policy-quick-links { padding: 34px 0; background: var(--tgk-white); border-bottom: 1px solid var(--tgk-tan); }
.tgk-policy-nav { max-width: 1000px; margin: 0 auto; text-align: center; }
.tgk-policy-nav h2 { margin-bottom: 18px; color: var(--tgk-dark); font-size: 26px; line-height: 1.3; }
.tgk-policy-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tgk-policy-nav a { display: inline-block; padding: 9px 14px; border: 1px solid var(--tgk-tan); border-radius: 999px; background: var(--tgk-cream); color: var(--tgk-dark); font-weight: 700; line-height: 1.4; text-decoration: none; }
.tgk-policy-nav a:hover { border-color: var(--tgk-brown); background: var(--tgk-peach); color: var(--tgk-dark); }
.tgk-policy-nav a:focus-visible { outline: 3px solid var(--tgk-brown); outline-offset: 3px; }
.tgk-policy-section { padding: 64px 0; scroll-margin-top: 90px; background: var(--tgk-white); }
.tgk-policy-section-cream { background: var(--tgk-cream); }
.tgk-policy-section-peach { background: var(--tgk-peach); }
.tgk-policy-section-heading { max-width: 820px; margin: 0 auto 34px; text-align: center; }
.tgk-policy-section-heading.et_pb_text { text-align: center; }
.tgk-policy-section-heading h2 { margin-bottom: 16px; color: var(--tgk-dark); font-size: 38px; line-height: 1.2; }
.tgk-policy-section-heading p { margin-bottom: 0; }
.tgk-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1000px; margin: 0 auto; }
.tgk-policy-card { padding: 28px; overflow-wrap: anywhere; border: 1px solid var(--tgk-tan); border-radius: var(--tgk-radius-medium); background: var(--tgk-white); box-shadow: 0 10px 30px rgba(36, 21, 14, 0.07); }
.tgk-policy-card h3, .tgk-policy-callout h3 { margin-bottom: 14px; color: var(--tgk-dark); font-size: 23px; line-height: 1.3; }
.tgk-policy-card ul, .tgk-policy-reading-width ul, .tgk-policy-callout ul { margin: 0; padding-left: 1.25em; }
.tgk-policy-card li, .tgk-policy-reading-width li, .tgk-policy-callout li { margin-bottom: 9px; }
.tgk-policy-card li:last-child, .tgk-policy-reading-width li:last-child, .tgk-policy-callout li:last-child { margin-bottom: 0; }
.tgk-policy-hours { margin: 0 0 18px; }
.tgk-policy-hours > div { display: grid; grid-template-columns: minmax(140px, 0.8fr) minmax(0, 1.2fr); gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(106, 62, 36, 0.18); }
.tgk-policy-hours dt { color: var(--tgk-dark); font-weight: 700; }
.tgk-policy-hours dd { margin: 0; }
.tgk-policy-note, .tgk-policy-callout { max-width: 820px; margin: 32px auto 0; padding: 24px; border-left: 4px solid var(--tgk-brown); border-radius: var(--tgk-radius-small); background: var(--tgk-cream); }
.tgk-policy-section-peach .tgk-policy-callout { background: var(--tgk-white); }
.tgk-policy-reading-width { max-width: 820px; margin-right: auto; margin-left: auto; }
.tgk-faqs { background: var(--tgk-cream); }
.tgk-faq-list { display: grid; gap: 18px; max-width: 920px; margin: 0 auto; }
.tgk-faq-list article { padding: 24px 26px; border: 1px solid var(--tgk-tan); border-radius: var(--tgk-radius-medium); background: var(--tgk-white); }
.tgk-faq-list h3 { margin-bottom: 10px; color: var(--tgk-dark); font-size: 22px; line-height: 1.35; }
.tgk-faq-list p { margin-bottom: 0; }
@media (max-width: 767px) {
    .tgk-policy-quick-links { padding: 28px 0; }
    .tgk-policy-nav ul { align-items: stretch; flex-direction: column; }
    .tgk-policy-nav a { width: 100%; }
    .tgk-policy-section { padding: 50px 0; scroll-margin-top: 72px; }
    .tgk-policy-section-heading h2 { font-size: 31px; }
    .tgk-policy-grid { grid-template-columns: 1fr; }
    .tgk-policy-hours > div { grid-template-columns: 1fr; gap: 2px; }
    .tgk-policy-card, .tgk-policy-note, .tgk-policy-callout, .tgk-faq-list article { padding: 22px; }
}

/* Phase 8: About and Contact pages */
.tgk-phase8-section { padding: 64px 0; color: var(--tgk-body); font-size: 16px; line-height: 1.7; }
.tgk-phase8-section > .et_pb_row { width: 90%; max-width: var(--tgk-content-width); padding-top: 0; padding-bottom: 0; }
.tgk-phase8-section *, .tgk-phase8-card { min-width: 0; }
.tgk-phase8-heading { max-width: 820px; margin: 0 auto 34px; text-align: center; }
.tgk-phase8-heading.et_pb_text { text-align: center; }
.tgk-phase8-heading h2 { margin-bottom: 16px; color: var(--tgk-dark); font-size: 38px; line-height: 1.2; }
.tgk-phase8-heading p:last-child { margin-bottom: 0; }
.tgk-about-welcome, .tgk-contact-info, .tgk-contact-next { background: var(--tgk-white); }
.tgk-about-approach, .tgk-contact-hours { background: var(--tgk-cream); }
.tgk-about-facility { background: var(--tgk-white); }
.tgk-about-inclusive { background: var(--tgk-peach); }
.tgk-phase8-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1100px; margin: 0 auto; }
.tgk-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
.tgk-phase8-card { padding: 28px; overflow-wrap: anywhere; border: 1px solid var(--tgk-tan); border-radius: var(--tgk-radius-medium); background: var(--tgk-white); box-shadow: 0 10px 30px rgba(36, 21, 14, 0.07); text-align: left; }
.tgk-phase8-card h3 { margin-bottom: 12px; color: var(--tgk-dark); font-size: 23px; line-height: 1.3; }
.tgk-phase8-card address { margin-bottom: 16px; font-style: normal; }
.tgk-phase8-card a, .tgk-text-link, .tgk-phase8-secondary-link a { color: var(--tgk-brown); font-weight: 700; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.tgk-phase8-card a:hover, .tgk-text-link:hover, .tgk-phase8-secondary-link a:hover { color: var(--tgk-dark); }
.tgk-phase8-card a:focus-visible, .tgk-text-link:focus-visible, .tgk-phase8-secondary-link a:focus-visible { outline: 3px solid var(--tgk-brown); outline-offset: 3px; }
.tgk-phase8-secondary-link { margin-top: 18px; text-align: center; }
.tgk-contact-hours .tgk-public-hours { margin-top: 0; }
.tgk-contact-service-links { margin: 0; padding-left: 1.2em; }
@media (max-width: 980px) { .tgk-phase8-grid, .tgk-contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .tgk-phase8-section { padding: 50px 0; } .tgk-phase8-heading h2 { font-size: 31px; } .tgk-phase8-card { padding: 22px; } }
