
    :root {
        --primary-color: #4f46e5;
        --primary-light: #818cf8;
        --primary-dark: #3730a3;
        --secondary-color: #06b6d4;
        --accent-color: #f43f5e;
        --success-color: #10b981;
        --warning-color: #f59e0b;
        --danger-color: #ef4444;
        --light-color: #f9fafb;
        --dark-color: #111827;
        --text-color: #1f2937;
        --text-light: #6b7280;
        --border-radius: 16px;
        --box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        --transition: all 0.3s ease;
    }

    body {
        font-family: 'Poppins', sans-serif;
        background-color: #f8f9fa;
        color: var(--text-color);
    }

    .pdf-converter-wrapper {
        padding: 80px 0;
        background: linear-gradient(135deg, #f5f7fa 0%, #e4e9f2 100%);
        min-height: 100vh;
    }

    /* Card Styling */
    .converter-card {
        background: white;
        border-radius: var(--border-radius);
        box-shadow: var(--box-shadow);
        overflow: hidden;
        transition: var(--transition);
        margin-bottom: 40px;
        position: relative;
    }

    .converter-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    }

    .card-header {
        padding: 40px 30px;
        text-align: center;
        position: relative;
        overflow: hidden;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    }

    .card-header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 5px;
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
    }

    .header-icon {
        font-size: 3rem;
        color: var(--primary-color);
        margin-bottom: 20px;
        animation: float 3s ease-in-out infinite;
    }

    @keyframes float {
        0% {
            transform: translateY(0px);
        }

        50% {
            transform: translateY(-10px);
        }

        100% {
            transform: translateY(0px);
        }
    }

    .header-title {
        font-size: 2.5rem;
        font-weight: 800;
        margin-bottom: 15px;
        color: var(--text-color);
    }

    .text-gradient {
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        display: inline-block;
    }

    .header-subtitle {
        font-size: 1.1rem;
        color: var(--text-light);
        max-width: 600px;
        margin: 0 auto;
    }

    .card-body {
        padding: 40px 30px;
    }

    /* Alert Styling */
    .alert {
        border-radius: var(--border-radius);
        padding: 20px;
        margin: 20px 30px;
        display: flex;
        align-items: flex-start;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        border: none;
    }

    .alert-danger {
        background-color: rgba(239, 68, 68, 0.1);
        border-left: 4px solid var(--danger-color);
    }

    .alert-success {
        background-color: rgba(16, 185, 129, 0.1);
        border-left: 4px solid var(--success-color);
    }

    .alert-icon {
        font-size: 1.5rem;
        margin-right: 15px;
        flex-shrink: 0;
    }

    .alert-danger .alert-icon {
        color: var(--danger-color);
    }

    .alert-success .alert-icon {
        color: var(--success-color);
    }

    .alert-content {
        flex: 1;
    }

    .alert-heading {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 10px;
        color: var(--text-color);
    }

    .alert-danger .alert-heading {
        color: var(--danger-color);
    }

    .alert-success .alert-heading {
        color: var(--success-color);
    }

    .alert-list {
        padding-left: 20px;
        margin-bottom: 0;
    }

    .download-container {
        margin-top: 15px;
    }

    .btn-download {
        background: linear-gradient(45deg, var(--success-color), #34d399);
        color: white;
        border: none;
        border-radius: 50px;
        padding: 12px 25px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        transition: var(--transition);
    }

    .btn-download:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(16, 185, 129, 0.3);
        color: white;
    }

    /* Upload Container Styling */
    .upload-container {
        border: 2px dashed #d1d5db;
        border-radius: var(--border-radius);
        padding: 40px;
        text-align: center;
        position: relative;
        transition: var(--transition);
        background-color: #f9fafb;
        cursor: pointer;
        margin-bottom: 30px;
    }

    .upload-container:hover {
        border-color: var(--primary-color);
        background-color: rgba(79, 70, 229, 0.03);
    }

    .upload-container.highlight {
        border-color: var(--primary-color);
        background-color: rgba(79, 70, 229, 0.05);
        transform: scale(1.01);
    }

    .file-input {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
        z-index: 2;
    }

    .upload-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .upload-icon {
        font-size: 3.5rem;
        color: var(--primary-color);
        margin-bottom: 20px;
        animation: float 3s ease-in-out infinite;
    }

    @keyframes float {
        0% {
            transform: translateY(0px);
        }

        50% {
            transform: translateY(-10px);
        }

        100% {
            transform: translateY(0px);
        }
    }

    .upload-title {
        font-size: 1.5rem;
        font-weight: 600;
        margin-bottom: 10px;
        color: var(--text-color);
    }

    .upload-subtitle {
        font-size: 1.1rem;
        color: var(--text-light);
        margin-bottom: 20px;
    }

    .browse-text {
        color: var(--primary-color);
        font-weight: 600;
        text-decoration: underline;
        cursor: pointer;
    }

    .supported-formats {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-top: 10px;
    }

    .format-badge {
        background: rgba(79, 70, 229, 0.1);
        color: var(--primary-color);
        font-size: 0.8rem;
        font-weight: 500;
        padding: 5px 12px;
        border-radius: 20px;
        transition: var(--transition);
    }

    .format-badge:hover {
        background: rgba(79, 70, 229, 0.2);
        transform: translateY(-2px);
    }

    .upload-preview {
        display: none;
        align-items: center;
        justify-content: space-between;
        background: #f9fafb;
        border-radius: 10px;
        padding: 20px;
        position: relative;
    }

    .preview-icon {
        font-size: 2.5rem;
        margin-right: 20px;
        color: var(--primary-color);
    }

    .preview-info {
        flex: 1;
        text-align: left;
    }

    .preview-name {
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 5px;
        color: var(--text-color);
        word-break: break-all;
    }

    .preview-size {
        font-size: 0.9rem;
        color: var(--text-light);
        margin-bottom: 0;
    }

    .btn-remove-preview {
        background: transparent;
        border: none;
        color: var(--danger-color);
        font-size: 1.2rem;
        cursor: pointer;
        transition: var(--transition);
        padding: 5px;
    }

    .btn-remove-preview:hover {
        transform: scale(1.1);
        color: var(--danger-color);
    }

    /* Conversion Options Styling */
    .conversion-options {
        background: #f9fafb;
        border-radius: var(--border-radius);
        padding: 25px;
        margin-bottom: 30px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    }

    .options-title {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 20px;
        color: var(--text-color);
        display: flex;
        align-items: center;
    }

    .options-title::before {
        content: '';
        width: 4px;
        height: 20px;
        background: linear-gradient(to bottom, var(--primary-color), var(--secondary-color));
        margin-right: 10px;
        border-radius: 2px;
        display: inline-block;
    }

    .form-check {
        margin-bottom: 15px;
    }

    .form-check-input {
        width: 2.5em;
        height: 1.25em;
        margin-top: 0.25em;
    }

    .form-check-input:checked {
        background-color: var(--primary-color);
        border-color: var(--primary-color);
    }

    .form-check-label {
        font-weight: 500;
        color: var(--text-color);
        margin-left: 10px;
        display: flex;
        align-items: center;
    }

    .option-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        background: rgba(79, 70, 229, 0.1);
        border-radius: 50%;
        margin-right: 10px;
        color: var(--primary-color);
    }

    .watermark-input-row {
        margin-left: 40px;
    }

    .input-group-text {
        background-color: rgba(79, 70, 229, 0.1);
        color: var(--primary-color);
        border: none;
    }

    /* Form Submit Styling */
    .form-submit {
        text-align: center;
    }

    .btn-convert {
        background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
        color: white;
        border: none;
        border-radius: 50px;
        padding: 15px 30px;
        font-weight: 600;
        font-size: 1.1rem;
        position: relative;
        overflow: hidden;
        transition: var(--transition);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 220px;
    }

    .btn-convert:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(79, 70, 229, 0.3);
        color: white;
    }

    .btn-convert::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(45deg, var(--secondary-color), var(--primary-color));
        opacity: 0;
        transition: var(--transition);
        z-index: 0;
    }

    .btn-convert:hover::after {
        opacity: 1;
    }

    .btn-text,
    .btn-loading {
        position: relative;
        z-index: 1;
    }

    .btn-loading {
        display: none;
    }

    .btn-convert.loading .btn-text {
        display: none;
    }

    .btn-convert.loading .btn-loading {
        display: flex;
        align-items: center;
    }

    .btn-loading .spinner-border {
        margin-right: 10px;
    }

    /* Features Section Styling */
    .features-section {
        margin-bottom: 40px;
    }

    .feature-card {
        background: white;
        border-radius: var(--border-radius);
        padding: 30px;
        box-shadow: var(--box-shadow);
        text-align: center;
        height: 100%;
        transition: var(--transition);
        position: relative;
        overflow: hidden;
    }

    .feature-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    }

    .feature-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 5px;
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
        transition: var(--transition);
    }

    .feature-card:hover::before {
        height: 100%;
        opacity: 0.05;
    }

    .feature-icon {
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, var(--primary-light), var(--primary-color));
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 20px;
        color: white;
        font-size: 1.8rem;
        transition: var(--transition);
    }

    .feature-card:hover .feature-icon {
        transform: scale(1.1);
        box-shadow: 0 10px 20px rgba(79, 70, 229, 0.3);
    }

    .feature-title {
        font-size: 1.3rem;
        font-weight: 600;
        margin-bottom: 15px;
        color: var(--text-color);
    }

    .feature-text {
        color: var(--text-light);
        margin-bottom: 0;
    }

    /* How It Works Section */
    .how-it-works {
        margin-bottom: 40px;
    }

    .section-title {
        font-size: 1.8rem;
        font-weight: 700;
        margin-bottom: 30px;
        color: var(--text-color);
        position: relative;
        display: inline-block;
    }

    .section-title::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 80px;
        height: 4px;
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
        border-radius: 2px;
    }

    .steps-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 40px;
    }

    .step-item {
        text-align: center;
        position: relative;
        flex: 1;
    }

    .step-number {
        width: 40px;
        height: 40px;
        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        margin: 0 auto 20px;
        position: relative;
        z-index: 2;
    }

    .step-connector {
        flex: 1;
        height: 3px;
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
        position: relative;
        max-width: 100px;
    }

    .step-icon {
        width: 80px;
        height: 80px;
        background: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 20px;
        color: var(--primary-color);
        font-size: 2rem;
        box-shadow: var(--box-shadow);
        transition: var(--transition);
    }

    .step-item:hover .step-icon {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
        color: var(--secondary-color);
    }

    .step-title {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 10px;
        color: var(--text-color);
    }

    .step-text {
        color: var(--text-light);
        margin-bottom: 0;
    }

    /* FAQ Section */
    .faq-section {
        margin-bottom: 40px;
    }

    .accordion {
        margin-top: 30px;
    }

    .accordion-item {
        border: none;
        margin-bottom: 15px;
        border-radius: var(--border-radius);
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    }

    .accordion-button {
        padding: 20px 25px;
        font-weight: 600;
        color: var(--text-color);
        background-color: white;
        box-shadow: none;
        transition: var(--transition);
    }

    .accordion-button:not(.collapsed) {
        color: var(--primary-color);
        background-color: rgba(79, 70, 229, 0.05);
    }

    .accordion-button:focus {
        box-shadow: none;
        border-color: rgba(79, 70, 229, 0.1);
    }

    .accordion-button::after {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234f46e5'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    }

    .accordion-body {
        padding: 20px 25px;
        color: var(--text-light);
        background-color: white;
    }

    /* Loading Overlay */
    .loading-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.9);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .loading-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .loading-content {
        text-align: center;
        max-width: 400px;
        padding: 40px;
    }

    .loading-spinner {
        margin-bottom: 20px;
    }

    .spinner {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        border: 5px solid rgba(79, 70, 229, 0.1);
        border-top-color: var(--primary-color);
        animation: spin 1s linear infinite;
        margin: 0 auto;
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .loading-text {
        font-size: 1.5rem;
        font-weight: 600;
        margin-bottom: 10px;
        color: var(--primary-color);
    }

    .loading-subtext {
        color: var(--text-light);
    }

    .progress {
        height: 10px;
        border-radius: 5px;
        background-color: rgba(79, 70, 229, 0.1);
    }

    .progress-bar {
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
    }

    /* Responsive Adjustments */
    @media (max-width: 991px) {
        .pdf-converter-wrapper {
            padding: 60px 0;
        }

        .header-title {
            font-size: 2rem;
        }

        .card-header,
        .card-body {
            padding: 30px 20px;
        }

        .upload-container {
            padding: 30px;
        }

        .steps-container {
            flex-direction: column;
            gap: 30px;
        }

        .step-connector {
            width: 3px;
            height: 30px;
            max-width: none;
        }
    }

    @media (max-width: 767px) {
        .pdf-converter-wrapper {
            padding: 40px 0;
        }

        .header-title {
            font-size: 1.8rem;
        }

        .header-icon {
            font-size: 2.5rem;
        }

        .card-header,
        .card-body {
            padding: 25px 15px;
        }

        .alert {
            margin: 15px;
            padding: 15px;
            flex-direction: column;
        }

        .alert-icon {
            margin-bottom: 10px;
            margin-right: 0;
        }

        .upload-container {
            padding: 20px;
        }

        .upload-icon {
            font-size: 2.5rem;
        }

        .upload-title {
            font-size: 1.3rem;
        }

        .supported-formats {
            flex-wrap: wrap;
        }

        .feature-card {
            margin-bottom: 20px;
        }

        .section-title {
            font-size: 1.5rem;
        }
    }
