/*
Theme Name:   Shoah Bergamo Child
Theme URI:    https://shoah-bergamo.archiviopen.com
Description:  Child theme di OceanWP per il sito Shoah Bergamo.
Author:       Bernardino Pasinelli
Author URI:   https://archiviopen.com
Template:     oceanwp
Version:      1.1.0
Text Domain:  shoah-bergamo-child
*/

/* ═══════════════════════════════════════════════════════════════════════════
   MAPPA LEAFLET — Layout e componenti
   ═══════════════════════════════════════════════════════════════════════════ */

.sbm-wrapper { font-family: inherit; margin: 1.5rem 0; }

/* Statistiche in testa */
.sbm-stats { display:flex; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; }
.sbm-stat {
    display:flex; flex-direction:column; align-items:center;
    background:#f4f6f9; border-radius:6px; padding:.6rem 1.2rem;
    min-width:110px; border:1px solid #e0e7ef;
}
.sbm-stat--dep { background:#fdf0ef; border-color:#f0d0cc; }
.sbm-stat-num { font-size:1.9rem; font-weight:700; line-height:1.1; color:#1a3a5c; }
.sbm-stat--dep .sbm-stat-num { color:#8B1A1A; }
.sbm-stat-lbl { font-size:.71rem; text-transform:uppercase; letter-spacing:.06em; color:#666; margin-top:.2rem; text-align:center; }

/* Filtri */
.sbm-filtri { display:flex; gap:.5rem; margin-bottom:.7rem; flex-wrap:wrap; }
.sbm-btn {
    padding:.35rem 1rem; border:1.5px solid #c0c8d2; border-radius:4px;
    background:#fff; cursor:pointer; font-size:.82rem; color:#444;
    transition:background .16s, border-color .16s, color .16s; font-family:inherit;
}
.sbm-btn:hover { background:#e8edf3; border-color:#7a9cbf; }
.sbm-btn--active { background:#1a3a5c; border-color:#1a3a5c; color:#fff; }

/* Mappa */
.sbm-map {
    border-radius:8px; border:1.5px solid #c8d4e0;
    box-shadow:0 2px 10px rgba(0,0,0,.10); z-index:0;
}

/* Legenda */
.sbm-legenda { display:flex; gap:1rem; align-items:center; margin-top:.6rem; font-size:.78rem; color:#555; flex-wrap:wrap; }
.sbm-leg-item { display:flex; align-items:center; gap:.35rem; }
.sbm-leg-sep { color:#ccc; }

/* Tabella comuni */
.sbm-lista-wrap {
    margin-top:1.2rem; border:1px solid #dde3ea; border-radius:6px; padding:.75rem 1rem 1rem;
}
.sbm-lista-wrap summary {
    cursor:pointer; font-weight:600; font-size:.9rem; color:#1a3a5c;
    user-select:none; list-style:none;
}
.sbm-lista-wrap summary::-webkit-details-marker { display:none; }
.sbm-lista-wrap summary::before { content:'▶ '; font-size:.7rem; opacity:.6; }
details[open] .sbm-lista-wrap summary::before { content:'▼ '; }
.sbm-lista { width:100%; border-collapse:collapse; margin-top:.8rem; font-size:.87rem; }
.sbm-lista th { background:#1a3a5c; color:#fff; padding:.45rem .8rem; text-align:left; font-weight:600; font-size:.82rem; }
.sbm-lista td { padding:.4rem .8rem; border-bottom:1px solid #eef1f5; }
.sbm-lista tbody tr:last-child td { border-bottom:none; }
.sbm-lista tbody tr:hover td { background:#f5f8fc; }
.sbm-dep-row td:first-child { border-left:3px solid #8B1A1A; }
.sbm-lista tfoot td, .sbm-lista tfoot th { background:#f0f4f8; font-weight:700; border-top:2px solid #c8d4e0; }

/* Popup Leaflet */
.sbm-popup { min-width:200px; font-family:inherit; }
.sbm-popup-nome { font-size:1.05rem; font-weight:700; color:#1a3a5c; margin-bottom:.5rem; border-bottom:2px solid #e0e7ef; padding-bottom:.3rem; }
.sbm-popup-riga { display:flex; justify-content:space-between; font-size:.85rem; padding:.15rem 0; gap:.6rem; }
.sbm-popup-lbl { color:#666; }
.sbm-popup-val { font-weight:600; color:#222; }
.sbm-popup-dep .sbm-popup-val { color:#8B1A1A; }
.sbm-popup-nota { font-size:.78rem; color:#777; margin-top:.5rem; font-style:italic; border-top:1px solid #eee; padding-top:.35rem; line-height:1.45; }
.sbm-popup-link { display:inline-block; margin-top:.6rem; font-size:.8rem; color:#1a5276; text-decoration:underline; }
.sbm-popup-link:hover { color:#8B1A1A; }

/* z-index sopra sticky header OceanWP */
.leaflet-popup { z-index:1001 !important; }
.leaflet-control { z-index:1000 !important; }

/* Responsive */
@media (max-width:768px) {
    .sbm-map { height:340px !important; }
    .sbm-stats { gap:.7rem; }
    .sbm-stat { min-width:85px; padding:.5rem .75rem; }
    .sbm-stat-num { font-size:1.5rem; }
}
@media (max-width:480px) {
    .sbm-stat { flex:1 1 calc(50% - .7rem); }
    .sbm-btn { font-size:.78rem; padding:.3rem .75rem; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PERSONALIZZAZIONI SITO — Override OceanWP specifici per Shoah Bergamo
   ═══════════════════════════════════════════════════════════════════════════ */

/* Aggiungere qui le personalizzazioni del tema */

/* ======================================================================
   LAYOUT — Nessuna sidebar sulle pagine Shoah Bergamo
   Funziona tramite la classe sbm-no-sidebar aggiunta al body via PHP.
   Compatibile con qualsiasi versione di OceanWP.
   ====================================================================== */

/* Nasconde la sidebar */
body.sbm-no-sidebar #sidebar,
body.sbm-no-sidebar .widget-area,
body.sbm-no-sidebar aside.sidebar-container {
    display: none !important;
}

/* Espande il contenuto a tutta la larghezza */
body.sbm-no-sidebar #content-wrap,
body.sbm-no-sidebar .content-area,
body.sbm-no-sidebar #primary,
body.sbm-no-sidebar .container > .content-area {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Rimuove il margine lasciato dalla sidebar in OceanWP */
body.sbm-no-sidebar .content-wrap {
    padding: 0 !important;
}

body.sbm-no-sidebar #content {
    padding-right: 0 !important;
}

/* ======================================================================
   MARGINI — Allinea .sbm-wrapper a .sbm-lista-page
   Mappa, Sfollati, Sequestri ottengono gli stessi margini laterali
   di Internati (max-width centrato con padding laterale).
   ====================================================================== */

.sbm-wrapper {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

/* Su schermi molto grandi il contenuto resta centrato */
body.sbm-no-sidebar #content-wrap {
    padding-left: 0;
    padding-right: 0;
}

/* Responsive: margini più stretti su mobile */
@media (max-width: 600px) {
    .sbm-wrapper,
    .sbm-lista-page {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* Nav links sopra la mappa */
.sbm-map-nav {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    margin-bottom: .65rem;
}

/* ======================================================================
   TITOLO PAGINA — Nasconde il blocco titolo OceanWP sulle pagine Shoah
   (il blocco grigio con "Mappa", "Internati", ecc.)
   e riduce il padding superiore del contenuto.
   ====================================================================== */

body.sbm-no-sidebar #page-header-wrap,
body.sbm-no-sidebar .page-header,
body.sbm-no-sidebar #page-title-wrap,
body.sbm-no-sidebar .page-title-wrap,
body.sbm-no-sidebar .entry-header,
body.sbm-no-sidebar .page-header-wrap {
    display: none !important;
}

/* Riduce il padding vuoto che OceanWP lascia dopo il titolo */
body.sbm-no-sidebar .content-area,
body.sbm-no-sidebar #primary {
    padding-top: 20px !important;
}

body.sbm-no-sidebar .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ======================================================================
   STILI CONDIVISI — Pagine lista (internati, sfollati, sequestri)
   Spostati qui da inline per renderli disponibili su tutte le pagine.
   ====================================================================== */

.sbm-lista-page {
    max-width: 1100px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 1rem;
    line-height: 1.55;
    font-family: inherit;
    box-sizing: border-box;
}

.sbm-nav-bar {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.2rem;
    flex-wrap: wrap;
}

.sbm-nav-btn {
    padding: .42rem 1.1rem;
    background: #f4f6f9;
    border: 1.5px solid #c8d4e0;
    border-radius: 5px;
    font-size: .95rem;
    color: #333;
    text-decoration: none;
    transition: background .15s;
}

.sbm-nav-btn:hover {
    background: #dde6f0;
    color: #1a3a5c;
    text-decoration: none;
}

.sbm-lista-titolo {
    font-size: 1.5rem;
    margin-bottom: .5rem;
    color: #1a3a5c;
    line-height: 1.3;
}

.sbm-lista-count {
    font-size: .88rem;
    font-weight: 400;
    background: #e8edf3;
    padding: .15rem .7rem;
    border-radius: 12px;
    margin-left: .6rem;
    color: #555;
    vertical-align: middle;
}

.sbm-lista-nota {
    font-size: .97rem;
    color: #666;
    font-style: italic;
    margin: .3rem 0 .5rem;
}

.sbm-cerca-form {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.3rem;
    flex-wrap: wrap;
    align-items: center;
}

.sbm-cerca-input {
    flex: 1 1 220px;
    padding: .5rem 1rem;
    border: 1.5px solid #c8d4e0;
    border-radius: 6px;
    font-size: 1rem;
    font-family: inherit;
}

.sbm-cerca-btn {
    padding: .5rem 1.2rem;
    background: #1a3a5c;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: .97rem;
    font-family: inherit;
}

.sbm-cerca-reset {
    color: #999;
    font-size: .92rem;
    text-decoration: none;
    padding: .3rem .5rem;
}

.sbm-lista-vuota {
    color: #888;
    font-style: italic;
    margin: 1.5rem 0;
    font-size: 1rem;
}

@media (max-width: 600px) {
    .sbm-lista-page {
        padding-left: 12px;
        padding-right: 12px;
    }
}
