/* ==========================================================================
   Something Dumb — brand layer over Divi + WooCommerce
   Concept: the Department of Dumb Ideas. Every product is a filed idea
   that somehow got approved. Cone orange, warm ink, ballpoint blue.
   ========================================================================== */

:root {
	--sd-cone: #ff6a13;
	--sd-cone-deep: #e2560a;
	--sd-ink: #1f1a17;
	--sd-ink-soft: #4a423c;
	--sd-paper: #ffffff;
	--sd-shelf: #f2f1ee;
	--sd-rule: #ddd6ce;
	--sd-pen: #2437a8;

	--sd-font: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--sd-hand: "Reenie Beanie", "Bradley Hand", cursive;

	--sd-wrap: 1180px;
	--sd-gutter: clamp(16px, 4vw, 40px);
	--sd-radius: 4px;
}

/* ---------- Base ---------- */

body,
body.et_divi_theme {
	font-family: var(--sd-font);
	font-size: 17px;
	line-height: 1.6;
	color: var(--sd-ink);
	background: var(--sd-paper);
	font-weight: 400;
}

#page-container,
#main-content {
	background: var(--sd-paper);
}

#main-content .container:before {
	display: none; /* Divi's sidebar divider line */
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--sd-font);
	color: var(--sd-ink);
	font-weight: 800;
	line-height: 1.1;
	padding-bottom: 0;
}

a {
	color: var(--sd-ink);
	text-decoration-color: var(--sd-cone);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

#main-content a:not(.sd-btn):not(.button):not(.sd-dept__link):not(.woocommerce-LoopProduct-link) {
	text-decoration-line: underline;
}

a:hover {
	color: var(--sd-cone-deep);
}

:focus-visible {
	outline: 3px solid var(--sd-pen);
	outline-offset: 3px;
}

.sd-wrap {
	max-width: var(--sd-wrap);
	margin: 0 auto;
	padding-left: var(--sd-gutter);
	padding-right: var(--sd-gutter);
	box-sizing: border-box;
	width: 100%;
}

/* Builder sections that hold our code modules carry no Divi spacing. */
.et_pb_section.sd-sec,
.sd-sec .et_pb_row,
.sd-sec .et_pb_module {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}
.et_pb_section.sd-sec {
	background: transparent;
}

/* ---------- Buttons ---------- */

.sd-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce-page .wc-block-components-button,
body .et_pb_button {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	font-family: var(--sd-font) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	font-stretch: 110%;
	line-height: 1.2 !important;
	color: var(--sd-paper) !important;
	background: var(--sd-ink) !important;
	border: 2px solid var(--sd-ink) !important;
	border-radius: var(--sd-radius) !important;
	padding: 0.85em 1.4em !important;
	text-decoration: none !important;
	transition: background-color 0.15s, color 0.15s, transform 0.15s;
}

.sd-btn:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
body .et_pb_button:after {
	display: none !important; /* Divi's hover arrow */
}

.sd-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce-page .wc-block-components-button:hover,
body .et_pb_button:hover {
	background: var(--sd-cone) !important;
	border-color: var(--sd-ink) !important;
	color: var(--sd-ink) !important;
	padding: 0.85em 1.4em !important;
}

.sd-btn:active {
	transform: translateY(1px);
}

.sd-btn--ghost {
	background: transparent !important;
	color: var(--sd-ink) !important;
}
.sd-btn--ghost:hover {
	background: var(--sd-ink) !important;
	color: var(--sd-paper) !important;
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* ---------- Header ---------- */

#main-header {
	background: var(--sd-paper);
	box-shadow: none !important;
	border-bottom: 3px solid var(--sd-ink);
}

#main-header .container {
	width: 100%;
	max-width: var(--sd-wrap);
	padding-left: var(--sd-gutter);
	padding-right: var(--sd-gutter);
	box-sizing: border-box;
}

#logo {
	max-height: 34px !important;
	width: auto;
}

#top-menu li a,
.et_mobile_menu li a {
	font-family: var(--sd-font);
	font-size: 15px;
	font-weight: 650;
	color: var(--sd-ink) !important;
	opacity: 1 !important;
}

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

#top-menu li a:hover,
#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a,
#top-menu li.current_page_item > a {
	color: var(--sd-ink) !important;
	text-decoration: underline;
	text-decoration-color: var(--sd-cone);
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
}

#top-menu li li a {
	font-weight: 500;
}

.nav li ul,
.et_mobile_menu {
	border-top: 3px solid var(--sd-cone) !important;
	box-shadow: 0 8px 0 rgba(31, 26, 23, 0.08);
}

.mobile_menu_bar:before {
	color: var(--sd-ink) !important;
}

#et_search_icon:hover,
#et_top_search .et_search_form_container .et_close_search_field:after {
	color: var(--sd-cone);
}

.sd-cart {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin-left: 22px;
	font-weight: 700;
	font-size: 15px;
	color: var(--sd-ink) !important;
	text-decoration: none !important;
}

.sd-cart:before,
.sd-cart span:before {
	display: none !important; /* Divi's icon-font cart glyph */
}

.sd-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	box-sizing: border-box;
	border-radius: 11px;
	background: var(--sd-shelf);
	color: var(--sd-ink);
	font-size: 12px;
	font-weight: 800;
}

.sd-cart-count:not([data-count="0"]) {
	background: var(--sd-cone);
}

/* Divi's top bar is off; guard in case it gets enabled. */
#top-header {
	background: var(--sd-ink) !important;
}

/* ---------- Store notice ---------- */

.woocommerce-store-notice,
p.demo_store {
	background: var(--sd-ink) !important;
	color: var(--sd-paper) !important;
	font-family: var(--sd-font);
	font-size: 14px;
	font-weight: 500;
	padding: 0.7em 3em 0.7em 1em;
	box-shadow: none;
}
.woocommerce-store-notice a {
	color: var(--sd-cone) !important;
}

/* ---------- Shared bits ---------- */

.sd-idea-no {
	display: block;
	font-family: var(--sd-font);
	font-size: 13px;
	font-weight: 600;
	font-stretch: 112%;
	letter-spacing: 0.02em;
	color: var(--sd-ink-soft);
	font-variant-numeric: tabular-nums;
}

.sd-stamp {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	font-family: var(--sd-font);
	font-weight: 900;
	font-stretch: 125%;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--sd-pen);
	border: 4px solid currentColor;
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 6px;
	padding: 0.2em 0.5em 0.15em;
	transform: rotate(-9deg);
	line-height: 1;
	mix-blend-mode: multiply;
	/* uneven ink */
	-webkit-mask-image: radial-gradient(circle at 20% 30%, #000 0 55%, rgba(0,0,0,.75) 70%, #000 90%),
		repeating-linear-gradient(115deg, #000 0 3px, rgba(0,0,0,.82) 3px 5px);
	-webkit-mask-composite: source-in;
	mask-image: radial-gradient(circle at 20% 30%, #000 0 55%, rgba(0,0,0,.75) 70%, #000 90%),
		repeating-linear-gradient(115deg, #000 0 3px, rgba(0,0,0,.82) 3px 5px);
	mask-composite: intersect;
}

.sd-stamp small {
	font-size: 0.32em;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-top: 0.35em;
}

.sd-stamp--small {
	font-size: 13px;
	border-width: 2px;
	outline-width: 1px;
	outline-offset: 2px;
	padding: 0.3em 0.55em 0.2em;
	transform: rotate(-4deg);
}

.sd-h2 {
	font-size: clamp(28px, 3.6vw, 44px);
	font-weight: 850;
	font-stretch: 118%;
	letter-spacing: -0.01em;
	margin: 0 0 0.6em;
}

.sd-sec-pad {
	padding-top: clamp(56px, 8vw, 104px);
	padding-bottom: clamp(56px, 8vw, 104px);
}

.sd-sec-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
.sd-sec-head .sd-h2 {
	margin: 0;
}

/* ---------- Hero ---------- */

.sd-hero {
	background: var(--sd-cone);
	color: var(--sd-ink);
	padding: clamp(48px, 7vw, 96px) 0 clamp(56px, 8vw, 112px);
	overflow: hidden;
}

.sd-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.sd-hero__title {
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 900;
	font-stretch: 125%;
	line-height: 0.98;
	letter-spacing: -0.02em;
	margin: 0 0 24px;
	color: var(--sd-ink);
	text-wrap: balance;
}

.sd-hero__lede {
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.55;
	max-width: 34em;
	margin: 0 0 32px;
	color: var(--sd-ink);
	padding: 0;
}

.sd-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.sd-hero .sd-btn:hover {
	background: var(--sd-paper) !important;
}
.sd-hero .sd-btn--ghost:hover {
	background: var(--sd-ink) !important;
	color: var(--sd-paper) !important;
}

/* The idea form: the one loud thing on the page. */
.sd-form {
	position: relative;
	background: var(--sd-paper);
	color: var(--sd-ink);
	border-radius: var(--sd-radius);
	padding: 26px 28px 30px;
	transform: rotate(2deg);
	box-shadow: 10px 10px 0 var(--sd-ink);
	max-width: 440px;
	justify-self: center;
	width: 100%;
	box-sizing: border-box;
}

.sd-form__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	border-bottom: 3px solid var(--sd-ink);
	padding-bottom: 10px;
	margin-bottom: 6px;
}

.sd-form__title {
	font-size: 15px;
	font-weight: 800;
	font-stretch: 115%;
	margin: 0;
	padding: 0;
}

.sd-form dl {
	margin: 0;
}

.sd-form__row {
	border-bottom: 1px solid var(--sd-rule);
	padding: 12px 0 6px;
}

.sd-form dt {
	font-size: 12px;
	font-weight: 600;
	color: var(--sd-ink-soft);
	margin: 0;
}

.sd-form dd {
	margin: 0;
	font-family: var(--sd-hand);
	font-size: 30px;
	line-height: 1.02;
	color: var(--sd-pen);
}

.sd-form__stamp {
	position: absolute;
	right: 20px;
	bottom: 26px;
	font-size: clamp(28px, 3vw, 38px);
}

@media (prefers-reduced-motion: no-preference) {
	.sd-form__stamp {
		animation: sd-thunk 0.28s cubic-bezier(0.2, 0.9, 0.3, 1.2) 0.6s both;
	}
	@keyframes sd-thunk {
		from { opacity: 0; transform: rotate(-9deg) scale(1.9); }
		to   { opacity: 1; transform: rotate(-9deg) scale(1); }
	}
}

/* ---------- Departments (ruled index) ---------- */

.sd-depts {
	list-style: none;
	margin: 0;
	padding: 0 !important;
	border-top: 3px solid var(--sd-ink);
}

.sd-dept {
	border-bottom: 1px solid var(--sd-ink);
	padding: 0 !important;
	list-style: none !important;
}
.sd-dept::marker,
.sd-steps li::marker {
	content: none;
}
#main-content .sd-depts,
#main-content .sd-steps {
	list-style: none !important;
	padding-left: 0 !important;
}

.sd-dept__link {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) auto;
	gap: 8px 32px;
	align-items: baseline;
	padding: 24px 12px;
	text-decoration: none !important;
	color: var(--sd-ink) !important;
	transition: background-color 0.15s;
}

.sd-dept__link:hover,
.sd-dept__link:focus-visible {
	background: var(--sd-cone);
}

.sd-dept__name {
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 850;
	font-stretch: 118%;
	line-height: 1.05;
}

.sd-dept__blurb {
	font-size: 16px;
	color: var(--sd-ink-soft);
}
.sd-dept__link:hover .sd-dept__blurb {
	color: var(--sd-ink);
}

.sd-dept__count {
	font-size: 14px;
	font-weight: 650;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* ---------- Empty states ---------- */

.sd-empty {
	border: 2px dashed var(--sd-ink);
	border-radius: var(--sd-radius);
	padding: 36px 32px;
	max-width: 640px;
	background: var(--sd-paper);
}
.sd-empty p {
	margin: 0;
	padding: 0;
}
.sd-empty__title {
	font-size: 24px;
	font-weight: 850;
	font-stretch: 115%;
	margin-bottom: 8px !important;
}

/* ---------- How it works ---------- */

.sd-how {
	background: var(--sd-ink);
	color: var(--sd-paper);
}
.sd-how .sd-h2 {
	color: var(--sd-paper);
	max-width: 16em;
}

.sd-steps {
	list-style: none;
	counter-reset: sd-step;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	margin: 40px 0 0;
	padding: 0 !important;
}

.sd-steps li {
	counter-increment: sd-step;
	border-top: 3px solid var(--sd-cone);
	padding: 18px 0 0 !important;
}

.sd-steps li:before {
	content: counter(sd-step);
	display: block;
	font-size: 56px;
	font-weight: 900;
	font-stretch: 125%;
	line-height: 1;
	color: var(--sd-cone);
	margin-bottom: 14px;
}

.sd-steps h3 {
	color: var(--sd-paper);
	font-size: 21px;
	font-weight: 800;
	margin: 0 0 8px;
}

.sd-steps p {
	color: #d9d2cb;
	font-size: 16px;
	margin: 0;
	padding: 0;
}

/* ---------- Inner pages ---------- */

.sd-pagehead {
	background: var(--sd-cone);
	padding: clamp(44px, 6vw, 80px) 0 clamp(40px, 5vw, 64px);
	border-bottom: 3px solid var(--sd-ink);
}

.sd-pagehead h1 {
	font-size: clamp(36px, 5.4vw, 68px);
	font-weight: 900;
	font-stretch: 125%;
	line-height: 1;
	letter-spacing: -0.02em;
	margin: 6px 0 14px;
	text-wrap: balance;
}

.sd-pagehead p {
	font-size: 19px;
	max-width: 36em;
	margin: 0;
	padding: 0;
}

.sd-prose {
	max-width: 44em;
}
.sd-prose h2 {
	font-size: 26px;
	font-stretch: 112%;
	margin: 1.8em 0 0.5em;
}
.sd-prose h2:first-child {
	margin-top: 0;
}
.sd-prose p,
.sd-prose li {
	font-size: 18px;
	line-height: 1.65;
}
.sd-prose p {
	margin: 0 0 1em;
	padding: 0;
}
.sd-prose ul {
	padding-left: 1.2em !important;
	margin: 0 0 1em;
}

.sd-faq details {
	border-bottom: 1px solid var(--sd-ink);
}
.sd-faq details:first-of-type {
	border-top: 3px solid var(--sd-ink);
}
.sd-faq summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 4px;
	font-size: 20px;
	font-weight: 750;
}
.sd-faq summary::-webkit-details-marker {
	display: none;
}
.sd-faq summary:after {
	content: "+";
	font-weight: 800;
	font-size: 26px;
	line-height: 1;
	transition: transform 0.2s;
}
.sd-faq details[open] summary:after {
	transform: rotate(45deg);
}
.sd-faq summary:hover {
	color: var(--sd-cone-deep);
}
.sd-faq .sd-faq__a {
	padding: 0 4px 20px;
}
.sd-faq .sd-faq__a p {
	font-size: 17px;
	margin: 0 0 0.8em;
	padding: 0;
}

/* Plain (non-builder) pages: policies etc. */
.page:not(.et_pb_pagebuilder_layout) #main-content .container {
	max-width: 820px;
	padding-top: 56px;
}
.page:not(.et_pb_pagebuilder_layout) .entry-title.main_title {
	font-size: clamp(34px, 4.6vw, 54px);
	font-weight: 900;
	font-stretch: 122%;
	margin-bottom: 24px;
}

/* ---------- Footer ---------- */

#main-footer {
	background: var(--sd-cone);
	border-top: 3px solid var(--sd-ink);
}

#footer-bottom {
	display: none; /* credits live in .sd-footer__legal */
}

.sd-footer {
	color: var(--sd-ink);
	padding: 56px 0 28px;
}

.sd-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
}

.sd-footer__brand img {
	height: 30px;
	width: auto;
	margin-bottom: 14px;
}

.sd-footer__brand p {
	max-width: 26em;
	font-size: 16px;
	margin: 0;
	padding: 0;
}

.sd-footer h2 {
	font-size: 14px;
	font-weight: 800;
	font-stretch: 112%;
	margin: 0 0 10px;
	padding: 0;
	color: var(--sd-ink);
}

.sd-footer ul {
	list-style: none;
	margin: 0;
	padding: 0 !important;
}

.sd-footer li {
	padding: 0 0 6px !important;
}

.sd-footer a {
	color: var(--sd-ink) !important;
	text-decoration: none;
	font-size: 16px;
}
.sd-footer a:hover {
	text-decoration: underline;
	text-decoration-color: var(--sd-ink);
}

.sd-footer__legal {
	margin-top: 40px !important;
	padding-top: 18px !important;
	border-top: 1px solid rgba(31, 26, 23, 0.4);
	font-size: 14px;
}

/* ---------- WooCommerce: product grid ---------- */

.sd-shop #main-content .container {
	max-width: var(--sd-wrap);
	width: 100%;
	padding-left: var(--sd-gutter);
	padding-right: var(--sd-gutter);
	box-sizing: border-box;
}

.woocommerce-products-header__title.page-title,
.sd-shop h1.page-title {
	font-size: clamp(34px, 4.6vw, 56px);
	font-weight: 900;
	font-stretch: 122%;
	letter-spacing: -0.015em;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	text-align: left;
}

.woocommerce ul.products li.product a img {
	background: var(--sd-shelf);
	border-radius: var(--sd-radius);
	margin-bottom: 12px;
	transition: transform 0.2s;
}

.woocommerce ul.products li.product a:hover img {
	transform: rotate(-1.5deg);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 17px !important;
	font-weight: 700;
	line-height: 1.25;
	padding: 4px 0 6px !important;
	color: var(--sd-ink);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--sd-ink) !important;
	font-weight: 650;
	font-size: 16px;
}

.woocommerce ul.products li.product .button {
	margin-top: 10px;
	font-size: 14px !important;
	padding: 0.6em 1em !important;
}
.woocommerce ul.products li.product .button:hover {
	padding: 0.6em 1em !important;
}

.woocommerce span.onsale {
	background: var(--sd-pen) !important;
	color: var(--sd-paper) !important;
	border-radius: var(--sd-radius) !important;
	font-weight: 800;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 8px 10px !important;
}

.woocommerce .woocommerce-result-count {
	color: var(--sd-ink-soft);
	font-size: 14px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce .quantity input.qty,
.woocommerce #coupon_code {
	font-family: var(--sd-font);
	font-size: 16px !important;
	color: var(--sd-ink) !important;
	background: var(--sd-paper) !important;
	border: 2px solid var(--sd-ink) !important;
	border-radius: var(--sd-radius) !important;
	padding: 10px 12px !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	font-weight: 700;
	padding: 10px 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--sd-ink);
	color: var(--sd-paper);
}

/* ---------- WooCommerce: single product ---------- */

.woocommerce div.product .product_title {
	font-size: clamp(30px, 3.6vw, 44px);
	font-weight: 900;
	font-stretch: 118%;
	line-height: 1.05;
	letter-spacing: -0.01em;
}

.sd-filed {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 12px !important;
	padding: 0 !important;
}
.sd-filed .sd-idea-no {
	display: inline;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images img {
	background: var(--sd-shelf);
	border-radius: var(--sd-radius);
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	padding: 6px 0;
}
.woocommerce div.product form.cart .variations label {
	font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs {
	border: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	background: none !important;
	border-bottom: 3px solid var(--sd-ink) !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
	display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--sd-ink-soft) !important;
	font-weight: 700;
	padding: 12px 20px 10px 0 !important;
	text-decoration: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--sd-ink) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--sd-cone) !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: 8px;
}
.woocommerce div.product .woocommerce-tabs .panel {
	padding: 24px 0 !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child {
	display: none; /* repeats the tab name */
}
.product_meta a {
	color: var(--sd-ink) !important;
}

.related.products > h2,
.upsells.products > h2,
.cross-sells > h2 {
	font-size: 28px;
	font-weight: 850;
	font-stretch: 115%;
	margin-bottom: 20px;
}

/* ---------- WooCommerce: notices, cart, checkout ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: var(--sd-paper) !important;
	color: var(--sd-ink) !important;
	border: 2px solid var(--sd-ink) !important;
	border-left: 10px solid var(--sd-cone) !important;
	border-radius: var(--sd-radius);
	font-size: 16px !important;
}
.woocommerce-error {
	border-left-color: #c21f1f !important;
}
.woocommerce-message:before,
.woocommerce-info:before {
	color: var(--sd-cone-deep) !important;
}

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout {
	font-family: var(--sd-font);
}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title {
	font-family: var(--sd-font) !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 2px solid var(--sd-ink) !important;
	border-radius: var(--sd-radius) !important;
}

.wc-block-components-product-name {
	font-weight: 700;
	color: var(--sd-ink) !important;
}

.wc-block-components-button:not(.is-link) {
	min-height: 52px;
}

/* ---------- Responsive ---------- */

@media (max-width: 980px) {
	.sd-hero__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.sd-form {
		transform: rotate(1.2deg);
		max-width: 480px;
		justify-self: start;
	}
	.sd-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sd-footer__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
	.sd-footer__brand {
		grid-column: 1 / -1;
	}
	.sd-cart {
		margin-left: 0;
		margin-right: 14px;
	}
	.sd-cart-label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
}

@media (max-width: 640px) {
	body {
		font-size: 16px;
	}
	.sd-dept__link {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 20px 4px;
	}
	.sd-dept__blurb {
		grid-column: 1 / -1;
		grid-row: 2;
	}
	.sd-steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.sd-form {
		padding: 22px 20px 26px;
		box-shadow: 7px 7px 0 var(--sd-ink);
	}
	.sd-form dd {
		font-size: 26px;
	}
	.sd-actions .sd-btn {
		flex: 1 1 auto;
		justify-content: center;
	}
	#logo {
		max-height: 26px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*:before,
	*:after {
		transition: none !important;
		animation: none !important;
	}
}

.sd-sec-pad--flush-top {
	padding-top: 0;
}

#how {
	scroll-margin-top: 90px;
}

.sd-shop .sd-empty {
	margin: 12px 0 96px;
}

/* ---------- Accepted payment methods ---------- */

.sd-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none !important;
	margin: 0 0 1em;
	padding: 0 !important;
}

.sd-pay li {
	list-style: none !important;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1;
	padding: 8px 12px !important;
	border: 2px solid var(--sd-ink);
	border-radius: var(--sd-radius);
	background: var(--sd-paper);
	color: var(--sd-ink);
}

.sd-footer__pay-title {
	margin-top: 22px !important;
}

.sd-legal-updated {
	color: var(--sd-ink-soft);
	font-size: 15px;
}

.page:not(.et_pb_pagebuilder_layout) .entry-content h2 {
	font-size: 22px;
	font-weight: 800;
	font-stretch: 110%;
	margin: 1.6em 0 0.4em;
}
