/*
Theme Name:   HCE Child Theme
Theme URI:    https://homecoffeeexpert.com/
Description:  Child theme for Home Coffee Expert — built on Astra
Author:       Katie Woodburn-Simmonds
Author URI:   https://kwscreations.com
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hce-child
Template: astra
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */

:root {
	--hce-primary: #0F3D2E;
	--hce-primary-muted: #DCE7E1;
	--hce-secondary: #2E7D67;
	--hce-accent: #FFC107;
	--hce-accent-muted: #fff3cd;
	--hce-cta: #FF4D5A;
	--hce-neutral: #FFF7EC;
	--hce-text: #1A1A1A;
	--hce-text-light: #4A4A4A;
	--hce-text-muted: #767676;
	--hce-white: #FAFAFA;
	--hce-border: #E0D8CE;
	--hce-shadow-sm: 0 2px 8px rgba(15, 61, 46, 0.08);
	--hce-shadow-md: 0 4px 20px rgba(15, 61, 46, 0.12);
	--hce-shadow-lg: 0 8px 40px rgba(15, 61, 46, 0.16);

	--hce-font-heading: 'Bebas Neue', sans-serif;
	--hce-font-body: 'Source Sans 3', sans-serif;
	--hce-font-script: 'Kalam', cursive;

	--hce-radius-sm: 4px;
	--hce-radius-md: 8px;
	--hce-radius-lg: 16px;
	--hce-radius-xl: 24px;

	--hce-transition: 0.25s ease;
}

/* ============================================================
   GLOBAL RESETS & BASE
   ============================================================ */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	font-family: var(--hce-font-body);
	color: var(--hce-text);
	background-color: var(--hce-white);
	line-height: 1.7;
	font-size: 1rem;
	-webkit-font-smoothing: antialiased;
}

img {
	height: auto;
	max-width: 100%;
	display: block;
}

.entry-content .wp-block-image:has(figcaption) {
	margin-bottom: 1.6rem;
}

.entry-content .wp-block-image:has(figcaption) img,
.entry-content .wp-block-image figcaption,
.entry-content .wp-block-image:has(a) img {
	margin-bottom: 0;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */

h1,
.error-404 h1.page-title,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--hce-font-heading);
	color: var(--hce-primary);
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: 0.03em;
}

.entry-content h1:not(.handwritten-heading),
header.entry-header:not(.related-entry-header) .entry-title,
.error-404 .page-title {
	font-size: clamp(2rem, 5vw, 3rem);
}

.entry-content h2 {
	font-size: clamp(1.5rem, 3.5vw, 2.25rem);
}

.entry-content h3 {
	font-size: clamp(1.2rem, 2.5vw, 1.6rem);
}

.entry-content h4 {
	font-size: 1.2rem;
}

a,
.entry-content a {
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--hce-transition);
	font-weight: bold;
}

a:hover,
a:focus,
.entry-content a:hover,
.entry-content a:focus {
	color: var(--hce-secondary);
}

.hce-p-as-h1 {
	font-size: clamp(2rem, 5vw, 3rem);
	font-family: var(--hce-font-heading);
}

.hce-p-as-h3 {
	font-size: clamp(1.2rem, 2.5vw, 1.6rem);
	font-family: var(--hce-font-heading);
}

.hce-p-as-h4 {
	font-size: 1.5em;
	font-family: var(--hce-font-heading);
	margin-bottom: 1rem;
}

.handwritten-heading {
	font-family: var(--hce-font-script);
	font-size: 1.2rem;
}

.handwritten-text {
	font-family: var(--hce-font-script);
	font-size: 1rem;
}

.entry-content ul.list-style-none {
	list-style: none;
	padding-left: 0;
}

/* ============================================================
   ASTRA OVERRIDES — HEADER & NAVIGATION
   ============================================================ */
/* Header background */
.site-header .ast-main-header-wrap .ast-primary-header-bar {
	background-color: var(--hce-primary);
	border: none;
}

.ast-primary-header-bar .site-title {
	display: none;
}

/* Logo sizing */
.custom-logo,
.ast-logo-img {
	max-height: 70px;
	width: auto;
}

/* Nav links */
.main-navigation a,
.ast-main-navigation .menu-link,
#site-navigation .menu-link,
.main-header-menu .menu-link {
	color: var(--hce-neutral) !important;
	font-family: var(--hce-font-heading);
	letter-spacing: 0.06em;
	padding: 0.6em 1em;
	transition: color var(--hce-transition) !important;
}

.main-navigation a:hover,
.main-header-menu .menu-link:hover,
.main-header-menu li:hover>.menu-link,
.main-header-menu .current-menu-item>.menu-link {
	color: var(--hce-accent) !important;
	text-decoration: none;
}

/* Dropdown menus */
.ast-main-navigation ul.sub-menu,
.main-navigation ul ul {
	background-color: var(--hce-primary) !important;
	border-top: 2px solid var(--hce-accent) !important;
	border-radius: 0 0 var(--hce-radius-md) var(--hce-radius-md);
	box-shadow: var(--hce-shadow-md);
}

.ast-main-navigation ul.sub-menu .menu-link,
.main-navigation ul ul a {
	color: var(--hce-neutral) !important;
}

.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item>.menu-link,
.main-navigation ul ul a:hover,
.ast-builder-menu-mobile .main-navigation .main-header-menu>.menu-item:hover>.menu-link {
	color: var(--hce-accent) !important;
	background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Mobile menu toggle */
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: var(--hce-white) !important;
}

[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-fill {
	background: var(--hce-accent);
	border-radius: 30px;
}

/* Mobile menu dropdown */
.ast-header-break-point .ast-primary-header-bar {
	border-bottom: none;
}

.ast-header-break-point .ast-builder-menu-mobile .main-navigation {
	border-top: 2px solid var(--hce-accent);
}

.ast-builder-menu-mobile .main-navigation .main-header-menu,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu,
.ast-mobile-header-content .ast-header-search {
	background-color: var(--hce-primary);
}

.ast-builder-menu-mobile .main-navigation .ast-nav-menu .ast-menu-toggle .icon-arrow svg {
	fill: var(--hce-neutral) !important;
}

.ast-builder-menu-mobile .main-navigation .ast-nav-menu>.menu-item.menu-item-has-children:hover>.ast-menu-toggle .ast-arrow-svg {
	fill: var(--hce-accent) !important;
}

/* Search in header */
.ast-primary-header .ast-header-search .ast-search-menu-icon .astra-search-icon .ast-icon.icon-search svg {
	fill: var(--hce-neutral);
}

.ast-primary-header .ast-header-search .ast-search-menu-icon.ast-dropdown-active .astra-search-icon .ast-icon.icon-search svg {
	fill: var(--hce-primary);
	border: 1px solid var(--hce-accent);
	background-color: var(--hce-accent);
	border-radius: 30px;
}

.ast-primary-header .ast-header-search .slide-search .search-form,
.widget_search .search-form .search-field {
	border: 1px solid var(--hce-accent);
	border-radius: var(--hce-radius-sm);
}

.ast-primary-header .ast-header-search .slide-search .search-form .search-field {
	border-radius: var(--hce-radius-sm);
	color: var(--hce-text-muted);
}

.ast-mobile-header-content .ast-builder-layout-element:not(.ast-builder-menu):not(.ast-header-divider-element) {
	padding: 0 20px 16px;
}

.ast-mobile-header-content .ast-search-menu-icon.slide-search .search-form .search-submit,
.ast-mobile-header-content .ast-search-menu-icon .search-form .search-submit {
	background-color: var(--hce-secondary);
	border: 1px solid var(--hce-secondary);
	color: white;
}

/* ============================================================
   SEARCH FORM - LIVE SEARCH RESULTS
   ============================================================ */
.ast-live-search-results {
	background-color: var(--hce-primary);
	border-top: 2px solid var(--hce-accent) !important;
	border-radius: 0 0 var(--hce-radius-md) var(--hce-radius-md);
	box-shadow: var(--hce-shadow-md);
	padding: 0;
	border-bottom: none;
	border-left: none;
	border-right: none;
}

label.ast-search--posttype-heading,
label.ast-search--no-results-heading {
	font-family: var(--hce-font-heading);
	color: var(--hce-neutral);
	letter-spacing: 0.06em;
	font-size: 1em;
	display: block;
}

.ast-search--posttype-heading::after {
	content: ' you might be looking for...';
}

.ast-live-search-results a.ast-search-item {
	color: var(--hce-neutral);
	transition: all var(--hce-transition);
}

.ast-live-search-results a.ast-search-item:hover {
	color: var(--hce-accent);
	background-color: rgba(255, 255, 255, 0.05);
	text-decoration: none;
}

.ast-live-search-results a.ast-search-item {
	text-decoration: none;
}

/* ============================================================
   ASTRA OVERRIDES — COLOURS & SHAPES
   ============================================================ */
.hce-bg-primary {
	background-color: var(--hce-primary);
}

.hce-bg-primary>*,
.hce-primary-beans-bg>* {
	color: var(--hce-neutral);
}

.hce-bg-secondary {
	background-color: var(--hce-secondary);
}

.hce-bg-neutral {
	background-color: var(--hce-neutral);
}

.hce-primary-transparent {
	background-color: rgba(255, 255, 255, 0.05);
}

.hce-primary-beans-bg {
	background: var(--hce-primary);
	background-image: url(/wp-content/uploads/2026/06/primary-30-beans-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.hce-cta-cat-bg,
.hce-neutral-sipping-bg,
.hce-neutral-beans-bg {
	background-color: #F8DCDD;
	border: 1px solid var(--hce-cta);
	background-size: cover;
	background-repeat: no-repeat;
}

.hce-cta-cat-bg {
	background-image: url(/wp-content/uploads/2026/06/HCE-Backgrounds.png);
}

.hce-neutral-sipping-bg {
	background-image: url(/wp-content/uploads/2026/06/hce-neutral-bg-cat-sipping.png);
}

.hce-neutral-beans-bg {
	background-image: url(/wp-content/uploads/2026/06/hce-neutral-beans-bg.png);
}

.hce-cta-cat-bg {
	background-image: url(/wp-content/uploads/2026/06/HCE-Backgrounds.png);
}

.primary-text {
	color: var(--hce-primary);
}

.secondary-text {
	color: var(--hce-secondary);
}

.neutral-text {
	color: var(--hce-neutral);
}

.accent-text {
	color: var(--hce-accent);
}

.cta-text {
	color: var(--hce-cta);
}

.hce-accent-underline {
	position: relative;
	display: inline-block;
	background-image: url("/wp-content/uploads/2026/05/underline-accent.png");
	background-repeat: no-repeat;
	background-size: 100% 1rem;
	background-position: center bottom;
	padding-bottom: 0.5rem;
}

.hce-organic-circle {
	border-radius: 46% 54% 69% 31% / 61% 55% 45% 39%;
}

/* ============================================================
   ASTRA OVERRIDES — SITE LAYOUT
   ============================================================ */
.h2-banner__transparent,
.h2-banner {
	gap: 1rem;
}

.h2-banner {
	margin-top: 1.5em;
	margin-bottom: 1.6rem;
}

.h2-banner__transparent img,
.entry-content .h2-banner img,
.h2-banner figure.wp-block-image {
	margin: 0;
}

.entry-content .h2-banner.wp-block-group {
	padding: 1.6rem 1.3rem;
}

.h2-banner {
	background-color: var(--hce-primary);
	border-radius: var(--hce-radius-md);
}

.h2-banner>* {
	color: var(--hce-neutral);
}

.h2-banner>.wp-block-group {
	gap: 0.5rem;
}

.h2-banner .wp-block-paragraph {
	margin-bottom: 0;
}

@media screen and (max-width: 544px) {
	.wp-block-group.h2-banner:has(> .wp-block-group) {
		flex-direction: column;
	}

	.wp-block-group.h2-banner:has(> .wp-block-group) img {
		max-width: 60px;
	}
}

.entry-content>.wp-block-group,
.entry-content>.wp-block-cover,
.entry-content>.wp-block-columns {
	padding: 0;
}

.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block {
	padding-right: 20px;
	padding-left: 20px;
}

.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-header {
	padding-top: 10%;
	padding-bottom: 10%;
}

.hce-mt03 {
	margin-top: 0.3rem;
}

/* Hero columns (as seen on About) */
.hce-hero-cols {
	margin-top: 110px !important;
	position: relative;
	border: 2px solid var(--hce-primary);
	border-radius: var(--hce-radius-lg);
	padding: 9rem 2rem 2rem;
	overflow: visible;
}

.hce-hero-cols__fig {
	position: absolute;
	top: -7rem;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	width: 220px;
	z-index: 2;
}

.entry-content .hce-hero-cols__fig img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 46% 54% 69% 31% / 61% 55% 45% 39%;
	border: 2px solid var(--hce-primary);
}

.hce-hero-cols h3 {
	text-align: center;
}

/* List overrides */
.hce-hero-cols ul.list-style-none li a {
	color: var(--hce-text);
	font-weight: bold;
	text-decoration: none;
}

.hce-hero-cols ul.list-style-none li a:hover {
	color: var(--hce-secondary);
}

.hce-hero-cols ul.list-style-none li:not(:last-child) {
	margin-bottom: 1rem;
}

@media (min-width: 545px) {
	.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-header {
		padding-top: 5%;
		padding-bottom: 5%;
	}
}

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-search .wp-block-search__button,
body .wp-block-file .wp-block-file__button,
div.wpforms-container-full input[type=submit]:not(:hover):not(:active),
div.wpforms-container-full button[type=submit]:not(:hover):not(:active),
div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full input[type=submit]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full button[type=submit]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-block-table table a.a-as-btn,
.wp-block-table table a.a-as-btn {
	font-family: var(--hce-font-body);
	font-weight: bold;
	border-color: var(--hce-cta);
	background-color: var(--hce-cta);
	background: var(--hce-cta);
	color: var(--hce-text);
	letter-spacing: 0.06em;
	border-radius: var(--hce-radius-sm);
	border: 2px solid transparent;
	text-transform: uppercase;
	transition: all var(--hce-transition);
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:focus,
div.wpforms-container-full input[type=submit]:hover,
div.wpforms-container-full input[type=submit]:active,
div.wpforms-container-full button[type=submit]:hover,
div.wpforms-container-full button[type=submit]:active,
div.wpforms-container-full .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-page-button:active,
.wp-core-ui div.wpforms-container-full input[type=submit]:hover,
.wp-core-ui div.wpforms-container-full input[type=submit]:active,
.wp-core-ui div.wpforms-container-full button[type=submit]:hover,
.wp-core-ui div.wpforms-container-full button[type=submit]:active,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:active,
.wp-block-table table a.a-as-btn:hover,
.wp-block-table table a.a-as-btn:active {
	color: var(--hce-text);
	background-color: var(--hce-accent);
	border-color: var(--hce-accent);
	background: var(--hce-accent);
}

div.wpforms-container-full input[type=submit]:hover,
div.wpforms-container-full input[type=submit]:active,
div.wpforms-container-full button[type=submit]:hover,
div.wpforms-container-full button[type=submit]:active,
div.wpforms-container-full .wpforms-page-button:hover,
div.wpforms-container-full .wpforms-page-button:active,
.wp-core-ui div.wpforms-container-full input[type=submit]:hover,
.wp-core-ui div.wpforms-container-full input[type=submit]:active,
.wp-core-ui div.wpforms-container-full button[type=submit]:hover,
.wp-core-ui div.wpforms-container-full button[type=submit]:active,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:hover,
.wp-core-ui div.wpforms-container-full .wpforms-page-button:active {
	font-family: var(--hce-font-body);
	font-weight: bold;
	color: var(--hce-text);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: 2px solid transparent;
}

/* Outline button */
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button,
.ast-outline-button,
.wp-block-uagb-buttons-child .uagb-buttons-repeater.ast-outline-button {
	background-color: var(--hce-neutral) !important;
	color: var(--hce-text) !important;
	font-weight: bold;
	border-color: var(--hce-cta) !important;
}

.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover,
.ast-outline-button:hover,
.wp-block-uagb-buttons-child .uagb-buttons-repeater.ast-outline-button:hover {
	border-color: var(--hce-accent) !important;
}

/* ============================================================
   CONTACT PAGE & FORM
   ============================================================ */
.wpforms-container#wpforms-43132 {
	margin-top: 0;
	background-color: rgba(255, 255, 255, 0.05);
	padding: 5%;
	border-radius: var(--hce-radius-lg);
}

div.wpforms-container-full #wpforms-form-43132 .wpforms-field-label,
.wp-core-ui div.wpforms-container-full .wpforms-field-label {
	color: var(--hce-neutral);
}

div.wpforms-container-full #wpforms-form-43132 input[type=text],
div.wpforms-container-full .wpforms-form#wpforms-form-43132 .wpforms-field.wpforms-field-select-style-modern .choices .choices__inner,
div.wpforms-container-full #wpforms-form-43132 input[type=email],
div.wpforms-container-full #wpforms-form-43132 textarea {
	border: 2px solid var(--hce-secondary);
	color: var(--hce-text);
	border-radius: var(--hce-radius-lg);
}

div.wpforms-container-full #wpforms-form-43132 input[type=text]:active,
div.wpforms-container-full #wpforms-form-43132 input[type=text]:focus,
div.wpforms-container-full .wpforms-form#wpforms-form-43132 .wpforms-field.wpforms-field-select-style-modern .choices .choices__inner:active,
div.wpforms-container-full .wpforms-form#wpforms-form-43132 .wpforms-field.wpforms-field-select-style-modern .choices .choices__inner:focus,
div.wpforms-container-full #wpforms-form-43132 input[type=email]:active,
div.wpforms-container-full #wpforms-form-43132 input[type=email]:focus,
div.wpforms-container-full #wpforms-form-43132 textarea:active,
div.wpforms-container-full #wpforms-form-43132 textarea:focus {
	border: 2px solid var(--hce-accent);
}

.wpforms-form#wpforms-form-43132 em.wpforms-error {
	background-color: white;
	width: fit-content;
	padding: 0.2rem 0.6rem;
	border-radius: var(--hce-radius-lg);
}

.hce-contact-cat {
	margin-top: 0;
	max-width: 250px;
}

/* ============================================================
   TESTED SEAL 
   ============================================================ */
.hce-image-wrap {
	position: relative;
	display: inline-block;
}

.hce-image-wrap__static {
	display: block;
	width: 100%;
	height: auto;
}

.hce-tested-seal img {
	position: absolute;
	bottom: -10%;
	right: 0;
	width: 150px;
	height: auto;
	z-index: 2;
	margin: 0 !important;

	animation: hceSlowSpin 20s linear infinite;
	transform-origin: center center;

	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25));
}

.hce-tested-seal__top-left {
	position: absolute;
	top: -10%;
	left: -8%;
	width: 100px;
	height: auto;
	z-index: 2;

	animation: hceSlowSpin 20s linear infinite;

	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25));
}

.hce-image-wrap:has(.hce-tested-seal__top-left) {
	margin-bottom: 0
}

@keyframes hceSlowSpin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@media screen and (min-width:544px) {
	.hce-tested-seal__top-left {
		top: -5%;
		left: -5%;
		width: 150px;

	}
}

@media screen and (min-width:921px) {
	.hce-tested-seal img {
		right: -5%;
	}
}

/* ============================================================
   TABLE OF CONTENTS
   ============================================================ */
/* Desktop sidebar */
.widget-area#secondary .widget-title {
	letter-spacing: 0;
	padding: 10px;
	text-align: center;
}

.widget-area#secondary .ez-toc-widget-sticky .is_stuck .ez-toc-widget-sticky-title-container {
	padding-left: 0;
}

.widget-area#secondary .ez-toc-widget-sticky-container {
	max-width: 100%;
	min-width: 200px;
	background-color: var(--hce-white);
}

.widget-area#secondary .ez-toc-widget-sticky-container nav {
	padding: 10px
}

.widget-area#secondary div.ez-toc-widget-sticky-container.is_stuck {
	box-shadow: var(--hce-shadow-md);
}

.widget-area#secondary .ez-toc-widget-sticky-container ul.ez-toc-widget-sticky-list li>a {
	text-decoration: none;
}

.widget-area#secondary .ez-toc-widget-sticky-container ul.ez-toc-widget-sticky-list li>a:hover,
.widget-area#secondary .ez-toc-widget-sticky-container ul.ez-toc-widget-sticky-list li>a:focus {
	font-weight: bold;
}

.widget-area#secondary .ez-toc-widget-sticky-container ul.ez-toc-widget-sticky-list li.active>a {
	background-color: var(--hce-primary-muted);
	border-radius: var(--hce-radius-sm);
	padding-right: 10px;
}

/* Mobile toggle menu */
div.ez-toc-mobile-toggle-btn {
	background: var(--hce-primary);
	top: 20%;
	color: var(--hce-neutral);
}

div.ez-toc-mobile-toggle-btn:hover,
div.ez-toc-mobile-toggle-btn:focus {
	background: var(--hce-accent);
	color: var(--hce-text);
}

.widget-area#secondary .ez-toc-widget-sticky-container.mobile-overlay .ez-toc-widget-sticky-content {
	background: var(--hce-white);
	box-shadow: var(--hce-shadow-md);
}

.widget-area#secondary .ez-toc-widget-sticky-container.mobile-overlay .ez-toc-mobile-close-btn {
	font-size: 1.5rem;
	font-weight: bold;
	color: var(--hce-primary);
	box-shadow: none;
}

.widget-area#secondary .ez-toc-widget-sticky-container.mobile-overlay .ez-toc-mobile-close-btn:hover,
.widget-area#secondary .ez-toc-widget-sticky-container.mobile-overlay .ez-toc-mobile-close-btn:focus {
	background-color: var(--hce-primary-muted);
}

@media screen and (max-width: 920px) {
	.widget-area#secondary {
		margin: 0;
	}

	.ast-separate-container.ast-two-container #secondary .widget {
		background-color: var(--hce-white);
	}

	.ast-separate-container #primary {
		padding-bottom: 0;
	}
}

/* ============================================================
   SINGLE POST 
   ============================================================ */
/* Author / Meta */
header.entry-header:not(.related-entry-header) .entry-meta,
header.entry-header:not(.related-entry-header) .entry-meta * {
	color: var(--hce-text-light);
}

.entry-meta .ast-author-avatar img {
	display: inline;
}

.entry-meta .posted-on .updated:before {
	content: "Last Updated:";
}

header.entry-header:not(.related-entry-header) .entry-meta {
	margin-bottom: 10%;
}

@media screen and (max-width: 544px) {
	.entry-header .entry-meta span.posted-on::before {
		content: "\A";
		white-space: pre;
	}

	.entry-header .entry-meta .posted-on .updated {
		padding-left: 60px;
	}
}

@media screen and (min-width: 545px) {
	header.entry-header:not(.related-entry-header) .entry-meta {
		margin-bottom: 5%;
	}
}

/* Affiliate disclaimer */
.aff-disclaimer {
	font-size: 0.9rem;
	padding: 1rem 1.5rem;
	color: var(--hce-text-light);
	background-color: var(--hce-neutral);
	border-radius: var(--hce-radius-md);
}

/* Related posts */
.site .ast-single-related-posts-container {
	padding: 0;
	max-width: 1240px;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 4em;
}

.site .ast-single-related-posts-container .ast-related-posts-wrapper,
.ast-related-posts-title-section {
	margin-right: 20px;
	margin-left: 20px;
}

.ast-single-related-posts-container .ast-related-posts-title {
	display: flex;
	text-align: center;
	align-items: center;
}

.site .ast-single-related-posts-container .ast-related-posts-title:before,
.site .ast-single-related-posts-container .ast-related-posts-title:after {
	content: "";
	flex: 1;
	border-bottom: 2px solid var(--hce-secondary);
}

.site .ast-single-related-posts-container .ast-related-posts-title:before {
	margin-right: 1rem;
}

.site .ast-single-related-posts-container .ast-related-posts-title:after {
	margin-left: 1rem;
}

/* ============================================================
   POST CONTENT AREA
   ============================================================ */
.entry-content {
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--hce-text);
}

.entry-content p {
	margin-bottom: 1.6rem;
}

.entry-content li {
	margin-bottom: 0.4em;
}

.entry-content img {
	border-radius: var(--hce-radius-md);
	margin-bottom: 1.6rem;
}

.ast-article-single figure,
.ast-article-single img:not(figure img) {
	box-shadow: none;
}

.p-inline-img img {
	margin: 0;
	display: inline;
	max-width: 3rem;
	max-height: 3rem;
}

.h-inline-img img {
	margin: 0;
	display: inline;
}

/* ============================================================
   AUTHOR BOX
   ============================================================ */
.hce-author-box {
	margin: 0 2.5em;
	background-color: var(--hce-neutral);
	border: 1px solid var(--hce-secondary);
	border-radius: var(--hce-radius-lg);
	padding: 2rem;
}

.hce-author-box .hce-author-box__col:first-child {
	align-content: center;
	justify-items: center;
	flex: 1;
}

.hce-author-box .hce-author-box__col:last-child {
	flex: 2;
}

.hce-author-box__name {
	font-size: 1.2rem;
	margin-bottom: 0.4rem;
}

.hce-author-box__name a {
	color: var(--hce-primary);
	font-family: var(--hce-font-heading);
	line-height: 1.2;
	letter-spacing: 0.04em;
}

.hce-author-box__bio {
	font-size: 0.9rem;
	color: var(--hce-text-light);
	margin: 0;
}

@media screen and (max-width: 544px) {
	.hce-author-box {
		margin: 1.5em 1em;
	}
}

@media screen and (min-width: 782px) {
	.hce-author-box.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.hce-author-box__col {
		flex-basis: fit-content;
	}
}

/* ============================================================
   POST/ARTICLE CARDS
   ============================================================ */
.wp-block-latest-posts.is-grid {
	padding: 0;
}

.archive .ast-article-post .ast-article-inner,
.blog .ast-article-post .ast-article-inner,
.search .ast-article-post .ast-article-inner,
.archive .ast-article-post .ast-article-inner:hover,
.blog .ast-article-post .ast-article-inner:hover,
.search .ast-article-post .ast-article-inner:hover,
.wp-block-latest-posts li,
.wp-block-latest-posts li:hover,
.ast-related-posts-inner-section,
.ast-related-posts-inner-section:hover {
	border: 1px solid var(--hce-border);
	border-radius: var(--hce-radius-lg);
	transition: box-shadow var(--hce-transition), transform var(--hce-transition);
}

.search .ast-article-post .ast-article-inner,
.wp-block-latest-posts li,
.ast-related-posts-inner-section,
.ast-related-posts-inner-section .post-thumb {
	overflow: hidden;
}

.archive .ast-article-post .ast-article-inner:hover,
.blog .ast-article-post .ast-article-inner:hover,
.search .ast-article-post .ast-article-inner:hover,
.wp-block-latest-posts li:hover,
.ast-related-posts-inner-section:hover {
	box-shadow: var(--hce-shadow-md);
	transform: translateY(-3px);
}

.ast-blog-layout-4-grid .ast-article-inner .post-thumb,
.ast-article-post .post-thumb-img-content img,
.wp-block-latest-posts li .wp-block-latest-posts__featured-image img,
.ast-related-posts-inner-section .post-thumb img {
	aspect-ratio: 4/3;
}

.wp-block-latest-posts__featured-image img,
.ast-related-posts-inner-section .post-thumb img {
	margin: 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	transition: transform var(--hce-transition);
}

.archive .ast-article-post .ast-article-inner:hover .post-thumb img,
.wp-block-latest-posts li:hover .wp-block-latest-posts__featured-image img,
.ast-related-posts-inner-section:hover .post-thumb img {
	transform: scale(1.04);
}

.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-excerpt,
.ast-related-post-content .entry-header .ast-related-post-title,
.ast-related-post-excerpt {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.ast-related-post-content p.ast-related-post-excerpt {
	margin-bottom: 0;
}

.wp-block-latest-posts li a.wp-block-latest-posts__post-title,
.ast-related-post-content .entry-header h3.ast-related-post-title a {
	font-family: var(--hce-font-heading);
	display: block;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.03em;
}

.archive .ast-article-post .ast-article-inner .entry-title a,
.search .ast-article-post .ast-article-inner .entry-title a,
.wp-block-latest-posts li a.wp-block-latest-posts__post-title,
.ast-related-post-content .entry-header .ast-related-post-title,
.ast-related-post-content .entry-header .ast-related-post-title a {
	color: var(--hce-primary);
	text-decoration: none;
}

.archive .ast-article-post .ast-article-inner:hover .entry-title a,
.search .ast-article-post .ast-article-inner:hover .entry-title a,
.read-more a:hover,
.read-more a:focus,
.wp-block-latest-posts li:hover a.wp-block-latest-posts__post-title,
.ast-related-posts-inner-section:hover .ast-related-post-content .entry-header .ast-related-post-title a {
	color: var(--hce-accent);
}

.cat-links.badge a.ast-button,
.tags-links.badge a.ast-button {
	border-radius: var(--hce-radius-lg);
	background-color: var(--hce-secondary);
	text-decoration: none;
}

.read-more a {
	text-decoration: none;
	color: var(--hce-secondary);
}

/* ============================================================
   HOMEPAGE
   ============================================================ */
/* Hero section */
.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block.hce-homepage-hero {
	padding-right: 0;
	padding-bottom: 0;
}

.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block.hce-homepage-hero .wp-block-columns .hce-homepage-hero__text-wrap {
	margin-right: 20px;
	margin-left: 20px;
	margin-bottom: -70px;
}

.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block.hce-homepage-hero .wp-block-columns {
	margin-right: 0;
	margin-left: 0;
}

.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block.hce-homepage-hero img {
	margin: 0;
}

.hce-homepage-hero__focus-text {
	font-size: 2.5rem;
	color: var(--hce-neutral);
	font-family: var(--hce-font-heading);
	line-height: 3.5rem;
}

.hce-homepage-hero__bio {
	color: var(--hce-neutral);
	font-size: 1.1rem;
}

.hce-homepage-hero__trusted {
	font-size: 0.9rem;
	width: 30%;
	line-height: 1.3rem;
	color: var(--hce-neutral);
	z-index: 5;
	position: relative;
}

/* As featured in */
.hce-featured-in {
	text-align: center;
}

.hce-featured-in h2 {
	font-size: 0.85rem;
	letter-spacing: 0.15em;
	color: var(--hce-text-muted);
}

.ast-page-builder-template .site-content>.ast-container .hce-featured-in {
	padding: 1.6rem 10%;
}

/* Trust section */
.hce-homepage__about img {
	margin-top: 0;
	border-radius: 52% 48% 75% 25% / 24% 70% 30% 76%;
}

/* Reviews grid */
.hce-cards-grid {
	gap: 0;
	border-radius: var(--hce-radius-lg);
	overflow: hidden;
}

.hce-cards-grid .hce-cards-grid__image {
	position: relative;
	cursor: pointer;
	overflow: hidden;
}

.wp-block-image.hce-cards-grid__image>a,
.wp-block-image.hce-cards-grid__image>figure>a {
	display: block;
}

.hce-cards-grid .hce-cards-grid__image img,
.hce-cards-grid .hce-cards-grid__text {
	margin: 0;
	border-radius: 0;
}

.hce-cards-grid .hce-cards-grid__image img {
	transition:
		transform 0.5s ease,
		filter 0.5s ease;
}

.hce-cards-grid .hce-cards-grid__image:hover img {
	transform: scale(1.08);
}

.entry-content .hce-cards-grid__text a {
	text-decoration: none;
	font-family: var(--hce-font-heading);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
}

.hce-cards-grid p.hce-cards-grid__text {
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.hce-cards-grid .hce-cards-grid__text::after {
	content: "Read all articles →";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hce-font-heading);
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--hce-accent);
	opacity: 0;
	background: inherit;
	pointer-events: none;
	transition: opacity .3s ease;
}

.hce-cards-grid .hce-cards-grid__text:hover a {
	color: transparent;
}

.hce-cards-grid .hce-cards-grid__text:hover::after {
	opacity: 1;
}

/* Homepage responsive queries */
@media screen and (max-width: 544px) {
	.entry-content .wp-block-group.hce-featured-in .is-layout-flex {
		gap: 0.5rem;
		margin-top: 0.2rem;
	}
}

@media screen and (min-width: 545px) {
	.hce-homepage-hero__focus-text {
		font-size: 3.5rem;
		line-height: 4.5rem;
	}

	.hce-homepage-hero__bio {
		font-size: 1.2rem;
	}

	.hce-cards-grid p.hce-cards-grid__text,
	.hce-cards-grid .hce-cards-grid__text::after {
		font-size: 1.6rem;
	}
}

@media screen and (min-width: 782px) {
	.hce-homepage-hero__focus-text {
		font-size: 2.5rem;
		line-height: 3.5rem;
	}

	.hce-homepage-hero__bio {
		font-size: 1.1rem;
	}

	.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block.hce-homepage-hero .wp-block-columns .hce-homepage-hero__text-wrap {
		margin-bottom: 0;
	}

	.hce-cards-grid {
		width: 70%;
	}

	.hce-cards-grid p.hce-cards-grid__text,
	.hce-cards-grid .hce-cards-grid__text::after {
		font-size: 2rem;
	}
}

@media screen and (min-width: 921px) {
	.ast-page-builder-template .site-content>.ast-container .hce-fullwidth-block.hce-homepage-hero {
		padding-top: 0;
	}
}

@media screen and (min-width: 1200px) {
	.hce-homepage-hero__focus-text {
		font-size: 3.5rem;
		line-height: 4.5rem;
	}

	.hce-homepage-hero__bio {
		font-size: 1.2rem;
	}
}

/* ============================================================
   WIDGETS
   ============================================================ */
.widget {
	margin-bottom: 2rem;
}

.widget-title {
	font-family: var(--hce-font-heading);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--hce-primary);
	margin-bottom: 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--hce-accent);
}

.widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget ul li {
	padding: 0.35em 0;
	border-bottom: 1px solid var(--hce-border);
	font-size: 0.9rem;
}

.widget ul li:last-child {
	border-bottom: none;
}

.widget ul li a {
	color: var(--hce-text-light);
}

.widget ul li a:hover {
	color: var(--hce-secondary);
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
}

.site-footer .site-above-footer-wrap,
.site-footer .site-primary-footer-wrap {
	background-color: var(--hce-white);
}

.site-footer .hce-p-as-h4,
.site-footer .widget ul li a,
.site-footer p {
	color: var(--hce-neutral);
	text-decoration: none;
}

.site-footer .hce-p-as-h4 {
	margin-bottom: 1rem;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"],
.site-below-footer-wrap[data-section="section-below-footer-builder"] {
	border-top: none !important;
}

/* Footer widgets, first + second row  */
.site-footer .site-above-footer-wrap .ast-builder-grid-row-container-inner,
.site-footer .site-primary-footer-wrap .ast-builder-grid-row-container-inner {
	background-color: var(--hce-primary);
	margin: 0 20px;
	padding: 0 10%;
}

/* Footer widgets, first row  */
.site-above-footer-wrap {
	padding-bottom: 0;
}

.site-footer .site-above-footer-wrap .ast-builder-footer-grid-columns .site-footer-above-section-2 {
	border-top: 2px solid var(--hce-accent);
	border-bottom: 2px solid var(--hce-accent);
	padding: 5% 15%;
}

.site-footer .site-above-footer-wrap .ast-builder-footer-grid-columns {
	grid-row-gap: 5%;
	padding: 10% 0;
	border-bottom: 2px solid var(--hce-accent);
}

.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row,
.site-above-footer-wrap[data-section="section-above-footer-builder"] .site-footer-section {
	align-items: center !important;
}

.site-footer .widget ul {
	text-align: center;
}

.site-footer .widget ul li {
	border: none;
	font-family: var(--hce-font-heading);
	font-size: 1em;
	letter-spacing: 0.06em;
	transition: color var(--hce-transition) !important;
}

.site-footer .widget ul li a:hover,
.site-footer a:hover {
	color: var(--hce-accent);
	text-decoration: none;
}

.site-footer .footer-widget-area .wp-block-button__link {
	font-family: var(--hce-font-body);
	font-weight: bold;
	border-color: var(--hce-accent);
	background-color: var(--hce-accent);
	color: var(--hce-text);
	letter-spacing: 0.06em;
	border-radius: var(--hce-radius-sm);
	border: 2px solid transparent;
	text-transform: uppercase;
	transition: all var(--hce-transition);
	display: block;
}

.site-footer .footer-widget-area .wp-block-button__link:hover {
	background-color: var(--hce-cta);
	border-color: var(--hce-cta);
}

.site-footer .footer-widget-area .wp-block-button__link:focus {
	text-decoration: none;
}

/* Affiliate disclosure bar */
.site-footer .site-primary-footer-wrap {
	padding: 0;
}

.site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns {
	padding: 5% 0;
}

/* Copyright bar */
.site-footer .site-below-footer-wrap {
	background-color: var(--hce-white);
}

.site-footer .site-below-footer-wrap .ast-footer-copyright p,
.site-footer .site-below-footer-wrap .ast-footer-copyright a {
	color: var(--hce-text-light);
}

.site-footer .site-below-footer-wrap .ast-footer-copyright a:hover {
	color: var(--hce-accent);
}

/* Responsive footer adjustments */
@media screen and (max-width: 544px) {
	.site-above-footer-wrap[data-section="section-above-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
		margin-bottom: 0;
	}

	.site-footer .site-above-footer-wrap .menu-footer-policies-links-container ul:last-child {
		margin-bottom: 15%;
	}
}

@media screen and (min-width: 545px) {
	.site-footer .site-above-footer-wrap .ast-builder-footer-grid-columns .site-footer-above-section-1 {
		padding-right: 15%;
	}

	.site-footer .site-above-footer-wrap .ast-builder-footer-grid-columns .site-footer-above-section-3 {
		padding-left: 15%;
	}

	.site-footer .site-above-footer-wrap .ast-builder-grid-row-container-inner,
	.site-footer .site-primary-footer-wrap .ast-builder-grid-row-container-inner {
		padding: 0 5%;
	}

	.site-footer .site-above-footer-wrap .ast-builder-footer-grid-columns {
		grid-row-gap: 0;
		grid-column-gap: 0;
		padding: 5% 0;
	}

	.site-footer .site-above-footer-wrap .ast-builder-footer-grid-columns .site-footer-above-section-2 {
		border-top: none;
		border-bottom: none;
		border-right: 2px solid var(--hce-accent);
		border-left: 2px solid var(--hce-accent);
		padding: 0 15%;
	}

}

/* ============================================================
   ASTRA — PAGINATION
   ============================================================ */
.ast-pagination {
	display: flex;
	justify-content: center;
}

.ast-pagination .page-numbers.current {
	background-color: var(--hce-cta);
	border-color: var(--hce-cta);
	color: var(--hce-text);
	font-weight: bold;
	border-radius: 30px;
}

.ast-pagination a.page-numbers {
	color: var(--hce-text);
	text-decoration: none;
}

.ast-pagination a.page-numbers:hover {
	color: var(--hce-cta);
	text-decoration: none;
}

/* ============================================================
   ASTRA — ARCHIVE / CATEGORY PAGES / SEARCH RESULTS
   ============================================================ */
.ast-archive-description {
	background-color: var(--hce-primary);
	border-radius: var(--hce-radius-md);
	border-bottom: none;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
	color: var(--hce-neutral);
	position: relative;
	overflow: visible;
}

.ast-archive-description p {
	display: flex;
	color: var(--hce-neutral);
	position: relative;
}

.ast-archive-description img.archive-inline-img {
	margin: 0;
	display: inline;
	max-width: 3rem;
	max-height: 3rem;
}

body.archive .ast-archive-description figure.archive-title-img {
	margin: 0;
	position: absolute;
	top: -2.5rem;
	left: -1.1rem;

	width: 90px;
	height: 90px;

	z-index: 2;
}

.ast-archive-description figure.archive-title-img img {
	display: block;
	width: 90%;
	height: 90%;
	padding: 0.5rem;
	object-fit: cover;

	border: 1px solid var(--hce-accent);

	background: var(--hce-primary);

	border-radius:
		46% 54% 69% 31% / 61% 55% 45% 39%;
}

.page-title {
	color: var(--hce-primary);
}

.page-title.ast-archive-title {
	color: var(--hce-neutral);
}

/* Search results page */
.search .ast-container section.ast-archive-description {
	border-left: none;
}

.search .ast-container section.ast-archive-description .ast-archive-title {
	align-items: center;
}

.search .ast-container section.ast-archive-description .ast-archive-title span::before,
.search .ast-container section.ast-archive-description .ast-archive-title span::after {
	content: '"';
}

.search .ast-container section.ast-archive-description h1::before,
.search .ast-container section.ast-archive-description h1::after {
	content: "";
	flex: 1;
	border-bottom: 2px solid var(--hce-primary);
}

.search .ast-container section.ast-archive-description h1::before {
	margin-right: 1rem;
}

.search .ast-container section.ast-archive-description h1::after {
	margin-left: 1rem;
}

.search .ast-container section.ast-archive-description .ast-breadcrumbs-wrapper {
	display: none;
}

@media screen and (min-width:600px) {
	.search .ast-container section.ast-archive-description .ast-archive-title {
		display: flex;
	}
}

/* ============================================================
   POLICY PAGES
   ============================================================ */
@media screen and (max-width: 1200px) {

	.post-118,
	.post-128,
	.post-134,
	.post-3 {
		padding: 4em 0;
	}
}

.page-id-118 #stcm-wrapper #stcm-icon.stcm-pos-bottom-left {
	display: flex !important;
}


/* ============================================================
   BLOCK OVERRIDES
   ============================================================ */
/* Pullquote */
.entry-content .wp-block-pullquote {
	padding: 0;
}

.wp-block-pullquote blockquote {
	border-color: var(--hce-secondary);
	background-color: var(--hce-primary-muted);
	border-radius: 0 var(--hce-radius-md) var(--hce-radius-md) 0;
}

.entry-content .wp-block-pullquote blockquote::before {
	font-size: 4rem;
	margin-top: -2rem;
}

.entry-content .wp-block-pullquote blockquote p {
	font-size: 1.2rem;
}

/* Block quote */
.entry-content .wp-block-quote:not(.has-text-align-right):not(.has-text-align-center) {
	border-left: 4px solid var(--hce-accent);
	background-color: var(--hce-neutral);
	border-radius: 0 var(--hce-radius-md) var(--hce-radius-md) 0;
	color: var(--hce-text-light);
	font-size: inherit;
}

.wp-block-quote cite,
.wp-block-quote footer {
	color: var(--hce-text-muted);
	font-size: 0.875rem;
}

/* Separator */
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	border-color: var(--hce-secondary);
}

/* Tables */
.entry-content[data-ast-blocks-layout]>figure.wp-block-table {
	margin-bottom: 1.6rem;
}

.wp-block-table,
.product-table {
	overflow-y: auto;
	max-height: 90vh;
	line-height: 1.3rem;
}

.wp-block-table table {
	margin-bottom: 0;
}

.wp-block-table::after,
.product-table::after,
.info-table::after {
	content: "";
	position: sticky;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 12px;
	pointer-events: none;
	background: linear-gradient(to bottom,
			rgba(255, 255, 255, 0),
			rgba(15, 61, 46, 0.08));
}

.wp-block-table thead th,
.product-table thead th {
	position: sticky;
	top: -1px;
	background-color: var(--hce-primary-muted);
	z-index: 1;
	border: 1px solid #C8D7D0;
}

.wp-block-table thead,
.product-table thead {
	border-bottom: 2px solid var(--hce-secondary);
}

.wp-block-table td,
.product-table td {
	border: 1px solid #C8D7D0;
	padding: 0.7em 1em;
}

.wp-block-table.info-table td,
.wp-block-table.info-table th {
	padding: 1rem;
}

.product-banner {
	border: 2px solid var(--hce-accent);
	background-color: var(--hce-accent-muted);
	margin-bottom: 0.5rem;
	padding: 0.4rem 0.8rem;
	border-radius: var(--hce-radius-lg);
	text-transform: uppercase;
	font-size: 0.9rem;
	font-weight: bold;
	display: flex;
	line-height: 1.3;
}

.wp-block-table img {
	align-content: center;
	margin: auto;
}

.wp-block-table li,
.product-table li {
	font-size: 0.9rem;
}

.wp-block-table table a.a-as-btn {
	display: flex;
	padding-top: 14px;
	padding-right: 28px;
	padding-bottom: 14px;
	padding-left: 28px;
	text-align: center;
	text-decoration: none;
	line-height: 1em;
}

/* ============================================================
   REUSABLE PATTERNS
   ============================================================ */
/* Callout boxes */
.callout-box__cta.wp-block-group {
	background-color: #F8DCDD;
	padding: 2rem;
	border: 1px solid var(--hce-cta);
	border-radius: var(--hce-radius-lg);
	background-image: url(/wp-content/uploads/2026/06/HCE-Backgrounds.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.wp-block-columns.callout-box,
.wp-block-columns.individual-reviews,
.wp-block-columns.roundup-pros {
	margin-bottom: 1.6rem;
}

.wp-block-columns.callout-box,
.wp-block-group.callout-box,
.wp-block-paragraph.callout-box,
.callout-box {
	border: 2px solid var(--hce-accent);
	background-color: var(--hce-accent-muted);
	border-radius: var(--hce-radius-md);
	padding: 2rem 1rem !important;
	background-image: url(/wp-content/uploads/2026/06/hce-neutral-beans-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.individual-reviews,
.entry-content>.wp-block-group.individual-reviews,
.entry-content>.wp-block-columns.individual-reviews,
.roundup-pros,
.entry-content>.wp-block-group.roundup-pros,
.entry-content>.wp-block-columns.roundup-pros {
	border: 2px solid var(--hce-primary);
	background-color: var(--hce-primary-muted);
	border-radius: var(--hce-radius-md);
	padding: 2rem 1rem !important;
	background-image: url(/wp-content/uploads/2026/06/hce-neutral-beans-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.entry-content .callout-box h2 {
	margin-top: 0;
}

.entry-content .callout-box .wp-block-image,
.entry-content .callout-box .wp-block-image img {
	margin-bottom: 0;
}

/* Callout Box - Info */
.wp-block-group.callout__w-icon {
	position: relative;

	background: var(--hce-primary-muted);
	border: 1px solid var(--hce-secondary);
	border-radius: var(--hce-radius-lg);

	padding: 1.5rem;

	overflow: visible;

	margin-top: 2.6rem;
}

.callout__w-icon figure {
	margin: 0;
}

.callout__w-icon .wp-block-image {
	position: absolute;
	top: -4rem;
	left: -1.1rem;

	width: 90px;
	height: 90px;

	z-index: 2;
}

.callout__w-icon .wp-block-image img {
	display: block;
	width: 90%;
	height: 90%;
	padding: 0.5rem;
	object-fit: cover;

	background: var(--hce-primary);
	border: 1px solid var(--hce-secondary);

	border-radius:
		46% 54% 69% 31% / 61% 55% 45% 39%;
}

.callout__w-icon p {
	margin-bottom: 0;
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
}

/* Individual reviews & Roundups */
.individual-reviews .individual-reviews__img,
.roundup-pros .roundup-image {
	margin-bottom: 0;
}

.individual-reviews .pros-cons.wp-block-columns,
.roundup-pros .pros-cons.wp-block-columns {
	gap: 0;
}

.individual-reviews .individual-reviews__icons,
.roundup-pros .roundup-icons {
	margin-bottom: 0;
}

.individual-reviews .individual-reviews__icons img,
.roundup-pros .roundup-icons img {
	max-width: 50%;
	margin-bottom: 0;
}

.individual-reviews p.review-bold,
.roundup-pros p.review-bold {
	font-weight: bold;
	font-size: 1.2rem;
	margin: 0.4em 0 0.4em;
}

.individual-reviews .pros-cons ul,
.roundup-pros .pros-cons ul {
	margin-top: 0;
}

/* Star ratings */
.wp-block-group.star-rating {
	gap: 0;
	color: var(--hce-accent);
	justify-content: center;
}

.wp-block-group.star-rating .wp-block-icon svg {
	width: 2rem;
}

/* Best overall (Single product) */
.wp-block-columns.hce-best-box {
	border: 2px solid var(--hce-accent);
	border-radius: 0 var(--hce-radius-lg) var(--hce-radius-lg);
	padding: 1.5rem;
	background-color: var(--hce-accent-muted);
	position: relative;
}

.hce-best-box .hce-best-banner {
	background-color: var(--hce-accent);
	padding: 0.5rem 1rem;
	border-radius: 0 30px 30px 0;
	font-family: var(--hce-font-heading);
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.07rem;
	position: absolute;
	top: 0px;
	left: 0px;
}

.hce-best-box .hce-best-banner:before {
	content: '★ ';
}

.hce-best-box .wp-block-button {
	margin-bottom: 1.5rem;
}

.hce-best-box img {
	margin: auto;
}

.hce-best-box .hce-p-as-h3 {
	margin-bottom: -1rem;
}

/* Three best products */
.entry-content .wp-block-columns.hce-three-best {
	margin-bottom: 1.6rem;
}

.hce-three-best .hce-three-best__first,
.hce-three-best .hce-three-best__second,
.hce-three-best .hce-three-best__third {
	background-image: url(/wp-content/uploads/2026/06/primary-30-beans-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.hce-three-best .hce-three-best__first {
	background-color: var(--hce-primary);
	color: var(--hce-neutral);
}

.hce-three-best .hce-three-best__second,
.hce-three-best .hce-three-best__third {
	background-color: var(--hce-primary-muted);
}

.hce-three-best .wp-block-column {
	position: relative;
	border: 2px solid var(--hce-primary);
	border-radius: var(--hce-radius-lg);
	padding: calc(75px + 1.6rem) 2rem 2rem;
	margin-top: 4.5rem;
	overflow: visible;
}

.hce-three-best .wp-block-column figure {
	position: absolute;
	top: -4rem;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	z-index: 2;
	width: 180px;
}

.hce-three-best .wp-block-column figure img {
	display: block;
	border-radius: 62% 38% 51% 49% / 57% 39% 61% 43%;
	border: 2px solid var(--hce-primary);
}

.hce-three-best .wp-block-column .hce-three-best__award {
	font-family: var(--hce-font-heading);
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: 0.03em;

	background-image: url("/wp-content/uploads/2026/05/underline-accent.png");
	background-repeat: no-repeat;
	background-size: 100% 1rem;
	background-position: center bottom;
	padding-bottom: 0.7rem;
	width: fit-content;
}

/* Mobile - All reusable blocks */
@media screen and (max-width: 544px) {
	.hce-best-box.wp-block-columns:not(.is-not-stacked-on-mobile) {
		gap: 0;
	}
}

@media screen and (min-width:545px) and (max-width: 781px) {

	.hce-three-best .wp-block-column {
		margin-top: 7rem;
		padding: calc(95px + 1.6rem) 2rem 2rem;
	}

	.hce-three-best .wp-block-column figure {
		top: -6rem;
		width: 250px;
	}

	.hce-three-best .wp-block-column>p,
	.hce-three-best .wp-block-button,
	.hce-three-best .btn-primary {
		margin-left: 10%;
		margin-right: 10%;
	}

}

@media screen and (min-width: 545px) {
	.wp-block-group.callout__w-icon {
		padding: 2rem 2rem 2rem 4.5rem;
	}

	.callout__w-icon figure {
		top: -3rem;
		left: -2rem;
	}

	.callout__w-icon p {
		margin: 0;
	}

	.individual-reviews .individual-reviews__img,
	.roundup-pros .roundup-image img {
		max-width: 90%;
	}

	.individual-reviews .pros-cons.wp-block-columns,
	.roundup-pros .pros-cons.wp-block-columns {
		gap: 24px;
	}

	.individual-reviews,
	.entry-content>.wp-block-group.individual-reviews,
	.roundup-pros,
	.entry-content>.wp-block-group.roundup-pros {
		padding: 2rem;
	}
}

@media screen and (max-width: 781px) {
	.wp-block-columns.hce-three-best {
		gap: 0;
	}
}

@media screen and (min-width: 921px) {
	.wp-block-group.callout__w-icon {
		padding: 2rem 2rem 2rem 4rem;
	}

	.individual-reviews .individual-reviews__img,
	.roundup-pros .roundup-image img {
		max-width: 70%;
	}
}

/* ============================================================
   YOAST BLOCKS
   ============================================================ */
body .wp-block-yoast-faq-block .schema-faq-section {
	border: 1px solid var(--hce-accent);
	margin-bottom: 1.6rem;
	border-radius: var(--hce-radius-md);
}

body .schema-faq-question {
	position: relative;
	display: block;
	cursor: pointer;
	padding: 1.5rem 4rem 1.5rem 1.5rem;
	font-weight: bold;
}

body .schema-faq-question:hover {
	background-color: var(--hce-accent-muted);
	border-radius: var(--hce-radius-md);
}

body .schema-faq-question:after {
	position: absolute;
	content: "+";
	border: 1px solid var(--hce-cta);
	border-radius: 62% 38% 51% 49% / 57% 39% 61% 43%;
	background-color: var(--hce-cta);
	color: var(--hce-white);
	width: 1rem;
	height: 1rem;
	font-size: 1.5rem;
	padding: 0.8rem;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
}

body .schema-faq-section.active .schema-faq-question:after {
	content: "-";
	font-size: 30px;
}

body .schema-faq-section.active .schema-faq-question {
	background-color: var(--hce-accent-muted);
	border-radius: 0;
	border-top-right-radius: var(--hce-radius-md);
	border-top-left-radius: var(--hce-radius-md);
}

body .schema-faq-answer {
	display: none;
	padding: 1rem 1.5rem 0;
}

/* ============================================================
   COOKIE CONSENT
   ============================================================ */
#stcm-wrapper #stcm-icon.stcm-pos-bottom-left {
	display: none !important;
}

/* ============================================================
   BACKWARD COMPATABILITY
   ============================================================ */
/* Buttons */
.btn-primary,
.callout-box .btn-secondary {
	font-family: var(--hce-font-body);
	font-weight: bold;
	border-color: var(--hce-cta);
	background-color: var(--hce-cta);
	background: var(--hce-cta);
	color: var(--hce-text);
	letter-spacing: 0.06em;
	border-radius: var(--hce-radius-sm);
	border: 2px solid transparent;
	text-transform: uppercase;
	transition: all var(--hce-transition);
}

.btn-primary:hover,
.btn-primary:active,
.callout-box .btn-secondary:hover,
.callout-box .btn-secondary:active {
	color: var(--hce-text);
	background-color: var(--hce-accent);
	border-color: var(--hce-accent);
	background: var(--hce-accent);
}

/* H2 banners */
.h2-banner.row:not(.wp-block-group) {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: center;
	padding: 1.6rem 1.3rem;
	border-radius: var(--hce-radius-md);
}

.entry-content .h2-banner img.h2-img,
.row.h2-banner p:last-child {
	margin-bottom: 0;
}

.entry-content .h2-banner.row h2 {
	margin: 0;
	color: var(--hce-neutral);
}

/* Individual reviews & Roundups */
.individual-reviews .img-col img,
.roundup-pros .roundup-image img {
	margin-left: auto;
	margin-right: auto;
}

.individual-reviews .pros-cons.row,
.roundup-pros .pros-cons.row {
	gap: 0;
}

.individual-reviews .pros-cons.d-flex,
.roundup-pros .pros-cons.d-flex {
	display: flex;
}

.individual-reviews .pros-cons .col.rating p:last-child,
.roundup-pros .pros-cons .col.rating p:last-child {
	margin-top: 1.4em;
}

.individual-reviews .pros-cons .col.rating .ratings-list,
.roundup-pros .pros-cons .col.rating .ratings-list {
	list-style: none;
	padding-left: 0;
}

.individual-reviews .btn-primary,
.roundup-pros .btn-primary {
	margin-bottom: 24px;
}

.row.pros-cons .pros {
	background-image: url("/wp-content/uploads/2026/05/1.png");
}

.row.pros-cons .cons {
	background-image: url("/wp-content/uploads/2026/05/3.png");
}

.row.pros-cons .rating {
	background-image: url("/wp-content/uploads/2026/06/hce-stars-icon.png");
}

.row.pros-cons .col {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 50px;
	padding-top: 50px;
	flex: 1 0 0% !important;
}

/* Tables */
.product-table {
	overflow-x: auto;
}

.product-table table {
	border-collapse: collapse;
	width: 100%;
}

@media screen and (min-width: 545px) {
	.row.h2-banner.flex-md-row {
		flex-direction: row;
	}

	.row.h2-banner .col-md-2 {
		flex: 0 0 auto;
	}

	.row.h2-banner .col.flex-column {
		flex: 1 0 0%;
	}
}

@media screen and (max-width: 920px) {

	.individual-reviews .pros-cons.flex-column,
	.roundup-pros .pros-cons.flex-column {
		flex-direction: column;
	}
}

@media screen and (min-width: 921px) {

	.individual-reviews .flex-lg-row,
	.roundup-pros .flex-lg-row {
		flex-direction: row !important;
	}

	.individual-reviews .pros-cons.row,
	.roundup-pros .pros-cons.row {
		gap: 24px;
	}
}