/* ============================================================
   content.css  —  Shared styles: articles / news / glossary
   Sits on top of bulma.css + app.css + red.css
   ============================================================ */

/* ── Navbar active state ───────────────────────────────────── */
.navbar-landing .navbar-item.is-active-nav {
    color: #a5392f !important;
    font-weight: 600;
}

/* ── Hero band ─────────────────────────────────────────────── */
.content-hero {
    padding-top: 5rem; /* clear fixed navbar */
}

/* ── Breadcrumb ────────────────────────────────────────────── */
.content-breadcrumb {

}

/* ── Article / news cards ──────────────────────────────────── */
.content-card {
    height: 100%;
    border: none;
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0,0,0,.07);
    transition: box-shadow 0.2s, transform 0.2s;
}
.content-card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
    transform: translateY(-2px);
}
.content-card .card-image figure {
    overflow: hidden;
    border-radius: 6px 6px 0 0;
}
.content-card .card-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    transition: transform 0.3s;
}
.content-card:hover .card-image img {
    transform: scale(1.04);
}
.content-card .card-content {
    padding: 1.5rem;
}
.content-card .title a {
    color: #333;
}
.content-card .title a:hover {
    color: #a5392f;
}

/* Featured card */
.content-featured-card {
    border: none;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
.content-featured-card .card-image {
    height:100%;
}
.content-featured-card .card-image figure {
    overflow: hidden;
    border-radius: 6px;
    height:100%;
}
.content-featured-card .card-image img {
    width: 100%;
    object-fit: cover;
}
.content-featured-card .title a {
    color: #1d2646;
}
.content-featured-card .title a:hover {
    color: #a5392f;
}
.read-more-link {
    color: #a5392f;
    font-weight: 500;
    font-size: 0.88rem;
    text-decoration: none;
}
.read-more-link:hover {
    opacity: 0.8;
}

/* ── Article / term body ───────────────────────────────────── */
.content-article-title {
    color: #1d2646;
    border-bottom: 1px solid #a5392f;
    padding-bottom: 0.6rem;
    margin-bottom: 1rem;
}
.content-article-meta {
    font-size: 0.85rem;
}
.content-article-meta .tag a {
    color: inherit;
    text-decoration: none;
}
.content-article-image img {
    max-width: 100%;
    border-radius: 4px;
    margin bottom:2rem!important; 
}
.content-article-body {
    font-size: 1.125rem;
    line-height: 1.8;
    color: #333;
}
.content-article-image img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    margin bottom:2rem!important; 
}
.content-article-body p.credit,
.content-article-body .credit {
    font-size: 0.8rem;
    color: #888;
    font-style: italic;
    padding-top: 0.5rem;
    margin-top: 2rem;
    margin-left: 0.5rem;
    line-height:1.6em;
}
.content-article-body h2,
.content-article-body h3 {
    color: #1d2646;
    margin-top: 1.4rem;
}
.content-article-body blockquote {
    border-left: 4px solid #a5392f;
    padding-left: 1rem;
    color: #555;
    margin: 1rem 0;
    font-style: italic;
}
.content-article-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-size: 0.88rem;
}
.content-article-body table th,
.content-article-body table td {
    border: 1px solid #ddd;
    padding: 0.5rem 0.8rem;
}
.content-article-body table th {
    background: #f5f5f5;
    font-weight: 600;
}

/* ── Search results ────────────────────────────────────────── */
.content-search-result {
    border-bottom: 1px solid #eee;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.content-search-result .title a {
    color: #1d2646;
}
.content-search-result .title a:hover {
    color: #a5392f;
}

/* ── Sidebar ───────────────────────────────────────────────── */
.sidebar-heading {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #555;
    border-bottom: 1px solid #a5392f;
    padding-bottom: 0.3rem;
    margin-bottom: 0.8rem;
}
.sidebar-block {
    margin-bottom: 4rem!important;
}
.content-list-item {
    margin-bottom:0.4rem;
}
.content-list-item:last-child {
    border-bottom: none;
}
.content-list-title {
    text-decoration: none;
    color: #777 !important;
    font-size: 0.95rem;
}
.content-list-title:hover {
    color: #a5392f;
}
.content-cat-chip {
    display: inline-block;
    padding: 0.3rem 0.7rem;
    margin: 0.2rem 0.2rem 0.2rem 0;
    border: 1px solid #d5d5d5;
    border-radius: 20px;
    font-size: 0.78rem;
    color: #555;
    background: #fafafa;
    text-decoration: none;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.content-cat-chip:hover {
    border-color: #a5392f;
    color: #a5392f;
    background: #fff5f4;
}

/* ── Glossary A-Z ──────────────────────────────────────────── */
.az-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 1.5rem;
}
.az-link {
    display: inline-block;
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    border-radius: 4px;
    background: #f0f0f0;
    color: #555;
    font-weight: 600;
    font-size: 0.82rem;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.az-link:hover {
    background: #a5392f;
    color: #fff;
}
.az-section {
    margin-top: 1.5rem;
}
.az-heading {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1d2646;
    border-left: 4px solid #a5392f;
    padding-left: 0.6rem;
    margin-bottom: 0.8rem;
}
.glossary-term-link {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.4;
    text-decoration: none;
}
.glossary-term-link:hover {
    color: #a5392f;
}

/* ── Directory integration blocks ─────────────────────────── */
.dir-block {
    /**border-top: 1px solid #ebebeb;
    padding-top: 1.2rem;**/
        border-top: 1px solid #f5f5f5;
    padding-top: 3rem;
    margin-top: 3rem !important;
}
.dir-block-title {
    /**display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: #1d2646;
    margin-bottom: 0.5rem;**/
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #555;
    padding-bottom: 0.3rem;
    margin-bottom: 1.25rem;
}
.dir-block-title .icon {
    color: #a5392f;
    display:none;
}
.dir-product-card {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    border: 1px solid #e4e4e4;
    border-radius: 6px;
    padding: 0.6rem;
    background: #fff;
    text-decoration: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    height: 100%;
}
.dir-product-card:hover {
    border-color: #a5392f;
    box-shadow: 0 2px 8px rgba(165,57,47,.15);
}
.dir-product-img {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    overflow: hidden;
    border-radius: 4px;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.dir-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dir-product-info {
    flex: 1;
    min-width: 0;
}
.dir-product-info p {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.dir-company-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.8rem 0.5rem;
    border: 1px solid #e4e4e4;
    border-radius: 6px;
    background: #fff;
    text-decoration: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    height: 100%;
}
.dir-company-card:hover {
    border-color: #3273dc;
    box-shadow: 0 2px 8px rgba(50,115,220,.12);
}
.dir-company-logo {
    width: 80px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0 auto;
}
.dir-company-logo img {
    max-width: 80px;
    max-height: 48px;
    object-fit: contain;
}
.dir-company-logo-placeholder {
    width: 80px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f4ff;
    border-radius: 4px;
    color: #3273dc;
}

/* ── Content search form ───────────────────────────────────── */
.content-search-form .field.has-addons .input {
    border-color: #ddd;
}
.content-search-form .field.has-addons .button {
    background: #a5392f;
    border-color: #a5392f;
    color: #fff;
}
.content-search-form .field.has-addons .button:hover {
    opacity: 0.88;
}

/* ── Mobile adjustments ────────────────────────────────────── */
@media (max-width: 768px) {
    .content-hero { padding-top: 4.5rem; }
    .content-article-body { 
    font-size: 1.075em;
    line-height: 1.9;
     }
    .az-link { width: 28px; height: 28px; line-height: 28px; font-size: 0.75rem; }
}
.hero-body .container { padding-top: 50px; padding-bottom: 50px; }
.hero { margin-bottom: 20px; }
.card-text .text.text-title { margin-bottom:0px; }
.event-card .card-date .date { padding: 2px 13px; }