/* Lennon Music v1.1.8. Scoped mobile player and information-page refinements. */
@media (max-width: 760px) {
  :root { --lm-mobile-player-height: 152px; }
  #global-player.player {
    grid-template-rows: 51px 52px !important;
    row-gap: 25px !important;
    padding: 12px 14px 12px !important;
  }
  /* Move the seek bar visually ABOVE the transport row without touching the
     desktop DOM or moving the persistent audio element. */
  #global-player .player-timeline {
    position: absolute !important;
    inset: -27px 12px auto !important;
    width: calc(100% - 24px) !important;
    height: 18px !important;
    z-index: 4;
  }
  #global-player #player-progress {
    width: 100% !important;
    height: 18px !important;
    min-height: 18px !important;
    background-size: 100% 4px !important;
  }
  #global-player .player-center {
    position: absolute !important;
    inset: auto 0 9px 0 !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 12px !important;
    box-sizing: border-box;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  /* Match the desktop controls: unboxed previous/next, circular primary. */
  #global-player #player-next,
  #global-player #player-prev {
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #c3c5cb !important;
    box-shadow: none !important;
  }
  #global-player #player-toggle.player-main {
    border-radius: 50% !important;
    background: var(--accent, #bbf277) !important;
    color: #172112 !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.2) !important;
  }
  #global-player .player-buttons {gap: 18px !important;}
  #global-player #player-next :is(i,svg),
  #global-player #player-prev :is(i,svg) {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
  }
  #global-player #player-toggle :is(i,svg) {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
  }
  /* Older rules can inadvertently stretch the mute button across the dock.
     Pin its touch target explicitly; never let it cover transport controls. */
  #global-player #player-mute {
    position: absolute !important;
    top: 20px !important;
    left: 48px !important;
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
  }
  #global-player .player-mode-button {bottom: 19px !important;}
}
@media (max-width: 360px) {
  #global-player #player-mute { display: none !important; }
  #global-player .player-buttons {gap: 12px !important;}
}
/* Type scale aligned with the rest of the public catalog, not the old 10px text. */
.lm842-info-page .lm842-hero-copy > p,
.lm842-info-page .lm842-contact-heading p {font-size: 14px; line-height: 2;}
.lm842-info-page .lm842-section-intro p,
.lm842-info-page .lm842-value-card p,
.lm842-info-page .lm842-info-cta p,
.lm842-info-page .lm842-contact-aside p {font-size: 13px; line-height: 2;}
.lm842-info-page .lm842-quiet-link,
.lm842-info-page .lm842-contact-aside a {font-size: 13px;}
.lm842-info-page .lm842-value-card h3 {font-size: 19px;}
.lm842-info-page .lm842-panel-heading h2 {font-size: 23px;}
.lm842-info-page .lm842-form-field label {font-size: 13px;}
.lm842-info-page .lm842-form-field input,
.lm842-info-page .lm842-form-field textarea {font-size: 14px !important; line-height: 1.8 !important;}
.lm842-info-page .lm842-form-bottom p,
.lm842-info-page .lm842-form-field .errorlist,
.lm842-info-page .lm842-form-error {font-size: 12px;}
.lm842-info-page .lm842-form-notice {font-size: 13px;}
.lm842-contact-feedback {padding: 12px 15px; border-radius: 10px; font-size: 13px; line-height: 1.9;}
.lm842-contact-feedback[hidden], .lm842-field-error[hidden] {display:none !important;}
.lm842-contact-feedback.is-success {color: #d8f4dc; background: #25392c; border: 1px solid #4d6c55;}
.lm842-contact-feedback.is-error {color: #ffbfc0; background: #3e272d; border: 1px solid #794651;}
.lm842-field-error {display:block; font-size: 12px; line-height: 1.7; color:#ffbfc0;}
.lm842-contact-form [aria-invalid="true"] {border-color:#ba737b !important;}
.lm842-contact-form [data-contact-submit]:disabled {opacity:.65; cursor:progress;}
@media (max-width: 620px) {
  .lm842-info-page .lm842-hero-copy > p,
  .lm842-info-page .lm842-contact-heading p {font-size: 13px;}
  .lm842-info-page .lm842-value-card p,
  .lm842-info-page .lm842-section-intro p,
  .lm842-info-page .lm842-contact-aside p {font-size: 13px;}
  .lm842-info-page .lm842-contact-heading h1 {font-size:clamp(29px,7.2vw,38px);}
  .lm842-info-page .lm842-panel-heading h2 {font-size:21px;}
}
