/* [ADV] GHF banner + separatore */

.partner-spot{
  max-width:960px;
  margin:1rem auto 1.25rem;
  padding:.25rem 0;
  text-align:center;
}
.partner-spot img{
  max-width:100%;
  height:auto;
  vertical-align:middle;
}
.partner-note{
  display:block;
  margin-top:.4rem;
  font-size:.78rem;
  color:rgba(255,255,255,.6);
}
@media (prefers-color-scheme: light){
  .partner-note{ color:rgba(0,0,0,.55); }
}

/* GHF banner: angoli arrotondati + ombra */
.partner-spot img{
  border-radius:12px; /* mobile */
  box-shadow:0 8px 22px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.12);
}
@media (min-width:768px){
  .partner-spot img{ border-radius:16px; } /* desktop */
}

/* Box ADV generico */
.adv-spot{
  max-width:980px;
  margin:1.25rem auto 1.5rem;
  padding:.75rem;
  text-align:center;
  border-radius:16px;
  background:rgba(0,0,0,.05);
  box-shadow:0 10px 26px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.12);
}
@media (prefers-color-scheme: dark){
  .adv-spot{
    background:rgba(255,255,255,.04);
    box-shadow:0 8px 20px rgba(0,0,0,.5);
  }
}
.adv-spot img{
  border-radius:14px;
  display:block;
  margin:0 auto;
  height:auto;
  max-width:100%;
}

/* Separatore */
.vi-sep{
  height:1px;
  border:0;
  margin:18px 0;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.14),transparent);
}
@media (prefers-color-scheme: dark){
  .vi-sep{
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  }
}

/* Variante GHF: tinta tema */
.adv-spot.adv-ghf{
  position:relative;
  background:transparent;
  padding:1rem;
  border-radius:18px;
}
.adv-spot.adv-ghf::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(
    135deg,
    var(--accent, #22c55e),
    var(--accent2, #60a5fa)
  );
  opacity:.14;
}
@media (prefers-color-scheme: light){
  .adv-spot.adv-ghf::before{ opacity:.10; }
}
.adv-spot.adv-ghf img{
  position:relative;
  z-index:1;
  border-radius:14px;
}
.adv-spot.adv-ghf .adv-note{
  position:relative;
  z-index:1;
}

/* [ADV] GHF banner + separatore */

.partner-spot{
  max-width:960px;
  margin:1rem auto 1.25rem;
  padding:.25rem 0;
  text-align:center;
}
.partner-spot img{
  max-width:100%;
  height:auto;
  vertical-align:middle;
}
.partner-note{
  display:block;
  margin-top:.4rem;
  font-size:.78rem;
  color:rgba(255,255,255,.6);
}
@media (prefers-color-scheme: light){
  .partner-note{ color:rgba(0,0,0,.55); }
}

/* GHF banner: angoli arrotondati + ombra */
.partner-spot img{
  border-radius:12px; /* mobile */
  box-shadow:0 8px 22px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.12);
}
@media (min-width:768px){
  .partner-spot img{ border-radius:16px; } /* desktop */
}

/* Box ADV generico */
.adv-spot{
  max-width:980px;
  margin:1.25rem auto 1.5rem;
  padding:.75rem;
  text-align:center;
  border-radius:16px;
  background:rgba(0,0,0,.05);
  box-shadow:0 10px 26px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.12);
}
@media (prefers-color-scheme: dark){
  .adv-spot{
    background:rgba(255,255,255,.04);
    box-shadow:0 8px 20px rgba(0,0,0,.5);
  }
}
.adv-spot img{
  border-radius:14px;
  display:block;
  margin:0 auto;
  height:auto;
  max-width:100%;
}

/* Separatore */
.vi-sep{
  height:1px;
  border:0;
  margin:18px 0;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.14),transparent);
}
@media (prefers-color-scheme: dark){
  .vi-sep{
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  }
}

/* Variante GHF: tinta tema */
.adv-spot.adv-ghf{
  position:relative;
  background:transparent;
  padding:1rem;
  border-radius:18px;
}
.adv-spot.adv-ghf::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(
    135deg,
    var(--accent, #22c55e),
    var(--accent2, #60a5fa)
  );
  opacity:.14;
}
@media (prefers-color-scheme: light){
  .adv-spot.adv-ghf::before{ opacity:.10; }
}
.adv-spot.adv-ghf img{
  position:relative;
  z-index:1;
  border-radius:14px;
}
.adv-spot.adv-ghf .adv-note{
  position:relative;
  z-index:1;
}

/* Vero INCI – centratura blocco banner GHF + footer su colonna principale */
html.vi-allow .partner-spot{
  /* stessa colonna di page-wrap (1100px) */
  width:min(1100px, 100% - 2rem);
  margin:0 auto 1.25rem;
  display:flex;
  justify-content:center;
}

/* il box annuncio dentro il wrapper centrato, senza margini strani */
html.vi-allow .partner-spot .adv-spot{
  margin:0;
}



/* Vero INCI – centratura FORTE footer su tutte le pagine */
footer.site-footer .cols,
footer.site-footer .foot-copy,
footer.site-footer .foot-copy .inner {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Vero INCI – footer + banner allineati alla colonna principale */
@media (min-width: 769px) {

  /* wrapper banner sopra il footer (se presente) */
  .vi-ghf-banner-wrapper,
  /* blocco colonne footer */
  footer.site-footer .cols,
  /* barra finale copyright/lingue */
  footer.site-footer .foot-copy .inner {
    width: 100%;
    max-width: 1100px;      /* stesso valore di .page-wrap */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }
}
