/* ==========================================================================
   Elementor Overrides — align Elementor widgets with brand tokens.
   ========================================================================== */

/* --- Headings --- */
.elementor-heading-title {
    color: var(--isc-color-heading);
}

.elementor-widget-heading .elementor-heading-title {
    letter-spacing: var(--isc-ls-heading);
}

/* --- Text Editor --- */
.elementor-widget-text-editor {
    font-family: var(--isc-font-body);
    font-weight: var(--isc-fw-light);
    color: var(--isc-color-body);
    line-height: var(--isc-lh-body);
}

/* --- Buttons: Primary --- */
.elementor-button {
    font-family: var(--isc-font-body);
    font-weight: var(--isc-fw-regular);
    letter-spacing: var(--isc-ls-eyebrow);
    border-radius: var(--isc-radius-sm);
    padding: var(--isc-space-sm) var(--isc-space-xl);
    min-height: var(--isc-touch-min);
    transition: all var(--isc-transition-base);
}

.elementor-button-wrapper .elementor-button {
    background-color: var(--isc-bg-stone);
    color: #FFFFFF;
    border: 2px solid var(--isc-bg-stone);
}

.elementor-button-wrapper .elementor-button:hover {
    background-color: var(--isc-ink-black);
    border-color: var(--isc-ink-black);
    color: #FFFFFF;
}

/* --- Buttons: Outline variant (use Elementor's secondary style) --- */
.elementor-button.elementor-button--outline,
.elementor-button-wrapper .elementor-button[class*="outline"] {
    background-color: transparent;
    color: var(--isc-bg-stone);
    border: 2px solid var(--isc-color-border);
}

.elementor-button.elementor-button--outline:hover,
.elementor-button-wrapper .elementor-button[class*="outline"]:hover {
    background-color: var(--isc-bg-stone);
    color: #FFFFFF;
    border-color: var(--isc-bg-stone);
}

/* --- Fallback theme buttons --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--isc-font-body);
    font-weight: var(--isc-fw-regular);
    font-size: var(--isc-fs-body);
    text-decoration: none;
    border-radius: var(--isc-radius-sm);
    padding: var(--isc-space-sm) var(--isc-space-xl);
    min-height: var(--isc-touch-min);
    transition: all var(--isc-transition-base);
    cursor: pointer;
}

.btn--primary {
    background-color: var(--isc-bg-stone);
    color: #FFFFFF;
    border: 2px solid var(--isc-bg-stone);
}

.btn--primary:hover {
    background-color: var(--isc-ink-black);
    border-color: var(--isc-ink-black);
    color: #FFFFFF;
}

.btn--outline {
    background-color: transparent;
    color: var(--isc-bg-stone);
    border: 2px solid var(--isc-color-border);
}

.btn--outline:hover {
    background-color: var(--isc-bg-stone);
    color: #FFFFFF;
    border-color: var(--isc-bg-stone);
}

/* --- Button hover lift + press feedback --- */
@media (prefers-reduced-motion: no-preference) {
    .btn,
    .elementor-button {
        transform: translateY(0);
    }

    .btn:hover,
    .elementor-button:hover {
        transform: translateY(-2px);
        box-shadow: var(--isc-shadow-md);
    }

    .btn:active,
    .elementor-button:active {
        transform: translateY(0) scale(0.98);
        box-shadow: var(--isc-shadow-sm);
    }
}

/* --- Section backgrounds --- */
.elementor-section {
    background-color: var(--isc-color-bg-page);
}

/* --- Form widgets --- */
.elementor-field-textual {
    font-family: var(--isc-font-body);
    font-weight: var(--isc-fw-light);
    font-size: var(--isc-fs-body);
    color: var(--isc-color-body);
    border: 1px solid var(--isc-pale-stone);
    border-radius: var(--isc-radius-sm);
    padding: var(--isc-space-sm) var(--isc-space-md);
    min-height: var(--isc-touch-min);
    transition: border-color var(--isc-transition-fast);
}

.elementor-field-textual:focus {
    border-color: var(--isc-text-stone);
    outline: var(--isc-focus-ring);
    outline-offset: var(--isc-focus-offset);
}

/* --- Testimonial widget --- */
.elementor-testimonial-content {
    font-family: var(--isc-font-display);
    font-weight: var(--isc-fw-light);
    font-style: italic;
    color: var(--isc-text-driftwood);
    line-height: var(--isc-lh-display);
}

/* --- Icon list --- */
.elementor-icon-list-text {
    font-family: var(--isc-font-body);
    color: var(--isc-color-body);
}

/* --- Divider --- */
.elementor-divider-separator {
    border-color: var(--isc-warm-stone);
}
