/**
 * テーブルフロントエンド表示用CSS
 * WordPress用テーブルカスタマイズプラグイン
 */

/* 基本テーブルスタイル */
.c-table_default {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5em;
    box-sizing: border-box;
    border: 1px solid #ddd;
    font-size: 0.9em;
    line-height: 1.4;
    background-color: #fff;
}

.c-table_default th,
.c-table_default td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
    vertical-align: top;
    word-break: break-word;
}

.c-table_default td {
    background-color: #fff;
}

.c-table_default th {
    background-color: #f8f8f8;
    font-weight: bold;
}

.c-table_default caption {
    font-style: italic;
    padding: 8px;
    caption-side: top;
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
    color: #555;
}

/* 結合セル用のスタイル */
.c-table_default th[rowspan],
.c-table_default th[colspan] {
    background-color: #f8f8f8;
}

.c-table_default td[rowspan],
.c-table_default td[colspan] {
    background-color: #fff;
}

/* テキスト配置クラス */
.c-table_default th.text-left,
.c-table_default td.text-left {
    text-align: left;
}

.c-table_default th.text-center,
.c-table_default td.text-center {
    text-align: center;
}

.c-table_default th.text-right,
.c-table_default td.text-right {
    text-align: right;
}

.c-table_default th.valign-top,
.c-table_default td.valign-top {
    vertical-align: top;
}

.c-table_default th.valign-middle,
.c-table_default td.valign-middle {
    vertical-align: middle;
}

.c-table_default th.valign-bottom,
.c-table_default td.valign-bottom {
    vertical-align: bottom;
}

/* レスポンシブデザイン */
@media screen and (max-width: 600px) {
    .c-table_default-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
        margin-bottom: 1.5em;
    }
    
    .c-table_default {
        width: auto;
        min-width: 100%;
        white-space: nowrap;
    }
    
    .c-table_default th,
    .c-table_default td {
        white-space: normal;
    }
}

/* ストライプバリエーション */
.c-table_striped tbody tr:nth-child(odd) td {
    background-color: #f2f2f2;
}

.c-table_striped tbody tr:nth-child(even) td {
    background-color: #ffffff;
}

.c-table_striped th {
    background-color: #e6e6e6;
}

/* ボーダーレスバリエーション */
.c-table_borderless,
.c-table_borderless th,
.c-table_borderless td {
    border: none;
}

.c-table_borderless th {
    border-bottom: 2px solid #ddd;
}

.c-table_borderless tbody tr {
    border-bottom: 1px solid #f0f0f0;
}

/* コンパクトバリエーション */
.c-table_compact th,
.c-table_compact td {
    padding: 6px;
    font-size: 0.85em;
}

/* ダークバリエーション */
.c-table_dark {
    background-color: #333;
    color: #fff;
    border-color: #444;
}

.c-table_dark th,
.c-table_dark td {
    border-color: #444;
}

.c-table_dark th {
    background-color: #222;
}

.c-table_dark tbody tr:nth-child(even) td {
    background-color: #3a3a3a;
}

.c-table_dark td {
    background-color: #333;
}

/* カラフルバリエーション */
.c-table_colorful th {
    background-color: #3498db;
    color: white;
    border-color: #2980b9;
}

.c-table_colorful tbody tr:nth-child(odd) td {
    background-color: #f2f9fe;
}

.c-table_colorful tbody tr:nth-child(even) td {
    background-color: #e6f4fc;
}

/* 垂直ボーダーなしバリエーション */
.c-table_no-vertical-borders th,
.c-table_no-vertical-borders td {
    border-left: none;
    border-right: none;
}

/* セル中央揃えバリエーション */
.c-table_centered th,
.c-table_centered td {
    text-align: center;
}

/* ヘッダーのみバリエーション */
.c-table_header-only {
    border: none;
}

.c-table_header-only th {
    border: none;
    border-bottom: 2px solid #3498db;
    background-color: transparent;
    color: #3498db;
}

.c-table_header-only td {
    border: none;
    border-bottom: 1px solid #f0f0f0;
    background-color: transparent;
}

/* モダンバリエーション */
.c-table_modern {
    border: none;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.c-table_modern th {
    background-color: #5433FF;
    color: white;
    text-transform: uppercase;
    font-size: 0.85em;
    letter-spacing: 1px;
}

.c-table_modern td {
    border: none;
    border-bottom: 1px solid #f0f0f0;
    background-color: #fff;
}

.c-table_modern tbody tr:last-child td {
    border-bottom: none;
} 