#invitation-letter-form {
    max-width: 700px;
    margin: 1em auto;
    font-family: inherit;
    background: #f7f7f7;
    padding: 1em;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.invitation-form-container {
    padding: 1em;
}

.invitation-row {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
    margin-bottom: 1em;
}

.invitation-col {
    flex: 1 1 250px;
}

#invitation-letter-form label {
    display: block;
    margin-bottom: 5px;
}

#invitation-letter-form .invitation-required::after {
    content: ' *';
    color: #d00;
}

#invitation-letter-form input,
#invitation-letter-form select {
    width: 100%;
    padding: 0.75em;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1em;
}

#invitation-letter-form button {
    padding: 0.75em 1em;
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
}

#invitation-letter-form button:hover {
    background: #005177;
}

#invitation-letter-actions {
    text-align: center;
    margin-top: 1em;
    margin-bottom: 10px;
}

#invitation-letter-print,
#invitation-letter-back {
    margin: 0 0.5em;
    display: none;
}

#invitation-letter-response {
    margin-top: 1em;
    background: #fdf6f0;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    font-family: inherit;
}

.invitation-letter-box {
    padding: 10px;
}

#letter-logo-wrap {
    margin-bottom: 10px;
}

.invitation-letter-content {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 16px;
    line-height: 1.6;
    color: #222;
}

.invitation-letter-content p {
    margin-bottom: 1em;
}

.invitation-letter-content a {
    color: #0073aa;
    text-decoration: underline;
}

.invitation-letter-content .letter-info-block {
    margin: 0;
}

.invitation-letter-content .letter-footer {
    margin-top: 1em;
    margin-bottom: 0;
    white-space: pre-line;
}

.invitation-letter-content .invitation-signature {
    margin: 16px 0 8px 0;
}

.invitation-submit {
    text-align: center;
    margin-top: 10px;
}

@media print {
    @page { margin: 0; }
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        box-sizing: border-box !important;
        background: transparent !important;
    }
    #letter-logo-wrap, #letter-logo, .invitation-letter-box {
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: none !important;
        background: transparent !important;
    }
    .invitation-letter-box {
        padding: 10px !important;
        background: #fdf6f0 !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }
    img#letter-logo {
        margin: 0 auto 10px auto !important;
        padding: 0 !important;
        display: block;
        width: auto;
        max-width: 100%;
    }
    body * { visibility: hidden !important; }
    .invitation-letter-box, .invitation-letter-box * { visibility: visible !important; }
    .invitation-letter-box {
        position: absolute !important;
        left: 0;
        top: 0;
        width: 100vw !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }
    .invitation-letter-content {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 16px;
        line-height: 1.6;
        color: #222;
    }

    .invitation-letter-content p {
        margin-bottom: 1em;
    }

    .invitation-letter-content a {
        color: #0073aa;
        text-decoration: underline;
    }

    .invitation-letter-content .letter-info-block {
        margin: 0;
    }
    .invitation-letter-content .letter-footer {
        margin-top: 1em;
        margin-bottom: 0;
        white-space: pre-line;
    }

    .invitation-letter-content .invitation-signature {
        margin: 16px 0 8px 0;
    }
    #invitation-letter-actions,
    #invitation-letter-form { display: none !important; }
}
