@charset "UTF-8";
/*
Theme Name: Belloni
Author: Sebastiano Ercoli
Version: 1.2
*/
:root {
  --bp-content: 885px;
}

@font-face {
  font-family: "Hurme";
  src: url("./fonts/hurmegeometricsans3-light-webfont.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Hurme";
  src: url("./fonts/hurmegeometricsans3-regular-webfont.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Hurme";
  src: url("./fonts/hurmegeometricsans3-semibold-webfont.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* TYPOGRAPHY */
body {
  font-family: "Hurme", sans-serif;
  font-size: 16px;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
  text-transform: uppercase;
  line-height: 1;
}

h1 {
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.page h1 {
  font-size: 22.2px;
  text-align: left;
}

a {
  text-decoration: none;
  color: inherit;
}

a:hover,
.menu li.current-menu-item a {
  text-decoration: underline;
  color: inherit;
}

a:visited {
  color: inherit;
}

main {
  font-size: 18.5px;
  line-height: 1.9;
}

.contatti {
  font-size: 16px;
  line-height: 1.2;
}

/* LAYOUT AND MARGINS */
.site-header,
.site-footer,
.entry-header {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: calc(3rem - 1em);
  padding-left: 5vw;
  padding-right: 5vw;
}

.home.desktop .site-header {
  position: absolute;
  max-width: none;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  background: transparent;
  color: #fff;
}

.site-main {
  padding-left: 5vw;
  padding-right: 5vw;
}

.site-footer .container {
  margin-top: 7rem;
  padding-top: 2em;
  padding-bottom: 2em;
  border-top: 1px solid black;
}

.entry-header {
  padding-left: 5vw;
  padding-right: 5vw;
}

article.bba_portfolio .entry-content {
  padding-bottom: 7rem;
}

.wp-block-columns.belloni-columns {
  display: grid;
  gap: 2.46rem;
}
@media screen and (min-width: 650px) {
  .wp-block-columns.belloni-columns {
    grid-template-columns: 1fr 2.5fr;
  }
}
@media screen and (min-width: 885px) {
  .wp-block-columns.belloni-columns {
    grid-template-columns: 1fr 3fr;
  }
}

.belloni-columns h3 {
  font-size: 18.5px;
  line-height: 1.9;
}

.page .bba-featured-image {
  margin-bottom: 3rem;
}

.belloni-columns.top-columns > :first-child {
  border-top: 1px solid #000;
  padding-top: 2.46rem;
}

@media screen and (min-width: 650px) {
  .belloni-columns.top-columns > :last-child {
    border-top: 1px solid #000;
    padding-top: 2.46rem;
  }
}
.home main {
  margin-top: 7rem;
}

/* ================================
   SLIDER — MOBILE FIRST
================================ */
/* Wrapper: mantiene proporzioni in mobile */
.home .ubs-slider {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: var(--aspect-ratio, 16/9);
  overflow: hidden;
}

.home.desktop .ubs-slider {
  aspect-ratio: auto; /* disattiva aspect-ratio */
  height: 100vh; /* fullscreen */
}

/* Track: deve avere altezza */
.ubs-slider__track {
  position: relative;
  height: 100%;
}

/* Slide: deve riempire il wrapper */
.ubs-slider__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Background */
.ubs-slider__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform var(--zoom-duration, 6000ms) var(--zoom-easing, ease-out);
}

/* Contenuto centrato */
.ubs-slider__content {
  position: absolute;
  max-width: none;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  text-align: center;
  color: white;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ubs-slider__slide.is-active .ubs-slider__content {
  opacity: 1;
  transform: translateY(0);
}

.home .ubs-slider__text {
  font-size: 37px;
  text-transform: uppercase;
  font-weight: bold;
}

/* Zoom */
.ubs-slider--zoom .ubs-slider__slide.is-active .ubs-slider__bg {
  transform: scale(var(--zoom-scale, 1.05));
}

/* MAIN HEADER */
.site-header {
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
}

.site-header .container {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  position: relative;
  margin: 2.46rem 0;
}

.hamburger {
  grid-column: 1;
  justify-self: start;
}

.site-logo {
  grid-column: 2;
  justify-self: center;
}

/* site logo */
.site-logo a {
  display: block;
  width: clamp(280px, 45vw, 371.6px);
  aspect-ratio: 1080/95;
  /* mask */
  mask-image: url("img/nba-logo-mask.png");
  mask-size: contain;
  mask-repeat: no-repeat;
  background: url("img/nba-logo-blackblue.png") center/contain repeat-y;
}

.desktop.home .site-logo a {
  background-image: url("img/nba-logo-whiteblue.png");
}

/* Logica hamburger sì - hamburger no */
/* MOBILE = DEFAULT */
.hamburger {
  display: flex;
}

.main-navigation {
  display: none;
}

.menu-open .main-navigation {
  display: block;
}

.desktop .hamburger {
  display: none;
}

.desktop .main-navigation {
  display: block;
}

/* In desktop ignoriamo menu-open */
.desktop.menu-open .main-navigation {
  display: block;
}

/* Menu */
.menu {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

.desktop .menu {
  flex-direction: row;
  justify-content: center;
  gap: 1.26rem;
}

.menu > li {
  position: relative; /* necessario per posizionare la tendina */
}

.menu > li:not(:first-child),
.sub-menu li {
  border-top: 1px solid currentColor;
}

.desktop .menu li {
  border: none;
}

.menu li a {
  display: block;
  padding: 1em 0;
}

/* --- SUBMENU --- */
.sub-menu {
  display: none; /* nascosto di default */
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

.desktop .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  padding: 0 1em;
  text-align: left;
  z-index: 25;
}

.desktop.home .sub-menu {
  background-color: transparent;
}

.submenu-open > .sub-menu {
  display: block;
  margin-left: 3rem;
}

.desktop .menu-item-has-children:hover > .sub-menu {
  display: block;
}

.desktop .sub-menu li a {
  padding: 0.3em 0;
}

/* HAMBURGER */
.hamburger {
  flex-direction: column;
  gap: 3px; /* prima 4px */
  border: none;
  background-color: transparent;
  cursor: pointer;
  padding: 3vw;
}

.hamburger span {
  width: 16px; /* prima 20px */
  height: 2px; /* resta 2px, è già perfetto */
  background: #333;
  transition: transform 0.3s, opacity 0.3s;
}

/* Animazioni hamburger */
.menu-open .hamburger span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.menu-open .hamburger span:nth-child(2) {
  opacity: 0;
}

.menu-open .hamburger span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

/* MAIN FOOTER */
.site-footer .container {
  display: flex;
  flex-direction: column;
  align-items: left;
}
.site-footer .container .footer-info {
  display: flex;
  flex-direction: column;
}
.site-footer .container .footer-info span, .site-footer .container .footer-info a {
  display: block;
}
@media screen and (min-width: 885px) {
  .site-footer .container {
    flex-direction: row;
    justify-content: space-between; /* Credits a sx, Info a dx */
    text-align: left;
  }
  .site-footer .container .footer-info {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0 15px; /* Spazio orizzontale 15px, verticale 0 */
  }
  .site-footer .container .footer-info span, .site-footer .container .footer-info a {
    display: inline-block;
  }
}

/* --- CREDITS POPUP --- */
.credits-popup {
  position: relative;
  cursor: pointer;
  display: inline-block;
}

/* Rimuove la freccetta standard di <summary> */
.credits-popup summary {
  list-style: none;
  outline: none;
}

.credits-popup summary::-webkit-details-marker {
  display: none;
}

/* Il contenuto del popup */
.popup-content {
  position: absolute;
  bottom: 100%; /* Lo posiziona sopra il testo */
  left: 0;
  margin-bottom: 10px; /* Distanza dal testo */
  padding: 4px 18px 6px 18px;
  background: #eee; /* Colore di sfondo */
  white-space: nowrap;
  border-radius: 4px;
  z-index: 10;
}

/* Triangolino puntatore verso il basso */
.popup-content::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 20px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #eee transparent transparent transparent;
}

/* GRID PROGETTI */
.bba-portfolio-grid {
  grid-template-columns: 1fr;
  grid-row-gap: 3rem;
}
@media screen and (min-width: 650px) {
  .bba-portfolio-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1140px) {
  .bba-portfolio-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.bba-portfolio-grid.quattrocolonne {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 550px) {
  .bba-portfolio-grid.quattrocolonne {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 885px) {
  .bba-portfolio-grid.quattrocolonne {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 1140px) {
  .bba-portfolio-grid.quattrocolonne {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.bba-portfolio-grid-item {
  font-size: 14px;
}

.bba-portfolio-grid-thumb {
  width: 100%;
  aspect-ratio: 1.45;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 0.2rem;
}

.bba-portfolio-grid-category {
  font-size: 11px;
  text-transform: uppercase;
}

.bba-portfolio-grid-title {
  margin: 9px 0;
  font-weight: 600;
  letter-spacing: 0.05rem;
}

.bba-portfolio-grid-more {
  text-transform: uppercase;
  line-height: 2;
}

.bba-portfolio-grid-more:visited {
  color: #008cff;
}

.bba-portfolio-grid-more,
.bba-portfolio-grid-more a,
.bba-portfolio-grid-more a:hover,
.bba-portfolio-grid-more a:visited {
  color: #008cff;
}

/* PROGETTI RECENTI */
.bba-recent-projects {
  max-width: var(--wp--style--global--content-size);
  border-top: 1px solid #000;
  padding-top: 7rem;
  margin-left: auto !important;
  margin-right: auto !important;
}

/**/
.bba-portfolio-grid-item .bba-portfolio-grid-thumb {
  position: relative;
  overflow: hidden;
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-size 0.45s ease;
}

.bba-portfolio-grid-item a .bba-portfolio-grid-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.bba-portfolio-grid-item a:hover .bba-portfolio-grid-thumb {
  background-size: 104%; /* zoom leggerissimo */
}

.bba-portfolio-grid-item a:hover .bba-portfolio-grid-thumb::after {
  opacity: 1;
}

/* PROGETTO SINGOLO */
.bba-featured-image.is-layout-constrained img {
  display: block;
  width: 100%;
  height: auto;
}

.bba-portfolio-header .wp-block-columns {
  display: grid;
  gap: 2.46rem;
}
@media screen and (min-width: 650px) {
  .bba-portfolio-header .wp-block-columns {
    grid-template-columns: 1fr 2.5fr;
  }
}
@media screen and (min-width: 885px) {
  .bba-portfolio-header .wp-block-columns {
    grid-template-columns: 1fr 3fr;
  }
}
.bba-portfolio-header .wp-block-columns {
  margin-bottom: 6rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #000;
}

.bba-portfolio-header .wp-block-column:first-child {
  padding-top: 3rem;
  border-top: 1px solid #000;
}

.bba-portfolio-header .wp-block-column:last-child {
  border-top: 1px solid #000;
  padding-top: 3rem;
}

/* specs */
.bba-specs {
  font-size: 14px;
  line-height: 1.2;
}

.bba-spec-item:not(:last-child) {
  margin-bottom: 1em;
}

.bba-spec-label {
  display: block;
}

.bba-spec-value {
  display: block;
  font-weight: 600;
  text-transform: uppercase;
}

/* PUBBLICAZIONI */
.bba-pub-list {
  list-style: none;
  padding: 0;
}

.bba-pub-item {
  display: grid;
  gap: 2.46rem;
}
@media screen and (min-width: 650px) {
  .bba-pub-item {
    grid-template-columns: 1fr 2.5fr;
  }
}
@media screen and (min-width: 885px) {
  .bba-pub-item {
    grid-template-columns: 1fr 3fr;
  }
}
.bba-pub-item {
  padding-bottom: 1.26rem;
}

.bba-pub-list {
  font-size: 16px;
  line-height: 1.2;
}

.bba-pub-left {
  border-top: 1px solid black;
  padding-top: 1.26rem;
}

@media screen and (min-width: 650px) {
  .bba-pub-title {
    border-top: 1px solid black;
    padding-top: 1.26rem;
  }
}
.bba-pub-author, .bba-pub-year {
  display: block;
  font-weight: bold;
}

.bba-pub-year {
  text-transform: uppercase;
}

.bba-pub-left div:not(:first-of-type) {
  margin-top: 1.26rem;
}

/* BLOG - vista di insieme e post singolo */
.bba-blog-item {
  display: grid;
  gap: 2.46rem;
}
@media screen and (min-width: 650px) {
  .bba-blog-item {
    grid-template-columns: 1fr 1fr;
  }
}
.bba-blog-item {
  margin-bottom: 6rem;
  align-items: start;
}

.bba-blog-thumbnail {
  grid-column: 1;
  aspect-ratio: 1.45;
  background-size: cover;
  background-position: center;
}

.bba-blog-content {
  grid-column: 2;
  border-top: 1px solid #000;
}

.bba-blog-date {
  font-size: 14px;
  margin-top: 1.26rem;
}

.bba-blog-item h2 {
  font-size: 25.6px;
}

.bba-blog-excerpt {
  line-height: 1.2;
}

.bba-blog-readmore, .bba-blog-readmore:hover, .bba-blog-readmore:visited {
  display: block;
  color: #008cff;
  text-transform: uppercase;
}

/* Reset colonne su layout stretto */
@media screen and (max-width: 649px) {
  .bba-blog-thumbnail, .bba-blog-content {
    grid-column: auto;
  }
}
/* PAGINA BLOG SINGOLA */
.blog-info {
  font-size: 14px;
  line-height: 1.2;
}

.blog-info p:first-of-type {
  padding-top: 0.7em;
}

.bba-back-to-blog {
  max-width: var(--wp--style--global--content-size);
  margin-top: 3rem;
  margin-left: auto !important;
  margin-right: auto !important;
}

.bba-back-to-blog a, .bba-back-to-blog a:visited {
  color: #008cff;
}

/* PAGINAZIONE */
.bba-pagination {
  color: #008cff;
}

.bba-pagination-list {
  display: flex;
  justify-content: start;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.bba-pagination-item {
  display: block;
  padding: 0 1rem;
  text-decoration: none;
}

.bba-pagination-item .current {
  text-decoration: underline;
  pointer-events: none;
}/*# sourceMappingURL=style.css.map */