/* Панель управления таблицей */
.rf-ref-toolbar{
    display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;
}
.rf-ref-search{
    flex:1 1 220px;max-width:360px;box-sizing:border-box;
    margin:0;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;
    font-size:15px;
}
.rf-ref-search:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.rf-ref-filter{
    padding:9px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;
    background:#fff;max-width:260px;
}
.rf-ref-btn{
    padding:9px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;
    font-size:14px;cursor:pointer;color:#374151;transition:border-color .15s,color .15s;
    white-space:nowrap;
}
.rf-ref-btn:hover{border-color:#2563eb;color:#2563eb}
.rf-ref-counter{font-size:13px;color:#6b7280;margin-left:auto;white-space:nowrap}
.rf-ref-empty{color:#888;font-style:italic;margin:8px 0}

.wp-block-table table th.rf-ref-sortable,
.entry-content table th.rf-ref-sortable{
    cursor:pointer;user-select:none;position:relative;white-space:nowrap;
}
th.rf-ref-sortable::after{content:"\2195";opacity:.35;margin-left:6px;font-size:.85em}
th.rf-ref-sortable.is-sorted[data-dir="asc"]::after{content:"\2191";opacity:1}
th.rf-ref-sortable.is-sorted[data-dir="desc"]::after{content:"\2193";opacity:1}

/* лёгкая зебра и читаемость справочных таблиц */
.wp-block-table table tbody tr:nth-child(even){background:#f8fafc}
.wp-block-table table tbody tr:hover{background:#eef4ff}
.wp-block-table table td,.wp-block-table table th{padding:8px 12px}

/* числовые колонки: вправо, табличные цифры */
.wp-block-table table td.rf-num{
    text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
}

/* Горизонтальный скролл таблиц на мобильных */
.wp-block-table{overflow-x:auto}

/* На странице справочника широкие таблицы выходят за «читательскую» колонку
   (contentSize) до wideSize, текст остаётся узким и читаемым. Узкие таблицы
   (2–3 колонки) остаются по содержимому и центрируются. */
.rf-reference-single .wp-block-table{
    width:max-content;max-width:min(1240px,96vw);
    margin-left:50%;transform:translateX(-50%);
}
@media (max-width:782px){
    .rf-reference-single .wp-block-table{
        width:auto;max-width:100%;margin-left:0;transform:none;
    }
}

/* Длинные таблицы: ограничение высоты + липкий заголовок */
.wp-block-table.rf-ref-tall{max-height:72vh;overflow:auto;border:1px solid #e5e7eb;border-radius:10px}
.wp-block-table.rf-ref-tall table{margin:0;border:0}
.wp-block-table.rf-ref-tall thead th{
    position:sticky;top:0;z-index:2;background:#f1f5f9;
    box-shadow:0 1px 0 #d1d5db;
}

/* Карточки дочерних справочников на хаб-странице */
.rf-ref-children{margin:28px 0}
.rf-ref-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:14px}
.rf-ref-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;text-decoration:none;transition:border-color .15s, box-shadow .15s}
.rf-ref-card:hover{border-color:#2563eb;box-shadow:0 4px 14px rgba(37,99,235,.12)}
.rf-ref-card__title{font-weight:600;color:#111827;font-size:16px}
.rf-ref-card__desc{font-size:13px;color:#6b7280;line-height:1.4}
.rf-ref-card__meta{font-size:12px;color:#9ca3af;margin-top:auto}

/* Хлебные крошки */
.rf-ref-breadcrumbs{font-size:13px;color:#6b7280;margin:0 0 18px}
.rf-ref-breadcrumbs a{color:#2563eb;text-decoration:none}
.rf-ref-breadcrumbs a:hover{text-decoration:underline}
.rf-ref-breadcrumbs .sep{margin:0 6px;color:#cbd5e1}

/* Связанные калькуляторы */
.rf-ref-related{margin:28px 0;padding:18px 20px;border:1px solid #dbeafe;border-radius:12px;background:#f0f7ff}
.rf-ref-related h2{margin:0 0 10px;font-size:18px}
.rf-ref-related ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.rf-ref-related li{margin:0}
.rf-ref-related a{
    display:inline-block;padding:8px 14px;background:#fff;border:1px solid #bfdbfe;
    border-radius:8px;color:#1d4ed8;text-decoration:none;font-size:14px;
    transition:border-color .15s, box-shadow .15s;
}
.rf-ref-related a:hover{border-color:#2563eb;box-shadow:0 2px 8px rgba(37,99,235,.15)}
