#oc-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0; top: 0; right: 0; bottom: 0;
    background: rgba(30, 36, 50, 0.32);
}
#oc-modal-content {
    background: #fff;
    margin: 3% auto;
    padding: 2.5em 2em 2em 2em;
    border-radius: 20px;
    max-width: 400px;
    box-shadow: 0 12px 48px 0 rgba(31,39,79,0.16);
    position: relative;
    font-family: inherit;
    animation: ocmodal .3s cubic-bezier(.44,1.32,.72,1) both;
}
@keyframes ocmodal {
    from { transform: translateY(60px) scale(.96); opacity:0 }
    to   { transform: translateY(0) scale(1); opacity:1 }
}
#oc-close {
    position: absolute;
    right: 24px;
    top: 20px;
    font-size: 1.7em;
    color: #999;
    cursor: pointer;
    font-weight: bold;
    line-height: 1;
    transition: color .2s;
}
#oc-close:hover { color: #111; }

#oc-comment-form label {
    display: block;
    margin-top: 1em;
    font-weight: 500;
    color: #27364d;
    letter-spacing: 0.01em;
}
#oc-comment-form select, #oc-comment-form textarea, #oc-comment-form input[type="file"] {
    width: 100%;
    margin-top: .2em;
    border-radius: 8px;
    border: 1px solid #dbe2ef;
    background: #f7fafc;
    padding: .5em .7em;
    font-size: 1em;
    transition: border-color .15s;
}
#oc-comment-form select:focus, #oc-comment-form textarea:focus {
    border-color: #7bb86f;
    outline: none;
}
#oc-comment-form input[type="radio"] {
    margin-right: .4em;
    accent-color: #7bb86f;
}

#oc-message {
    margin-top: 1em;
    font-size: 1em;
    font-weight: 500;
    min-height: 1.6em;
}
@media (max-width: 540px) {
    #oc-modal-content { max-width: 95vw; padding: 1.5em 0.7em 1em 0.7em; }
}
.oc-file-label {
    display: block;
    position: relative;
    margin-top: 1em;
    color: #27364d;
    font-weight: 500;
}
.oc-file-input {
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}
.oc-file-custom {
    display: inline-block;
    padding: 0.6em 1.7em;
    border-radius: 8px;
    background: #f2f5f9;
    color: #27364d;
    font-size: 1em;
    font-weight: 500;
    border: 1px solid #dbe2ef;
    cursor: pointer;
    margin-top: .2em;
    transition: border-color .2s, background .2s;
}
.oc-file-input:focus + .oc-file-custom,
.oc-file-input:hover + .oc-file-custom {
    border-color: #7bb86f;
    background: #e8f6e7;
}
.oc-file-name {
    display: block;
    margin-top: 0.4em;
    font-size: .97em;
    color: #7bb86f;
    font-weight: 400;
    min-height: 1.2em;
}

#oc-comment-form textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 80px;
    resize: vertical;
    box-sizing: border-box;
}