/*
 * Journal / Blog (home.php). Dark-editorial hub: featured card, category filter,
 * 3-col article grid, newsletter + booking split. Mobile-first, base-specificity,
 * fsr-* tokens, no !important.
 */

/* ---- Featured ---- */
.jrnl-featured { padding-top: 72px; padding-bottom: 72px; }
.feat {
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(198, 161, 91, 0.32);
	border-radius: 3px;
	overflow: hidden;
	text-decoration: none;
	transition: border-color 0.24s ease;
}
.feat:hover { border-color: var(--fsr-gold); }
.feat__media { order: -1; position: relative; min-height: 240px; overflow: hidden; }
.feat__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.feat:hover .feat__img { transform: scale(1.03); }
.feat__body { padding: clamp(30px, 4vw, 56px); display: flex; flex-direction: column; gap: 16px; }
.feat__meta { display: flex; align-items: center; gap: 14px; font-family: var(--fsr-sans); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(243, 237, 227, 0.55); }
.feat__cat { color: var(--fsr-gold); position: relative; padding-left: 16px; }
.feat__cat::before { content: "·"; position: absolute; left: 4px; }
.feat__title { font-size: clamp(28px, 3.6vw, 44px); color: #f6f0e6; line-height: 1.08; margin: 0; }
.feat__excerpt { font-family: var(--fsr-sans); font-size: 15px; line-height: 1.7; color: rgba(243, 237, 227, 0.72); margin: 0; max-width: 44ch; }
.feat .fsr-link { align-self: flex-start; }

/* ---- Filter ---- */
.jrnl-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 40px; }
.jrnl-pill {
	font-family: var(--fsr-sans);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: rgba(243, 237, 227, 0.7);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 8px 20px;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.jrnl-pill:hover { color: #fff; }
.jrnl-pill.is-active { color: var(--fsr-gold); border-color: rgba(198, 161, 91, 0.55); }

/* ---- Grid ---- */
.jrnl-grid { display: grid; grid-template-columns: 1fr; gap: 26px; }
.jrnl-card {
	border: 1px solid rgba(198, 161, 91, 0.22);
	border-radius: 3px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.015);
	transition: border-color 0.24s ease, transform 0.24s ease;
}
.jrnl-card:hover { border-color: var(--fsr-gold); transform: translateY(-3px); }
.jrnl-card__link { display: block; text-decoration: none; }
.jrnl-card__media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; }
.jrnl-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.jrnl-card:hover .jrnl-card__img { transform: scale(1.05); }
.jrnl-card__media--none { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1a1512, #241d16); }
.jrnl-card__mark { font-family: var(--fsr-serif); font-size: 34px; letter-spacing: 0.2em; color: rgba(198, 161, 91, 0.5); }
.jrnl-card__body { padding: 24px 24px 28px; display: flex; flex-direction: column; gap: 12px; }
.jrnl-card__meta { display: flex; align-items: center; gap: 12px; font-family: var(--fsr-sans); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(243, 237, 227, 0.5); }
.jrnl-card__cat { color: var(--fsr-gold); position: relative; padding-left: 15px; }
.jrnl-card__cat::before { content: "·"; position: absolute; left: 4px; }
.jrnl-card__title { font-family: var(--fsr-serif); font-size: 24px; line-height: 1.15; color: #f4eee4; margin: 0; }
.jrnl-card__excerpt { font-family: var(--fsr-sans); font-size: 14px; line-height: 1.65; color: rgba(243, 237, 227, 0.66); margin: 0; }
.jrnl-card__more { font-family: var(--fsr-sans); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fsr-gold); margin-top: 2px; }

.jrnl-more { text-align: center; font-family: var(--fsr-serif); font-style: italic; font-size: 18px; color: rgba(243, 237, 227, 0.6); margin: 40px 0 0; }
.jrnl-noresult { text-align: center; font-family: var(--fsr-sans); color: rgba(243, 237, 227, 0.6); margin-top: 30px; }

/* ---- Empty state ---- */
.jrnl-emptybox { text-align: center; max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 30px 0; }
.jrnl-emptybox h2 { color: #f6f0e6; }
.jrnl-emptybox p { font-family: var(--fsr-sans); font-size: 15px; line-height: 1.7; color: rgba(243, 237, 227, 0.7); margin: 0; }

/* ---- Pagination ---- */
.jrnl-pagination { margin-top: 48px; }
.jrnl-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.jrnl-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	font-family: var(--fsr-sans);
	font-size: 14px;
	color: rgba(243, 237, 227, 0.8);
	border: 1px solid rgba(198, 161, 91, 0.3);
	border-radius: 3px;
	text-decoration: none;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.jrnl-pagination .page-numbers:hover { border-color: var(--fsr-gold); color: #fff; }
.jrnl-pagination .page-numbers.current { background: var(--fsr-gold); color: #171310; border-color: var(--fsr-gold); }
.jrnl-pagination .page-numbers.dots { border-color: transparent; }

/* ---- Newsletter + booking split ---- */
.jrnl-foot__grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.jrnl-news { border: 1px solid rgba(198, 161, 91, 0.32); border-radius: 3px; padding: clamp(30px, 4vw, 48px); }
.jrnl-news__ic { display: inline-flex; width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(198, 161, 91, 0.5); align-items: center; justify-content: center; color: var(--fsr-gold); margin-bottom: 18px; }
.jrnl-news__ic svg { width: 26px; height: 26px; }
.jrnl-news h2 { color: #f6f0e6; margin: 0 0 12px; }
.jrnl-news__lead { font-family: var(--fsr-sans); font-size: 15px; line-height: 1.65; color: rgba(243, 237, 227, 0.7); margin: 0 0 24px; max-width: 40ch; }
.jrnl-news__form { display: flex; flex-direction: column; gap: 14px; }
.jrnl-news__row { display: flex; flex-direction: column; gap: 10px; }
.jrnl-news__row input {
	flex: 1 1 auto;
	font-family: var(--fsr-sans);
	font-size: 15px;
	color: #f3ede3;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(243, 237, 227, 0.22);
	border-radius: 3px;
	padding: 15px 18px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.jrnl-news__row input::placeholder { color: rgba(243, 237, 227, 0.5); }
.jrnl-news__row input:focus { outline: none; border-color: var(--fsr-gold); box-shadow: 0 0 0 3px rgba(198, 161, 91, 0.18); }
.jrnl-news__row .fsr-btn { justify-content: center; }
.jrnl-news__consent { display: flex; align-items: flex-start; gap: 10px; font-family: var(--fsr-sans); font-size: 12.5px; line-height: 1.5; color: rgba(243, 237, 227, 0.6); }
.jrnl-news__consent input { margin-top: 2px; accent-color: var(--fsr-gold); flex: 0 0 auto; }

.jrnl-book { position: relative; border-radius: 3px; overflow: hidden; background-size: cover; background-position: center; min-height: 300px; display: flex; }
.jrnl-book::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(16, 13, 11, 0.9) 0%, rgba(16, 13, 11, 0.55) 100%); }
.jrnl-book__in { position: relative; margin-top: auto; padding: clamp(30px, 4vw, 48px); display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.jrnl-book__in h2 { color: #fff; margin: 0; }
.jrnl-book__lead { font-family: var(--fsr-sans); font-size: 15px; line-height: 1.6; color: rgba(243, 237, 227, 0.82); margin: 0; }

/* ================= RESPONSIVE ================= */
@media (min-width: 561px) {
	.jrnl-grid { grid-template-columns: repeat(2, 1fr); }
	.jrnl-news__row { flex-direction: row; align-items: center; }
	.jrnl-news__row .fsr-btn { flex: 0 0 auto; }
}
@media (min-width: 861px) {
	.jrnl-grid { grid-template-columns: repeat(3, 1fr); }
	.feat { flex-direction: row; align-items: stretch; }
	.feat__media { order: 0; flex: 1 1 52%; min-height: 0; }
	.feat__body { flex: 1 1 48%; justify-content: center; }
	.jrnl-foot__grid { grid-template-columns: 1fr 1fr; align-items: stretch; }
	.jrnl-book { min-height: 340px; }
}
