/* ============================================================
   Golden Auctions Design System
   Applied on top of existing Elementor styles
   ============================================================ */

:root {
    --ga-navy: #1F3042;
    --ga-gold: #C8953C;
    --ga-gold-dark: #A67830;
    --ga-gold-light: #F4E4C1;
    --ga-cream: #FAF7F2;
    --ga-cream-dark: #EDEADB;
    --ga-dark-bg: #1A2736;
    --ga-text: #333333;
    --ga-text-light: #666666;
    --ga-border: #E5E2DB;
    --ga-white: #FFFFFF;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
body.golden-theme {
    font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--ga-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

body.golden-theme h1,
body.golden-theme h2,
body.golden-theme h3,
body.golden-theme h4,
body.golden-theme h5,
body.golden-theme h6,
body.golden-theme .elementor-heading-title {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--ga-navy);
    line-height: 1.25;
}

body.golden-theme .elementor-widget-heading .elementor-heading-title {
    font-family: 'Playfair Display', Georgia, serif;
}

body.golden-theme .elementor-widget-text-editor {
    font-family: 'Source Sans Pro', sans-serif;
}

/* ============================================================
   HEADER TEMPLATE OVERRIDES
   ============================================================ */

/* Sticky header */
.elementor-location-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    border-bottom: 2px solid var(--ga-gold);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Offset page content for WP admin bar */
body.admin-bar .elementor-location-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .elementor-location-header {
        top: 46px;
    }
}

/* Let header template keep its own background colors */

/* Nav menu styling */
body.golden-theme .elementor-nav-menu--main .elementor-item {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--ga-navy) !important;
    padding: 6px 10px !important;
}

body.golden-theme .elementor-nav-menu--main .elementor-item:hover,
body.golden-theme .elementor-nav-menu--main .elementor-item.elementor-item-active {
    color: var(--ga-gold) !important;
}

/* Nav dropdown */
body.golden-theme .elementor-nav-menu--dropdown .elementor-item {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--ga-navy) !important;
    padding: 8px 16px !important;
}

body.golden-theme .elementor-nav-menu--dropdown .elementor-item:hover {
    color: var(--ga-gold) !important;
    background: var(--ga-cream) !important;
}

body.golden-theme .elementor-nav-menu--dropdown {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
    border-top: 2px solid var(--ga-gold) !important;
    border-radius: 0 0 4px 4px !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
body.golden-theme .elementor-button {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 3px !important;
    transition: all 0.2s ease !important;
}

/* Primary gold button */
body.golden-theme .elementor-button-wrapper .elementor-button {
    font-size: 13px !important;
    padding: 10px 24px !important;
}

/* ============================================================
   SECTIONS - Tighter spacing
   ============================================================ */
body.golden-theme .elementor-section.elementor-section-stretched {
    contain: paint;
}

body.golden-theme .elementor-section .elementor-container {
    max-width: 1140px;
}

/* Reduce oversized section padding */
body.golden-theme .elementor-section > .elementor-container {
    padding-left: 20px;
    padding-right: 20px;
}

/* ============================================================
   HERO / SLIDER SECTIONS
   ============================================================ */
body.golden-theme .elementor-slides .swiper-slide-contents {
    max-width: 800px;
}

body.golden-theme .elementor-slides .elementor-slide-heading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

body.golden-theme .elementor-slides .elementor-slide-description {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

body.golden-theme .elementor-slides .elementor-slide-button {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 3px !important;
    padding: 10px 28px !important;
}

@media (max-width: 767px) {
    body.golden-theme .elementor-slides .elementor-slide-heading {
        font-size: 24px !important;
    }
    body.golden-theme .elementor-slides .elementor-slide-description {
        font-size: 14px !important;
    }
}

/* ============================================================
   HEADINGS - Scale down
   ============================================================ */
body.golden-theme h1.elementor-heading-title,
body.golden-theme .elementor-widget-heading h1.elementor-heading-title {
    font-size: 32px;
}

body.golden-theme h2.elementor-heading-title,
body.golden-theme .elementor-widget-heading h2.elementor-heading-title {
    font-size: 26px;
}

body.golden-theme h3.elementor-heading-title,
body.golden-theme .elementor-widget-heading h3.elementor-heading-title {
    font-size: 20px;
}

body.golden-theme h4.elementor-heading-title,
body.golden-theme .elementor-widget-heading h4.elementor-heading-title {
    font-size: 17px;
}

@media (max-width: 767px) {
    body.golden-theme h1.elementor-heading-title { font-size: 24px; }
    body.golden-theme h2.elementor-heading-title { font-size: 22px; }
    body.golden-theme h3.elementor-heading-title { font-size: 18px; }
}

/* ============================================================
   ACCORDION (FAQ)
   ============================================================ */
body.golden-theme .elementor-accordion .elementor-accordion-item {
    border-color: var(--ga-border) !important;
}

body.golden-theme .elementor-accordion .elementor-tab-title {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ga-navy) !important;
    padding: 12px 16px !important;
}

body.golden-theme .elementor-accordion .elementor-tab-title.elementor-active {
    color: var(--ga-gold) !important;
}

body.golden-theme .elementor-accordion .elementor-tab-content {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--ga-text) !important;
    padding: 12px 16px !important;
}

body.golden-theme .elementor-accordion .elementor-accordion-icon i {
    color: var(--ga-gold) !important;
}

/* ============================================================
   ICON LIST (footer, content lists)
   ============================================================ */
body.golden-theme .elementor-icon-list-item .elementor-icon-list-text {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 14px;
}

/* ============================================================
   FOOTER TEMPLATE OVERRIDES
   ============================================================ */
.elementor-location-footer {
    border-top: 2px solid var(--ga-gold);
}

.elementor-location-footer .elementor-heading-title {
    color: var(--ga-white) !important;
    font-size: 16px !important;
}

.elementor-location-footer .elementor-widget-text-editor {
    font-size: 13px;
    line-height: 1.6;
}

.elementor-location-footer .elementor-icon-list-text {
    font-size: 13px !important;
}

/* ============================================================
   FORMS
   ============================================================ */
body.golden-theme .elementor-field-group .elementor-field {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 14px !important;
    border: 1px solid var(--ga-border) !important;
    border-radius: 3px !important;
    padding: 10px 14px !important;
    transition: border-color 0.2s ease !important;
}

body.golden-theme .elementor-field-group .elementor-field:focus {
    border-color: var(--ga-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(200,149,60,0.15) !important;
}

body.golden-theme .elementor-field-group label {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ga-navy) !important;
}

body.golden-theme .elementor-button[type="submit"],
body.golden-theme .elementor-field-type-submit .elementor-button {
    background-color: var(--ga-gold) !important;
    color: var(--ga-white) !important;
    font-size: 14px !important;
    padding: 12px 28px !important;
}

body.golden-theme .elementor-button[type="submit"]:hover,
body.golden-theme .elementor-field-type-submit .elementor-button:hover {
    background-color: var(--ga-gold-dark) !important;
}

/* ============================================================
   SOCIAL ICONS
   ============================================================ */
body.golden-theme .elementor-social-icon:hover {
    opacity: 0.8;
}

/* ============================================================
   GOOGLE MAPS
   ============================================================ */
body.golden-theme .elementor-widget-google_maps iframe {
    border-radius: 4px;
}

/* ============================================================
   GENERAL SPACING IMPROVEMENTS
   ============================================================ */
body.golden-theme .elementor-widget:not(:last-child) {
    margin-bottom: 15px;
}

body.golden-theme .elementor-widget-divider {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

/* ============================================================
   LINKS
   ============================================================ */
body.golden-theme a {
    transition: color 0.2s ease;
}

body.golden-theme .elementor-widget-text-editor a {
    color: var(--ga-gold);
    text-decoration: none;
}

body.golden-theme .elementor-widget-text-editor a:hover {
    color: var(--ga-gold-dark);
    text-decoration: underline;
}

/* ============================================================
   RESPONSIVE REFINEMENTS
   ============================================================ */
@media (max-width: 1024px) {
    body.golden-theme .elementor-nav-menu--main .elementor-item {
        font-size: 12px !important;
        padding: 5px 6px !important;
    }
}

@media (max-width: 767px) {
    body.golden-theme .elementor-section > .elementor-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    body.golden-theme .elementor-button {
        font-size: 13px !important;
        padding: 9px 20px !important;
    }

    /* Stack columns on mobile */
    body.golden-theme .elementor-column {
        width: 100% !important;
    }
}

/* ============================================================
   PAGE-SPECIFIC: Home page hero enhancement
   ============================================================ */
.page-id-4018 .elementor-slides {
    max-height: 420px;
}

.page-id-4018 .elementor-slides .swiper-slide {
    min-height: 380px !important;
    max-height: 420px !important;
}

/* ============================================================
   UTILITY: Gold accent borders
   ============================================================ */
body.golden-theme .elementor-widget-image-box .elementor-image-box-wrapper {
    border-bottom: 2px solid var(--ga-gold);
    padding-bottom: 15px;
}

/* ============================================================
   NEW PAGE COMPONENTS
   ============================================================ */

/* --- Page Hero Banner (cream) --- */
.ga-page-hero {
    background-color: var(--ga-cream) !important;
    border-bottom: 2px solid var(--ga-gold) !important;
    text-align: center;
}

.ga-page-hero .elementor-heading-title,
.ga-hero-title .elementor-heading-title {
    color: var(--ga-navy) !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

.ga-page-hero .elementor-widget-text-editor,
.ga-hero-sub,
.ga-hero-sub p {
    color: var(--ga-text-light) !important;
    font-size: 16px !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    .ga-page-hero .elementor-heading-title,
    .ga-hero-title .elementor-heading-title {
        font-size: 26px !important;
    }
}

/* --- Alternating Background Sections --- */
.ga-alt-bg {
    background-color: var(--ga-cream) !important;
}

/* --- Section Title Centered --- */
.ga-section-title-center .elementor-heading-title {
    text-align: center !important;
}

/* --- Content Section Typography --- */
.ga-content-section .elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ga-text);
}

/* --- Service Cards Grid --- */
.ga-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 10px;
}

.ga-service-card {
    background: var(--ga-white);
    border: 1px solid var(--ga-border);
    border-top: 3px solid var(--ga-gold);
    border-radius: 6px;
    padding: 28px 22px;
    text-align: center;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ga-service-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.ga-service-card .ga-service-icon {
    margin-bottom: 14px;
}

.ga-service-card .ga-service-icon i {
    font-size: 30px;
    color: var(--ga-gold);
}

.ga-service-card h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ga-navy);
    margin: 0 0 8px 0;
}

.ga-service-card p {
    font-size: 14px;
    color: var(--ga-text-light);
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 767px) {
    .ga-services-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .ga-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- Steps (How It Works) --- */
.ga-steps {
    display: flex;
    gap: 24px;
    justify-content: center;
    margin-top: 10px;
}

.ga-step {
    flex: 1;
    text-align: center;
    background: var(--ga-white);
    border: 1px solid var(--ga-border);
    border-radius: 6px;
    padding: 28px 22px;
    position: relative;
}

.ga-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--ga-gold);
    color: var(--ga-white);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    border-radius: 50%;
    margin-bottom: 14px;
}

.ga-step h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--ga-navy);
    margin: 0 0 8px 0;
}

.ga-step p {
    font-size: 14px;
    color: var(--ga-text-light);
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 767px) {
    .ga-steps {
        flex-direction: column;
    }
}

/* --- CTA Band (cream) --- */
.ga-cta-cream {
    background-color: var(--ga-cream) !important;
    border-top: 2px solid var(--ga-gold) !important;
    text-align: center;
    padding: 45px 20px !important;
}

.ga-cta-cream .elementor-heading-title {
    color: var(--ga-navy) !important;
}

.ga-cta-cream .elementor-widget-text-editor,
.ga-cta-cream .elementor-widget-text-editor p {
    color: var(--ga-navy) !important;
    text-align: center !important;
}

.ga-cta-cream .elementor-widget-text-editor a {
    color: var(--ga-gold) !important;
}

/* --- Cream Outline Button --- */
.ga-btn-cream-outline {
    background: transparent !important;
    color: var(--ga-navy) !important;
    border: 2px solid var(--ga-navy) !important;
    border-radius: 3px;
}

.ga-btn-cream-outline:hover {
    background: var(--ga-navy) !important;
    color: var(--ga-white) !important;
    text-decoration: none;
}

/* --- Padded Section --- */
.ga-section-padded {
    padding: 50px 20px !important;
}

.ga-section-padded .elementor-heading-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--ga-navy) !important;
}

.ga-section-padded .elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ga-text);
}

.ga-section-padded .elementor-icon-list-icon i {
    color: var(--ga-gold) !important;
}

.ga-section-padded .elementor-widget-text-editor a {
    color: var(--ga-gold);
}

/* --- Thank You Page --- */
.ga-thankyou {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px !important;
}

/* --- Gold Button --- */
.ga-btn-gold .elementor-button {
    background-color: var(--ga-gold) !important;
    color: var(--ga-white) !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 11px 28px !important;
}

.ga-btn-gold .elementor-button:hover {
    background-color: var(--ga-gold-dark) !important;
}

/* --- Outline Button --- */
.ga-btn-outline .elementor-button {
    background-color: transparent !important;
    color: var(--ga-gold) !important;
    border: 2px solid var(--ga-gold) !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 9px 28px !important;
}

.ga-btn-outline .elementor-button:hover {
    background-color: var(--ga-gold) !important;
    color: var(--ga-white) !important;
}

.ga-cta-band .ga-btn-outline .elementor-button {
    color: var(--ga-white) !important;
    border-color: var(--ga-white) !important;
}

.ga-cta-band .ga-btn-outline .elementor-button:hover {
    background-color: var(--ga-white) !important;
    color: var(--ga-navy) !important;
}

/* --- Thank You Page --- */
.ga-thankyou-section {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- Icon List Styling in Content --- */
.ga-content-section .elementor-icon-list-icon i {
    color: var(--ga-gold) !important;
}

.ga-content-section .elementor-icon-list-text {
    font-size: 15px !important;
}

/* --- Two-Column Layout Polish --- */
.ga-content-section .elementor-row > .elementor-column {
    padding: 0 15px;
}

/* ============================================================
   HOUSE CLEARANCE PAGE
   ============================================================ */

/* --- HC Hero (cream) --- */
.hc-hero {
    background-color: var(--ga-cream) !important;
    border-bottom: 2px solid var(--ga-gold) !important;
    text-align: center;
    padding: 60px 20px 50px !important;
}

.hc-hero-title .elementor-heading-title {
    color: var(--ga-navy) !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    max-width: 800px;
    margin: 0 auto !important;
}

.hc-hero-sub,
.hc-hero-sub p {
    color: var(--ga-text-light) !important;
    font-size: 18px !important;
    text-align: center !important;
}

.hc-hero-btns {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.hc-btn {
    display: inline-block;
    padding: 12px 28px;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 3px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.hc-btn-gold,
a.hc-btn-gold,
.ga-cta-cream a.hc-btn-gold,
.hc-cta-banner a.hc-btn-gold,
.elementor-widget-text-editor a.hc-btn-gold {
    background: var(--ga-gold);
    color: #FFFFFF !important;
}

.hc-btn-gold:hover,
a.hc-btn-gold:hover,
.ga-cta-cream a.hc-btn-gold:hover,
.hc-cta-banner a.hc-btn-gold:hover,
.elementor-widget-text-editor a.hc-btn-gold:hover {
    background: var(--ga-gold-dark);
    color: #FFFFFF !important;
    text-decoration: none;
}

.hc-btn-outline {
    background: transparent;
    color: var(--ga-navy) !important;
    border: 2px solid var(--ga-navy);
}

.hc-btn-outline:hover {
    background: var(--ga-navy);
    color: var(--ga-white) !important;
    text-decoration: none;
}

.hc-btn-outline-white {
    background: transparent;
    color: var(--ga-navy) !important;
    border: 2px solid var(--ga-navy);
}

.hc-btn-outline-white:hover {
    background: var(--ga-navy);
    color: var(--ga-white) !important;
    text-decoration: none;
}

.hc-trust-line {
    text-align: center;
    color: var(--ga-text-light) !important;
    font-size: 13px !important;
}

.hc-trust-line span {
    margin: 0 12px;
}

.hc-trust-line i {
    color: var(--ga-gold);
    margin-right: 4px;
}

@media (max-width: 767px) {
    .hc-hero {
        padding: 40px 15px 35px !important;
    }
    .hc-hero-title .elementor-heading-title {
        font-size: 26px !important;
    }
    .hc-hero-sub, .hc-hero-sub p {
        font-size: 15px !important;
    }
    .hc-hero-btns {
        flex-direction: column;
        align-items: center;
    }
    .hc-btn {
        width: 80%;
        text-align: center;
    }
    .hc-trust-line span {
        display: block;
        margin: 6px 0;
    }
}

/* --- HC Section Titles --- */
.hc-section-title .elementor-heading-title {
    text-align: center !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--ga-navy) !important;
    font-size: 28px !important;
    font-weight: 600 !important;
}

/* --- HC Who We Are --- */
.hc-who-we-are {
    padding: 55px 20px !important;
}

.hc-who-we-are .elementor-heading-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--ga-navy) !important;
    font-size: 26px !important;
}

.hc-who-we-are .elementor-widget-text-editor p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ga-text);
}

.hc-who-we-are .elementor-icon-list-icon i {
    color: var(--ga-gold) !important;
}

.hc-who-we-are .elementor-icon-list-text {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ga-navy) !important;
}

.hc-img-placeholder {
    background: linear-gradient(135deg, #E8E4DC 0%, #D5CFC3 100%);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    color: var(--ga-text-light);
}

.hc-img-placeholder i {
    font-size: 64px;
    color: var(--ga-gold);
    margin-bottom: 12px;
}

.hc-img-placeholder span {
    font-size: 14px;
    font-weight: 600;
    color: var(--ga-text-light);
}

/* --- HC Icon Grid (Services) --- */
.hc-services {
    background: var(--ga-cream) !important;
    padding: 55px 20px !important;
}

.hc-icon-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    max-width: 1000px;
    margin: 0 auto;
}

.hc-icon-box {
    background: var(--ga-white);
    border: 1px solid var(--ga-border);
    border-radius: 8px;
    padding: 30px 22px;
    text-align: center;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.hc-icon-box:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}

.hc-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(200,149,60,0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.hc-icon-wrap i {
    font-size: 24px;
    color: var(--ga-gold);
}

.hc-icon-box h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ga-navy);
    margin: 0 0 8px;
}

.hc-icon-box p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--ga-text-light);
    margin: 0;
}

@media (max-width: 767px) {
    .hc-icon-grid { grid-template-columns: 1fr; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .hc-icon-grid { grid-template-columns: repeat(2, 1fr); }
}

/* --- HC Process Steps --- */
.hc-process-section {
    padding: 55px 20px !important;
}

.hc-process {
    display: flex;
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.hc-process-step {
    flex: 1;
    text-align: center;
    background: var(--ga-cream);
    border-radius: 8px;
    padding: 30px 20px;
    position: relative;
}

.hc-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: var(--ga-gold);
    color: var(--ga-white);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    border-radius: 50%;
    margin-bottom: 14px;
    box-shadow: 0 3px 10px rgba(200,149,60,0.3);
}

.hc-process-step h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ga-navy);
    margin: 0 0 8px;
}

.hc-process-step p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--ga-text-light);
    margin: 0;
}

@media (max-width: 767px) {
    .hc-process { flex-direction: column; }
}

/* --- HC Areas --- */
.hc-areas {
    background: var(--ga-cream) !important;
    padding: 55px 20px !important;
}

.hc-areas .elementor-heading-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--ga-navy) !important;
    font-size: 26px !important;
}

.hc-areas .elementor-icon-list-icon i {
    color: var(--ga-gold) !important;
}

.hc-areas .elementor-icon-list-text {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.hc-areas .elementor-widget-google_maps iframe {
    border-radius: 8px;
}

.hc-areas .elementor-widget-text-editor a {
    color: var(--ga-gold);
}

/* --- HC Why Choose Us --- */
.hc-why-section {
    padding: 55px 20px !important;
}

.hc-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.hc-why-card {
    text-align: center;
    padding: 28px 18px;
    background: var(--ga-cream);
    border-radius: 8px;
    border-bottom: 3px solid var(--ga-gold);
    transition: transform 0.2s ease;
}

.hc-why-card:hover {
    transform: translateY(-2px);
}

.hc-why-card i {
    font-size: 30px;
    color: var(--ga-gold);
    margin-bottom: 14px;
    display: block;
}

.hc-why-card h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--ga-navy);
    margin: 0 0 8px;
}

.hc-why-card p {
    font-size: 13px;
    color: var(--ga-text-light);
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 767px) {
    .hc-why-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media (max-width: 480px) {
    .hc-why-grid { grid-template-columns: 1fr; }
}

/* --- HC Testimonials --- */
.hc-testimonials-section {
    background: var(--ga-cream) !important;
    padding: 55px 20px !important;
}

.hc-testimonials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    max-width: 1000px;
    margin: 0 auto;
}

.hc-testimonial {
    background: var(--ga-white);
    border-radius: 8px;
    padding: 28px 24px;
    border-left: 3px solid var(--ga-gold);
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.hc-quote {
    font-size: 15px;
    line-height: 1.65;
    color: var(--ga-text);
    font-style: italic;
    margin: 0 0 14px;
}

.hc-author {
    font-size: 13px;
    font-weight: 600;
    color: var(--ga-gold);
    margin: 0;
}

@media (max-width: 767px) {
    .hc-testimonials { grid-template-columns: 1fr; }
}

/* --- HC Form Section --- */
.hc-form-section {
    background: var(--ga-cream) !important;
    padding: 60px 20px !important;
}

.hc-form-section .elementor-form {
    max-width: 700px;
    margin: 0 auto;
}

.hc-form-section .elementor-field-group .elementor-field {
    border: 1px solid var(--ga-border) !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease !important;
}

.hc-form-section .elementor-field-group .elementor-field:focus {
    border-color: var(--ga-gold) !important;
    box-shadow: 0 0 0 2px rgba(200,149,60,0.15) !important;
}

.hc-form-section .elementor-field-group label {
    font-weight: 600 !important;
    color: var(--ga-navy) !important;
    font-size: 14px !important;
}

.hc-form-section .elementor-button[type="submit"],
.hc-form-section .elementor-field-type-submit .elementor-button {
    background: var(--ga-gold) !important;
    color: var(--ga-white) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 13px 36px !important;
    border-radius: 3px !important;
}

.hc-form-section .elementor-button[type="submit"]:hover,
.hc-form-section .elementor-field-type-submit .elementor-button:hover {
    background: var(--ga-gold-dark) !important;
}

/* --- HC CTA Banner (cream) --- */
.hc-cta-banner {
    background-color: var(--ga-cream) !important;
    border-top: 2px solid var(--ga-gold) !important;
    text-align: center;
    padding: 50px 20px !important;
}

.hc-cta-banner .elementor-heading-title {
    color: var(--ga-navy) !important;
}

.hc-cta-banner .elementor-widget-text-editor,
.hc-cta-banner .elementor-widget-text-editor p {
    color: var(--ga-navy) !important;
    font-size: 16px !important;
    text-align: center !important;
}

/* --- HC FAQ Section --- */
.hc-faq-section {
    padding: 55px 20px !important;
}

.hc-faq-section .elementor-accordion {
    max-width: 800px;
    margin: 0 auto;
}

.hc-faq-section .elementor-accordion-item {
    border-color: var(--ga-border) !important;
    margin-bottom: 6px;
}

.hc-faq-section .elementor-tab-title {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ga-navy) !important;
    padding: 14px 18px !important;
    background: var(--ga-cream) !important;
}

.hc-faq-section .elementor-tab-title.elementor-active {
    color: var(--ga-gold) !important;
}

.hc-faq-section .elementor-tab-content {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--ga-text) !important;
    padding: 14px 18px !important;
}

.hc-faq-section .elementor-accordion-icon i {
    color: var(--ga-gold) !important;
}

.hc-faq-section .elementor-widget-text-editor a {
    color: var(--ga-gold);
}

/* --- HC Form Section Anchor --- */
#clearance-quote {
    scroll-margin-top: 80px;
}

/* --- Rounded Images --- */
.ga-rounded-img img {
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* ============================================================
   FOOTER
   ============================================================ */
.ga-footer-main {
    background-color: var(--ga-navy) !important;
    border-top: 3px solid var(--ga-gold) !important;
}

.ga-footer-logo img {
    max-width: 180px !important;
    margin-bottom: 12px !important;
}

body.golden-theme .ga-footer-main .ga-footer-desc,
body.golden-theme .ga-footer-main .ga-footer-desc p {
    color: #D0D8E0 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.ga-footer-heading .elementor-heading-title {
    color: var(--ga-gold) !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(197,167,95,0.3) !important;
}

/* Footer nav links - force white on navy */
body.golden-theme .ga-footer-main .ga-footer-nav .elementor-nav-menu--layout-vertical .elementor-item,
body.golden-theme .ga-footer-main .ga-footer-nav .elementor-nav-menu a,
body.golden-theme .ga-footer-main .ga-footer-nav a,
body.golden-theme .ga-footer-main .elementor-widget-nav-menu a,
body.golden-theme .ga-footer-main .elementor-widget-nav-menu .elementor-item,
body.golden-theme .elementor-location-footer .elementor-widget-nav-menu a {
    color: #FFFFFF !important;
    font-size: 13px !important;
    padding: 5px 0 !important;
    transition: color 0.2s !important;
    text-decoration: none !important;
}

body.golden-theme .ga-footer-main .ga-footer-nav .elementor-item:hover,
body.golden-theme .ga-footer-main .elementor-widget-nav-menu a:hover,
body.golden-theme .elementor-location-footer .elementor-widget-nav-menu a:hover {
    color: var(--ga-gold) !important;
}

/* Footer contact icon list */
body.golden-theme .ga-footer-main .ga-footer-contact .elementor-icon-list-text,
body.golden-theme .ga-footer-main .ga-footer-contact .elementor-icon-list-text a {
    color: #FFFFFF !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.golden-theme .ga-footer-main .ga-footer-contact .elementor-icon-list-text a:hover {
    color: var(--ga-gold) !important;
}

.ga-footer-contact .elementor-icon-list-icon i {
    color: var(--ga-gold) !important;
    font-size: 14px !important;
}

/* Footer social icons */
.ga-footer-social .elementor-social-icon {
    background-color: rgba(197,167,95,0.15) !important;
    border: 1px solid rgba(197,167,95,0.4) !important;
    transition: all 0.2s !important;
}

.ga-footer-social .elementor-social-icon:hover {
    background-color: var(--ga-gold) !important;
    border-color: var(--ga-gold) !important;
}

.ga-footer-social .elementor-social-icon i {
    color: var(--ga-gold) !important;
}

.ga-footer-social .elementor-social-icon:hover i {
    color: var(--ga-white) !important;
}

/* Footer bottom bar */
.ga-footer-bottom {
    background-color: #0D1B2A !important;
}

.ga-footer-copy,
.ga-footer-copy p {
    color: #7A8A9A !important;
    font-size: 12px !important;
    margin: 0 !important;
}

.ga-footer-credit,
.ga-footer-credit p {
    color: #7A8A9A !important;
    font-size: 12px !important;
    text-align: right !important;
    margin: 0 !important;
}

.ga-footer-credit a {
    color: var(--ga-gold) !important;
}

.ga-footer-credit a:hover {
    text-decoration: underline !important;
}

@media (max-width: 767px) {
    .ga-footer-main > .elementor-container {
        flex-direction: column !important;
    }
    .ga-footer-main .elementor-column {
        width: 100% !important;
        margin-bottom: 25px !important;
        text-align: center !important;
    }
    .ga-footer-credit,
    .ga-footer-credit p {
        text-align: center !important;
    }
    .ga-footer-copy,
    .ga-footer-copy p {
        text-align: center !important;
    }
}

/* ============================================================
   FORMINATOR FORM STYLING
   ============================================================ */
.ga-form-section .forminator-custom-form {
    max-width: 700px;
    margin: 0 auto;
}

.ga-form-section .forminator-custom-form .forminator-field {
    margin-bottom: 18px !important;
}

.ga-form-section .forminator-custom-form .forminator-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ga-navy) !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.ga-form-section .forminator-custom-form .forminator-input,
.ga-form-section .forminator-custom-form .forminator-textarea,
.ga-form-section .forminator-custom-form .forminator-select {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #D0CFC9 !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--ga-text) !important;
    background: var(--ga-white) !important;
    transition: border-color 0.2s !important;
    box-sizing: border-box !important;
}

.ga-form-section .forminator-custom-form .forminator-input:focus,
.ga-form-section .forminator-custom-form .forminator-textarea:focus {
    border-color: var(--ga-gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(197,167,95,0.15) !important;
}

.ga-form-section .forminator-custom-form .forminator-textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.ga-form-section .forminator-custom-form .forminator-button-submit {
    background: var(--ga-gold) !important;
    color: var(--ga-white) !important;
    border: none !important;
    padding: 13px 40px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    display: block !important;
    margin: 10px auto 0 !important;
}

.ga-form-section .forminator-custom-form .forminator-button-submit:hover {
    background: var(--ga-gold-dark) !important;
}

.ga-form-section .forminator-custom-form .forminator-upload {
    border: 2px dashed #D0CFC9 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    text-align: center !important;
    background: var(--ga-white) !important;
}

.ga-form-section .forminator-custom-form .forminator-row {
    display: flex !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.ga-form-section .forminator-custom-form .forminator-col {
    flex: 1 !important;
    min-width: 200px !important;
}

.ga-form-section .forminator-custom-form .forminator-field .forminator-description,
.ga-form-section .forminator-custom-form .forminator-field .forminator-charcount {
    font-size: 12px !important;
    color: var(--ga-text-light) !important;
}

/* Hide honeypot label */
.ga-form-section .forminator-custom-form .forminator-is-hidden {
    display: none !important;
}

/* ============================================================
   PRINT STYLES
   ============================================================ */
@media print {
    .elementor-location-header,
    .elementor-location-footer,
    .elementor-button {
        display: none !important;
    }
}
