/*
 * DigitalFLO V18 foundation layer.
 *
 * This file is intentionally small and low-specificity. It provides only structural primitives
 * for blueprints migrated away from legacy patch classes. Elementor remains the owner of widths,
 * responsive dimensions, margins, padding, typography and per-element styling.
 */

body.dflo-v18-foundation .dflo-v18-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.5vw, 20px);
    width: 100%;
    min-width: 0;
}

body.dflo-v18-foundation .dflo-v18-card-grid > .e-con,
body.dflo-v18-foundation .dflo-v18-card-grid > .elementor-element {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

/* A repaired mixed wrapper is a section/content stack, never a card grid. */
body.dflo-v18-foundation .dflo-v18-mixed-grid-repaired {
    min-width: 0;
}

@media (max-width: 1024px) {
    body.dflo-v18-foundation .dflo-v18-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.dflo-v18-foundation .dflo-v18-card-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }
}

/* Native-v18 pages deliberately avoid the historical dflo-v9...dflo-v17 class stack. */
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-section,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-container,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-media,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor-element {
    min-width: 0;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-section {
    width: 100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-media img,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-media video,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .dflo-native-media iframe {
    max-width: 100%;
}

