/* Delaware Child - extras. Colours come from --dwc-primary (set from the parent theme colour). */

:root {
	--dwc-primary: #1e3a6e;
	--dwc-primary-dark: #1c64ba;
	--dwc-wa: #128c4a;
	--dwc-border: #dde3ec;
	--dwc-text: #222;
}

/* ---------- Accessibility ---------- */
.dwc-skip {
	position: absolute;
	left: 8px;
	top: -60px;
	z-index: 100000;
	padding: 12px 18px;
	background: #111;
	color: #fff;
	border-radius: 0 0 6px 6px;
	text-decoration: none;
	transition: top 0.15s;
}
.dwc-skip:focus {
	top: 0;
	color: #fff;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 3px solid var(--dwc-primary-dark);
	outline-offset: 2px;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

.dwc-icon {
	flex: none;
	vertical-align: middle;
}

/* ---------- Mobile quick-contact bar ---------- */
.dwc-actionbar {
	display: none;
}

@media (max-width: 767px) {
	.dwc-actionbar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		background: #fff;
		border-top: 1px solid var(--dwc-border);
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	.dwc-actionbar__btn {
		flex: 1 1 0;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 52px;
		padding: 8px 6px;
		font-size: 15px;
		font-weight: 600;
		color: var(--dwc-primary-dark);
		text-decoration: none;
	}
	.dwc-actionbar__btn + .dwc-actionbar__btn {
		border-left: 1px solid var(--dwc-border);
	}
	.dwc-actionbar__btn--wa {
		color: var(--dwc-wa);
	}
	.dwc-actionbar__btn--book {
		background: var(--dwc-primary-dark);
		color: #fff;
	}
	body.dwc-has-actionbar {
		padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
	}
}

/* ---------- Floating WhatsApp (desktop) ---------- */
.dwc-wa-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9980;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--dwc-wa);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.dwc-wa-float:hover,
.dwc-wa-float:focus {
	color: #fff;
	filter: brightness(0.92);
}
@media (max-width: 767px) {
	.dwc-wa-float {
		display: none;
	}
}

/* ---------- Back to top ---------- */
.dwc-top {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 9970;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: var(--dwc-primary-dark);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.dwc-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
@media (max-width: 767px) {
	.dwc-top {
		left: auto;
		right: 12px;
		bottom: 12px;
	}
	body.dwc-has-actionbar .dwc-top {
		bottom: calc(64px + env(safe-area-inset-bottom, 0px));
	}
}

/* ---------- Buttons ---------- */
.dwc-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 20px;
}
.dwc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 24px;
	border: 2px solid var(--dwc-primary-dark);
	border-radius: 4px;
	background: var(--dwc-primary-dark);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.dwc-btn:hover,
.dwc-btn:focus {
	color: #fff;
	filter: brightness(0.92);
}
.dwc-btn--wa {
	background: var(--dwc-wa);
	border-color: var(--dwc-wa);
}
.dwc-btn--outline {
	background: transparent;
	color: var(--dwc-primary-dark);
}
.dwc-btn--outline:hover,
.dwc-btn--outline:focus {
	color: var(--dwc-primary-dark);
	background: rgba(0, 0, 0, 0.04);
	filter: none;
}

/* ---------- Valuation form ---------- */
.dwc-form-wrap {
	max-width: 780px;
	margin: 0 0 30px;
	padding: 24px;
	background: #fff;
	border: 1px solid var(--dwc-border);
	border-radius: 6px;
	color: var(--dwc-text);
}
.dwc-form__title {
	margin: 0 0 16px;
}
.dwc-form p {
	margin: 0 0 16px;
}
.dwc-form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	font-size: 15px;
}
.dwc-form input[type="text"],
.dwc-form input[type="tel"],
.dwc-form input[type="email"],
.dwc-form input[type="date"],
.dwc-form select,
.dwc-form textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #b9c4d8;
	border-radius: 4px;
	background: #fff;
	color: var(--dwc-text);
	font-size: 16px; /* 16px stops iOS zooming into the field */
	box-sizing: border-box;
}
.dwc-form textarea {
	min-height: 110px;
	resize: vertical;
}
.dwc-req {
	color: #b3261e;
}
.dwc-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 16px;
}
@media (min-width: 640px) {
	.dwc-grid {
		grid-template-columns: 1fr 1fr;
	}
}
.dwc-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.dwc-consent {
	font-size: 14px;
	color: #555;
}
.dwc-form__submit[disabled] {
	opacity: 0.7;
	cursor: wait;
}
.dwc-notice {
	margin: 0 0 18px;
	padding: 14px 16px;
	border-left: 4px solid;
	border-radius: 4px;
}
.dwc-notice--ok {
	background: #e8f5ec;
	border-color: #1e7a3c;
	color: #14532b;
}
.dwc-notice--err {
	background: #fdecea;
	border-color: #b3261e;
	color: #7a1a14;
}

/* ---------- FAQ ---------- */
.dwc-faq {
	margin: 0 0 24px;
	border-top: 1px solid var(--dwc-border);
}
.dwc-faq__item {
	border-bottom: 1px solid var(--dwc-border);
}
.dwc-faq__item summary {
	position: relative;
	padding: 16px 40px 16px 4px;
	font-weight: 600;
	font-size: 17px;
	cursor: pointer;
	list-style: none;
}
.dwc-faq__item summary::-webkit-details-marker {
	display: none;
}
.dwc-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	font-weight: 400;
	color: var(--dwc-primary-dark);
}
.dwc-faq__item[open] summary::after {
	content: "\2212";
}
.dwc-faq__a {
	padding: 0 4px 16px;
}
.dwc-faq__a p:last-child {
	margin-bottom: 0;
}

/* ---------- Business info ---------- */
.dwc-info dt {
	font-weight: 600;
	margin-top: 12px;
}
.dwc-info dd {
	margin: 2px 0 0;
}


/* =====================================================================
   MOBILE MENU (enhanced drawer)
   Only active when the body has .dwc-drawer. Built on the theme's own
   #menu-sidebar-panel, so the theme's open/close behaviour still works.
   ===================================================================== */

:root {
	--dwc-wa-dark: #0e7a40;
	--dwc-drawer-w: 400px;
	--dwc-drawer-bg: #ffffff;
	--dwc-drawer-text: #1b2438;
	--dwc-drawer-muted: rgba(27, 36, 56, 0.68);
	--dwc-drawer-line: rgba(27, 36, 56, 0.14);
	--dwc-drawer-soft: rgba(27, 36, 56, 0.07);
	--dwc-drawer-accent: #1c64ba;
}

/* ---------- Menu button ---------- */
body.dwc-drawer .navbar-icon {
	display: block;
	width: 46px;
	height: 46px;
	right: 4px;
	border-radius: 14px;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s ease, transform 0.15s ease;
}
body.dwc-drawer .navbar-icon:active {
	transform: translateY(-50%) scale(0.92);
}
body.dwc-drawer .navbar-icon .navbars-line {
	left: 50%;
	width: 24px;
	margin-left: -12px;
	margin-top: -1px;
	border-radius: 2px;
}
body.dwc-drawer .navbar-icon .navbars-line:before,
body.dwc-drawer .navbar-icon .navbars-line:after {
	border-radius: 2px;
	transition: width 0.2s ease;
}
body.dwc-drawer .navbar-icon .navbars-line:after {
	width: 65%;
	right: 0;
}
body.dwc-drawer .navbar-icon:hover .navbars-line:after {
	width: 100%;
}
body.dwc-drawer.dwc-menubtn-soft .navbar-icon {
	background-color: rgba(120, 130, 150, 0.16);
}
body.dwc-drawer.dwc-menubtn-filled .navbar-icon {
	background-color: var(--dwc-primary-dark);
}
body.dwc-drawer.dwc-menubtn-filled .navbar-icon .navbars-line,
body.dwc-drawer.dwc-menubtn-filled .navbar-icon .navbars-line:before,
body.dwc-drawer.dwc-menubtn-filled .navbar-icon .navbars-line:after {
	background-color: #fff;
}

/* ---------- Page behind the menu ---------- */
html.dwc-lock {
	overflow: hidden;
}
html.dwc-lock body {
	padding-right: var(--dwc-sbw, 0px);
}
body.dwc-drawer .delaware-off-canvas-layer {
	display: block;
	opacity: 0;
	visibility: hidden;
	background-color: rgba(8, 12, 28, 0.55);
	z-index: 99990;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
body.dwc-drawer.open-canvas-panel .delaware-off-canvas-layer {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}
body.dwc-drawer.dwc-blur .delaware-off-canvas-layer {
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

/* ---------- The panel ---------- */
body.dwc-drawer #menu-sidebar-panel {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: auto;
	display: flex;
	flex-direction: column;
	width: 88vw;
	width: min(var(--dwc-drawer-w), 92vw);
	overflow: hidden;
	background-color: var(--dwc-drawer-bg);
	color: var(--dwc-drawer-text);
	border-radius: 22px 0 0 22px;
	box-shadow: none;
	transform: translate3d(105%, 0, 0);
	visibility: hidden;
	z-index: 100000;
	transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1), visibility 0s linear 0.4s, box-shadow 0.4s ease;
}
body.dwc-drawer #menu-sidebar-panel.open {
	transform: none;
	visibility: visible;
	box-shadow: -20px 0 60px rgba(8, 12, 28, 0.3);
	transition-delay: 0s;
}
body.dwc-drawer #menu-sidebar-panel:focus {
	outline: 0;
}

/* From the left */
body.dwc-drawer-left #menu-sidebar-panel {
	right: auto;
	left: 0;
	border-radius: 0 22px 22px 0;
	transform: translate3d(-105%, 0, 0);
}
body.dwc-drawer-left #menu-sidebar-panel.open {
	transform: none;
	box-shadow: 20px 0 60px rgba(8, 12, 28, 0.3);
}

/* Full screen */
body.dwc-drawer-full #menu-sidebar-panel {
	right: 0;
	left: 0;
	width: 100%;
	border-radius: 0;
	transform: none;
	opacity: 0;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
body.dwc-drawer-full #menu-sidebar-panel.open {
	opacity: 1;
	box-shadow: none;
	transition-delay: 0s;
}

/* Layout inside: header, scrolling list, pinned footer */
body.dwc-drawer #menu-sidebar-panel .widget-canvas-content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	overflow: hidden;
}
body.dwc-drawer #menu-sidebar-panel .widget-panel-header {
	position: static;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 76px;
	padding: 14px 18px 14px 22px;
	background: transparent;
	border-bottom: 1px solid var(--dwc-drawer-line);
	z-index: auto;
}
body.dwc-drawer #menu-sidebar-panel .widget-panel-content {
	flex: 1 1 auto;
	min-height: 0;
	padding: 6px 22px 28px;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
body.dwc-drawer #menu-sidebar-panel .widget-panel-content::-webkit-scrollbar {
	display: none;
}
body.dwc-drawer #menu-sidebar-panel .widget-panel-footer {
	position: static;
	flex: none;
	height: auto;
	background: transparent;
}

/* Logo and close button */
body.dwc-drawer #menu-sidebar-panel .dwc-drawer-logo {
	display: block;
	max-width: 62%;
	line-height: 0;
}
body.dwc-drawer #menu-sidebar-panel .dwc-drawer-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 40px;
}
body.dwc-drawer #menu-sidebar-panel .close-canvas-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	margin-left: auto;
	border-radius: 50%;
	background: var(--dwc-drawer-soft);
	color: var(--dwc-drawer-text);
	font-size: 19px;
	line-height: 1;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s ease, transform 0.3s ease;
}
body.dwc-drawer #menu-sidebar-panel .close-canvas-panel:hover {
	background: var(--dwc-drawer-line);
	transform: rotate(90deg);
}

/* ---------- Menu list ---------- */
body.dwc-drawer #menu-sidebar-panel ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
body.dwc-drawer #menu-sidebar-panel ul.menu li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.dwc-drawer #menu-sidebar-panel ul.menu > li {
	border-bottom: 1px solid var(--dwc-drawer-line);
}
body.dwc-drawer #menu-sidebar-panel ul.menu li a {
	position: relative;
	display: block;
	padding: 16px 54px 16px 6px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--dwc-drawer-text);
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.2s ease, background-color 0.2s ease;
}
body.dwc-drawer #menu-sidebar-panel ul.menu li a:active {
	background-color: var(--dwc-drawer-soft);
}
@media (hover: hover) {
	body.dwc-drawer #menu-sidebar-panel ul.menu li a:hover {
		color: var(--dwc-drawer-accent);
	}
}

/* The theme turns the text black when a submenu is open. Keep it readable on dark menus. */
body.dwc-drawer #menu-sidebar-panel ul.menu li.active > a {
	color: var(--dwc-drawer-text);
}

/* Where you are */
body.dwc-drawer #menu-sidebar-panel ul.menu li.current-menu-item > a,
body.dwc-drawer #menu-sidebar-panel ul.menu li.current-menu-ancestor > a,
body.dwc-drawer #menu-sidebar-panel ul.menu li.current_page_item > a {
	color: var(--dwc-drawer-accent);
	font-weight: 600;
}
body.dwc-drawer #menu-sidebar-panel ul.menu > li > a:before {
	content: "";
	position: absolute;
	left: -22px;
	top: 50%;
	width: 4px;
	height: 24px;
	border-radius: 0 4px 4px 0;
	background: var(--dwc-drawer-accent);
	transform: translateY(-50%) scaleY(0);
	transition: transform 0.3s ease;
}
body.dwc-drawer #menu-sidebar-panel ul.menu > li.current-menu-item > a:before,
body.dwc-drawer #menu-sidebar-panel ul.menu > li.current_page_item > a:before,
body.dwc-drawer #menu-sidebar-panel ul.menu > li.current-menu-ancestor > a:before {
	transform: translateY(-50%) scaleY(1);
}

/* Submenus */
body.dwc-drawer #menu-sidebar-panel ul.menu ul.sub-menu {
	margin: 0 0 12px 6px;
	padding: 2px 0 2px 14px;
	border-left: 2px solid var(--dwc-drawer-line);
	list-style: none;
}
body.dwc-drawer #menu-sidebar-panel ul.menu ul.sub-menu li {
	border: 0;
}
body.dwc-drawer #menu-sidebar-panel ul.menu ul.sub-menu li a {
	padding: 12px 10px 12px 4px;
	font-size: 16px;
	font-weight: 400;
	color: var(--dwc-drawer-muted);
}
body.dwc-drawer #menu-sidebar-panel ul.menu ul.sub-menu li.current-menu-item > a {
	color: var(--dwc-drawer-accent);
	font-weight: 600;
}
body.dwc-drawer #menu-sidebar-panel ul.menu ul.sub-menu > li > a:before {
	display: none;
}

/* The + / - toggle becomes a round chevron button with a proper tap size */
body.dwc-drawer #menu-sidebar-panel ul.menu li a .toggle-menu-children {
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border-radius: 50%;
	background: var(--dwc-drawer-soft);
	color: var(--dwc-drawer-text);
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}
body.dwc-drawer #menu-sidebar-panel ul.menu li a .toggle-menu-children:before {
	display: none;
}
body.dwc-drawer #menu-sidebar-panel ul.menu li a .toggle-menu-children .menu-arrow {
	left: 50%;
	top: 50%;
	width: 9px;
	height: 9px;
	background: none;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -68%) rotate(45deg);
	transition: transform 0.3s ease;
}
body.dwc-drawer #menu-sidebar-panel ul.menu li.active > a .toggle-menu-children {
	background: var(--dwc-drawer-accent);
	color: var(--dwc-drawer-bg);
}
body.dwc-drawer #menu-sidebar-panel ul.menu li.active > a .toggle-menu-children .menu-arrow {
	transform: translate(-50%, -28%) rotate(-135deg);
}

/* ---------- Search, socials, cart (the theme's extra items) ---------- */
body.dwc-drawer #menu-sidebar-panel ul.menu-extra {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
body.dwc-drawer #menu-sidebar-panel ul.menu-extra li {
	padding: 6px 0;
	color: var(--dwc-drawer-muted);
}
body.dwc-drawer #menu-sidebar-panel ul.menu-extra .menu-socials-item a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0 8px 8px 0;
	border-radius: 50%;
	background: var(--dwc-drawer-soft);
	color: var(--dwc-drawer-text);
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
body.dwc-drawer #menu-sidebar-panel ul.menu-extra .menu-socials-item a:hover {
	background: var(--dwc-drawer-accent);
	color: var(--dwc-drawer-bg);
}
body.dwc-drawer #menu-sidebar-panel ul.menu-extra .menu-cart-item .text-cart,
body.dwc-drawer #menu-sidebar-panel ul.menu-extra .menu-text-item {
	color: var(--dwc-drawer-text);
}
body.dwc-drawer #menu-sidebar-panel .search-form .search-field {
	font-size: 16px; /* 16px stops iOS zooming into the field */
	color: var(--dwc-drawer-text);
	background-color: var(--dwc-drawer-soft);
	border-color: var(--dwc-drawer-line);
}
body.dwc-drawer #menu-sidebar-panel .search-form .search-field::placeholder {
	color: var(--dwc-drawer-muted);
	opacity: 1;
}

/* ---------- Address and hours ---------- */
.dwc-drawer-info {
	display: grid;
	gap: 12px;
	margin-top: 22px;
	padding: 16px;
	border-radius: 16px;
	background: var(--dwc-drawer-soft);
	color: var(--dwc-drawer-muted);
	font-size: 14px;
	line-height: 1.55;
}
.dwc-drawer-info__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.dwc-drawer-info__row .dwc-icon {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--dwc-drawer-accent);
}

/* ---------- Pinned buttons ---------- */
.dwc-drawer-cta {
	display: grid;
	gap: 10px;
	padding: 14px 22px calc(18px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--dwc-drawer-line);
	background: var(--dwc-drawer-bg);
}
.dwc-drawer-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.dwc-drawer-row > :only-child,
.dwc-drawer-row--solo > * {
	grid-column: 1 / -1;
}
.dwc-drawer-row--cta {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
.dwc-drawer-row--cta .dwc-drawer-btn {
	flex: 1 1 150px;
}
.dwc-drawer-row--cta.dwc-drawer-row--solo .dwc-drawer-btn {
	flex-basis: 100%;
}
.dwc-drawer-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	padding: 12px 14px;
	border: 2px solid var(--dwc-drawer-line);
	border-radius: 14px;
	background: transparent;
	color: var(--dwc-drawer-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: transform 0.15s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.dwc-drawer-btn:hover,
.dwc-drawer-btn:focus {
	color: var(--dwc-drawer-text);
	border-color: var(--dwc-drawer-accent);
}
.dwc-drawer-btn:active {
	transform: scale(0.97);
}
.dwc-drawer-btn--primary {
	justify-content: space-between;
	padding: 14px 20px;
	border-color: var(--dwc-primary-dark);
	background: var(--dwc-primary-dark);
	color: #fff;
	box-shadow: 0 10px 24px -10px rgba(0, 0, 0, 0.45);
}
.dwc-drawer-btn--primary:hover,
.dwc-drawer-btn--primary:focus {
	color: #fff;
	border-color: var(--dwc-primary-dark);
	filter: brightness(1.08);
}
.dwc-drawer-btn--secondary {
	justify-content: space-between;
	padding: 14px 20px;
	border-color: var(--dwc-drawer-accent);
	background: transparent;
	color: var(--dwc-drawer-accent);
}
.dwc-drawer-btn--secondary:hover,
.dwc-drawer-btn--secondary:focus {
	color: var(--dwc-drawer-accent);
	background: var(--dwc-drawer-soft);
}
.dwc-drawer-btn--wa {
	border-color: var(--dwc-wa-dark);
	background: var(--dwc-wa-dark);
	color: #fff;
}
.dwc-drawer-btn--wa:hover,
.dwc-drawer-btn--wa:focus {
	color: #fff;
	border-color: var(--dwc-wa-dark);
	filter: brightness(1.1);
}

/* ---------- Items glide in one after another ---------- */
body.dwc-drawer #menu-sidebar-panel ul.menu > li,
body.dwc-drawer #menu-sidebar-panel ul.menu-extra,
body.dwc-drawer #menu-sidebar-panel .dwc-drawer-info {
	opacity: 0;
	transform: translate3d(18px, 0, 0);
	transition: opacity 0.4s ease, transform 0.45s cubic-bezier(0.22, 0.8, 0.26, 1);
}
body.dwc-drawer-left #menu-sidebar-panel ul.menu > li,
body.dwc-drawer-left #menu-sidebar-panel ul.menu-extra,
body.dwc-drawer-left #menu-sidebar-panel .dwc-drawer-info {
	transform: translate3d(-18px, 0, 0);
}
body.dwc-drawer-full #menu-sidebar-panel ul.menu > li,
body.dwc-drawer-full #menu-sidebar-panel ul.menu-extra,
body.dwc-drawer-full #menu-sidebar-panel .dwc-drawer-info {
	transform: translate3d(0, 16px, 0);
}
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li,
body.dwc-drawer #menu-sidebar-panel.open ul.menu-extra,
body.dwc-drawer #menu-sidebar-panel.open .dwc-drawer-info {
	opacity: 1;
	transform: none;
	transition-delay: 0.14s;
}
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(2) { transition-delay: 0.18s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(3) { transition-delay: 0.22s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(4) { transition-delay: 0.26s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(5) { transition-delay: 0.30s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(6) { transition-delay: 0.34s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(7) { transition-delay: 0.38s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu > li:nth-child(n+8) { transition-delay: 0.42s; }
body.dwc-drawer #menu-sidebar-panel.open ul.menu-extra { transition-delay: 0.30s; }
body.dwc-drawer #menu-sidebar-panel.open .dwc-drawer-info { transition-delay: 0.36s; }

/* Full screen menu: bigger, centred column */
body.dwc-drawer-full #menu-sidebar-panel .widget-panel-content,
body.dwc-drawer-full #menu-sidebar-panel .dwc-drawer-cta,
body.dwc-drawer-full #menu-sidebar-panel .widget-panel-header {
	padding-left: max(22px, calc((100% - 560px) / 2));
	padding-right: max(22px, calc((100% - 560px) / 2));
}
body.dwc-drawer-full #menu-sidebar-panel ul.menu > li > a {
	padding-top: 18px;
	padding-bottom: 18px;
	font-size: clamp(22px, 6.5vw, 32px);
	font-weight: 600;
}
body.dwc-drawer-full #menu-sidebar-panel ul.menu > li > a:before {
	display: none;
}

/* Short screens (phones on their side): let everything scroll together */
@media (max-height: 520px) {
	body.dwc-drawer #menu-sidebar-panel .widget-canvas-content {
		overflow-y: auto;
	}
	body.dwc-drawer #menu-sidebar-panel .widget-panel-content {
		flex: none;
		overflow: visible;
	}
	.dwc-drawer-cta {
		grid-template-columns: 1fr 1fr;
	}
	.dwc-drawer-cta > .dwc-drawer-btn--primary {
		grid-column: 1 / -1;
	}
}


/* =====================================================================
   ANNOUNCEMENT BAR
   ===================================================================== */
.dwc-bar {
	position: relative;
	z-index: 1001;
	padding: 10px 52px 10px 16px;
	background: var(--dwc-bar-bg, var(--dwc-primary-dark));
	color: var(--dwc-bar-fg, #fff);
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}
.dwc-bar__text {
	margin: 0;
	color: inherit;
}
.dwc-bar a {
	margin-left: 6px;
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}
.dwc-bar a:hover,
.dwc-bar a:focus {
	color: inherit;
	text-decoration-thickness: 2px;
}
.dwc-bar__close {
	position: absolute;
	right: 6px;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	margin-top: -20px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}
.dwc-bar__close:hover,
.dwc-bar__close:focus {
	opacity: 1;
	background: rgba(127, 127, 127, 0.25);
}
.dwc-bar__close .dwc-icon {
	width: 18px;
	height: 18px;
}
/* A see-through header sits on top of the page, so move it below the bar */
body.dwc-has-bar.header-transparent .site-header:not(.minimized) {
	margin-top: var(--dwc-bar-h, 0px);
}
@media (max-width: 480px) {
	.dwc-bar {
		padding-left: 12px;
		font-size: 13px;
	}
}


/* =====================================================================
   LOOK AND FEEL
   ===================================================================== */

/* Button shape */
body.dwc-btn-square { --dwc-btn-r: 0; }
body.dwc-btn-rounded { --dwc-btn-r: 10px; }
body.dwc-btn-pill { --dwc-btn-r: 999px; }
body[class*="dwc-btn-"] :is(
	.dl-button a,
	.delaware-button .btn,
	.delaware-button a.bt-1,
	.delaware-button a.bt-2,
	input[type="submit"],
	button[type="submit"]:not(.search-submit),
	.woocommerce .button,
	.dwc-btn,
	.dwc-drawer-btn
) {
	border-radius: var(--dwc-btn-r) !important;
}

/* Hover effects */
body.dwc-hover :is(
	.dl-button a,
	.delaware-button .btn,
	.delaware-button a.bt-1,
	.delaware-button a.bt-2,
	input[type="submit"],
	button[type="submit"]:not(.search-submit),
	.woocommerce .button,
	.dwc-btn
) {
	transition: transform 0.2s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
body.dwc-hover :is(
	.dl-button a,
	.delaware-button .btn,
	.delaware-button a.bt-1,
	.delaware-button a.bt-2,
	input[type="submit"],
	button[type="submit"]:not(.search-submit),
	.woocommerce .button,
	.dwc-btn
):hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -10px rgba(15,35,64, 0.4);
}
body.dwc-hover :is(
	.delaware-icon-box,
	.delaware-image-box,
	.dl-contact-box,
	.blog-grid .blog-wrapper,
	.blog-masonry .blog-wrapper
):not(.slick-slide *) {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
body.dwc-hover :is(
	.delaware-icon-box,
	.delaware-image-box,
	.dl-contact-box,
	.blog-grid .blog-wrapper,
	.blog-masonry .blog-wrapper
):not(.slick-slide *):hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px -20px rgba(15,35,64, 0.32);
}

/* Image corners */
body[class*="dwc-imgr-"] :is(.entry-content img, .entry-thumbnail img, .delaware-image-box img, .wpb_single_image img) {
	border-radius: var(--dwc-img-r, 8px);
}
body[class*="dwc-imgr-"] .entry-thumbnail {
	border-radius: var(--dwc-img-r, 8px);
	overflow: hidden;
}

/* Sticky header effect (works when the theme's "Sticky header" is on) */
body.dwc-hdr-shadow.header-sticky .site-header.minimized {
	box-shadow: 0 8px 28px -8px rgba(15,35,64, 0.22);
}
body.dwc-hdr-glass.header-sticky:not(.header-v3) .site-header.minimized {
	background-color: rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: saturate(1.6) blur(14px);
	backdrop-filter: saturate(1.6) blur(14px);
	box-shadow: 0 1px 0 rgba(15,35,64, 0.06), 0 10px 30px -10px rgba(15,35,64, 0.2);
}
body.dwc-hdr-glass.header-sticky.header-transparent:not(.header-v3) .site-header.minimized {
	background-color: rgba(15,35,64, 0.78);
	box-shadow: none;
}

/* Fade in on scroll. Elements are only hidden once the script has run, so nothing is lost without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
	html.dwc-reveal-ready .dwc-reveal {
		opacity: 0;
		translate: 0 28px;
		transition: opacity 0.7s cubic-bezier(0.2, 0.7, 0.2, 1), translate 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
		transition-delay: var(--dwc-d, 0s);
	}
	html.dwc-reveal-ready .dwc-reveal.is-in {
		opacity: 1;
		translate: 0 0;
	}
}


/* =====================================================================
   SMART DESKTOP MENU
   ===================================================================== */

/* ---------- Header slides away on the way down, back on the way up ---------- */
body.dwc-nav-hide .site-header.minimized {
	transition: translate 0.38s cubic-bezier(0.3, 0.8, 0.3, 1), box-shadow 0.3s ease, background-color 0.3s ease;
}
body.dwc-nav-hide .site-header.minimized.dwc-header-hidden {
	translate: 0 -115%;
	box-shadow: none;
}

/* ---------- Dropdowns ---------- */

/* An arrow on items that have a submenu */
body.dwc-nav-dd .main-nav .menu > li.menu-item-has-children > a:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: -3px 0 0 8px;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	vertical-align: middle;
	transform: rotate(45deg);
	transition: transform 0.25s ease, margin 0.25s ease;
}
body.dwc-nav-dd .main-nav .menu > li.menu-item-has-children:hover > a:after,
body.dwc-nav-dd .main-nav .menu > li.menu-item-has-children:focus-within > a:after,
body.dwc-nav-dd .main-nav .menu > li.menu-item-has-children.dwc-open > a:after {
	margin-top: 1px;
	transform: rotate(-135deg);
}
body.dwc-nav-dd .main-nav ul ul li.menu-item-has-children > a {
	position: relative;
	padding-right: 20px;
}
body.dwc-nav-dd .main-nav ul ul li.menu-item-has-children > a:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border: solid currentColor;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}

/* Closing waits a moment, so a pointer that slips off the edge does not lose the menu */
body.dwc-nav-dd .main-nav ul ul {
	transition: top 0.25s ease 0.3s, opacity 0.22s ease 0.3s, transform 0s linear 0.55s;
}
body.dwc-nav-dd .main-nav li:hover > ul,
body.dwc-nav-dd .main-nav li:focus-within > ul,
body.dwc-nav-dd .main-nav li.dwc-open > ul {
	transition-delay: 0s;
}

/* Keyboard: opens when anything inside has focus */
body.dwc-nav-dd .main-nav .menu > li:focus-within > ul,
body.dwc-nav-dd .main-nav .menu > li.dwc-open > ul {
	top: 100%;
	opacity: 1;
	z-index: 9999;
	transform: scaleX(1);
}
body.dwc-nav-dd .main-nav ul ul li:focus-within > ul {
	top: 0;
	left: 100%;
	opacity: 1;
	z-index: 9999;
	transform: scaleX(1);
}

/* Escape closes, even while the pointer or focus is still there */
body.dwc-nav-dd .main-nav li.dwc-esc > ul {
	opacity: 0 !important;
	transform: scaleX(0) !important;
	transition-delay: 0s !important;
}

/* Flip sideways when there is no room on the right */
body.dwc-nav-dd .main-nav .menu > li.dwc-flip > ul,
body.dwc-nav-dd .main-nav .menu > li:first-child.dwc-flip > ul {
	left: auto;
	right: 0;
}
body.dwc-nav-dd .main-nav ul ul li.dwc-flip > ul,
body.dwc-nav-dd .main-nav ul ul li.dwc-flip:hover > ul,
body.dwc-nav-dd .main-nav ul ul li.dwc-flip:focus-within > ul {
	left: auto;
	right: 100%;
}
body.dwc-nav-dd .main-nav ul ul li.dwc-flip > ul:before {
	left: auto;
	right: -10px;
}

/* ---------- Gliding line ---------- */
body.dwc-nav-glide .main-nav .menu li.dl-active-menu {
	background-color: var(--dwc-primary);
	border-radius: 3px;
	pointer-events: none;
	transition: left 0.38s cubic-bezier(0.3, 0.8, 0.3, 1), width 0.38s cubic-bezier(0.3, 0.8, 0.3, 1), opacity 0.25s ease;
}

/* ---------- Smooth scrolling to sections, clear of the sticky header ---------- */
html.dwc-smooth {
	scroll-padding-top: var(--dwc-header-h, 0px);
}
@media (prefers-reduced-motion: no-preference) {
	html.dwc-smooth {
		scroll-behavior: smooth;
	}
}

/* ---------- Buttons at the end of the menu ---------- */
/* One list item (so the pair wraps as a unit, not split apart), holding one or two links. */
#menu-sidebar-panel .dwc-nav-cta {
	display: none;
}
.main-nav .menu > li.dwc-nav-cta {
	float: left;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 17px 0 17px 20px;
}
.main-nav .menu > li.dwc-nav-cta > a {
	display: inline-block;
	padding: 10px 18px;
	border-radius: var(--dwc-btn-r, 999px);
	border: 2px solid transparent;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.01em;
	white-space: nowrap;
	transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.main-nav .menu > li.dwc-nav-cta > a:before {
	display: none;
}
.main-nav .menu > li.dwc-nav-cta > a.dwc-nav-cta--primary {
	background: var(--dwc-primary-dark);
	border-color: var(--dwc-primary-dark);
	color: #fff;
}
.main-nav .menu > li.dwc-nav-cta > a.dwc-nav-cta--primary:hover,
.main-nav .menu > li.dwc-nav-cta > a.dwc-nav-cta--primary:focus {
	color: #fff;
	filter: brightness(1.1);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -10px rgba(15,35,64, 0.45);
}
.main-nav .menu > li.dwc-nav-cta > a.dwc-nav-cta--secondary {
	background: transparent;
	border-color: var(--dwc-primary-dark);
	color: var(--dwc-primary-dark);
}
.main-nav .menu > li.dwc-nav-cta > a.dwc-nav-cta--secondary:hover,
.main-nav .menu > li.dwc-nav-cta > a.dwc-nav-cta--secondary:focus {
	color: #fff;
	background: var(--dwc-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -10px rgba(15,35,64, 0.3);
}

/* If even the pair doesn't fit, it drops to its own line, right-aligned, rather than splitting up */
@media (min-width: 1200px) {
	.main-nav .menu > li.dwc-nav-cta--pair {
		flex-wrap: wrap;
		justify-content: flex-end;
	}
}
