/* ═══════════════════════════════════════════════════
   Documents Municipaux – Frontend styles
   Scopé sur .documents-municipaux / [id^="gdm_"]
   Compatible YOOtheme Fjord – font-family: inherit
   ═══════════════════════════════════════════════════ */

.documents-municipaux {
    --dm-border:  #e5e7eb;
    --dm-bg-soft: #f9fafb;
    --dm-text:    #1a1a2e;
    --dm-muted:   #6b7280;
    --dm-radius:  8px;
    /* Hérite la typographie du thème YOOtheme Fjord */
    font-family: inherit;
    color: var(--dm-text);
}

/* ── Note institutionnelle ── */
.documents-municipaux .dm-intro {
    font-size: 14px;
    color: var(--dm-muted);
    border-left: 3px solid var(--dm-border);
    padding-left: 12px;
    margin-bottom: 24px;
    font-style: italic;
}

/* ── En-tête ── */
.documents-municipaux .dm-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    border-bottom: 2px solid var(--dm-text);
    padding-bottom: 14px;
    margin-bottom: 28px;
}
.documents-municipaux .dm-header-left {}
.documents-municipaux .dm-title {
    margin: 0 0 4px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--dm-text) !important;
}
.documents-municipaux .dm-count {
    font-size: 12px;
    color: var(--dm-muted);
}

/* ── Contrôles ── */
.documents-municipaux .dm-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.documents-municipaux .dm-search-wrap {
    position: relative;
}
.documents-municipaux .dm-search-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    pointer-events: none;
}
.documents-municipaux .dm-search {
    padding: 7px 12px 7px 32px;
    border: 1.5px solid var(--dm-border);
    border-radius: 20px;
    font-size: 13px;
    font-family: inherit;
    color: var(--dm-text);
    background: #fff;
    width: 200px;
    transition: border-color .2s, box-shadow .2s;
}
.documents-municipaux .dm-search:focus {
    outline: none;
    border-color: #1a1a2e;
    box-shadow: 0 0 0 3px rgba(26,26,46,.1);
}
.documents-municipaux .dm-select {
    padding: 7px 10px;
    border: 1.5px solid var(--dm-border);
    border-radius: 20px;
    font-size: 13px;
    font-family: inherit;
    color: var(--dm-text);
    background: #fff;
    cursor: pointer;
    transition: border-color .2s;
}
.documents-municipaux .dm-select:focus {
    outline: none;
    border-color: #1a1a2e;
}

/* ── Bloc année ── */
.documents-municipaux .dm-year-block {
    margin-bottom: 36px;
}
.documents-municipaux .dm-year-heading {
    display: flex !important;
    align-items: center;
    gap: 12px;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--dm-muted) !important;
    margin: 0 0 16px !important;
}
.documents-municipaux .dm-year-heading::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--dm-border);
}

/* ── Bloc type ── */
.documents-municipaux .dm-type-block {
    margin-bottom: 18px;
}
.documents-municipaux .dm-type-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 10px;
}

/* ── Liste documents ── */
.documents-municipaux .dm-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.documents-municipaux .dm-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 14px;
    border-radius: var(--dm-radius);
    background: var(--dm-bg-soft);
    border: 1px solid var(--dm-border);
    transition: background .15s, border-color .15s, transform .1s;
}
.documents-municipaux .dm-item:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
    transform: translateX(2px);
}
.documents-municipaux .dm-pdf-icon {
    font-size: 20px;
    flex-shrink: 0;
}
.documents-municipaux .dm-info {
    flex: 1;
    min-width: 0;
}
.documents-municipaux .dm-doc-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--dm-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.documents-municipaux .dm-meta {
    font-size: 12px;
    color: var(--dm-muted);
    margin-top: 2px;
}
.documents-municipaux .dm-missing {
    font-size: 12px;
    color: #dc2626;
    flex-shrink: 0;
}

/* ── Boutons ── */
.documents-municipaux .dm-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
.documents-municipaux .dm-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 6px;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: opacity .15s;
    white-space: nowrap;
}
.documents-municipaux .dm-btn:hover { opacity: .82; }
.documents-municipaux .dm-btn-view {
    background: #1a1a2e;
    color: #fff !important;
}
.documents-municipaux .dm-btn-dl {
    background: #fff;
    color: var(--dm-text) !important;
    border: 1.5px solid var(--dm-border);
}

/* ── Vide / no results ── */
.documents-municipaux .dm-empty {
    text-align: center;
    padding: 48px 20px;
    background: var(--dm-bg-soft);
    border: 1px dashed var(--dm-border);
    border-radius: var(--dm-radius);
    color: var(--dm-muted);
    font-size: 14px;
}
.documents-municipaux .dm-no-results {
    display: none;
    text-align: center;
    padding: 20px;
    color: var(--dm-muted);
    font-size: 13px;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .documents-municipaux .dm-header    { flex-direction: column; }
    .documents-municipaux .dm-item      { flex-wrap: wrap; }
    .documents-municipaux .dm-actions   { width: 100%; }
    .documents-municipaux .dm-btn       { flex: 1; justify-content: center; }
    .documents-municipaux .dm-search    { width: 100%; }
}
