/* HiGuppy FAQ system: one calm, readable accordion across page builders. */
body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details {
	margin: 0 0 12px !important;
	border: 1px solid #d8e2d4 !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 5px 18px rgba(30, 65, 50, .045) !important;
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details[open] {
	border-color: #bacdbd !important;
	box-shadow: 0 8px 24px rgba(30, 65, 50, .075) !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > summary {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 18px !important;
	min-height: 68px !important;
	margin: 0 !important;
	padding: 19px 68px 19px 21px !important;
	border: 0 !important;
	background: #fff !important;
	color: #213d32 !important;
	font-family: inherit !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	list-style: none !important;
	cursor: pointer;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > summary::-webkit-details-marker {
	display: none !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > summary::after {
	position: absolute !important;
	top: 50% !important;
	right: 19px !important;
	transform: translateY(-50%) !important;
	display: grid !important;
	place-items: center !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #bf4c32 !important;
	color: #fff !important;
	content: "+" !important;
	font: 700 20px/1 Arial, sans-serif !important;
	box-shadow: none !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details[open] > summary::after {
	content: "×" !important;
	font-size: 21px !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > summary > span[aria-hidden="true"] {
	display: none !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > :not(summary) {
	margin: 0 !important;
	padding: 0 21px 20px !important;
	color: #445e52 !important;
	font-size: 16px !important;
	line-height: 1.72 !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > :not(summary) p {
	margin: 0 0 10px !important;
	color: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > :not(summary) a {
	color: #1d5b45 !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

body :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > summary:focus-visible {
	outline: 3px solid #bf4c32 !important;
	outline-offset: 3px !important;
	border-radius: 12px;
}

/* Keep static FAQ cards in the same visual family as the accordions. */
body :is(.hg-ab__faq-item, .hg-accessibility-page .hga-faq details, .hg-reviews-faq details) {
	border: 1px solid #d8e2d4 !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 5px 18px rgba(30, 65, 50, .045) !important;
}

body :is(.hg-ab__faq-item, .hg-accessibility-page .hga-faq details, .hg-reviews-faq details) p {
	color: #445e52 !important;
	line-height: 1.72 !important;
}

@media (max-width: 680px) {
	body :is(
		.hg-category-faq,
		.hgt6,
		.hg-sp__article,
		.hg-reference-faq,
		.hgse-faq,
		.hgc-contact-faq,
		.hgc5-faq,
		.hgc6-faq,
		.hgw6-faq,
		.hgb-faq,
		.hgb-faq-grid,
		.hg-info-container,
		.hg-na-faq,
		.na2-home-faq,
		.hg-gallery-faq,
		.higuppy-four-strain-faq,
		.can-faq,
		.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
		.hgd3-faq,
		.hg-faq-inline,
		.faq-list
	) details > summary {
		min-height: 62px !important;
		padding: 16px 57px 16px 17px !important;
		font-size: 16px !important;
	}

	body :is(
		.hg-category-faq,
		.hgt6,
		.hg-sp__article,
		.hg-reference-faq,
		.hgse-faq,
		.hgc-contact-faq,
		.hgc5-faq,
		.hgc6-faq,
		.hgw6-faq,
		.hgb-faq,
		.hgb-faq-grid,
		.hg-info-container,
		.hg-na-faq,
		.na2-home-faq,
		.hg-gallery-faq,
		.higuppy-four-strain-faq,
		.can-faq,
		.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
		.hgd3-faq,
		.hg-faq-inline,
		.faq-list
	) details > summary::after {
		right: 14px !important;
		width: 28px !important;
		height: 28px !important;
	}

	body :is(
		.hg-category-faq,
		.hgt6,
		.hg-sp__article,
		.hg-reference-faq,
		.hgse-faq,
		.hgc-contact-faq,
		.hgc5-faq,
		.hgc6-faq,
		.hgw6-faq,
		.hgb-faq,
		.hgb-faq-grid,
		.hg-info-container,
		.hg-na-faq,
		.na2-home-faq,
		.hg-gallery-faq,
		.higuppy-four-strain-faq,
		.can-faq,
		.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
		.hgd3-faq,
		.hg-faq-inline,
		.faq-list
	) details > :not(summary) {
		padding: 0 17px 18px !important;
		font-size: 15px !important;
	}
}

/* Reassert FAQ colors after the theme's high-specificity typography token. */
body.higuppy-site-shell:not(#hg-typography-contract):not(#hg-typography-contract-a):not(#hg-typography-contract-b) :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > summary {
	color: #213d32 !important;
}

body.higuppy-site-shell:not(#hg-typography-contract):not(#hg-typography-contract-a):not(#hg-typography-contract-b) :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > :not(summary) {
	color: #445e52 !important;
}

body.higuppy-site-shell:not(#hg-typography-contract):not(#hg-typography-contract-a):not(#hg-typography-contract-b) :is(
	.hg-category-faq,
	.hgt6,
	.hg-sp__article,
	.hg-reference-faq,
	.hgse-faq,
	.hgc-contact-faq,
	.hgc5-faq,
	.hgc6-faq,
	.hgw6-faq,
	.hgb-faq,
	.hgb-faq-grid,
	.hg-info-container,
	.hg-na-faq,
	.na2-home-faq,
	.hg-gallery-faq,
	.higuppy-four-strain-faq,
	.can-faq,
	.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
	.hgd3-faq,
	.hg-faq-inline,
	.faq-list
) details > :not(summary) a:not(.hg-btn-primary):not(.hg-btn-secondary):not(.hg-wow-btn--primary):not(.higuppy-sidebar-cart__suggestion-add):not(.add_to_cart_button):not(.ajax_add_to_cart):not(.hg-collections__chip):not(.hg-collection-card__button):not(.hg-collections__button):not(.hg-category-button):not(.hg-category-nav__item):not(.hg-shop-visual-hero__button):not(.hg-404__button):not(.higuppy-sidebar-cart__continue-shopping) {
	color: #1d5b45 !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Match the category-shell layer so FAQ answers can override its paragraph token. */
@layer higuppy-category-shell {
	body.higuppy-category-landing .hg-category-faq details > :not(summary) {
		color: #445e52 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body :is(
		.hg-category-faq,
		.hgt6,
		.hg-sp__article,
		.hg-reference-faq,
		.hgse-faq,
		.hgc-contact-faq,
		.hgc5-faq,
		.hgc6-faq,
		.hgw6-faq,
		.hgb-faq,
		.hgb-faq-grid,
		.hg-info-container,
		.hg-na-faq,
		.na2-home-faq,
		.hg-gallery-faq,
		.higuppy-four-strain-faq,
		.can-faq,
		.hga-faq,
	.hga5-faq,
	.hg-reviews-faq,
		.hgd3-faq,
		.hg-faq-inline,
		.faq-list
	) details {
		transition: none !important;
	}
}

/* The payment page has older ID-level rules that need this shared treatment. */
html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item {
	margin: 0 0 12px !important;
	border: 1px solid #d8e2d4 !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 5px 18px rgba(30, 65, 50, .045) !important;
}

html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item > summary {
	min-height: 68px !important;
	padding: 19px 68px 19px 21px !important;
	border: 0 !important;
	background: #fff !important;
	color: #213d32 !important;
	font-family: inherit !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	list-style: none !important;
}

html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item > summary::after {
	position: absolute !important;
	top: 50% !important;
	right: 19px !important;
	transform: translateY(-50%) !important;
	display: grid !important;
	place-items: center !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #bf4c32 !important;
	color: #fff !important;
	content: "+" !important;
	font: 700 20px/1 Arial, sans-serif !important;
	box-shadow: none !important;
}

html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details[open].hg-info-faq-item > summary::after {
	content: "×" !important;
	font-size: 21px !important;
}

html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item > :not(summary) {
	margin: 0 !important;
	padding: 0 21px 20px !important;
	color: #445e52 !important;
	font-size: 16px !important;
	line-height: 1.72 !important;
}

@media (max-width: 680px) {
	html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item > summary {
		min-height: 62px !important;
		padding: 16px 57px 16px 17px !important;
		font-size: 16px !important;
	}

	html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item > summary::after {
		right: 14px !important;
		width: 28px !important;
		height: 28px !important;
	}

	html body.higuppy-site-shell.page-id-1549 .hg-info-page--payment #payment-faq details.hg-info-faq-item > :not(summary) {
		padding: 0 17px 18px !important;
		font-size: 15px !important;
	}
}
