/* ==============================================================================
   C.J. LEGAL ADVICES - DIVIZIA PTAB
   Fișier: assets/css/style.css
   Descriere: Stiluri minime, restul layout-ului este generat de Bootstrap 5.3
   ============================================================================== */

body {
    font-family: Cambria, "Times New Roman", serif;
    background-color: #f8f9fa; /* Fundal gri foarte deschis (bg-light) */
    color: #212529;
}

/* Culori specifice brandului PTAB */
.text-navy { color: #0d1e3a; }
.bg-navy { background-color: #0d1e3a; }

/* Efect subtil de ridicare pentru carduri la trecerea mouse-ului */
.hover-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hover-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; 
}

/* Stil pentru linkul activ din meniu */
.nav-link.active-link {
    color: #0d1e3a !important;
    border-bottom: 2px solid #0d6efd;
    font-weight: bold;
}

.catalog-toc { max-height: calc(100vh - 125px); overflow: auto; }
.catalog-toc .list-group-item { font-size: .9rem; border-left: 3px solid transparent; }
.catalog-toc .list-group-item.active { background: #0d1e3a; border-color: #0d6efd; }
.catalog-content .catalog-html img { max-width: 100%; height: auto; }
.catalog-content .catalog-html table { max-width: 100%; margin-bottom: 1rem; border-collapse: collapse; }

/*
 * Formatarea inline salvată de WYSIWYG are prioritate. Bordurile de mai jos
 * sunt doar fallback pentru tabele/celule vechi care nu au primit stil propriu.
 */
.catalog-content .catalog-html table:not([border]):not([style*="border"]) {
    border: 1px solid currentColor;
}
.catalog-content .catalog-html th:not([border]):not([style*="border"]),
.catalog-content .catalog-html td:not([border]):not([style*="border"]) {
    padding: .65rem;
    border: 1px solid currentColor;
    vertical-align: top;
}

/* Compatibilitate vizuală pentru conținutul vechi, până la următoarea salvare WYSIWYG. */
.catalog-content .catalog-html td > p,
.catalog-content .catalog-html th > p {
    margin-top: 0;
    margin-bottom: 0;
}

/* Acordeon Catalog fără JavaScript: radio-urile asigură un singur capitol deschis. */
.catalog-accordion { border: 1px solid #dee2e6; border-radius: .75rem; overflow: hidden; }
.catalog-accordion-control { position: absolute; opacity: 0; pointer-events: none; }
.catalog-accordion-item + .catalog-accordion-item { border-top: 1px solid #dee2e6; }
.catalog-accordion-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
    padding: 1rem 1.25rem;
    background: #fff;
    color: #0d1e3a;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}
.catalog-accordion-title:hover { background: #f1f5f9; }
.catalog-accordion-title .ti { transition: transform .2s ease; }
.catalog-accordion-panel { display: none; border-top: 1px solid #dee2e6; background: #fff; }
.catalog-accordion-control:focus-visible + .catalog-accordion-title { outline: 3px solid rgba(13, 110, 253, .35); outline-offset: -3px; }
.catalog-accordion-control:checked + .catalog-accordion-title { background: #0d1e3a; color: #fff; }
.catalog-accordion-control:checked + .catalog-accordion-title .ti { transform: rotate(180deg); }
.catalog-accordion-control:checked + .catalog-accordion-title + .catalog-accordion-panel { display: block; }
