/* ============================================
   Elementor Custom Overrides
   Coerenza stilistica con il tema GC Coach
   ============================================ */

/* --- Typography Override --- */
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--gc-font-heading);
    font-weight: 400;
    color: var(--gc-text);
}

.elementor-widget-text-editor {
    font-family: var(--gc-font-body);
    color: var(--gc-text);
    line-height: 1.7;
}

/* --- Button Override --- */
.elementor-button {
    font-family: var(--gc-font-body) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
}

/* --- Section Spacing --- */
.elementor-section {
    padding: 0;
}

.elementor-section .elementor-container {
    max-width: var(--gc-max-width);
}

/* --- Divider --- */
.elementor-divider-separator {
    border-color: var(--gc-border) !important;
}

/* --- Icon --- */
.elementor-icon {
    color: var(--gc-gold);
}

/* --- Image --- */
.elementor-widget-image img {
    border-radius: 0;
}

/* --- Testimonial Widget --- */
.elementor-testimonial-wrapper .elementor-testimonial-content {
    font-family: var(--gc-font-heading);
    font-style: italic;
    font-size: 1.1rem;
    line-height: 1.6;
}

/* --- Form Widget --- */
.elementor-form .elementor-field {
    font-family: var(--gc-font-body);
    border: 1px solid var(--gc-border);
    border-radius: 0;
    padding: 0.8rem 1rem;
    transition: border-color 0.3s ease;
}

.elementor-form .elementor-field:focus {
    border-color: var(--gc-gold);
    box-shadow: none;
}

/* --- Spacings for Elementor inner sections --- */
.elementor-inner-section {
    margin-bottom: 0;
}

/* --- Elementor page with theme header offset --- */
body.elementor-page .gc-page-content {
    padding-top: 80px;
}

body.elementor-template-full-width .gc-page-content {
    padding-top: 80px;
}
