/* ------------------------------------------------------------------ */
/* Warm classical theme — Конкурс «Обрії класики»                     */
/* Auto-loaded by Cassiopeia. Survives core updates.                  */
/* ------------------------------------------------------------------ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap&subset=cyrillic,cyrillic-ext');

:root {
    --hc-cream:       #FAF7F0;
    --hc-cream-warm:  #F5EFE0;
    --hc-rule:        #E8DFD0;
    --hc-navy:        #1E3A5F;
    --hc-navy-deep:   #16294A;
    --hc-gold:        #C9A961;
    --hc-text:        #2A2A2A;
    --hc-text-soft:   #555555;

    --cassiopeia-color-primary:  var(--hc-navy);
    --cassiopeia-color-link:     var(--hc-navy);
    --cassiopeia-color-hover:    var(--hc-gold);
    --link-color:                var(--hc-navy);
    --link-color-rgb:            30, 58, 95;
    --link-hover-color:          var(--hc-gold);
    --link-hover-color-rgb:      201, 169, 97;
}

/* ---- base typography ---------------------------------------------- */

html, body {
    background-color: var(--hc-cream);
    color: var(--hc-text);
}

body {
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    font-weight: 600;
    color: var(--hc-navy);
    letter-spacing: 0.005em;
    line-height: 1.25;
}

h1 { font-size: 2.4rem; margin: 0 0 1.25rem; }
h2 { font-size: 2.0rem; margin: 2rem 0 1rem; }
h3 { font-size: 1.5rem; margin: 1.5rem 0 0.75rem; }
h4 { font-size: 1.25rem; }

p {
    margin: 0 0 1.1rem;
}

a {
    color: var(--hc-navy);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color 0.15s ease;
}
a:hover, a:focus {
    color: var(--hc-gold);
}

hr {
    border: none;
    border-top: 1px solid var(--hc-rule);
    margin: 2rem 0;
}

blockquote {
    border-left: 3px solid var(--hc-gold);
    padding-left: 1.25rem;
    margin: 1.5rem 0;
    color: var(--hc-text-soft);
    font-style: italic;
}

/* ---- header / brand ----------------------------------------------- */

.container-header,
header.header,
#header {
    background-color: var(--hc-cream);
    border-bottom: 1px solid var(--hc-rule);
    padding: 0.5rem 0;
}

.brand-logo,
.site-title,
.brand-logo a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.brand-logo img,
.header img.logo,
#header img {
    max-height: 55px;
    width: auto;
}

/* ---- layout ------------------------------------------------------- */

.container-component,
main.site-grid > main,
.com-content-article {
    padding: 1.5rem 0;
}

article,
.com-content-article__body,
.item-page {
    max-width: 72ch;
}

/* page heading */
.com-content-article__header h1,
.page-header h1,
.item-page h2 {
    border-bottom: 1px solid var(--hc-rule);
    padding-bottom: 0.6rem;
    margin-bottom: 1.5rem;
}

/* article meta (date / author) */
.article-info,
.com-content-article__info-block {
    font-size: 0.875rem;
    color: var(--hc-text-soft);
}

/* ---- neutralize legacy inline styles -------------------------------
   Legacy J3 articles came pasted-in with inline font-family / font-size /
   color from MS Word / TinyMCE that overrode the template. Force the
   article body to inherit our theme typography. Tables, headings, lists
   are all caught by the universal selector.
-------------------------------------------------------------------- */

.com-content-article__body,
.item-page,
.com-content-article__body * {
    font-family: 'Manrope', system-ui, sans-serif !important;
}

.com-content-article__body p,
.com-content-article__body li,
.com-content-article__body td,
.com-content-article__body th,
.com-content-article__body span,
.com-content-article__body div {
    color: var(--hc-text) !important;
    line-height: 1.7 !important;
}

/* keep heading family override but let our sizes win */
.com-content-article__body h1,
.com-content-article__body h2,
.com-content-article__body h3,
.com-content-article__body h4 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    color: var(--hc-navy) !important;
}

/* tables with photo + bio (jury, organizers, partners) */
.com-content-article__body table {
    width: 100% !important;
    height: auto !important;
    border-collapse: collapse;
    margin: 1.5rem 0;
}

.com-content-article__body table td,
.com-content-article__body table th {
    padding: 0.75rem 1rem;
    vertical-align: top;
    border-bottom: 1px solid var(--hc-rule);
    font-size: 1rem;
}

/* portrait cells: keep a sane fixed width on the photo column */
.com-content-article__body table td:first-child img {
    max-width: 160px;
    height: auto !important;
    display: block;
}

.com-content-article__body img {
    max-width: 100%;
    height: auto !important;
    border-radius: 3px;
}

/* drop the 13px / cramped line-height that legacy editors left in */
.com-content-article__body [style*="font-size: 13px"],
.com-content-article__body [style*="font-size:13px"] {
    font-size: 1rem !important;
}

/* ---- right sidebar menu ------------------------------------------- */

.container-sidebar-right {
    padding-left: 1.5rem;
}

.container-sidebar-right .mod_menu,
.container-sidebar-right .moduletable,
.container-sidebar-right nav {
    background-color: var(--hc-cream-warm);
    border-left: 3px solid var(--hc-navy);
    padding: 1.25rem 1rem 1.25rem 1.5rem;
    border-radius: 0 4px 4px 0;
}

.container-sidebar-right .mod_menu h3,
.container-sidebar-right .moduletable h3 {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--hc-navy);
    margin: 0 0 0.75rem;
    font-family: 'Manrope', sans-serif;
    font-weight: 600;
}

.container-sidebar-right .mod-menu,
.container-sidebar-right ul.nav,
.container-sidebar-right ul.menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.container-sidebar-right .mod-menu li,
.container-sidebar-right ul.nav li {
    margin: 0.4rem 0;
}

.container-sidebar-right .mod-menu a,
.container-sidebar-right ul.nav a,
.container-sidebar-right ul.menu a {
    text-decoration: none;
    font-weight: 500;
    color: var(--hc-navy);
    padding: 0.2rem 0;
    display: inline-block;
    transition: color 0.15s ease;
}

.container-sidebar-right .mod-menu a:hover,
.container-sidebar-right ul.nav a:hover {
    color: var(--hc-gold);
}

.container-sidebar-right .mod-menu li.current > a,
.container-sidebar-right .mod-menu li.active > a,
.container-sidebar-right ul.nav li.active > a {
    color: var(--hc-gold);
    border-bottom: 1px solid var(--hc-gold);
}

/* ---- embedded videos (from {youtube} shortcodes) ------------------ */

.hc-video {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
    max-width: 720px;
    margin: 1.5rem 0;
    background: #000;
    border-radius: 4px;
    overflow: hidden;
}

.hc-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ---- forms (used by Convert Forms "Заявка") ----------------------- */

.cf-form .cf-label,
.cf-form label {
    font-weight: 600;
    color: var(--hc-navy);
}

.cf-form input[type=text],
.cf-form input[type=email],
.cf-form input[type=tel],
.cf-form select,
.cf-form textarea {
    background-color: #fff;
    border: 1px solid var(--hc-rule);
    border-radius: 3px;
    font-family: inherit;
    font-size: 16px;
    padding: 0.6rem 0.75rem;
}

.cf-form input:focus,
.cf-form select:focus,
.cf-form textarea:focus {
    outline: none;
    border-color: var(--hc-navy);
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.12);
}

.cf-form .cf-btn {
    background-color: var(--hc-navy) !important;
    border: none;
    color: #fff !important;
    font-weight: 600;
}

.cf-form .cf-btn:hover {
    background-color: var(--hc-navy-deep) !important;
}

/* ---- footer ------------------------------------------------------- */

.container-footer,
footer.footer {
    background-color: var(--hc-navy);
    color: var(--hc-cream);
    padding: 1.75rem 0;
    margin-top: 3rem;
    font-size: 0.9rem;
}

.container-footer a,
footer.footer a {
    color: var(--hc-cream);
    text-decoration: underline;
}
.container-footer a:hover {
    color: var(--hc-gold);
}

/* ---- responsive --------------------------------------------------- */

@media (max-width: 768px) {
    body { font-size: 16px; }
    h1 { font-size: 1.9rem; }
    h2 { font-size: 1.5rem; }

    .container-sidebar-right {
        padding-left: 0;
        margin-top: 2rem;
    }
}
