/* Elementor-specific compatibility layer — v3 (full-bleed sections)
   The custom DWK widgets render their own .dwk-section + .dwk-container,
   so their .elementor-widget-container must stay unconstrained or the
   section background never reaches the viewport edges. */
.elementor-widget-dwk-kitten-grid .elementor-widget-container,
.elementor-widget-dwk-hero .elementor-widget-container,
.elementor-widget-dwk-categories .elementor-widget-container,
.elementor-widget-dwk-testimonials .elementor-widget-container,
.elementor-widget-dwk-faq .elementor-widget-container,
.elementor-widget-dwk-features .elementor-widget-container {
    max-width: none;
    margin: 0;
    padding: 0;
}

/* Kicker-style eyebrow used inside Elementor heading groups */
.dwk-elementor-heading {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px;
}
.dwk-elementor-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: var(--dwk-font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--dwk-pink-500);
    margin-bottom: 16px;
}
.dwk-elementor-heading .eyebrow::before,
.dwk-elementor-heading .eyebrow::after {
    content: '';
    width: 30px;
    height: 2px;
    border-radius: 2px;
    background: var(--dwk-pink-500);
}
.dwk-elementor-heading .eyebrow::before { margin-right: 10px; }
.dwk-elementor-heading .eyebrow::after { margin-left: 10px; }
.dwk-elementor-heading h2 {
    font-family: var(--dwk-font-heading);
    color: var(--dwk-heading);
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    margin-bottom: 14px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: -0.015em;
}
.dwk-elementor-heading p {
    color: var(--dwk-text-mute);
    max-width: 640px;
    margin: 0 auto;
    font-size: 1.0625rem;
    line-height: 1.7;
}

/* Elementor containers: full screen width (content is centered inside
   each widget's own .dwk-container). */
.elementor-section .elementor-container { max-width: 100%; }

/* Home hero — true edge-to-edge, never a max-width box */
.elementor-section.elementor-element-section-hero,
.elementor-section.elementor-element-section-hero > .elementor-container,
.elementor-section.elementor-element-section-hero .elementor-column,
.elementor-section.elementor-element-section-hero .elementor-widget-wrap,
.elementor-section.elementor-element-section-hero .elementor-widget-container {
    max-width: none !important;
    width: 100%;
}
.elementor-widget-dwk-hero .dwk-hero { width: 100%; max-width: none; }

/* Dark sections — force white heading / light body text */
.elementor-section.dwk-dark .elementor-heading-title,
.elementor-section.dwk-pink .elementor-heading-title { color: #fff !important; }
.elementor-section.dwk-dark .elementor-text-editor,
.elementor-section.dwk-pink .elementor-text-editor { color: rgba(255,255,255,.8) !important; }
.elementor-section.dwk-dark .elementor-button,
.elementor-section.dwk-dark a:not(.elementor-button),
.elementor-section.dwk-pink a:not(.elementor-button) { color: #fff; }

/* Default Elementor buttons stay pink */
.elementor-widget-button .elementor-button {
    background: var(--dwk-pink-500);
    color: #fff;
}
.elementor-widget-button .elementor-button:hover {
    background: var(--dwk-pink-600);
}

/* Image widgets inside section/column default to rounded */
.elementor-widget-image img { border-radius: var(--dwk-radius-lg); }