/*
Theme Name: Maeștri Spirituali Starter
Theme URI: https://www.maestrispirituali.ro/
Author: CEYLON SOLUTIONS SRL
Description: Temă editorială curată pentru maestrispirituali.ro, pregătită pentru publicitate cu consimțământ și conținut nou.
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: maestri-spirituali
License: GPL-2.0-or-later
*/

:root {
	--ms-ink: #1f2940;
	--ms-muted: #687080;
	--ms-paper: #f7f2e8;
	--ms-surface: #ffffff;
	--ms-line: #e2d9ca;
	--ms-primary: #30445d;
	--ms-primary-dark: #182031;
	--ms-accent: #d2a655;
	--ms-teal: #4f746c;
	--ms-terracotta: #a96249;
	--ms-plum: #654b5c;
	--ms-soft: #eee6d9;
	--ms-radius: 20px;
	--ms-shadow: 0 18px 50px rgba(29, 36, 48, 0.08);
	--ms-wrap: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	color: var(--ms-ink);
	background: var(--ms-paper);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.72;
}
a { color: var(--ms-primary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--ms-accent); }
img { max-width: 100%; height: auto; }
button, input, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; z-index: 99999; top: 12px; left: 12px; width: auto; height: auto; padding: .7rem 1rem; clip: auto; background: #fff; color: #000; }
.ms-wrap { width: min(calc(100% - 40px), var(--ms-wrap)); margin-inline: auto; }
.site-main { min-height: 58vh; }

.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(230,224,214,.9); background: rgba(251,250,247,.94); backdrop-filter: blur(14px); }
.site-header__inner { position: relative; width: min(calc(100% - 40px), 1640px); min-height: 82px; display: flex; align-items: center; gap: clamp(22px, 2.2vw, 42px); }
.site-branding { display: flex; flex: 0 1 430px; align-items: center; gap: 12px; min-width: 330px; }
.site-branding > div { min-width: 0; }
.custom-logo { display: block; width: auto; max-height: 52px; }
.ms-default-logo { display: block; flex: 0 0 auto; line-height: 0; }
.ms-default-logo img { display: block; width: 52px; height: 52px; }
.site-title { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.22rem, 1.5vw, 1.52rem); line-height: 1.05; white-space: nowrap; }
.site-title a { color: var(--ms-ink); text-decoration: none; }
.site-description { max-width: 390px; margin: .22rem 0 0; color: var(--ms-muted); font-size: .74rem; line-height: 1.25; }
.primary-nav { min-width: 0; margin-left: auto; }
.primary-nav ul { display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(11px, 1.25vw, 23px); margin: 0; padding: 0; list-style: none; }
.primary-nav li { flex: 0 0 auto; }
.primary-nav a { color: var(--ms-ink); font-size: clamp(.79rem, .82vw, .91rem); font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color: var(--ms-primary); }
.menu-toggle { display: none; margin-left: auto; border: 1px solid var(--ms-line); border-radius: 999px; background: #fff; padding: .55rem .85rem; color: var(--ms-ink); font-weight: 700; cursor: pointer; }

.ms-hero { position: relative; overflow: hidden; min-height: min(720px, 75vh); padding: clamp(78px, 11vw, 154px) 0; border-bottom: 1px solid #101728; background-color: var(--ms-primary-dark); background-image: linear-gradient(90deg, rgba(16,23,40,.96) 0%, rgba(20,30,49,.88) 35%, rgba(20,30,49,.42) 58%, rgba(20,30,49,.08) 100%), url("assets/images/hero-home.webp"); background-position: center, center right; background-size: cover; }
.ms-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(10,16,29,.35)); pointer-events: none; }
.ms-hero__content { position: relative; z-index: 1; max-width: 790px; }
.ms-eyebrow { margin: 0 0 1rem; color: #e5c87d; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ms-hero h1, .page-header h1, .entry-title { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.ms-hero h1 { max-width: 12ch; margin: 0; color: #fff9ee; font-size: clamp(3rem, 8vw, 6.9rem); line-height: .92; text-shadow: 0 4px 28px rgba(0,0,0,.22); }
.ms-hero__lead { max-width: 610px; margin: 1.6rem 0 0; color: #e7e2d9; font-size: clamp(1.05rem, 2vw, 1.28rem); }

.ms-section { padding: clamp(56px, 7vw, 92px) 0; }
.ms-section--soft { background: var(--ms-soft); }
.ms-section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.ms-section__head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; }
.ms-section__head p { max-width: 570px; margin: 0; color: var(--ms-muted); }
.ms-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.ms-card { overflow: hidden; border: 1px solid var(--ms-line); border-radius: var(--ms-radius); background: var(--ms-surface); box-shadow: 0 10px 30px rgba(29,36,48,.045); transition: transform .2s ease, box-shadow .2s ease; }
.ms-card:hover { transform: translateY(-4px); box-shadow: var(--ms-shadow); }
.ms-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #e8e4dc; }
.ms-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ms-card:hover .ms-card__image img { transform: scale(1.025); }
.ms-card__body { padding: 24px; }
.ms-card__meta, .entry-meta { color: var(--ms-muted); font-size: .82rem; }
.ms-card h2 { margin: .45rem 0 .75rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; line-height: 1.15; }
.ms-card h2 a { color: var(--ms-ink); text-decoration: none; }
.ms-card p { margin: 0; color: #59606d; font-size: .95rem; }
.ms-empty { padding: clamp(34px,5vw,60px); border: 1px dashed #cbc4b7; border-radius: var(--ms-radius); background: rgba(255,255,255,.64); text-align: center; }
.ms-empty h2 { margin: 0 0 .5rem; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.ms-empty p { max-width: 600px; margin: 0 auto; color: var(--ms-muted); }

.page-header { padding: 64px 0 36px; }
.page-header h1 { max-width: 900px; margin: 0; font-size: clamp(2.5rem,6vw,5rem); line-height: 1; }
.page-header .archive-description { max-width: 760px; color: var(--ms-muted); }
.ms-content-layout { display: grid; grid-template-columns: minmax(0, 760px) 320px; gap: 60px; align-items: start; padding: 60px 0 90px; }
.ms-content-layout--page { display: block; max-width: 820px; }
.ms-content-layout--article { display: block; max-width: 980px; }
.entry-header { margin-bottom: 34px; }
.entry-title { margin: 0 0 1rem; font-size: clamp(2.6rem,6vw,5.6rem); line-height: .98; }
.entry-media { overflow: hidden; margin: 0 0 34px; border-radius: var(--ms-radius); }
.entry-content { font-family: Georgia, "Times New Roman", serif; font-size: 1.16rem; }
.entry-content > * { max-width: 760px; }
.entry-content h2, .entry-content h3 { margin-top: 2.1em; color: var(--ms-ink); line-height: 1.2; }
.entry-content a { overflow-wrap: anywhere; }
.entry-content blockquote { margin: 2rem 0; padding: .3rem 0 .3rem 1.5rem; border-left: 4px solid var(--ms-accent); color: #4d5360; font-size: 1.25em; }
.entry-content .alignwide { max-width: 1050px; margin-left: 50%; transform: translateX(-50%); }
.entry-footer { margin-top: 42px; padding-top: 20px; border-top: 1px solid var(--ms-line); color: var(--ms-muted); font-size: .9rem; }
.ms-source-note { margin-top: 2.5rem; padding: 22px 24px; border: 1px solid var(--ms-line); border-radius: 16px; background: #f6f2ea; font-family: Inter, ui-sans-serif, sans-serif; font-size: .9rem; line-height: 1.6; }
.ms-source-note h2 { margin: 0 0 .7rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; }
.ms-source-note ul { margin: 0 0 .7rem; padding-left: 1.25rem; }
.ms-source-note p { margin: 0; color: var(--ms-muted); }

.ms-ad { width: 100%; margin: 34px auto; text-align: center; }
.ms-ad::before { content: "PUBLICITATE"; display: block; margin-bottom: 8px; color: #8b8d94; font-size: .62rem; letter-spacing: .14em; }
.ms-ad--home, .ms-ad--archive { width: min(calc(100% - 40px), 1000px); }
.ms-ad--inline { max-width: 380px; }
.ms-ad--sidebar { margin-top: 0; }

.navigation.pagination { margin: 38px 0 80px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { min-width: 42px; padding: .45rem .7rem; border: 1px solid var(--ms-line); border-radius: 999px; background: #fff; text-align: center; text-decoration: none; }
.page-numbers.current { border-color: var(--ms-primary); background: var(--ms-primary); color: #fff; }
.search-form { display: flex; max-width: 540px; gap: 8px; }
.search-form label { flex: 1; }
.search-field { width: 100%; border: 1px solid var(--ms-line); border-radius: 999px; background: #fff; padding: .7rem 1rem; }
.search-submit { border: 0; border-radius: 999px; background: var(--ms-primary); color: #fff; padding: .7rem 1.1rem; cursor: pointer; }

.site-footer { border-top: 1px solid var(--ms-line); background: #202538; color: #f2efe8; }
.site-footer__inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 50px; padding: 52px 0; }
.site-footer h2 { margin: 0 0 .8rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; }
.site-footer p { max-width: 620px; margin: 0; color: #c8cad3; font-size: .9rem; }
.footer-nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px 22px; margin: 0; padding: 0; list-style: none; }
.site-footer a { color: #fff; }
.site-footer__bottom { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.12); color: #b7bac5; font-size: .78rem; }
.site-footer__bottom .ms-wrap { display: flex; justify-content: space-between; gap: 16px; }
.site-footer .msp-pa-settings-button { color: #fff; }

@media (max-width: 1540px) {
	.menu-toggle { display: inline-flex; }
	.primary-nav { position: absolute; z-index: 110; inset: 82px 0 auto; display: none; margin: 0; padding: 18px; border: 1px solid var(--ms-line); border-radius: 16px; background: #fff; box-shadow: var(--ms-shadow); }
	.primary-nav.is-open { display: block; }
	.primary-nav ul { align-items: stretch; flex-direction: column; gap: 4px; }
	.primary-nav a { display: block; padding: .6rem .5rem; }
}

@media (max-width: 960px) {
	.ms-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.ms-content-layout { grid-template-columns: 1fr; }
	.site-footer__inner { grid-template-columns: 1fr; }
	.footer-nav ul { justify-content: flex-start; }
}

@media (max-width: 640px) {
	body { font-size: 16px; }
	.ms-wrap { width: min(calc(100% - 28px), var(--ms-wrap)); }
	.site-header__inner { min-height: 74px; }
	.site-branding { min-width: 0; }
	.site-description { display: none; }
	.primary-nav { inset: 74px 14px auto; }
	.ms-hero { padding: 70px 0 76px; }
	.ms-hero { min-height: 610px; background-image: linear-gradient(90deg, rgba(16,23,40,.97) 0%, rgba(20,30,49,.84) 64%, rgba(20,30,49,.36) 100%), url("assets/images/hero-home.webp"); background-position: 64% center; }
	.ms-grid { grid-template-columns: 1fr; }
	.ms-section__head { align-items: start; flex-direction: column; }
	.entry-title { font-size: clamp(2.45rem,13vw,4rem); }
	.entry-content { font-size: 1.08rem; }
	.site-footer__bottom .ms-wrap { flex-direction: column; }
}

