/* ============ Dare2Shine — variabile & bază ============ */
:root {
	--c-orange: #FE7901;
	--c-beige: #DAC09D;
	--c-black: #000;
	--c-text: #1a1a1a;
	--c-muted: #6f6f6f;
	--font-serif: 'Libre Bodoni', 'Bodoni MT', Didot, serif;
	--font-sans: 'D2S Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	--w-content: 1200px;
	--w-narrow: 760px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--font-sans);
	color: var(--c-text);
	font-size: 15px;
	line-height: 1.6;
	background: #fff;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--c-orange); }
button { font: inherit; cursor: pointer; background: none; border: 0; }
svg { width: 1em; height: 1em; display: block; }

.container { max-width: var(--w-content); margin: 0 auto; padding: 0 24px; }
.container-narrow { max-width: var(--w-narrow); margin: 0 auto; padding: 0 24px; }
.screen-reader-text { position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }

/* ============ Butoane ============ */
.btn {
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 13px 30px;
	border-radius: 999px;
	transition: all .2s;
}
.btn-outline { border: 1px solid #fff; color: #fff; }
.btn-outline:hover { background: var(--c-orange); border-color: var(--c-orange); color: #fff; }
.btn-solid { background: var(--c-orange); color: #fff; border: 0; }
.btn-solid:hover { background: var(--c-black); color: #fff; }

/* ============ Topbar social ============ */
.topbar { background: var(--c-beige); }
.topbar-social {
	display: flex; justify-content: center; align-items: center;
	gap: 18px; height: 30px;
}
.topbar-social a { color: #fff; }
.topbar-social svg { width: 16px; height: 16px; }
.topbar-social a:hover { color: var(--c-black); }

/* ============ Header ============ */
.site-header { background: #fff; border-bottom: 1px solid #eee; position: relative; }
.header-inner { display: flex; align-items: center; gap: 32px; min-height: 92px; }
.site-branding { flex-shrink: 0; }
.site-logo-text { display: inline-flex; flex-direction: column; line-height: 1; }
.logo-main { font-family: var(--font-sans); font-weight: 800; font-size: 26px; letter-spacing: .02em; }
.logo-tag { font-family: var(--font-serif); font-style: italic; font-size: 18px; color: var(--c-text); margin-top: -2px; align-self: center; }
.logo-invert .logo-main, .logo-invert .logo-tag { color: #fff; }

.site-nav { margin-left: auto; }
.nav-menu { display: flex; gap: 28px; list-style: none; }
.nav-menu a {
	font-size: 12px; font-weight: 600;
	letter-spacing: .12em; text-transform: uppercase;
}
.nav-menu .current-menu-item > a { color: var(--c-orange); }

.search-toggle { color: var(--c-orange); flex-shrink: 0; }
.search-toggle svg { width: 20px; height: 20px; }
.search-bar { background: #fff; border-top: 1px solid #eee; padding: 14px 0; }
.search-bar form { display: flex; align-items: center; gap: 10px; color: var(--c-orange); }
.search-bar svg { width: 18px; height: 18px; }
.search-bar input {
	flex: 1; border: 0; outline: 0; font-size: 15px;
	font-family: var(--font-sans); color: var(--c-text);
}
.search-bar input::placeholder { color: var(--c-orange); }

.nav-toggle { display: none; flex-direction: column; gap: 5px; }
.nav-toggle span { width: 24px; height: 2px; background: var(--c-text); display: block; transition: .2s; }

/* ============ Hero slider ============ */
.hero-section { padding-top: 4px; }
.hero-frame { position: relative; overflow: hidden; }
.hero .slides { display: flex; transition: transform .5s ease; }
.hero-slide {
	position: relative; flex: 0 0 100%;
	min-height: 560px;
	background-size: cover; background-position: center top;
	display: flex; align-items: flex-end; justify-content: center;
}
.hero-slide::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.92) 100%);
}
.hero-content {
	position: relative; z-index: 1; text-align: center; color: #fff;
	max-width: 820px; padding: 0 24px 56px;
}
.hero-title {
	font-family: var(--font-serif); font-weight: 500;
	font-size: clamp(30px, 4.5vw, 52px);
	letter-spacing: -.02em; line-height: 1.15; margin-bottom: 14px;
}
.hero-title a:hover { color: #fff; opacity: .9; }
.hero-excerpt { font-size: 13px; max-width: 620px; margin: 0 auto 22px; opacity: .85; }

.slider-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	color: #fff; background: rgba(0,0,0,.25); border-radius: 50%;
	width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
	transition: background .2s;
}
.slider-arrow:hover { background: var(--c-orange); color: #fff; }
.slider-arrow svg { width: 20px; height: 20px; }
.slider-arrow.prev { left: 20px; }
.slider-arrow.next { right: 20px; }

.slider-dots { display: flex; justify-content: center; gap: 10px; }
.hero .slider-dots { margin-top: 18px; }
.slider-dots button {
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--c-beige); padding: 0; transition: .2s;
}
.slider-dots button.active { background: var(--c-orange); transform: scale(1.25); }

/* ============ Slot publicitar ============ */
.ad-slot { text-align: center; padding: 38px 24px; }
.ad-label {
	display: block; font-size: 10px; letter-spacing: .3em;
	text-transform: uppercase; color: #b5b5b5; margin-bottom: 12px;
}
.ad-slot > *:not(.ad-label) { display: inline-block; }
.ad-placeholder {
	width: min(728px, 100%); height: 90px; margin: 0 auto;
	background: #f3f3f3; color: #c9c9c9;
	display: flex !important; align-items: center; justify-content: center;
	font-size: 12px; letter-spacing: .1em;
}

/* ============ Secțiuni homepage ============ */
.home-section { padding: 48px 0; }
.section-beige { background: var(--c-beige); }

.section-title {
	display: flex; align-items: center; gap: 28px;
	font-family: var(--font-serif); font-style: italic; font-weight: 500;
	font-size: 48px; letter-spacing: -.12em; line-height: 1.35;
	color: var(--c-orange); text-align: center;
	margin-bottom: 40px;
}
.section-title::before, .section-title::after {
	content: ''; flex: 1; height: 1px; background: var(--c-beige);
}
.section-title a:hover { opacity: .8; color: var(--c-orange); }
.section-title-left { margin-bottom: 28px; }
.section-title-left::before { display: none; }
.section-title-left::after { display: none; }
.section-beige .section-title {
	color: #fff;
	font-size: clamp(48px, 5vw, 64px);
	line-height: 1.2;
}
.section-beige .section-title a:hover { color: #fff; opacity: .85; }

.grid { display: grid; gap: 40px 32px; }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }

/* ============ Card articol ============ */
.card-media { display: block; overflow: hidden; margin-bottom: 16px; }
.card-media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .4s; }
.card-media:hover img { transform: scale(1.04); }
.card-media-placeholder { display: block; aspect-ratio: 4/3; background: #eee; }

.card-cat {
	display: flex; align-items: center; gap: 16px;
	font-size: 14px; font-weight: 600;
	letter-spacing: .35em; text-transform: uppercase;
	color: var(--c-orange);
	margin-bottom: 14px;
}
.card-cat::after { content: ''; flex: 1; height: 1px; background: var(--c-orange); position: relative; top: 4px; }
.card-cat:hover { color: var(--c-black); }

.card-title {
	font-family: var(--font-serif); font-weight: 600;
	font-size: 21px; letter-spacing: -.06em; line-height: 1.3;
	margin-bottom: 10px;
}
.card-excerpt { font-size: 13px; color: var(--c-muted); }
.section-beige .card-excerpt { color: rgba(0,0,0,.55); }

/* ============ dare2share (video slider) ============ */
.section-share { padding-bottom: 56px; }
.share-slider { position: relative; overflow: hidden; }
.share-slider .slides { display: flex; transition: transform .5s ease; }
.share-slide {
	flex: 0 0 100%;
	display: grid; grid-template-columns: 1.2fr 1fr;
	gap: 48px; align-items: center;
}
.share-media { position: relative; display: block; overflow: hidden; }
.share-media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.play-badge {
	position: absolute; inset: 0; margin: auto;
	width: 64px; height: 64px; border-radius: 50%;
	background: rgba(254,121,1,.92); color: #fff;
	display: flex; align-items: center; justify-content: center;
	transition: transform .2s;
}
.play-badge svg { width: 26px; height: 26px; }
.share-media:hover .play-badge { transform: scale(1.08); }
.share-title {
	font-family: var(--font-serif); font-weight: 600;
	font-size: clamp(24px, 2.6vw, 34px);
	letter-spacing: -.04em; line-height: 1.25;
	color: var(--c-orange); margin-bottom: 14px;
}
.share-slider .slider-dots { margin-top: 28px; }
.share-slider .slider-dots button { background: rgba(255,255,255,.7); }
.share-slider .slider-dots button.active { background: var(--c-orange); }

/* ============ Articol featured full-width ============ */
.wide-feature {
	position: relative; min-height: 620px;
	background-size: cover; background-position: center;
	display: flex; align-items: flex-start; justify-content: center;
}
.wide-feature::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 40%, rgba(0,0,0,.55) 100%);
}
.wide-feature-inner {
	position: relative; z-index: 1; text-align: center; color: #fff;
	max-width: 900px; padding: 64px 24px;
}
.wide-feature .card-cat { color: #fff; display: inline-flex; }
.wide-feature .card-cat::after { display: none; }
.wide-feature .card-cat:hover { color: var(--c-orange); }
.wide-title {
	font-family: var(--font-serif); font-weight: 500;
	font-size: clamp(28px, 3.8vw, 46px);
	letter-spacing: -.03em; line-height: 1.2; margin: 16px 0;
}
.wide-title a:hover { color: #fff; opacity: .9; }
.wide-excerpt { font-size: 13px; opacity: .9; margin-top: auto; padding-top: 200px; }
.wide-feature-inner {
	display: flex; flex-direction: column; align-items: center;
	min-height: 620px; padding-bottom: 32px;
}

/* ============ dare2be (mozaic) ============ */
.be-mosaic { display: grid; grid-template-columns: repeat(2, 1fr); gap: 36px 48px; }
.be-item { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: start; }
.be-item:nth-child(4n+2), .be-item:nth-child(4n+3) { grid-template-columns: 1fr 200px; }
.be-item:nth-child(4n+2) .be-media, .be-item:nth-child(4n+3) .be-media { order: 2; }
.be-media { display: block; overflow: hidden; }
.be-media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: grayscale(1); transition: filter .3s; }
.be-item:hover .be-media img { filter: grayscale(0); }
.be-text .card-title a:hover, .section-beige .card-title a:hover { color: #fff; }

/* ============ Newsletter ============ */
.newsletter { padding: 56px 0; }
.newsletter-inner {
	background: var(--c-beige); border-radius: 14px;
	display: flex; align-items: center; justify-content: space-between;
	gap: 32px; padding: 36px 48px; flex-wrap: wrap;
}
.newsletter-text { font-size: 16px; font-weight: 600; max-width: 380px; }
.newsletter-form { display: flex; gap: 12px; flex: 1; max-width: 520px; }
.newsletter-form input[type=email] {
	flex: 1; border: 0; border-radius: 999px;
	padding: 13px 22px; font: inherit; outline: 0;
}
.hp-field { position: absolute; left: -9999px; }
.newsletter-ok { font-weight: 600; color: var(--c-black); }

/* ============ Banner comunitate ============ */
.community { background: var(--c-black); color: #fff; text-align: center; padding: 34px 0; }
.community p { font-size: 15px; line-height: 1.7; }
.community strong { color: var(--c-orange); }

/* ============ Footer ============ */
.site-footer { background: var(--c-black); color: #fff; padding: 56px 0 32px; margin-top: 0; }
body:not(.home) .site-footer { margin-top: 64px; }
.footer-inner {
	display: flex; justify-content: space-between; gap: 48px;
	padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.15);
	flex-wrap: wrap;
}
.footer-social { display: flex; gap: 16px; margin-top: 20px; }
.footer-social a { color: #fff; }
.footer-social a:hover { color: var(--c-orange); }
.footer-social svg { width: 18px; height: 18px; }
.footer-menus { display: flex; gap: 64px; flex-wrap: wrap; }
.footer-menu { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-menu a {
	font-size: 11px; font-weight: 600;
	letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.8);
}
.footer-menu a:hover { color: var(--c-orange); }
.footer-bottom { padding-top: 28px; }
.footer-disclaimer { font-size: 11px; color: rgba(255,255,255,.45); max-width: 860px; margin-bottom: 16px; }
.footer-copy { font-size: 11px; letter-spacing: .1em; color: rgba(255,255,255,.6); }

/* ============ Arhive & single ============ */
.archive-main { padding: 56px 24px; }
.archive-title { margin-bottom: 48px; }
.pagination { margin-top: 48px; text-align: center; }
.pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.pagination a, .pagination span.current {
	display: inline-block; padding: 8px 14px; font-size: 13px;
}
.pagination span.current { color: var(--c-orange); font-weight: 700; }
.nothing-found { color: var(--c-muted); margin-bottom: 24px; }

.single-main { padding-top: 48px; }
.single-header { text-align: center; margin-bottom: 32px; }
.single-header .card-cat { display: inline-flex; }
.single-header .card-cat::after { display: none; }
.single-title {
	font-family: var(--font-serif); font-weight: 500;
	font-size: clamp(28px, 4vw, 44px);
	letter-spacing: -.04em; line-height: 1.2; margin: 16px 0 12px;
}
.single-meta { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.single-hero img { width: 100%; }
.single-hero { margin-bottom: 40px; }
.single-content { font-size: 16px; line-height: 1.8; }
.single-content > * + * { margin-top: 1.2em; }
.single-content h2, .single-content h3 {
	font-family: var(--font-serif); letter-spacing: -.03em; margin-top: 1.6em;
}
.single-content a { color: var(--c-orange); text-decoration: underline; }
.single-content img { margin: 0 auto; }
.single-footer { margin-top: 48px; }
.single-tags a { font-size: 12px; color: var(--c-orange); margin-right: 10px; }
.post-nav { display: flex; justify-content: space-between; gap: 24px; margin-top: 24px; font-size: 13px; }
.related-section { background: #faf6f0; margin-top: 64px; }

/* ============ Responsive ============ */
@media (max-width: 1024px) {
	.nav-menu { gap: 18px; }
	.grid-3 { grid-template-columns: repeat(2, 1fr); }
	.be-mosaic { grid-template-columns: 1fr; }
	.share-slide { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 820px) {
	.nav-toggle { display: flex; margin-left: auto; }
	.site-nav {
		display: none; position: absolute; top: 100%; left: 0; right: 0;
		background: #fff; border-bottom: 1px solid #eee; z-index: 20;
		margin-left: 0; padding: 16px 24px 24px;
	}
	.site-nav.open { display: block; }
	.nav-menu { flex-direction: column; gap: 16px; }
	.search-toggle { margin-left: 0; }
	.header-inner { gap: 16px; }
	.hero-slide { min-height: 440px; }
	.wide-feature, .wide-feature-inner { min-height: 480px; }
}

@media (max-width: 600px) {
	.grid-3, .grid-2 { grid-template-columns: 1fr; }
	.section-title { font-size: 34px; gap: 16px; }
	.section-beige .section-title { font-size: 40px; }
	.be-item, .be-item:nth-child(4n+2), .be-item:nth-child(4n+3) { grid-template-columns: 1fr; }
	.be-item:nth-child(4n+2) .be-media, .be-item:nth-child(4n+3) .be-media { order: 0; }
	.newsletter-inner { padding: 28px 24px; }
	.newsletter-form { flex-direction: column; }
	.footer-inner, .footer-menus { flex-direction: column; gap: 32px; }
	.slider-arrow { display: none; }
}
