/* EPM overrides are separate from the unmodified MIT Silktide distribution. */
#stcm-wrapper {
  --fontFamily: Inter, sans-serif;
  --primaryColor: #0578b4;
  --backgroundColor: var(--surface, #fff);
  --textColor: var(--ink, #0b2242);
  --iconColor: #fff;
  --iconBackgroundColor: #0578b4;
  --backdropBackgroundColor: transparent;
}
#stcm-wrapper #stcm-banner { width: 390px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 96px); overflow-y: auto; padding: 20px; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 32px #0b22422b; }
#stcm-wrapper #stcm-banner strong { color: var(--navy-deep); font: 700 23px/1.15 Yantramanav, sans-serif; }
#stcm-wrapper :is(#stcm-banner, #stcm-modal) p { font-size: 14px; line-height: 1.6; }
#stcm-wrapper #stcm-banner .stcm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#stcm-wrapper #stcm-banner .stcm-actions-row { grid-column: 1 / -1; }
#stcm-wrapper .stcm-button { min-height: 44px; border-radius: 10px; font: 700 14px/1.4 Inter, sans-serif; }
#stcm-wrapper .stcm-button-primary { background: #0578b4; color: #fff; border: 1px solid #0578b4; }
#stcm-wrapper .stcm-button-primary:hover { background: #0578b4; color: #fff; text-decoration: underline; }
#stcm-wrapper :is(a, .stcm-preferences-button) { color: var(--textColor); }
#stcm-wrapper :is(a, button, input):focus-visible { outline: 3px solid var(--teal, #5abeb4); outline-offset: 3px; }
#stcm-wrapper .stcm-preferences-button { min-height: 44px; }
#stcm-wrapper .stcm-credit-link, #stcm-wrapper a.stcm-logo { display: none !important; }
#stcm-wrapper #stcm-modal { width: 640px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; border: 1px solid var(--line); border-radius: 18px; }
#stcm-wrapper #stcm-modal h1 { font: 700 28px/1.15 Yantramanav, sans-serif; color: var(--navy-deep); }
#stcm-wrapper .stcm-modal-close { min-width: 44px; min-height: 44px; color: var(--textColor); }
#stcm-wrapper #stcm-icon { width: 44px; height: 44px; padding: 7px; left: 12px; bottom: max(12px, env(safe-area-inset-bottom)); box-sizing: border-box; background: transparent; box-shadow: none; }
#stcm-wrapper #stcm-icon::before { content: ''; position: absolute; inset: 7px; background: var(--iconBackgroundColor); border-radius: 50%; z-index: -1; }
#stcm-wrapper #stcm-icon svg { width: 19px; height: 19px; color: #fff; fill: #fff; }
.epm-media-settings { width: 100%; min-height: 100px; padding: 24px; border: 0; border-radius: 18px; background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; }
.epm-media-settings[hidden], iframe[data-epm-media-src][hidden] { display: none; }
/* Phone prompt occupies document flow and leaves event/navigation CTAs accessible. */
@media (max-width: 600px) {
  body:has(#stcm-banner) #stcm-wrapper { display: block; position: relative; z-index: 1001; }
  #stcm-wrapper #stcm-banner { position: relative; inset: auto; width: calc(100% - 24px); max-width: none; max-height: none; margin: 12px; }
  #stcm-wrapper #stcm-modal { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  #stcm-wrapper *, #stcm-wrapper *::before { animation: none !important; transition: none !important; }
  #stcm-wrapper #stcm-modal, #stcm-wrapper #stcm-banner { opacity: 1; transform: none; }
}
