/* Jammin Project - Reggae mobile-first theme for Joomla Cassiopeia 5 */
:root{--jam-green:#16783b;--jam-yellow:#f5cc32;--jam-red:#c83732;--jam-ink:#171a17;--jam-paper:#fffdf4}
html{background:var(--jam-ink)}
body.site{max-width:480px;margin:0 auto;min-height:100vh;background:var(--jam-paper);color:#20251e;box-shadow:0 0 35px rgba(0,0,0,.35);overflow-x:hidden}
body.site .container-header{background:var(--jam-green);background-image:none;border-bottom:6px solid var(--jam-yellow);color:white}
body.site .container-header .navbar-brand a,body.site .container-header .site-title,body.site .container-header a{color:#fff}
body.site .container-header .container-nav{padding:0.4rem 1rem}
body.site .container-topbar,body.site .container-banner,body.site .container-below-top,body.site .container-top-a,body.site .container-top-b,body.site .container-main,body.site .container-bottom-a,body.site .container-bottom-b,body.site .container-footer{max-width:100%;min-width:0}
body.site .site-grid{display:flex;flex-direction:column;gap:0;padding:0 14px}
body.site .site-grid>*{width:100%;max-width:100%;min-width:0;grid-column:auto;grid-row:auto}
body.site .container-component,body.site .container-sidebar-left,body.site .container-sidebar-right{width:100%;min-width:0;margin:0}
body.site .container-component{padding-top:1rem}
body.site .card,body.site .moduletable,body.site .mod-custom{max-width:100%;overflow-wrap:anywhere}
body.site .card{border:1px solid #e3dfcc;border-radius:12px;overflow:hidden;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}
body.site .card-header{background:#f4eecf;border-bottom:3px solid var(--jam-yellow);color:var(--jam-ink);font-weight:700}
body.site a{color:#126e38}
body.site a:hover{color:#aa2929}
body.site .btn-primary,body.site button[type=submit]{background:var(--jam-green);border-color:var(--jam-green);color:#fff}
body.site .btn-primary:hover,body.site button[type=submit]:hover{background:#10562c;border-color:#10562c}
body.site input,body.site select,body.site textarea{max-width:100%}
body.site audio{display:block;width:100%;max-width:100%}
body.site .container-footer{background:var(--jam-ink);color:#fff;border-top:5px solid var(--jam-red);padding:1rem}
body.site .container-footer a{color:var(--jam-yellow)}
body.site .breadcrumb{font-size:.8rem;flex-wrap:wrap}
@media(max-width:480px){body.site{width:100%;box-shadow:none}body.site .site-grid{padding:0 12px}body.site .container-header .navbar-brand{padding:0.6rem 0}}


/* JAMMIN - HEADER NERO SENZA SPAZI */

.container-header {
  background: #000 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.container-header .navbar-brand {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}

.container-header .navbar-brand a {
  display: block;
  margin: 0;
  padding: 0;
}

.container-header .navbar-brand img {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: none;
  height: auto;
  object-fit: contain;
}

/* Elimina eventuali spazi del contenitore */
.container-header .container-nav,
.container-header .container-topbar {
  padding: 0 !important;
}

/* Mantiene la fascia reggae */
.container-header::after {
  margin: 0;
}


/* JAMMIN - SFONDO NERO TOTALE */

html,
body,
body.site {
    background: #000000 !important;
}

/* Contenitore principale */
body .site-grid {
    background: #000000 !important;
}

/* Area contenuti */
.container-component,
.container-main,
main,
main > div {
    background-color: #000000 !important;
}

/* Testi generali */
body {
    color: #ffffff;
}

/* Titoli */
h1, h2, h3, h4, h5, h6 {
    color: #f5cc32;
}

/* Schede dei brani: restano chiare */
.card {
    background: #ffffff;
    color: #171a17;
}

/* Testi delle schede */
.card h2,
.card h3,
.card h4 {
    color: #16783b;
}


/* JAMMIN - TITOLI CON INIZIALE MAIUSCOLA */

.card h2,
.card h3,
.card h4,
.moduletable h2,
.moduletable h3 {
    text-transform: capitalize;
}


/* JAMMIN - PISTAS DE ESTUDIO V2 */

/* Sezione apribile */
details[open] {
  margin-top: 16px;
}

/* Intestazione */
details > summary {
  color: #16783b;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  padding: 12px 0;
}

/* Contenitore generale: senza sfondo */
details[open] > div {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 12px;
  color: #171a17;
}

/* Ogni versione di studio */
details[open] > div > div {
  background: #1b211d !important;
  border: 1px solid #16783b;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 12px;
  box-shadow: 0 3px 10px rgba(0,0,0,.12);
}

/* Titoli */
details[open] > div > div strong,
details[open] > div > div h4,
details[open] > div > div h5 {
  display: block;
  color: #f5cc32 !important;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
}

/* Lettore */
details[open] > div > div audio {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 10px 0;
}

/* Download */
details[open] > div > div a {
  display: inline-block;
  color: #f5cc32 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  padding: 5px 0;
}

details[open] > div > div a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

/* Mobile */
@media (max-width: 480px) {
  details[open] > div > div {
    padding: 10px;
  }
}


/* JAMMIN - LOGO AL 50% */

.container-header .navbar-brand img {
    width: 50% !important;
    max-width: 50% !important;
    height: auto !important;
    max-height: none !important;
    display: block;
    margin: 0 auto !important;
}

/* Header nero e logo centrato */
.container-header,
.container-header .grid-child {
    background: #000000 !important;
}

.container-header .navbar-brand {
    width: 100%;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center;
}

.container-header .navbar-brand a {
    display: block;
    width: 100%;
}

