/* ================================================================
   Video Contact Message — Guest Demo Widget
   Scoped under .xd  (all selectors start with .xd)
   Uses !important on reset rules to defeat Bootstrap / theme CSS
   ================================================================ */

.xd, .xd *, .xd *::before, .xd *::after {
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased;
}

/* ── Root container ─────────────────────────────────────────────── */
.xd {
    /* Dark theme (default) */
    --c-bg:       #0c0e1a;
    --c-bg2:      #111827;
    --c-card:     #151b2e;
    --c-card2:    #1c2540;
    --c-border:   rgba(0,212,255,0.18);
    --c-border2:  rgba(255,255,255,0.1);
    --c-cyan:     #00d4ff;
    --c-blue:     #0055ff;
    --c-text:     #f1f5f9;
    --c-muted:    #8492a6;
    --c-green:    #10b981;
    --c-red:      #ef4444;
    --c-amber:    #f59e0b;
    --c-rec-bg:   #0c0e1a;
    --c-input-bg: #0a0d18;
    --c-section:  #111827;
    --r:          12px;

    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--c-text) !important;
    background: var(--c-bg) !important;
    border-radius: 18px !important;
    border: 1px solid var(--c-border) !important;
    box-shadow: 0 24px 64px rgba(0,0,0,.5) !important;
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 24px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Subtle ambient glow behind the widget */
.xd::before {
    content: '' !important;
    position: absolute !important;
    top: -80px !important; left: 50% !important;
    transform: translateX(-50%) !important;
    width: 320px !important; height: 320px !important;
    background: radial-gradient(circle, rgba(0,212,255,.05) 0%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.xd > * { position: relative !important; z-index: 1 !important; }

/* ── Light theme ────────────────────────────────────────────────── */
.xd[data-theme="light"] {
    --c-bg:       #f8fafc;
    --c-bg2:      #f1f5f9;
    --c-card:     #ffffff;
    --c-card2:    #f8fafc;
    --c-border:   rgba(14,165,233,0.25);
    --c-border2:  rgba(0,0,0,0.1);
    --c-cyan:     #0284c7;
    --c-blue:     #1d4ed8;
    --c-text:     #0f172a;
    --c-muted:    #64748b;
    --c-rec-bg:   #f1f5f9;
    --c-input-bg: #ffffff;
    --c-section:  #ffffff;
    box-shadow: 0 24px 64px rgba(0,0,0,.12) !important;
    border-color: rgba(14,165,233,.2) !important;
}

/* ── Minimal theme ──────────────────────────────────────────────── */
.xd[data-theme="minimal"] {
    --c-bg:       #1a1a2e;
    --c-bg2:      #16213e;
    --c-card:     #0f3460;
    --c-card2:    #1a1a2e;
    --c-border:   rgba(229,9,20,.25);
    --c-border2:  rgba(255,255,255,.08);
    --c-cyan:     #e50914;
    --c-blue:     #b81d24;
    --c-text:     #ffffff;
    --c-muted:    #9ca3af;
    --c-rec-bg:   #0d0d1a;
    --c-input-bg: #0d0d1a;
    --c-section:  #16213e;
}

/* ── Ocean theme ────────────────────────────────────────────────── */
.xd[data-theme="ocean"] {
    --c-bg:       #0a1628;
    --c-bg2:      #0d1e35;
    --c-card:     #112240;
    --c-card2:    #1a2f52;
    --c-border:   rgba(100,200,150,.2);
    --c-border2:  rgba(255,255,255,.09);
    --c-cyan:     #64c896;
    --c-blue:     #3a8fbf;
    --c-text:     #e2f0f7;
    --c-muted:    #7ea8c4;
    --c-rec-bg:   #071020;
    --c-input-bg: #071020;
    --c-section:  #0d1e35;
}

/* ── Step visibility ────────────────────────────────────────────── */
.xd-step { display: none !important; }
.xd-step--active { display: block !important; }

/* ── Theme switcher ─────────────────────────────────────────────── */
.xd-theme-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin-bottom: 16px !important;
}

.xd-theme-bar-label {
    font-size: 11px !important;
    color: var(--c-muted) !important;
    font-weight: 500 !important;
}

.xd-theme-btn {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 4px 10px !important;
    border-radius: 100px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid var(--c-border2) !important;
    color: var(--c-muted) !important;
    transition: all .18s !important;
    font-family: inherit !important;
    white-space: nowrap !important;
}

.xd-theme-btn:hover, .xd-theme-btn--active {
    border-color: var(--c-cyan) !important;
    color: var(--c-cyan) !important;
    background: rgba(0,212,255,.06) !important;
}

.xd[data-theme="light"] .xd-theme-btn:hover,
.xd[data-theme="light"] .xd-theme-btn--active {
    background: rgba(2,132,199,.08) !important;
}

.xd-theme-swatch {
    width: 8px !important; height: 8px !important;
    border-radius: 50% !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

/* ── Header ─────────────────────────────────────────────────────── */
.xd-header {
    text-align: center !important;
    margin-bottom: 20px !important;
    padding-top: 4px !important;
}

.xd-logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
}

.xd-logo-mark {
    font-size: 22px !important;
    color: var(--c-cyan) !important;
    line-height: 1 !important;
    filter: drop-shadow(0 0 6px rgba(0,212,255,.5));
}

.xd-logo-name {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--c-text) !important;
    letter-spacing: -.01em !important;
}

.xd-logo-img {
    max-height: 40px !important;
    max-width: 220px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 8px !important;
    object-fit: contain !important;
}

.xd-tagline {
    font-size: 13px !important;
    color: var(--c-muted) !important;
    margin: 0 !important;
}

/* ── Mode tabs ──────────────────────────────────────────────────── */
.xd-modes {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
}

.xd-mode {
    all: unset !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 14px 10px !important;
    background: var(--c-card) !important;
    border: 1.5px solid var(--c-border2) !important;
    border-radius: var(--r) !important;
    cursor: pointer !important;
    color: var(--c-muted) !important;
    transition: background .18s, border-color .18s, color .18s !important;
    text-align: center !important;
    font-family: inherit !important;
}

.xd-mode:hover {
    background: var(--c-card2) !important;
    border-color: var(--c-cyan) !important;
    color: var(--c-text) !important;
}

.xd-mode--active {
    background: var(--c-card2) !important;
    border-color: var(--c-cyan) !important;
    color: var(--c-text) !important;
    box-shadow: 0 0 0 3px rgba(0,212,255,.08) !important;
}

.xd-mode-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.06) !important;
    transition: background .18s !important;
}

.xd-mode--active .xd-mode-icon {
    background: rgba(0,212,255,.15) !important;
    color: var(--c-cyan) !important;
}

.xd-mode-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.xd-mode-sub {
    font-size: 11px !important;
    opacity: .65 !important;
}

/* ── Recorder card ──────────────────────────────────────────────── */
.xd-recorder {
    background: var(--c-rec-bg) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r) !important;
    padding: 20px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
}

.xd-recorder::before {
    content: '' !important;
    position: absolute !important;
    top: -50px !important; left: 50% !important;
    transform: translateX(-50%) !important;
    width: 220px !important; height: 220px !important;
    background: radial-gradient(circle, rgba(0,212,255,.05) 0%, transparent 70%) !important;
    pointer-events: none !important;
}

/* Video preview */
.xd-video-wrap {
    display: none !important;
    position: relative !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    aspect-ratio: 16/9 !important;
    background: #000 !important;
    margin-bottom: 14px !important;
}

.xd-video-wrap--visible { display: block !important; }

.xd-video-live {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Watermark (text) */
.xd-watermark {
    position: absolute !important;
    bottom: 8px !important; right: 10px !important;
    font-size: 10px !important;
    color: rgba(255,255,255,.7) !important;
    font-weight: 600 !important;
    background: rgba(0,0,0,.5) !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    pointer-events: none !important;
    user-select: none !important;
    backdrop-filter: blur(4px) !important;
}

/* Watermark image */
.xd-watermark-img {
    position: absolute !important;
    bottom: 8px !important; left: 10px !important;
    max-height: 24px !important;
    max-width: 100px !important;
    width: auto !important;
    opacity: .7 !important;
    pointer-events: none !important;
    user-select: none !important;
    object-fit: contain !important;
}

.xd-rec-pill {
    display: none !important;
    position: absolute !important;
    top: 10px !important; left: 10px !important;
    align-items: center !important;
    gap: 5px !important;
    background: rgba(220,38,38,.85) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    padding: 3px 10px !important;
    border-radius: 100px !important;
}

.xd-rec-pill--visible { display: flex !important; }

.xd-rec-dot {
    width: 7px !important; height: 7px !important;
    background: #fff !important;
    border-radius: 50% !important;
    animation: xd-blink 1s ease-in-out infinite !important;
}

@keyframes xd-blink {
    0%,100% { opacity: 1; }
    50%      { opacity: 0; }
}

/* Idle state */
.xd-idle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 24px 0 !important;
    color: var(--c-muted) !important;
    font-size: 13px !important;
    transition: opacity .2s !important;
}

.xd-idle svg { opacity: .45 !important; }
.xd-idle--hidden { display: none !important; }

/* Visualizer */
.xd-viz {
    display: none !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 3px !important;
    height: 52px !important;
    margin-bottom: 8px !important;
}

.xd-viz--visible { display: flex !important; }

.xd-bar {
    display: inline-block !important;
    width: 3px !important;
    height: 4px;
    min-height: 4px !important;
    background: linear-gradient(180deg, var(--c-cyan), var(--c-blue)) !important;
    border-radius: 2px !important;
    transition: height .06s ease !important;
    opacity: .7 !important;
}

/* Timer */
.xd-timer-row {
    display: none !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
}

.xd-timer-row--visible { display: flex !important; }

.xd-timer {
    font-size: 42px !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums !important;
    color: var(--c-text) !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
}

.xd-timer-max {
    font-size: 13px !important;
    color: var(--c-muted) !important;
}

.xd-prog-wrap {
    height: 3px !important;
    background: rgba(255,255,255,.08) !important;
    border-radius: 100px !important;
    overflow: hidden !important;
    margin-bottom: 18px !important;
}

.xd-prog {
    height: 100% !important;
    width: 0 !important;
    background: linear-gradient(90deg, var(--c-cyan), var(--c-blue)) !important;
    border-radius: 100px !important;
    transition: width .25s linear !important;
}

.xd-prog--danger { background: linear-gradient(90deg, var(--c-amber), var(--c-red)) !important; }

/* Controls */
.xd-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
}

.xd-btn-record {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 26px !important;
    background: linear-gradient(135deg,#b91c1c,#7f1d1d) !important;
    color: #fff !important;
    border-radius: 100px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 18px rgba(185,28,28,.4) !important;
    transition: transform .18s, box-shadow .18s !important;
    font-family: inherit !important;
    user-select: none !important;
}

.xd-btn-record:hover:not(:disabled) {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 26px rgba(185,28,28,.55) !important;
}

.xd-btn-record--recording {
    animation: xd-rec-pulse 1.2s ease-in-out infinite !important;
}

@keyframes xd-rec-pulse {
    0%,100% { box-shadow: 0 4px 18px rgba(185,28,28,.4); }
    50%      { box-shadow: 0 4px 32px rgba(185,28,28,.7); }
}

.xd-record-dot {
    width: 11px !important; height: 11px !important;
    background: #fff !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.xd-btn-record--recording .xd-record-dot {
    animation: xd-blink 1s ease-in-out infinite !important;
}

.xd-btn-stop {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 22px !important;
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 100px !important;
    color: var(--c-text) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .18s !important;
    font-family: inherit !important;
}

.xd-btn-stop:hover:not(:disabled) {
    background: rgba(255,255,255,.14) !important;
}

.xd-btn-stop:disabled {
    opacity: .3 !important;
    cursor: not-allowed !important;
}

/* Status messages */
.xd-status {
    margin-top: 12px !important;
    padding: 9px 14px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    text-align: center !important;
    display: none !important;
    line-height: 1.5 !important;
}

.xd-status--visible { display: block !important; }

.xd-status--success {
    background: rgba(16,185,129,.12) !important;
    border: 1px solid rgba(16,185,129,.28) !important;
    color: #6ee7b7 !important;
}

.xd-status--error {
    background: rgba(239,68,68,.1) !important;
    border: 1px solid rgba(239,68,68,.25) !important;
    color: #fca5a5 !important;
}

.xd-status--info {
    background: rgba(0,212,255,.08) !important;
    border: 1px solid rgba(0,212,255,.2) !important;
    color: #7dd3fc !important;
}

/* Light theme status overrides */
.xd[data-theme="light"] .xd-status--success {
    background: rgba(16,185,129,.1) !important;
    color: #065f46 !important;
}

.xd[data-theme="light"] .xd-status--error {
    background: rgba(239,68,68,.08) !important;
    color: #991b1b !important;
}

.xd[data-theme="light"] .xd-status--info {
    background: rgba(2,132,199,.08) !important;
    color: #0c4a6e !important;
}

/* ── Playback preview ───────────────────────────────────────────── */
.xd-playback {
    display: none !important;
    background: var(--c-card) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r) !important;
    padding: 14px !important;
    margin-top: 10px !important;
}

.xd-playback--visible { display: block !important; }

.xd-playback-head {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--c-muted) !important;
    margin-bottom: 10px !important;
}

.xd-playback-media audio,
.xd-playback-media video {
    width: 100% !important;
    border-radius: 8px !important;
    outline: none !important;
    display: block !important;
    accent-color: var(--c-cyan) !important;
}

.xd-playback-media video {
    max-height: 180px !important;
    background: #000 !important;
    object-fit: contain !important;
}

.xd-playback-actions {
    display: flex !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

/* ── Shared buttons ─────────────────────────────────────────────── */
.xd-btn {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all .18s !important;
    font-family: inherit !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.xd-btn--primary {
    background: linear-gradient(135deg, var(--c-cyan), var(--c-blue)) !important;
    color: #fff !important;
    box-shadow: 0 3px 14px rgba(0,212,255,.22) !important;
}

.xd-btn--primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 20px rgba(0,212,255,.38) !important;
    color: #fff !important;
}

.xd-btn--outline {
    background: transparent !important;
    border: 1.5px solid var(--c-border) !important;
    color: var(--c-text) !important;
}

.xd-btn--outline:hover {
    border-color: var(--c-cyan) !important;
    color: var(--c-cyan) !important;
}

.xd-btn--ghost {
    background: transparent !important;
    color: var(--c-muted) !important;
    padding: 10px 14px !important;
}

.xd-btn--ghost:hover { color: var(--c-text) !important; }

.xd-btn--full { width: 100% !important; }

.xd-btn:disabled {
    opacity: .45 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Light theme button overrides */
.xd[data-theme="light"] .xd-btn-stop {
    background: rgba(0,0,0,.05) !important;
    border-color: rgba(0,0,0,.15) !important;
    color: #1e293b !important;
}

/* ── Step 2 nav ─────────────────────────────────────────────────── */
.xd-step-nav {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
}

.xd-step-title {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: var(--c-text) !important;
    flex: 1 !important;
}

.xd-step-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--c-muted) !important;
    background: var(--c-card) !important;
    border: 1px solid var(--c-border2) !important;
    padding: 3px 9px !important;
    border-radius: 100px !important;
    white-space: nowrap !important;
}

/* ── Form sections ──────────────────────────────────────────────── */
.xd-section {
    background: var(--c-section) !important;
    border: 1px solid var(--c-border2) !important;
    border-radius: var(--r) !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

.xd-section-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: var(--c-cyan) !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.xd-section-hint {
    font-size: 10px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--c-muted) !important;
}

.xd-row-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

.xd-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin-bottom: 10px !important;
}

.xd-field:last-child { margin-bottom: 0 !important; }

.xd-field label {
    all: unset !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--c-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    font-family: inherit !important;
}

.xd-req { color: var(--c-cyan) !important; }

.xd-input {
    all: unset !important;
    display: block !important;
    width: 100% !important;
    background: var(--c-input-bg) !important;
    border: 1px solid var(--c-border2) !important;
    border-radius: 9px !important;
    padding: 10px 13px !important;
    color: var(--c-text) !important;
    font-size: 14px !important;
    font-family: inherit !important;
    transition: border-color .18s, box-shadow .18s !important;
}

.xd-input:focus {
    border-color: var(--c-cyan) !important;
    box-shadow: 0 0 0 3px rgba(0,212,255,.1) !important;
    outline: none !important;
}

.xd-input::placeholder { color: var(--c-muted) !important; opacity: .5 !important; }

/* Recipient remove button */
.xd-remove-recip {
    all: unset !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(239,68,68,.12) !important;
    color: #fca5a5 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    font-family: inherit !important;
    transition: background .18s !important;
}

.xd-remove-recip:hover { background: rgba(239,68,68,.22) !important; }

/* Add recipient button */
.xd-add-recip {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin-top: 8px !important;
    padding: 9px !important;
    border: 1.5px dashed var(--c-border) !important;
    border-radius: 9px !important;
    color: var(--c-cyan) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .18s, border-color .18s !important;
    font-family: inherit !important;
}

.xd-add-recip:hover {
    background: rgba(0,212,255,.05) !important;
    border-color: rgba(0,212,255,.4) !important;
}

.xd-add-recip:disabled {
    opacity: .4 !important;
    cursor: not-allowed !important;
}

/* Consent */
.xd-consent {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: var(--c-muted) !important;
    line-height: 1.55 !important;
    user-select: none !important;
}

.xd-consent-box {
    position: relative !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.xd-consent-box input[type=checkbox] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.xd-consent-check {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid var(--c-border2) !important;
    border-radius: 6px !important;
    background: var(--c-input-bg) !important;
    transition: background .18s, border-color .18s !important;
}

.xd-consent-check svg { opacity: 0 !important; transition: opacity .18s !important; }

.xd-consent-box input:checked + .xd-consent-check {
    background: var(--c-cyan) !important;
    border-color: var(--c-cyan) !important;
}

.xd-consent-box input:checked + .xd-consent-check svg {
    opacity: 1 !important;
    color: #000 !important;
}

/* Honeypot */
.xd-hp {
    opacity: 0 !important;
    position: absolute !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* ── Success ────────────────────────────────────────────────────── */
.xd-success {
    text-align: center !important;
    padding: 8px 4px !important;
}

.xd-success-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 68px !important;
    height: 68px !important;
    border-radius: 50% !important;
    background: rgba(16,185,129,.15) !important;
    border: 2px solid rgba(16,185,129,.35) !important;
    color: var(--c-green) !important;
    margin: 0 auto 18px !important;
    animation: xd-pop .4s cubic-bezier(.34,1.56,.64,1) !important;
}

@keyframes xd-pop {
    from { transform: scale(.5); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}

.xd-success-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: var(--c-text) !important;
    margin: 0 0 8px !important;
}

.xd-success-sub {
    font-size: 14px !important;
    color: var(--c-muted) !important;
    line-height: 1.6 !important;
    margin: 0 0 20px !important;
}

.xd-link-card {
    display: none !important;
    background: var(--c-card) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r) !important;
    padding: 14px !important;
    margin-bottom: 18px !important;
    text-align: left !important;
}

.xd-link-card--visible { display: block !important; }

.xd-link-label {
    font-size: 11px !important;
    color: var(--c-muted) !important;
    margin-bottom: 7px !important;
}

.xd-link-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--c-input-bg) !important;
    border: 1px solid var(--c-border2) !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    overflow: hidden !important;
}

.xd-link-text {
    font-size: 12px !important;
    color: var(--c-cyan) !important;
    font-family: ui-monospace, SFMono-Regular, monospace !important;
    flex: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    display: block !important;
}

.xd-copy-btn {
    all: unset !important;
    background: rgba(0,212,255,.15) !important;
    border: 1px solid rgba(0,212,255,.25) !important;
    border-radius: 6px !important;
    color: var(--c-cyan) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background .18s !important;
    font-family: inherit !important;
}

.xd-copy-btn:hover { background: rgba(0,212,255,.28) !important; }

/* Upsell */
.xd-upsell {
    background: linear-gradient(135deg, rgba(0,212,255,.07), rgba(0,85,255,.06)) !important;
    border: 1px solid rgba(0,212,255,.18) !important;
    border-radius: var(--r) !important;
    padding: 22px !important;
    margin-bottom: 16px !important;
}

.xd-upsell-head {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--c-text) !important;
    margin: 0 0 5px !important;
}

.xd-upsell-head em { color: var(--c-cyan) !important; font-style: normal !important; }

.xd-upsell-sub {
    font-size: 13px !important;
    color: var(--c-muted) !important;
    margin: 0 0 16px !important;
    line-height: 1.55 !important;
}

.xd-upsell-btns {
    display: flex !important;
    gap: 10px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
}

.xd-restart {
    all: unset !important;
    color: var(--c-muted) !important;
    font-size: 13px !important;
    cursor: pointer !important;
    padding: 8px !important;
    transition: color .18s !important;
    font-family: inherit !important;
}

.xd-restart:hover { color: var(--c-text) !important; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .xd                  { padding: 16px !important; border-radius: 12px !important; }
    .xd-row-2            { grid-template-columns: 1fr !important; }
    .xd-timer            { font-size: 34px !important; }
    .xd-upsell-btns      { flex-direction: column !important; }
    .xd-upsell-btns .xd-btn { width: 100% !important; }
    .xd-playback-actions { flex-direction: column !important; }
}
