/* プラグイン固有のプレフィックスをさらに具体的に */
.dvtv-soudan div.soudan-tei-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important; /* スムーズなスクロール */
    width: 100% !important;
    box-sizing: border-box !important;
}

.dvtv-soudan div.soudan-tei-table table {
    width: auto !important; /* テーブル幅をコンテンツに合わせる */
    min-width: 800px !important; /* 横スクロールを強制 */
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    table-layout: fixed !important; /* セルの幅を固定 */
}

.dvtv-soudan div.soudan-tei-table th,
.dvtv-soudan div.soudan-tei-table td {
    border: 1px solid #ddd !important;
    padding: 8px !important;
    text-align: left !important;
    white-space: nowrap !important; /* テキスト折り返し防止 */
    font-size: 10px !important;
    min-width: 80px !important; /* セルの最小幅を確保 */
    box-sizing: border-box !important;
}

/* 返答列のみ折り返しを許可 */
.dvtv-soudan div.soudan-tei-table td:nth-child(6) {
    white-space: normal !important;
}


.dvtv-soudan div.soudan-tei-table th {
    background-color: #f2f2f2 !important;
}

.dvtv-soudan div.soudan-tei-table tr:nth-child(even) {
    background-color: #f9f9f9 !important;
}

.dvtv-soudan div.soudan-tei-table tr:hover {
    background-color: #f1f1f1 !important;
}

.dvtv-soudan div.soudan-tei-table .blink-red,
.dvtv-soudan div.soudan-tei-table .blink-pink {
    background-color: #ffcccc !important;
}

.dvtv-soudan div.soudan-tei-table .response-button,
.dvtv-soudan div.soudan-tei-table .read-toggle,
.dvtv-soudan div.soudan-tei-table .admin-read-toggle {
    padding: 5px 10px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    font-size: 10px !important;
}

.dvtv-soudan div.soudan-tei-table .read-toggle.read,
.dvtv-soudan div.soudan-tei-table .admin-read-toggle.read {
    background-color: #d4edda !important;
    color: #155724 !important;
}

.dvtv-soudan div.soudan-tei-table .read-toggle.unread,
.dvtv-soudan div.soudan-tei-table .admin-read-toggle.unread {
    background-color: #f8d7da !important;
    color: #721c24 !important;
}

.dvtv-soudan div.soudan-tei-table .pagination {
    margin-top: 20px !important;
}

.dvtv-soudan div.soudan-tei-table .pagination a {
    margin: 0 5px !important;
    text-decoration: none !important;
}

.dvtv-soudan div#response-popup.response-popup {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    background: white !important;
    padding: 20px !important;
    border: 1px solid #ccc !important;
    z-index: 1000 !important;
}

.dvtv-soudan div#response-form.response-form textarea {
    width: 100% !important;
    height: 100px !important;
    margin-bottom: 10px !important;
}

.dvtv-soudan div#response-form.response-form button {
    margin: 5px !important;
}

/* スマートフォン向けメディアクエリ */
@media screen and (max-width: 768px) {
    .dvtv-soudan div.soudan-tei-table {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .dvtv-soudan div.soudan-tei-table table {
        min-width: 800px !important; /* スマートフォンでも横スクロールを強制 */
    }

    .dvtv-soudan div.soudan-tei-table th,
    .dvtv-soudan div.soudan-tei-table td {
        font-size: 9px !important;
        padding: 6px !important;
        white-space: nowrap !important;
        min-width: 60px !important;
    }
    .dvtv-soudan div.soudan-tei-table td:nth-child(6) {
        white-space: normal !important;
    }

    .dvtv-soudan div.soudan-tei-table .response-button,
    .dvtv-soudan div.soudan-tei-table .read-toggle,
    .dvtv-soudan div.soudan-tei-table .admin-read-toggle {
        font-size: 8px !important;
        padding: 4px 8px !important;
    }
}
/* ============================================================
 * ===== BLOCK: STYLE – TABLE & FORM TWEAKS (v3.4+)
 * ============================================================ */

/* 一覧テーブルの文字を小さく */
.dvtv-soudan table {
  font-size: 12px;            /* ← ここで全体を小さく */
  line-height: 1.5;
}

/* 回答フォームの入力幅を広げる（テキストエリア／input系すべて） */
.dvtv-soudan .response-form-container textarea,
.dvtv-soudan .response-form-container input[type="text"],
.dvtv-soudan .response-form-container input[type="file"],
.dvtv-soudan .response-form-container select {
  width: 96%;
  max-width: 96%;
  box-sizing: border-box;
  min-height: 96px;        /* 既存より少し大きめ */
  font-size: 13px;
}

/* 「回答」ボタン（青バック/白文字/太字） */
.dvtv-soudan .response-button {
  background: #1976d2;
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
}
.dvtv-soudan .response-button:hover { filter: brightness(0.95); }

/* 既読/未読ボタン（未読＝オレンジ、既読＝グレーアウト） */
.dvtv-soudan .read-toggle.unread,
.dvtv-soudan .admin-read-toggle.unread {
  background: #fb8c00;
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
}
.dvtv-soudan .read-toggle.read,
.dvtv-soudan .admin-read-toggle.read {
  background: #bdbdbd;   /* グレー */
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: default;
  opacity: 0.9;
}

/* 回答フォーム内ボタンの配色 */
.dvtv-soudan .response-form-container .save-button {
  background: #2e7d32;  /* 緑 */
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  margin-right: 8px;
  cursor: pointer;
}
.dvtv-soudan .response-form-container .clear-button {
  background: #0288d1;  /* 青 */
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  margin-right: 8px;
  cursor: pointer;
}
.dvtv-soudan .response-form-container .close-button {
  background: #9e9e9e;  /* グレー */
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
}

/* ============================================================
 * ===== BLOCK: STYLE – NEON FOCUS EFFECT (v3.5.0+)
 * ============================================================ */

/* Define the blinking neon animation for input focus */
@keyframes dvtv-neon-blink-effect {
    0%, 100% {
        box-shadow: 0 0 4px 1px rgba(0, 191, 255, 0.6),
                    0 0 8px 1px rgba(0, 191, 255, 0.4);
    }
    50% {
        box-shadow: 0 0 6px 2px rgba(0, 191, 255, 0.8),
                    0 0 12px 2px rgba(0, 191, 255, 0.6);
    }
}

/* Apply the animation on focus to textareas within the response form */
.dvtv-soudan .response-form-container textarea:focus {
    outline: none !important; /* Remove default browser outline */
    border-color: #00bfff; /* Deep sky blue base color */
    animation: dvtv-neon-blink-effect 1.5s linear infinite;
}