/* ============================================================
   ELEMENTOR CUSTOM – Dark theme overrides for Elementor widgets
   ============================================================ */

/* ── Global Elementor Reset ── */
.elementor-section,
.elementor-container,
.elementor-widget-wrap {
    background-color: transparent;
}

/* ── Elementor Typography ── */
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--cr-font-display);
    letter-spacing: .04em;
    color: #fff;
}
.elementor-widget-text-editor p {
    color: var(--cr-dim);
    line-height: 1.75;
}

/* ── Elementor Buttons ── */
.elementor-widget-button .elementor-button {
    font-family: var(--cr-font-heading);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-radius: var(--cr-radius);
    transition: all .2s;
}
.elementor-widget-button .elementor-button.elementor-button-link {
    background: linear-gradient(135deg, var(--cr-purple), var(--cr-pink));
    color: #fff;
    border: none;
}
.elementor-widget-button .elementor-button.elementor-button-link:hover {
    opacity: .85;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(168,85,247,.4);
}

/* ── Elementor Image Widget ── */
.elementor-widget-image img {
    border-radius: var(--cr-radius);
}

/* ── Elementor Divider ── */
.elementor-widget-divider .elementor-divider-separator {
    border-color: var(--cr-border);
}
.elementor-widget-divider.cr-neon-divider .elementor-divider-separator {
    background: linear-gradient(90deg, transparent, var(--cr-purple), var(--cr-pink), transparent);
    border: none;
    height: 1px;
}

/* ── Elementor Icon Box ── */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
    background: var(--cr-card);
    border: 1px solid var(--cr-border);
    border-radius: var(--cr-radius-lg);
    padding: 2rem;
    transition: all .2s;
}
.elementor-widget-icon-box .elementor-icon-box-wrapper:hover {
    border-color: rgba(168,85,247,.4);
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(0,0,0,.4);
}
.elementor-widget-icon-box .elementor-icon-box-title {
    color: #fff;
    font-family: var(--cr-font-heading);
    font-size: 20px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.elementor-widget-icon-box .elementor-icon-box-description {
    color: var(--cr-muted);
}
.elementor-widget-icon-box .elementor-icon i {
    color: var(--cr-purple);
}

/* ── Elementor Icon List ── */
.elementor-widget-icon-list .elementor-icon-list-item {
    border-color: var(--cr-border) !important;
}
.elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-text {
    color: var(--cr-dim);
}
.elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-icon {
    color: var(--cr-purple);
}

/* ── Elementor Accordion ── */
.elementor-widget-accordion .elementor-accordion-item {
    background: var(--cr-card);
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    margin-bottom: .5rem;
    overflow: hidden;
}
.elementor-widget-accordion .elementor-accordion-title {
    background: var(--cr-card) !important;
    color: var(--cr-text) !important;
    font-family: var(--cr-font-heading);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .06em;
}
.elementor-widget-accordion .elementor-accordion-title:hover {
    color: var(--cr-purple) !important;
}
.elementor-widget-accordion .elementor-tab-content {
    background: rgba(0,0,0,.2) !important;
    color: var(--cr-muted) !important;
    border-top: 1px solid var(--cr-border) !important;
}
.elementor-widget-accordion .elementor-accordion-icon {
    color: var(--cr-purple) !important;
}

/* ── Elementor Tabs ── */
.elementor-widget-tabs .elementor-tab-title {
    color: var(--cr-muted) !important;
    border-color: var(--cr-border) !important;
    font-family: var(--cr-font-heading);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: color .2s !important;
}
.elementor-widget-tabs .elementor-tab-title.elementor-active {
    color: var(--cr-purple) !important;
    border-color: var(--cr-purple) !important;
}
.elementor-widget-tabs .elementor-tab-content {
    color: var(--cr-dim) !important;
    border-color: var(--cr-border) !important;
}

/* ── Elementor Counter ── */
.elementor-widget-counter .elementor-counter-number-wrapper {
    font-family: var(--cr-font-display);
    color: var(--cr-purple);
}
.elementor-widget-counter .elementor-counter-title {
    font-family: var(--cr-font-heading);
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--cr-muted);
}

/* ── Elementor Progress Bar ── */
.elementor-widget-progress .elementor-progress-wrapper {
    background: var(--cr-card) !important;
    border-radius: 4px;
}
.elementor-widget-progress .elementor-progress-bar {
    background: linear-gradient(90deg, var(--cr-purple), var(--cr-pink)) !important;
    border-radius: 4px;
}

/* ── Elementor Testimonial ── */
.elementor-widget-testimonial .elementor-testimonial-content {
    color: var(--cr-dim);
    font-style: italic;
}
.elementor-widget-testimonial .elementor-testimonial-name {
    color: #fff;
    font-family: var(--cr-font-heading);
}

/* ── Elementor Image Carousel ── */
.elementor-widget-image-carousel .swiper-slide img {
    border-radius: var(--cr-radius);
}

/* ── Elementor Section Inner ── */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1200px;
}

/* ── Elementor Full Width Section ── */
.elementor-section.elementor-section-full_width {
    padding-left: 0;
    padding-right: 0;
}

/* ── Dark Card Section ── */
.elementor-section.cr-section--dark {
    background-color: var(--cr-deep) !important;
}
.elementor-section.cr-section--card {
    background-color: var(--cr-card) !important;
    border-top: 1px solid var(--cr-border);
    border-bottom: 1px solid var(--cr-border);
}

/* ── Elementor Forms ── */
.elementor-form .elementor-field-group .elementor-field {
    background: var(--cr-card) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius) !important;
    color: var(--cr-text) !important;
    font-family: var(--cr-font-body) !important;
    padding: .75rem 1.25rem !important;
    transition: border-color .2s !important;
}
.elementor-form .elementor-field-group .elementor-field:focus {
    border-color: var(--cr-purple) !important;
    outline: none !important;
}
.elementor-form .elementor-field-group .elementor-field::placeholder {
    color: var(--cr-muted) !important;
}
.elementor-form .elementor-field-group label {
    color: var(--cr-dim) !important;
    font-size: 13px !important;
    font-family: var(--cr-font-heading) !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    margin-bottom: .35rem !important;
}
.elementor-form .elementor-button[type="submit"] {
    background: linear-gradient(135deg, var(--cr-purple), var(--cr-pink)) !important;
    border: none !important;
    font-family: var(--cr-font-heading) !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    border-radius: var(--cr-radius) !important;
    transition: opacity .2s, transform .2s !important;
}
.elementor-form .elementor-button[type="submit"]:hover {
    opacity: .85 !important;
    transform: translateY(-2px) !important;
}

/* ── Elementor Page Templates (Full Width) ── */
.elementor-page-template .site-header + .site-main {
    padding-top: 0;
}

/* ── Elementor Editor Admin styles ── */
body.elementor-editor-active .site-header {
    z-index: auto;
}

/* ── Custom CSS classes for Elementor widgets ── */
/* Apply class "cr-gradient-text" to a heading widget */
.cr-gradient-text .elementor-heading-title {
    background: linear-gradient(135deg, #fff 20%, var(--cr-purple) 60%, var(--cr-pink) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Apply "cr-glass-card" to a section or column */
.cr-glass-card {
    background: rgba(17,17,32,0.8) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid var(--cr-border) !important;
    border-radius: var(--cr-radius-lg) !important;
}

/* Apply "cr-purple-glow" to add a glow effect */
.cr-purple-glow {
    box-shadow: 0 0 40px rgba(168,85,247,.25) !important;
}

/* Apply "cr-neon-border" for a gradient border */
.cr-neon-border {
    border: 1px solid transparent !important;
    background-clip: padding-box !important;
    position: relative !important;
}
.cr-neon-border::before {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(135deg, var(--cr-purple), var(--cr-pink));
    border-radius: inherit;
    z-index: -1;
}

/* ── Responsive Elementor fixes ── */
@media (max-width: 768px) {
    .elementor-widget-icon-box .elementor-icon-box-wrapper {
        padding: 1.5rem;
    }
}
