/* ============================================================
   VILNIUS MEDIEVAL STYLE — Средневековый Вильнюс
   Вдохновлено готической архитектурой Старого города Вильнюса
   ============================================================ */

/* ── CSS Variables ── */
:root {
    --parchment:       #f2e0b0;
    --parchment-dark:  #e0c98a;
    --ink:             #1e0f06;
    --brown-deep:      #2c1a0e;
    --crimson:         #7a1515;
    --gold:            #b8923a;
    --gold-light:      #d4af6a;
    --stone:           #6b5d4f;
    --stone-light:     #9e8f7e;
    --stone-dark:      #3a2e24;
    --shadow:          rgba(30, 15, 6, 0.55);
}

/* ── Parchment background ── */
html, body {
    background-color: var(--parchment) !important;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"),
        radial-gradient(ellipse at 20% 20%, #f7e8c0 0%, var(--parchment) 50%, #dfc480 100%);
    color: var(--ink) !important;
    font-family: 'IM Fell English SC', Georgia, 'Times New Roman', serif !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

/* ── Wrapper ── */
.l-wrap,
.l-content,
#wpcontent,
.site,
.wrapper,
.container,
.l-container {
    background: transparent !important;
}

/* ── HEADER ── */
#site-header,
.site-header,
header.l-header,
.l-header {
    background: linear-gradient(180deg, #0d0806 0%, #1e120a 60%, #2e1c0e 100%) !important;
    border-bottom: 4px solid var(--gold) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.7), inset 0 -2px 6px rgba(184,146,58,0.25) !important;
    position: relative;
    padding: 0 !important;
}

/* Top ornament line */
#site-header::before,
.site-header::before,
.l-header::before {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--gold), var(--gold-light), var(--gold), transparent);
}

/* ── Site Title (Branding) ── */
.site-title,
#site-title,
.l-header__site-title,
.site-branding__title {
    font-family: 'Cinzel Decorative', 'Times New Roman', serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.site-title a,
#site-title a,
.l-header__site-title a,
.site-branding__title a {
    color: var(--gold-light) !important;
    text-decoration: none !important;
    text-shadow: 0 0 12px rgba(184,146,58,0.5), 2px 2px 4px rgba(0,0,0,0.8) !important;
    transition: color 0.3s, text-shadow 0.3s !important;
}

.site-title a:hover,
.l-header__site-title a:hover {
    color: #fff8e0 !important;
    text-shadow: 0 0 20px rgba(212,175,106,0.8), 2px 2px 6px rgba(0,0,0,0.9) !important;
}

/* Site description / tagline */
.site-description,
.l-header__site-description,
.site-branding__description {
    font-family: 'IM Fell English SC', Georgia, serif !important;
    color: var(--stone-light) !important;
    font-style: italic !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.12em !important;
}

/* ── NAVIGATION ── */
.global-nav,
#global-nav,
.l-header__nav,
nav.menu,
.site-navigation,
.primary-navigation {
    background: linear-gradient(180deg, #1a0d07 0%, #231107 100%) !important;
    border-top: 1px solid rgba(184,146,58,0.3) !important;
    border-bottom: 2px solid rgba(184,146,58,0.4) !important;
}

.global-nav ul,
nav.menu ul,
.primary-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.global-nav a,
nav.menu a,
.primary-navigation a,
.global-nav__item a,
.menu-item a {
    font-family: 'Cinzel Decorative', 'Times New Roman', serif !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    color: var(--gold-light) !important;
    text-decoration: none !important;
    padding: 12px 20px !important;
    display: block !important;
    text-transform: uppercase !important;
    transition: color 0.3s, background 0.3s !important;
    position: relative;
}

.global-nav a::after,
nav.menu a::after {
    content: '❧';
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.6rem;
    color: var(--gold);
    opacity: 0;
    transition: opacity 0.3s;
}

.global-nav a:hover,
nav.menu a:hover,
.primary-navigation a:hover,
.global-nav a:focus {
    color: #fff8e0 !important;
    background: rgba(184,146,58,0.15) !important;
}

.global-nav a:hover::after,
nav.menu a:hover::after {
    opacity: 1;
}

/* ── HEADINGS ── */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.widget-title {
    font-family: 'Cinzel Decorative', 'Times New Roman', serif !important;
    color: var(--brown-deep) !important;
    line-height: 1.3 !important;
    letter-spacing: 0.04em !important;
}

h1 { font-size: 2.2rem !important; }
h2 { font-size: 1.7rem !important; }
h3 { font-size: 1.4rem !important; }
h4 { font-size: 1.15rem !important; }

/* Entry title links */
.entry-title a,
.post-title a {
    color: var(--brown-deep) !important;
    text-decoration: none !important;
    transition: color 0.3s !important;
}

.entry-title a:hover,
.post-title a:hover {
    color: var(--crimson) !important;
}

/* ── LINKS ── */
a {
    color: var(--crimson) !important;
    transition: color 0.3s !important;
}

a:hover {
    color: var(--gold) !important;
    text-decoration: underline !important;
}

/* ── MAIN CONTENT AREA ── */
.l-content,
#content,
.site-content,
main.l-main {
    background: transparent !important;
}

/* ── POSTS / CARDS ── */
article,
.post,
.hentry,
.l-main article {
    background: linear-gradient(160deg, #fdf5e0 0%, #f5e8c0 60%, #ede0a8 100%) !important;
    border: 1px solid var(--parchment-dark) !important;
    border-left: 4px solid var(--gold) !important;
    border-radius: 2px !important;
    box-shadow: 3px 3px 12px rgba(30,15,6,0.2), inset 0 0 40px rgba(180,140,50,0.05) !important;
    margin-bottom: 2.5rem !important;
    padding: 2rem 2.2rem !important;
    position: relative;
    transition: box-shadow 0.3s, transform 0.3s !important;
}

article::before,
.hentry::before {
    content: '✦';
    position: absolute;
    top: 1.2rem;
    right: 1.4rem;
    color: var(--gold);
    font-size: 1rem;
    opacity: 0.5;
}

article:hover,
.hentry:hover {
    box-shadow: 5px 5px 20px rgba(30,15,6,0.3) !important;
    transform: translateY(-1px);
}

/* ── ENTRY META ── */
.entry-meta,
.posted-on,
.byline {
    font-family: 'IM Fell English SC', Georgia, serif !important;
    color: var(--stone) !important;
    font-size: 0.85rem !important;
    font-style: italic !important;
    border-bottom: 1px dashed var(--stone-light) !important;
    padding-bottom: 0.6rem !important;
    margin-bottom: 1rem !important;
}

/* Decorative divider after title */
.entry-title::after,
h1.page-title::after {
    content: '⸻ ✦ ⸻';
    display: block;
    font-size: 0.9rem;
    color: var(--gold);
    text-align: center;
    letter-spacing: 0.4em;
    margin: 0.5rem 0 1rem;
    font-style: normal;
}

/* ── ENTRY CONTENT ── */
.entry-content,
.post-content,
.page-content {
    font-family: 'IM Fell English SC', Georgia, 'Times New Roman', serif !important;
    color: var(--ink) !important;
    font-size: 1.05rem !important;
    line-height: 1.85 !important;
}

.entry-content p:first-of-type::first-letter {
    font-family: 'Cinzel Decorative', serif !important;
    font-size: 3.5em !important;
    font-weight: 700 !important;
    color: var(--crimson) !important;
    float: left !important;
    line-height: 0.75 !important;
    margin: 0.1em 0.1em 0 0 !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2) !important;
}

/* Horizontal rules */
.entry-content hr,
hr {
    border: none !important;
    border-top: 1px solid var(--gold) !important;
    margin: 2rem 0 !important;
    position: relative;
}

hr::after {
    content: '⸙';
    position: absolute;
    top: -0.7em;
    left: 50%;
    transform: translateX(-50%);
    background: var(--parchment);
    padding: 0 0.5em;
    color: var(--gold);
    font-size: 1rem;
}

/* Blockquotes */
blockquote {
    border-left: 4px solid var(--gold) !important;
    border-right: 1px solid var(--parchment-dark) !important;
    background: rgba(184,146,58,0.08) !important;
    color: var(--brown-deep) !important;
    font-style: italic !important;
    padding: 1rem 1.5rem !important;
    margin: 1.5rem 0 !important;
    font-family: 'IM Fell English SC', Georgia, serif !important;
    font-size: 1.1rem !important;
    position: relative;
}

blockquote::before {
    content: '\201C';
    font-family: 'Cinzel Decorative', serif;
    font-size: 3rem;
    color: var(--gold);
    opacity: 0.4;
    position: absolute;
    top: -0.5rem;
    left: 0.5rem;
    line-height: 1;
}

/* ── SIDEBAR / WIDGETS ── */
.sidebar,
#sidebar,
.l-sidebar,
aside.widget-area {
    background: transparent !important;
}

.widget,
.l-sidebar .widget {
    background: linear-gradient(160deg, #fdf5e0, #ede0a8) !important;
    border: 1px solid var(--parchment-dark) !important;
    border-top: 3px solid var(--gold) !important;
    padding: 1.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 2px 2px 8px rgba(30,15,6,0.15) !important;
}

.widget-title,
.widgettitle {
    font-family: 'Cinzel Decorative', serif !important;
    font-size: 1rem !important;
    color: var(--brown-deep) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-bottom: 1px solid var(--gold) !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 1rem !important;
}

/* ── BUTTONS ── */
.btn,
button,
input[type="submit"],
input[type="button"],
.wp-block-button__link,
.wp-element-button {
    font-family: 'Cinzel Decorative', serif !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    background: linear-gradient(180deg, #9e2020 0%, #6a1010 100%) !important;
    color: var(--gold-light) !important;
    border: 1px solid var(--gold) !important;
    border-radius: 1px !important;
    padding: 0.65rem 1.6rem !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1) !important;
    text-decoration: none !important;
}

.btn:hover,
button:hover,
input[type="submit"]:hover {
    background: linear-gradient(180deg, #b82828 0%, #8a1515 100%) !important;
    color: #fff8e0 !important;
    box-shadow: 3px 3px 10px rgba(0,0,0,0.5) !important;
    transform: translateY(-1px) !important;
}

/* ── FOOTER ── */
#site-footer,
.site-footer,
footer.l-footer,
.l-footer {
    background: linear-gradient(180deg, #1a0d07 0%, #0d0806 100%) !important;
    border-top: 4px solid var(--gold) !important;
    color: var(--stone-light) !important;
    font-family: 'IM Fell English SC', Georgia, serif !important;
    padding: 2.5rem 1.5rem !important;
    text-align: center !important;
    position: relative;
}

.site-footer::before,
.l-footer::before {
    content: '⸻ ✦ ✦ ✦ ⸻';
    display: block;
    color: var(--gold);
    letter-spacing: 0.5em;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    opacity: 0.7;
}

.site-footer a,
.l-footer a {
    color: var(--gold-light) !important;
}

.site-footer a:hover,
.l-footer a:hover {
    color: #fff8e0 !important;
}

/* Copyright / footer text */
.footer-copyright,
.site-info,
.footer-credit {
    color: var(--stone-light) !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.08em !important;
}

/* ── IMAGES ── */
.entry-content img,
.wp-post-image,
.attachment-post-thumbnail {
    border: 3px solid var(--parchment-dark) !important;
    box-shadow: 4px 4px 14px rgba(30,15,6,0.3) !important;
    border-radius: 1px !important;
}

/* ── FORMS ── */
input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select {
    background: #fdf8ec !important;
    border: 1px solid var(--stone-light) !important;
    border-radius: 1px !important;
    color: var(--ink) !important;
    font-family: 'IM Fell English SC', Georgia, serif !important;
    padding: 0.5rem 0.8rem !important;
    transition: border-color 0.3s !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: var(--gold) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(184,146,58,0.2) !important;
}

/* ── CATEGORIES / TAGS ── */
.cat-links a,
.tags-links a,
.wp-tag-cloud a {
    background: var(--stone-dark) !important;
    color: var(--gold-light) !important;
    padding: 2px 10px !important;
    border-radius: 1px !important;
    font-size: 0.8rem !important;
    font-family: 'Cinzel Decorative', serif !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
}

/* ── PAGINATION ── */
.page-numbers,
.nav-links a {
    font-family: 'Cinzel Decorative', serif !important;
    color: var(--crimson) !important;
    border: 1px solid var(--parchment-dark) !important;
    padding: 4px 12px !important;
    background: linear-gradient(180deg, #fdf5e0, #ede0a8) !important;
}

.page-numbers.current,
.page-numbers:hover {
    background: var(--stone-dark) !important;
    color: var(--gold-light) !important;
    border-color: var(--gold) !important;
}

/* ── Gutenberg blocks ── */
.wp-block-separator {
    border-top-color: var(--gold) !important;
}

/* ── Search form ── */
.search-form .search-field {
    border: 1px solid var(--stone-light) !important;
    background: #fdf8ec !important;
}

.search-form .search-submit {
    background: var(--stone-dark) !important;
    color: var(--gold-light) !important;
}

/* ── Scrollbar (Webkit) ── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--parchment-dark); }
::-webkit-scrollbar-thumb { background: var(--stone); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: var(--stone-dark); }

/* ── Lightning specific overrides ── */
.vk-mobile-nav-menu-btn span,
.vk-mobile-nav-menu-btn span::before,
.vk-mobile-nav-menu-btn span::after {
    background: var(--gold-light) !important;
}

.vk-mobile-nav {
    background: #1a0d07 !important;
}

.vk-mobile-nav a {
    color: var(--gold-light) !important;
    border-bottom: 1px solid rgba(184,146,58,0.2) !important;
}

/* Featured image overlay */
.entry-header .wp-post-image {
    filter: sepia(15%) contrast(105%) !important;
}

/* ── Page title area ── */
.l-header__hero,
.page-header {
    border-bottom: 2px solid var(--gold) !important;
    padding: 2rem 0 !important;
}

/* ── Selection color ── */
::selection {
    background: var(--gold) !important;
    color: var(--ink) !important;
}
