/*
 * DigitalMarketingForm.css
 * Place in: wwwroot/css/DigitalMarketingForm.css
 * <link rel="stylesheet" href="css/DigitalMarketingForm.css" />
 *
 * All @keyframes live here — never in .razor — so Blazor re-renders
 * never reset animations.
 */

/* ── Base ────────────────────────────────────────────────────────────────── */
.dmf-page {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: #ffffff;
    color: #0f172a;
}
.dmf-heading { font-family: 'Poppins', sans-serif; }

/* ── Inputs / selects / textareas ────────────────────────────────────────── */
.dmf-input, .dmf-select, .dmf-textarea {
    width: 100%;
    padding: .75rem 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    font-size: .875rem;
    color: #0f172a;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    appearance: none;
}
.dmf-input:focus, .dmf-select:focus, .dmf-textarea:focus {
    border-color: #8b1a1a;
    box-shadow: 0 0 0 3px rgba(139,26,26,.12);
}
.dmf-textarea { resize: none; }

/* ── Sidebar ─────────────────────────────────────────────────────────────── */
.dmf-sidebar {
    background: #1e293b;
    color: #fff;
}

/* ── Step indicator ──────────────────────────────────────────────────────── */
.dmf-step-dot {
    width: 2rem; height: 2rem;
    border-radius: 9999px;
    border: 2px solid rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    font-size: .75rem; font-weight: 700;
    flex-shrink: 0;
    transition: background .3s, border-color .3s, box-shadow .3s;
}
.dmf-step-dot.active {
    background: #8b1a1a;
    border-color: #8b1a1a;
    box-shadow: 0 0 0 3px rgba(139,26,26,.3);
}
.dmf-step-dot.done {
    background: #16a34a;
    border-color: #16a34a;
}
.dmf-step-row {
    display: flex; align-items: center; gap: 1rem;
    transition: opacity .3s;
}
.dmf-step-row.inactive { opacity: .45; }

/* ── Service cards ───────────────────────────────────────────────────────── */
.dmf-service-card {
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    cursor: pointer;
    display: flex; align-items: flex-start; gap: 1rem;
    transition: border-color .2s, box-shadow .2s;
}
.dmf-service-card:hover { border-color: #8b1a1a; }
.dmf-service-card.selected {
    border-color: #8b1a1a;
    box-shadow: 0 0 0 3px rgba(139,26,26,.1);
}
.dmf-service-card.selected .dmf-svc-icon { background: #8b1a1a !important; color: #fff !important; }

.dmf-svc-icon {
    width: 2.5rem; height: 2.5rem;
    border-radius: .5rem;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .2s, color .2s;
}

/* ── Goal pills ──────────────────────────────────────────────────────────── */
.dmf-goal-pill {
    padding: .5rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    font-size: .75rem; font-weight: 500;
    cursor: pointer;
    transition: border-color .2s, color .2s, background .2s;
    background: #fff; color: #0f172a;
}
.dmf-goal-pill:hover { border-color: #8b1a1a; color: #8b1a1a; }
.dmf-goal-pill.selected {
    border-color: #8b1a1a;
    background: #8b1a1a;
    color: #fff;
}

/* ── Duration buttons ────────────────────────────────────────────────────── */
.dmf-duration-btn {
    padding: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    font-size: .75rem; font-weight: 700;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
    background: #fff; color: #0f172a;
}
.dmf-duration-btn:hover { background: #8b1a1a; color: #fff; border-color: #8b1a1a; }
.dmf-duration-btn.selected { background: #8b1a1a; color: #fff; border-color: #8b1a1a; }

/* ── Billing radio ───────────────────────────────────────────────────────── */
.dmf-billing-label {
    display: flex; align-items: center; gap: .75rem;
    padding: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    cursor: pointer;
    font-size: .875rem; font-weight: 500;
    transition: background .2s, border-color .2s;
}
.dmf-billing-label:hover { background: #f8fafc; }
.dmf-billing-label.selected { border-color: #8b1a1a; background: rgba(139,26,26,.04); }

/* ── Upload drop zone ────────────────────────────────────────────────────── */
.dmf-dropzone {
    border: 2px dashed #e2e8f0;
    border-radius: .75rem;
    padding: 2rem;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    cursor: pointer;
    color: #64748b;
    transition: border-color .2s, background .2s;
}
.dmf-dropzone:hover { border-color: #8b1a1a; background: rgba(139,26,26,.02); }

/* ── Navigation buttons ──────────────────────────────────────────────────── */
.dmf-btn-next, .dmf-btn-submit {
    padding: .75rem 2rem;
    background: #8b1a1a; color: #fff;
    border: none; border-radius: .5rem;
    font-size: .875rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    cursor: pointer;
    transition: box-shadow .2s, opacity .2s;
}
.dmf-btn-next:hover, .dmf-btn-submit:hover {
    box-shadow: 0 8px 24px rgba(139,26,26,.3);
}
.dmf-btn-back {
    padding: .75rem 2rem;
    background: transparent; color: #0f172a;
    border: 1px solid #e2e8f0; border-radius: .5rem;
    font-size: .875rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em;
    cursor: pointer;
    transition: background .2s;
}
.dmf-btn-back:hover { background: #f8fafc; }

/* ── Onboarding path steps ───────────────────────────────────────────────── */
.dmf-onboard-dot {
    width: 3rem; height: 3rem;
    border-radius: 9999px;
    background: rgba(139,26,26,.1);
    color: #8b1a1a;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
}

/* ── Step content slide-in ───────────────────────────────────────────────── */
@keyframes dmf-slide-in {
    from { opacity: 0; transform: translateX(16px); }
    to   { opacity: 1; transform: translateX(0); }
}
.dmf-step-content { animation: dmf-slide-in .3s ease both; }

/* ── Hero glow blob ──────────────────────────────────────────────────────── */
@keyframes dmf-pulse-blob {
    0%, 100% { opacity: .6; transform: scale(1); }
    50%       { opacity: .4; transform: scale(1.05); }
}
.dmf-hero-blob { animation: dmf-pulse-blob 4s ease-in-out infinite; }

/* ── Success pop ─────────────────────────────────────────────────────────── */
@keyframes dmf-pop {
    0%   { transform: scale(.7); opacity: 0; }
    70%  { transform: scale(1.08); }
    100% { transform: scale(1); opacity: 1; }
}
.dmf-success-icon { animation: dmf-pop .5s ease both; }
