/* FitMyCase controlled result sharing and VAST advertisement UI */
.fmc-share-overlay[hidden] { display: none !important; }
.fmc-share-overlay {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: rgba(8, 15, 30, .62);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  animation: fmc-share-fade .18s ease-out both;
}
body.share-flow-open { overflow: hidden; }
.fmc-share-card {
  width: min(100%, 460px);
  max-height: min(720px, calc(100dvh - 32px));
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--border, #dbe2ea) 82%, transparent);
  border-radius: 24px;
  padding: 22px;
  background: var(--surface, var(--card, #fff));
  color: var(--text, #111827);
  box-shadow: 0 24px 80px rgba(3, 10, 24, .28);
  animation: fmc-share-rise .22s cubic-bezier(.2,.8,.2,1) both;
}
.fmc-share-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.fmc-share-header h2, .fmc-ad-header h2 { margin: 3px 0 0; font: 800 clamp(1.3rem, 5vw, 1.7rem)/1.2 Manrope, sans-serif; }
.fmc-share-header .section-eyebrow { margin: 0; }
.fmc-share-icon-button {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border, #dbe2ea);
  border-radius: 50%;
  background: var(--surface-soft, #f5f7fa);
  color: inherit;
  cursor: pointer;
}
.fmc-share-icon-button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.fmc-share-summary {
  display: grid;
  gap: 4px;
  margin: 20px 0 12px;
  padding: 15px 16px;
  border-radius: 16px;
  background: var(--surface-soft, #f4f7fb);
}
.fmc-share-summary strong { font: 700 1rem/1.4 Manrope, sans-serif; overflow-wrap: anywhere; }
.fmc-share-summary span, .fmc-share-note, .fmc-ad-status, .fmc-ad-disclosure { color: var(--muted, #667085); }
.fmc-share-summary span { font-size: .86rem; }
.fmc-share-note { margin: 0 0 16px; font-size: .88rem; line-height: 1.55; }
.fmc-share-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fmc-share-options > button {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--border, #dbe2ea);
  border-radius: 16px;
  background: var(--surface, #fff);
  color: inherit;
  font: 700 .9rem/1.2 Manrope, sans-serif;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.fmc-share-options > button:hover { transform: translateY(-1px); border-color: var(--accent, #4f46e5); background: var(--surface-soft, #f7f8fb); }
.fmc-share-option-icon { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; font: 800 1rem/1 Manrope, sans-serif; }
.fmc-share-option-icon.is-whatsapp { background: #20b95a; }
.fmc-share-option-icon.is-telegram { background: #2596d1; }
.fmc-share-option-icon.is-facebook { background: #1877f2; font-family: Arial, sans-serif; font-size: 1.35rem; }
.fmc-share-option-icon.is-copy { background: #27364a; }
.fmc-share-option-icon svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.fmc-share-cancel, .fmc-ad-cancel, .fmc-ad-secondary, .fmc-ad-primary {
  min-height: 44px;
  border-radius: 13px;
  padding: 10px 16px;
  font: 700 .88rem/1 Manrope, sans-serif;
  cursor: pointer;
}
.fmc-share-cancel { width: 100%; margin-top: 12px; border: 0; background: transparent; color: var(--muted, #667085); }
.fmc-ad-card { width: min(100%, 640px); }
.fmc-ad-header { margin-bottom: 14px; }
.fmc-ad-header > span { display: inline-block; padding: 5px 8px; border-radius: 6px; background: #eef1f5; color: #4b5563; font: 700 .65rem/1 Manrope, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.fmc-ad-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; display: grid; place-items: center; overflow: hidden; border-radius: 16px; background: #05070b; }
.fmc-ad-stage:empty::after { content: ''; width: 34px; height: 34px; border: 3px solid rgba(255,255,255,.22); border-top-color: #fff; border-radius: 50%; animation: fmc-ad-spin .8s linear infinite; }
.fmc-share-ad-video { width: 100%; height: 100%; display: block; object-fit: contain; background: #000; }
.fmc-ad-status { min-height: 44px; margin: 13px 0 4px; font-size: .86rem; line-height: 1.5; text-align: center; }
.fmc-ad-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
.fmc-ad-primary { border: 0; background: var(--accent, #111827); color: #fff; }
.fmc-ad-secondary { border: 1px solid var(--border, #dbe2ea); background: var(--surface-soft, #f5f7fa); color: inherit; }
.fmc-ad-cancel { border: 0; background: transparent; color: var(--muted, #667085); }
.fmc-ad-disclosure { margin: 12px 0 0; font-size: .72rem; line-height: 1.45; text-align: center; }
.fmc-share-card button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent, #4f46e5) 40%, transparent); outline-offset: 2px; }
@media (max-width: 420px) {
  .fmc-share-overlay { align-items: end; padding: 0; }
  .fmc-share-card { width: 100%; max-height: calc(100dvh - 12px); border-radius: 24px 24px 0 0; padding: 20px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
  .fmc-share-options > button { min-height: 74px; padding: 11px; }
  .fmc-ad-card { border-radius: 22px 22px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .fmc-share-overlay, .fmc-share-card { animation: none; }
  .fmc-share-options > button { transition: none; }
}
@keyframes fmc-share-fade { from { opacity: 0; } }
@keyframes fmc-share-rise { from { opacity: 0; transform: translateY(12px) scale(.985); } }
@keyframes fmc-ad-spin { to { transform: rotate(360deg); } }
