/**
 * Fusolab 2.0 – Stile Kirigami (dark)
 * Replica del template rt_kirigami del vecchio sito Joomla
 */

/* Core */
html { margin-bottom: 1px; height: 100%; }
body {
  font-family: Helvetica, Arial, sans-serif;
  color: #dedede;
  background: #181818;
  margin: 0;
  padding: 0;
}
body a:hover { color: #fff; }
a { color: #8C8D8F; text-decoration: none; transition: color 0.1s ease-in; }
img { max-width: 100%; height: auto; }
ul { list-style: none; margin: 0; padding: 0; }

#rt-page-surround { overflow: hidden; }

/* Header */
#rt-header {
  margin-bottom: 2px;
  background: #292929;
  color: #fff;
  position: relative;
}
#rt-header .rt-container { background: transparent; }
.rt-headerborder {
  height: 4px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  background: #1B1C1D;
}

/* Container */
.rt-container {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 0 20px;
  box-sizing: border-box;
}
@media (max-width: 1240px) {
  .rt-container { width: 960px; }
}
@media (max-width: 1000px) {
  .rt-container { width: 768px; }
}
@media (max-width: 800px) {
  .rt-container { width: 95%; padding: 0 15px; }
}

/* Header inner: logo + menu */
.rt-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
  padding: 15px 0;
  position: relative;
  z-index: 1;
}
#rt-logo { display: block; }
#rt-logo img { height: 50px; width: auto; display: block; }
#rt-header a#rt-logo { color: #fff; }

.rt-header-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rt-header-top .rt-sep { color: #666; margin: 0 2px; user-select: none; }
.menutop { float: right; }

/* Horizontal menu (categorie / nav) */
.horizmenu ul.menu { margin: 0; padding: 0; list-style: none; background: transparent; }
.horizmenu ul.menu li { display: inline-block; padding-right: 25px; }
.horizmenu ul.menu li:last-child { padding-right: 0; }
.horizmenu ul.menu li a,
.horizmenu ul.menu li .item { padding: 0; font-size: 1.1em; color: #aaa; text-shadow: 1px 1px 1px rgba(0,0,0,0.4); }
.horizmenu ul.menu li a:hover,
.horizmenu ul.menu li.active a { color: #fff; }

/* Main content area */
#rt-body-surround { padding: 20px 0 40px; }
.component-content { padding: 20px 0; padding-top: 0; }

/* Titles */
h1, h1.title, h2, h2.title, .title { margin-top: 0; font-weight: 100; line-height: 1.2em; }
.title, .items-leading h2, .items-row h2, .component-content .item-page h2 {
  margin: 0 0 15px 0;
  padding: 0 0 0 25px;
  position: relative;
  text-shadow: 0 2px 0 rgba(0,0,0,0.1);
}
.title:before, .items-leading h2:before, .component-content .item-page h2:before {
  position: absolute;
  content: '';
  width: 5px;
  height: 22px;
  left: 0;
  top: 3px;
  background-color: #999;
}

/* Article list (items-leading) */
.items-leading { margin-bottom: 2em; }
.items-leading .item { margin-bottom: 2em; padding-bottom: 1.5em; border-bottom: 1px solid #333; }
.items-leading .item:last-child { border-bottom: none; }
.items-leading .item h2 { margin-bottom: 0.35em; }
.items-leading .item h2 a { color: #dedede; }
.items-leading .item h2 a:hover { color: #fff; }
.items-leading .article-info { color: #777; font-size: 0.9em; margin-bottom: 0.5em; }
.items-leading .content-body { color: #bbb; line-height: 1.5; }
.readmore { margin-top: 0.5em; }
.readmore a, .readon {
  padding: 5px 12px;
  display: inline-block;
  line-height: 1.8em;
  font-size: 100%;
  color: #fff;
  text-shadow: 0 -1px 1px rgba(0,0,0,0.5);
  border: 1px solid rgba(225,225,225,0.3);
  border-radius: 3px;
  background: #444;
  transition: background-color 0.1s ease-in;
}
.readmore a:hover, .readon:hover { color: #fff; background: #555; }

/* Item page (dettaglio articolo) */
.item-page .article-info { color: #777; font-size: 0.9em; margin-bottom: 1em; }
.item-page .article-body, .component-content .item-page .article-body { line-height: 1.6; color: #dedede; }
.item-page .article-body img { max-width: 100%; height: auto; }
.item-page .article-body a { color: #8C8D8F; }
.item-page .article-body a:hover { color: #fff; }

/* Footer */
#rt-footer { background: #292929; color: #fff; padding: 20px 0; }
#rt-footer .rt-container { background: transparent; }
#rt-footer a { color: #8C8D8F; }
#rt-footer a:hover { color: #fff; }

#rt-copyright { color: #bbb; padding: 15px 0; font-size: 0.9em; }
#rt-copyright a { color: #bbb; }
#rt-copyright a:hover { color: #fff; }

/* Header top bar + slogan (home-style) */
.rt-header-top { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; font-size: 0.95em; }
.rt-header-top a { color: #8C8D8F; }
.rt-header-top a:hover { color: #fff; }
.rt-slogan { margin: 8px 0 12px; font-size: 1em; }
.rt-slogan a { color: #aaa; }
.rt-slogan a:hover { color: #fff; }

/* Home: promo banner */
.rt-promo { margin: 20px 0; padding: 20px; background: #333; border-radius: 5px; text-align: center; }
.rt-promo-link { color: #dedede; font-size: 1.1em; }
.rt-promo-link:hover { color: #fff; }

/* Home: sections */
.rt-section { margin-bottom: 2em; }
.section-title { margin: 0 0 15px; padding: 0 0 0 25px; position: relative; font-size: 1.25em; font-weight: 100; }
.section-title:before { position: absolute; content: ''; width: 5px; height: 22px; left: 0; top: 3px; background-color: #999; }

/* Eventi list */
.eventi-list { display: flex; flex-direction: column; gap: 10px; }
.eventi-item a { color: #dedede; font-size: 1.05em; }
.eventi-item a:hover { color: #fff; }

/* Corsi grid (like old site) */
.corsi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px 20px; }
.corsi-item a { color: #8C8D8F; display: block; padding: 4px 0; }
.corsi-item a:hover { color: #fff; }

/* Contatti / M8 / INFO */
.rt-contatti p, .rt-m8 blockquote, .rt-info p { color: #bbb; line-height: 1.6; margin: 0 0 10px; }
.rt-m8 blockquote { margin: 0; padding-left: 1em; border-left: 3px solid #555; }

/* Grid 12 (Kirigami) */
body { min-width: 100px !important; }
body .rt-container { width: 1200px; margin: 0 auto; position: relative; }
body [class*="rt-grid"] { display: inline; float: left; position: relative; margin: 0; }
.rt-section-surround, .rt-mainsection { display: table; table-layout: fixed; border-collapse: separate; width: 100%; }
.rt-row-surround, .rt-mainrow { display: table-row; }
.rt-row-surround [class*="rt-grid"], .rt-mainrow [class*="rt-grid"] { display: table-cell; float: none; vertical-align: top; padding: 0 10px 20px 0; box-sizing: border-box; }
.rt-row-surround [class*="rt-grid"]:last-child, .rt-mainrow [class*="rt-grid"]:last-child { padding-right: 0; }
.rt-container .rt-grid-1 { width: 100px; max-width: 100px; }
.rt-container .rt-grid-2 { width: 200px; max-width: 200px; }
.rt-container .rt-grid-3 { width: 300px; max-width: 300px; }
.rt-container .rt-grid-4 { width: 400px; max-width: 400px; }
.rt-container .rt-grid-6 { width: 600px; max-width: 600px; }
.rt-container .rt-grid-12 { width: 1200px; max-width: 1200px; }
@media only screen and (min-width: 960px) and (max-width: 1199px) {
  body .rt-container { width: 960px; }
  .rt-container .rt-grid-2 { width: 160px; max-width: 160px; }
  .rt-container .rt-grid-3 { width: 240px; max-width: 240px; }
  .rt-container .rt-grid-4 { width: 320px; max-width: 320px; }
  .rt-container .rt-grid-6 { width: 480px; max-width: 480px; }
  .rt-container .rt-grid-12 { width: 960px; max-width: 960px; }
}
@media only screen and (max-width: 959px) {
  body .rt-container { width: 95%; }
  body .rt-section-surround, body .rt-mainsection { display: block; }
  body .rt-row-surround, body .rt-mainrow { display: block; }
  body .rt-container [class*="rt-grid"] { display: block; float: none; position: relative; width: 100%; }
}

/* Card evento/corso (come vecchio sito: immagine + titolo) */
.rt-item-card { margin-bottom: 20px; }
.rt-item-card a { display: block; color: inherit; }
.rt-item-card .rt-item-image { display: block; width: 100%; height: 180px; background: #333; overflow: hidden; margin-bottom: 8px; }
.rt-item-card .rt-item-image img { width: 100%; height: 100%; object-fit: cover; }
.rt-item-card .rt-item-title { font-size: 1em; font-weight: 100; line-height: 1.3; color: #dedede; }
.rt-item-card:hover .rt-item-title { color: #fff; }

/* Utility */
.clear { clear: both; }
#status, .status { color: #777; font-size: 0.9em; margin-bottom: 1em; }
