/* MUSIC FM / Semantic Actions v3 — one typography, three-pixel corners,
 * one animation rhythm. Each role gets its own intentional color/presentation.
 * Custom controls (accessibility, article, media, nav, arrows, tabs, cards) are not normalized.
 * To opt in: data-mf-button="primary|dark|secondary|outline|light|soft|text|danger|success";
 * to opt out: data-mf-button="native" or data-no-action-system.
 */
:root {
  --mf-action-font: "IBM Plex Sans Hebrew", Arial, sans-serif;
  --mf-action-size: 14px;
  --mf-action-weight: 700;
  --mf-action-height: 42px;
  --mf-action-radius: 3px;
  --mf-action-speed: 180ms;
  --mf-action-easing: cubic-bezier(.2,.7,.25,1);
  --mf-action-blue: #0d5fc2;
  --mf-action-blue-hover: #094c9a;
  --mf-action-dark: #092741;
  --mf-action-dark-hover: #13527f;
}
/* Core geometry: never hard-code width or display, so responsive layouts remain intact. */
html body :is(a,button,input)[data-mf-action-button]:not([data-mf-action-button="text"]) {
  box-sizing: border-box !important;
  min-height: var(--mf-action-height) !important;
  border-radius: var(--mf-action-radius) !important;
  padding: 9px 16px !important;
  font-family: var(--mf-action-font) !important;
  font-size: var(--mf-action-size) !important;
  font-weight: var(--mf-action-weight) !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-align: center;
  vertical-align: middle;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color var(--mf-action-speed) var(--mf-action-easing),
              border-color var(--mf-action-speed) var(--mf-action-easing),
              color var(--mf-action-speed) var(--mf-action-easing),
              transform var(--mf-action-speed) var(--mf-action-easing) !important;
}
html body :is(a,button,input)[data-mf-action-button="primary"] {
  background: var(--mf-action-blue) !important;
  border: 1px solid var(--mf-action-blue) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body :is(a,button,input)[data-mf-action-button="primary"]:is(:hover,:focus-visible) {
  background: var(--mf-action-blue-hover) !important;
  border-color: var(--mf-action-blue-hover) !important;
}
html body :is(a,button,input)[data-mf-action-button="dark"] {
  background: var(--mf-action-dark) !important;
  border: 1px solid var(--mf-action-dark) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body :is(a,button,input)[data-mf-action-button="dark"]:is(:hover,:focus-visible) {
  background: var(--mf-action-dark-hover) !important;
  border-color: var(--mf-action-dark-hover) !important;
}
html body :is(a,button,input)[data-mf-action-button="danger"] {
  background: #b53943 !important;
  border: 1px solid #b53943 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body :is(a,button,input)[data-mf-action-button="danger"]:is(:hover,:focus-visible) {
  background: #922631 !important;
  border-color: #922631 !important;
}
html body :is(a,button,input)[data-mf-action-button="success"] {
  background: #177b5b !important;
  border: 1px solid #177b5b !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body :is(a,button,input)[data-mf-action-button="success"]:is(:hover,:focus-visible) {
  background: #126349 !important;
  border-color: #126349 !important;
}
html body :is(a,button,input)[data-mf-action-button="secondary"] {
  background: #f3f6f9 !important;
  border: 1px solid #d6e0e9 !important;
  color: #274968 !important;
  -webkit-text-fill-color: #274968 !important;
}
html body :is(a,button,input)[data-mf-action-button="secondary"]:is(:hover,:focus-visible) {
  background: #e8f1f8 !important;
  border-color: #b6cadc !important;
  color: #125896 !important;
  -webkit-text-fill-color: #125896 !important;
}
html body :is(a,button,input)[data-mf-action-button="outline"] {
  background: transparent !important;
  border: 1px solid #a5c2db !important;
  color: #125896 !important;
  -webkit-text-fill-color: #125896 !important;
}
html body :is(a,button,input)[data-mf-action-button="outline"]:is(:hover,:focus-visible) {
  background: #f1f7fc !important;
  border-color: #4d93c7 !important;
}
/* White CTA on a dark panel; other context-sensitive actions retain local colors. */
html body :is(a,button,input)[data-mf-action-button="light"] {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: #092741 !important;
  -webkit-text-fill-color: #092741 !important;
}
html body :is(a,button,input)[data-mf-action-button="light"]:is(:hover,:focus-visible) {
  background: #ecf7ff !important;
  border-color: #ecf7ff !important;
}
html body :is(a,button,input)[data-mf-action-button="soft"] {
  /* Preserve deliberate light-on-dark and selected status colors. */
  background-color: inherit;
}
/* Inline text actions are never turned into blue rectangles. */
html body :is(a,button)[data-mf-action-button="text"] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--mf-action-font) !important;
  font-size: var(--mf-action-size) !important;
  font-weight: var(--mf-action-weight) !important;
  line-height: 1.5 !important;
  text-decoration: none;
  box-shadow: none !important;
  transition: color var(--mf-action-speed) var(--mf-action-easing),
              border-color var(--mf-action-speed) var(--mf-action-easing),
              transform var(--mf-action-speed) var(--mf-action-easing) !important;
}
html body :is(a,button)[data-mf-action-button="text"]:is(:hover,:focus-visible) {
  transform: translateX(-1px);
}
/* Avoid overriding icon colors, special status indicators, and nested badge counters. */
html body [data-mf-action-button] > :is(svg,i,.mf-icon) { flex-shrink: 0; }
html body [data-mf-action-button]:not([data-mf-action-button="soft"]):not([data-mf-action-button="secondary"]):not([data-mf-action-button="outline"]):not([data-mf-action-button="light"]):not([data-mf-action-button="text"]) > :is(span,strong):not([class*="badge"]):not([class*="counter"]):not([class*="count"]) { color:inherit; }
@media (hover:hover) and (pointer:fine) {
  html body [data-mf-action-button]:is(:hover):not(:disabled):not([aria-disabled="true"]) {
    transform: scale(1.015) !important;
  }
}
html body [data-mf-action-button]:active:not(:disabled):not([aria-disabled="true"]) {
  transform: scale(.985) !important;
}
html body [data-mf-action-button]:focus-visible {
  outline: 2px solid #2376c4 !important;
  outline-offset: 3px !important;
}
html body [data-mf-action-button]:is(:disabled,[aria-disabled="true"],.is-disabled) {
  cursor: not-allowed !important;
  opacity: .55 !important;
  transform: none !important;
}
html body [data-mf-action-button][hidden] { display:none !important; }
/* Same type scale also beats legacy inline/mobile specificity in admin tools. */
html body.mf-admin .mf-users-v4 :is(.mfuv-btn,.mfuv-action-link)[data-mf-action-button],
html body.mf-help-body .mf-help :is(.mf-help-button,.mf-help-support__secondary)[data-mf-action-button] {
  font-family: var(--mf-action-font) !important;
  font-size: var(--mf-action-size) !important;
  font-weight: var(--mf-action-weight) !important;
  border-radius: var(--mf-action-radius) !important;
}
/* Accessibility: movement must never override reduced-motion preferences. */
@media (prefers-reduced-motion:reduce) {
  html body [data-mf-action-button] {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* Contextual editorial actions: keep them link-like but on the shared type scale. */
html body :is(.mf-public-card-head > a,.mf-dd-hero-browse,.mf-dd-back)[data-mf-action-button="text"] {
  color: #0d5fc2 !important;
}
html body .mf-taste-score--guest a[data-mf-action-button="dark"] {
  min-height: var(--mf-action-height) !important;
  padding-inline: 16px !important;
}


/* ==========================================================
 * MUSIC FM / Page-context action repair, Oct 31 2026
 * Verifiable selectors rather than caption-based guessing.
 * The rules below also work when the JS classifier does not run.
 * ========================================================== */

/* Home: dedications header / primary action */
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-send {
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-height:42px !important;
  padding:9px 16px !important;
  border:1px solid #0d5fc2 !important;
  border-radius:3px !important;
  background:#0d5fc2 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font:700 14px/1.5 "IBM Plex Sans Hebrew",Arial,sans-serif !important;
  text-shadow:none !important;
  box-shadow:none !important;
  white-space:nowrap;
  transform:none;
  transition:background-color 180ms cubic-bezier(.2,.7,.25,1),
             border-color 180ms cubic-bezier(.2,.7,.25,1),
             color 180ms cubic-bezier(.2,.7,.25,1),
             transform 180ms cubic-bezier(.2,.7,.25,1) !important;
}
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-send:hover {
  background:#094c9a !important;
  border-color:#094c9a !important;
  box-shadow:none !important;
  transform:scale(1.015) !important;
}
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-send :is(span,svg,.mf-icon) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-send .mf-icon {
  width:16px !important;height:16px !important;flex-shrink:0;
}
/* Home: "לכל הד״שים" stays an inline editorial link, never a blue rectangle. */
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-all {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  min-height:0 !important;
  padding:0 !important;
  gap:8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#0d5fc2 !important;
  -webkit-text-fill-color:#0d5fc2 !important;
  font:700 14px/1.5 "IBM Plex Sans Hebrew",Arial,sans-serif !important;
  text-decoration:none !important;
  white-space:nowrap;
  transform:none;
  transition:color 180ms cubic-bezier(.2,.7,.25,1),
             transform 180ms cubic-bezier(.2,.7,.25,1) !important;
}
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-all:hover {
  color:#092741 !important;
  -webkit-text-fill-color:#092741 !important;
  gap:8px !important;
  transform:scale(1.015) !important;
}
html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-all .mf-icon {
  width:15px !important;height:15px !important;
}
html body.home-page .mf-home-dedications .mf-hd-actions {gap:16px !important;}

/* Home: account card has a dark CTA followed by a text link. */
html body.home-page .mf-home-account-card .mf-home-account-links {
  display:flex !important;flex-direction:column !important;
  align-items:flex-start !important;gap:14px !important;
  margin-top:17px !important;
}
html body.home-page .mf-home-account-card .mf-home-account-links > .mf-home-account-primary {
  box-sizing:border-box !important;
  display:inline-flex !important;align-items:center !important;
  justify-content:space-between !important;gap:10px !important;
  width:100% !important;min-height:42px !important;
  padding:9px 16px !important;
  border:1px solid #092741 !important;border-radius:3px !important;
  background:#092741 !important;color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font:700 14px/1.5 "IBM Plex Sans Hebrew",Arial,sans-serif !important;
  box-shadow:none !important;text-decoration:none !important;
  transform:none;
  transition:background-color 180ms cubic-bezier(.2,.7,.25,1),
             border-color 180ms cubic-bezier(.2,.7,.25,1),
             color 180ms cubic-bezier(.2,.7,.25,1),
             transform 180ms cubic-bezier(.2,.7,.25,1) !important;
}
html body.home-page .mf-home-account-card .mf-home-account-links > .mf-home-account-primary:hover {
  background:#13527f !important;border-color:#13527f !important;
  box-shadow:none !important;transform:scale(1.015) !important;
}
html body.home-page .mf-home-account-card .mf-home-account-links > .mf-home-account-primary :is(svg,.mf-icon) {
  width:16px !important;height:16px !important;color:#fff !important;transition:none !important;
}
html body.home-page .mf-home-account-card .mf-home-account-links > .mf-home-account-primary:hover svg {
  transform:none !important;
}
html body.home-page .mf-home-account-card .mf-home-account-links > a:not(.mf-home-account-primary) {
  display:inline-flex !important;align-items:center !important;
  justify-content:flex-start !important;gap:8px !important;
  width:auto !important;min-height:0 !important;
  padding:0 !important;margin:0 !important;
  border:0 !important;border-radius:0 !important;
  background:transparent !important;
  color:#0d5fc2 !important;-webkit-text-fill-color:#0d5fc2 !important;
  font:700 14px/1.5 "IBM Plex Sans Hebrew",Arial,sans-serif !important;
  text-decoration:none !important;box-shadow:none !important;
  transform:none;
  transition:color 180ms cubic-bezier(.2,.7,.25,1),
             transform 180ms cubic-bezier(.2,.7,.25,1) !important;
}
html body.home-page .mf-home-account-card .mf-home-account-links > a:not(.mf-home-account-primary):hover {
  color:#092741 !important;-webkit-text-fill-color:#092741 !important;
  transform:scale(1.015) !important;
}

/* Dedications page: CTA geometry is shared but the hero light action remains light. */
html body .mf-dd-page a.mf-dd-button,
html body .mf-dd-page button.mf-dd-button {
  box-sizing:border-box !important;
  display:inline-flex !important;align-items:center !important;
  justify-content:center !important;gap:9px !important;
  min-height:42px !important;padding:9px 16px !important;
  border-radius:3px !important;
  font:700 14px/1.5 "IBM Plex Sans Hebrew",Arial,sans-serif !important;
  text-decoration:none !important;text-shadow:none !important;
  box-shadow:none !important;
  transform:none;
  transition:background-color 180ms cubic-bezier(.2,.7,.25,1),
             border-color 180ms cubic-bezier(.2,.7,.25,1),
             color 180ms cubic-bezier(.2,.7,.25,1),
             transform 180ms cubic-bezier(.2,.7,.25,1) !important;
}
html body .mf-dd-page a.mf-dd-button:hover,
html body .mf-dd-page button.mf-dd-button:hover:not(:disabled) {
  box-shadow:none !important;transform:scale(1.015) !important;
}
html body .mf-dd-page .mf-dd-hero a.mf-dd-button {
  background:#f3fcff !important;border:1px solid #f3fcff !important;
  color:#10283c !important;-webkit-text-fill-color:#10283c !important;
}
html body .mf-dd-page .mf-dd-hero a.mf-dd-button:hover {
  background:#dff5f8 !important;border-color:#dff5f8 !important;
}
html body .mf-dd-page :is(.mf-dd-compose-form,.mf-dd-guest) > .mf-dd-button {
  background:#113b59 !important;border:1px solid #113b59 !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}
html body .mf-dd-page :is(.mf-dd-compose-form,.mf-dd-guest) > .mf-dd-button:hover {
  background:#174d6d !important;border-color:#174d6d !important;
}
html body .mf-dd-page .mf-dd-button.mf-dd-button--quiet {
  background:#fff !important;border:1px solid #d4e0e8 !important;
  color:#294d66 !important;-webkit-text-fill-color:#294d66 !important;
}
html body .mf-dd-page .mf-dd-button.mf-dd-button--quiet:hover {
  background:#f3f7fa !important;border-color:#c6d7e1 !important;
}
/* Text links in the dark hero and in the feed have no button background. */
html body .mf-dd-page :is(a.mf-dd-hero-browse,a.mf-dd-back,a.mf-dd-guest-register) {
  display:inline-flex !important;align-items:center !important;gap:8px !important;
  width:auto !important;min-height:0 !important;padding:0 !important;
  background:transparent !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;
  font:700 14px/1.5 "IBM Plex Sans Hebrew",Arial,sans-serif !important;
  transition:color 180ms cubic-bezier(.2,.7,.25,1),
             transform 180ms cubic-bezier(.2,.7,.25,1) !important;
}
html body .mf-dd-page a.mf-dd-hero-browse {
  color:#c1d4e3 !important;-webkit-text-fill-color:#c1d4e3 !important;
}
html body .mf-dd-page a.mf-dd-hero-browse:hover {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  transform:scale(1.015) !important;
}
html body .mf-dd-page :is(a.mf-dd-back,a.mf-dd-guest-register) {
  color:#0d5fc2 !important;-webkit-text-fill-color:#0d5fc2 !important;
}
html body .mf-dd-page :is(a.mf-dd-back,a.mf-dd-guest-register):hover {
  color:#092741 !important;-webkit-text-fill-color:#092741 !important;
  transform:scale(1.015) !important;
}
/* Keep the home header compact on phones without shrinking its labels. */
@media (max-width:480px) {
  html body.home-page .mf-home-dedications .mf-hd-actions {
    flex-wrap:wrap !important;column-gap:12px !important;row-gap:10px !important;
  }
  html body.home-page .mf-home-dedications .mf-hd-actions .mf-hd-send {
    min-height:42px !important;padding-inline:12px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  html body.home-page .mf-home-dedications .mf-hd-actions :is(.mf-hd-send,.mf-hd-all),
  html body.home-page .mf-home-account-card .mf-home-account-links > a,
  html body .mf-dd-page :is(a.mf-dd-button,button.mf-dd-button,a.mf-dd-hero-browse,a.mf-dd-back,a.mf-dd-guest-register) {
    transition:none !important;transform:none !important;
  }
}
