/*
 * MEFADY – Premium-Feinschliff
 * Wird NACH theme.css geladen und verändert nur Gestaltung (Schrift, Abstände, Schatten, Buttons).
 * Farben, Aufbau, Seiten, Buchung und Kalender bleiben unverändert.
 * Abschalten: im Customizer „Premium-Design“ deaktivieren (oder diese Datei leeren).
 */

/* ---------- Schrift: eigene, überall gleiche Serifenschrift (Lora, SIL OFL) ---------- */
@font-face { font-family: "Mefady Serif"; src: url("../fonts/Lora-Variable.woff") format("woff"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Mefady Serif"; src: url("../fonts/Lora-Italic-Variable.woff") format("woff"); font-weight: 400 700; font-style: italic; font-display: swap; }

:root {
	--serif: "Mefady Serif", "Cormorant Garamond", Georgia, serif;
	--gold-grad: linear-gradient(135deg, #d6b47c 0%, #c39a5f 45%, #a97f45 100%);
	--shadow-soft: 0 10px 30px rgba(28, 40, 30, .08);
	--shadow-lift: 0 22px 60px rgba(28, 40, 30, .16);
}

body { font-size: 16.5px; letter-spacing: .005em; }
h1, h2, h3, h4 { font-weight: 500; letter-spacing: -.015em; }
.display { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.15; }
.lead { font-size: 1.12rem; line-height: 1.75; }

/* Kleine Überschrift mit goldenen Linien */
.eyebrow { font-size: 11.5px; letter-spacing: .28em; gap: 12px; }
.section-head.center .eyebrow::before,
.section-head.center .eyebrow::after,
.intro .eyebrow::before,
.intro .eyebrow::after { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.section-head .display, .intro .display { margin-bottom: .35em; }

/* Ruhigere, gleichmäßige Abstände */
.section { padding: 96px 0; }
.section.intro { padding-bottom: 40px; }
.section.houses { padding-top: 56px; }

/* ---------- Buttons ---------- */
.btn { border-radius: 999px; letter-spacing: .02em; font-weight: 600; transition: transform .2s ease, box-shadow .25s ease, background .25s ease, color .25s ease; }
.btn-primary { background: var(--gold-grad); color: #1d1a14; box-shadow: 0 8px 22px rgba(169, 127, 69, .32); border-color: transparent; }
.btn-primary:hover { background: var(--gold-grad); color: #1d1a14; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(169, 127, 69, .42); filter: brightness(1.04); }
.btn-ghost-dark:hover, .btn-light:hover, .btn-glass:hover { transform: translateY(-2px); }

/* ---------- Kopfzeile ---------- */
.brand-name { letter-spacing: .34em; }
.has-hero .site-header.is-scrolled { background: rgba(26, 42, 32, .92); }

/* ---------- Startbild ---------- */
.hero-shade { background:
	linear-gradient(90deg, rgba(10,18,12,.62) 0%, rgba(10,18,12,.25) 55%, rgba(10,18,12,.05) 100%),
	linear-gradient(180deg, rgba(10,18,12,.45) 0%, rgba(10,18,12,0) 30%, rgba(10,18,12,.55) 100%); }
.hero h1 { font-weight: 500; letter-spacing: -.02em; line-height: 1.05; text-shadow: 0 4px 40px rgba(0,0,0,.35); }
.hero .h1-kicker::before { content: ""; width: 34px; height: 1px; background: var(--sand-2); margin-right: 6px; }
.hero-sub { line-height: 1.6; text-shadow: 0 1px 12px rgba(0,0,0,.35); }

/* ---------- Suchkarte ---------- */
.search-card { border-radius: 24px; box-shadow: var(--shadow-lift); border-top: 3px solid var(--sand); padding: 30px 34px 28px; }
.search-head h2 { font-size: 1.75rem; }

/* ---------- Häuser ---------- */
.house-row { gap: 72px; margin-bottom: 120px; }
.house-media { border-radius: 26px; box-shadow: var(--shadow-lift); }
.house-media::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(232, 215, 184, .55); border-radius: 18px; pointer-events: none; }
.house-media img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.house-media:hover img { transform: scale(1.05); }
.house-badge { top: 24px; left: 24px; background: rgba(26, 42, 32, .78); color: #f4efe6; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); letter-spacing: .14em; text-transform: uppercase; font-size: 11.5px; padding: 7px 16px; }
.house-body h3 { margin-bottom: .25em; }
.house-body > p:not(.eyebrow) { line-height: 1.75; }
.chips li { background: #fff; border-color: #ece5d6; box-shadow: 0 2px 8px rgba(28,40,30,.04); }
.house-foot { border-top-color: #e3dac6; }
.price strong { font-size: 2.2rem; font-weight: 500; }

/* ---------- Bewertungen ---------- */
.rv-card { position: relative; background: #fff; border: 1px solid #ece5d6; border-radius: 20px; box-shadow: var(--shadow-soft); transition: transform .3s ease, box-shadow .3s ease; }
.rv-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.rv-card::before { content: "“"; position: absolute; right: 20px; top: 6px; font-family: var(--serif); font-size: 84px; line-height: 1; color: var(--sand); opacity: .18; }
.rv-card blockquote { font-family: var(--serif); font-style: italic; font-size: 1.04rem; line-height: 1.65; color: #2c332d; }
.rv-stars { letter-spacing: .18em; }

/* ---------- Wellness-Bereich: dunkel & edel ---------- */
.features { background: var(--forest); color: #e9e4d8; position: relative; overflow: hidden; }
.features::before { content: ""; position: absolute; left: -180px; bottom: -220px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(195,154,95,.18), transparent 65%); }
.features .display { color: #fff; }
.features .eyebrow { color: var(--sand); }
.feature-grid { position: relative; gap: 22px; }
.feature { background: rgba(255,255,255,.04); border: 1px solid rgba(232,215,184,.18); border-radius: 20px; padding: 38px 28px 34px; transition: transform .3s ease, background .3s ease, border-color .3s ease; }
.feature:hover { transform: translateY(-4px); background: rgba(255,255,255,.07); border-color: rgba(232,215,184,.4); }
.feature .icon { width: 30px; height: 30px; padding: 15px; box-sizing: content-box; border-radius: 50%; background: rgba(195,154,95,.14); border: 1px solid rgba(195,154,95,.35); margin-bottom: 22px; }
.feature h3 { color: #fff; font-size: 1.4rem; }
.feature p { color: rgba(233,228,216,.75); }

/* ---------- Gutschein & Kontakt ---------- */
.voucher-teaser-card { box-shadow: 0 30px 70px rgba(28,40,30,.28); }
.cta { background: linear-gradient(135deg, #24382c 0%, #1a2a20 100%); }

/* ---------- Hausseite ---------- */
.house-facts-bar { box-shadow: 0 6px 24px rgba(28,40,30,.05); }
.facts-bar-inner strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }

/* ---------- Handy ---------- */
@media (max-width: 1080px) {
	.house-row { gap: 34px; margin-bottom: 80px; }
}
@media (max-width: 760px) {
	body { font-size: 16px; }
	.section { padding: 64px 0; }
	.section.intro { padding-bottom: 20px; }
	.section.houses { padding-top: 36px; }
	.hero h1 { font-size: clamp(2.3rem, 10vw, 3rem); }
	.hero .h1-kicker::before { display: none; }
	.search-card { padding: 22px 18px 20px; border-radius: 20px; }
	.search-head h2 { font-size: 1.45rem; }
	.house-media { border-radius: 20px; }
	.house-media::after { inset: 8px; border-radius: 14px; }
	.house-foot { gap: 14px; }
	.house-actions { width: 100%; }
	.house-actions .btn { flex: 1; justify-content: center; }
	.feature { padding: 30px 22px; }
	.display { font-size: clamp(1.8rem, 7.5vw, 2.4rem); }
}
@media (prefers-reduced-motion: reduce) {
	.btn, .rv-card, .feature, .house-media img { transition: none; }
}
