/* =========================================================================
   Design V2 — règles globales finales (carré, blocs aérés, sans bordures cartes)
   Chargé en dernier sur site public + admin
   ========================================================================= */

/* Tout en carré (sauf drapeaux / cercles décoratifs explicites) */
body:not([class*="tpl-"]) *,
body:not([class*="tpl-"]) *::before,
body:not([class*="tpl-"]) *::after {
    border-radius: 0 !important;
}
.lang-flag,
.lang-flags,
.flag-svg,
.progress-ring,
.progress-ring::before,
.progress-ring::after {
    border-radius: 0 !important;
}

/* Cartes & blocs : pas de bordure, padding généreux */
.card,
.card-feature,
.feature,
.dir-card,
.mkt-card,
.blog-card,
.hp-comm-card,
.hp-tpl-card,
.comm-card,
.community-card,
.seo-hub-card,
.seo-feature,
.seo-related-card,
.offer-card,
.stat-card,
.kpi-card,
.dash-section,
.admin-panel-header,
.admin-panel:not(:has(.admin-table)),
.form-card,
.pg-card,
.work-card,
.artwork-card,
.match-card,
.tpl-card {
    border: none !important;
    box-shadow: none !important;
    padding: clamp(24px, 3vw, 36px) !important;
    background: var(--museum-white) !important;
}

/* Grilles : fond gris entre les blocs */
.features-grid,
.cards-grid,
.dir-grid,
.mkt-grid,
.hp-comm-grid,
.hp-tpl-grid,
.seo-hub-grid,
.offer-grid {
    background: var(--museum-gray) !important;
    padding: var(--card-gap, 28px) !important;
    gap: var(--card-gap, 28px) !important;
}

/* Admin panels : padding interne */
.admin-panel {
    border: none !important;
    box-shadow: none !important;
    padding: clamp(24px, 3vw, 32px);
    background: var(--museum-white);
}
.admin-panel + .admin-panel,
.kpi-grid + .admin-panel {
    margin-top: var(--card-gap, 28px);
}

/* Séparateurs légers entre sections */
.section-alt,
.pf-section-alt {
    background: var(--museum-gray) !important;
}

/* Inputs / boutons carrés */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.btn,
button,
.ad-btn {
    border-radius: 0 !important;
}

/* Hover : pas de lift */
.card:hover,
.feature:hover,
.dir-card:hover,
.stat-card:hover,
.kpi-card:hover {
    transform: none !important;
    box-shadow: none !important;
}
