
/* Joomla 4/5 compatibility fixes for legacy Full Screen 8 template */
html, body { max-width: 100%; }
body { font-family: Verdana, Arial, Helvetica, sans-serif; }
.website-content, .wrapper-website { box-sizing: border-box; }

/* Joomla 4 menu module output */
#js_navigation ul.mod-menu,
#js_navigation ul.menu,
.drop-down ul { list-style: none; margin: 0; padding: 0; }
#js_navigation > ul.mod-menu,
#js_navigation > ul.menu,
.drop-down > ul { display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
#js_navigation li { position: relative; list-style: none; }
#js_navigation li a,
#js_navigation li span.separator { display: block; padding: 10px 14px; text-decoration: none; cursor: pointer; }
#js_navigation li ul { display: none; position: absolute; left: 0; top: 100%; z-index: 9999; min-width: 180px; }
#js_navigation li:hover > ul,
#js_navigation li:focus-within > ul,
#js_navigation li.submenu-open > ul { display: block; }
#js_navigation li ul li { display: block; width: 100%; }
.title_menu { display: none; }

/* generic old grid: keep columns horizontal on desktop */
.section.group, .footer-grid, .items-row, .blog-items, .users_top, .users_bottom { box-sizing: border-box; }
.section.group:after, .items-row:after, .users_top:after, .users_bottom:after { content: ''; display: table; clear: both; }
.section.group { display: flex; flex-wrap: wrap; gap: 24px; }
.section.group .col { box-sizing: border-box; }
.section.group .span_1_of_3 { flex: 1 1 calc(33.333% - 24px); max-width: calc(33.333% - 24px); min-width: 0; }
.section.group .span_1_of_2 { flex: 1 1 calc(50% - 24px); max-width: calc(50% - 24px); min-width: 0; }
.section.group .span_1_of_4 { flex: 1 1 calc(25% - 24px); max-width: calc(25% - 24px); min-width: 0; }

/* Joomla 4 category/blog: force 3 columns where menu has 3 columns or for Realizzazioni/gallery pages */
.blog .blog-items,
.com-content-category-blog .blog-items,
.view-category .blog-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.blog .blog-items .blog-item,
.com-content-category-blog .blog-items .blog-item,
.view-category .blog-items .blog-item { width: auto !important; max-width: none !important; margin: 0 !important; }
.blog .items-row { display: flex; flex-wrap: wrap; gap: 28px; }
.blog .items-row .item,
.blog .items-row [class*='span'] { flex: 1 1 calc(33.333% - 28px); max-width: calc(33.333% - 28px); float: none !important; margin-left: 0 !important; box-sizing: border-box; }
.blog img, .blog-item img, .item-page img { max-width: 100%; height: auto; }

/* footer/address */
.website-footer { clear: both; }
.website-footer .address .custom,
.website-footer .address .mod-custom,
.address .custom,
.address .mod-custom { width: 100%; }
.address table { width: 100%; border-collapse: collapse; }
.address td { vertical-align: top; }

/* Joomla 4 forms */
.com-contact .control-group, .contact .control-group { margin-bottom: 12px; }
.com-contact input, .com-contact textarea, .com-contact select,
.contact input, .contact textarea, .contact select { max-width: 100%; box-sizing: border-box; }

/* supersized fallback: if old module fails, keep a full-screen background usable */
#supersized, #supersized li { margin: 0; padding: 0; list-style: none; }
#supersized img { max-width: none; }

@media (max-width: 979px) {
  .title_menu { display: block; }
  #js_navigation > ul.mod-menu,
  #js_navigation > ul.menu,
  .drop-down > ul { display: none; flex-direction: column; align-items: stretch; width: 100%; }
  #js_navigation.menu-open > ul.mod-menu,
  #js_navigation.menu-open > ul.menu,
  #js_navigation ul.menu-open { display: flex !important; }
  #js_navigation li { width: 100%; }
  #js_navigation li a, #js_navigation li span.separator { padding: 12px 10px; }
  #js_navigation li ul { position: static; min-width: 0; width: 100%; }
  #js_navigation li:hover > ul { display: none; }
  #js_navigation li.submenu-open > ul { display: block; }
  .wrapper-website { width: auto !important; max-width: calc(100% - 24px); left: auto !important; margin-left: 12px; margin-right: 12px; }
  .website-content { width: auto !important; }
}
@media (max-width: 767px) {
  .section.group { display: block; }
  .section.group .col,
  .section.group .span_1_of_3,
  .section.group .span_1_of_2,
  .section.group .span_1_of_4 { width: 100% !important; max-width: 100% !important; margin-bottom: 18px; }
  .blog .blog-items,
  .com-content-category-blog .blog-items,
  .view-category .blog-items { grid-template-columns: 1fr; }
  .blog .items-row { display: block; }
  .blog .items-row .item,
  .blog .items-row [class*='span'] { width: 100% !important; max-width: 100% !important; margin-bottom: 24px; }
}
@media (min-width: 768px) and (max-width: 979px) {
  .blog .blog-items,
  .com-content-category-blog .blog-items,
  .view-category .blog-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
