/* =========================================================================
   Purge finale — neutralise main.css / templates.css / inline résiduels
   Chargé en dernier sur le site public et l'admin
   ========================================================================= */

/* Aperçus templates homepage → muséal */
.hp-tpl-card {
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.hp-tpl-card:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: var(--museum-black) !important;
}
.hp-tpl-preview,
.hp-tpl-classic,
.hp-tpl-editorial,
.hp-tpl-showcase,
.hp-tpl-boutique,
.hp-tpl-prestige {
    background: var(--museum-gray) !important;
    background-image: none !important;
    color: var(--museum-black) !important;
    border-radius: 0;
}
.hp-tpl-tag.is-free,
.hp-tpl-tag.is-premium {
    border-radius: 0;
    background: var(--museum-gray) !important;
    color: var(--museum-black) !important;
}

/* Cartes / features : pas de lift ni ombre */
.card:hover,
.feature:hover,
.dir-card:hover,
.mkt-card:hover,
.blog-card:hover,
.hp-comm-card:hover,
.community-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Icônes cartes */
.card-icon {
    background: var(--museum-gray) !important;
    background-image: none !important;
    color: var(--museum-black) !important;
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}

/* Langue : pas de dégradés violets */
.lang-option:hover,
.lang-option.is-active,
.lang-details > summary:hover,
.lang-details[open] > summary {
    background-image: none !important;
    box-shadow: none !important;
}
.lang-details > summary {
    color: var(--museum-black) !important;
    border-radius: 0 !important;
}

/* CTA final / cartes vitrine */
.cta-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
    background: var(--museum-white);
}

/* Marketplace / panier */
.mkt-filters,
.cart-summary,
.marketplace-track-step.is-active {
    border-radius: 0 !important;
}
body:not(.tpl-showcase):not(.tpl-prestige) .cart-total,
body:not(.tpl-boutique) [style*="border: 1px solid #c4b5fd"],
body:not(.tpl-boutique) [style*="border:1px solid #c4b5fd"] {
    border-color: var(--border) !important;
}

/* Offres statiques */
.offer-card-highlight,
.pg-offer-highlight {
    border: 1px solid var(--border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--museum-white) !important;
    background-image: none !important;
}

/* Community */
.hp-comm-badge,
.hp-comm-badge-open {
    border-radius: 0;
    background: var(--museum-black) !important;
    color: var(--museum-white) !important;
}

/* Admin legacy panels */
.rt-panel,
.admin-logo span {
    background: var(--museum-gray) !important;
    background-image: none !important;
    -webkit-text-fill-color: unset !important;
    color: var(--museum-black) !important;
}
.kpi-card:hover,
.stat-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Boutons : annule gradients inline dans vieux templates */
.btn-primary[style*="gradient"],
button[style*="linear-gradient"],
a.btn[style*="linear-gradient"] {
    background: var(--museum-black) !important;
    background-image: none !important;
}

/* Héros avec gradient inline (communauté, etc.) */
main#main > section[style*="linear-gradient"] {
    background: var(--museum-gray) !important;
    background-image: none !important;
    padding: var(--section-y) 0 clamp(32px, 5vw, 48px) !important;
}

/* Panier marketplace */
.cart-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 24px 0;
}
.cart-item {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
}
.cart-item-img {
    width: 80px;
    height: 80px;
    background: var(--museum-gray);
    display: grid;
    place-items: center;
    overflow: hidden;
}
.cart-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cart-summary {
    margin-top: 24px;
    padding: 24px;
    max-width: 420px;
}
.cart-item,
.cart-summary {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
    background: var(--museum-white);
}
.cart-summary .cart-total {
    border-color: var(--border);
    color: var(--museum-black);
}
.cart-item-price { color: var(--museum-black); }

/* Communauté */
.comm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--card-gap, 28px);
}
.comm-card {
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 20px;
    background: var(--museum-white);
    box-shadow: none !important;
}
.comm-card:hover {
    border-color: var(--museum-black);
}
.tag-pill {
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 4px 10px;
    font-size: .8rem;
    text-decoration: none;
    color: var(--museum-black);
}
.tag-pill:hover,
.tag-pill.is-active {
    background: var(--museum-gray);
}
.tag-pill.is-active {
    border-color: var(--museum-black);
    font-weight: 600;
}
.community-card,
.community-post-card,
.hp-comm-card {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none !important;
}
.community-card:hover,
.hp-comm-card:hover {
    border-color: var(--museum-black);
    transform: none;
    box-shadow: none !important;
}

/* Premium templates (.tpl-*) : ne pas écraser — exclus via body class */
body.tpl-editorial .hp-tpl-preview,
body.tpl-showcase .hp-tpl-preview,
body.tpl-prestige .hp-tpl-preview,
body.tpl-boutique .hp-tpl-preview {
    background: revert !important;
    color: revert !important;
}
