/*
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: #666666;
    --hcg-text-white: #ffffff;

    /* Background Colors */
    --hcg-bg-dark: #0058A8;
    --hcg-bg-light: #f2f2f2;
    --hcg-bg-white: #ffffff;

    /* 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, 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 0.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 0.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 0.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: 0.7;
}

.hcg-site-footer__copyright {
    font-size: 13px;
    margin: 0;
    opacity: 0.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 0.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, 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, 0.95);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.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 0.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 0.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, 0.5);
}

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

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

.hcg-search-overlay__hint {
    color: rgba(255, 255, 255, 0.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('/wp-content/uploads/2023/11/national-cancer-institute-KrsoedfRAf4-unsplash.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* 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, 0.75) 0%, rgba(0, 160, 219, 0.65) 100%);
    z-index: 1;
}

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

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

/* Page-specific hero backgrounds */
.hcg-page-header--about {
    background-image: url('/wp-content/uploads/2023/12/shutterstock_2066542571.jpg');
    background-position: center top;
}
.hcg-page-header--team {
    background-image: url('/wp-content/uploads/2023/12/shutterstock_568729666.jpg');
}
.hcg-page-header--contact {
    background-image: url('/wp-content/uploads/2023/12/shutterstock_568729666.jpg');
}

/* ==========================================================================
   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: 0.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: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    border-radius: 4px;
    transition: all 0.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: #ffffff !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, 0.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 0.3s ease, transform 0.3s ease;
}

.hcg-team-member:hover {
    box-shadow: 0 8px 25px rgba(0, 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 0.6s ease, transform 0.6s ease;
}

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

.hcg-team-member.hcg-animate-in:nth-child(3n+3) {
    transition-delay: 0.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 0.3s ease, visibility 0.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, 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, 0.3);
    transform: translateY(20px) scale(0.95);
    transition: transform 0.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 0.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: 0.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 0.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 0.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;
}

/* 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 0.3s ease, transform 0.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, 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: #ffffff !important;
    text-align: center !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    transition: background 0.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: #ffffff;
}

/* ==========================================================================
   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 0.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 0.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 0.3s ease, visibility 0.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, 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, 0.3);
    transform: translateY(20px) scale(0.95);
    transition: transform 0.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 0.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, 0.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 0.2s ease, color 0.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: 0.4 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before {
    opacity: 0.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 0.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 0.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 0.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: 0.5px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.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, 0.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: 0.5px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.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 0.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 0.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 0.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: 0.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, 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 0.2s ease, visibility 0.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, 0.06) 0%, rgba(0, 160, 219, 0.06) 100%);
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s ease;
    border-bottom: none;
}

.hcg-category-dropdown .hcg-category-dropdown__featured-link:hover {
    background: linear-gradient(135deg, rgba(0, 88, 168, 0.12) 0%, rgba(0, 160, 219, 0.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: 0.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 0.15s ease, color 0.15s ease;
    line-height: 1.35;
    border-bottom: none;
}

.hcg-category-dropdown .hcg-category-dropdown__grid a:hover {
    background: rgba(0, 160, 219, 0.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, 0.06) 0%, rgba(0, 160, 219, 0.06) 100%);
    border-radius: 6px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    color: var(--hcg-bg-dark);
    transition: background 0.2s ease;
    border-bottom: none;
}

.hcg-category-dropdown .hcg-category-dropdown__footer a:hover {
    background: linear-gradient(135deg, rgba(0, 88, 168, 0.12) 0%, rgba(0, 160, 219, 0.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__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: 0.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: 0.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: 0.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: 0.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 0.2s, color 0.2s, border-color 0.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, 0.5) !important;
}

.hcg-thankyou--failed .hcg-thankyou__btn--outline:hover {
    background: rgba(255, 255, 255, 0.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, 0.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 0.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;
}
