/* Masquer le titre de page WordPress/Divi (doublon) */
body.page .amc-wrap ~ .et_pb_section,
body.page .entry-title,
body.page h1.page-title,
body.page .page-header { display:none !important; }

/* Si le titre est AVANT le shortcode dans le DOM */
.amc-page ~ h1,
.et_pb_text h1:not(.amc-header h1) { display:none !important; }

/* ===== Reset Divi — page catalogues ===== */
body.page #sidebar,
body.page .et_post_meta_wrapper { display:none !important; }
body.page #left-area { width:100% !important; padding:0 !important; float:none !important; }

.amc-page .et_pb_section  { padding:40px 0 70px !important; }
.amc-page .et_pb_row      { max-width:1320px !important; width:100% !important; padding:0 30px !important; }
.amc-page .et_pb_column   { padding:0 !important; }

/* Neutraliser le padding automatique de Divi sur les pages WordPress */
body.page .et_pb_section:first-of-type { padding-top:0 !important; }
body.page #page-container,
body.page #main-content    { padding-top:0 !important; }
body.page .et_pb_section.amc-page { margin-top:0 !important; }

/* ===== Base ===== */
.amc-wrap *               { box-sizing:border-box; }
.amc-wrap                 { width:100%; }
.amc-wrap a,
.amc-wrap a:visited,
.amc-wrap a:hover         { color:#111 !important; }

/* ===== En-tête ===== */
.amc-breadcrumb           { font-size:.8em; opacity:.5; margin-bottom:20px; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.amc-breadcrumb a         { text-decoration:none; }
.amc-breadcrumb a:hover   { text-decoration:underline; }
.amc-breadcrumb-sep       { opacity:.4; }
.amc-header               { margin-bottom:24px; border-bottom:1px solid rgba(0,0,0,.1); padding-bottom:20px; }
.amc-header h1            { margin:0 0 5px; font-weight:700; }
.amc-desc                 { opacity:.6; font-size:.93em; margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; }
.amc-count-inline         { font-size:.85em; opacity:.7; font-weight:400; }

/* ===== Toolbar recherche + années ===== */
.amc-toolbar              { display:flex; align-items:stretch; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.amc-search-form          { display:flex; flex:1; min-width:200px; max-width:460px; }
.amc-search-form input {
    flex:1; padding:10px 14px;
    border:1px solid rgba(0,0,0,.2); border-right:none;
    border-radius:4px 0 0 4px;
    font-size:.88em; font-family:inherit; outline:none;
    background:inherit; color:inherit;
}
.amc-search-form input:focus { border-color:#111; }
.amc-search-form button {
    background:#111; color:#fff; border:1px solid #111;
    padding:10px 16px; border-radius:0 4px 4px 0;
    font-size:.85em; font-weight:600; cursor:pointer;
    font-family:inherit; white-space:nowrap; transition:background .15s;
}
.amc-search-form button:hover { background:#333; }

.amc-select-wrap          { position:relative; }
.amc-select-wrap select {
    appearance:none; -webkit-appearance:none;
    padding:10px 36px 10px 14px;
    border:1px solid rgba(0,0,0,.2); border-radius:4px;
    font-size:.88em; font-family:inherit;
    background:inherit; color:inherit; cursor:pointer;
    outline:none; min-width:150px; transition:border-color .15s;
}
.amc-select-wrap select:focus { border-color:#111; }
.amc-select-wrap::after   { content:'▾'; position:absolute; right:12px; top:50%; transform:translateY(-50%); pointer-events:none; font-size:.8em; opacity:.5; }

/* ===== Filtres marques + catégories ===== */
.amc-filter-row           { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.amc-filter-label         { font-size:.72em; font-weight:700; text-transform:uppercase; letter-spacing:.5px; opacity:.4; min-width:68px; }
.amc-filter-link {
    border:1px solid rgba(0,0,0,.2); border-radius:3px;
    padding:5px 13px; font-size:.82em; font-weight:600;
    text-decoration:none !important; color:#111 !important;
    transition:background .15s; background:transparent;
    display:inline-flex; align-items:center; gap:4px;
}
.amc-filter-link:hover    { background:#f0f0f0 !important; }
.amc-filter-link.active,
.amc-wrap a.amc-filter-link.active,
.amc-wrap a.amc-filter-link.active:visited { background:#111 !important; color:#fff !important; border-color:#111 !important; }

/* ===== Grille 4 colonnes ===== */
.amc-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    border:1px solid rgba(0,0,0,.1);
    border-radius:6px;
    overflow:hidden;
    background:rgba(0,0,0,.08);
    align-content:start;
}

/* ===== Carte ===== */
.amc-card                 { background:#fff; display:flex; flex-direction:column; transition:background .15s; overflow:hidden; }
.amc-card:hover           { background:#f7f7f7; }

/* Image de couverture */
.amc-card-cover           { width:100%; height:160px; overflow:hidden; flex-shrink:0; }
.amc-card-cover img       { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .3s; }
.amc-card:hover .amc-card-cover img { transform:scale(1.03); }
.amc-card-placeholder     { width:100%; height:160px; background:#f4f4f2; display:flex; align-items:center; justify-content:center; flex-shrink:0; opacity:.3; }

/* Corps */
.amc-card-body            { padding:18px 20px; flex:1; display:flex; flex-direction:column; }
.amc-card-top             { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:6px; }
.amc-card-year            { display:inline-block; background:#111; color:#fff !important; padding:2px 8px; border-radius:3px; font-size:.72em; font-weight:700; letter-spacing:.5px; align-self:flex-start; }
.amc-card-brand           { font-size:.72em; font-weight:700; text-transform:uppercase; letter-spacing:2px; opacity:.4; margin:0 0 4px; }
.amc-card-title           { font-size:.94em; font-weight:700; margin:0 0 8px; color:#111 !important; line-height:1.3; flex:1; }
.amc-card-meta            { display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin-top:auto; }
.amc-card-badge           { display:inline-flex; align-items:center; gap:4px; border:1px solid rgba(0,0,0,.13); border-radius:2px; padding:2px 7px; font-size:.68em; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:#555 !important; }
.amc-card-badge-complet   { background:#111 !important; color:#fff !important; border-color:#111 !important; }
.amc-card-footer          { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:10px; border-top:1px solid rgba(0,0,0,.07); }
.amc-card-size            { font-size:.68em; opacity:.4; }
.amc-btn-dl               { display:inline-flex !important; align-items:center; gap:5px; background:#111 !important; color:#fff !important; border:none !important; border-radius:3px; padding:6px 13px; font-size:.78em; font-weight:700 !important; cursor:pointer; font-family:inherit; text-decoration:none !important; transition:background .15s; flex-shrink:0; -webkit-text-fill-color:#fff !important; }
.amc-btn-dl:hover,
.amc-btn-dl:visited,
.amc-btn-dl:focus         { background:#333 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; text-decoration:none !important; }
.amc-wrap a.amc-btn-dl,
.amc-wrap a.amc-btn-dl:visited { color:#fff !important; -webkit-text-fill-color:#fff !important; }

/* ===== Loading ===== */
.amc-loading              { text-align:center; padding:60px 20px; opacity:.4; grid-column:1/-1; }
.amc-spinner              { width:26px; height:26px; border:2.5px solid rgba(0,0,0,.15); border-top-color:#111; border-radius:50%; animation:amc-spin .7s linear infinite; margin:0 auto 10px; }
@keyframes amc-spin       { to{transform:rotate(360deg);} }
.amc-empty                { text-align:center; padding:60px 20px; opacity:.4; grid-column:1/-1; }

/* ===== Pagination ===== */
.amc-pagination           { margin-top:34px; display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.amc-page-btn             { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border:1px solid rgba(0,0,0,.18); border-radius:3px; font-size:.84em; font-weight:600; color:#111 !important; background:transparent; transition:background .15s; cursor:pointer; font-family:inherit; }
.amc-page-btn:hover       { background:#f0f0f0; }
.amc-page-btn.active      { background:#111 !important; color:#fff !important; border-color:#111 !important; }
.amc-page-btn:disabled    { opacity:.3; cursor:not-allowed; }

/* ===== Responsive ===== */
@media (max-width:1100px) { .amc-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px)  { .amc-grid { grid-template-columns:repeat(2,1fr); } .amc-page .et_pb_row { padding:0 16px !important; } .amc-toolbar { flex-direction:column; } .amc-search-form { max-width:100%; } }
@media (max-width:480px)  { .amc-grid { grid-template-columns:1fr; } }
