body.single-release #header,
body.single-release #footer {
    display: none !important;
}
body.single-release hr {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    overflow: hidden !important;
}

/* --- Layout base --- */
.lf-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #0e1a29;
}
.lf-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0.5rem;
}
/* --- Container release --- */
.presave {
    position: relative;
    min-height: 100vh;
    color: #fff;
    overflow: hidden;
    background: transparent;
}
/* --- Sfondo blur solo entro il contenuto --- */
.presave .bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(18px);
    z-index: 0;
    pointer-events: none;
}
.presave .overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(14,26,41,0.65) 0%,
        rgba(14,26,41,0.75) 40%,
        rgba(14,26,41,0.88) 100%
    );
}
/* --- Strati contenuto superiore --- */
.presave .wrap,
.presave .hero,
.presave .meta,
.presave .cover-wrap,
.stores,
.powered-by {
    position: relative;
    z-index: 2;
}

/* --- Layout desktop --- */
.presave .wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 1.25rem 1rem 2rem;
}
.presave .hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: center;
    margin-bottom: 1.25rem;
}
.presave .cover-wrap {
    display: grid;
    place-items: center;
}
.presave .cover {
    width: 72vw;
    max-width: 420px;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    object-fit: cover;
    box-shadow: 0 16px 48px rgba(0,0,0,0.12);
    background: #fff;
}

.presave .meta { text-align: center; }
.presave .title { font-size: clamp(1.4rem, 6vw, 2.2rem); font-weight: 800; margin: 0; }
.presave .artist { font-size: clamp(1.1rem, 2.8vw, 1.4rem); font-weight: 700; color: #e0e6ed; margin: 1rem 0; }
.presave .type-tag {
    display: inline-block;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.24);
    backdrop-filter: blur(2px);
}
.presave .note { margin-top: 1.5rem; color: #4fa1f6; font-weight: 600; }
.stores { margin-top: 1.25rem; }
.stores-title { font-size: 1.1rem; font-weight: 800; letter-spacing: .02em; margin-bottom: 0.75rem; text-transform: uppercase; }
.store-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}
.store-label { font-weight: 700; letter-spacing: .01em; margin-right: 20px; margin-left: auto; }
.powered-by { margin-top: 2rem; text-align: center; font-size: 0.9rem; color: #d0d8e0; }
.powered-by p { margin-bottom: 0.4rem; font-weight: 500; text-transform: uppercase; }
.powered-logo { height: 72px; object-fit: contain; }
.powered-link { display: inline-block; }

/* --- Store buttons --- */
#releaselinks .linkTop {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 12px;
    padding: 0.9rem 1rem;
    color: #fff;
    margin-bottom: 0.75rem;
    transition: box-shadow .18s, border-color .18s;
}
#releaselinks .linkTop:hover {
    border-color: #4fa1f6;
    box-shadow: 0 8px 20px rgba(13,42,76,0.2);
}
#releaselinks .linkTop img {
    width: 44px;
    height: 44px;
    margin-right: 1rem;
    object-fit: contain;
    background: transparent;
    display: block;
}
#releaselinks .linkTop a {
    align-items: center;
    text-decoration: none;
    color: inherit;
    flex: 1;
    display: flex;
    flex-direction: row-reverse; /* immagine a sinistra, testo a destra */
    gap: 1rem;
}
#releaselinks .linkTop .button-label {
    font-weight: 700;
    letter-spacing: .01em;
    margin-left: auto;
}

@media (min-width: 880px) {
    .presave .hero {
        grid-template-columns: minmax(320px, 420px) 1fr;
        gap: 2rem;
        align-items: center;
        justify-items: center;
    }
    .presave .meta { text-align: left; justify-self: start; }
    .presave .cover { width: 100%; }
    .store-grid { max-width: 560px; margin: 0 auto; }
}

/* --- MOBILE: una colonna ottimizzata e proporzioni pił compatte --- */
@media (max-width: 700px) {

  .lf-wrapper,
  .lf-content,
  .presave,
  .presave .wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
  }

  .presave .bg,
  .presave .overlay {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100vw !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 0;
  }
  .presave .overlay {
    z-index: 1;
    background: linear-gradient(
      180deg,
      rgba(14,26,41,0.65) 0%,
      rgba(14,26,41,0.75) 40%,
      rgba(14,26,41,0.88) 100%
    );
  }

  .presave .wrap {
    margin-top: 2.3rem !important;  /* margine TOP sulla colonna principale */
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
  .presave .hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin-bottom: 1rem !important;
    gap: 0 !important;
  }
  .presave .cover-wrap {
    order: 1;
    width: 92vw !important;
    max-width: 300px !important;
    margin: 2vw auto 0.9rem auto !important;
    text-align: center !important;
    display: block !important;
  }
  .presave .cover {
    width: 92vw !important;
    max-width: 270px !important;
    min-width: 130px !important;
    margin: 0 auto 0.7rem auto !important;
    aspect-ratio: 1/1 !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10) !important;
    display: block !important;
  }
  .presave .meta {
    order: 2;
    width: 93vw !important;
    margin: 0 auto 0.7rem auto !important;
    text-align: center !important;
  }
  .presave .title, .presave .note, .presave .artist, .presave .type-tag {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .presave .title { font-size: 1.15rem !important; margin: 0.45rem 0 0.15rem 0 !important; }
  .presave .artist { font-size: 0.98rem !important; margin-bottom: 0.2rem !important;}
  .presave .type-tag { font-size: 0.89rem !important; margin-bottom: 0.3rem !important;}
  .presave .note { font-size: 1.02rem !important; margin-top: 0.35rem !important;}
  .stores {
    order: 3;
    margin: 0 0 0 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
  .store-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.6rem !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
  }
  #releaselinks .linkTop {
    font-size: 0.98rem !important;
    padding: 0.75rem 1rem !important;
    border-radius: 9px !important;
    margin: 0 0 0.7rem 0 !important;
    width: 94vw !important;
    max-width: 360px !important;
    min-width: 180px !important;
    background: rgba(255,255,255,0.13) !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: flex-start !important;
  }
  #releaselinks .linkTop a {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 0.55rem !important;
    width: 100% !important;
    align-items: center !important;
    text-align: left !important;
    font-size: 0.87rem !important;
  }
  #releaselinks .linkTop img {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .powered-by {
    margin-top: 1.2rem !important;
    font-size: 0.97rem !important;
    text-align: center !important;
    padding-bottom: 1.3rem;
  }
  .powered-logo {
    height: 64px !important;
    max-width: 92vw !important;
    margin: 0 auto !important;
    display: block !important;
  }
}
