/* ═══════════════════════════════════════════════════════════════
   Titan Lab Calculator
   Использует --dark-blue из темы
   ═══════════════════════════════════════════════════════════════ */

:root {
    --tc-active:  var(--dark-blue, #1a2b3c);
    --tc-border:  #d0d0d0;
    --tc-text:    #1a1a1a;
    --tc-muted:   #6b6b6b;
    --tc-pill:    999px;
    --tc-radius:  8px;
}

.tc-section {
    max-width: 960px;
    margin: 0 auto;
    padding: 32px 16px 64px;
    font-family: inherit;
    color: var(--tc-text);
}
.tc-subtitle { color: var(--tc-muted); margin: 0 0 32px; font-size: .95rem; }

.tc-block { margin-bottom: 40px; }
.tc-block__title {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0 0 18px;
}

/* pill-кнопки */
.tc-pill-input {
    position: absolute;
    opacity: 0; width: 0; height: 0;
    pointer-events: none;
}
.tc-pill-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border: 1.5px solid var(--tc-border);
    border-radius: var(--tc-pill);
    cursor: pointer;
    font-size: .875rem;
    font-weight: 500;
    background: #fff;
    color: var(--tc-text);
    transition: background .15s, border-color .15s, color .15s;
    user-select: none;
    white-space: nowrap;
}
.tc-pill-label:hover { border-color: var(--tc-active); }
.tc-pill-input:checked + .tc-pill-label {
    background: var(--tc-active);
    border-color: var(--tc-active);
    color: #fff;
}

.tc-packages { display: flex; flex-wrap: wrap; gap: 10px; }
.tc-package  { position: relative; }
.tc-options  { display: flex; flex-wrap: wrap; gap: 10px; }
.tc-option   { position: relative; }

/* иконка i */
.tc-info-icon {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    color: inherit;
    font-size: 10px; font-style: italic; font-weight: 700;
    cursor: pointer; flex-shrink: 0;
}
.tc-pill-input:not(:checked) + .tc-pill-label .tc-info-icon {
    background: rgba(0,0,0,.12);
    color: var(--tc-muted);
}

/* тултип */
.tc-tooltip {
    position: fixed; z-index: 9999;
    max-width: 280px;
    background: #1a1a1a; color: #fff;
    font-size: .8rem; line-height: 1.5;
    padding: 8px 12px; border-radius: 6px;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
}

/* итого */
.tc-total { margin: 8px 0 24px; font-size: 1rem; }
.tc-total__value { font-weight: 600; }

/* кнопки */
.tc-actions {
    display: flex; align-items: center;
    gap: 12px; flex-wrap: wrap;
}
.tc-btn {
    display: inline-flex; align-items: center;
    padding: 11px 28px;
    border: 1.5px solid transparent;
    border-radius: var(--tc-pill);
    font-size: .9rem; font-weight: 600;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s, opacity .15s;
    text-decoration: none; background: none;
}
.tc-btn--primary { background: var(--tc-active); color: #fff; border-color: var(--tc-active); }
.tc-btn--primary:hover { opacity: .85; }
.tc-btn--secondary { background: #fff; color: var(--tc-active); border-color: var(--tc-active); }
.tc-btn--secondary:hover { background: var(--tc-active); color: #fff; }

/* иконки PDF/Word */
.tc-doc-links { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.tc-doc-link img { width: 40px; height: 40px; object-fit: contain; opacity: .8; transition: opacity .15s; }
.tc-doc-link:hover img { opacity: 1; }

/* таблица */
.tc-table-wrap { overflow-x: auto; margin-top: 40px; }
.tc-table-wrap table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.tc-table-wrap td, .tc-table-wrap th { border: 1px solid var(--tc-border); padding: 8px 12px; }
.tc-table-wrap tr:first-child td, .tc-table-wrap thead td { background: #f0f0f0; font-weight: 600; text-align: center; }

.calc-error { padding: 16px; background: #fff3f3; border: 1px solid #f5c6c6; border-radius: var(--tc-radius); color: #c0392b; }

@media (max-width: 600px) {
    .tc-actions { flex-direction: column; align-items: flex-start; }
    .tc-doc-links { margin-left: 0; }
}

@media print {
    body > *:not(.site-main), header, footer, nav,
    .site-header, .site-footer, #masthead, #colophon,
    .breadcrumbs, .widget-area { display: none !important; }
    .tc-actions, .tc-doc-links, .tc-info-icon { display: none !important; }
    .tc-option, .tc-package { display: none !important; }
    .tc-option:has(.tc-pill-input:checked),
    .tc-package:has(.tc-pill-input:checked) { display: inline-flex !important; }
    .tc-pill-input:checked + .tc-pill-label { border: 1.5px solid #333 !important; background: #eee !important; color: #000 !important; }
    .tc-section { padding: 0 !important; }
}
