/*
Theme Name: Zaccone Music Premium V36.18 Same Home Footer
Theme URI: https://www.zaccone-music.it/
Author: OpenAI / ChatGPT
Description: Elegant one-page dark/gold theme for Zaccone-Music, Music Therapy Label Records and Amplitudo. No placeholder logo.
Version: 36.18
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: zaccone-music-premium-v36-18
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');
:root{--bg:#050505;--panel:#0d0b08;--card:#14100b;--gold:#d6a84f;--gold2:#ffe0a0;--text:#f7f1e8;--muted:#b8aa96;--border:rgba(214,168,79,.27)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 12%,rgba(214,168,79,.18),transparent 30%),linear-gradient(180deg,#050505,#0a0704 48%,#050505);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(5,5,5,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(214,168,79,.18)}.navin{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:22px 0}.brand{min-width:max-content}.brand strong{display:block;font-size:25px;line-height:1;letter-spacing:.22em;font-weight:950}.brand span{display:block;margin-top:9px;color:var(--gold);font-size:12px;letter-spacing:.22em;font-weight:900;text-transform:uppercase}.menu{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.menu a{padding:10px 0;border-bottom:3px solid transparent;color:#eee6da}.menu a:hover{border-bottom-color:var(--gold);color:var(--gold2)}
.socials{display:flex;gap:10px;align-items:center}.social{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);transition:.2s}.social:hover{background:var(--gold);color:#090603;transform:translateY(-2px)}.social svg{width:18px;height:18px;fill:currentColor;display:block}
.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;padding:88px 0}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.97),rgba(5,5,5,.82) 42%,rgba(5,5,5,.38) 75%,rgba(5,5,5,.78)),url("assets/hero.svg") center right/cover no-repeat}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(0deg,#050505,transparent)}.hero .content{position:relative;z-index:2;max-width:760px}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:900;margin-bottom:18px}.title{font-size:clamp(58px,9vw,126px);line-height:.86;margin:0 0 28px;font-weight:950;letter-spacing:-.07em}.title span{display:block;color:transparent;-webkit-text-stroke:1px rgba(255,224,160,.78)}.subtitle{font-size:clamp(18px,2vw,28px);font-weight:900;color:var(--gold2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.lead{font-size:20px;color:#dacdbb;max-width:680px;margin:0 0 34px}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(214,168,79,.96),rgba(120,79,23,.94));color:#130d05;font-weight:950;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.btn.secondary{background:transparent;color:var(--gold2)}
.section{padding:92px 0;border-top:1px solid rgba(214,168,79,.1)}.head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.kicker{color:var(--gold);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:950}.h2{font-size:clamp(34px,5vw,68px);line-height:.95;margin:8px 0 0;letter-spacing:-.05em}.muted{color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.card,.panel{border:1px solid var(--border);border-radius:28px;background:linear-gradient(180deg,rgba(24,19,12,.95),rgba(9,8,6,.96));box-shadow:0 25px 70px rgba(0,0,0,.35)}.card{padding:26px}.panel{padding:42px}.cover{aspect-ratio:1/1;border-radius:22px;margin-bottom:20px;background:radial-gradient(circle at 40% 28%,rgba(255,224,160,.42),transparent 18%),radial-gradient(circle at 72% 74%,rgba(214,168,79,.28),transparent 22%),linear-gradient(135deg,#1f170d,#050505 58%,#8a5f20);border:1px solid rgba(255,224,160,.18);position:relative;overflow:hidden}.cover:after{content:"";position:absolute;inset:20%;border:1px solid rgba(255,224,160,.18);border-radius:50%;box-shadow:0 0 80px rgba(214,168,79,.2)}.card h3{font-size:25px;line-height:1.1;margin:0 0 8px}.meta{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:18px}.artist{display:flex;flex-direction:column;gap:12px;min-height:250px}.artist .role{color:var(--gold);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.artist p{color:#d6c8b4;margin:0}.amplitudo{background:radial-gradient(circle at 24% 20%,rgba(214,168,79,.17),transparent 28%),linear-gradient(135deg,rgba(26,20,12,.96),rgba(5,5,5,.96))}.list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.list a,.list span{display:block;padding:14px 16px;border:1px solid rgba(214,168,79,.17);border-radius:16px;background:rgba(255,255,255,.025);color:#eadac4}.footer{padding:40px 0;color:var(--muted);border-top:1px solid rgba(214,168,79,.15)}.footin{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:1100px){.socials{display:none}.brand strong{font-size:21px}.menu{gap:18px}}
@media(max-width:900px){.menu{display:none}.hero{min-height:640px;padding:70px 0}.grid3,.grid2{grid-template-columns:1fr}.head{display:block}}
@media(max-width:520px){.container{width:min(100% - 26px,1180px)}.title{font-size:58px}.panel,.card{padding:22px}.brand strong{font-size:18px}.brand span{font-size:10px}}


/* === ARTISTS HORIZONTAL SCROLL / CAROUSEL === */
.artists-scroll {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 8px 0 22px;
  -webkit-overflow-scrolling: touch;
}

.artists-scroll::-webkit-scrollbar {
  height: 8px;
}

.artists-scroll::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.04);
  border-radius: 999px;
}

.artists-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #d6a84f, #ffe0a0);
  border-radius: 999px;
}

.artists-scroll .artist {
  flex: 0 0 min(420px, 86vw);
  scroll-snap-align: start;
  min-height: 300px;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.artists-scroll .artist:hover {
  transform: translateY(-6px);
  border-color: rgba(255,224,160,.48);
  box-shadow: 0 26px 80px rgba(214,168,79,.16);
}

.artist-label {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 950;
  margin-bottom: 18px;
}

.scroll-hint {
  color: var(--muted);
  font-size: 14px;
  margin-top: 14px;
}


/* === HOVER PRO RELEASES === */
.cover {
  transition: all 0.4s ease;
  transform: scale(1);
  position: relative;
}

.card:hover .cover {
  transform: scale(1.05);
  box-shadow: 0 30px 80px rgba(214,168,79,0.45);
}

.cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0.1));
  opacity: 0;
  transition: opacity 0.4s ease;
}

.card:hover .cover::before {
  opacity: 1;
}

.card:hover h3 {
  transform: translateY(-5px);
  color: #ffe0a0;
}

/* === ARTIST AVATAR === */
.artist {
  position: relative;
  padding-top: 60px;
}

.artist-avatar {
  position: absolute;
  top: -30px;
  left: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  border: 2px solid #d6a84f;
  box-shadow: 0 10px 30px rgba(214,168,79,0.4);
}


/* === V8 TOP LEVEL EDITABLE CONTENT === */
.hero.hero-custom:before {
  background:
    linear-gradient(90deg, rgba(5,5,5,.97), rgba(5,5,5,.82) 42%, rgba(5,5,5,.38) 75%, rgba(5,5,5,.78)),
    inherit;
}

.release-card a { display:block; }
.cover {
  background-size: cover !important;
  background-position: center !important;
  transition: transform .42s ease, box-shadow .42s ease, filter .42s ease;
  transform: scale(1);
  position: relative;
}
.release-card:hover .cover {
  transform: scale(1.045);
  box-shadow: 0 30px 90px rgba(214,168,79,.44);
  filter: saturate(1.08) contrast(1.06);
}
.cover::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.08));
  opacity:0;
  transition:opacity .35s ease;
}
.release-card:hover .cover::before { opacity:1; }
.release-card h3 {
  transition:transform .3s ease,color .3s ease;
}
.release-card:hover h3 {
  transform:translateY(-5px);
  color:#ffe0a0;
}
.release-card .btn {
  transition:all .3s ease;
}
.release-card:hover .btn {
  background:linear-gradient(135deg,#ffe0a0,#d6a84f);
  color:#000;
  box-shadow:0 10px 30px rgba(214,168,79,.4);
}

/* Artist carousel polished */
.artists-scroll {
  display:flex;
  gap:22px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  padding:18px 0 24px;
  -webkit-overflow-scrolling:touch;
}
.artists-scroll::-webkit-scrollbar { height:8px; }
.artists-scroll::-webkit-scrollbar-track {
  background:rgba(255,255,255,.04);
  border-radius:999px;
}
.artists-scroll::-webkit-scrollbar-thumb {
  background:linear-gradient(90deg,#d6a84f,#ffe0a0);
  border-radius:999px;
}
.artists-scroll .artist {
  flex:0 0 min(520px, 88vw);
  scroll-snap-align:start;
  min-height:360px;
  padding:36px;
  position:relative;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.artists-scroll .artist:hover {
  transform:translateY(-6px);
  border-color:rgba(255,224,160,.48);
  box-shadow:0 28px 90px rgba(214,168,79,.18);
}
.artist-row {
  display:flex;
  align-items:center;
  gap:26px;
  margin-bottom:26px;
}
.artist-avatar {
  position:static !important;
  flex:0 0 128px;
  width:128px !important;
  height:128px !important;
  border-radius:50%;
  background-size:cover !important;
  background-position:center !important;
  border:3px solid #d6a84f;
  box-shadow:0 16px 45px rgba(214,168,79,.32);
}
.artist-avatar.no-photo {
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 50%, rgba(214,168,79,.12), transparent 56%),
    rgba(255,255,255,.035);
  border-style:dashed;
}
.artist-avatar.no-photo span {
  font-size:54px;
  line-height:1;
  color:#d6a84f;
  opacity:.9;
}
.artist-heading { min-width:0; }
.artist-label {
  color:var(--gold);
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:14px;
}
.artist .role {
  color:var(--gold);
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}
.artist p {
  color:#d6c8b4;
  margin:0 0 22px;
  font-size:18px;
}
.artist-btn { margin-top:auto; }
.scroll-hint {
  color:var(--muted);
  font-size:14px;
  margin-top:12px;
}
@media(max-width:620px){
  .artist-row { align-items:flex-start; gap:18px; flex-direction:column; }
  .artist-avatar { width:112px !important; height:112px !important; flex-basis:112px; }
  .artists-scroll .artist { padding:26px; }
}


/* === V11 DEMO FORM + FOOTER CONTACT === */
.demo-form-card {
  padding: 34px;
}

.zmp-form {
  display: grid;
  gap: 16px;
}

.zmp-form label {
  display: grid;
  gap: 8px;
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 950;
}

.zmp-form input,
.zmp-form textarea,
.zmp-form select {
  width: 100%;
  border: 1px solid rgba(214,168,79,.25);
  background: rgba(255,255,255,.035);
  color: #f7f1e8;
  border-radius: 16px;
  padding: 15px 16px;
  font: inherit;
  outline: none;
}

.zmp-form textarea {
  min-height: 130px;
  resize: vertical;
}

.zmp-form input:focus,
.zmp-form textarea:focus,
.zmp-form select:focus {
  border-color: rgba(255,224,160,.72);
  box-shadow: 0 0 0 4px rgba(214,168,79,.11);
}

.zmp-form select option {
  background: #111;
  color: #fff;
}

.zmp-form .btn {
  border: none;
  cursor: pointer;
  margin-top: 4px;
}

.hp-field {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

.form-note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.form-success {
  border: 1px solid rgba(80,220,140,.45);
  background: rgba(80,220,140,.08);
  color: #bfffd8;
  padding: 18px 20px;
  border-radius: 18px;
  margin-bottom: 22px;
  font-weight: 800;
}

.form-error {
  border: 1px solid rgba(255,80,80,.45);
  background: rgba(255,80,80,.08);
  color: #ffd0d0;
  padding: 18px 20px;
  border-radius: 18px;
  margin-bottom: 22px;
  font-weight: 800;
}

.site-footer-pro {
  padding: 70px 0 34px;
  border-top: 1px solid rgba(214,168,79,.15);
  background:
    radial-gradient(circle at 20% 20%, rgba(214,168,79,.09), transparent 28%),
    linear-gradient(180deg, rgba(12,9,6,.92), #050505);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr .9fr .9fr;
  gap: 28px;
  align-items: start;
}

.footer-brand strong {
  display: block;
  font-size: 28px;
  letter-spacing: .18em;
  line-height: 1.1;
}

.footer-brand span {
  display: block;
  margin-top: 10px;
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 950;
}

.footer-list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: grid;
  gap: 10px;
}

.footer-list a,
.footer-list span {
  color: #d8cbb9;
}

.footer-list a:hover {
  color: var(--gold2);
}

.footer-bottom {
  margin-top: 42px;
  padding-top: 22px;
  border-top: 1px solid rgba(214,168,79,.13);
  color: var(--muted);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

@media(max-width:900px){
  .footer-grid { grid-template-columns: 1fr; }
}


/* === V12 RELEASES CAROUSEL + REFINED FORM MESSAGE === */
.releases-scroll {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 10px 0 24px;
  -webkit-overflow-scrolling: touch;
}

.releases-scroll::-webkit-scrollbar {
  height: 8px;
}

.releases-scroll::-webkit-scrollbar-track {
  background: rgba(255,255,255,.04);
  border-radius: 999px;
}

.releases-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg,#d6a84f,#ffe0a0);
  border-radius: 999px;
}

.releases-scroll .release-card {
  flex: 0 0 min(390px, 86vw);
  scroll-snap-align: start;
}

.releases-scroll .release-card .cover {
  aspect-ratio: 1/1;
}

.releases-hint {
  color: var(--muted);
  font-size: 14px;
  margin-top: 12px;
}

.form-success {
  border: 1px solid rgba(80,220,140,.42) !important;
  background: rgba(80,220,140,.075) !important;
  color: #c9ffdc !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  margin-bottom: 20px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

.form-success strong {
  display: block;
  font-size: 18px;
  color: #dcffe8;
  margin-bottom: 2px;
  font-weight: 800;
}

.form-error {
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

.demo-form-card h3 {
  font-size: 30px;
  line-height: 1.15;
}

.zmp-form input,
.zmp-form textarea,
.zmp-form select {
  font-weight: 500;
}

.zmp-form input::placeholder,
.zmp-form textarea::placeholder {
  font-weight: 500;
  opacity: .68;
}

@media(max-width:520px){
  .releases-scroll .release-card {
    flex-basis: 84vw;
  }
}


/* === V13 RESPONSIVE RELEASE CAROUSEL WITH ARROWS === */
.release-carousel-wrap {
  position: relative;
  overflow: hidden;
}

.releases-scroll {
  scroll-behavior: smooth;
  padding-left: 2px;
  padding-right: 2px;
}

.release-arrow {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 6;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(214,168,79,.55);
  background: rgba(5,5,5,.76);
  color: #ffe0a0;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 35px rgba(0,0,0,.35);
  transition: all .25s ease;
}

.release-arrow:hover {
  background: linear-gradient(135deg, #ffe0a0, #d6a84f);
  color: #080603;
  transform: translateY(-50%) scale(1.05);
}

.release-arrow.prev {
  left: 8px;
}

.release-arrow.next {
  right: 8px;
}

.release-arrow svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
}

@media(max-width:900px){
  .head {
    gap: 16px;
  }

  .releases-scroll .release-card {
    flex: 0 0 min(340px, 82vw);
  }

  .release-arrow {
    width: 44px;
    height: 44px;
    top: 40%;
  }

  .release-arrow.prev { left: 4px; }
  .release-arrow.next { right: 4px; }
}

@media(max-width:520px){
  .releases-scroll {
    gap: 16px;
  }

  .releases-scroll .release-card {
    flex: 0 0 86vw;
  }

  .release-arrow {
    width: 40px;
    height: 40px;
    opacity: .95;
  }

  .release-arrow svg {
    width: 18px;
    height: 18px;
  }

  .releases-hint {
    font-size: 13px;
  }
}

/* SEO/accessibility helper */
.screen-reader-text {
  position:absolute !important;
  height:1px;width:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}


/* === V15 ARTISTS CAROUSEL ARROWS - SAFE VERSION === */
.artist-carousel-wrap {
  position: relative;
  overflow: hidden;
}

.artist-arrow {
  position: absolute;
  top: 46%;
  transform: translateY(-50%);
  z-index: 6;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(214,168,79,.55);
  background: rgba(5,5,5,.76);
  color: #ffe0a0;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 35px rgba(0,0,0,.35);
  transition: all .25s ease;
}

.artist-arrow:hover {
  background: linear-gradient(135deg, #ffe0a0, #d6a84f);
  color: #080603;
  transform: translateY(-50%) scale(1.05);
}

.artist-arrow.prev { left: 8px; }
.artist-arrow.next { right: 8px; }

.artist-arrow svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
}

.artists-scroll {
  scroll-behavior: smooth;
  padding-left: 2px;
  padding-right: 2px;
}

@media(max-width:900px){
  .artist-arrow {
    width: 44px;
    height: 44px;
    top: 44%;
  }
  .artist-arrow.prev { left: 4px; }
  .artist-arrow.next { right: 4px; }
}

@media(max-width:520px){
  .artist-arrow {
    width: 40px;
    height: 40px;
    opacity: .95;
  }
  .artist-arrow svg {
    width: 18px;
    height: 18px;
  }
}


/* === V16 MONTSERRAT + RESPONSIVE UPGRADE === */
html, body {
  overflow-x: hidden;
}

body,
button,
input,
textarea,
select {
  font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body {
  font-weight: 400;
}

.brand strong,
.title,
.h2,
.card h3,
.demo-form-card h3,
.footer-brand strong {
  font-family: 'Montserrat', system-ui, sans-serif !important;
}

.title {
  font-weight: 800 !important;
  letter-spacing: -0.055em !important;
}

.h2 {
  font-weight: 750 !important;
  letter-spacing: -0.045em !important;
}

.card h3,
.demo-form-card h3 {
  font-weight: 700 !important;
}

.lead,
.card p,
.artist p,
.zmp-form input,
.zmp-form textarea,
.zmp-form select {
  font-weight: 400 !important;
}

.btn,
.kicker,
.eyebrow,
.meta,
.role,
.artist-label {
  font-weight: 700 !important;
}

/* hide arrows until JS confirms overflow */
.release-arrow,
.artist-arrow {
  display: none;
}

.release-arrow.is-visible,
.artist-arrow.is-visible {
  display: grid;
}

/* better responsive structure */
.container {
  max-width: 1180px;
}

.navin {
  min-height: 78px;
}

.menu {
  flex-wrap: wrap;
  justify-content: center;
}

@media(max-width:1180px){
  .navin {
    align-items: flex-start;
    flex-direction: column;
  }

  .menu {
    width: 100%;
    justify-content: flex-start;
    gap: 18px;
  }

  .socials {
    position: absolute;
    right: 24px;
    top: 22px;
  }
}

@media(max-width:900px){
  .navin {
    padding: 18px 0;
  }

  .brand strong {
    font-size: 20px !important;
    letter-spacing: .15em !important;
  }

  .brand span {
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  .menu {
    display: flex !important;
    overflow-x: auto;
    flex-wrap: nowrap;
    white-space: nowrap;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .menu a {
    flex: 0 0 auto;
  }

  .socials {
    display: none !important;
  }

  .hero {
    min-height: 620px !important;
    padding: 72px 0 !important;
  }

  .hero .content,
  .content {
    max-width: 100% !important;
  }

  .title {
    font-size: clamp(50px, 16vw, 92px) !important;
  }

  .subtitle {
    font-size: 18px !important;
  }

  .lead {
    font-size: 17px !important;
  }

  .head {
    display: block !important;
  }

  .head .muted,
  .head p {
    margin-top: 18px;
  }

  .grid2,
  .grid3 {
    grid-template-columns: 1fr !important;
  }

  .section {
    padding: 68px 0 !important;
  }

  .panel,
  .card {
    border-radius: 24px !important;
  }

  .releases-scroll .release-card {
    flex: 0 0 min(340px, 84vw) !important;
  }

  .artists-scroll .artist {
    flex: 0 0 min(560px, 86vw) !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width:620px){
  .container {
    width: min(100% - 28px, 1180px) !important;
  }

  .brand strong {
    font-size: 18px !important;
  }

  .title {
    font-size: clamp(46px, 17vw, 70px) !important;
    line-height: .9 !important;
  }

  .h2 {
    font-size: clamp(34px, 12vw, 56px) !important;
  }

  .hero {
    min-height: 560px !important;
    padding: 56px 0 !important;
  }

  .actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn {
    width: 100%;
    text-align: center;
  }

  .release-arrow,
  .artist-arrow {
    width: 40px !important;
    height: 40px !important;
  }

  .release-arrow.prev,
  .artist-arrow.prev {
    left: 2px !important;
  }

  .release-arrow.next,
  .artist-arrow.next {
    right: 2px !important;
  }

  .releases-scroll .release-card {
    flex: 0 0 88vw !important;
  }

  .artists-scroll .artist {
    flex: 0 0 88vw !important;
    padding: 24px !important;
  }

  .artist-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }

  .artist-avatar {
    width: 104px !important;
    height: 104px !important;
    flex-basis: 104px !important;
  }

  .zmp-form input,
  .zmp-form textarea,
  .zmp-form select {
    padding: 14px 14px !important;
  }

  .demo-form-card {
    padding: 24px !important;
  }
}

@media(max-width:390px){
  .brand strong {
    font-size: 16px !important;
    letter-spacing: .12em !important;
  }

  .brand span {
    letter-spacing: .12em !important;
  }

  .title {
    font-size: 42px !important;
  }
}


/* === V17 CENTERED CAROUSELS WHEN NO SCROLL IS NEEDED === */
.releases-scroll,
.artists-scroll {
  justify-content: flex-start;
}

.releases-scroll.no-overflow,
.artists-scroll.no-overflow {
  justify-content: center;
  overflow-x: visible;
}

.artists-scroll.no-overflow {
  padding-left: 0;
  padding-right: 0;
}

.artists-scroll.no-overflow .artist {
  flex: 0 1 520px;
}

.releases-scroll.no-overflow .release-card {
  flex: 0 1 390px;
}

.artist-carousel-wrap,
.release-carousel-wrap {
  width: 100%;
}

@media(max-width:900px){
  .releases-scroll.no-overflow,
  .artists-scroll.no-overflow {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .artists-scroll.no-overflow .artist,
  .releases-scroll.no-overflow .release-card {
    flex: 0 0 min(560px, 86vw) !important;
  }
}

@media(max-width:620px){
  .artists-scroll.no-overflow .artist,
  .releases-scroll.no-overflow .release-card {
    flex: 0 0 88vw !important;
  }
}


/* === V18 HERO PRO TYPOGRAPHY === */
.hero .content {
  max-width: 920px;
}

.eyebrow {
  margin-bottom: 24px !important;
}

.title {
  margin-bottom: 34px !important;
  line-height: .84 !important;
}

.subtitle {
  line-height: 1.18 !important;
  max-width: 920px;
  margin-bottom: 26px !important;
  color: #ffe0a0 !important;
}

.subtitle br {
  display: block;
  content: "";
  margin-top: 8px;
}

.hero .lead {
  max-width: 900px;
  line-height: 1.65 !important;
  margin-bottom: 42px !important;
}

.hero .actions {
  margin-top: 8px;
}

@media(max-width:900px){
  .hero .content {
    max-width: 100%;
  }

  .subtitle {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  .hero .lead {
    max-width: 100%;
  }
}

@media(max-width:620px){
  .title {
    margin-bottom: 26px !important;
  }

  .subtitle {
    font-size: 16px !important;
    letter-spacing: .07em !important;
  }

  .hero .lead {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}


/* === V19 UX PRO MICRO-INTERACTIONS === */
:root {
  --ease-pro: cubic-bezier(.2,.8,.2,1);
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.nav {
  transition: background .35s var(--ease-pro), border-color .35s var(--ease-pro);
}

.brand,
.menu a,
.social,
.btn,
.card,
.panel,
.cover,
.artist-avatar,
.list a,
.footer-list a {
  transition:
    transform .32s var(--ease-pro),
    box-shadow .32s var(--ease-pro),
    border-color .32s var(--ease-pro),
    background .32s var(--ease-pro),
    color .32s var(--ease-pro),
    opacity .32s var(--ease-pro),
    filter .32s var(--ease-pro);
}

.brand:hover {
  transform: translateY(-1px);
}

.menu a:hover {
  transform: translateY(-2px);
}

.btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(214,168,79,.22);
}

.card:hover,
.panel:hover {
  border-color: rgba(255,224,160,.42);
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 0 42px rgba(214,168,79,.08);
}

.release-card:hover {
  transform: translateY(-8px);
}

.artist:hover {
  transform: translateY(-8px);
}

.artist:hover .artist-avatar {
  transform: scale(1.045);
  box-shadow: 0 18px 55px rgba(214,168,79,.45);
}

.cover {
  will-change: transform;
}

.release-card:hover .cover {
  transform: scale(1.055);
}

.social:hover {
  transform: translateY(-3px) scale(1.05);
}

/* refined text wrapping from admin line breaks */
.subtitle,
.hero .lead,
.panel .lead,
.artist p,
.demo-form-card .muted,
.footer-brand p,
.card p,
.list a,
.footer-list a,
.footer-list span {
  white-space: normal;
}

/* scroll reveal */
.ux-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s var(--ease-pro), transform .7s var(--ease-pro);
}

.ux-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.ux-reveal-delay-1 { transition-delay: .08s; }
.ux-reveal-delay-2 { transition-delay: .16s; }
.ux-reveal-delay-3 { transition-delay: .24s; }

/* subtle hero entrance */
.hero .eyebrow,
.hero .title,
.hero .subtitle,
.hero .lead,
.hero .actions {
  animation: heroFadeUp .85s var(--ease-pro) both;
}

.hero .title { animation-delay: .08s; }
.hero .subtitle { animation-delay: .16s; }
.hero .lead { animation-delay: .24s; }
.hero .actions { animation-delay: .32s; }

@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* focus accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #ffe0a0;
  outline-offset: 4px;
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}


/* === V20 HERO PRO + CLEAN MENU + VISIBLE ANIMATIONS === */

/* Cleaner desktop menu */
.navin {
  display: grid !important;
  grid-template-columns: minmax(300px, 1fr) auto minmax(230px, 1fr);
  align-items: center !important;
  gap: 28px !important;
}

.brand {
  justify-self: start;
}

.menu {
  justify-self: center;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 22px !important;
  align-items: center;
}

.menu a {
  font-size: 13px !important;
  line-height: 1;
  letter-spacing: .04em !important;
}

.socials {
  justify-self: end;
  position: static !important;
}

/* Hero background Music Therapy logo */
.hero {
  isolation: isolate;
}

.hero::after {
  content: "" !important;
  position: absolute;
  right: 8%;
  top: 50%;
  width: min(520px, 42vw);
  height: min(520px, 42vw);
  transform: translateY(-50%);
  background: url("assets/mt-logo-hero.png") center/contain no-repeat;
  opacity: .105;
  filter: blur(.2px) drop-shadow(0 0 60px rgba(214,168,79,.28));
  z-index: 1;
  pointer-events: none;
  animation: logoSoftIn 1.4s cubic-bezier(.2,.8,.2,1) both;
}

.hero::before {
  z-index: 0;
}

.hero .content {
  position: relative;
  z-index: 2;
}

/* Replace old bottom fade with background overlay via box-shadow on hero */
.hero {
  box-shadow: inset 0 -160px 120px rgba(5,5,5,.72);
}

/* More visible entrance */
.hero .eyebrow,
.hero .title,
.hero .subtitle,
.hero .lead,
.hero .actions {
  opacity: 0;
  transform: translateY(34px);
  animation: heroProIn .92s cubic-bezier(.17,.84,.3,1) forwards !important;
}

.hero .eyebrow { animation-delay: .05s !important; }
.hero .title { animation-delay: .16s !important; }
.hero .subtitle { animation-delay: .30s !important; }
.hero .lead { animation-delay: .44s !important; }
.hero .actions { animation-delay: .58s !important; }

@keyframes heroProIn {
  from {
    opacity: 0;
    transform: translateY(34px);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes logoSoftIn {
  from {
    opacity: 0;
    transform: translateY(-50%) scale(.92);
  }
  to {
    opacity: .105;
    transform: translateY(-50%) scale(1);
  }
}

/* Better text line breaks from admin */
.subtitle,
.hero .lead,
.panel .lead,
.artist p,
.demo-form-card .muted,
.footer-brand p,
.card p,
.list a,
.footer-list a,
.footer-list span {
  white-space: normal !important;
}

/* Hero subtitle spacing */
.subtitle {
  max-width: 920px !important;
  line-height: 1.22 !important;
}

.subtitle br {
  display: block !important;
  margin-bottom: 8px;
}

/* More visible reveal for lower sections */
.ux-reveal {
  opacity: 0;
  transform: translateY(44px) scale(.985);
  filter: blur(8px);
  transition:
    opacity .85s cubic-bezier(.17,.84,.3,1),
    transform .85s cubic-bezier(.17,.84,.3,1),
    filter .85s cubic-bezier(.17,.84,.3,1);
}

.ux-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

/* Responsive menu */
@media(max-width:1180px){
  .navin {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .brand,
  .menu,
  .socials {
    justify-self: start !important;
  }

  .menu {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .socials {
    display: flex !important;
  }
}

@media(max-width:900px){
  .socials {
    display: none !important;
  }

  .hero::after {
    right: -10%;
    width: 62vw;
    height: 62vw;
    opacity: .075;
  }

  .menu {
    gap: 20px !important;
  }

  .menu a {
    font-size: 12px !important;
  }
}

@media(max-width:620px){
  .hero::after {
    right: -18%;
    width: 80vw;
    height: 80vw;
    opacity: .06;
  }

  .brand strong {
    line-height: 1.25 !important;
  }
}


/* === V21 REAL MUSIC THERAPY LOGO IN HERO RIGHT SPHERE === */

/* Keep the original abstract background, but reduce the equalizer effect visually */
.hero::before {
  background:
    linear-gradient(90deg, rgba(5,5,5,.97), rgba(5,5,5,.84) 42%, rgba(5,5,5,.42) 75%, rgba(5,5,5,.82)),
    url("assets/hero.svg") center right/cover no-repeat !important;
}

/* Real Music Therapy logo positioned inside the right circular sphere */
.hero::after {
  content: "" !important;
  position: absolute !important;
  top: 49% !important;
  right: 22% !important;
  transform: translate(50%, -50%) !important;
  width: min(440px, 35vw) !important;
  height: min(440px, 35vw) !important;
  background: url("assets/mt-logo-hero.png") center/contain no-repeat !important;
  opacity: .18 !important;
  filter: blur(.15px) drop-shadow(0 0 58px rgba(214,168,79,.35)) !important;
  mix-blend-mode: screen !important;
  z-index: 1 !important;
  pointer-events: none !important;
  animation: logoSoftIn 1.4s cubic-bezier(.2,.8,.2,1) both !important;
}

/* Extra soft dark mask to make the MT logo readable and elegant */
.hero-logo-mask {
  display: none;
}

@media(max-width:900px){
  .hero::after {
    right: 8% !important;
    width: 54vw !important;
    height: 54vw !important;
    opacity: .10 !important;
  }
}

@media(max-width:620px){
  .hero::after {
    right: -10% !important;
    width: 76vw !important;
    height: 76vw !important;
    opacity: .075 !important;
  }
}


/* === V22 DEFINITIVE HERO LOGO POSITION FIX === */

/* Stop using pseudo element for the MT logo */
.hero::after {
  display: none !important;
  content: none !important;
}

/* Real logo layer, fixed inside the right circular graphic */
.hero-mt-logo {
  position: absolute;
  top: 49%;
  right: 18.5%;
  transform: translate(50%, -50%);
  width: min(360px, 28vw);
  height: min(360px, 28vw);
  background: url("assets/mt-logo-hero.png") center/contain no-repeat;
  opacity: .16;
  filter: blur(.15px) drop-shadow(0 0 58px rgba(214,168,79,.42));
  mix-blend-mode: screen;
  z-index: 1;
  pointer-events: none;
  animation: logoSoftInV22 1.4s cubic-bezier(.2,.8,.2,1) both;
}

/* Keep content over the logo */
.hero .content {
  position: relative;
  z-index: 2;
}

/* The abstract SVG remains as the sphere/equalizer background */
.hero::before {
  z-index: 0 !important;
}

/* softer entrance */
@keyframes logoSoftInV22 {
  from {
    opacity: 0;
    transform: translate(50%, -50%) scale(.92);
  }
  to {
    opacity: .16;
    transform: translate(50%, -50%) scale(1);
  }
}

@media(max-width:1100px){
  .hero-mt-logo {
    right: 14%;
    width: 34vw;
    height: 34vw;
    opacity: .12;
  }
}

@media(max-width:900px){
  .hero-mt-logo {
    right: 2%;
    width: 48vw;
    height: 48vw;
    opacity: .085;
  }
}

@media(max-width:620px){
  .hero-mt-logo {
    right: -16%;
    width: 72vw;
    height: 72vw;
    opacity: .06;
  }
}


/* === V23 SOCIAL ICONS MOVED TO FOOTER === */

/* Hide social icons from top header */
.nav .socials {
  display: none !important;
}

/* Cleaner top nav without social block */
.navin {
  grid-template-columns: minmax(300px, 1fr) auto !important;
}

/* Hero logo: very subtle and away from text */
.hero-mt-logo {
  right: 12% !important;
  width: min(300px, 24vw) !important;
  height: min(300px, 24vw) !important;
  opacity: .085 !important;
  filter: blur(.2px) drop-shadow(0 0 40px rgba(214,168,79,.25)) !important;
}

@media(max-width:900px){
  .hero-mt-logo {
    right: -6% !important;
    width: 52vw !important;
    height: 52vw !important;
    opacity: .055 !important;
  }
}

/* Footer social section */
.footer-socials-wrap {
  margin-top: 28px;
}

.footer-socials-title {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 18px;
}

.footer-socials-big {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

.footer-socials-big a {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #f7f1e8;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.18);
  transition: transform .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.footer-socials-big a:hover {
  color: #080603;
  background: linear-gradient(135deg, #ffe0a0, #d6a84f);
  border-color: rgba(255,224,160,.8);
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 16px 45px rgba(214,168,79,.28);
}

.footer-socials-big svg {
  width: 27px;
  height: 27px;
  fill: currentColor;
  display: block;
}

/* Footer layout more balanced */
.site-footer-pro {
  padding-top: 76px !important;
}

.footer-grid {
  grid-template-columns: 1.1fr .9fr 1.15fr !important;
  align-items: start;
}

.footer-bottom {
  align-items: center;
}

@media(max-width:900px){
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-socials-big {
    gap: 18px;
  }

  .footer-socials-big a {
    width: 52px;
    height: 52px;
  }

  .footer-socials-big svg {
    width: 25px;
    height: 25px;
  }
}

@media(max-width:520px){
  .footer-socials-big {
    justify-content: flex-start;
    gap: 14px;
  }

  .footer-socials-big a {
    width: 48px;
    height: 48px;
  }

  .footer-socials-big svg {
    width: 23px;
    height: 23px;
  }
}


/* === V26 FINAL HERO + MOBILE RESPONSIVE FIX === */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

.hero,
.nav,
main {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Remove old abstract/equalizer background and rebalance hero */
.hero::before {
  background:
    radial-gradient(circle at 72% 42%, rgba(214,168,79,.14), transparent 28%),
    radial-gradient(circle at 26% 54%, rgba(214,168,79,.08), transparent 24%),
    linear-gradient(90deg, rgba(5,5,5,.98), rgba(5,5,5,.93) 48%, rgba(5,5,5,.88)) !important;
  z-index: 0 !important;
}

.hero::after {
  display: none !important;
  content: none !important;
}

/* True left text alignment on desktop */
.hero .container.content,
.hero .content {
  margin-left: max(64px, calc((100vw - 1180px) / 2)) !important;
  margin-right: auto !important;
  max-width: 760px !important;
  text-align: left !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Real MT logo, visible but not covering text */
.hero-mt-logo {
  display: block !important;
  position: absolute !important;
  top: 52% !important;
  right: 12% !important;
  transform: translateY(-50%) !important;
  width: min(430px, 31vw) !important;
  height: min(430px, 31vw) !important;
  background: url("assets/mt-logo-hero.png") center/contain no-repeat !important;
  opacity: .28 !important;
  filter: drop-shadow(0 0 85px rgba(214,168,79,.42)) !important;
  mix-blend-mode: screen !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.hero-mt-logo::before {
  content: "";
  position: absolute;
  inset: -18%;
  border-radius: 50%;
  border: 1px solid rgba(214,168,79,.22);
  box-shadow: 0 0 90px rgba(214,168,79,.12);
}

.hero .title,
.hero .subtitle,
.hero .lead,
.hero .actions,
.hero .eyebrow {
  position: relative;
  z-index: 4;
}

/* Mobile and tablet */
@media(max-width:900px) {
  .nav {
    position: relative !important;
  }

  .navin {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    padding: 22px 0 16px !important;
  }

  .brand {
    width: 100% !important;
    max-width: 100% !important;
  }

  .brand strong {
    font-size: clamp(22px, 7.2vw, 34px) !important;
    line-height: 1.12 !important;
    letter-spacing: .12em !important;
    white-space: normal !important;
  }

  .brand span {
    font-size: clamp(11px, 3.4vw, 15px) !important;
    line-height: 1.45 !important;
    letter-spacing: .15em !important;
    white-space: normal !important;
    max-width: 92vw !important;
  }

  .menu {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
    padding: 2px 0 10px !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin;
  }

  .menu a {
    flex: 0 0 auto !important;
    font-size: 12px !important;
    padding: 8px 0 !important;
  }

  .socials {
    display: none !important;
  }

  .hero {
    min-height: auto !important;
    padding: 72px 0 86px !important;
    display: block !important;
  }

  .hero .container.content,
  .hero .content {
    width: min(100% - 36px, 720px) !important;
    max-width: min(100% - 36px, 720px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    padding: 0 !important;
    transform: none !important;
    text-align: left !important;
  }

  .eyebrow {
    font-size: 11px !important;
    line-height: 1.55 !important;
    letter-spacing: .24em !important;
    max-width: 100% !important;
  }

  .title {
    font-size: clamp(48px, 18vw, 86px) !important;
    line-height: .9 !important;
    letter-spacing: -.05em !important;
    max-width: 100% !important;
  }

  .subtitle {
    font-size: clamp(20px, 7vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: .055em !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .hero .lead {
    font-size: clamp(16px, 4.7vw, 22px) !important;
    line-height: 1.58 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .hero .actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: min(100%, 360px) !important;
  }

  .hero .btn {
    width: 100% !important;
    min-height: 52px !important;
  }

  .hero-mt-logo {
    right: -28% !important;
    top: 48% !important;
    width: 82vw !important;
    height: 82vw !important;
    opacity: .045 !important;
    transform: translateY(-50%) !important;
  }

  .hero::before {
    background:
      radial-gradient(circle at 80% 35%, rgba(214,168,79,.10), transparent 32%),
      linear-gradient(90deg, rgba(5,5,5,.99), rgba(5,5,5,.95)) !important;
  }
}

@media(max-width:520px) {
  .container {
    width: calc(100% - 28px) !important;
  }

  .navin {
    width: calc(100% - 28px) !important;
    margin: 0 auto !important;
  }

  .brand strong {
    font-size: clamp(21px, 7.4vw, 31px) !important;
  }

  .brand span {
    font-size: clamp(10px, 3.3vw, 13px) !important;
  }

  .hero {
    padding-top: 64px !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
  }

  .title {
    font-size: clamp(44px, 17vw, 68px) !important;
  }

  .subtitle {
    font-size: clamp(19px, 6.8vw, 29px) !important;
  }

  .hero .lead {
    font-size: 16px !important;
  }
}

@media(max-width:380px) {
  .brand strong {
    font-size: 20px !important;
    letter-spacing: .095em !important;
  }

  .brand span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .title {
    font-size: 42px !important;
  }

  .subtitle {
    font-size: 18px !important;
  }
}


/* === V27 LOGO MUSIC THERAPY - ELEMENTO REALE HERO === */
.hero {
  position: relative !important;
  overflow: hidden !important;
}

.hero::after {
  display: none !important;
  content: none !important;
}

.hero-mt-logo {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: 9% !important;
  transform: translateY(-50%) !important;

  width: min(430px, 32vw) !important;
  height: min(430px, 32vw) !important;

  background-image: url("https://www.zaccone-music.it/wp-content/uploads/2025/10/cropped-LOGO-CON-CERCHIO-BIANCO.png") !important;
  background-position: center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;

  opacity: 0.24 !important;
  filter: drop-shadow(0 0 80px rgba(214,168,79,.45)) !important;
  mix-blend-mode: screen !important;

  z-index: 2 !important;
  pointer-events: none !important;
}

.hero .content,
.hero .container.content {
  position: relative !important;
  z-index: 4 !important;
}

/* desktop: testo a sinistra */
@media(min-width:901px){
  .hero .container.content,
  .hero .content {
    margin-left: max(64px, calc((100vw - 1180px) / 2)) !important;
    margin-right: auto !important;
    max-width: 760px !important;
    text-align: left !important;
  }
}

/* tablet/mobile */
@media(max-width:900px){
  .hero-mt-logo {
    right: -16% !important;
    top: 48% !important;
    width: 76vw !important;
    height: 76vw !important;
    opacity: 0.07 !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    transform: none !important;
  }
}

@media(max-width:520px){
  .hero-mt-logo {
    right: -28% !important;
    width: 88vw !important;
    height: 88vw !important;
    opacity: 0.055 !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
}


/* === V28 DEFINITIVE LOGO AS REAL IMAGE === */
.hero {
  position: relative !important;
  overflow: hidden !important;
}

/* disable previous logo systems */
.hero-mt-logo,
.hero::after {
  display: none !important;
  content: none !important;
}

/* real image, cannot be hidden by background-image issues */
.hero-mt-logo-img {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: 8% !important;
  transform: translateY(-50%) !important;

  width: min(420px, 31vw) !important;
  height: auto !important;
  max-width: none !important;

  opacity: 0.20 !important;
  filter: drop-shadow(0 0 70px rgba(214,168,79,.42)) !important;
  mix-blend-mode: screen !important;

  z-index: 2 !important;
  pointer-events: none !important;
}

/* content always over logo */
.hero .content,
.hero .container.content {
  position: relative !important;
  z-index: 5 !important;
}

/* desktop hero text position */
@media(min-width:901px){
  .hero .container.content,
  .hero .content {
    margin-left: max(64px, calc((100vw - 1180px) / 2)) !important;
    margin-right: auto !important;
    max-width: 760px !important;
    text-align: left !important;
  }
}

/* mobile */
@media(max-width:900px){
  .hero-mt-logo-img {
    right: -22% !important;
    width: 78vw !important;
    opacity: 0.06 !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    transform: none !important;
  }
}

@media(max-width:520px){
  .hero-mt-logo-img {
    right: -34% !important;
    width: 92vw !important;
    opacity: 0.05 !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
}


/* === V29 DEFINITIVE VISIBLE HERO LOGO === */

/* stop all older hidden/background logo attempts */
.hero-mt-logo,
.hero-mt-logo-img,
.hero::after {
  display: none !important;
  content: none !important;
}

/* ensure hero can contain a positioned logo */
.hero {
  position: relative !important;
  overflow: hidden !important;
}

/* content area */
.hero .container.content,
.hero .content {
  position: relative !important;
  z-index: 5 !important;
}

/* real image inside hero content, positioned to the right */
.hero-visible-logo {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: calc(100% + 80px) !important;
  transform: translateY(-50%) !important;

  width: 390px !important;
  max-width: 30vw !important;
  height: auto !important;

  opacity: 0.32 !important;
  filter: drop-shadow(0 0 70px rgba(214,168,79,.45)) !important;
  mix-blend-mode: screen !important;

  z-index: 2 !important;
  pointer-events: none !important;
}

/* keep text above if it ever overlaps */
.hero .eyebrow,
.hero .title,
.hero .subtitle,
.hero .lead,
.hero .actions {
  position: relative !important;
  z-index: 6 !important;
}

/* desktop hero text stays left */
@media(min-width:901px){
  .hero .container.content,
  .hero .content {
    margin-left: max(64px, calc((100vw - 1180px) / 2)) !important;
    margin-right: auto !important;
    max-width: 760px !important;
    text-align: left !important;
  }
}

/* tablet/mobile: logo becomes subtle background, no page overflow */
@media(max-width:900px){
  .hero-visible-logo {
    left: auto !important;
    right: -22% !important;
    top: 48% !important;
    width: 78vw !important;
    max-width: none !important;
    opacity: 0.07 !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    transform: none !important;
  }
}

@media(max-width:520px){
  .hero-visible-logo {
    right: -34% !important;
    width: 92vw !important;
    opacity: 0.055 !important;
  }

  .hero .container.content,
  .hero .content {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
  }
}


/* === V30 LABEL INTERNATIONAL: HERO LOGO + VIDEOS + ANCHORS === */

/* Hero logo: new no-circle logo with radial fade and international-label glow */
.hero-visible-logo,
.hero-mt-logo-img,
.hero-mt-logo {
  background-image: none !important;
}

.hero-visible-logo {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: calc(100% + 100px) !important;
  transform: translateY(-50%) !important;

  width: min(430px, 31vw) !important;
  max-width: none !important;
  height: auto !important;

  opacity: .30 !important;
  filter:
    blur(.15px)
    drop-shadow(0 0 55px rgba(214,168,79,.42))
    drop-shadow(0 0 110px rgba(214,168,79,.20)) !important;
  mix-blend-mode: screen !important;

  z-index: 2 !important;
  pointer-events: none !important;

  -webkit-mask-image: radial-gradient(circle at center,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.92) 42%,
    rgba(0,0,0,.58) 62%,
    rgba(0,0,0,.20) 78%,
    rgba(0,0,0,0) 92%);
  mask-image: radial-gradient(circle at center,
    rgba(0,0,0,1) 0%,
    rgba(0,0,0,.92) 42%,
    rgba(0,0,0,.58) 62%,
    rgba(0,0,0,.20) 78%,
    rgba(0,0,0,0) 92%);
}

/* glow cloud behind logo */
.hero .container.content::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
  transform: translateY(-50%);
  width: min(620px, 44vw);
  height: min(620px, 44vw);
  background: radial-gradient(circle at center,
    rgba(214,168,79,.24) 0%,
    rgba(214,168,79,.14) 32%,
    rgba(214,168,79,.055) 58%,
    transparent 78%);
  z-index: 1;
  pointer-events: none;
  filter: blur(10px);
}

/* Video section */
.video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.video-card {
  padding: 22px;
}

.video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(214,168,79,.22);
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 0 40px rgba(214,168,79,.06);
  margin-bottom: 20px;
}

.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-card:hover .video-frame {
  border-color: rgba(255,224,160,.46);
  box-shadow: 0 24px 70px rgba(214,168,79,.16);
}

.video-card h3 {
  margin-bottom: 16px;
}

/* Make contact anchor land nicely at footer emails */
#contact {
  scroll-margin-top: 110px;
}

#demo {
  scroll-margin-top: 110px;
}

/* Mobile */
@media(max-width:900px) {
  .video-grid {
    grid-template-columns: 1fr;
  }

  .hero-visible-logo {
    left: auto !important;
    right: -30% !important;
    top: 46% !important;
    width: 86vw !important;
    opacity: .075 !important;
  }

  .hero .container.content::after {
    left: auto;
    right: -36%;
    width: 90vw;
    height: 90vw;
    opacity: .65;
  }
}

@media(max-width:520px) {
  .hero-visible-logo {
    right: -42% !important;
    width: 102vw !important;
    opacity: .055 !important;
  }

  .video-card {
    padding: 18px;
  }

  .video-frame {
    border-radius: 18px;
  }
}


/* === V31 VIDEO CAROUSEL PRO / LAZY YOUTUBE === */
.video-carousel-wrap {
  position: relative;
  overflow: hidden;
}

.videos-scroll {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 12px 2px 24px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.videos-scroll::-webkit-scrollbar {
  height: 8px;
}

.videos-scroll::-webkit-scrollbar-track {
  background: rgba(255,255,255,.04);
  border-radius: 999px;
}

.videos-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg,#d6a84f,#ffe0a0);
  border-radius: 999px;
}

.videos-scroll .video-card {
  flex: 0 0 min(430px, 86vw);
  scroll-snap-align: start;
}

.videos-scroll.no-overflow {
  justify-content: center;
  overflow-x: visible;
}

.video-card {
  padding: 22px;
}

.video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(214,168,79,.22);
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 0 40px rgba(214,168,79,.06);
  margin-bottom: 20px;
}

.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.video-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(214,168,79,.16), transparent 38%),
    linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.10));
  opacity: .85;
  transition: opacity .35s ease;
}

.video-preview:hover::before {
  opacity: .55;
}

.video-play {
  position: relative;
  z-index: 2;
  width: 82px;
  height: 58px;
  border-radius: 18px;
  background: #ff0000;
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
  transition: transform .25s ease, box-shadow .25s ease;
}

.video-play::before {
  content: "";
  position: absolute;
  left: 32px;
  top: 18px;
  border-left: 20px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.video-preview:hover .video-play {
  transform: scale(1.07);
  box-shadow: 0 22px 70px rgba(214,168,79,.28);
}

.video-card:hover .video-frame {
  border-color: rgba(255,224,160,.46);
  box-shadow: 0 24px 70px rgba(214,168,79,.16);
}

.video-card h3 {
  margin-bottom: 16px;
}

.video-arrow {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 6;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(214,168,79,.55);
  background: rgba(5,5,5,.76);
  color: #ffe0a0;
  display: none;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 35px rgba(0,0,0,.35);
  transition: all .25s ease;
}

.video-arrow.is-visible {
  display: grid;
}

.video-arrow:hover {
  background: linear-gradient(135deg, #ffe0a0, #d6a84f);
  color: #080603;
  transform: translateY(-50%) scale(1.05);
}

.video-arrow.prev {
  left: 8px;
}

.video-arrow.next {
  right: 8px;
}

.video-arrow svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
}

@media(max-width:900px) {
  .videos-scroll.no-overflow {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .videos-scroll .video-card,
  .videos-scroll.no-overflow .video-card {
    flex: 0 0 min(390px, 84vw) !important;
  }

  .video-arrow {
    width: 44px;
    height: 44px;
    top: 40%;
  }

  .video-arrow.prev { left: 4px; }
  .video-arrow.next { right: 4px; }
}

@media(max-width:520px) {
  .videos-scroll {
    gap: 16px;
  }

  .videos-scroll .video-card,
  .videos-scroll.no-overflow .video-card {
    flex: 0 0 88vw !important;
  }

  .video-card {
    padding: 18px;
  }

  .video-frame {
    border-radius: 18px;
  }

  .video-arrow {
    width: 40px;
    height: 40px;
  }

  .video-play {
    width: 70px;
    height: 50px;
    border-radius: 15px;
  }

  .video-play::before {
    left: 28px;
    top: 15px;
    border-left-width: 18px;
    border-top-width: 10px;
    border-bottom-width: 10px;
  }
}


/* === V32 FIX: MENU ANCHORS + VIDEO OVERLAY + SEO/SECURITY READY === */

/* anchors should land correctly */
#demo,
#contact {
  scroll-margin-top: 120px;
}

/* video preview overlay, title inside thumbnail like YouTube visual cards */
.video-preview {
  color: #fff !important;
}

.video-preview::before {
  background:
    linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.14) 38%, rgba(0,0,0,.70) 100%),
    radial-gradient(circle at center, rgba(214,168,79,.15), transparent 38%) !important;
  opacity: .88 !important;
}

.video-overlay-top {
  position: absolute;
  top: 18px;
  left: 18px;
  right: 18px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  pointer-events: none;
}

.video-mini-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  flex: 0 0 42px;
  background:
    radial-gradient(circle at center, rgba(214,168,79,.22), rgba(0,0,0,.1)),
    url("https://www.zaccone-music.it/wp-content/uploads/2026/05/MT-NERO-e-bianco.png") center/cover no-repeat;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}

.video-overlay-top strong {
  display: block;
  color: #fff;
  font-size: clamp(15px, 1.7vw, 21px);
  line-height: 1.12;
  font-weight: 850;
  text-shadow: 0 3px 18px rgba(0,0,0,.7);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.video-overlay-top em {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  line-height: 1;
  font-style: normal;
  font-weight: 650;
  text-shadow: 0 3px 14px rgba(0,0,0,.75);
}

.video-watch-overlay {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 18px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  text-shadow: 0 3px 16px rgba(0,0,0,.85);
}

.video-watch-overlay b {
  font-weight: 900;
}

.video-play {
  z-index: 4 !important;
}

.video-card:hover .video-overlay-top strong {
  color: #ffe0a0;
}

@media(max-width:520px) {
  .video-overlay-top {
    top: 14px;
    left: 14px;
    right: 14px;
  }

  .video-mini-avatar {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .video-watch-overlay {
    right: 14px;
    bottom: 14px;
    font-size: 13px;
  }

  .video-overlay-top strong {
    font-size: 15px;
  }

  .video-overlay-top em {
    font-size: 12px;
  }
}


/* === V33 YOUTUBE ORIGINAL TITLE OVERLAY === */
.video-overlay-top strong {
  max-width: calc(100% - 2px);
}

.video-overlay-top em {
  color: rgba(255,255,255,.88);
  letter-spacing: .01em;
}

/* make the top-left avatar less intrusive */
.video-mini-avatar {
  background:
    radial-gradient(circle at center, rgba(255,0,0,.78), rgba(120,0,0,.62)) !important;
  position: relative;
}

.video-mini-avatar::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 11px;
  border-left: 13px solid #fff;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

@media(max-width:520px) {
  .video-mini-avatar::after {
    left: 13px;
    top: 10px;
    border-left-width: 11px;
    border-top-width: 7px;
    border-bottom-width: 7px;
  }
}


/* === V34 NATIVE YOUTUBE PREVIEW === */
/* Remove custom fake overlay/avatar and let YouTube show original channel logo/name/title */
.video-preview,
.video-overlay-top,
.video-mini-avatar,
.video-watch-overlay,
.video-play {
  display: none !important;
}

.native-youtube-frame {
  background: #050505 !important;
}

.native-youtube-frame iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

.video-card:hover .native-youtube-frame {
  border-color: rgba(255,224,160,.48) !important;
  box-shadow: 0 24px 70px rgba(214,168,79,.16) !important;
}


/* === V35 PRO: SEO FOOTER + PERFORMANCE POLISH === */
#demo,
#contact {
  scroll-margin-top: 120px;
}

.seo-footer-text {
  margin-top: 36px;
  margin-bottom: 0;
}

.seo-footer-text p {
  max-width: 980px;
  color: rgba(216,203,185,.62);
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
}

/* reduce expensive effects on small screens */
@media(max-width:620px){
  .card:hover,
  .panel:hover,
  .release-card:hover,
  .artist:hover {
    transform: none !important;
  }
}
/* FIX VIDEO COMPLIANZ / YOUTUBE */
.video-card,
.video-frame,
.native-youtube-frame,
.cmplz-blocked-content-container {
  height: auto !important;
  min-height: 0 !important;
}

.video-frame,
.native-youtube-frame,
.cmplz-blocked-content-container {
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  max-height: 340px !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

.video-frame iframe,
.native-youtube-frame iframe,
.cmplz-blocked-content-container iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
}

/* V36.1 COMPLIANZ/YOUTUBE STABILITY FIX */
.video-card,
.video-frame,
.native-youtube-frame,
.cmplz-blocked-content-container {
  height: auto !important;
  min-height: 0 !important;
}

.video-frame,
.native-youtube-frame,
.cmplz-blocked-content-container {
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  max-height: 340px !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

.video-frame iframe,
.native-youtube-frame iframe,
.cmplz-blocked-content-container iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
}

/* Hide the native Complianz tab: V36 uses the stable theme button below */
#cmplz-manage-consent {
  display: none !important;
}

/* Stable theme consent button */
#zmp-consent-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483646;
  border: 1px solid rgba(214,168,79,.55);
  background: #0a0a0a;
  color: #ffe0a0;
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
  box-shadow: 0 12px 35px rgba(0,0,0,.45);
}
#zmp-consent-toggle:hover {
  background: #d6a84f;
  color: #050505;
}

/* Banner style only when opened by Complianz or by the theme button */
.cmplz-cookiebanner.cmplz-show,
.cmplz-cookiebanner.cmplz-show-banner,
.cmplz-cookiebanner.zmp-force-show {
  display: grid !important;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 28px !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  width: min(720px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2147483647 !important;
  background: #0a0a0a !important;
  color: #ffffff !important;
  border: 1px solid rgba(214,168,79,.55) !important;
  border-radius: 22px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.65) !important;
}

.cmplz-cookiebanner .cmplz-title {
  color: #ffe0a0 !important;
  font-weight: 800 !important;
}
.cmplz-cookiebanner .cmplz-message {
  color: #e8ddcf !important;
  line-height: 1.6 !important;
}
.cmplz-cookiebanner .cmplz-buttons {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.cmplz-cookiebanner .cmplz-btn {
  border-radius: 999px !important;
  font-weight: 800 !important;
  border: 1px solid rgba(214,168,79,.35) !important;
}
.cmplz-cookiebanner .cmplz-accept {
  background: #d6a84f !important;
  color: #050505 !important;
}
.cmplz-cookiebanner .cmplz-deny,
.cmplz-cookiebanner .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-save-preferences {
  background: #151515 !important;
  color: #ffffff !important;
}

@media (max-width: 620px) {
  #zmp-consent-toggle {
    right: 12px;
    bottom: 12px;
    font-size: 11px;
    padding: 9px 13px;
  }
  .cmplz-cookiebanner.cmplz-show,
  .cmplz-cookiebanner.cmplz-show-banner,
  .cmplz-cookiebanner.zmp-force-show {
    bottom: 14px !important;
    width: calc(100vw - 22px) !important;
  }
}


/* === V36.4 SAFE MOBILE COMPLIANZ FIX === */
/* Only affects the banner while it is open via our helper class. It does not force visibility globally. */
body.zmp-cmplz-mobile-open .cmplz-cookiebanner {
  pointer-events: auto !important;
  z-index: 2147483647 !important;
}

@media (max-width: 768px) {
  body.zmp-cmplz-mobile-open .cmplz-cookiebanner {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 28px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.zmp-cmplz-mobile-open .cmplz-cookiebanner .cmplz-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.zmp-cmplz-mobile-open .cmplz-cookiebanner .cmplz-btn,
  body.zmp-cmplz-mobile-open .cmplz-cookiebanner button {
    min-height: 46px !important;
    width: 100% !important;
    touch-action: manipulation !important;
  }
}


/* === V36.7 BOOKING PAGE === */
.zmp-booking-page{background:radial-gradient(circle at 82% 18%,rgba(214,168,79,.14),transparent 34%),linear-gradient(180deg,#050505 0%,#0b0906 58%,#050505 100%);color:#f7efe4;min-height:100vh}
.zmp-booking-hero{padding:clamp(110px,14vw,180px) 6vw 70px;border-bottom:1px solid rgba(214,168,79,.18)}
.zmp-booking-kicker{color:#d6a84f;text-transform:uppercase;letter-spacing:.35em;font-weight:800;font-size:clamp(12px,1.1vw,15px);margin-bottom:22px}
.zmp-booking-hero h1{margin:0;max-width:980px;font-size:clamp(54px,9vw,128px);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;color:#fff8ee}
.zmp-booking-hero .lead{max-width:820px;margin-top:30px;font-size:clamp(18px,2vw,26px);line-height:1.45;color:rgba(247,239,228,.78)}
.zmp-booking-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.zmp-booking-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;border:1px solid rgba(214,168,79,.42);color:#ffe0a0;text-decoration:none;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.zmp-booking-btn.primary{background:linear-gradient(135deg,#e3b85d,#936217);color:#080705;border-color:transparent}
.zmp-booking-section{padding:72px 6vw}
.zmp-booking-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,70px);align-items:start;max-width:1280px;margin:0 auto}
.zmp-booking-card{border:1px solid rgba(214,168,79,.26);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 28px 80px rgba(0,0,0,.34);padding:clamp(28px,4vw,48px)}
.zmp-booking-card h2,.zmp-booking-card h3{color:#fff8ee;margin-top:0;letter-spacing:-.03em}
.zmp-booking-card h2{font-size:clamp(32px,4.4vw,62px);line-height:.95}
.zmp-booking-card h3{font-size:clamp(22px,2.2vw,34px)}
.zmp-booking-card p{color:rgba(247,239,228,.76);font-size:17px;line-height:1.75}
.zmp-booking-list{display:grid;gap:14px;margin:24px 0 0;padding:0;list-style:none}
.zmp-booking-list li{color:rgba(247,239,228,.84);padding-left:28px;position:relative;line-height:1.55}
.zmp-booking-list li::before{content:"";width:9px;height:9px;border-radius:99px;background:#d6a84f;position:absolute;left:0;top:.55em;box-shadow:0 0 18px rgba(214,168,79,.8)}
.zmp-booking-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.zmp-booking-tag{border:1px solid rgba(214,168,79,.25);border-radius:999px;padding:9px 13px;color:#ffe0a0;background:rgba(214,168,79,.06);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.zmp-booking-contact{position:sticky;top:110px}
.zmp-booking-contact a{color:#ffe0a0;text-decoration:none}
.zmp-booking-contact .email{display:block;margin-top:12px;font-size:clamp(20px,2vw,28px);font-weight:900;word-break:break-word}
.zmp-booking-divider{height:1px;background:rgba(214,168,79,.2);margin:30px 0}
.zmp-booking-note{color:rgba(247,239,228,.62);font-size:14px;line-height:1.6}
@media (max-width:900px){.zmp-booking-grid{grid-template-columns:1fr}.zmp-booking-contact{position:static}.zmp-booking-hero{padding-top:130px}}


/* === V36.8 BOOKING VISUAL HERO === */
.zmp-booking-hero.zmp-booking-hero-visual {
  position: relative;
  overflow: hidden;
  min-height: 720px;
  display: grid;
  align-items: center;
  padding: clamp(120px, 13vw, 170px) 6vw 90px;
  background:
    radial-gradient(circle at 82% 48%, rgba(214,168,79,.22), transparent 30%),
    radial-gradient(circle at 20% 35%, rgba(214,168,79,.08), transparent 38%),
    linear-gradient(90deg, #050505 0%, #070604 52%, #150f06 100%);
}

.zmp-booking-hero.zmp-booking-hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 48%, rgba(0,0,0,.22) 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px);
  pointer-events: none;
}

.zmp-booking-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: center;
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
}

.zmp-booking-hero-copy h1 { max-width: 900px; }
.zmp-booking-hero-copy .lead { max-width: 760px; }

.zmp-booking-photo-wrap {
  position: relative;
  display: grid;
  place-items: center;
  min-height: min(48vw, 620px);
}

.zmp-booking-gold-circle {
  position: relative;
  width: min(520px, 82vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  padding: clamp(12px, 2vw, 20px);
  background:
    radial-gradient(circle at 34% 28%, rgba(255,235,170,.96), rgba(214,168,79,.55) 30%, rgba(112,72,17,.82) 62%, rgba(214,168,79,.45) 100%);
  box-shadow:
    0 0 0 1px rgba(255,220,140,.48),
    0 0 70px rgba(214,168,79,.42),
    0 35px 90px rgba(0,0,0,.64);
}

.zmp-booking-gold-circle::before {
  content: "";
  position: absolute;
  inset: -22px;
  border-radius: 50%;
  border: 1px solid rgba(214,168,79,.25);
  box-shadow: inset 0 0 50px rgba(214,168,79,.12);
}

.zmp-booking-gold-circle::after {
  content: "";
  position: absolute;
  right: -26px;
  top: 46%;
  width: 160px;
  height: 2px;
  background: linear-gradient(90deg, rgba(214,168,79,.1), rgba(255,220,135,.9), rgba(214,168,79,0));
  box-shadow: 0 0 28px rgba(255,210,90,.8);
}

.zmp-booking-photo {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background:
    radial-gradient(circle at 48% 30%, rgba(255,255,255,.08), transparent 22%),
    linear-gradient(145deg, #0d0c0a, #050505);
  border: 1px solid rgba(0,0,0,.5);
}

.zmp-booking-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: contrast(1.07) saturate(1.05);
}

.zmp-booking-photo-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255,224,160,.78);
  font-size: clamp(90px, 12vw, 170px);
  font-weight: 900;
  letter-spacing: -.08em;
  background:
    radial-gradient(circle at center, rgba(214,168,79,.16), transparent 54%),
    linear-gradient(145deg, #111, #050505);
}

.zmp-booking-photo-caption {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: clamp(10px, 2vw, 22px);
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(5,5,5,.78);
  border: 1px solid rgba(214,168,79,.35);
  color: #ffe0a0;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.zmp-booking-orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(214,168,79,.13);
  pointer-events: none;
}

.zmp-booking-orbit.one {
  width: min(650px, 92vw);
  aspect-ratio: 1 / 1;
}

.zmp-booking-orbit.two {
  width: min(760px, 104vw);
  aspect-ratio: 1 / 1;
  transform: rotate(-12deg);
}

@media (max-width: 980px) {
  .zmp-booking-hero.zmp-booking-hero-visual { min-height: auto; }
  .zmp-booking-hero-inner { grid-template-columns: 1fr; }
  .zmp-booking-photo-wrap { min-height: auto; padding-top: 20px; }
  .zmp-booking-gold-circle { width: min(430px, 82vw); }
}

@media (max-width: 560px) {
  .zmp-booking-hero.zmp-booking-hero-visual {
    padding-left: 22px;
    padding-right: 22px;
  }
  .zmp-booking-photo-caption {
    font-size: 10px;
    max-width: calc(100vw - 70px);
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* === V36.9 BOOKING BUTTON FIX === */
html {
  scroll-behavior: smooth;
}

#booking-contact {
  scroll-margin-top: 120px;
}


/* === V36.10 OFFICIAL ARTIST PAGE === */
.zmp-artist-page{background:radial-gradient(circle at 78% 16%,rgba(214,168,79,.16),transparent 34%),linear-gradient(180deg,#050505 0%,#0b0906 58%,#050505 100%);color:#f7efe4;min-height:100vh}
.zmp-artist-hero{position:relative;overflow:hidden;min-height:760px;display:grid;align-items:center;padding:clamp(120px,13vw,180px) 6vw 92px;border-bottom:1px solid rgba(214,168,79,.18);background:radial-gradient(circle at 82% 48%,rgba(214,168,79,.22),transparent 30%),radial-gradient(circle at 18% 35%,rgba(214,168,79,.08),transparent 38%),linear-gradient(90deg,#050505 0%,#070604 52%,#150f06 100%)}
.zmp-artist-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 48%,rgba(0,0,0,.22) 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px);pointer-events:none}
.zmp-artist-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(34px,6vw,86px);align-items:center;max-width:1480px;width:100%;margin:0 auto}
.zmp-artist-kicker{color:#d6a84f;text-transform:uppercase;letter-spacing:.35em;font-weight:800;font-size:clamp(12px,1.1vw,15px);margin-bottom:22px}
.zmp-artist-hero h1{margin:0;max-width:980px;font-size:clamp(54px,9vw,128px);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;color:#fff8ee}
.zmp-artist-lead{max-width:820px;margin-top:30px;font-size:clamp(18px,2vw,26px);line-height:1.45;color:rgba(247,239,228,.78)}
.zmp-artist-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.zmp-artist-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;border:1px solid rgba(214,168,79,.42);color:#ffe0a0;text-decoration:none;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.zmp-artist-btn.primary{background:linear-gradient(135deg,#e3b85d,#936217);color:#080705;border-color:transparent}
.zmp-artist-photo-wrap{position:relative;display:grid;place-items:center;min-height:min(48vw,620px)}
.zmp-artist-gold-circle{position:relative;width:min(520px,82vw);aspect-ratio:1/1;border-radius:50%;padding:clamp(12px,2vw,20px);background:radial-gradient(circle at 34% 28%,rgba(255,235,170,.96),rgba(214,168,79,.55) 30%,rgba(112,72,17,.82) 62%,rgba(214,168,79,.45) 100%);box-shadow:0 0 0 1px rgba(255,220,140,.48),0 0 70px rgba(214,168,79,.42),0 35px 90px rgba(0,0,0,.64)}
.zmp-artist-gold-circle::before{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(214,168,79,.25);box-shadow:inset 0 0 50px rgba(214,168,79,.12)}
.zmp-artist-photo{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 48% 30%,rgba(255,255,255,.08),transparent 22%),linear-gradient(145deg,#0d0c0a,#050505);border:1px solid rgba(0,0,0,.5)}
.zmp-artist-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:contrast(1.07) saturate(1.05)}
.zmp-artist-photo-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,224,160,.78);font-size:clamp(90px,12vw,170px);font-weight:900;letter-spacing:-.08em;background:radial-gradient(circle at center,rgba(214,168,79,.16),transparent 54%),linear-gradient(145deg,#111,#050505)}
.zmp-artist-photo-caption{position:absolute;z-index:3;left:50%;bottom:clamp(10px,2vw,22px);transform:translateX(-50%);white-space:nowrap;padding:10px 16px;border-radius:999px;background:rgba(5,5,5,.78);border:1px solid rgba(214,168,79,.35);color:#ffe0a0;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(10px)}
.zmp-artist-orbit{position:absolute;border-radius:50%;border:1px solid rgba(214,168,79,.13);pointer-events:none}
.zmp-artist-orbit.one{width:min(650px,92vw);aspect-ratio:1/1}
.zmp-artist-orbit.two{width:min(760px,104vw);aspect-ratio:1/1;transform:rotate(-12deg)}
.zmp-artist-section{padding:72px 6vw}
.zmp-artist-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,70px);align-items:start;max-width:1280px;margin:0 auto}
.zmp-artist-card{border:1px solid rgba(214,168,79,.26);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:0 28px 80px rgba(0,0,0,.34);padding:clamp(28px,4vw,48px)}
.zmp-artist-card h2,.zmp-artist-card h3{color:#fff8ee;margin-top:0;letter-spacing:-.03em}
.zmp-artist-card h2{font-size:clamp(32px,4.4vw,62px);line-height:.95}
.zmp-artist-card h3{font-size:clamp(22px,2.2vw,34px)}
.zmp-artist-card p{color:rgba(247,239,228,.76);font-size:17px;line-height:1.75}
.zmp-artist-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.zmp-artist-tag{border:1px solid rgba(214,168,79,.25);border-radius:999px;padding:9px 13px;color:#ffe0a0;background:rgba(214,168,79,.06);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.zmp-artist-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.zmp-artist-platform{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;border:1px solid rgba(214,168,79,.26);color:#ffe0a0;background:rgba(214,168,79,.045);text-decoration:none;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.zmp-artist-facts{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px}
.zmp-artist-facts li{color:rgba(247,239,228,.84);padding-left:28px;position:relative;line-height:1.55}
.zmp-artist-facts li::before{content:"";width:9px;height:9px;border-radius:99px;background:#d6a84f;position:absolute;left:0;top:.55em;box-shadow:0 0 18px rgba(214,168,79,.8)}
.zmp-artist-final{text-align:center;max-width:920px;margin:0 auto}
.zmp-artist-final h2{font-size:clamp(34px,5vw,72px);line-height:.95;text-transform:uppercase}
@media (max-width:980px){.zmp-artist-hero{min-height:auto}.zmp-artist-hero-inner,.zmp-artist-grid{grid-template-columns:1fr}.zmp-artist-photo-wrap{min-height:auto;padding-top:20px}.zmp-artist-gold-circle{width:min(430px,82vw)}}
@media (max-width:560px){.zmp-artist-hero{padding-left:22px;padding-right:22px}.zmp-artist-link-grid{grid-template-columns:1fr}.zmp-artist-photo-caption{font-size:10px;max-width:calc(100vw - 70px);overflow:hidden;text-overflow:ellipsis}}


/* === V36.12 SHARED INNER PAGE HEADER MENU === */
.zmp-inner-header{
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  right: 0;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 14px 5vw;
  background: rgba(5,5,5,.92);
  border-bottom: 1px solid rgba(214,168,79,.18);
  backdrop-filter: blur(12px);
}

.admin-bar .zmp-inner-header{
  top: 32px;
}

.zmp-inner-brand{
  display: flex;
  flex-direction: column;
  gap: 5px;
  text-decoration: none;
  min-width: 250px;
}

.zmp-inner-brand-name{
  color: #fff8ee;
  font-weight: 950;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-size: clamp(18px, 2vw, 27px);
  line-height: 1;
}

.zmp-inner-brand-subtitle{
  color: #d6a84f;
  font-weight: 900;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-size: clamp(9px, .7vw, 12px);
  line-height: 1.35;
}

.zmp-inner-menu{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(14px, 1.6vw, 24px);
  flex-wrap: wrap;
}

.zmp-inner-menu a{
  color: #fff8ee;
  text-decoration: none;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: clamp(10px, .75vw, 13px);
  line-height: 1;
  white-space: nowrap;
}

.zmp-inner-menu a:hover{
  color: #d6a84f;
}

.zmp-booking-page,
.zmp-artist-page{
  padding-top: 0;
}

/* Gentle alignment correction: hero and card grids share the same visual width */
.zmp-booking-hero-inner,
.zmp-artist-hero-inner,
.zmp-booking-grid,
.zmp-artist-grid{
  max-width: 1400px;
}

@media (max-width: 1100px){
  .zmp-inner-header{
    position: sticky;
    top: 0;
    min-height: auto;
    padding: 14px 22px;
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-bar .zmp-inner-header{
    top: 0;
  }

  .zmp-inner-brand{
    min-width: 0;
  }

  .zmp-inner-menu{
    width: 100%;
    justify-content: flex-start;
    gap: 13px 18px;
  }
}

@media (max-width: 600px){
  .zmp-inner-brand-name{
    font-size: 18px;
  }

  .zmp-inner-brand-subtitle{
    font-size: 9px;
    letter-spacing: .18em;
  }

  .zmp-inner-menu a{
    font-size: 10px;
  }
}


/* === V36.13 INNER MENU COMPACT ALIGNMENT === */
.zmp-inner-header{
  justify-content: center !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.zmp-inner-header-content{
  width: min(1480px, calc(100vw - 72px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(36px, 5vw, 90px);
}

.zmp-inner-brand{
  flex: 0 0 auto;
}

.zmp-inner-menu{
  flex: 0 1 auto;
  justify-content: flex-end;
}

@media (max-width: 1100px){
  .zmp-inner-header{
    align-items: stretch !important;
  }

  .zmp-inner-header-content{
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .zmp-inner-menu{
    justify-content: flex-start;
  }
}


/* === V36.14 INNER MENU MATCH HOMEPAGE === */
.zmp-inner-header{
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 50 !important;
  min-height: auto !important;
  display: block !important;
  padding: 0 !important;
  background: rgba(5,5,5,.86) !important;
  backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(214,168,79,.18) !important;
}

.admin-bar .zmp-inner-header{
  top: 32px !important;
}

.zmp-inner-header-content{
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 22px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

.zmp-inner-brand{
  min-width: max-content !important;
  flex: 0 0 auto !important;
  gap: 0 !important;
}

.zmp-inner-brand-name{
  display: block !important;
  font-size: 25px !important;
  line-height: 1 !important;
  letter-spacing: .22em !important;
  font-weight: 950 !important;
}

.zmp-inner-brand-subtitle{
  display: block !important;
  margin-top: 9px !important;
  color: var(--gold) !important;
  font-size: 12px !important;
  letter-spacing: .22em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.zmp-inner-menu{
  display: flex !important;
  gap: 24px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.zmp-inner-menu a{
  padding: 10px 0 !important;
  border-bottom: 3px solid transparent !important;
  color: #eee6da !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.zmp-inner-menu a:hover{
  border-bottom-color: var(--gold) !important;
  color: var(--gold2) !important;
}

@media (max-width: 1100px){
  .zmp-inner-header{
    position: sticky !important;
    top: 0 !important;
  }

  .admin-bar .zmp-inner-header{
    top: 0 !important;
  }

  .zmp-inner-header-content{
    width: min(1180px, calc(100% - 40px)) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px 0 !important;
  }

  .zmp-inner-brand{
    min-width: 0 !important;
  }

  .zmp-inner-menu{
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 13px 18px !important;
  }
}

@media (max-width: 600px){
  .zmp-inner-brand-name{
    font-size: 18px !important;
  }

  .zmp-inner-brand-subtitle{
    font-size: 9px !important;
    letter-spacing: .18em !important;
    line-height: 1.35 !important;
  }

  .zmp-inner-menu a{
    font-size: 10px !important;
  }
}


/* === V36.15 SAME HOMEPAGE NAV ON INNER PAGES === */
.zmp-booking-page .nav,
.zmp-artist-page .nav{
  position: sticky;
  top: 0;
  z-index: 9999;
}

.admin-bar .zmp-booking-page .nav,
.admin-bar .zmp-artist-page .nav{
  top: 32px;
}

/* Disable old temporary inner-menu system if cached CSS still exists */
.zmp-inner-header{
  display: none !important;
}

/* Keep the good card alignment from previous version */
.zmp-booking-hero-inner,
.zmp-artist-hero-inner,
.zmp-booking-grid,
.zmp-artist-grid{
  max-width: 1400px;
}

@media (max-width: 782px){
  .admin-bar .zmp-booking-page .nav,
  .admin-bar .zmp-artist-page .nav{
    top: 46px;
  }
}

@media (max-width: 600px){
  .admin-bar .zmp-booking-page .nav,
  .admin-bar .zmp-artist-page .nav{
    top: 0;
  }
}


/* === V36.16 KEEP HOME MENU, RESTORE ELEGANT CARD WIDTH === */
/* Hero remains wide and balanced; only the lower card grids return to the original elegant width. */
.zmp-booking-grid,
.zmp-artist-grid{
  max-width: 1280px !important;
}

/* Keep hero alignment stable from the previous working version */
.zmp-booking-hero-inner,
.zmp-artist-hero-inner{
  max-width: 1400px !important;
}


/* === V36.17 EXACT HOMEPAGE GRID ALIGNMENT === */
/* The inner pages now use the same visual grid as the homepage container. */

.zmp-booking-hero,
.zmp-artist-hero{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.zmp-booking-section,
.zmp-artist-section{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.zmp-booking-hero-inner,
.zmp-artist-hero-inner,
.zmp-booking-grid,
.zmp-artist-grid{
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep a balanced hero proportion after reducing the grid to the homepage width. */
.zmp-booking-hero-inner,
.zmp-artist-hero-inner{
  grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr) !important;
}

.zmp-artist-gold-circle,
.zmp-booking-photo-ring,
.zmp-booking-gold-circle{
  max-width: 100% !important;
}

@media (max-width: 980px){
  .zmp-booking-hero-inner,
  .zmp-artist-hero-inner,
  .zmp-booking-grid,
  .zmp-artist-grid{
    width: min(100% - 40px, 1180px) !important;
  }

  .zmp-booking-hero-inner,
  .zmp-artist-hero-inner{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px){
  .zmp-booking-hero-inner,
  .zmp-artist-hero-inner,
  .zmp-booking-grid,
  .zmp-artist-grid{
    width: calc(100% - 32px) !important;
  }
}


/* === V36.18 SAME HOMEPAGE FOOTER ON INNER PAGES === */
.zmp-booking-page .site-footer-pro,
.zmp-artist-page .site-footer-pro{
  margin-top: 0;
}
