/* Desktop UI v1 - approved mint/teal visual system. */
.desktop-ui-only { display: none; }

@media (min-width: 701px) {
    :root {
        --desk-primary: #08b99b;
        --desk-primary-strong: #07907a;
        --desk-primary-soft: #e2f7f0;
        --desk-primary-pale: #f1fbf7;
        --desk-ink: #173247;
        --desk-muted: #71838f;
        --desk-border: #dcebe6;
        --desk-surface: #ffffff;
        --desk-bg: #eef8f4;
        --desk-shadow: 0 18px 50px rgba(35, 83, 74, .09);
    }

    .desktop-ui-only { display: block; }

    html,
    body {
        min-height: 100%;
        background:
            radial-gradient(circle at 10% 0%, rgba(104, 225, 198, .24), transparent 30%),
            radial-gradient(circle at 96% 22%, rgba(150, 237, 218, .18), transparent 24%),
            var(--desk-bg);
        color: var(--desk-ink);
    }

    body,
    input,
    textarea,
    select,
    button {
        font-family: IRANSans, Tahoma, Arial, sans-serif !important;
    }

    .visit-form-page .desktop-site-header {
        position: sticky;
        top: 0;
        z-index: 50;
        height: 82px;
        background: rgba(255, 255, 255, .86);
        border-bottom: 1px solid rgba(207, 232, 224, .82);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .desktop-header-inner {
        width: min(1420px, calc(100% - 64px));
        height: 100%;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 36px;
    }

    .desktop-brand {
        display: inline-flex;
        align-items: center;
        gap: 13px;
        color: var(--desk-ink);
        text-decoration: none;
        min-width: 0;
    }

    .desktop-brand-mark {
        position: relative;
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: linear-gradient(145deg, #5ee0c7, #09b993);
        box-shadow: 0 10px 24px rgba(7, 160, 130, .22);
        flex: 0 0 44px;
    }

    .desktop-brand-mark::before,
    .desktop-brand-mark::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        border-radius: 999px;
        background: white;
    }

    .desktop-brand-mark::before { width: 23px; height: 4px; }
    .desktop-brand-mark::after { width: 4px; height: 23px; }

    .desktop-brand-copy {
        display: grid;
        line-height: 1.35;
    }

    .desktop-brand-copy strong {
        font-size: 17px;
        font-weight: 900;
    }

    .desktop-brand-copy small {
        margin-top: 3px;
        font-size: 10.5px;
        color: var(--desk-muted);
    }

    .desktop-nav {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .desktop-nav a {
        padding: 11px 17px;
        border-radius: 13px;
        color: #304754;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        transition: background .2s ease, color .2s ease, transform .2s ease;
    }

    .desktop-nav a:hover {
        background: var(--desk-primary-pale);
        color: var(--desk-primary-strong);
        transform: translateY(-1px);
    }

    .desktop-nav a.active {
        background: var(--desk-primary-soft);
        color: #057b68;
    }

    .visit-form-page .container {
        width: min(1420px, calc(100% - 64px));
        max-width: none;
        margin: 0 auto;
        padding: 34px 0 30px;
    }

    .desktop-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.75fr) minmax(340px, .82fr);
        gap: 24px;
        align-items: start;
    }

    .visit-form-page .form-card {
        min-width: 0;
        padding: 34px 38px 36px;
        border: 1px solid rgba(213, 233, 227, .92);
        border-radius: 24px;
        background: rgba(255, 255, 255, .96);
        box-shadow: var(--desk-shadow);
    }

    .visit-form-page .form-header {
        margin: 0 0 22px;
        text-align: right;
    }

    .visit-form-page .form-header h1 {
        margin: 0;
        color: var(--desk-ink);
        font-size: 28px;
        line-height: 1.45;
        font-weight: 900;
        letter-spacing: -.25px;
    }

    .visit-form-page .form-header p {
        margin: 7px 0 0;
        color: var(--desk-muted);
        font-size: 13px;
    }

    .desktop-stepper {
        display: grid;
        grid-template-columns: max-content 1fr max-content 1fr max-content;
        align-items: center;
        gap: 12px;
        padding: 18px 20px;
        margin-bottom: 24px;
        border-radius: 18px;
        background: linear-gradient(180deg, #fbfefd, #f6fbf9);
        border: 1px solid var(--desk-border);
    }

    .desktop-step {
        display: flex;
        align-items: center;
        gap: 8px;
        color: #84949d;
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
    }

    .desktop-step.active { color: #087c69; }

    .desktop-step-dot {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        background: #e9f2ef;
        color: #698079;
        font-weight: 900;
    }

    .desktop-step.active .desktop-step-dot {
        background: linear-gradient(145deg, #1fc7a6, #08a989);
        color: white;
        box-shadow: 0 7px 18px rgba(8, 169, 137, .20);
    }

    .desktop-step-line {
        height: 2px;
        background: linear-gradient(90deg, #d6e7e1, #e9f1ef);
        border-radius: 999px;
    }

    .visit-form-page .section-title {
        position: relative;
        margin: 30px 0 18px;
        padding: 0 0 13px;
        border-bottom: 1px solid #e8f0ed;
        color: var(--desk-ink);
        font-size: 18px;
        font-weight: 900;
    }

    .visit-form-page .section-title::after {
        content: "";
        position: absolute;
        bottom: -1px;
        right: 0;
        width: 70px;
        height: 2px;
        border-radius: 999px;
        background: var(--desk-primary);
    }

    .visit-form-page .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .visit-form-page .form-group {
        min-width: 0;
        margin-bottom: 18px;
    }

    .visit-form-page label {
        margin-bottom: 8px;
        color: #29434f;
        font-size: 12.5px;
        font-weight: 800;
    }

    .visit-form-page input:not([type="file"]),
    .visit-form-page textarea,
    .visit-form-page select {
        width: 100%;
        min-height: 52px;
        padding: 13px 15px;
        border: 1px solid var(--desk-border);
        border-radius: 13px;
        outline: none;
        background: linear-gradient(180deg, #ffffff, #f8fcfa);
        color: var(--desk-ink);
        font-size: 13px;
        transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }

    .visit-form-page input:not([type="file"]):hover,
    .visit-form-page textarea:hover,
    .visit-form-page select:hover {
        border-color: #c7ddd6;
    }

    .visit-form-page input:not([type="file"]):focus,
    .visit-form-page textarea:focus,
    .visit-form-page select:focus {
        border-color: rgba(8, 185, 155, .72);
        box-shadow: 0 0 0 4px rgba(8, 185, 155, .09);
    }

    .visit-form-page textarea {
        min-height: 118px;
        line-height: 1.9;
        resize: vertical;
        overflow-wrap: anywhere;
    }

    .visit-form-page .help {
        margin-top: 7px;
        color: #819198;
        font-size: 10.5px;
        line-height: 1.9;
    }

    .visit-form-page .voice-box {
        padding: 17px 18px;
        border: 1px solid var(--desk-border);
        border-radius: 16px;
        background: linear-gradient(180deg, #fbfefd, #f4faf8);
    }

    .visit-form-page .voice-btn {
        width: auto;
        min-height: 42px;
        margin: 0 0 8px 7px;
        padding: 9px 15px;
        border-radius: 12px;
        font-weight: 800;
        font-size: 12px;
    }

    .visit-form-page #startRecord {
        background: linear-gradient(135deg, #16c5a3, #079f84);
        box-shadow: 0 8px 18px rgba(8, 159, 132, .18);
    }

    .visit-form-page #stopRecord {
        background: #edf5f2;
        color: #58716b;
    }

    .visit-form-page #recordStatus {
        margin-top: 4px;
        color: var(--desk-muted);
        font-size: 11px;
    }

    .visit-form-page audio {
        max-width: 100%;
        border-radius: 14px;
    }

    .visit-form-page #medicalFiles {
        width: 100%;
        padding: 10px;
        border: 1px dashed rgba(8, 185, 155, .55);
        border-radius: 16px;
        background: #f8fdfb;
        color: #56716a;
        font-size: 12px;
    }

    .visit-form-page #medicalFiles::file-selector-button {
        margin-left: 12px;
        padding: 9px 14px;
        border: 0;
        border-radius: 10px;
        background: var(--desk-primary-soft);
        color: var(--desk-primary-strong);
        font-family: IRANSans, Tahoma, Arial, sans-serif;
        font-weight: 800;
        cursor: pointer;
    }

    .visit-form-page .upload-queue {
        display: grid;
        gap: 10px;
        margin-top: 12px;
        min-width: 0;
    }

    .visit-form-page .upload-item {
        min-width: 0;
        border-radius: 14px;
        background: #f7fbf9;
        border: 1px solid #e0eee9;
        overflow: hidden;
    }

    .visit-form-page .upload-item,
    .visit-form-page .upload-item * {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .visit-form-page .submit-btn {
        width: min(330px, 100%);
        min-height: 52px;
        margin: 12px 0 0 auto;
        border-radius: 14px;
        background: linear-gradient(135deg, #12c39f, #049d81);
        box-shadow: 0 11px 24px rgba(6, 151, 125, .20);
        font-size: 14px;
        font-weight: 900;
        transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
    }

    .visit-form-page .submit-btn:hover:not(:disabled) {
        background: linear-gradient(135deg, #10b994, #058f77);
        transform: translateY(-1px);
        box-shadow: 0 14px 28px rgba(6, 151, 125, .25);
    }

    .desktop-sidebar {
        display: grid;
        gap: 18px;
        position: sticky;
        top: 104px;
    }

    .desktop-hero-card,
    .desktop-feature-card,
    .desktop-info-card,
    .desktop-support-card {
        border: 1px solid rgba(207, 232, 224, .92);
        border-radius: 24px;
        box-shadow: 0 14px 38px rgba(36, 87, 76, .07);
        overflow: hidden;
    }

    .desktop-hero-card {
        min-height: 278px;
        padding: 29px;
        display: grid;
        grid-template-columns: 1.08fr .92fr;
        align-items: center;
        gap: 12px;
        background: linear-gradient(140deg, #dbf8ef 0%, #a8eddd 56%, #72ddc7 100%);
    }

    .desktop-eyebrow {
        display: inline-flex;
        width: fit-content;
        padding: 6px 10px;
        margin-bottom: 10px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .62);
        color: #087d69;
        font-size: 10px;
        font-weight: 900;
    }

    .desktop-hero-copy h2 {
        margin: 0;
        font-size: 24px;
        line-height: 1.6;
        color: #173c49;
        font-weight: 900;
    }

    .desktop-hero-copy p {
        margin: 11px 0 0;
        color: #45666b;
        font-size: 11.5px;
        line-height: 2;
    }

    .desktop-doctor-visual {
        position: relative;
        height: 210px;
        min-width: 145px;
        align-self: end;
    }

    .desktop-doctor-visual::before {
        content: "";
        position: absolute;
        width: 150px;
        height: 150px;
        border-radius: 50%;
        background: rgba(255,255,255,.40);
        left: 50%;
        bottom: 10px;
        transform: translateX(-50%);
    }

    .doctor-head {
        position: absolute;
        width: 58px;
        height: 70px;
        left: 50%;
        top: 30px;
        transform: translateX(-50%);
        border-radius: 48% 48% 44% 44%;
        background: linear-gradient(180deg, #eac4a9, #dca98d);
        z-index: 3;
        box-shadow: inset 0 9px 0 #223b49;
    }

    .doctor-body {
        position: absolute;
        width: 134px;
        height: 128px;
        left: 50%;
        bottom: 4px;
        transform: translateX(-50%);
        border-radius: 48px 48px 20px 20px;
        background: linear-gradient(90deg, #f7fbfb, #ffffff);
        box-shadow: inset 0 -8px 18px rgba(32, 75, 70, .08);
        z-index: 2;
    }

    .doctor-body::before {
        content: "";
        position: absolute;
        width: 34px;
        height: 100px;
        right: 50%;
        top: 0;
        transform: translateX(50%);
        background: #1f485a;
        clip-path: polygon(44% 0, 56% 0, 72% 100%, 28% 100%);
    }

    .doctor-stethoscope {
        position: absolute;
        width: 75px;
        height: 74px;
        left: 50%;
        bottom: 28px;
        transform: translateX(-50%);
        border: 4px solid #1f485a;
        border-top: 0;
        border-radius: 0 0 46px 46px;
        z-index: 4;
    }

    .desktop-feature-card {
        padding: 14px 18px;
        background: rgba(255,255,255,.94);
    }

    .desktop-feature {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 11px;
        align-items: center;
        padding: 12px 2px;
    }

    .desktop-feature + .desktop-feature {
        border-top: 1px solid #edf3f1;
    }

    .desktop-feature-icon {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        background: var(--desk-primary-soft);
        color: #078672;
        font-size: 17px;
        font-weight: 900;
    }

    .desktop-feature strong,
    .desktop-feature small { display: block; }
    .desktop-feature strong { font-size: 12px; color: #2e4852; }
    .desktop-feature small { margin-top: 3px; color: var(--desk-muted); font-size: 9.5px; line-height: 1.7; }

    .desktop-info-card {
        padding: 22px 24px;
        background: rgba(255,255,255,.94);
    }

    .desktop-info-card h3,
    .desktop-support-card h3 {
        margin: 0 0 14px;
        color: var(--desk-ink);
        font-size: 16px;
        font-weight: 900;
    }

    .desktop-info-card ul {
        margin: 0;
        padding: 0 20px 0 0;
        color: #5d747c;
        font-size: 10.5px;
        line-height: 2.15;
    }

    .desktop-support-card {
        padding: 21px 23px;
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 13px;
        align-items: center;
        background: linear-gradient(135deg, rgba(255,255,255,.95), #eefbf6);
    }

    .desktop-support-icon {
        width: 48px;
        height: 48px;
        display: grid;
        place-items: center;
        border-radius: 16px;
        background: var(--desk-primary-soft);
        color: var(--desk-primary-strong);
        font-size: 20px;
        font-weight: 900;
    }

    .desktop-support-card h3 { margin-bottom: 5px; }
    .desktop-support-card p {
        margin: 0;
        color: var(--desk-muted);
        font-size: 10px;
        line-height: 1.9;
    }

    .desktop-site-footer {
        width: min(1420px, calc(100% - 64px));
        margin: 0 auto 24px;
        padding: 17px 6px;
        border-top: 1px solid rgba(199, 225, 217, .9);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        color: #74878d;
        font-size: 10px;
    }

    .desktop-footer-links {
        display: flex;
        align-items: center;
        gap: 18px;
    }

    .desktop-footer-links span + span::before {
        content: "•";
        margin-left: 18px;
        color: #b2c7c1;
    }
}

@media (min-width: 701px) and (max-width: 1120px) {
    .desktop-header-inner,
    .visit-form-page .container,
    .desktop-site-footer {
        width: min(100% - 36px, 1080px);
    }

    .desktop-layout {
        grid-template-columns: minmax(0, 1.5fr) 320px;
        gap: 18px;
    }

    .visit-form-page .form-card { padding: 28px; }
    .desktop-hero-card { grid-template-columns: 1fr; min-height: auto; }
    .desktop-doctor-visual { display: none; }
    .desktop-hero-copy h2 { font-size: 20px; }
    .desktop-stepper { gap: 8px; padding: 16px; }
    .desktop-step { font-size: 10.5px; }
}
