/*
Theme Name: Dawnchaser Blocks
Theme URI: https://dawnchaser.com.au
Author: Dawnchaser
Author URI: https://dawnchaser.com.au
Description: Block theme for Dawnchaser Pty Ltd, an Australian outdoor lighting company.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dawnchaser-blocks
Tags: full-site-editing, block-patterns, block-styles, e-commerce, custom-menu, custom-logo, one-column, wide-blocks
*/
:root{
	--dch-white:var(--wp--preset--color--dch-white, #fff);
	--dch-black:var(--wp--preset--color--dch-black, #000);
	--dch-ink-muted:rgba(0, 0, 0, 0.62);
	--dch-ink-soft:rgba(0, 0, 0, 0.78);
	--dch-rule:rgba(15, 15, 15, 0.14);
	--dch-rule-faint:rgba(0, 0, 0, 0.12);
	--dch-rule-light:rgba(255, 255, 255, 0.16);
	--dch-tint:rgba(0, 0, 0, 0.04);
	--dch-rem:clamp(0.9375rem, calc(0.9087rem + 0.1282vw), 1.0625rem);
	--dch-font-body:var(--wp--preset--font-family--dch-body, Inter, sans-serif);
	--dch-font-heading:var(--wp--preset--font-family--dch-heading, Manrope, sans-serif);
	--dch-font-icon:"Font Awesome 7 Free", "Font Awesome 6 Free", fontawesome;
	--dch-ease:cubic-bezier(0.2, 0.7, 0.3, 1);
	--dch-dur-fast:0.2s;
	--dch-dur:0.3s;
	--dch-dur-slow:0.5s;
	--dch-dur-reveal:0.6s;
	--dch-radius-field:20px;
	--dch-radius-pill:25px;
	--dch-mark-w:20px;
	--dch-mark-h:3px;
	--dch-shadow-panel:0 0 10px 0 rgba(0, 0, 0, 0.05);
	--dch-shadow-drop:0 18px 40px rgba(0, 0, 0, 0.35);
	--dch-z-header:999;
	--dch-z-drop:20;
	--dch-button-bg:var(--dch-panel-black, #0f0f0f);
	--dch-button-fg:#ffffff;
	--dch-button-fs:clamp(0.75rem, calc(0.75rem + (100vw - 360px) * 0.003205), calc(1.0625 * var(--dch-rem)));
	--dch-button-pad-y:clamp(10px, calc(10px + (100vw - 360px) * 0.003205), 15px);
	--dch-button-pad-x:clamp(18px, calc(18px + (100vw - 360px) * 0.007692), 30px);
	--dch-button-tracking:clamp(0.5px, calc(0.5px + (100vw - 360px) * 0.000641), 1.5px);
	--dch-button-lh:1.7;
	--dch-button-height:calc(var(--dch-button-fs) * var(--dch-button-lh) + var(--dch-button-pad-y) * 2);
	--dch-button-radius:calc(var(--dch-button-height) / 2);
	--dch-admin-bar:0px;
	interpolate-size:allow-keywords;
}

body.admin-bar{
	--dch-admin-bar:32px;
}

@media screen and (max-width: 782px){
	body.admin-bar{
		--dch-admin-bar:46px;
	}
}
:root body{
	--dch-gutter:var(--wp--style--root--padding-left, 20px);
	--dch-section-margin:50px;
}

@media (min-width: 768px){
	:root body{
		--wp--style--root--padding-left:40px;
		--wp--style--root--padding-right:40px;
	}
}

@media (min-width: 1024px){
	:root body{
		--dch-section-margin:70px;
		--wp--style--root--padding-left:50px;
		--wp--style--root--padding-right:50px;
	}
}

@media (min-width: 1366px){
	:root body{
		--dch-section-margin:100px;
		--wp--style--root--padding-left:100px;
		--wp--style--root--padding-right:100px;
	}
}

@media (min-width: 1920px){
	:root body{
		--dch-section-margin:160px;
		--wp--style--root--padding-left:160px;
		--wp--style--root--padding-right:160px;
	}
}

html{
	box-sizing:border-box;
	scrollbar-gutter:stable;
	font-size:100%;
	-webkit-text-size-adjust:100%;
}

*, *::before, *::after{
	box-sizing:inherit;
}
button,
input,
select,
textarea{
	font-family:inherit;
	font-size:100%;
	margin:0;
}

button,
select{
	text-transform:none;
}

img,
video,
canvas{
	max-width:100%;
	height:auto;
}

svg{
	max-width:100%;
}

img,
svg,
video,
canvas,
iframe{
	vertical-align:middle;
}

iframe{
	border:0;
}

sub,
sup{
	position:relative;
	font-size:75%;
	line-height:0;
	vertical-align:baseline;
}

sup{ top:-0.5em; }
sub{ bottom:-0.25em; }

abbr[title]{
	text-decoration:underline dotted;
}

address{
	font-style:normal;
}

fieldset{
	min-width:0;
}

[hidden]{
	display:none !important;
}
.screen-reader-text{
	border:0;
	clip-path:inset(50%);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
	word-wrap:normal !important;
}
:where(.entry-content, .woocommerce-Tabs-panel, .dch-kb-layout__main, .wp-block-post-content) :where(ul, ol){
	padding-left:30px;
}
:root .entry-content :where(p, ul, ol, dl, pre, address, fieldset, figure, blockquote, h1, h2, h3, h4, h5, h6):not([class*="wc-block-"]),
:root .woocommerce-Tabs-panel :where(p, ul, ol, dl, pre, address, fieldset, figure, blockquote, h1, h2, h3, h4, h5, h6):not([class*="wc-block-"]),
:root .dch-kb-layout__main :where(p, ul, ol, dl, pre, address, fieldset, figure, blockquote, h1, h2, h3, h4, h5, h6):not([class*="wc-block-"]),
:root .wp-block-post-content :where(p, ul, ol, dl, pre, address, fieldset, figure, blockquote, h1, h2, h3, h4, h5, h6):not([class*="wc-block-"]){
	margin-block-start:0;
	margin-block-end:calc(1.5 * var(--dch-rem));
}
.dch-main:not(.dch-main--front, .dch-main--landing){
	padding-block-start:calc(var(--dch-section-margin) / 2);
}

.dch-main > :last-child{
	margin-block-end:var(--dch-section-margin);
}
.dch-main:not(.dch-main--landing){
	scroll-margin-top:calc(90px + var(--dch-admin-bar));
}
body.full-width-narrow .entry-content,
body.full-width-narrow .woocommerce-MyAccount-content{
	max-width:1200px;
	margin-inline:auto;
}

@media (min-width: 1366px){
	body.full-width-narrow .entry-content{
		padding-inline:0;
	}
}

.wp-block-button__link, .wp-element-button, a.button, button:not(:where(.wc-block-mini-cart__button, .dch-nav-toggle, .dch-nav__close, .dch-account__trigger, [class^="pswp__"], .wc-block-components-quantity-selector__button, .forminator-step, .forminator-button-back, .show-password-input)), input[type="button"], input[type="reset"], input[type="submit"], .home-features-overview__shop-button a{
	display:inline-block;
	background-color:var(--dch-button-bg);
	color:var(--dch-button-fg);
	background-image:linear-gradient(90deg, var(--dch-orange, #f78f20), var(--dch-magenta, #d9186a));
	background-repeat:no-repeat;
	background-position:center bottom;
	background-size:0 4px;
	border:0;
	border-radius:var(--dch-button-radius);
	cursor:pointer;
	font-family:var(--dch-font-body);
	font-size:var(--dch-button-fs);
	line-height:var(--dch-button-lh);
	letter-spacing:var(--dch-button-tracking);
	text-transform:uppercase;
	padding:var(--dch-button-pad-y) var(--dch-button-pad-x);
	text-align:center;
	text-decoration:none;
	white-space:normal;
	width:auto;
	transition:background-size 0.45s var(--dch-ease), border-radius 0.45s var(--dch-ease);
	&:hover,
	&:active,
	&:focus-visible{
		border-radius:0;
		background-size:100% 4px;
		color:var(--dch-button-fg);
	}
	&:focus-visible{
		outline:3px solid var(--dch-button-bg);
		outline-offset:3px;
	}

	&.disabled,
	&:disabled{
		cursor:default;
		transition:none;
		opacity:0.55;
		background-size:0 4px;
	}

	@media (prefers-reduced-motion: reduce){
		transition-duration:0.01ms;
	}
}
.is-style-dch-alt{
	--dch-button-bg:var(--dch-sand, #f7f3eb);
	--dch-button-fg:var(--dch-panel-black, #0f0f0f);
}
.is-style-dch-orange{
	--dch-button-bg:var(--dch-orange, #f78f20);
	--dch-button-fg:var(--dch-panel-black, #0f0f0f);
}
.is-style-dch-magenta{
	--dch-button-bg:var(--dch-magenta, #d9186a);
	--dch-button-fg:#ffffff;
}
.dch-footer,
.pre-footer-panel,
.home-about,
.full-width-hero,
.dch-band,
.home-customise,
.dch-category-nav,
.dch-product-categories .category-item,
.wp-block-woocommerce-coming-soon{
	--dch-button-bg:var(--dch-sand, #f7f3eb);
	--dch-button-fg:var(--dch-panel-black, #0f0f0f);
}
.entry-content :where(p, li) a:not(:is(
	.button,
	.wp-element-button,
	.woocommerce-loop-product__link,
	[class*="star-"],
	[role="tab"],
	[role="button"]
)){
	color:var(--dch-orange, #f78f20);
	text-decoration:none;
	padding-bottom:2px;
	background-image:linear-gradient(var(--dch-sand, #f7f3eb), var(--dch-sand, #f7f3eb)), linear-gradient(var(--dch-orange, #f78f20), var(--dch-orange, #f78f20)), linear-gradient(var(--dch-magenta, #d9186a), var(--dch-magenta, #d9186a));
	background-size:20px 3px, 100% 3px, 0 3px;
	background-position:calc(20px * -1) 100%, 100% 100%, 0 100%;
	background-repeat:no-repeat;
	transition:background-size var(--dch-dur-slow) linear, background-position var(--dch-dur-slow) linear, color var(--dch-dur-slow) linear;

	&:hover{
		color:var(--dch-magenta, #d9186a);
		background-size:20px 3px, 0 3px, 100% 3px;
		background-position:calc(100% + 20px) 100%, 100% 100%, 0 100%;
	}

	@media (prefers-reduced-motion: reduce){
		transition-duration:0.01ms;
	}
}
.dch-eyebrow{
	display:flex;
	align-items:center;
	gap:calc(1 * var(--dch-rem));
	margin:0 0 calc(0.9 * var(--dch-rem));
	font-size:calc(0.72 * var(--dch-rem));
	font-weight:600;
	letter-spacing:0.14em;
	text-transform:uppercase;

	&::before{
		content:"";
		flex:none;
		width:40px;
		height:3px;
		background-color:var(--dch-eyebrow-rule, var(--dch-orange, #f78f20));
	}

	@media (min-width: 768px){
		font-size:calc(0.78 * var(--dch-rem));
		letter-spacing:0.2em;

		&::before{
			width:56px;
		}
	}
}
.dch-h1-underlined,
.dch-h2-underlined,
.full-width-hero h2.hero-title,
.dch-support-topics__title,
.dch-support-faqs__title,
.dch-support-contact__title,
.home-inner-container h2.wp-block-heading:not(.home-intro-heading){
	position:relative;
	margin-bottom:max(calc(1.7 * var(--dch-rem)), 1em);
	padding-bottom:max(calc(1.3 * var(--dch-rem)), 0.7em);
}

.dch-h1-underlined::after,
.dch-h2-underlined::after,
.full-width-hero h2.hero-title::after,
.dch-support-topics__title::after,
.dch-support-faqs__title::after,
.dch-support-contact__title::after,
.home-inner-container h2.wp-block-heading:not(.home-intro-heading)::after{
	content:"";
	position:absolute;
	height:min(0.19em, 6px);
	width:min(1.9em, 60px);
	left:10px;
	bottom:0;
	background:var(--dch-orange, #f78f20);
}

.dch-h1-underlined.has-text-align-center::after,
.dch-h2-underlined.has-text-align-center::after,
.full-width-hero h2.hero-title.has-text-align-center::after,
.dch-support-topics__title.has-text-align-center::after,
.dch-support-faqs__title.has-text-align-center::after,
.dch-support-contact__title.has-text-align-center::after,
.home-inner-container h2.wp-block-heading:not(.home-intro-heading).has-text-align-center::after{
	left:50%;
	transform:translateX(-50%);
}

@media (min-width: 1024px){
	.dch-h1-underlined::after,
	.dch-h2-underlined::after,
	.full-width-hero h2.hero-title::after,
	.dch-support-topics__title::after,
	.dch-support-faqs__title::after,
	.dch-support-contact__title::after,
	.home-inner-container h2.wp-block-heading:not(.home-intro-heading)::after{
		height:min(0.19em, 8px);
		width:min(1.9em, 80px);
		left:20px;
	}
}
.dch-arrow-link,
.dch-post-list .wp-block-post-title a,
.dch-topic__links a,
.dch-topic__all,
.dch-kb-row__title{
	position:relative;
	text-decoration:none;

	&::after{
		content:"\f061";
		font-family:var(--dch-font-icon);
		font-weight:900;
		font-size:0.72em;
		display:inline-block;
		margin-left:0.55em;
		color:var(--dch-orange, #f78f20);
		opacity:0;
		transform:translateX(-0.35em);
		transition:opacity var(--dch-dur) ease, transform 0.35s var(--dch-ease);
	}

	&:hover::after,
	&:focus-visible::after{
		opacity:1;
		transform:translateX(0);
	}

	@media (prefers-reduced-motion: reduce){
		&::after{
			transition:none;
		}
	}
}
.fade-right.is-inview{ animation:dch-fade-right var(--dch-dur-reveal) ease both; }
.fade-left.is-inview{ animation:dch-fade-left var(--dch-dur-reveal) ease both; }
.fade-up.is-inview{ animation:dch-fade-up var(--dch-dur-reveal) ease both; }
.fade-down.is-inview{ animation:dch-fade-down var(--dch-dur-reveal) ease both; }
.fade-in.is-inview{ animation:dch-fade-in var(--dch-dur-reveal) ease both; }

@keyframes dch-fade-right{
	from{ transform:translateX(-32px); opacity:0; }
	to{ transform:translateX(0); opacity:1; }
}

@keyframes dch-fade-left{
	from{ transform:translateX(32px); opacity:0; }
	to{ transform:translateX(0); opacity:1; }
}

@keyframes dch-fade-up{
	from{ transform:translateY(32px); opacity:0; }
	to{ transform:translateY(0); opacity:1; }
}

@keyframes dch-fade-down{
	from{ transform:translateY(-32px); opacity:0; }
	to{ transform:translateY(0); opacity:1; }
}

@keyframes dch-fade-in{
	from{ opacity:0; }
	to{ opacity:1; }
}

.dch-header{
	position:fixed;
	inset:var(--dch-admin-bar) 0 auto 0;
	z-index:var(--dch-z-header);
	background-color:rgba(0, 0, 0, 0.4);
	transition:background-color var(--dch-dur) ease, box-shadow var(--dch-dur) ease;
}
.dch-header.is-scrolled{
	background-color:var(--dch-black);
	box-shadow:0 0 25px 0 rgba(255, 255, 255, 0.15);
}
.dch-header--landing{
	position:static;
	background-color:var(--dch-panel-black, #0f0f0f);
}

.dch-header--landing.is-scrolled{
	box-shadow:none;
}

.dch-header__row{
	display:flex;
	align-items:center;
	padding-inline:var(--dch-gutter);
	gap:18px;
	padding-top:calc(0.7 * var(--dch-rem));
	padding-bottom:calc(0.7 * var(--dch-rem));

	@media (min-width: 1024px){
		gap:26px;
		padding-top:calc(1 * var(--dch-rem));
		padding-bottom:calc(1 * var(--dch-rem));
	}

	@media (min-width: 1366px){
		padding-top:calc(1.5 * var(--dch-rem));
		padding-bottom:calc(1.5 * var(--dch-rem));
	}
}

.dch-header .wp-block-site-logo{
	line-height:0;

	img{
		width:auto;
		max-width:45vw;

		@media (min-width: 768px){
			max-width:27vw;
		}
	}
}
.dch-header .dch-header__tools{
	margin-left:auto;
	display:flex;
	align-items:center;
	gap:16px;
	--dch-icon-size:calc(1.5 * var(--dch-rem));
	color:var(--dch-sand);
}

.dch-header__tools .wc-block-mini-cart{
	display:flex;
}

.dch-header__tools .wc-block-mini-cart__button{
	display:flex;
	align-items:center;
	padding:0;
	color:var(--dch-sand);

	&:hover,
	&:focus-visible{
		color:var(--dch-orange);
	}
}

.dch-header__tools .wc-block-mini-cart__badge{
	color:#fff;
}
.dch-header__tools .dch-icon{
	width:1.25em;
	height:1em;
}
.pre-footer{
	background-image:linear-gradient(to bottom, var(--dch-magenta), var(--dch-orange));
	color:var(--dch-white);
	padding-block:calc(var(--dch-section-margin) / 1.5);
}

.pre-footer-panel{
	background-color:var(--dch-panel-black);
	border-radius:0 0 0 calc(2 * var(--dch-rem));
	padding:calc(2 * var(--dch-rem)) calc(1.75 * var(--dch-rem));

	@media (min-width: 768px){
		padding:calc(2.5 * var(--dch-rem));
	}

	@media (min-width: 1024px){
		border-radius:0 0 0 calc(3.5 * var(--dch-rem));
		padding:calc(2.75 * var(--dch-rem)) calc(3 * var(--dch-rem));
	}
}
.pre-footer-content{
	display:flex;
	flex-direction:column;
	row-gap:calc(1.75 * var(--dch-rem));
	margin:0;
	padding:calc(1.9 * var(--dch-rem)) 0 0;
	border-top:1px solid var(--dch-rule-light);
}

@media (min-width: 1024px){
	.pre-footer-content{
		flex-direction:row;
		align-items:stretch;
		column-gap:calc(3 * var(--dch-rem));
		row-gap:0;
	}
}

.pre-footer-text{
	background:none;
	display:flex;
	flex-direction:column;
	justify-content:center;
	margin:0;
	padding:0 0 calc(1.75 * var(--dch-rem));
	border-bottom:1px solid var(--dch-rule-light);
	color:rgba(255, 255, 255, 0.88);
	gap:calc(0.9 * var(--dch-rem));
}

@media (min-width: 1024px){
	.pre-footer-text{
		flex-basis:50%;
		padding:0 calc(3 * var(--dch-rem)) 0 0;
		border-bottom:0;
		border-right:1px solid var(--dch-rule-light);
	}
}

.pre-footer-text p{
	margin-bottom:calc(1.1 * var(--dch-rem));
	line-height:1.6;
}

.pre-footer-text p:last-of-type{
	margin-bottom:0;
}
.pre-footer .wp-block-contact-form-7-contact-form-selector .wpcf7,
.pre-footer .wp-block-contact-form-7-contact-form-selector .wpcf7-form,
.pre-footer .wp-block-contact-form-7-contact-form-selector .contact-form{
	width:100%;
}

@media (min-width: 1024px){
	.pre-footer .wp-block-contact-form-7-contact-form-selector{
		flex-basis:50%;
		display:flex;
		align-items:center;
	}
}

.pre-footer .contact-form input:not([type="submit"]),
.pre-footer .contact-form select{
	border-radius:0;
	padding:14px 1.1em;
}

.pre-footer .contact-form-row{
	margin-bottom:calc(0.85 * var(--dch-rem));
}

.pre-footer .contact-form input[type="submit"]{
	width:100%;
	margin-top:calc(1.1 * var(--dch-rem));
}

.pre-footer .dch-reassure{
	margin:calc(0.85 * var(--dch-rem)) 0 0;
	font-size:calc(0.8 * var(--dch-rem));
	color:rgba(255, 255, 255, 0.6);
	text-align:center;
}
.dch-footer{
	background-color:var(--dch-black);
	color:var(--dch-white);
	padding-inline:var(--dch-gutter);
	padding-block:var(--dch-section-margin);

	a{
		color:var(--dch-orange);
		text-decoration:none;

		&:hover,
		&:focus-visible{
			color:var(--dch-magenta);
		}
	}

	h3{
		color:var(--dch-white);
	}
}

.dch-footer__cols{
	display:grid;
	grid-template-columns:1fr;
	column-gap:5vw;
	row-gap:4vw;

	@media (min-width: 768px){
		grid-template-columns:repeat(2, 1fr);
	}

	@media (min-width: 1024px){
		grid-template-columns:repeat(4, 1fr);
	}
}

.dch-footer figure{
	margin-block-end:calc(1.5 * var(--dch-rem));
}
.dch-footer__mark img{
	width:100%;
	max-width:100%;
	height:auto;
}

.dch-menu-column__title{
	color:var(--dch-white);
	margin:0 0 calc(1.5 * var(--dch-rem));
}
.dch-menu-column__list{
	padding-left:0;
	margin:0 0 calc(1.5 * var(--dch-rem));
	list-style:none outside;

	li{
		list-style-type:none;
		border-top:1px solid var(--dch-sand);
		padding:7px;
		font-size:calc(0.8 * var(--dch-rem));

		&:last-of-type{
			border-bottom:1px solid var(--dch-sand);
		}

		@media (min-width: 1920px){
			font-size:calc(0.9 * var(--dch-rem));
		}
	}
}

.dch-footer__social{
	margin-top:calc(1.2 * var(--dch-rem));
}
.dch-footer--minimal{
	padding-top:calc(2 * var(--dch-rem));
	padding-bottom:calc(2 * var(--dch-rem));
	font-size:calc(0.85 * var(--dch-rem));
}

.full-width-hero,
.home-about,
.dch-band{
	position:relative;
	overflow:hidden;
	overflow:clip;
	background-color:var(--dch-panel-black, #0f0f0f);
}
.full-width-hero::after,
.home-about::after,
.dch-band::after{
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	background-image:linear-gradient(to right,
		rgba(0, 0, 0, 0.88) 600px,
		rgba(0, 0, 0, 0.8741792) calc(600px + (100% - 600px) * 0.1),
		rgba(0, 0, 0, 0.8406144) calc(600px + (100% - 600px) * 0.2),
		rgba(0, 0, 0, 0.7691056) calc(600px + (100% - 600px) * 0.3),
		rgba(0, 0, 0, 0.6641408) calc(600px + (100% - 600px) * 0.4),
		rgba(0, 0, 0, 0.54) calc(600px + (100% - 600px) * 0.5),
		rgba(0, 0, 0, 0.4158592) calc(600px + (100% - 600px) * 0.6),
		rgba(0, 0, 0, 0.3108944) calc(600px + (100% - 600px) * 0.7),
		rgba(0, 0, 0, 0.2393856) calc(600px + (100% - 600px) * 0.8),
		rgba(0, 0, 0, 0.2058208) calc(600px + (100% - 600px) * 0.9),
		rgba(0, 0, 0, 0.2) calc(600px + (100% - 600px) * 1));
}
@media (max-width: 1023px){
	.full-width-hero::after,
	.home-about::after,
	.dch-band::after{
		background-image:linear-gradient(rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.88));
	}
}

.full-width-hero > .band-inner,
.home-about > .home-inner-container,
.dch-band > .dch-band__inner{
	position:relative;
	z-index:2;
}
.dch-band > .dch-band__inner{
	padding-inline:var(--dch-gutter);
	padding-block:calc(var(--dch-section-margin) / 1.5);
	color:#fff;
}

.dch-band > .dch-band__inner > *{
	max-width:600px;
}

.dch-band h2{
	color:#fff;
	margin-top:0;
}

.band-copy,
.home-about-text{
	max-width:58ch;
}

.band-copy p,
.home-about-text p{
	color:#fff;
	font-size:calc(1 * var(--dch-rem));
	line-height:1.7;
	margin-bottom:1.1em;
	text-shadow:none;
}

.band-copy p:first-of-type,
.home-about-text p:first-of-type{
	font-size:calc(1.15 * var(--dch-rem));
}

.band-copy p:last-of-type,
.home-about-text p:last-of-type{
	margin-bottom:0;
}
@keyframes dch-band-settle{
	from{ transform:scale(1.16); }
	to{ transform:scale(1); }
}

@supports (animation-timeline: view()){
	@media (prefers-reduced-motion: no-preference){
		.full-width-hero .band-photo,
		.home-about::before{
			animation:dch-band-settle linear both;
			animation-timeline:view();
			animation-range:cover 0% cover 50%;
		}
	}
}

.dch-accordion{
	margin:0;
	padding:0;
	list-style:none;
}

.dch-accordion__row{
	margin:0;
	padding:0;
	list-style:none;
}

.dch-accordion__title{
	color:#000;
	position:relative;
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:calc(1.5 * var(--dch-rem));
	padding:calc(1 * var(--dch-rem)) 0;
	font-family:var(--dch-font-heading);
	font-weight:500;
	font-size:calc(1 * var(--dch-rem));
	line-height:1.4;
	border-bottom:1px solid rgba(15, 15, 15, 0.16);
	transition:border-bottom-color var(--dch-dur) ease;
	cursor:pointer;
	list-style:none;
}

.dch-accordion__title::-webkit-details-marker{
	display:none;
}

@media (min-width: 768px){
	.dch-accordion__title{ font-size:calc(1.08 * var(--dch-rem)); }
}

@media (min-width: 1920px){
	.dch-accordion__title{ font-size:calc(1.175 * var(--dch-rem)); }
}

.dch-accordion__title:hover,
.dch-accordion__title:focus-visible{
	color:#000;
	border-bottom-color:rgba(15, 15, 15, 0.4);
}
.dch-accordion__title::after{
	content:'';
	flex:none;
	align-self:center;
	width:8px;
	height:8px;
	margin-bottom:4px;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:rotate(45deg);
	transition:transform 0.35s var(--dch-ease);
}

.dch-accordion__item[open] > .dch-accordion__title{
	border-bottom-color:var(--dch-orange, #f78f20);
}

.dch-accordion__item[open] > .dch-accordion__title::after{
	transform:rotate(225deg);
	margin-bottom:0;
	margin-top:4px;
}

.dch-accordion__content{
	margin-top:1em;
}

@media (min-width: 768px){
	.dch-accordion__content{
		padding:0 1em;
	}
}

.dch-accordion__content > :last-child{
	margin-bottom:0;
}
.dch-accordion__item::details-content{
	block-size:0;
	overflow:hidden;
	transition:block-size 0.38s var(--dch-ease), content-visibility 0.38s allow-discrete;
}

.dch-accordion__item[open]::details-content{
	block-size:auto;
}

@media (prefers-reduced-motion: reduce){
	.dch-accordion__title,
	.dch-accordion__title::after,
	.dch-accordion__item::details-content{
		transition-duration:0.01ms;
	}
}
@media print{
	.dch-accordion__item:not([open])::details-content{
		block-size:auto;
		content-visibility:visible;
	}

	.dch-accordion__title::after{
		display:none;
	}
}

.star-rating{
	--dch-star-full:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.6 20"><path d="M10.8 0.6 13.15 6.76 19.74 7.1 14.6 11.24 16.33 17.6 10.8 14 5.27 17.6 7 11.24 1.86 7.1 8.45 6.76Z" fill="black"/></svg>');
	--dch-star-empty:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.6 20"><path d="M10.8 0.6 13.15 6.76 19.74 7.1 14.6 11.24 16.33 17.6 10.8 14 5.27 17.6 7 11.24 1.86 7.1 8.45 6.76Z" fill="none" stroke="black" stroke-width="1.5" stroke-linejoin="round"/></svg>');

	float:right;
	overflow:hidden;
	position:relative;
	height:1em;
	line-height:1;
	font-size:1em;
	width:5.4em;
}

.star-rating::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:5.4em;
	height:1em;
	background-color:currentColor;
	mask:var(--dch-star-empty) repeat-x 0 0 / 1.08em 1em;
}
.star-rating span{
	overflow:hidden;
	float:left;
	top:0;
	left:0;
	position:absolute;
	padding-top:1.5em;
}

.star-rating span::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:5.4em;
	height:1em;
	background-color:currentColor;
	mask:var(--dch-star-full) repeat-x 0 0 / 1.08em 1em;
}
.products .star-rating{
	display:block;
	margin:0 0 0.5em;
	float:none;
}

.dch-award{
	display:grid;
	justify-items:start;
	gap:calc(0.45 * var(--dch-rem));
	text-decoration:none;
	color:inherit;
}

.dch-award__mark{
	display:block;
	width:var(--dch-award-width, 132px);
	height:auto;
	fill:currentColor;
}

.dch-award__year{
	font-family:var(--dch-font-heading);
	font-weight:700;
	font-size:calc(0.68 * var(--dch-rem));
	letter-spacing:0.22em;
	line-height:1;
	font-variant-numeric:tabular-nums;
}
.dch-award,
.dch-award:hover{
	background-image:none;
	color:inherit;
}

.dch-award:focus-visible{
	outline:3px solid currentColor;
	outline-offset:6px;
}
.dch-award--hero{
	margin-top:calc(1.75 * var(--dch-rem));
	--dch-award-width:116px;
}

@media (min-width: 1024px){
	.dch-award--hero{
		flex:none;
		margin-top:0;
	}
}

@media (min-width: 1366px){
	.dch-award--hero{
		--dch-award-width:132px;
	}
}

@media (min-width: 1920px){
	.dch-award--hero{
		--dch-award-width:150px;
	}
}

.dch-icon{
	font-size:var(--dch-icon-size, calc(2.6 * var(--dch-rem)));
	line-height:1;
	color:var(--dch-icon-color, var(--dch-orange, #f78f20));
}

fieldset{
	border:1px solid var(--dch-orange, #f78f20);
	padding:1em 1.5em;
}

legend{
	padding-inline:10px;
	font-weight:500;
}

input:where(:not([type="checkbox"], [type="radio"], [type="image"])),
select,
textarea{
	width:100%;
}

::placeholder{
	opacity:1;
}
input:focus,
select:focus,
textarea:focus{
	outline:none;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible{
	outline:3px solid var(--dch-panel-black, #0f0f0f);
	outline-offset:2px;
}
.contact-form input:not([type="submit"]),
.contact-form select{
	border-radius:var(--dch-radius-field);
	padding:12px 1.5em;
	border:0;
	font-size:calc(1 * var(--dch-rem));
}

.contact-form input[type="submit"]{
	margin-top:2em;
}

.contact-form-row{
	margin-bottom:1em;
	display:flex;
	column-gap:1em;
}

.contact-form-row.submit{
	display:block;
	position:relative;
	text-align:center;
}

.contact-form-field{
	font-size:90%;
}

.contact-form-field.third{ flex-basis:33.3333%; }
.contact-form-field.half{ flex-basis:50%; }
.contact-form-field.full{ flex-basis:100%; }

.contact-form .wpcf7-spinner{
	position:absolute;
	margin-left:10px;
	margin-right:0;
	top:calc(50% + 1em);
	transform:translateY(-50%);
}
.wpcf7 form.wpcf7-form.sent .wpcf7-response-output{
	background:rgba(0, 6, 20, 0.4);
	border:0;
	position:relative;
	padding:10px 0 10px calc(50px + 1em);
}

.wpcf7 form.wpcf7-form.sent .wpcf7-response-output::before{
	position:absolute;
	left:0;
	top:0;
	width:50px;
	height:100%;
	content:"\f00c";
	font-family:var(--dch-font-icon);
	font-weight:900;
	background:#fff;
	color:#000;
	text-align:center;
	padding:10px 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
	--dch-notice-rule:var(--dch-status-notice);

	margin:0 0 calc(1.8 * var(--dch-rem));
	padding:calc(1 * var(--dch-rem)) calc(1.3 * var(--dch-rem));
	border-left:4px solid var(--dch-notice-rule);
	background-color:var(--dch-tint);
	list-style:none outside;
	font-size:calc(0.95 * var(--dch-rem));
	line-height:1.6;
}

.woocommerce-message{
	--dch-notice-rule:var(--dch-status-positive);
}

.woocommerce-error{
	--dch-notice-rule:var(--dch-status-negative);
}

.woocommerce-message > li,
.woocommerce-info > li,
.woocommerce-error > li{
	list-style:none outside;
	margin-left:0;
	padding-left:0;
}

.woocommerce-message > li:last-child,
.woocommerce-info > li:last-child,
.woocommerce-error > li:last-child,
.woocommerce-message p:last-child,
.woocommerce-info p:last-child,
.woocommerce-error p:last-child{
	margin-bottom:0;
}
.wc-block-components-notice-banner.wc-block-components-notice-banner{
	--dch-notice-rule:var(--dch-status-notice);

	margin:0 0 calc(1.8 * var(--dch-rem));
	padding:calc(1 * var(--dch-rem)) calc(1.3 * var(--dch-rem));
	border:0;
	border-left:4px solid var(--dch-notice-rule);
	border-radius:0;
	background-color:var(--dch-tint);
	color:inherit;
	font-size:calc(0.95 * var(--dch-rem));
	line-height:1.6;
	align-items:center;
	gap:calc(0.8 * var(--dch-rem));
}

.wc-block-components-notice-banner.wc-block-components-notice-banner.is-success{
	--dch-notice-rule:var(--dch-status-positive);
}

.wc-block-components-notice-banner.wc-block-components-notice-banner.is-error{
	--dch-notice-rule:var(--dch-status-negative);
}
.wc-block-components-notice-banner.wc-block-components-notice-banner > svg{
	margin:0;
	flex:0 0 auto;
	background-color:var(--dch-notice-rule);
	fill:var(--dch-panel-black, #0f0f0f);
	border-radius:50%;
	align-self:center;
}

.wc-block-components-notice-banner.wc-block-components-notice-banner .wc-block-components-notice-banner__content{
	padding:0;
	font-size:inherit;
	line-height:inherit;
}

.wc-block-components-notice-banner.wc-block-components-notice-banner p:last-child{
	margin-bottom:0;
}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.wc-block-components-notice-banner.wc-block-components-notice-banner .button{
	margin-left:calc(1 * var(--dch-rem));
}
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a.button{
	background-color:var(--dch-button-bg) !important;
	color:var(--dch-button-fg) !important;
	padding:var(--dch-button-pad-y) var(--dch-button-pad-x) !important;
	text-decoration:none !important;
}
.wc-block-components-notice-banner.wc-block-components-notice-banner .wc-forward{
	float:right;
	margin-left:calc(1 * var(--dch-rem));
}
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus,
.woocommerce-message:focus-visible,
.woocommerce-info:focus-visible,
.woocommerce-error:focus-visible,
.wc-block-components-notice-banner:focus,
.wc-block-components-notice-banner:focus-visible{
	outline:none;
}
.page-intro{
	max-width:1400px;
	margin-inline:auto;
	margin-bottom:var(--dch-section-margin);
	padding:max(1em, 3vw);
	background:rgba(255, 255, 255, 0.5);
}

@media (max-width: 767px){
	.page-intro{
		max-width:90vw;
	}
}

.page-intro p:last-of-type{
	margin-bottom:0;
}
.entry-content .wp-block-media-text:not(:last-of-type),
.wp-block-post-content .wp-block-media-text:not(:last-of-type){
	margin-block-end:calc(var(--dch-section-margin) / 2);
}

@media (max-width: 1023px){
	.wp-block-media-text.is-stacked-on-mobile figure{
		margin-block-end:20px;
	}
}
.rank-math-block p.rank-math-question{
	font-weight:700;
	margin-block-end:1em;
}

.rank-math-block .rank-math-answer{
	padding-block-end:2em;
	margin-block-end:2em;
	border-bottom:1px solid rgba(0, 0, 0, 0.1);
}

.rank-math-block .rank-math-answer p:last-of-type{
	margin-block-end:0;
}
.entry-meta{
	margin-block-end:calc(1.5 * var(--dch-rem));
}

.entry-meta .wp-block-post-author,
.entry-meta .wp-block-post-author__content{
	display:inline-flex;
	align-items:baseline;
	gap:0.32em;
}

.entry-meta .wp-block-post-author__byline,
.entry-meta .wp-block-post-author__name{
	margin:0;
	font-size:inherit;
	line-height:inherit;
}
.entry-content .wp-block-image.polaroid{
	float:none;
	margin-inline:0;
	max-width:100%;
}

.dch-section{
	padding-block:var(--dch-section-margin);
}
.dch-section--panel{
	background-color:var(--dch-panel-black, #0f0f0f);
	color:#fff;
	--dch-button-bg:var(--dch-sand, #f7f3eb);
	--dch-button-fg:var(--dch-panel-black, #0f0f0f);
}

.dch-section--panel :where(h1, h2, h3, h4, h5, h6){
	color:#fff;
}
.dch-measure{
	max-width:62ch;
}
.dch-cta__row{
	gap:var(--dch-gutter);
}

.dch-cta__row > .wp-block-heading{
	margin:0;
	max-width:34ch;
}

.dch-cta__row > .wp-block-buttons{
	margin:0;
}
.dch-faq__more a:focus-visible{
	outline:2px solid var(--dch-panel-black, #0f0f0f);
	outline-offset:3px;
	border-radius:2px;
}
