/**
 * Dubai Junk Removal - Elementor & Responsive Layout Utilities
 * Prefix: .djr-
 */

/* Card Hover & Elevation */
.djr-service-card,
.djr-area-card,
.djr-feature-card,
.djr-testimonial-card {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    border: 1px solid var(--djr-color-border);
    border-radius: var(--djr-radius-md);
    background-color: var(--djr-color-white);
    box-shadow: var(--djr-shadow-card);
}

.djr-service-card:hover,
.djr-area-card:hover,
.djr-feature-card:hover {
    transform: translateY(-4px);
    border-color: var(--djr-color-orange);
}

/* Accessible High-Contrast Buttons */
.djr-btn-primary .elementor-button {
    background-color: var(--djr-color-orange);
    color: var(--djr-color-navy);
    font-weight: 700;
    border-radius: var(--djr-radius-sm);
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.djr-btn-primary .elementor-button:hover,
.djr-btn-primary .elementor-button:focus {
    background-color: var(--djr-color-amber);
    color: var(--djr-color-navy);
}

/* Sample Testimonial Placeholder Badge */
.djr-sample-placeholder-badge {
    display: inline-block;
    background-color: #FEF3C7;
    color: #92400E;
    border: 1px dashed #F59E0B;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

/* Form Accessibility & Clean Focus States */
.elementor-field-group .elementor-field-textual {
    border: 1px solid #CBD5E1;
    border-radius: var(--djr-radius-sm);
    padding: 12px 14px;
    font-size: 1rem;
    color: var(--djr-color-navy);
    background-color: var(--djr-color-white);
}

.elementor-field-group .elementor-field-textual:focus {
    border-color: var(--djr-color-orange);
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
    .djr-hero-container {
        padding: 48px 24px !important;
    }
}

@media (max-width: 767px) {
    .djr-hero-container {
        padding: 36px 16px !important;
    }
    .djr-mobile-stack {
        flex-direction: column !important;
    }
}

/* ==========================================================================
   Upgraded 2-Tier Header, 3-Part Footer & 3-Step Quote Form Card Styles
   ========================================================================== */
.djr-header-utility-bar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.djr-global-header {
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.07);
}

.djr-quote-form-card {
    border: 2px solid var(--djr-color-orange);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 20px 35px -10px rgba(15, 23, 42, 0.12);
}

.djr-enhanced-quote-form .elementor-field-label {
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    margin-bottom: 6px !important;
    color: var(--djr-color-navy) !important;
}

.djr-enhanced-quote-form .elementor-field-textual {
    background-color: #F8FAFC !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.djr-enhanced-quote-form .elementor-field-textual:focus {
    background-color: #FFFFFF !important;
    border-color: var(--djr-color-orange) !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.22) !important;
}

/* Styled Dashed Photo Upload Dropzone */
.djr-enhanced-quote-form .elementor-field-type-upload {
    background-color: #FFFBEB;
    border: 2px dashed #F59E0B;
    border-radius: 10px;
    padding: 16px 18px;
    margin-top: 4px;
}

.djr-enhanced-quote-form .elementor-field-type-checkbox .elementor-field-subgroup {
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.djr-enhanced-quote-form .elementor-button[type="submit"] {
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    letter-spacing: 0.02em;
    padding: 16px 28px !important;
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.45);
    transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.djr-enhanced-quote-form .elementor-button[type="submit"]:hover {
    background-color: #EA580C !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}





































/* =====================================================
   CURTAIN TOWN UAE - GLOBAL CARD HOVER EFFECTS
   Primary: #F97316
   Primary Hover: #EA580C
   Navy: #0F172A
   ===================================================== */

:root {
    --ct-card-primary: #F97316;
    --ct-card-primary-hover: #EA580C;
    --ct-card-navy: #0F172A;
    --ct-card-white: #FFFFFF;
    --ct-card-radius: 14px;
    --ct-card-speed: 0.35s;
}

/* GLOBAL CARD SELECTORS */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-testimonial-card,
    .ct-why-card
) {
    background-color: var(--ct-card-white);
    border: 1px solid #E2E8F0;
    border-radius: var(--ct-card-radius);
    position: relative;
    transition:
        background-color var(--ct-card-speed) ease,
        border-color var(--ct-card-speed) ease,
        box-shadow var(--ct-card-speed) ease,
        transform var(--ct-card-speed) ease;
}

/* PRIMARY ORANGE HOVER */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-testimonial-card,
    .ct-why-card
):hover {
    background-color: var(--ct-card-primary);
    border-color: var(--ct-card-primary-hover);
    transform: translateY(-7px);
    box-shadow: 0 16px 35px rgba(249, 115, 22, 0.22);
}

/* WHITE HEADINGS, TEXT & LINKS ON HOVER */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-testimonial-card,
    .ct-why-card
):hover :is(
    h1, h2, h3, h4, h5, h6,
    p, li,
    .elementor-heading-title,
    .elementor-icon-box-title,
    .elementor-icon-box-description,
    .elementor-image-box-title,
    .elementor-image-box-description,
    .elementor-widget-text-editor,
    .elementor-counter-title,
    .elementor-counter-number,
    .elementor-testimonial-content,
    .elementor-testimonial-name
) {
    color: #FFFFFF !important;
}

/* SMOOTH TEXT COLOR TRANSITIONS */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-testimonial-card,
    .ct-why-card
) :is(
    h1, h2, h3, h4, h5, h6, p, li,
    .elementor-heading-title,
    .elementor-icon-box-title,
    .elementor-icon-box-description,
    .elementor-image-box-title,
    .elementor-image-box-description
) {
    transition: color var(--ct-card-speed) ease;
}

/* ICON HOVER EFFECT */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-why-card
):hover :is(
    .elementor-icon,
    .elementor-icon i,
    .elementor-icon-box-icon i
) {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

/* SVG ICONS */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-why-card
):hover .elementor-icon svg {
    fill: #FFFFFF !important;
}

/* IMAGE ZOOM EFFECT */

:is(
    .ct-card,
    .ct-service-card,
    .ct-product-card,
    .ct-about-card
) .elementor-widget-image img {
    transition: transform 0.45s ease;
}

:is(
    .ct-card,
    .ct-service-card,
    .ct-product-card,
    .ct-about-card
):hover .elementor-widget-image img {
    transform: scale(1.05);
}

/* CARD BUTTON HOVER */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-why-card
):hover .elementor-button {
    background-color: #FFFFFF;
    color: #0F172A;
    border-color: #FFFFFF;
}

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-why-card
):hover .elementor-button:hover {
    background-color: #0F172A;
    color: #FFFFFF;
    border-color: #0F172A;
}

/* KEYBOARD ACCESSIBILITY */

:is(
    .ct-card,
    .ct-service-card,
    .ct-feature-card,
    .ct-about-card,
    .ct-process-card,
    .ct-location-card,
    .ct-product-card,
    .ct-testimonial-card,
    .ct-why-card
) :focus-visible {
    outline: 3px solid #0F172A;
    outline-offset: 3px;
}

/* MOBILE OPTIMIZATION */

@media (max-width: 767px) {
    :is(
        .ct-card,
        .ct-service-card,
        .ct-feature-card,
        .ct-about-card,
        .ct-process-card,
        .ct-location-card,
        .ct-product-card,
        .ct-testimonial-card,
        .ct-why-card
    ):hover {
        transform: translateY(-3px);
    }
}

/* ACCESSIBILITY: REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
    :is(
        .ct-card,
        .ct-service-card,
        .ct-feature-card,
        .ct-about-card,
        .ct-process-card,
        .ct-location-card,
        .ct-product-card,
        .ct-testimonial-card,
        .ct-why-card
    ) {
        transition: none !important;
    }

    :is(
        .ct-card,
        .ct-service-card,
        .ct-feature-card,
        .ct-about-card,
        .ct-process-card,
        .ct-location-card,
        .ct-product-card,
        .ct-testimonial-card,
        .ct-why-card
    ):hover {
        transform: none !important;
    }
}
