.cdsm-photo,
.cdsm-cases,
.cdsm-unconventional {
  margin: clamp(3.5rem, 8vw, 8rem) 0;
}

.cdsm-photo__grid {
  column-count: 3;
  column-gap: clamp(.75rem, 1.5vw, 1.25rem);
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.cdsm-photo__item {
  break-inside: avoid;
  margin: 0 0 clamp(.75rem, 1.5vw, 1.25rem);
  overflow: hidden;
  border-radius: 16px;
  background: #eef0f6;
}

.cdsm-photo__item a {
  display: block;
  cursor: pointer;
  overflow: hidden;
}

.cdsm-photo__item img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .55s cubic-bezier(.2,.75,.25,1), filter .35s ease;
}

.cdsm-photo__item a:hover img,
.cdsm-photo__item a:focus-visible img {
  transform: scale(1.035);
  filter: saturate(1.06) contrast(1.03);
}

.cdsm-tabs {
  display: flex;
  gap: .4rem;
  overflow-x: auto;
  margin: clamp(2rem, 4vw, 3rem) 0 1rem;
  padding: .38rem;
  border-radius: 999px;
  background: #eef0f4;
  scrollbar-width: thin;
}

.cdsm-tabs button {
  flex: 1 0 auto;
  min-width: max-content;
  border: 0;
  border-radius: 999px;
  padding: .78rem 1.15rem;
  background: transparent;
  color: #121a28;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.cdsm-tabs button[aria-selected="true"] {
  background: #fff;
  color: #145cff;
  box-shadow: 0 7px 22px rgba(13, 27, 62, .1);
}

.cdsm-tabs button:focus-visible {
  outline: 3px solid rgba(20, 92, 255, .35);
  outline-offset: 2px;
}

.cdsm-case {
  padding: clamp(1.35rem, 3.5vw, 3rem);
  border: 1px solid rgba(17, 29, 52, .09);
  border-radius: clamp(20px, 3vw, 34px);
  background: linear-gradient(145deg, #fff 0%, #f7f8fb 100%);
  box-shadow: 0 20px 65px rgba(12, 25, 55, .08);
}

.cdsm-case[hidden] { display: none; }

.cdsm-case__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  margin-bottom: 1.25rem;
}

.cdsm-case__meta span {
  padding: .32rem .7rem;
  border-radius: 999px;
  background: #145cff;
  color: #fff;
  font-size: .88rem;
  font-weight: 750;
}

.cdsm-case__meta strong { font-size: clamp(1.05rem, 2vw, 1.35rem); }

.cdsm-case h3,
.cdsm-unconventional h3 {
  margin: 0 0 .8rem;
  color: #111a29;
}

.cdsm-case__concept { max-width: 1050px; }

.cdsm-case__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 2px solid rgba(20, 92, 255, .18);
}

.cdsm-case__media { display: grid; gap: 1.5rem; align-content: start; }

.cdsm-soundcloud {
  display: block;
  width: 100%;
  height: 166px;
  border: 0;
  border-radius: 14px;
  background: #fff;
}

.cdsm-video {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  background: #09111f;
  box-shadow: 0 14px 35px rgba(5, 15, 37, .17);
}

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

.cdsm-case__lyrics {
  min-width: 0;
  padding: 1.25rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
}

.cdsm-case__lyrics-scroll {
  max-height: 610px;
  overflow: auto;
  padding-right: .8rem;
  scrollbar-color: #145cff #e5e9f2;
  scrollbar-width: thin;
}

.cdsm-case__lyrics-scroll p { margin: 0 0 1rem; line-height: 1.62; }

.cdsm-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.1rem, 2.5vw, 2rem);
  margin-top: clamp(2rem, 4vw, 3rem);
}

.cdsm-video-card {
  margin: 0;
  padding: .65rem;
  border: 1px solid rgba(17, 29, 52, .09);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 15px 42px rgba(12, 25, 55, .07);
}

.cdsm-video-card figcaption {
  padding: .9rem .55rem .45rem;
  text-align: center;
  font-weight: 650;
  color: #1c293c;
}

@media (max-width: 820px) {
  .cdsm-photo__grid { column-count: 2; }
  .cdsm-case__layout { grid-template-columns: 1fr; }
  .cdsm-case__lyrics-scroll { max-height: 480px; }
  .cdsm-video-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .cdsm-photo__grid { column-count: 1; }
  .cdsm-tabs { border-radius: 18px; }
  .cdsm-case { border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .cdsm-photo__item img,
  .cdsm-tabs button { transition: none; }
}

/* =========================================================
   Musical per aziende — tabs native Breakdance
   ========================================================= */
.cdsm-cases {
  display: block !important;
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: clamp(3.5rem, 7vw, 7rem) 0 !important;
}

.cdsm-tabs-host {
  width: 100% !important;
  margin: 0 0 1.25rem !important;
  overflow: visible !important;
}

.cdsm-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 5px !important;
  border-radius: 999px !important;
  background: rgba(8, 14, 25, 0.07) !important;
}

.cdsm-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
  font-size: clamp(13px, 1.1vw, 16px) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: -0.015em !important;
  color: #111827 !important;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease !important;
}

.cdsm-tab.is-active,
.cdsm-tab[aria-selected="true"] {
  background: #fff !important;
  color: #0b57ff !important;
  box-shadow: 0 1px 3px rgba(8,14,25,.08) !important;
}

.cdsm-tab:focus-visible {
  outline: 2px solid #0b57ff !important;
  outline-offset: 2px !important;
}

.cdsm-case {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(28px, 4.5vw, 56px) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 14px 45px rgba(8,14,25,.08) !important;
}

/* fallback CSS: anche se il JS tarda a partire, non impiliamo i 5 casi */
.cdsm-case.is-inactive,
.cdsm-case[aria-hidden="true"] {
  display: none !important;
}
.cdsm-case.is-active,
.cdsm-case[aria-hidden="false"] {
  display: block !important;
}

.cdsm-case__media {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  margin: clamp(28px, 4vw, 44px) 0 0 !important;
}

.cdsm-case__media .cd-native-video,
.cdsm-case__media .cd-native-video-fallback,
.cdsm-case__media .cd-native-embed__html,
.cdsm-case__media iframe,
.cdsm-case__media video {
  width: 100% !important;
  max-width: none !important;
}

.cdsm-case__media iframe,
.cdsm-case__media video {
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}

@media (max-width: 920px) {
  .cdsm-cases {
    width: min(100% - 32px, 760px) !important;
  }
  .cdsm-tabs-host {
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .cdsm-tabs-host::-webkit-scrollbar { display: none; }
  .cdsm-tabs {
    margin: 0 !important;
    max-width: none !important;
  }
  .cdsm-tab {
    flex: 0 0 auto !important;
    padding-inline: 18px !important;
  }
  .cdsm-case__media {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 600px) {
  .cdsm-cases {
    width: calc(100% - 24px) !important;
  }
  .cdsm-case {
    padding: 22px !important;
    border-radius: 18px !important;
  }
  .cdsm-tab {
    min-height: 40px !important;
    padding: 9px 15px !important;
    font-size: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cdsm-tab { transition: none !important; }
}

/* v0.3.23 — Musical tabs/layout definitive overrides */
.cdsm-tabs{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;width:max-content!important;max-width:none!important}
.cdsm-tab{display:flex!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}
.cdsm-tab__label,.cdsm-tab__label *{width:auto!important;margin:0!important;white-space:nowrap!important;font-size:clamp(13px,1.1vw,16px)!important;font-weight:650!important;line-height:1!important;color:inherit!important}
.cdsm-case__layout{display:block!important;width:100%!important;max-width:none!important}
.cdsm-case__media{display:flex!important;flex-direction:column!important;gap:24px!important;width:100%!important;max-width:none!important}
.cdsm-video{order:1!important;width:100%!important;max-width:none!important}
.cdsm-soundcloud{order:2!important;width:100%!important;max-width:none!important}
.cdsm-video iframe,.cdsm-video video,.cdsm-video .cd-native-video iframe,.cdsm-video .cd-native-video-fallback iframe{display:block!important;width:100%!important;max-width:none!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important}
.cdsm-case__lyrics{width:100%!important;max-width:none!important;margin-top:26px!important}
.cdsm-case__lyrics-scroll{width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;column-count:2!important;column-gap:clamp(34px,5vw,72px)!important;padding:0!important;border:0!important}
.cdsm-case__lyrics-scroll p,.cdsm-case__lyrics-scroll > *{break-inside:avoid-column!important;-webkit-column-break-inside:avoid!important}
@media(max-width:920px){.cdsm-case__lyrics-scroll{column-count:1!important}}

/* v0.3.24 — Musical per aziende: tab interaction + media stack */
.cdsm-tabs-host{width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 4px!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
.cdsm-tabs-host::-webkit-scrollbar{display:none!important}
.cdsm-tabs{display:flex!important;flex-direction:row!important;align-items:stretch!important;justify-content:flex-start!important;gap:6px!important;width:max-content!important;min-width:100%!important;max-width:none!important;margin:0!important;padding:6px!important}
.cdsm-tab{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:0 20px!important;border-radius:999px!important;cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:2!important}
.cdsm-tab__label,.cdsm-tab__label *{pointer-events:none!important;font-size:clamp(13px,1.05vw,15px)!important;font-weight:650!important;line-height:1!important;letter-spacing:-.015em!important;white-space:nowrap!important}
.cdsm-tab.is-active,.cdsm-tab[aria-selected="true"]{background:#fff!important;color:#0b57ff!important;box-shadow:0 1px 4px rgba(8,14,25,.12)!important}

.cdsm-case__layout{display:block!important;width:100%!important;max-width:none!important}
.cdsm-case__media{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:28px!important;width:100%!important;max-width:none!important;margin:32px 0 0!important}
.cdsm-video{order:1!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
.cdsm-soundcloud{order:2!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
.cdsm-case__lyrics{display:block!important;width:100%!important;max-width:none!important;margin:30px 0 0!important}

.cdsm-video .bde-rich-text,
.cdsm-video .bde-rich-text > *,
.cdsm-video .cd-native-video,
.cdsm-video .cd-native-video-fallback,
.cdsm-video .cd-native-embed__html,
.cdsm-video p,
.cdsm-video figure,
.cdsm-video div{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
.cdsm-video iframe,
.cdsm-video video,
.cdsm-video .bde-rich-text iframe,
.cdsm-video .cd-native-video iframe,
.cdsm-video .cd-native-video-fallback iframe{display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:16/9!important;min-height:clamp(260px,48vw,650px)!important;border:0!important;border-radius:0!important}

.cdsm-soundcloud .bde-rich-text,
.cdsm-soundcloud .bde-rich-text > *,
.cdsm-soundcloud iframe,
.cdsm-soundcloud div,
.cdsm-soundcloud p{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
.cdsm-soundcloud iframe{height:166px!important;min-height:166px!important;border:0!important}

.cdsm-case__lyrics-scroll{display:block!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;overflow:visible!important;columns:2!important;column-gap:clamp(38px,5vw,76px)!important;padding:0!important;border:0!important}
.cdsm-case__lyrics-scroll p,.cdsm-case__lyrics-scroll > *{break-inside:avoid-column!important;-webkit-column-break-inside:avoid!important}

@media(max-width:920px){
  .cdsm-tabs{min-width:max-content!important}
  .cdsm-video iframe,.cdsm-video video,.cdsm-video .bde-rich-text iframe,.cdsm-video .cd-native-video-fallback iframe{min-height:0!important}
  .cdsm-case__lyrics-scroll{columns:1!important}
}


/* v0.3.26 — Musical per aziende: spacing + meta typography */
.cdsm-tabs-host{margin-top:clamp(22px,2.6vw,34px)!important}
.cdsm-case__meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;margin:0 0 28px!important}
.cdsm-case__meta>span:first-child,.cdsm-case__meta>*:first-child{display:block!important;width:auto!important;margin:0!important;padding:0 0 0 20px!important;border-radius:0!important;background:transparent!important;color:#5e6878!important;font-size:11px!important;font-weight:700!important;line-height:1.15!important;letter-spacing:.16em!important;text-transform:uppercase!important;position:relative!important}
.cdsm-case__meta>span:first-child:before,.cdsm-case__meta>*:first-child:before{content:"";position:absolute;left:0;top:.52em;width:12px;height:1px;background:#25c7d9}
.cdsm-case__meta strong,.cdsm-case__meta>*:nth-child(2){display:block!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;color:#0a1220!important;font-size:clamp(30px,4vw,52px)!important;font-weight:720!important;line-height:.96!important;letter-spacing:-.045em!important;text-transform:none!important}
