.vcrmlc-wrap { width: 100%; max-width: 100%; margin: 20px 0; box-sizing: border-box; text-align: center; clear: both; }
.vcrmlc-heading { font-size: 16px; font-weight: 700; margin: 0 0 4px; }
.vcrmlc-hint { font-size: 13px; margin: 0 0 10px; }
.vcrmlc-controls { display: flex; flex-wrap: nowrap; align-items: stretch; justify-content: center; gap: 8px; max-width: 100%; margin: 0 auto 10px; }
.vcrmlc-image { display: block; flex: 1 1 auto; min-width: 0; max-width: 380px; width: 100%; height: auto; max-height: 92px; object-fit: contain; border: 1px solid #d8dde2; border-radius: 6px; background: #f9fafc; }
.vcrmlc-refresh { flex: 0 0 auto; padding: 0 12px; min-height: 45px; color: #343a40; border: 1px solid #c7ccd3; background-color: #f5f6f8; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; }
.vcrmlc-refresh:hover { background-color: #e8ebef; }
.vcrmlc-answer { box-sizing: border-box; display: block; width: 100% !important; max-width: 100%; min-height: 45px; margin: 0; padding: 10px 12px; border: 1px solid #ced4da; border-radius: 6px; font-size: 16px; text-align: center; }
/* 入力前の案内文字は入力済みの文字より薄く表示する */
.vcrmlc-wrap input.vcrmlc-answer::placeholder { color: #b1b8c1; opacity: 1; }
.vcrmlc-error { color: #be293d; font-size: 13px; margin-top: 5px; }
@media(max-width:440px) { .vcrmlc-controls {gap:6px;} .vcrmlc-refresh {padding:0 9px; font-size:12px;} .vcrmlc-wrap {margin: 16px 0;} }

/* 認証エラーのリンクを見やすくし、固定ヘッダーの下にフォーム先頭を表示する。 */
.flashmessage .vcrmlc-error-link { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
/* 固定ヘッダー（約75px）に加え、フォーム先頭の上へ約100pxの余白を確保する。 */
#sf-comment-form, #oe-comment-form, #vcrmlc-contact-form, #vcrmlc-registration-form { scroll-margin-top: 175px; }
