/*
Theme Name: Ieremia
Theme URI: https://pfib.ro/
Author: Parohia Fericitul Ieremia Bacău
Description: Temă pentru site-ul Parohiei romano-catolice „Fericitul Ieremia” din Bacău. Culoarea se schimbă automat după timpul liturgic.
Version: 1.0.1
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: ieremia
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* ==========================================================================
   1. Variabile și timpuri liturgice
   --pri  fundal bară/hero/subsol     --acc  accent pe fond închis
   --ink  accent pe fond deschis (decor: linii, pictograme)
   --ink-t variantă pentru TEXT pe fond deschis (contrast AA)
   ========================================================================== */
:root {
	--pri: #14172A;
	--acc: #D9B56A;
	--ink: #B88A3B;
	--ink-t: #8A6A28;
	--text: #1E2235;
	--muted: #6B5A45;
	--page: #F6F3EA;
	--card: #FFFDF8;
	--card-line: #E4DCC6;
	--line: #ECE5D0;
	--white: #FFFFFF;
	--head-line: #E6E0D0;
	--on-dark: #FAF6EC;
	--on-dark-soft: #E8E3D3;
	--focus: var(--ink);
	--serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}
body.timp-marca    { --pri: #14172A; --acc: #D9B56A; --ink: #B88A3B; --ink-t: #8A6A28; }
body.timp-peste-an { --pri: #14172A; --acc: #D9B56A; --ink: #B88A3B; --ink-t: #8A6A28; }
body.timp-advent   { --pri: #2B1B47; --acc: #E8C86A; --ink: #5B3A8C; --ink-t: #5B3A8C; }
body.timp-craciun  { --pri: #14172A; --acc: #D9B56A; --ink: #8A6A28; --ink-t: #8A6A28; }
body.timp-post     { --pri: #3A2D44; --acc: #CDBFD6; --ink: #6B4A7A; --ink-t: #6B4A7A; }
body.timp-paste    { --pri: #5E4310; --acc: #FFE9A8; --ink: #8A6A28; --ink-t: #8A6A28; }
body.timp-rusalii  { --pri: #5E1515; --acc: #E8C86A; --ink: #A32B2B; --ink-t: #A32B2B; }

/* ==========================================================================
   2. Bază
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.5;
	color: var(--text);
	background: var(--page);
	overflow-x: hidden;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
img, svg, video { max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ink-t); }
h1, h2, h3 { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
p { margin: 0; }

:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
.topbar, .hero, .banner, .site-footer, .announce, .featured { --focus: var(--acc); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap;
}
.skip-link {
	position: absolute; left: 12px; top: -80px; z-index: 100;
	padding: 10px 16px; background: var(--white); color: var(--text); border-radius: 4px;
	font-weight: 600; box-shadow: 0 2px 10px rgba(0, 0, 0, .3);
}
.skip-link:focus { top: 12px; }

.wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; width: 100%; }

.eyebrow { display: block; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--acc); }

.btn {
	display: inline-block; padding: 14px 26px; background: var(--acc); color: var(--pri);
	font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; border-radius: 4px;
}
.btn:hover { color: var(--pri); filter: brightness(1.08); }
.btn--small { padding: 12px 22px; border-radius: 6px; letter-spacing: .06em; text-transform: none; }
.link-under {
	font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: var(--on-dark); border-bottom: 1px solid rgba(250, 246, 236, .5); padding-bottom: 3px;
}
.link-under:hover { color: var(--acc); border-color: var(--acc); }

.card { background: var(--card); border: 1px solid var(--card-line); border-radius: 14px; }

/* ==========================================================================
   3. Logo (variabilele sigla-ei; --ink de aici NU este accentul sezonier)
   ========================================================================== */
.mark {
	display: block; flex: none;
	--ink: #1E2235; --wall: #F3ECD8; --roof: #D8D2C0; --frame: #FFFFFF;
	--glass: #2B3552; --gold: #B88A3B; --mosaic: #D9B56A; --d2: none; --d3: none;
}
.mark--dark {
	--ink: var(--acc); --wall: var(--pri); --roof: var(--pri); --frame: var(--pri);
	--glass: rgba(255, 255, 255, .14); --gold: var(--acc); --mosaic: var(--acc); --d2: inline; --d3: inline;
}

/* ==========================================================================
   4. Bara de sus
   ========================================================================== */
.topbar { background: var(--pri); color: var(--on-dark-soft); font-size: 13px; }
.topbar__in { display: flex; flex-wrap: wrap; gap: 8px 28px; align-items: center; justify-content: space-between; padding-top: 10px; padding-bottom: 10px; }
.topbar__saint strong { font-weight: 600; }
.topbar__date { opacity: .8; }
.topbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.topbar__social { display: flex; gap: 22px; }
.live-pill { display: inline-flex; align-items: center; gap: 8px; padding: 4px 13px; border-radius: 999px; background: rgba(214, 69, 69, .18); border: 1px solid rgba(214, 69, 69, .42); color: #FFC9C9; font-size: 13px; }
.live-pill i { width: 7px; height: 7px; border-radius: 50%; background: #FF6B6B; flex: none; }
.topbar .live-pill:hover { color: #fff; }
.topbar a:hover { color: var(--acc); }

/* ==========================================================================
   5. Antet și meniu
   ========================================================================== */
.site-header { position: relative; z-index: 20; background: var(--white); border-bottom: 1px solid var(--head-line); }
.site-header__in { display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: center; justify-content: space-between; padding-top: 12px; padding-bottom: 12px; }
.brand { display: flex; align-items: center; gap: 14px; color: var(--text); }
.brand:hover { color: var(--text); }
.brand__text { display: flex; flex-direction: column; line-height: 1; }
.brand__name { font-family: var(--serif); font-size: 27px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.brand__sub { font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--muted); margin-top: 5px; }

.main-nav .menu { display: flex; flex-wrap: wrap; gap: 6px 26px; }
.main-nav .menu > li { position: relative; }
.main-nav a {
	display: block; padding: 8px 0; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	border-bottom: 2px solid transparent;
}
.main-nav .menu > li > a:hover { color: var(--ink-t); }
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current_page_item > a { border-bottom-color: var(--ink); }

.main-nav .sub-menu {
	position: absolute; left: -16px; top: 100%; min-width: 230px; padding: 8px 0;
	background: var(--white); border: 1px solid var(--head-line); border-radius: 10px;
	box-shadow: 0 12px 28px rgba(20, 23, 42, .14); display: none; z-index: 30;
}
.main-nav .sub-menu li { position: relative; }
.main-nav .sub-menu a { padding: 9px 18px; font-size: 13px; letter-spacing: .04em; text-transform: none; font-weight: 500; border: 0; }
.main-nav .sub-menu a:hover { background: var(--page); color: var(--ink-t); }
.main-nav .sub-menu .sub-menu { left: 100%; top: -9px; }
.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu { display: block; }
.main-nav .menu > li.menu-item-has-children > a::after { content: ''; display: inline-block; margin-left: 7px; width: 5px; height: 5px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); }
.sub-toggle { display: none; }

.search-btn {
	width: 42px; height: 42px; border-radius: 50%; border: 1px solid #DDD5BF; color: var(--pri);
	display: flex; align-items: center; justify-content: center; background: transparent; cursor: pointer;
}
.search-btn:hover { background: var(--page); color: var(--pri); }
.search-panel { border-top: 1px solid var(--head-line); background: var(--page); padding: 14px 0; }
.search-panel[hidden] { display: none; }

.nav-toggle {
	display: none; width: 42px; height: 42px; border-radius: 8px; border: 1px solid #DDD5BF; background: transparent;
	cursor: pointer; align-items: center; justify-content: center; color: var(--pri);
}
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { display: block; width: 20px; height: 2px; background: currentColor; border-radius: 1px; content: ''; position: relative; transition: transform .2s; }
.nav-toggle__bars::before { position: absolute; top: -6px; }
.nav-toggle__bars::after { position: absolute; top: 6px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { top: 0; transform: rotate(-45deg); }

/* formular de căutare */
.search-form { display: flex; gap: 8px; max-width: 560px; }
.search-form input[type="search"] {
	flex: 1; min-width: 0; padding: 12px 14px; font: inherit; font-size: 16px; color: var(--text);
	background: var(--white); border: 1px solid #CFC6AC; border-radius: 6px;
}
.search-form button {
	padding: 12px 20px; font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
	background: var(--pri); color: var(--on-dark); border: 0; border-radius: 6px; cursor: pointer;
}
.search-form button:hover { filter: brightness(1.2); }

/* bandă de anunț */
.announce { background: var(--acc); color: var(--pri); font-size: 14px; font-weight: 500; }
.announce__in { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; justify-content: center; padding-top: 9px; padding-bottom: 9px; text-align: center; }
.announce a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; color: var(--pri); }

/* ==========================================================================
   6. Prima pagină: hero
   ========================================================================== */
.hero { position: relative; background: var(--pri); min-height: 480px; display: flex; align-items: center; overflow: hidden; }
.hero__img { position: absolute; left: 0; top: 0; width: 100%; height: 135%; max-width: none; object-fit: cover; object-position: center top; opacity: .5; }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--pri) 0%, rgba(0, 0, 0, 0) 100%); opacity: .9; }
.hero__in { position: relative; padding-top: 52px; padding-bottom: 52px; display: flex; flex-wrap: wrap; gap: 36px; align-items: center; justify-content: space-between; color: var(--on-dark); }
.hero__msg { flex: 1 1 460px; max-width: 620px; }
.hero h1 { margin: 14px 0 16px; font-family: var(--serif); font-size: clamp(40px, 6vw, 62px); line-height: 1.02; font-weight: 600; }
.hero p { margin: 0 0 26px; font-size: 18px; line-height: 1.55; color: var(--on-dark-soft); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; }
.next {
	flex: 0 1 320px; padding: 22px 24px; border-radius: 16px; background: rgba(10, 12, 24, .55);
	border: 1px solid rgba(255, 255, 255, .22); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.next__kicker { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--acc); }
.next__time { margin: 10px 0 4px; font-family: var(--serif); font-size: 52px; line-height: 1; font-weight: 600; }
.next__label { font-size: 18px; }
.next__then { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(250, 246, 236, .18); font-size: 14px; color: #D9D3C0; }

/* dale */
.tiles { background: var(--white); border-bottom: 1px solid var(--head-line); }
.tiles__grid { padding-top: 20px; padding-bottom: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.tile {
	display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--head-line);
	border-radius: 10px; background: #FBF9F2; font-size: 14px; font-weight: 500;
}
.tile .icon { flex: none; color: var(--ink); }
.tile:hover { border-color: var(--ink); background: var(--white); }

/* ornament pe timp liturgic */
.orn { flex: none; width: 116px; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; --o2: #FAF6EC; }
.orn svg { width: 104px; height: 104px; max-width: none; }
.orn__cap { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--acc); font-weight: 600; }
.flame { animation: flicker 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: 50% 100%; }
@keyframes flicker { 0%, 100% { transform: scale(1) rotate(-2deg); } 50% { transform: scale(1.08, 1.14) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .flame { animation: none; } }

/* ==========================================================================
   7. Prima pagină: trei coloane
   ========================================================================== */
.home-grid { padding-top: 36px; padding-bottom: 56px; display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }

.program { flex: 1 1 280px; max-width: 340px; padding: 24px; }
.card__title { margin: 0 0 14px; font-family: var(--serif); font-size: 28px; font-weight: 600; }
.program__body { font-size: 14px; line-height: 1.65; }
.program__group { padding: 10px 0; border-top: 1px solid var(--line); }
.program__group strong { display: block; color: var(--ink-t); font-weight: 600; }
.sched-row { display: block; }
.sched-row b { font-weight: 600; font-variant-numeric: tabular-nums; }
.sched-note { display: block; color: var(--muted); }

.news { flex: 2 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.section-label { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; padding: 4px 0 4px 12px; border-left: 3px solid var(--ink); }
.featured { background: var(--pri); color: var(--on-dark); border-radius: 14px; padding: 30px; display: flex; flex-direction: column; gap: 12px; }
.featured__meta { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--acc); }
.featured h3 { font-family: var(--serif); font-size: clamp(28px, 3.4vw, 36px); line-height: 1.08; font-weight: 600; }
.featured h3 a:hover { color: var(--acc); }
.featured .btn { align-self: flex-start; margin-top: 6px; }
.news__list { padding: 6px 24px; }
.card__label { padding: 16px 0 6px; font-family: var(--sans); font-size: 12px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.news__item { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); }
.news__title { font-family: var(--serif); font-size: 22px; line-height: 1.15; font-weight: 600; }
.news__date { flex: none; font-size: 12px; color: var(--muted); }
.news__all { display: block; padding: 16px 0; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-t); }
.news__all:hover { text-decoration: underline; }

.side { flex: 1 1 260px; max-width: 320px; display: flex; flex-direction: column; gap: 16px; }
.live { position: relative; display: block; border-radius: 14px; overflow: hidden; height: 220px; background: var(--pri); color: var(--on-dark); }
.live img { position: absolute; left: 0; top: 0; width: 100%; height: 130%; max-width: none; object-fit: cover; object-position: center top; opacity: .8; }
.live__shade { position: absolute; inset: 0; background: linear-gradient(0deg, var(--pri), rgba(0, 0, 0, .05)); opacity: .9; }
.live__text { position: absolute; left: 16px; right: 16px; bottom: 16px; display: block; }
.live__badge { display: inline-flex; align-items: center; gap: 7px; padding: 3px 10px; border-radius: 999px; background: #C23535; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.live__badge i { width: 6px; height: 6px; border-radius: 50%; background: #fff; }
.live__title { display: block; margin-top: 8px; font-family: var(--serif); font-size: 24px; font-weight: 600; line-height: 1.1; }
.live__sub { display: block; margin-top: 4px; font-size: 13px; color: #D9D3C0; }
.live:hover { color: var(--on-dark); }
.live:hover .live__title { color: var(--acc); }
.links { padding: 8px 18px; }
.links a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 15px; font-weight: 600; }
.links a:last-child { border-bottom: 0; }
.links a span:not(.screen-reader-text) { font-size: 12px; font-weight: 400; color: var(--muted); text-align: right; }

/* ==========================================================================
   8. Pagini interioare
   ========================================================================== */
.banner { background: var(--pri); color: var(--on-dark); padding: 40px 0 44px; }
.banner h1 { margin-top: 8px; font-family: var(--serif); font-size: clamp(32px, 4.6vw, 48px); line-height: 1.08; font-weight: 600; overflow-wrap: break-word; }
.banner .eyebrow { margin-bottom: 0; }

.content-wrap { padding-top: 32px; padding-bottom: 56px; }
.search-top { padding-bottom: 0; }
.entry { padding: clamp(20px, 4vw, 44px); max-width: 100%; }
.entry__meta { margin-bottom: 18px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }

.entry__content { font-size: 17px; line-height: 1.7; overflow-wrap: break-word; min-width: 0; }
.entry__content > :first-child { margin-top: 0; }
.entry__content > :last-child { margin-bottom: 0; }
.entry__content p { margin: 0 0 1.1em; }
.entry__content h2, .entry__content h3, .entry__content h4 { font-family: var(--serif); font-weight: 600; line-height: 1.15; margin: 1.6em 0 .5em; }
.entry__content h2 { font-size: 34px; }
.entry__content h3 { font-size: 27px; }
.entry__content h4 { font-size: 22px; }
.entry__content a { color: var(--ink-t); text-decoration: underline; text-underline-offset: 3px; }
.entry__content a:hover { text-decoration-thickness: 2px; }
.entry__content ul, .entry__content ol { margin: 0 0 1.1em; padding-left: 1.4em; }
.entry__content ul { list-style: disc; }
.entry__content li { margin-bottom: .3em; }
.entry__content img, .entry__content video, .entry__content iframe, .entry__content embed, .entry__content object,
.entry__content figure, .entry__content div, .entry__content p { max-width: 100%; }
.entry__content img { height: auto; border-radius: 4px; }
.entry__content iframe { border: 0; }
.entry__content iframe[src*="youtube"], .entry__content iframe[src*="youtu.be"], .entry__content iframe[src*="vimeo"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.entry__content table { display: block; width: max-content; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 0 0 1.2em; font-size: 15px; -webkit-overflow-scrolling: touch; }
.entry__content th, .entry__content td { padding: 8px 12px; border: 1px solid var(--card-line); vertical-align: top; }
.entry__content th { background: #F3EEDC; text-align: left; }
.entry__content blockquote { margin: 1.4em 0; padding: 6px 0 6px 22px; border-left: 3px solid var(--ink); font-family: var(--serif); font-size: 22px; line-height: 1.4; font-style: italic; color: var(--text); }
.entry__content blockquote p:last-child { margin-bottom: 0; }
.entry__content figure { margin: 1.4em 0; }
.entry__content figcaption, .entry__content .wp-caption-text { margin-top: 6px; font-size: 14px; color: var(--muted); }
.entry__content hr { border: 0; border-top: 1px solid var(--card-line); margin: 2em 0; }
.entry__content pre { overflow-x: auto; padding: 14px; background: #F3EEDC; border-radius: 6px; font-size: 14px; }
.entry__content .alignleft { float: left; margin: .3em 1.4em 1em 0; max-width: 50%; }
.entry__content .alignright { float: right; margin: .3em 0 1em 1.4em; max-width: 50%; }
.entry__content .aligncenter { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.entry__content .wp-caption { max-width: 100%; }
.entry__content::after { content: ''; display: block; clear: both; }
.entry__content .gallery { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); margin: 1.4em 0; }
.entry__content .gallery-item { margin: 0; width: auto !important; float: none !important; }
.entry__content .gallery-item img { width: 100%; height: 140px; object-fit: cover; }
.entry__content .gallery br { display: none; }

/* Conținut vechi (shortcode-uri WPBakery înlocuite în inc/compat.php) */
.entry__content .vc-row, .entry__content .vc-column, .entry__content .vc-section { display: block; margin: 0; }
.entry__content .vc-space { height: 24px; }
.entry__content .vc-separator { border: 0; border-top: 1px solid var(--card-line); margin: 1.6em 0; }
.entry__content .vc-image { margin: 1.2em 0; }
.entry__content .photo-grid { list-style: none; margin: 1.2em 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.entry__content .photo-grid li { margin: 0; }
.entry__content .photo-grid a { display: block; border-radius: 10px; overflow: hidden; border: 1px solid var(--card-line); background: #fff; }
.entry__content .photo-grid img { display: block; width: 100%; height: 190px; object-fit: cover; transition: transform .25s ease; }
.entry__content .photo-grid a:hover img, .entry__content .photo-grid a:focus-visible img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .entry__content .photo-grid img { transition: none; } }
.page-links { margin-top: 1.5em; font-weight: 600; }

.post-nav { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
.post-nav a { flex: 1 1 260px; padding: 16px 20px; background: var(--card); border: 1px solid var(--card-line); border-radius: 12px; font-family: var(--serif); font-size: 20px; font-weight: 600; line-height: 1.2; }
.post-nav a small { display: block; margin-bottom: 4px; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.post-nav__next { text-align: right; }
.post-nav a:hover { border-color: var(--ink); }

.post-list { padding: 8px clamp(20px, 4vw, 40px); }
.post-row { padding: 22px 0; border-bottom: 1px solid var(--line); }
.post-row:last-child { border-bottom: 0; }
.post-row h2 { font-family: var(--serif); font-size: 28px; line-height: 1.12; font-weight: 600; }
.post-row h2 a:hover { color: var(--ink-t); }
.post-row time { display: block; margin: 6px 0 8px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.post-row p { color: #3C3A33; }

.pagination { margin-top: 24px; }
.pagination ul { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; margin: 0; padding: 0; list-style: none; }
.pagination li { margin: 0; }
.pagination li > .page-numbers { display: block; min-width: 42px; padding: 10px 14px; text-align: center; background: var(--card); border: 1px solid var(--card-line); border-radius: 8px; font-size: 14px; font-weight: 600; }
.pagination li > a.page-numbers:hover { border-color: var(--ink-t); color: var(--ink-t); }
.pagination li > .current { background: var(--pri); border-color: var(--pri); color: var(--on-dark); }
.pagination li > .dots { border-color: transparent; background: transparent; }

/* ==========================================================================
   9. Subsol
   ========================================================================== */
.site-footer { background: var(--pri); color: #D5CFBC; font-size: 14px; }
.site-footer__in { padding-top: 48px; padding-bottom: 36px; display: flex; flex-wrap: wrap; gap: 32px 64px; justify-content: space-between; align-items: center; }
.site-footer__brand { flex: 1 1 300px; display: flex; align-items: center; gap: 24px; }
.site-footer__brand p { display: flex; flex-direction: column; gap: 6px; color: var(--on-dark); }
.site-footer__kicker { font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--acc); }
.site-footer__name { font-family: var(--serif); font-size: 26px; line-height: 1.1; font-weight: 600; }
.site-footer__col { flex: 1 1 200px; display: flex; flex-direction: column; gap: 8px; }
.site-footer__col h2 { font-family: var(--sans); font-size: 12px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--acc); }
.site-footer a:hover { color: var(--acc); text-decoration: underline; }
.site-footer__copy { border-top: 1px solid rgba(250, 246, 236, .12); text-align: center; padding: 16px 24px; font-size: 12px; letter-spacing: .08em; }

/* ==========================================================================
   10. Responsive
   ========================================================================== */
@media (max-width: 1080px) {
	/* Antetul rămâne lipit sus pe ecran la derulare și revine sub bara cu sfântul zilei când ajungi sus. */
	.site-header { position: sticky; top: 0; }
	.admin-bar .site-header { top: 32px; }
	.site-header.is-stuck { box-shadow: 0 6px 20px rgba(20, 23, 42, .14); }
	html { scroll-padding-top: 84px; }
	.main-nav.is-open { max-height: calc(100vh - 96px); max-height: calc(100svh - 96px); overflow-y: auto; overscroll-behavior: contain; }
	.nav-toggle { display: flex; margin-left: auto; order: 4; }
	.site-header__in { gap: 12px; }
	.search-btn { order: 3; }
	.main-nav { order: 5; flex: 0 0 100%; display: none; border-top: 1px solid var(--head-line); padding-top: 6px; }
	.main-nav.is-open { display: block; }
	.main-nav .menu { display: block; }
	.main-nav a { padding: 12px 0; }
	.main-nav .menu > li > a { border-bottom: 0; }
	.main-nav .menu > li { border-bottom: 1px solid var(--line); position: relative; }
	.main-nav .menu > li:last-child { border-bottom: 0; }
	.main-nav .menu > li.menu-item-has-children > a::after { display: none; }
	.main-nav .menu > li.menu-item-has-children > a { padding-right: 52px; }
	.main-nav .sub-menu, .main-nav .sub-menu .sub-menu {
		position: static; display: none; min-width: 0; padding: 0 0 8px 16px; border: 0; border-radius: 0; box-shadow: none; background: transparent;
	}
	.main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display: none; }
	.main-nav li.is-open > .sub-menu { display: block; }
	.main-nav .sub-menu a { padding: 9px 0; }
	.sub-toggle {
		display: block; position: absolute; right: 0; top: 4px; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; color: var(--text);
	}
	.sub-toggle::before { content: ''; display: block; width: 8px; height: 8px; margin: 0 auto; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .2s; }
	.is-open > .sub-toggle::before { transform: rotate(-135deg); }
	.main-nav .sub-menu .sub-toggle { top: 0; }
}

@media (max-width: 900px) {
	.orn { order: -1; flex: 0 0 100%; width: 100%; flex-direction: row; justify-content: flex-start; gap: 14px; }
	.orn svg { width: 84px; height: 84px; }
	.hero__in { gap: 20px; }
	.program, .side { max-width: none; flex-basis: 100%; }
	.news { flex-basis: 100%; }
}

@media (max-width: 600px) {
	.wrap { padding-left: 16px; padding-right: 16px; }
	.brand { flex: 1 1 0; min-width: 0; gap: 10px; }
	.brand__name { font-size: 18px; letter-spacing: .05em; white-space: nowrap; }
	.brand__sub { font-size: 7.5px; letter-spacing: .14em; white-space: nowrap; }
	.brand .mark { width: 32px; height: 43px; }
	.hero { min-height: 0; }
	.hero__in { padding-top: 36px; padding-bottom: 36px; gap: 26px; }
	.hero p { font-size: 16px; }
	.next { flex-basis: 100%; }
	.next__time { font-size: 44px; }
	.tiles__grid { grid-template-columns: repeat(2, 1fr); }
	.tile { padding: 12px; font-size: 13px; gap: 8px; }
	.featured { padding: 22px; }
	.news__list { padding: 4px 18px; }
	.news__title { font-size: 20px; }
	.news__item { flex-direction: column; gap: 4px; }
	.site-footer__brand { flex-direction: column; align-items: flex-start; gap: 16px; }
	.entry__content { font-size: 16px; }
	.entry__content h2 { font-size: 28px; }
	.entry__content .alignleft, .entry__content .alignright { float: none; display: block; margin: 1em auto; max-width: 100%; }
	.topbar__in { font-size: 12px; flex-direction: column; align-items: flex-start; }
	.search-form { flex-wrap: wrap; }
}

@media print {
	.topbar, .site-header, .site-footer, .announce, .skip-link { display: none; }
	.banner { background: none; color: #000; }
}

/* Pagini cu iframe (Breviarul): pe toată lățimea și înălțimea ecranului */
.page-embed .content-wrap { max-width: none; padding: 16px 16px 32px; }
.page-embed .entry { padding: 0; overflow: hidden; }
.page-embed .entry__content { padding: 0; margin: 0; }
.page-embed .entry__content iframe { display: block; width: 100%; max-width: none; height: calc(100vh - 230px); height: calc(100svh - 230px); min-height: 640px; border: 0; }
@media (max-width: 600px) {
	.page-embed .content-wrap { padding: 8px 8px 24px; }
	.page-embed .entry__content iframe { height: calc(100svh - 190px); min-height: 560px; }
}

/* Fundal discret, în mișcare lentă, în zona de anunțuri (canvas desenat în assets/js/theme.js) */
.waves-zone { position: relative; overflow: hidden; }
.waves-zone > .waves { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; z-index: 0; }
.waves-zone .home-grid, .waves-zone .content-wrap { position: relative; z-index: 1; }

/* Ninsoare (assets/js/snow.js): peste conținut, dar sub meniuri și fără să prindă clicuri */
.snow { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 30; }
@media print { .snow, .waves { display: none; } }

@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
