/* CRM ML - Studenti del Conservatorio: banner nella homepage (CRMLMS_CV_Promo).
   Disegnato in CSS (sole giallo sulla tastiera), nessuna immagine. Tutto link.
   Selettori "html body[class] ..." perche il tema impone colore e stile ai link. */

.crmlms-cvh {
  box-sizing: border-box; display: block;
  max-width: 1240px; margin: 40px auto; padding: 0 24px;
}
.crmlms-cvh *, .crmlms-cvh *::before, .crmlms-cvh *::after { box-sizing: border-box; }
html body[class] .crmlms-cvh a.crmlms-cvh-link {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 42%);
  min-height: 380px; overflow: hidden;
  border: 1px solid #f1dfe7 !important; border-radius: 26px !important;
  background: #fffaf3 !important;
  box-shadow: 0 16px 40px rgba(190, 24, 93, .14), 0 4px 12px rgba(15, 23, 42, .05) !important;
  color: #1e1b2e !important; -webkit-text-fill-color: #1e1b2e !important;
  text-decoration: none !important; text-transform: none; letter-spacing: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transition: transform .2s ease, box-shadow .2s ease;
}
html body[class] .crmlms-cvh a.crmlms-cvh-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(190, 24, 93, .22), 0 6px 16px rgba(15, 23, 42, .07) !important;
}
html body[class] .crmlms-cvh a.crmlms-cvh-link:focus-visible { outline: 3px solid #be185d; outline-offset: 4px; }

.crmlms-cvh-txt { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; padding: 40px 44px; min-width: 0; }
html body[class] .crmlms-cvh .crmlms-cvh-eyebrow {
  font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1.35;
  color: #9d174d !important; -webkit-text-fill-color: #9d174d !important;
}
html body[class] .crmlms-cvh .crmlms-cvh-title {
  font: 800 clamp(32px, 4.2vw, 52px)/1.05 'Sora', 'Inter', sans-serif; letter-spacing: -.02em;
  color: #1e1b2e !important; -webkit-text-fill-color: #1e1b2e !important;
}
html body[class] .crmlms-cvh .crmlms-cvh-title em { font-style: italic; color: #be185d !important; -webkit-text-fill-color: #be185d !important; }
html body[class] .crmlms-cvh .crmlms-cvh-sub { font-size: 18px; line-height: 1.45; color: #5b5266 !important; -webkit-text-fill-color: #5b5266 !important; }
html body[class] .crmlms-cvh .crmlms-cvh-cta {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; padding: 14px 22px; border-radius: 14px;
  background: #be185d; color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-size: 16.5px; font-weight: 700; line-height: 1.2;
}

.crmlms-cvh-art { position: relative; display: block; background: #be185d; min-height: 220px; overflow: hidden; }
.crmlms-cvh-sole {
  position: absolute; left: 50%; bottom: 44px; width: min(68%, 290px); aspect-ratio: 1; margin-left: calc(min(68%, 290px) / -2);
  border-radius: 50%; background: #fcc544;
}
.crmlms-cvh-tasti {
  position: absolute; left: 0; right: 0; bottom: 0; height: 118px; border-top: 4px solid #1e1b2e;
  background:
    repeating-linear-gradient(90deg, transparent 0 28px, #1e1b2e 28px 52px, transparent 52px 68px, #1e1b2e 68px 92px, transparent 92px 148px, #1e1b2e 148px 172px, transparent 172px 188px, #1e1b2e 188px 212px, transparent 212px 228px, #1e1b2e 228px 252px, transparent 252px 280px) 0 0 / 100% 62% no-repeat,
    repeating-linear-gradient(90deg, #fff 0 38px, #1e1b2e 38px 40px);
}
html body[class] .crmlms-cvh .crmlms-cvh-chip {
  position: absolute; top: 24px; right: 24px; padding: 9px 16px; border-radius: 999px;
  background: #fff; color: #1e1b2e !important; -webkit-text-fill-color: #1e1b2e !important;
  font: 700 15.5px/1.2 'Sora', 'Inter', sans-serif;
}

@media (max-width: 767px) {
  .crmlms-cvh { margin: 28px auto; padding: 0 16px; }
  html body[class] .crmlms-cvh a.crmlms-cvh-link { grid-template-columns: minmax(0, 1fr); border-radius: 20px !important; min-height: 0; }
  .crmlms-cvh-art { order: -1; min-height: 190px; }
  .crmlms-cvh-sole { bottom: 30px; width: 170px; margin-left: -85px; }
  .crmlms-cvh-tasti { height: 84px; }
  html body[class] .crmlms-cvh .crmlms-cvh-chip { top: 16px; right: 16px; font-size: 14px; }
  .crmlms-cvh-txt { padding: 24px 22px 26px; gap: 12px; }
  html body[class] .crmlms-cvh .crmlms-cvh-sub { font-size: 16.5px; }
  html body[class] .crmlms-cvh .crmlms-cvh-cta { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html body[class] .crmlms-cvh a.crmlms-cvh-link { transition: none; }
  html body[class] .crmlms-cvh a.crmlms-cvh-link:hover { transform: none; }
}
@media print { .crmlms-cvh { display: none !important; } }
