/* Copyright (c) 2026 Glipco Srl Deva (Lucian Canacheu <lcanacheu@gmail.com>)
 * SPDX-License-Identifier: BSD-2-Clause */

/* CMHD look: a boxed white page on grey, a teal accent, Roboto text and Roboto Slab headings. */

@font-face { font-family: "Roboto"; font-weight: 300; font-display: swap; src: url("../fonts/roboto-latin-300.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto"; font-weight: 300; font-display: swap; src: url("../fonts/roboto-latin-ext-300.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-weight: 400; font-display: swap; src: url("../fonts/roboto-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto"; font-weight: 400; font-display: swap; src: url("../fonts/roboto-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto"; font-weight: 500; font-display: swap; src: url("../fonts/roboto-latin-500.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto"; font-weight: 500; font-display: swap; src: url("../fonts/roboto-latin-ext-500.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Roboto Slab"; font-weight: 400; font-display: swap; src: url("../fonts/roboto-slab-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Roboto Slab"; font-weight: 400; font-display: swap; src: url("../fonts/roboto-slab-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
    --cmhd-accent: #19d1a9;
    --cmhd-accent-dark: #14a888;
    --cmhd-accent-text: #0f7d66;   /* the accent dark enough for text on white (WCAG AA) */
    --cmhd-text: #555;
    --cmhd-heading: #444;
    --cmhd-backdrop: #eaeaea;
    --cmhd-footer: #27313d;
    --cmhd-footer-text: #b8bec6;
    --cmhd-socket: #f8f8f8;
    --cmhd-rule: #eaeaea;
    --bs-body-font-family: "Roboto", system-ui, sans-serif;
    --bs-body-font-weight: 300;
    --bs-body-color: var(--cmhd-text);
    --bs-link-color-rgb: 15, 125, 102;
    --bs-link-hover-color-rgb: 20, 168, 136;
    --bs-primary: var(--cmhd-accent);
}

body { background: var(--cmhd-backdrop); padding: 15px 0 0; line-height: 1.6; }
strong, b { font-weight: 500; }
h1, h2, h3, h4, h5, h6, .site-title { font-family: "Roboto Slab", Georgia, serif; font-weight: 400; color: var(--cmhd-heading); }
h1 { font-size: 1.875rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* The boxed page */
.page {
    max-width: 1180px;
    margin: 0 auto;
    background: #fff;
    border-top: 3px solid var(--cmhd-accent);
    box-shadow: 0 2px 6px rgba(100, 100, 100, .3);
}
.page-inner { padding-left: 40px; padding-right: 40px; }

/* Header */
.site-header { padding-top: 28px; padding-bottom: 24px; }
.site-brand { display: flex; align-items: center; gap: 16px; color: inherit; }
.site-brand:hover { text-decoration: none; }
.site-brand img { height: 64px; width: auto; }
.site-title { font-size: 2.2rem; line-height: 1.1; color: #555; margin: 0; }
.site-tagline { font-size: .875rem; color: #888; margin: 4px 0 0; }
.header-contact { font-size: .875rem; color: #777; text-align: right; line-height: 1.7; }
.header-contact .bi { color: var(--cmhd-accent-dark); margin-right: 4px; }

/* Main menu */
.main-nav { border-bottom: 2px solid var(--cmhd-accent); background: #fff; padding: 0; }
.main-nav .nav-link {
    color: #444; font-size: 1.05rem; padding: 12px 14px !important; line-height: 1.2;
}
.main-nav .nav-link:hover, .main-nav .nav-link:focus, .main-nav .show > .nav-link { color: var(--cmhd-accent-text); text-decoration: none; }
.main-nav .nav-link.active { background: var(--cmhd-accent); color: #fff; }
.main-nav .dropdown-menu { border-radius: 0; border: 0; border-top: 2px solid var(--cmhd-accent); box-shadow: 0 6px 12px rgba(0, 0, 0, .12); padding: 0; }
.main-nav .dropdown-item { padding: 10px 18px; font-weight: 300; border-bottom: 1px solid #f2f2f2; }
.main-nav .dropdown-item.active, .main-nav .dropdown-item:active { background: var(--cmhd-accent); color: #fff; }
.main-nav .navbar-toggler { border: 0; margin: 6px 0; }
.main-nav .navbar-toggler:focus { box-shadow: 0 0 0 2px var(--cmhd-accent); }

/* Hero */
.hero { position: relative; height: 340px; background: #ddd center / cover no-repeat; }
.hero-label {
    position: absolute; left: 40px; bottom: 40px;
    background: var(--cmhd-accent); color: #fff; padding: 8px 22px;
    font-family: "Roboto Slab", Georgia, serif; font-size: 2.2rem; line-height: 1.2;
}
.hero-label:hover { color: #fff; text-decoration: none; background: var(--cmhd-accent-dark); }

/* Content and sidebar */
.site-main { padding-top: 40px; padding-bottom: 40px; }
.entry-title { font-size: 1.875rem; margin-bottom: .25rem; }
.entry-meta { font-size: .875rem; color: #888; margin-bottom: 1.5rem; }
.entry-content { color: var(--cmhd-text); overflow-wrap: anywhere; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.entry-content td, .entry-content th { border: 1px solid #ddd; padding: 6px 8px; vertical-align: top; }
.entry-content h2, .entry-content h3 { margin-top: 1.5rem; }
.entry-content .file-link::before { font-family: bootstrap-icons; content: "\F38B"; margin-right: 6px; color: var(--cmhd-accent-dark); }
.draft-badge { font-family: "Roboto", sans-serif; font-size: .75rem; vertical-align: middle; }

.widget-title { font-size: 1.25rem; color: var(--cmhd-accent-text); margin-bottom: 1rem; }
.widget-title span { display: inline-block; border-bottom: 2px solid var(--cmhd-accent); padding-bottom: 4px; }
.widget-title .bi { margin-right: 6px; }
.recent-list { list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.recent-list li { border-bottom: 1px solid #f0f0f0; padding: 8px 0; }
.recent-list a { color: #444; }
.recent-list a:hover { color: var(--cmhd-accent-text); }
.recent-list time { display: block; font-size: .78rem; color: #999; }

/* Section index: one large teal button per Child Post */
.section-buttons { display: grid; gap: 16px; margin-top: 1.5rem; }
.section-button {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    min-height: 64px; padding: 14px 24px; text-align: center;
    background: var(--cmhd-accent); color: #fff; font-size: 1.15rem; font-weight: 400;
}
.section-button:hover, .section-button:focus { background: var(--cmhd-accent-dark); color: #fff; text-decoration: none; }
.section-button .bi { font-size: 1.25rem; }

/* Dated lists (Anunțuri and other news-like Sections) */
.post-list { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.post-list li { padding: 12px 0; border-bottom: 1px solid var(--cmhd-rule); }
.post-list a { font-size: 1.05rem; color: #444; }
.post-list a:hover { color: var(--cmhd-accent-text); }
.post-list time { display: block; font-size: .82rem; color: #999; }

/* Homepage feature boxes */
.features { padding-top: 40px; }
.feature img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.feature h2 { text-align: center; font-size: 1.35rem; margin: 16px 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--cmhd-accent); }
.feature ul { list-style: none; padding: 0; text-align: center; font-size: .92rem; }
.feature li { margin-bottom: 8px; }
.feature li a { color: #333; }

.btn-cmhd {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--cmhd-accent); color: #fff; font-size: 1.05rem; font-weight: 300;
    border: 1px solid var(--cmhd-accent-dark); border-radius: 11px; padding: 12px 26px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}
.btn-cmhd:hover, .btn-cmhd:focus { background: var(--cmhd-accent-dark); color: #fff; text-decoration: none; }

/* Footer */
.site-footer { background: var(--cmhd-footer); color: var(--cmhd-footer-text); font-size: .875rem; padding: 30px 0 14px; }
.site-footer .widget-title { color: #fff; }
.site-footer a { color: var(--cmhd-footer-text); }
.site-footer a:hover { color: #fff; }
.site-footer .btn-cmhd, .site-footer .btn-cmhd:hover { color: #fff; }
.site-footer ul { list-style: none; padding: 0; }
.site-footer li { margin-bottom: 4px; }
.site-footer address { font-style: normal; line-height: 1.7; }
.site-socket { background: var(--cmhd-socket); border-top: 3px solid var(--cmhd-accent); font-size: .82rem; color: #777; padding: 10px 0; }
.site-socket a { color: #777; }

@media (max-width: 991.98px) {
    .page-inner { padding-left: 16px; padding-right: 16px; }
    .site-title { font-size: 1.5rem; }
    .site-brand img { height: 48px; }
    .hero { height: 220px; }
    .hero-label { left: 16px; bottom: 16px; font-size: 1.6rem; }
    .main-nav .nav-link.active { padding-left: 14px !important; }
}
@media (max-width: 575.98px) {
    body { padding-top: 0; }
    .site-header { padding-top: 16px; padding-bottom: 16px; }
}
