
/*
Theme Name: Hook Child - Healthcare Components Group
Theme URI: https://healthcarecomponents.com
Description: Custom child theme for Healthcare Components Group, built to replace Elementor dependency
Author: Caleb Griffin
Author URI: https://healthcarecomponents.com
Template: hook
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: hook-child
*/

/* ==========================================================================
   CSS Custom Properties (Brand Colors)
   ========================================================================== */
:root {
	/* Primary Colors */
	--hcg-primary: #00a0db;
	--hcg-primary-dark: #0088ba;
	--hcg-accent: #b1df23;
	--hcg-accent-hover: #9bc71f;
	/* Text Colors */
	--hcg-text-dark: #24282f;
	--hcg-text-light: #666;
	--hcg-text-white: #fff;
	/* Background Colors */
	--hcg-bg-dark: #0058a8;
	--hcg-bg-light: #f2f2f2;
	--hcg-bg-white: #fff;
	/* Gradients */
	--hcg-gradient-blue: linear-gradient(135deg, #0058a8 0%, #00a0db 100%);
	/* Spacing */
	--hcg-section-padding: 80px;
	--hcg-container-width: 1200px;
	/* Typography */
	--hcg-font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--hcg-heading-weight: 700;
}

/* ==========================================================================
   Global Mobile Safety
   ========================================================================== */
html {
	overflow-x: hidden;
}

/* Hide Hook's page title on Elementor-built pages — AJ handles top spacing via Elementor section padding */
.elementor-page #classic_title_wrapper .prk_inner_block {
	display: none;
}

/* ==========================================================================
   Site Header
   ========================================================================== */

/* Adjust header position when WP admin bar is present */
.admin-bar .hcg-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .hcg-header {
		top: 46px;
	}
}

.hcg-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: var(--hcg-bg-white);
	z-index: 9999;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
}

.hcg-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1400px;
	margin: 0 auto;
	padding: 15px 30px;
}

.hcg-header__logo {
	display: flex;
	align-items: center;
}

.hcg-header__logo img {
	height: 55px;
	width: auto;
}

.hcg-header__nav {
	display: flex;
	align-items: center;
	gap: 10px;
}

.hcg-header__menu {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 5px;
}

.hcg-header__menu li {
	margin: 0;
}

.hcg-header__menu li a {
	display: block;
	padding: 10px 18px;
	color: var(--hcg-primary);
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	transition: color .3s ease;
}

.hcg-header__menu li a:hover, .hcg-header__menu li.current-menu-item a, .hcg-header__menu li.current_page_item a {
	color: var(--hcg-accent);
}

.hcg-header__menu li.current-menu-item a, .hcg-header__menu li.current_page_item a {
	border-bottom: 3px solid var(--hcg-accent);
}

.hcg-header__account {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 10px 15px;
	color: var(--hcg-primary);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: color .3s ease;
}

.hcg-header__account:hover {
	color: var(--hcg-accent);
}

.hcg-header__account svg {
	flex-shrink: 0;
}

.hcg-header__cart {
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 10px 15px;
	color: var(--hcg-primary);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
}

.hcg-header__cart:hover {
	color: var(--hcg-accent);
}

.hcg-header__cart svg {
	flex-shrink: 0;
}

/* Mobile Menu Toggle */
.hcg-header__mobile-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 30px;
	height: 30px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

.hcg-header__mobile-toggle span {
	display: block;
	width: 100%;
	height: 3px;
	background: var(--hcg-primary);
	border-radius: 2px;
	transition: all .3s ease;
}

/* ==========================================================================
   Site Footer
   ========================================================================== */
.hcg-site-footer {
	background-color: var(--hcg-bg-dark);
	padding: 30px 0;
	color: var(--hcg-text-white);
}

.hcg-site-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.hcg-site-footer__logo img {
	height: 60px;
	width: auto;
}

.hcg-site-footer__links {
	text-align: center;
}

.hcg-site-footer__nav {
	margin-bottom: 8px;
}

.hcg-site-footer__nav a {
	color: var(--hcg-text-white);
	text-decoration: underline;
	font-size: 14px;
}

.hcg-site-footer__nav a:hover {
	color: var(--hcg-accent);
}

.hcg-site-footer__sep {
	margin: 0 10px;
	opacity: .7;
}

.hcg-site-footer__copyright {
	font-size: 13px;
	margin: 0;
	opacity: .8;
}

.hcg-site-footer__social {
	display: flex;
	gap: 10px;
}

.hcg-site-footer__social a {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--hcg-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hcg-text-white);
	text-decoration: none;
	transition: background-color .3s ease;
}

.hcg-site-footer__social a:hover {
	background-color: var(--hcg-accent);
	color: var(--hcg-text-dark);
}

.hcg-site-footer__social svg {
	width: 20px;
	height: 20px;
	fill: var(--hcg-text-white);
}

.hcg-site-footer__social a:hover svg {
	fill: var(--hcg-text-dark);
}

/* Header items must never wrap onto a second line */
.hcg-header__inner, .hcg-header__nav, .hcg-header__menu {
	flex-wrap: nowrap;
}

.hcg-header__menu li a, .hcg-header__account, .hcg-header__account span, .hcg-header__cart, .hcg-header__cart-count {
	white-space: nowrap;
}

/* Tighten nav spacing between the hamburger breakpoint (1200px) and the width
   where the 1400px header container stops growing, so the full menu, account
   and cart always fit on a single line. */
@media (min-width: 1200px) and (max-width: 1439px) {
	.hcg-header__nav {
		gap: 6px;
	}
	
	.hcg-header__menu {
		gap: 0;
	}
	
	.hcg-header__menu li a {
		padding: 10px 9px;
		font-size: 14px;
	}
	
	.hcg-header__account, .hcg-header__cart {
		padding: 10px 8px;
		font-size: 13px;
	}
}

/* ==========================================================================
   Header/Footer Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.hcg-header__mobile-toggle {
		display: flex;
	}
	
	.hcg-header__nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--hcg-bg-white);
		flex-direction: column;
		padding: 20px;
		box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
		display: none;
	}
	
	.hcg-header__nav.is-open {
		display: flex;
	}
	
	.hcg-header__menu {
		flex-direction: column;
		width: 100%;
	}
	
	.hcg-header__menu li {
		width: 100%;
	}
	
	.hcg-header__menu li a {
		padding: 15px;
		border-bottom: 1px solid #eee;
	}
	
	.hcg-header__account, .hcg-header__cart {
		margin-top: 15px;
		justify-content: center;
	}
}

@media (max-width: 768px) {
	.hcg-site-footer__inner {
		flex-direction: column;
		text-align: center;
	}
	
	.hcg-site-footer__social {
		justify-content: center;
	}
}

/* ==========================================================================
   Search Overlay
   ========================================================================== */
.hcg-search-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 88, 168, .95);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
}

.hcg-search-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.hcg-search-overlay__close {
	position: absolute;
	top: 30px;
	right: 30px;
	background: none;
	border: none;
	color: var(--hcg-text-white);
	font-size: 40px;
	cursor: pointer;
	line-height: 1;
	padding: 5px;
	transition: color .3s ease;
}

.hcg-search-overlay__close:hover {
	color: var(--hcg-accent);
}

.hcg-search-overlay__inner {
	width: 100%;
	max-width: 700px;
	padding: 0 30px;
	transform: translateY(20px);
	transition: transform .3s ease;
}

.hcg-search-overlay.is-open .hcg-search-overlay__inner {
	transform: translateY(0);
}

.hcg-search-overlay__form {
	display: flex;
	align-items: center;
	border-bottom: 3px solid var(--hcg-text-white);
	padding-bottom: 10px;
}

.hcg-search-overlay__input {
	flex: 1;
	background: transparent;
	border: none;
	color: var(--hcg-text-white);
	font-size: 28px;
	font-weight: 300;
	padding: 10px 0;
	outline: none;
}

.hcg-search-overlay__input::placeholder {
	color: rgba(255, 255, 255, .5);
}

.hcg-search-overlay__submit {
	background: none;
	border: none;
	color: var(--hcg-text-white);
	cursor: pointer;
	padding: 10px;
	transition: color .3s ease;
}

.hcg-search-overlay__submit:hover {
	color: var(--hcg-accent);
}

.hcg-search-overlay__hint {
	color: rgba(255, 255, 255, .5);
	font-size: 14px;
	margin-top: 15px;
	text-align: center;
}

@media (max-width: 768px) {
	.hcg-search-overlay__input {
		font-size: 20px;
	}
	
	.hcg-search-overlay__close {
		top: 15px;
		right: 15px;
		font-size: 32px;
	}
}

/* ==========================================================================
   Global Resets & Base Styles
   ========================================================================== */
.hcg-container {
	max-width: var(--hcg-container-width);
	margin: 0 auto;
	padding: 0 20px;
}

/* ==========================================================================
   Page Header Banner (Simple rectangular banner)
   ========================================================================== */
.hcg-page-header {
	position: relative;
	height: 280px;
	margin-top: 85px;
	display: flex;
	align-items: center;
	background-image: url("https://healthcarecomponents.com/nitropack_static/smTpBJbRvaMZUsavXGdRYUmqihBtVOuG/assets/images/optimized/rev-8984a88/www.healthcarecomponents.com/wp-content/uploads/2023/11/national-cancer-institute-KrsoedfRAf4-unsplash.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.hcg-page-header.nitro-lazy {
	background-image: none !important;
}

/* Blue overlay */
.hcg-page-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(0, 88, 168, .75) 0%, rgba(0, 160, 219, .65) 100%);
	z-index: 1;
}

.hcg-page-header .hcg-container {
	width: 100%;
}

.hcg-page-header__title {
	position: relative;
	z-index: 2;
	color: #fff;
	font-size: 36px;
	font-weight: 700;
	margin: 0;
	padding-left: 100px;
}

/* Page-specific hero backgrounds */
.hcg-page-header--about {
	background-image: url("https://healthcarecomponents.com/nitropack_static/smTpBJbRvaMZUsavXGdRYUmqihBtVOuG/assets/images/optimized/rev-8984a88/www.healthcarecomponents.com/wp-content/uploads/2023/12/shutterstock_2066542571.jpg");
	background-position: center top;
}

.hcg-page-header--about.nitro-lazy {
	background-image: none !important;
}

.hcg-page-header--team {
	background-image: url("https://healthcarecomponents.com/nitropack_static/smTpBJbRvaMZUsavXGdRYUmqihBtVOuG/assets/images/optimized/rev-8984a88/www.healthcarecomponents.com/wp-content/uploads/2023/12/shutterstock_568729666.jpg");
}

.hcg-page-header--team.nitro-lazy {
	background-image: none !important;
}

.hcg-page-header--contact {
	background-image: url("https://healthcarecomponents.com/nitropack_static/smTpBJbRvaMZUsavXGdRYUmqihBtVOuG/assets/images/optimized/rev-8984a88/www.healthcarecomponents.com/wp-content/uploads/2023/12/shutterstock_568729666.jpg");
}

.hcg-page-header--contact.nitro-lazy {
	background-image: none !important;
}

/* ==========================================================================
   Section Headings
   ========================================================================== */
.hcg-section-heading {
	color: var(--hcg-primary);
	font-size: 32px;
	font-weight: var(--hcg-heading-weight);
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.hcg-section-heading--accent {
	color: #b1df23;
	text-transform: none;
	font-size: 28px;
}

.hcg-section-heading--white {
	color: var(--hcg-text-white);
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.hcg-button {
	display: inline-block;
	padding: 12px 28px;
	background-color: #00a0db !important;
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 14px;
	border-radius: 4px;
	transition: all .3s ease;
	border: none;
	cursor: pointer;
	line-height: 1.4;
}

.hcg-button:hover {
	background-color: #b1df23 !important;
	color: #24282f !important;
	text-decoration: none !important;
}

.hcg-button:visited {
	color: #fff !important;
}

.hcg-button:visited:hover {
	color: #24282f !important;
}

.hcg-button--outline {
	background-color: transparent;
	border: 2px solid var(--hcg-primary);
	color: var(--hcg-primary);
}

.hcg-button--outline:hover {
	background-color: var(--hcg-primary);
	color: var(--hcg-text-white);
}

/* ==========================================================================
   Content Sections
   ========================================================================== */
.hcg-section {
	padding: var(--hcg-section-padding) 0;
}

@media (max-width: 768px) {
	.hcg-section {
		padding: 40px 0;
	}
}

.hcg-section--gray {
	background-color: var(--hcg-bg-light);
}

.hcg-section--dark {
	background-color: var(--hcg-bg-dark);
	color: var(--hcg-text-white);
}

.hcg-section--primary {
	background: linear-gradient(to right, #0058a8 0%, #00a0db 100%);
	color: var(--hcg-text-white);
}

/* ==========================================================================
   Two Column Layout
   ========================================================================== */
.hcg-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.hcg-two-col--reverse {
	direction: rtl;
}

.hcg-two-col--reverse > * {
	direction: ltr;
}

.hcg-two-col__image img {
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.hcg-two-col__content p {
	color: var(--hcg-text-light);
	line-height: 1.7;
	margin-bottom: 20px;
}

/* ==========================================================================
   Stats Bar
   ========================================================================== */
.hcg-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	text-align: center;
	padding: 0;
}

.hcg-stat {
	padding: 40px 20px;
	border: 2px solid rgba(255, 255, 255, .3);
	border-radius: 8px;
}

.hcg-stat__number {
	font-size: 48px;
	font-weight: var(--hcg-heading-weight);
	color: var(--hcg-text-white);
	display: block;
	line-height: 1.2;
}

.hcg-stat__label {
	font-size: 18px;
	color: var(--hcg-text-white);
	display: block;
	margin-top: 10px;
}

/* ==========================================================================
   Brand Cards Grid
   ========================================================================== */
.hcg-brands-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 40px;
}

.hcg-brand-card {
	text-align: center;
}

.hcg-brand-card__logo {
	background: var(--hcg-gradient-blue);
	border-radius: 12px;
	padding: 40px 20px;
	margin-bottom: 20px;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hcg-brand-card__logo img {
	max-width: 80%;
	max-height: 80%;
	object-fit: contain;
}

.hcg-brand-card__name {
	color: var(--hcg-primary);
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 15px;
	line-height: 1.4;
}

.hcg-brand-card__description {
	color: var(--hcg-text-light);
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 20px;
}

/* ==========================================================================
   Team Grid
   ========================================================================== */
.hcg-team-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 30px;
	margin-top: 40px;
}

.hcg-team-member {
	text-align: center;
	padding: 30px 20px;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: var(--hcg-bg-white);
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	transition: box-shadow .3s ease, transform .3s ease;
}

.hcg-team-member:hover {
	box-shadow: 0 8px 25px rgba(0, 0, 0, .1);
	transform: translateY(-3px);
}

.hcg-team-member__photo {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 4px solid var(--hcg-bg-dark);
	margin: 0 auto 20px;
	overflow: hidden;
	box-shadow: 0 0 0 4px var(--hcg-primary);
}

.hcg-team-member__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
}

.hcg-team-member__name {
	color: var(--hcg-text-dark);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 5px;
}

.hcg-team-member__title {
	color: var(--hcg-text-light);
	font-size: 14px;
}

/* Scroll-up entrance animation */
.hcg-team-member.hcg-animate-in {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .6s ease, transform .6s ease;
}

.hcg-team-member.hcg-animate-in:nth-child(3n+2) {
	transition-delay: .1s;
}

.hcg-team-member.hcg-animate-in:nth-child(3n+3) {
	transition-delay: .2s;
}

.hcg-team-member.hcg-animate-in.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   Team Bio Modal
   ========================================================================== */
.hcg-team-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
}

.hcg-team-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.hcg-team-modal__backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .5);
	backdrop-filter: blur(4px);
}

.hcg-team-modal__dialog {
	position: relative;
	background: var(--hcg-bg-white);
	border-radius: 4px;
	max-width: 850px;
	width: 90%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	transform: translateY(20px) scale(.95);
	transition: transform .3s ease;
}

.hcg-team-modal.is-open .hcg-team-modal__dialog {
	transform: translateY(0) scale(1);
}

.hcg-team-modal__close {
	position: absolute;
	top: 15px;
	right: 20px;
	background: none;
	border: none;
	font-size: 28px;
	color: var(--hcg-text-light);
	cursor: pointer;
	line-height: 1;
	padding: 5px;
	z-index: 1;
	transition: color .3s ease;
}

.hcg-team-modal__close:hover {
	color: var(--hcg-text-dark);
}

.hcg-team-modal__body {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 0;
}

.hcg-team-modal__photo {
	padding: 40px 30px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.hcg-team-modal__photo img {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(100%);
	border: 5px solid var(--hcg-bg-dark);
	box-shadow: 0 0 0 5px var(--hcg-primary);
}

.hcg-team-modal__content {
	padding: 40px 40px 40px 10px;
}

.hcg-team-modal__name {
	font-size: 28px;
	font-weight: 700;
	color: var(--hcg-text-dark);
	margin: 0 0 5px;
	line-height: 1.2;
}

.hcg-team-modal__title {
	font-size: 15px;
	color: var(--hcg-text-light);
	margin: 0 0 25px;
}

.hcg-team-modal__bio p {
	font-size: 14px;
	color: var(--hcg-text-light);
	line-height: 1.7;
	margin: 0 0 15px;
}

.hcg-team-modal__bio p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.hcg-team-modal__body {
		grid-template-columns: 1fr;
	}
	
	.hcg-team-modal__photo {
		padding: 30px 30px 0;
		justify-content: center;
	}
	
	.hcg-team-modal__photo img {
		width: 160px;
		height: 160px;
	}
	
	.hcg-team-modal__content {
		padding: 25px 30px 30px;
	}
	
	.hcg-team-modal__name {
		font-size: 24px;
	}
	
	.hcg-team-modal__dialog {
		width: 95%;
	}
}

/* ==========================================================================
   Contact Layout
   ========================================================================== */
.hcg-contact-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: stretch;
}

.hcg-contact-image {
	min-height: 500px;
}

.hcg-contact-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.hcg-contact-info {
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid #e5e5e5;
}

.hcg-contact-info__section {
	margin-bottom: 20px;
}

.hcg-contact-info__label {
	font-weight: 600;
	color: var(--hcg-text-dark);
	font-size: 14px;
	margin-bottom: 5px;
}

.hcg-contact-info__value a {
	color: var(--hcg-primary);
	text-decoration: none;
}

.hcg-contact-info__value a:hover {
	color: var(--hcg-accent);
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */
.hcg-footer {
	background-color: var(--hcg-bg-dark);
	padding: 40px 0;
	color: var(--hcg-text-white);
}

.hcg-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.hcg-footer__logo img {
	max-height: 50px;
	width: auto;
}

.hcg-footer__links {
	text-align: center;
}

.hcg-footer__nav a {
	color: var(--hcg-text-white);
	text-decoration: underline;
	margin: 0 10px;
	font-size: 14px;
}

.hcg-footer__nav a:hover {
	color: var(--hcg-accent);
}

.hcg-footer__copyright {
	font-size: 13px;
	margin-top: 10px;
	opacity: .8;
}

.hcg-footer__social {
	display: flex;
	gap: 10px;
}

.hcg-footer__social a {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: var(--hcg-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hcg-text-white);
	text-decoration: none;
	transition: background-color .3s ease;
}

.hcg-footer__social a:hover {
	background-color: var(--hcg-accent);
	color: var(--hcg-text-dark);
}

/* ==========================================================================
   Gravity Forms Overrides
   ========================================================================== */
.hcg-contact-form .gform_wrapper input[type="text"], .hcg-contact-form .gform_wrapper input[type="email"], .hcg-contact-form .gform_wrapper textarea {
	border: 2px solid var(--hcg-primary);
	border-radius: 4px;
	padding: 12px 15px;
	font-size: 16px;
}

.hcg-contact-form .gform_wrapper input[type="text"]:focus, .hcg-contact-form .gform_wrapper input[type="email"]:focus, .hcg-contact-form .gform_wrapper textarea:focus {
	border-color: var(--hcg-accent);
	outline: none;
}

.hcg-contact-form .gform_wrapper .gfield_label {
	color: var(--hcg-text-dark);
	font-weight: 600;
}

.hcg-contact-form .gform_wrapper .gfield_required {
	color: var(--hcg-primary);
}

.hcg-contact-form .gform_wrapper .gform_button {
	background-color: var(--hcg-primary);
	color: var(--hcg-text-white);
	padding: 15px 40px;
	font-size: 16px;
	font-weight: 600;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color .3s ease;
}

.hcg-contact-form .gform_wrapper .gform_button:hover {
	background-color: var(--hcg-accent);
	color: var(--hcg-text-dark);
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */
@media (max-width: 1024px) {
	.hcg-brands-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.hcg-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.hcg-page-header {
		padding: 100px 0 60px;
	}
	
	.hcg-page-header__title {
		font-size: 32px;
		padding-left: 20px;
	}
	
	.hcg-two-col {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.hcg-two-col--reverse {
		direction: ltr;
	}
	
	.hcg-stats {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.hcg-brands-grid {
		grid-template-columns: 1fr;
	}
	
	.hcg-team-grid {
		grid-template-columns: 1fr;
	}
	
	.hcg-contact-layout {
		grid-template-columns: 1fr;
	}
	
	.hcg-footer__inner {
		flex-direction: column;
		text-align: center;
	}
}

/* ==========================================================================
   WooCommerce - Breadcrumbs
   ========================================================================== */
.hcg-breadcrumb, .woocommerce-breadcrumb {
	background-color: #e8e8e8;
	padding: 12px 0;
	font-size: 13px;
	margin-bottom: 0;
	color: var(--hcg-text-light);
}

.hcg-breadcrumb a, .woocommerce-breadcrumb a {
	color: var(--hcg-text-light);
	text-decoration: none;
}

.hcg-breadcrumb a:hover, .woocommerce-breadcrumb a:hover {
	color: var(--hcg-primary);
}

.hcg-breadcrumb__sep {
	margin: 0 6px;
	color: #bbb;
}

/* ==========================================================================
   WooCommerce - Shop Layout (custom woocommerce.php)
   ========================================================================== */

/* Full-page grey background, clears fixed navbar */
.hcg-shop-wrap {
	background-color: var(--hcg-bg-light);
	padding-top: 85px;
	min-height: 100vh;
}

/* Single product pages get white background */
.hcg-shop-wrap--single {
	background-color: var(--hcg-bg-white);
}

/* Shop page title */
.hcg-shop-header {
	padding: 20px 0 15px;
}

.hcg-shop-header__title {
	font-size: 28px;
	font-weight: 700;
	color: var(--hcg-text-dark);
	margin: 0;
}

/* Hide WooCommerce's duplicate archive description header if it slips through */
.hcg-shop-main .woocommerce-products-header__title {
	display: none;
}

/* Sidebar + content flexbox layout */
.hcg-shop-layout {
	display: flex;
	gap: 30px;
	padding: 20px 0 40px;
	align-items: flex-start;
}

/* Sidebar */
.hcg-shop-sidebar {
	width: 260px;
	flex-shrink: 0;
	background: var(--hcg-bg-white);
	border-radius: 6px;
	border: 1px solid #e5e5e5;
	padding: 20px;
	position: sticky;
	top: 100px;
}

/* Product grid area */
.hcg-shop-main {
	flex: 1;
	min-width: 0;
}

.hcg-shop-main--single {
	padding: 20px 0 40px;
}

/* Push cart, checkout, account pages below fixed navbar (these use page.php, not our woocommerce.php) */
.woocommerce-cart #hook_content, .woocommerce-checkout #hook_content, .woocommerce-account #hook_content {
	padding-top: 90px;
}

/* Sidebar widget styling */
.hcg-shop-sidebar > div, .hcg-shop-sidebar .widget {
	margin-bottom: 25px;
}

.hcg-shop-sidebar > div:last-child, .hcg-shop-sidebar .widget:last-child {
	margin-bottom: 0;
}

.hcg-shop-sidebar h3, .hcg-shop-sidebar h4, .hcg-shop-sidebar .widget-title {
	color: var(--hcg-text-dark);
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 12px 0;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--hcg-primary);
	text-transform: uppercase;
}

/* Sidebar checkbox filter lists */
.hcg-shop-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hcg-shop-sidebar li {
	margin-bottom: 6px;
	font-size: 14px;
}

.hcg-shop-sidebar label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	color: var(--hcg-text-dark);
}

.hcg-shop-sidebar label:hover {
	color: var(--hcg-primary);
}

.hcg-shop-sidebar input[type="checkbox"] {
	accent-color: var(--hcg-primary);
}

/* Show more link */
.hcg-shop-sidebar a[class*="show-more"], .hcg-shop-sidebar .show-more {
	color: var(--hcg-primary);
	font-size: 13px;
	text-decoration: underline;
}

/* Search widget in sidebar */
.hcg-shop-sidebar .woocommerce-product-search, .hcg-shop-sidebar .search-form {
	display: flex;
	gap: 0;
	width: 100%;
}

.hcg-shop-sidebar .woocommerce-product-search input[type="search"], .hcg-shop-sidebar .woocommerce-product-search input[type="text"], .hcg-shop-sidebar .search-field {
	flex: 1;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-right: none;
	border-radius: 4px 0 0 4px;
	font-size: 13px;
	color: var(--hcg-text-dark) !important;
	background-color: white !important;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

.hcg-shop-sidebar .woocommerce-product-search input::placeholder, .hcg-shop-sidebar input::placeholder {
	color: #999;
	font-size: 13px;
}

.hcg-shop-sidebar .woocommerce-product-search button, .hcg-shop-sidebar .search-submit {
	padding: 8px 12px;
	background: var(--hcg-primary);
	color: white;
	border: 1px solid var(--hcg-primary);
	border-radius: 0 4px 4px 0;
	cursor: pointer;
	font-size: 13px;
	white-space: nowrap;
	flex-shrink: 0;
}

.hcg-shop-sidebar .woocommerce-product-search button:hover, .hcg-shop-sidebar .search-submit:hover {
	background: var(--hcg-accent);
	color: var(--hcg-text-dark);
	border-color: var(--hcg-accent);
}

/* Search input clear X button */
.hcg-shop-sidebar input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	height: 16px;
	width: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") center center no-repeat;
	cursor: pointer;
}

.hcg-shop-sidebar input[type="search"]::-webkit-search-cancel-button.nitro-lazy {
	background: none !important;
}

/* Price filter - contain within sidebar */
.wc-block-product-filter-price-slider, .wc-block-product-filter-price-slider__content {
	max-width: 100% !important;
	overflow: hidden;
	padding: 0 3px;
}

/* Price filter inputs */
.wc-block-product-filter-price-slider .text input[type="text"] {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 6px 6px !important;
	font-size: 12px !important;
}

/* Price slider track color */
.wc-block-product-filter-price-slider__range {
	--wc-product-filter-price-slider: var(--hcg-primary);
}

/* ==========================================================================
   WooCommerce - Sidebar Widgets
   ========================================================================== */
.hcg-shop-widget {
	margin-bottom: 30px;
	padding: 20px;
	background: var(--hcg-bg-light);
	border-radius: 8px;
}

.hcg-shop-widget__title {
	color: var(--hcg-text-dark);
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 15px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--hcg-primary);
	text-transform: uppercase;
}

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

.hcg-shop-widget ul li {
	margin-bottom: 8px;
	padding: 8px 0;
	border-bottom: 1px solid #e5e5e5;
}

.hcg-shop-widget ul li:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.hcg-shop-widget ul li a {
	color: var(--hcg-text-dark);
	text-decoration: none;
	font-size: 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.hcg-shop-widget ul li a:hover {
	color: var(--hcg-primary);
}

.hcg-shop-widget ul li .count, .hcg-shop-widget ul li span.count {
	background: var(--hcg-primary);
	color: white;
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 10px;
}

/* Price filter widget */
.hcg-shop-widget .price_slider_wrapper {
	padding-top: 10px;
}

.hcg-shop-widget .ui-slider {
	background: #ddd;
	border: none;
	height: 6px;
	border-radius: 3px;
}

.hcg-shop-widget .ui-slider .ui-slider-range {
	background: var(--hcg-primary);
}

.hcg-shop-widget .ui-slider .ui-slider-handle {
	background: var(--hcg-primary);
	border: 2px solid white;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	top: -6px;
	cursor: pointer;
}

.hcg-shop-widget .price_slider_amount {
	margin-top: 15px;
}

.hcg-shop-widget .price_slider_amount .button {
	background: var(--hcg-primary);
	color: white;
	border: none;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
}

.hcg-shop-widget .price_slider_amount .button:hover {
	background: var(--hcg-accent);
	color: var(--hcg-text-dark);
}

/* ==========================================================================
   WooCommerce - Product Grid
   ========================================================================== */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 25px;
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.woocommerce ul.products::before, .woocommerce ul.products::after {
	display: none;
}

/* Product card */
.hcg-product-card {
	background: var(--hcg-bg-white);
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow .3s ease, transform .3s ease;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
	clear: none !important;
	display: flex;
	flex-direction: column;
	list-style: none;
}

.hcg-product-card:hover {
	box-shadow: 0 8px 25px rgba(0, 0, 0, .1);
	transform: translateY(-3px);
}

.hcg-product-card__link {
	text-decoration: none;
	display: block;
}

/* Product image — large, fills card width */
.hcg-product-card__image {
	position: relative;
	background: #f9f9f9;
	padding: 15px;
}

.hcg-product-card__image img {
	width: 100%;
	height: 220px;
	object-fit: contain;
	display: block;
	margin: 0;
}

.hcg-product-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--hcg-accent);
	color: var(--hcg-text-dark);
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 4px;
	z-index: 1;
}

/* Product info — title and price */
.hcg-product-card__info {
	padding: 15px;
	flex: 1;
}

.hcg-product-card__title {
	font-size: 14px;
	font-weight: 600;
	color: var(--hcg-text-dark);
	line-height: 1.4;
	margin: 0 0 8px;
}

.hcg-product-card__link:hover .hcg-product-card__title {
	color: var(--hcg-primary);
}

.hcg-product-card__model, .hcg-product-card__sku {
	font-size: 12px;
	color: var(--hcg-text-light);
	line-height: 1.4;
	margin-bottom: 2px;
}

.hcg-product-card__model {
	margin-bottom: 4px;
}

.hcg-product-card__price {
	font-size: 16px;
	font-weight: 700;
	color: var(--hcg-primary);
}

.hcg-product-card__price del {
	color: var(--hcg-text-light);
	font-size: 14px;
	font-weight: 400;
}

.hcg-product-card__price ins {
	text-decoration: none;
}

/* Call for Pricing */
.hcg-call-for-pricing {
	color: var(--hcg-primary);
	font-weight: 700;
	font-style: italic;
}

.woocommerce div.product p.price .hcg-call-for-pricing, .woocommerce div.product .hcg-call-for-pricing {
	font-size: 1em;
}

/* Single product "Contact for Pricing" button */
.hcg-contact-for-pricing--single {
	display: inline-block;
	margin-top: 10px;
	padding: 12px 28px !important;
	background: var(--hcg-primary) !important;
	color: #fff !important;
	border-radius: 4px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.hcg-contact-for-pricing--single:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* Add to cart button — high specificity to override Hook theme */
.woocommerce ul.products li.hcg-product-card a.button, .woocommerce ul.products li.hcg-product-card a.add_to_cart_button, .woocommerce ul.products li.hcg-product-card .button, li.hcg-product-card .button {
	display: block !important;
	width: calc(100% - 30px) !important;
	margin: auto 15px 15px !important;
	padding: 10px 20px !important;
	background: #00a0db !important;
	color: #fff !important;
	text-align: center !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	border-radius: 4px !important;
	transition: background .3s ease;
	border: none !important;
	cursor: pointer;
	opacity: 1 !important;
	box-sizing: border-box;
}

.woocommerce ul.products li.hcg-product-card a.button:hover, .woocommerce ul.products li.hcg-product-card a.add_to_cart_button:hover, li.hcg-product-card .button:hover {
	background: #b1df23 !important;
	color: #24282f !important;
}

/* "View cart" link after AJAX add to cart */
.hcg-product-card .added_to_cart, li.hcg-product-card a.added_to_cart {
	display: block !important;
	text-align: center;
	padding: 8px 15px;
	margin: 0 15px 15px;
	color: #00a0db;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid #00a0db;
	border-radius: 4px;
}

.hcg-product-card .added_to_cart:hover, li.hcg-product-card a.added_to_cart:hover {
	background: #00a0db;
	color: #fff;
}

/* ==========================================================================
   WooCommerce - Shop Controls (sorting, results count)
   ========================================================================== */
.woocommerce-notices-wrapper {
	max-width: var(--hcg-container-width);
	margin: 0 auto;
	padding: 0 20px;
}

.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering {
	margin-bottom: 20px;
}

.woocommerce .woocommerce-result-count {
	color: var(--hcg-text-light);
	font-size: 14px;
}

.woocommerce .woocommerce-ordering select {
	padding: 10px 15px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	background: white;
}

.woocommerce .woocommerce-ordering select:focus {
	border-color: var(--hcg-primary);
	outline: none;
}

/* ==========================================================================
   WooCommerce - Pagination
   ========================================================================== */
.woocommerce nav.woocommerce-pagination {
	margin: 40px 0;
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 5px;
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	background: var(--hcg-bg-white);
	color: var(--hcg-text-dark);
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	border: 1px solid #ddd;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--hcg-primary);
	color: white;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--hcg-primary);
	color: white;
}

/* ==========================================================================
   WooCommerce - No Products Found
   ========================================================================== */
.hcg-no-products {
	text-align: center;
	padding: 80px 20px;
}

.hcg-no-products__icon {
	color: #b0bec5;
	margin-bottom: 20px;
}

.hcg-no-products__heading {
	font-size: 22px;
	font-weight: 700;
	color: var(--hcg-text-dark);
	margin: 0 0 10px;
}

.hcg-no-products__message {
	font-size: 15px;
	color: #6b7280;
	margin: 0 0 24px;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.5;
}

.hcg-no-products__button {
	display: inline-block;
	padding: 10px 28px;
	background: var(--hcg-primary);
	color: #fff;
	border-radius: 25px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: background .2s ease;
}

.hcg-no-products__button:hover {
	background: var(--hcg-accent);
	color: var(--hcg-text-dark);
}

/* ==========================================================================
   WooCommerce - Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px;
	}
	
	.hcg-shop-sidebar {
		width: 220px;
	}
}

@media (max-width: 768px) {
	.hcg-shop-layout {
		flex-direction: column;
	}
	
	.hcg-shop-sidebar {
		width: 100%;
		position: static;
	}
	
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 15px;
	}
	
	.hcg-product-card__image img {
		height: 150px;
	}
}

@media (max-width: 768px) {
	/* Ordering bar: clear WooCommerce floats so it doesn't overflow */
	.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering {
		float: none !important;
		display: block;
		width: 100%;
	}
	
	.woocommerce .woocommerce-ordering select {
		max-width: 100%;
		width: 100%;
		box-sizing: border-box;
	}
	
	/* Pagination: wrap on mobile so it doesn't overflow */
	.woocommerce nav.woocommerce-pagination ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 4px;
	}
	
	.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
		min-width: 36px;
		height: 36px;
		padding: 0 8px;
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}
	
	.hcg-product-card__image img {
		height: 180px;
	}
	
	.hcg-product-card__title {
		font-size: 13px;
	}
}

/* ==========================================================================
   WooCommerce - Single Product Page
   ========================================================================== */

/* Product title */
.woocommerce div.product .product_title {
	font-size: 26px !important;
	font-weight: 700;
	line-height: 1.3;
	color: var(--hcg-text-dark);
	margin-bottom: 10px;
}

/* Section headings — Description, Additional Info, Related Products */
.woocommerce div.product .woocommerce-tabs h2, .woocommerce div.product .woocommerce-Tabs-panel h2, .woocommerce div.product .related.products h2, .woocommerce div.product #woo_related_title h2, .woocommerce div.product .upsells h2 {
	font-size: 20px !important;
	font-weight: 700;
	color: var(--hcg-text-dark);
	margin-bottom: 15px;
}

/* Tab panel heading top margins */
#tab-description h2 {
	margin-top: 20px;
}

#tab-additional_information h2 {
	margin-top: 20px;
}

/* Remove excessive padding from tab content (Foundation .columns / .prk_inner_block) */
.woocommerce-tabs .columns, .woocommerce-tabs .prk_inner_block, .woocommerce-tabs .small-centered, #tab-description .columns, #tab-description .prk_inner_block, #tab-description .small-centered {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
	width: 100% !important;
}

/* Additional Information table links — use brand blue instead of lime green */
.woocommerce div.product .woocommerce-Tabs-panel table a, .woocommerce div.product .shop_attributes a, #tab-additional_information a {
	color: var(--hcg-primary) !important;
}

#tab-additional_information a:hover {
	color: var(--hcg-text-dark) !important;
}

/* Hide categories/tags in product meta — already shown in breadcrumbs */
.woocommerce div.product .product_meta .posted_in, .woocommerce div.product .product_meta .tagged_as {
	display: none;
}

.woocommerce div.product .product_meta > span {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	color: var(--hcg-text-light);
}

/* Inline product attributes (below SKU/category) */
.hcg-product-attributes {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #eee;
}

.hcg-product-attributes__item {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
	color: var(--hcg-text-light);
}

.hcg-product-attributes__label {
	font-weight: 600;
	color: var(--hcg-text-dark);
}

/* Quantity input — match Add to Cart button size */
.woocommerce div.product form.cart {
	display: flex;
	align-items: stretch;
	gap: 10px;
	margin-bottom: 20px;
}

.woocommerce div.product form.cart .quantity {
	display: flex;
	align-items: stretch;
}

.woocommerce div.product form.cart .quantity .qty {
	width: 80px;
	height: auto;
	padding: 12px 15px;
	font-size: 16px;
	text-align: center;
	border: 1px solid #ddd;
	border-radius: 4px;
	-webkit-appearance: none;
	-moz-appearance: textfield;
	box-sizing: border-box;
}

/* Single product Add to Cart button */
.woocommerce div.product form.cart .single_add_to_cart_button {
	padding: 12px 30px !important;
	font-size: 16px !important;
	font-weight: 600;
	background: var(--hcg-primary) !important;
	color: white !important;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background .3s ease;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* Price on single product */
.woocommerce div.product p.price, .woocommerce div.product span.price {
	font-size: 22px;
	font-weight: 700;
	color: var(--hcg-primary);
	margin-bottom: 20px;
}

/* Stock status */
.woocommerce div.product .stock {
	font-size: 14px;
	margin-bottom: 15px;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin-bottom: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: 14px;
	font-weight: 600;
	color: var(--hcg-text-dark);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--hcg-primary);
}

/* Related products section spacing */
.woocommerce div.product .related.products {
	margin-top: 40px;
	margin-bottom: 30px;
}

/* Related products heading wrapper — Hook wraps in #woo_related_title with borders/padding */
.woocommerce div.product #woo_related_title {
	padding-top: 20px;
	margin-bottom: 20px;
	padding-left: 0 !important;
}

/* Remove Foundation padding from related products grid */
.woocommerce div.product .related.products .columns, .woocommerce div.product .related.products .prk_inner_block {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ==========================================================================
   Legal Pages (Terms of Use, Privacy Policy)
   ========================================================================== */
.hcg-legal {
	max-width: 900px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.8;
	color: var(--hcg-text-dark);
}

/* Hide duplicate h1 inside content — hero header already shows the page title */
.hcg-legal > h1:first-child {
	display: none;
}

.hcg-legal p {
	margin-bottom: 20px;
	color: var(--hcg-text-light);
}

/* Section headings — original content uses <u> tags and <p><strong><u>> patterns */
.hcg-legal h2 {
	font-size: 22px;
	font-weight: 700;
	color: var(--hcg-text-dark);
	margin-top: 40px;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--hcg-primary);
}

/* Underlined bold text used as section headings in original content */
.hcg-legal p > strong > u, .hcg-legal p > u {
	font-size: 20px;
	font-weight: 700;
	color: var(--hcg-text-dark);
	text-decoration: none;
	display: inline-block;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--hcg-primary);
}

/* When the <u> heading is the only content in its paragraph, add spacing */
.hcg-legal p:has(> strong > u:only-child), .hcg-legal p:has(> u:only-child) {
	margin-top: 40px;
	margin-bottom: 15px;
}

.hcg-legal ul {
	margin: 0 0 20px 20px;
	padding: 0;
	list-style: disc;
}

.hcg-legal ul li {
	margin-bottom: 8px;
	color: var(--hcg-text-light);
	line-height: 1.7;
}

.hcg-legal a {
	color: var(--hcg-primary);
	text-decoration: none;
}

.hcg-legal a:hover {
	color: var(--hcg-accent);
}

/* Data collection table (Privacy Policy) */
.hcg-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0 30px;
	font-size: 14px;
}

.hcg-legal table thead th, .hcg-legal table th {
	background: var(--hcg-bg-dark);
	color: var(--hcg-text-white);
	padding: 12px 15px;
	text-align: left;
	font-weight: 600;
	font-size: 14px;
}

.hcg-legal table tbody td, .hcg-legal table td {
	padding: 12px 15px;
	border-bottom: 1px solid #e5e5e5;
	color: var(--hcg-text-light);
	vertical-align: top;
}

.hcg-legal table tbody tr:nth-child(even), .hcg-legal table tr:nth-child(even) {
	background: var(--hcg-bg-light);
}

/* Legal page responsive */
@media (max-width: 768px) {
	.hcg-legal {
		font-size: 15px;
	}
	
	.hcg-legal h2 {
		font-size: 19px;
		margin-top: 30px;
	}
	
	.hcg-legal p > strong > u, .hcg-legal p > u {
		font-size: 18px;
	}
	
	.hcg-legal table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* ==========================================================================
   Welcome Popup Modal
   ========================================================================== */
.hcg-popup {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
}

.hcg-popup.is-open {
	opacity: 1;
	visibility: visible;
}

.hcg-popup__backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .6);
}

.hcg-popup__dialog {
	position: relative;
	background: var(--hcg-bg-white);
	border-radius: 12px;
	max-width: 800px;
	width: 90%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	transform: translateY(20px) scale(.95);
	transition: transform .3s ease;
}

.hcg-popup.is-open .hcg-popup__dialog {
	transform: translateY(0) scale(1);
}

.hcg-popup__close {
	position: absolute;
	top: 15px;
	right: 20px;
	background: none;
	border: none;
	font-size: 32px;
	color: var(--hcg-text-light);
	cursor: pointer;
	line-height: 1;
	padding: 0;
	z-index: 1;
	transition: color .3s ease;
}

.hcg-popup__close:hover {
	color: var(--hcg-text-dark);
}

.hcg-popup__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.hcg-popup__left {
	background: var(--hcg-bg-dark);
	padding: 40px 30px;
	border-radius: 12px 0 0 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.hcg-popup__logo {
	max-width: 200px;
	height: auto;
	margin-bottom: 15px;
}

.hcg-popup__tagline {
	color: rgba(255, 255, 255, .8);
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 25px;
}

.hcg-popup__brands {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	width: 100%;
}

.hcg-popup__brand-card {
	background: var(--hcg-gradient-blue);
	border-radius: 8px;
	padding: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
}

.hcg-popup__brand-card img {
	max-width: 80%;
	max-height: 80%;
	object-fit: contain;
}

.hcg-popup__right {
	padding: 50px 35px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.hcg-popup__heading {
	color: var(--hcg-primary);
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 15px;
	line-height: 1.3;
}

.hcg-popup__right p {
	color: var(--hcg-text-light);
	line-height: 1.7;
	margin: 0 0 25px;
	font-size: 15px;
}

@media (max-width: 768px) {
	.hcg-popup__body {
		grid-template-columns: 1fr;
	}
	
	.hcg-popup__left {
		border-radius: 12px 12px 0 0;
		padding: 30px 20px;
	}
	
	.hcg-popup__right {
		padding: 30px 20px;
	}
	
	.hcg-popup__heading {
		font-size: 22px;
	}
	
	.hcg-popup__dialog {
		width: 95%;
	}
}

/* ==========================================================================
   WooCommerce - My Account Pages
   ========================================================================== */

/* Account page layout — use flex on the .woocommerce wrapper that contains both nav + content */
.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	max-width: var(--hcg-container-width);
	margin: 0 auto;
	padding: 0 20px;
}

/* Let notices span full width above the flex layout */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .woocommerce > .woocommerce-message, .woocommerce-account .woocommerce > .woocommerce-info, .woocommerce-account .woocommerce > .woocommerce-error {
	width: 100%;
	flex-basis: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 220px !important;
	flex-shrink: 0;
	padding-right: 0 !important;
	margin-bottom: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1;
	min-width: 0;
}

/* Account navigation links */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--hcg-bg-white);
	border: 1px solid #e5e5e5 !important;
	border-radius: 6px;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border-bottom: 1px solid #e5e5e5;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 14px 20px !important;
	color: var(--hcg-text-dark);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: background .2s ease, color .2s ease;
}

/* Style Hook theme Font Awesome nav icons */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
	float: right !important;
	font-size: 16px !important;
	opacity: .4 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
	opacity: .8 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--hcg-bg-light);
	color: var(--hcg-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--hcg-primary);
	color: var(--hcg-text-white);
}

/* Login / Register forms */
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register {
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 30px;
	background: var(--hcg-bg-white);
}

/* Side-by-side login + register layout */
.woocommerce-account .u-columns {
	display: flex;
	gap: 40px;
}

.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2, .woocommerce-account .u-columns .col-1, .woocommerce-account .u-columns .col-2 {
	flex: 1;
}

/* Form labels */
.woocommerce-account .woocommerce-form label, .woocommerce-account .woocommerce-EditAccountForm label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--hcg-text-dark);
	margin-bottom: 6px;
}

/* Form inputs — target account page forms broadly */
.woocommerce-account .woocommerce-form input[type="text"], .woocommerce-account .woocommerce-form input[type="email"], .woocommerce-account .woocommerce-form input[type="password"], .woocommerce-account .woocommerce-form input[type="tel"], .woocommerce-account .woocommerce-form select, .woocommerce-account .woocommerce-form textarea, .woocommerce-account .woocommerce-EditAccountForm input[type="text"], .woocommerce-account .woocommerce-EditAccountForm input[type="email"], .woocommerce-account .woocommerce-EditAccountForm input[type="password"], .woocommerce-account .woocommerce-EditAccountForm select {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	color: var(--hcg-text-dark);
	background: var(--hcg-bg-white);
	box-sizing: border-box;
	transition: border-color .2s ease;
}

.woocommerce-account .woocommerce-form input:focus, .woocommerce-account .woocommerce-form select:focus, .woocommerce-account .woocommerce-form textarea:focus, .woocommerce-account .woocommerce-EditAccountForm input:focus, .woocommerce-account .woocommerce-EditAccountForm select:focus {
	border-color: var(--hcg-primary);
	outline: none;
}

/* Password change fieldset */
.woocommerce-account fieldset {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 20px;
	margin: 20px 0;
}

.woocommerce-account fieldset legend {
	font-size: 15px;
	font-weight: 700;
	color: var(--hcg-primary);
	padding: 0 8px;
}

/* Form buttons — all buttons on account pages */
.woocommerce-account .woocommerce-form .woocommerce-button, .woocommerce-account .woocommerce-form button[type="submit"], .woocommerce-account .woocommerce-form .button, .woocommerce-account .woocommerce-EditAccountForm button[type="submit"], .woocommerce-account .woocommerce-EditAccountForm .button, .woocommerce-account .woocommerce-MyAccount-content .button, .woocommerce-account .woocommerce-MyAccount-content button[type="submit"], .woocommerce-account .woocommerce-Button--next, .woocommerce-account .woocommerce-button {
	display: inline-block;
	padding: 12px 28px !important;
	background: var(--hcg-primary) !important;
	color: var(--hcg-text-white) !important;
	border: none !important;
	border-radius: 4px;
	font-size: 14px !important;
	font-weight: 600;
	cursor: pointer;
	transition: background .3s ease;
	text-decoration: none;
}

.woocommerce-account .woocommerce-form .woocommerce-button:hover, .woocommerce-account .woocommerce-form button[type="submit"]:hover, .woocommerce-account .woocommerce-form .button:hover, .woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover, .woocommerce-account .woocommerce-EditAccountForm .button:hover, .woocommerce-account .woocommerce-MyAccount-content .button:hover, .woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover, .woocommerce-account .woocommerce-button:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* Remember me checkbox */
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 15px;
	font-size: 14px;
	color: var(--hcg-text-light);
}

/* Lost password link */
.woocommerce-account .woocommerce-LostPassword a {
	color: var(--hcg-primary);
	font-size: 13px;
	text-decoration: none;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
	color: var(--hcg-accent);
}

/* Order history table */
.woocommerce-account table.woocommerce-orders-table, .woocommerce-account table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.woocommerce-account table.woocommerce-orders-table th, .woocommerce-account table.shop_table th {
	background: var(--hcg-bg-light);
	padding: 12px 15px;
	text-align: left;
	font-weight: 600;
	color: var(--hcg-text-dark);
	border-bottom: 2px solid var(--hcg-primary);
}

.woocommerce-account table.woocommerce-orders-table td, .woocommerce-account table.shop_table td {
	padding: 12px 15px;
	border-bottom: 1px solid #e5e5e5;
	color: var(--hcg-text-light);
}

.woocommerce-account table.woocommerce-orders-table a, .woocommerce-account table.shop_table a {
	color: var(--hcg-primary);
	text-decoration: none;
	font-weight: 600;
}

.woocommerce-account table.woocommerce-orders-table a:hover, .woocommerce-account table.shop_table a:hover {
	color: var(--hcg-accent);
}

/* View order / action buttons in tables */
.woocommerce-account table .woocommerce-button, .woocommerce-account table .button {
	padding: 6px 16px !important;
	font-size: 13px !important;
}

/* Address cards — tame the oversized headings */
.woocommerce-account .woocommerce-Addresses, .woocommerce-account .col2-set.addresses {
	display: flex;
	gap: 30px;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address, .woocommerce-account .col2-set.addresses .col-1, .woocommerce-account .col2-set.addresses .col-2 {
	flex: 1;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 25px;
}

/* Force ALL headings inside account content to reasonable size */
body.woocommerce-account .woocommerce-MyAccount-content h2, body.woocommerce-account .woocommerce-MyAccount-content h3, .hook_theme.woocommerce-account .woocommerce-MyAccount-content h2, .hook_theme.woocommerce-account .woocommerce-MyAccount-content h3, .woocommerce-account .addresses .title h3, .woocommerce-account .woocommerce-Address-title h3, .woocommerce-account .col2-set h3 {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--hcg-text-dark) !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
}

.woocommerce-account .woocommerce-Address-title a, .woocommerce-account .addresses .title .edit {
	color: var(--hcg-primary);
	font-size: 13px;
	text-decoration: none;
}

.woocommerce-account .woocommerce-Address-title a:hover, .woocommerce-account .addresses .title .edit:hover {
	color: var(--hcg-accent);
}

/* Dashboard links */
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--hcg-primary);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
	color: var(--hcg-accent);
}

/* WooCommerce notices / messages on account pages */
.woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-error {
	padding: 15px 20px;
	border-radius: 4px;
	margin-bottom: 20px;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}

/* Hide WooCommerce default notice icon that overlaps text */
.woocommerce-account .woocommerce-message::before, .woocommerce-account .woocommerce-info::before, .woocommerce-account .woocommerce-error::before {
	display: none !important;
}

.woocommerce-account .woocommerce-message {
	background: #e8f8ee;
	border-left: 4px solid #4caf50;
	color: var(--hcg-text-dark);
}

.woocommerce-account .woocommerce-info {
	background: #e3f2fd;
	border-left: 4px solid var(--hcg-primary);
	color: var(--hcg-text-dark);
}

.woocommerce-account .woocommerce-error {
	background: #fdecea;
	border-left: 4px solid #f44336;
	color: var(--hcg-text-dark);
}

/* My Account responsive — stack nav above content on mobile */
@media (max-width: 768px) {
	.woocommerce-account #hook_content {
		padding-top: 100px !important;
	}
	
	/* Reduce Hook's oversized page title spacing */
	.woocommerce-account #headings_wrap {
		margin-bottom: 0 !important;
	}
	
	.woocommerce-account #single_page_title {
		padding: 20px 0 15px !important;
		margin-bottom: 20px !important;
	}
	
	.woocommerce-account .woocommerce {
		flex-direction: column;
		gap: 15px;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	
	.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 100% !important;
		overflow: visible !important;
		margin-bottom: 0 !important;
		margin-top: 0 !important;
	}
	
	.woocommerce-account .u-columns {
		flex-direction: column;
		gap: 25px;
	}
	
	.woocommerce-account .woocommerce-Addresses, .woocommerce-account .col2-set.addresses {
		flex-direction: column;
	}
	
	.woocommerce-account table.woocommerce-orders-table, .woocommerce-account table.shop_table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* ============================================================
   ORDER CONFIRMATION / THANK YOU PAGE
   ============================================================ */

/* Tame the oversized billing/shipping address headings */
.woocommerce-order-received .woocommerce-customer-details h2, .woocommerce-order-received .woocommerce-column h2, .woocommerce-checkout .woocommerce-customer-details h2, .woocommerce-checkout .woocommerce-column h2 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--hcg-text-dark) !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

/* Order details heading */
.woocommerce-order-received .woocommerce-order-details h2, .woocommerce-order-received .woocommerce-thankyou-order-details + h2 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--hcg-text-dark) !important;
	margin: 30px 0 12px !important;
	padding: 0 !important;
}

/* Thank you message */
.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 18px;
	font-weight: 600;
	color: var(--hcg-text-dark);
	margin-bottom: 20px;
}

/* Order overview bar (order number, date, email, total, payment method) */
.woocommerce-order-received .woocommerce-order-overview, .woocommerce-order-received ul.woocommerce-thankyou-order-details {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 30px;
	padding: 18px 22px;
	margin: 0 0 30px;
	background: var(--hcg-bg-light, #f5f5f5);
	border-radius: 6px;
	border-left: 4px solid var(--hcg-primary);
	font-size: 14px;
	color: var(--hcg-text-light, #555);
}

.woocommerce-order-received .woocommerce-order-overview li strong, .woocommerce-order-received ul.woocommerce-thankyou-order-details li strong {
	display: block;
	color: var(--hcg-text-dark);
	font-size: 15px;
}

/* Order details table */
table.woocommerce-table--order-details, .woocommerce-order-received table.shop_table, .woocommerce-checkout table.shop_table.order_details {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: 14px;
	margin-bottom: 30px;
	border: 1px solid #e5e5e5 !important;
}

table.woocommerce-table--order-details th, .woocommerce-order-received table.shop_table th, .woocommerce-checkout table.order_details th {
	background: var(--hcg-bg-light, #f5f5f5);
	padding: 12px 15px;
	text-align: left;
	font-weight: 600;
	color: var(--hcg-text-dark);
	border-bottom: 2px solid var(--hcg-primary);
}

table.woocommerce-table--order-details td, .woocommerce-order-received table.shop_table td, .woocommerce-checkout table.order_details td {
	padding: 12px 15px;
	border-bottom: 1px solid #e5e5e5;
	color: var(--hcg-text-light, #555);
}

table.woocommerce-table--order-details tfoot th, table.woocommerce-table--order-details tfoot td, .woocommerce-order-received table.shop_table tfoot th, .woocommerce-order-received table.shop_table tfoot td {
	background: transparent;
	border-bottom: 1px solid #e5e5e5;
	font-weight: 600;
}

/* Product links in order table */
table.woocommerce-table--order-details a, .woocommerce-order-received table.shop_table a {
	color: var(--hcg-primary);
	text-decoration: none;
}

table.woocommerce-table--order-details a:hover, .woocommerce-order-received table.shop_table a:hover {
	color: var(--hcg-accent);
}

/* Billing/shipping address columns */
section.woocommerce-columns--addresses {
	display: flex !important;
	gap: 30px;
	margin-top: 30px;
	width: 100% !important;
	max-width: 100% !important;
}

section.woocommerce-columns--addresses .woocommerce-column--billing-address, section.woocommerce-columns--addresses .woocommerce-column--shipping-address, section.woocommerce-columns--addresses .col-1, section.woocommerce-columns--addresses .col-2 {
	flex: 1 !important;
	width: auto !important;
	max-width: none !important;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 25px;
}

section.woocommerce-columns--addresses address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.7;
	color: var(--hcg-text-light, #555);
}

/* Mobile responsive */
@media screen and (max-width: 767px) {
	.woocommerce-order-received .woocommerce-order-overview, .woocommerce-order-received ul.woocommerce-thankyou-order-details {
		flex-direction: column;
		gap: 10px;
	}
	
	.woocommerce-order-received .woocommerce-customer-details .col2-set, .woocommerce-order-received .woocommerce-columns--addresses, section.woocommerce-columns--addresses {
		flex-direction: column;
	}
}

/* ============================================================
   CART PAGE (Classic Shortcode)
   ============================================================ */

/* Cart page wrapper — consistent padding */
.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Shipping calculator — neutralize Hook's "Select or Die" (SOD) wrapper, let selectWoo handle dropdowns */
.shipping-calculator-form .sod_select {
	display: block !important;
	border: none !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	height: auto !important;
	width: 100% !important;
	overflow: visible !important;
}

.shipping-calculator-form .sod_label, .shipping-calculator-form .sod_list_wrapper {
	display: none !important;
}

.shipping-calculator-form .select2-container {
	display: block !important;
	width: 100% !important;
}

.shipping-calculator-form .select2-container .select2-selection--single {
	height: 40px !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 0 12px !important;
	background: #fff !important;
}

.shipping-calculator-form .select2-container .select2-selection__rendered {
	line-height: 38px !important;
	padding: 0 !important;
	color: var(--hcg-text-dark) !important;
	font-size: 14px !important;
	text-transform: none !important;
}

.shipping-calculator-form .select2-container .select2-selection__arrow {
	height: 38px !important;
}

/* selectWoo dropdown (appended to body, not inside the form) */
.select2-container--open .select2-dropdown {
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	z-index: 999999 !important;
}

.select2-container--open .select2-results__options {
	max-height: 200px !important;
}

/* Empty cart — fix broken WooCommerce icon on info box */
.woocommerce-cart .cart-empty.woocommerce-info::before {
	content: none !important;
}

/* Empty cart — center the "Return to shop" button */
.woocommerce-cart .return-to-shop {
	text-align: center;
}

/* "Cart totals" heading — tame the oversized serif */
.woocommerce-cart .cart_totals > h2 {
	font-size: 22px !important;
	font-weight: 700 !important;
	font-family: "Open Sans", sans-serif !important;
	color: var(--hcg-text-dark) !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin: 0 0 16px !important;
}

/* Cart table — ALL links use brand blue, not lime */
.woocommerce-cart .shop_table a, .woocommerce-cart .shop_table td a {
	color: var(--hcg-primary) !important;
	text-decoration: none !important;
}

.woocommerce-cart .shop_table a:hover, .woocommerce-cart .shop_table td a:hover {
	color: var(--hcg-accent) !important;
}

.woocommerce-cart .shop_table td.product-name a {
	font-weight: 600;
}

/* Cart table — remove (×) link */
.woocommerce-cart .shop_table td.product-remove a.remove {
	color: #999 !important;
	font-size: 20px;
}

.woocommerce-cart .shop_table td.product-remove a.remove:hover {
	color: #e4361b !important;
	background: transparent !important;
}

/* Coupon code field — fix the tiny input */
.woocommerce-cart .coupon .input-text, .woocommerce-cart .coupon #coupon_code {
	width: 200px !important;
	min-width: 200px !important;
	padding: 8px 12px !important;
	border: 1px solid #ccc !important;
	border-radius: 3px !important;
	font-size: 14px !important;
	height: auto !important;
	line-height: 1.4 !important;
}

.woocommerce-cart .coupon .button {
	background: var(--hcg-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 3px !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-transform: uppercase !important;
	transition: background .2s ease !important;
}

.woocommerce-cart .coupon .button:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* Update Cart button */
.woocommerce-cart .actions button[name="update_cart"] {
	background: #f5f5f5 !important;
	color: var(--hcg-text-dark) !important;
	border: 1px solid #ccc !important;
	border-radius: 3px !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	cursor: pointer !important;
}

.woocommerce-cart .actions button[name="update_cart"]:hover {
	background: #e8e8e8 !important;
}

/* "Change address" link/button — use brand blue, not lime */
.woocommerce-cart .cart_totals .shipping-calculator-button, .woocommerce-cart .cart_totals a, .woocommerce-cart .cart_totals button {
	color: var(--hcg-primary) !important;
	text-decoration: none !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	font-size: inherit !important;
	padding: 0 !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-button:hover, .woocommerce-cart .cart_totals a:hover, .woocommerce-cart .cart_totals button:hover {
	color: var(--hcg-accent) !important;
}

/* Cart totals table — clean styling */
.woocommerce-cart .cart_totals .shop_table {
	border-collapse: collapse;
}

.woocommerce-cart .cart_totals .shop_table th {
	font-weight: 600;
	color: var(--hcg-text-dark);
	padding: 10px 12px;
}

.woocommerce-cart .cart_totals .shop_table td {
	padding: 10px 12px;
	color: var(--hcg-text-dark);
}

/* Shipping method labels */
.woocommerce-cart .woocommerce-shipping-methods label, .woocommerce-checkout .woocommerce-shipping-methods label {
	color: var(--hcg-text-dark) !important;
	font-weight: 400;
}

/* Proceed to Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100% !important;
	background: var(--hcg-primary) !important;
	color: #fff !important;
	text-align: center !important;
	padding: 14px 24px !important;
	border-radius: 4px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background .2s ease !important;
	box-sizing: border-box;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* Empty cart message */
.woocommerce-cart .cart-empty {
	text-align: center;
	font-size: 18px;
	color: var(--hcg-text-dark);
	padding: 40px 0;
}

.woocommerce-cart .return-to-shop a {
	background: var(--hcg-primary) !important;
	color: #fff !important;
	border-radius: 4px !important;
	padding: 12px 24px !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

.woocommerce-cart .return-to-shop a:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* ============================================================
   CHECKOUT PAGE (Classic Shortcode)
   ============================================================ */

/* Checkout wrapper — consistent padding */
.woocommerce-checkout .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Tame all checkout headings — consistent with brand style */
.woocommerce-checkout h3, .woocommerce-checkout h3#order_review_heading {
	font-size: 22px !important;
	font-weight: 700 !important;
	font-family: "Open Sans", sans-serif !important;
	color: var(--hcg-text-dark) !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin: 0 0 16px !important;
}

/* "Ship to a different address?" — slightly smaller */
.woocommerce-checkout h3#ship-to-different-address {
	font-size: 18px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

/* Checkout form fields */
.woocommerce-checkout .form-row label {
	color: var(--hcg-text-dark);
	font-weight: 600;
	font-size: 14px;
}

.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select {
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 8px 12px;
	font-size: 14px;
}

.woocommerce-checkout .form-row input.input-text:focus, .woocommerce-checkout .form-row textarea:focus, .woocommerce-checkout .form-row select:focus {
	border-color: var(--hcg-primary);
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 160, 219, .15);
}

/* Coupon info box — fix broken icon, clean up styling */
.woocommerce-checkout .woocommerce-info::before {
	content: none !important;
}

.woocommerce-checkout .woocommerce-info {
	border-top-color: var(--hcg-primary) !important;
	background: #f7f9fb !important;
	color: var(--hcg-text-dark) !important;
	padding: 12px 16px !important;
	font-size: 14px;
}

/* Coupon toggle link */
.woocommerce-checkout .woocommerce-info a, .woocommerce-checkout .showcoupon {
	color: var(--hcg-primary) !important;
}

.woocommerce-checkout .woocommerce-info a:hover, .woocommerce-checkout .showcoupon:hover {
	color: var(--hcg-accent) !important;
}

/* Spacing between customer details and "Your order" */
.woocommerce-checkout #customer_details {
	margin-bottom: 30px !important;
}

/* Payment section — clean white card instead of gray-on-gray */
.woocommerce-checkout .wc_payment_methods {
	background: transparent !important;
	padding: 0 !important;
}

.woocommerce-checkout .wc_payment_method {
	padding: 16px !important;
}

.woocommerce-checkout .wc_payment_method .payment_box {
	background: #fff !important;
	border: 1px solid #e0e6ed !important;
	border-radius: 4px !important;
	padding: 20px !important;
	margin-top: 12px;
}

/* Hide the little arrow/triangle above the payment box */
.woocommerce-checkout .wc_payment_method .payment_box::before {
	display: none !important;
}

.woocommerce-checkout #payment {
	background: #f7f9fb !important;
	border-radius: 6px !important;
	padding: 20px !important;
	border: 1px solid #e0e6ed;
}

.woocommerce-checkout #payment .payment_method_credit_card_default label, .woocommerce-checkout #payment .wc_payment_method label {
	font-weight: 600;
	color: var(--hcg-text-dark) !important;
}

.woocommerce-checkout #payment .place-order {
	padding: 16px 0 0 !important;
	background: transparent !important;
}

/* All checkout links — brand blue, not lime */
.woocommerce-checkout a:not(.button) {
	color: var(--hcg-primary);
}

.woocommerce-checkout a:not(.button):hover {
	color: var(--hcg-accent);
}

/* Place Order button */
.woocommerce-checkout #place_order {
	background: var(--hcg-primary) !important;
	color: #fff !important;
	padding: 14px 32px !important;
	border-radius: 4px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .5px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background .2s ease !important;
}

.woocommerce-checkout #place_order:hover {
	background: var(--hcg-accent) !important;
	color: var(--hcg-text-dark) !important;
}

/* Order review table */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border-collapse: collapse;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th, .woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 10px 12px;
	color: var(--hcg-text-dark);
}

/* Payment methods styling */
.woocommerce-checkout .wc_payment_methods {
	list-style: none !important;
	padding: 0 !important;
}

.woocommerce-checkout .wc_payment_method label {
	color: var(--hcg-text-dark) !important;
	font-weight: 600;
}

/* ==========================================================================
   Subcategory Tiles (Category Archive Pages)
   ========================================================================== */
.hcg-subcategory-tiles {
	margin-bottom: 30px;
	padding: 0;
}

.hcg-subcategory-tiles__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.hcg-subcategory-tiles--collapsed .hcg-subcategory-tiles__list {
	max-height: 210px;
	overflow: hidden;
	position: relative;
}

.hcg-subcategory-tiles--collapsed .hcg-subcategory-tiles__list::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 30px;
	background: linear-gradient(to bottom, rgba(241, 241, 241, 0), rgba(241, 241, 241, 1));
	pointer-events: none;
}

.hcg-subcategory-tiles__toggle {
	display: none;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 6px 18px;
	background: none;
	border: 2px solid #ccc;
	border-radius: 25px;
	color: var(--hcg-text-dark);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s ease;
}

.hcg-subcategory-tiles--collapsible .hcg-subcategory-tiles__toggle {
	display: inline-flex;
}

.hcg-subcategory-tiles__toggle:hover {
	border-color: var(--hcg-primary);
	color: var(--hcg-primary);
}

.hcg-subcategory-tiles__toggle-icon {
	font-size: 11px;
	transition: transform .2s ease;
}

.hcg-subcategory-tiles--expanded .hcg-subcategory-tiles__toggle-icon {
	transform: rotate(180deg);
}

.hcg-subcategory-tile {
	display: inline-block;
	padding: 8px 20px;
	border: 2px solid var(--hcg-primary);
	border-radius: 25px;
	color: var(--hcg-primary);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: all .2s ease;
}

.hcg-subcategory-tile:hover {
	background: var(--hcg-accent);
	border-color: var(--hcg-accent);
	color: var(--hcg-text-dark);
}

.hcg-subcategory-tile--active {
	background: var(--hcg-primary);
	border-color: var(--hcg-primary);
	color: #fff;
}

.hcg-subcategory-tile--active:hover {
	background: var(--hcg-primary);
	border-color: var(--hcg-primary);
	color: #fff;
	opacity: .9;
}

@media (max-width: 768px) {
	.hcg-subcategory-tiles__list {
		gap: 8px;
	}
	
	.hcg-subcategory-tile {
		padding: 6px 14px;
		font-size: 13px;
	}
}

/* ==========================================================================
   Header Category Dropdown
   ========================================================================== */
.hcg-header__menu li.hcg-has-dropdown {
	position: relative;
}

.hcg-category-dropdown {
	position: absolute;
	top: 100%;
	right: 0;
	background: var(--hcg-bg-white);
	box-shadow: 0 8px 30px rgba(0, 0, 0, .15);
	border-radius: 0 0 8px 8px;
	border-top: 3px solid var(--hcg-primary);
	padding: 24px 28px;
	width: 780px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility .2s ease;
	z-index: 10000;
}

.hcg-has-dropdown:hover > .hcg-category-dropdown, .hcg-has-dropdown.is-dropdown-open > .hcg-category-dropdown {
	opacity: 1;
	visibility: visible;
}

/* Featured categories (Flexible / Rigid) */
.hcg-category-dropdown__featured {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 4px;
}

.hcg-category-dropdown .hcg-category-dropdown__featured-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: linear-gradient(135deg, rgba(0, 88, 168, .06) 0%, rgba(0, 160, 219, .06) 100%);
	border-radius: 6px;
	text-decoration: none;
	transition: background .2s ease;
	border-bottom: none;
}

.hcg-category-dropdown .hcg-category-dropdown__featured-link:hover {
	background: linear-gradient(135deg, rgba(0, 88, 168, .12) 0%, rgba(0, 160, 219, .12) 100%);
}

.hcg-category-dropdown__featured-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--hcg-bg-dark);
}

.hcg-category-dropdown .hcg-category-dropdown__featured-link:hover .hcg-category-dropdown__featured-name {
	color: var(--hcg-primary);
}

.hcg-category-dropdown__featured-arrow {
	font-size: 20px;
	color: var(--hcg-primary);
	line-height: 1;
	display: flex;
	align-items: center;
}

/* Divider + label */
.hcg-category-dropdown__divider {
	height: 1px;
	background: #e0e0e0;
	margin: 12px 0 8px;
}

.hcg-category-dropdown__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--hcg-text-light);
	padding: 0 12px 6px;
}

/* Category grid */
.hcg-category-dropdown__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px 16px;
	max-height: 320px;
	overflow-y: auto;
	mask-image: linear-gradient(to bottom, black calc(100% - 32px), transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, black calc(100% - 32px), transparent 100%);
	padding-bottom: 16px;
}

.hcg-category-dropdown .hcg-category-dropdown__grid a {
	display: block;
	padding: 6px 12px;
	color: var(--hcg-text-dark);
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	border-radius: 4px;
	transition: background .15s ease, color .15s ease;
	line-height: 1.35;
	border-bottom: none;
}

.hcg-category-dropdown .hcg-category-dropdown__grid a:hover {
	background: rgba(0, 160, 219, .08);
	color: var(--hcg-primary);
}

/* Footer */
.hcg-category-dropdown__footer {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #eee;
}

.hcg-category-dropdown .hcg-category-dropdown__footer a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 20px;
	background: linear-gradient(135deg, rgba(0, 88, 168, .06) 0%, rgba(0, 160, 219, .06) 100%);
	border-radius: 6px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	color: var(--hcg-bg-dark);
	transition: background .2s ease;
	border-bottom: none;
}

.hcg-category-dropdown .hcg-category-dropdown__footer a:hover {
	background: linear-gradient(135deg, rgba(0, 88, 168, .12) 0%, rgba(0, 160, 219, .12) 100%);
	color: var(--hcg-primary);
}

/* Type dropdown (Flexible/Rigid) — narrower, 2 columns, no fade */
.hcg-category-dropdown--type {
	width: 480px;
}

.hcg-category-dropdown--type .hcg-category-dropdown__grid {
	mask-image: none;
	-webkit-mask-image: none;
}

.hcg-category-dropdown--type .hcg-category-dropdown__grid.nitro-lazy {
	mask-image: none !important;
}

.hcg-category-dropdown__grid--type {
	grid-template-columns: repeat(2, 1fr);
}

/* Mobile: category dropdown becomes full-width, single column */
@media (max-width: 1199px) {
	/* Use display:none/block so the hidden dropdown takes no layout space */
	.hcg-category-dropdown {
		display: none;
		position: static;
		transform: none;
		box-shadow: none;
		border-top: none;
		border-radius: 0;
		width: 100%;
		padding: 0 15px 15px;
		background: #f8f8f8;
		opacity: 1;
		visibility: visible;
	}
	
	.hcg-has-dropdown.is-dropdown-open > .hcg-category-dropdown {
		display: block;
	}
	
	.hcg-category-dropdown--type {
		width: 100%;
	}
	
	.hcg-category-dropdown__featured {
		grid-template-columns: 1fr;
	}
	
	.hcg-category-dropdown__featured-link {
		padding: 10px 14px;
	}
	
	.hcg-category-dropdown__grid {
		grid-template-columns: 1fr;
		max-height: 250px;
		gap: 0;
	}
	
	.hcg-category-dropdown__grid--type {
		grid-template-columns: 1fr;
	}
	
	.hcg-category-dropdown__grid a {
		padding: 10px 12px;
		border-bottom: 1px solid #eee;
	}
	
	.hcg-category-dropdown__footer {
		margin-top: 8px;
		padding-top: 8px;
	}
}

/* ==========================================================================
   Thank You / Order Confirmation Page
   ========================================================================== */

/* Reset Hook parent theme wrappers */
.hcg-thankyou-page .hook_woo_thankyou, .hcg-thankyou-page .hook_woo_checkout, .hcg-thankyou-page .simple_line {
	display: none !important;
}

.hcg-thankyou-page .woocommerce-order {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

/* Override Hook/Foundation layout on thank you page */
.hcg-thankyou-page #hook_content {
	max-width: 100% !important;
	padding: 90px 0 0 !important;
	margin: 0 !important;
}

.hcg-thankyou-page #hook_content_box, .hcg-thankyou-page .hcg-woo-main {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.hcg-thankyou {
	font-family: var(--hcg-font-family);
	color: var(--hcg-text-dark);
}

/* --- Hero Banner --- */
.hcg-thankyou__hero {
	background: var(--hcg-gradient-blue);
	padding: 60px 20px 50px;
	text-align: center;
	color: var(--hcg-text-white);
}

.hcg-thankyou__hero-inner {
	max-width: 600px;
	margin: 0 auto;
}

.hcg-thankyou__icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.hcg-thankyou__icon--success {
	background: var(--hcg-accent);
	color: #fff;
}

.hcg-thankyou__icon--error {
	background: #e74c3c;
	color: #fff;
}

.hcg-thankyou__heading {
	font-size: 32px;
	font-weight: 700;
	margin: 0 0 10px;
	color: #fff !important;
}

.hcg-thankyou__subtitle {
	font-size: 16px;
	opacity: .85;
	margin: 0;
	line-height: 1.6;
}

/* --- Summary Bar --- */
.hcg-thankyou__summary {
	background: var(--hcg-bg-light);
	border-bottom: 1px solid #e0e0e0;
	padding: 0 20px;
}

.hcg-thankyou__summary-inner {
	max-width: var(--hcg-container-width);
	margin: 0 auto;
	display: flex;
	align-items: stretch;
}

.hcg-thankyou__summary-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	text-align: center;
	border-right: 1px solid #ddd;
}

.hcg-thankyou__summary-item:last-child {
	border-right: none;
}

.hcg-thankyou__summary-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .8px;
	color: var(--hcg-text-light);
	font-weight: 600;
	margin-bottom: 4px;
}

.hcg-thankyou__summary-value {
	font-size: 15px;
	font-weight: 700;
	color: var(--hcg-text-dark);
}

.hcg-thankyou__summary-value--total {
	color: var(--hcg-primary);
	font-size: 17px;
}

/* --- Two-Column Order Details --- */
.hcg-thankyou__details {
	padding: 50px 20px;
}

.hcg-thankyou__details-inner {
	max-width: var(--hcg-container-width);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 40px;
	align-items: start;
}

.hcg-thankyou__section-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 20px;
	color: var(--hcg-text-dark);
	padding-bottom: 12px;
	border-bottom: 2px solid var(--hcg-primary);
}

/* Order Items Table */
.hcg-thankyou__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.hcg-thankyou__table thead th {
	background: var(--hcg-bg-light);
	padding: 12px 16px;
	text-align: left;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .5px;
	font-weight: 600;
	color: var(--hcg-text-light);
	border-bottom: 2px solid #ddd;
}

.hcg-thankyou__table thead th.hcg-thankyou__table-qty, .hcg-thankyou__table thead th.hcg-thankyou__table-price {
	text-align: center;
}

.hcg-thankyou__table tbody td {
	padding: 14px 16px;
	border-bottom: 1px solid #eee;
	vertical-align: top;
}

.hcg-thankyou__table tbody td.hcg-thankyou__table-qty, .hcg-thankyou__table tbody td.hcg-thankyou__table-price {
	text-align: center;
	white-space: nowrap;
}

.hcg-thankyou__table tbody td.hcg-thankyou__table-product a {
	color: var(--hcg-primary);
	text-decoration: none;
	font-weight: 600;
}

.hcg-thankyou__table tbody td.hcg-thankyou__table-product a:hover {
	text-decoration: underline;
}

.hcg-thankyou__item-meta {
	display: block;
	font-size: 12px;
	color: var(--hcg-text-light);
	margin-top: 4px;
}

.hcg-thankyou__table tfoot tr {
	border-bottom: 1px solid #eee;
}

.hcg-thankyou__table tfoot tr:last-child {
	border-bottom: none;
}

.hcg-thankyou__table tfoot th {
	padding: 10px 16px;
	text-align: right;
	font-weight: 600;
	font-size: 14px;
	color: var(--hcg-text-dark);
}

.hcg-thankyou__table tfoot td {
	padding: 10px 16px;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
}

.hcg-thankyou__table tfoot tr:last-child th, .hcg-thankyou__table tfoot tr:last-child td {
	font-size: 16px;
	font-weight: 700;
	color: var(--hcg-text-dark);
	padding-top: 14px;
	border-top: 2px solid var(--hcg-text-dark);
}

/* Address Cards */
.hcg-thankyou__address-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.hcg-thankyou__address-card {
	background: var(--hcg-bg-white);
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 24px;
}

.hcg-thankyou__address-title {
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--hcg-text-dark);
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
}

.hcg-thankyou__address-card address {
	font-style: normal;
	line-height: 1.7;
	color: var(--hcg-text-dark);
	font-size: 14px;
}

.hcg-thankyou__address-extra {
	margin: 6px 0 0;
	font-size: 14px;
	color: var(--hcg-text-light);
}

/* --- Help / CTA Section --- */
.hcg-thankyou__help {
	background: var(--hcg-bg-light);
	border-top: 1px solid #e0e0e0;
	padding: 50px 20px;
	text-align: center;
}

.hcg-thankyou__help-inner {
	max-width: 500px;
	margin: 0 auto;
}

.hcg-thankyou__help-title {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 10px;
	color: var(--hcg-text-dark);
}

.hcg-thankyou__help-text {
	font-size: 15px;
	color: var(--hcg-text-light);
	margin: 0 0 24px;
	line-height: 1.6;
}

.hcg-thankyou__help-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Buttons (shared between hero failed state + help section) */
.hcg-thankyou__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
	border: 2px solid transparent;
}

.hcg-thankyou__btn--primary {
	background: var(--hcg-primary) !important;
	color: #fff !important;
	border-color: var(--hcg-primary) !important;
}

.hcg-thankyou__btn--primary:hover {
	background: var(--hcg-primary-dark) !important;
	border-color: var(--hcg-primary-dark) !important;
	color: #fff !important;
}

.hcg-thankyou__btn--outline {
	background: transparent !important;
	color: var(--hcg-primary) !important;
	border-color: var(--hcg-primary) !important;
}

.hcg-thankyou__btn--outline:hover {
	background: var(--hcg-primary) !important;
	color: #fff !important;
}

/* Failed order state */
.hcg-thankyou--failed .hcg-thankyou__hero {
	background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%);
}

.hcg-thankyou__failed-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 24px;
}

.hcg-thankyou--failed .hcg-thankyou__btn--primary {
	background: #fff !important;
	color: #dc2626 !important;
	border-color: #fff !important;
}

.hcg-thankyou--failed .hcg-thankyou__btn--primary:hover {
	background: #fee2e2 !important;
	border-color: #fee2e2 !important;
	color: #dc2626 !important;
}

.hcg-thankyou--failed .hcg-thankyou__btn--outline {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .5) !important;
}

.hcg-thankyou--failed .hcg-thankyou__btn--outline:hover {
	background: rgba(255, 255, 255, .15) !important;
	border-color: #fff !important;
	color: #fff !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
	.hcg-thankyou__hero {
		padding: 40px 20px 35px;
	}
	
	.hcg-thankyou__icon {
		width: 64px;
		height: 64px;
	}
	
	.hcg-thankyou__icon svg {
		width: 32px;
		height: 32px;
	}
	
	.hcg-thankyou__heading {
		font-size: 24px;
	}
	
	.hcg-thankyou__summary-inner {
		flex-wrap: wrap;
	}
	
	.hcg-thankyou__summary-item {
		flex: 1 1 calc(33.333% - 1px);
		border-right: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		padding: 14px 10px;
	}
	
	.hcg-thankyou__summary-item:nth-child(3n) {
		border-right: none;
	}
	
	.hcg-thankyou__summary-item:nth-last-child(-n+2), .hcg-thankyou__summary-item:last-child {
		border-bottom: none;
	}
	
	.hcg-thankyou__details {
		padding: 30px 16px;
	}
	
	.hcg-thankyou__details-inner {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.hcg-thankyou__table thead th, .hcg-thankyou__table tbody td, .hcg-thankyou__table tfoot th, .hcg-thankyou__table tfoot td {
		padding: 10px 12px;
	}
	
	.hcg-thankyou__help {
		padding: 35px 20px;
	}
	
	.hcg-thankyou__failed-actions, .hcg-thankyou__help-actions {
		flex-direction: column;
		align-items: center;
	}
	
	.hcg-thankyou__btn {
		width: 100%;
		max-width: 280px;
	}
}

/* ==========================================================================
   Shipping: Checkout Fields, Disclaimer, Thank-you, My Account
   ========================================================================== */

/* Checkout: carrier/account fields */
.hcg-shipping-account-fields {
	margin: 12px 0 4px 24px;
	padding: 16px 20px;
	background: #f7f9fb;
	border: 1px solid #e0e6ed;
	border-radius: 4px;
}

.hcg-shipping-account-fields .form-row {
	margin-bottom: 12px;
}

.hcg-shipping-account-fields .form-row:last-child {
	margin-bottom: 0;
}

.hcg-shipping-account-fields label {
	font-size: 14px;
	font-weight: 600;
	color: var(--hcg-text-dark);
	margin-bottom: 4px;
	display: block;
}

.hcg-shipping-account-fields select, .hcg-shipping-account-fields input[type="text"] {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ccc !important;
	border-radius: 3px;
	font-size: 14px;
}

.hcg-shipping-account-fields select:focus, .hcg-shipping-account-fields input[type="text"]:focus {
	border-color: var(--hcg-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(0, 160, 219, .15) !important;
}

/* "Save for future orders" checkbox — align vertically */
.hcg-shipping-account-fields .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center;
	gap: 6px;
}

.hcg-shipping-account-fields .woocommerce-form__label-for-checkbox input[type="checkbox"] {
	margin: 0 !important;
	flex-shrink: 0;
}

/* Checkout: flat-rate disclaimer */
.hcg-shipping-note-row td {
	padding-top: 0 !important;
}

.hcg-shipping-note {
	font-size: 13px;
	color: #856404;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 4px;
	padding: 8px 12px;
	margin: 8px 0 0;
	line-height: 1.4;
	text-align: center;
}

.hcg-shipping-note::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 6px;
	vertical-align: -2px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") no-repeat center;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") no-repeat center;
}

/* Thank-you page: shipping account info */
.hcg-thankyou__shipping-account {
	margin: 20px 0;
	padding: 20px 24px;
	background: #f0f6fc;
	border-left: 4px solid var(--hcg-primary);
	border-radius: 4px;
}

.hcg-thankyou__shipping-account h2 {
	font-size: 18px;
	margin: 0 0 10px;
	color: var(--hcg-text-dark);
}

.hcg-thankyou__shipping-account ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hcg-thankyou__shipping-account li {
	margin: 4px 0;
	font-size: 15px;
}

/* Thank-you page: international notice */
.hcg-thankyou__international-notice {
	margin: 20px 0;
	padding: 20px 24px;
	background: #fff3cd;
	border-left: 4px solid #ffc107;
	border-radius: 4px;
}

.hcg-thankyou__international-notice h2 {
	font-size: 18px;
	margin: 0 0 10px;
	color: var(--hcg-text-dark);
}

.hcg-thankyou__international-notice p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
}

/* My Account: shipping account form */
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 22px;
	margin-bottom: 8px;
}

@media (max-width: 768px) {
	.hcg-shipping-account-fields {
		margin-left: 0;
		padding: 12px 14px;
	}
}

@media only screen and (max-width: 1180px) {
	.hook_responsive .hook_forced_menu #hook_content {
		padding-top: 0;
	}
	
	.woocommerce-cart .hook_forced_menu #hook_content, .woocommerce-checkout .hook_forced_menu #hook_content, .woocommerce-account .hook_forced_menu #hook_content {
		padding-top: 90px;
	}
}

.hcg-featured-card .hcg-featured-card__image {
	padding: 0;
}

@media (min-width: 481px) {
	.hcg-featured-card .hcg-featured-card__image img {
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		object-fit: cover;
		display: block;
	}
}

.hcg-featured-card .hcg-featured-card__title, .hcg-product-card .hcg-product-card__title {
	text-wrap: balance;
}

.elementor-element-a476196 .e-child > .elementor-widget-button {
	margin-top: auto;
}

@media (min-width: 1025px) {
	.elementor-element-a476196 .e-child > .elementor-widget-heading {
		min-height: 128px;
	}
}

.elementor-widget-elementskit-team {
	flex-grow: 1;
}

.elementor-widget-elementskit-team > .elementor-widget-container, .elementor-widget-elementskit-team .ekit-wid-con, .elementor-widget-elementskit-team .profile-card {
	height: 100%;
}

.elementor-widget-elementskit-team .profile-card {
	position: relative;
	cursor: pointer;
}

.elementor-widget-elementskit-team .profile-card > a.ekit-team-popup::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

@media (min-width: 768px) {
	.elementor-element-3094740 {
		justify-content: flex-start;
	}
	
	.elementor-element-be9fba1 {
		position: sticky;
		top: 105px;
	}
}

.hcg-header__menu li:has(> a.hcg-search-trigger) {
	display: none;
}

.hcg-header__search {
	display: flex;
	align-items: center;
	padding: 10px 12px;
	color: var(--hcg-primary);
	text-decoration: none;
	transition: color .3s ease;
}

.hcg-header__search:hover {
	color: var(--hcg-accent);
}

.hcg-header__search svg {
	flex-shrink: 0;
}

.hcg-header__search--bar {
	display: none;
}

@media (min-width: 1200px) and (max-width: 1439px) {
	.hcg-header__search--nav {
		padding: 10px 6px;
	}
}

@media (max-width: 1199px) {
	.hcg-header__search--nav {
		display: none;
	}
	
	.hcg-header__search--bar {
		display: flex;
		margin-left: auto;
		margin-right: 0;
		padding: 10px 4px;
	}
}

.hcg-header__bar-icon {
	display: none;
}

@media (max-width: 1199px) {
	.hcg-header__bar-icon {
		display: flex;
		margin-top: 0;
		padding: 10px 4px;
	}
	
	.hcg-header.menu-open .hcg-header__bar-icon {
		display: none;
	}
	
	.hcg-header__mobile-toggle {
		margin-left: 12px;
	}
	
	.hcg-header__cart-count--badge {
		font-size: 12px;
		font-weight: 700;
	}
}

@media (max-width: 480px) {
	.hcg-header__inner {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.hcg-header__search--bar, .hcg-header__bar-icon {
		padding: 10px 3px;
	}
	
	.hcg-header__cart-count--badge {
		display: none;
	}
}

@media (max-width: 420px) {
	.hcg-header__search svg, .hcg-header__bar-icon svg {
		width: 17px;
		height: 17px;
	}
	
	.hcg-header__search--bar, .hcg-header__bar-icon {
		padding: 10px 2px;
	}
	
	.hcg-header__mobile-toggle {
		margin-left: 8px;
	}
}

.wc-block-product-filter-clear-button .wp-block-button__link {
	color: #fff;
}

.woocommerce div.product p.price:has(.hcg-call-for-pricing) {
	margin-top: 14px;
}

.hcg-shop-main--single .prk_inner_block, .hcg-shop-main--single .columns {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
