/* =========================================================================
   Alpjuwel Theme — 1:1 nach „Stayli" Figma-Design
   Font: Nacelle (OFL, Sora Sagano) · self-hosted
   ========================================================================= */

/* --- Fonts --------------------------------------------------------------- */
@font-face {
	font-family: "Nacelle";
	src: url("../fonts/Nacelle-Light.woff2") format("woff2");
	font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
	font-family: "Nacelle";
	src: url("../fonts/Nacelle-Regular.woff2") format("woff2");
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: "Nacelle";
	src: url("../fonts/Nacelle-SemiBold.woff2") format("woff2");
	font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
	font-family: "Nacelle";
	src: url("../fonts/Nacelle-Bold.woff2") format("woff2");
	font-weight: 700; font-style: normal; font-display: swap;
}

/* --- Design-Tokens ------------------------------------------------------- */
:root {
	--c-white:      #ffffff;
	--c-bg:         #fcfcfc;   /* Bg white */
	--c-gold-1:     #edece3;   /* Bg Gold 1 – Karten/Chips/Filter */
	--c-gold-2:     #e2deb7;   /* Bg Gold 2 – Icon-Tiles/Preis-Pills */
	--c-dark:       #131313;   /* Bg Dark (Footer, Scrims) */
	--c-ink:        #111111;   /* Text title */

	/* Primary-Button (Design-System) */
	--c-btn:        #B0C7D7;   /* Button-Fläche */
	--c-btn-hover:  #9cb6c9;   /* Button Hover */
	--c-btn-ink:    #131313;   /* Button-Text (dunkel, da helle Fläche) */
	--c-body:       #565656;   /* Text body */
	--c-muted:      #a6a6a6;   /* Secondary white (Footer) */
	--c-line:       #e7e6df;
	--c-red:        #e5484d;

	--font: "Nacelle", system-ui, -apple-system, "Segoe UI", sans-serif;

	--container: 1180px;
	--pad:  clamp(20px, 4vw, 52px);
	--r:    14px;   /* Buttons / kleine Elemente */
	--r-lg: 20px;   /* Karten / Bilder */
	--r-xl: 26px;   /* große Panels */
	--section: clamp(64px, 8vw, 112px);

	--h1: clamp(2.5rem, 5vw, 3.75rem);   /* 60 */
	--h2: clamp(2rem, 4vw, 3rem);        /* 48 */
	--h3: clamp(1.6rem, 3vw, 2.25rem);   /* 36 */
}

/* --- Reset --------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-body);
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img, svg { max-width: 100%; display: block; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
h1, h2, h3, h4 {
	font-weight: 300;
	color: var(--c-ink);
	line-height: 1.08;
	letter-spacing: -0.03em;
	margin: 0;
}
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }

/* --- Utilities ----------------------------------------------------------- */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--pad); }
.section { padding-block: var(--section); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 999; background: #fff; padding: 8px 16px; border-radius: 8px; }

.eyebrow {
	font-size: 0.8125rem; font-weight: 400; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--c-ink); margin-bottom: 1.2rem;
}
.lead { font-size: 1.125rem; color: var(--c-body); }

/* Section-Kopf: Split (Titel links, Button rechts) */
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: clamp(32px, 4vw, 56px); }
.sec-head__title { font-size: var(--h2); max-width: 16ch; }
.sec-head--center { flex-direction: column; align-items: center; text-align: center; }
.sec-head--center .eyebrow { margin-bottom: 0.6rem; }
.sec-head--center .sec-head__title { max-width: 20ch; }

/* --- Buttons ------------------------------------------------------------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	padding: 0.95em 1.6em; border-radius: var(--r);
	font-size: 1rem; font-weight: 400; line-height: 1; white-space: nowrap;
	cursor: pointer; border: 1px solid transparent;
	transition: background .2s ease, color .2s ease, opacity .2s ease, transform .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--dark { background: var(--c-btn); color: var(--c-btn-ink); }
.btn--dark:hover { background: var(--c-btn-hover); }
.btn--light { background: #fff; color: var(--c-ink); }
.btn--light:hover { background: #f1f1f1; }
.btn--outline { background: transparent; border-color: #cfcec6; color: var(--c-ink); }
.btn--outline:hover { background: var(--c-btn); color: var(--c-btn-ink); border-color: var(--c-btn); }
.btn--block { width: 100%; }

/* Icon-Button (Karussell-Pfeile) */
.icon-btn {
	width: 52px; height: 52px; border-radius: var(--r);
	background: var(--c-btn); color: var(--c-btn-ink); border: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	transition: background .2s ease;
}
.icon-btn:hover { background: var(--c-btn-hover); }
.icon-btn svg { width: 20px; height: 20px; }
.carousel-nav { display: flex; gap: 12px; }

/* --- Brand / Logo -------------------------------------------------------- */
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 1.5rem; font-weight: 400; color: inherit; letter-spacing: -0.02em; }
.brand__mark { width: 30px; height: 34px; flex: none; }
.brand__mark .m-bar { fill: currentColor; }
.brand__mark .m-dot { fill: var(--c-gold-2); }

/* --- Header -------------------------------------------------------------- */
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 100; color: #fff; }
.site-header__inner {
	position: relative;
	max-width: var(--container); margin-inline: auto; padding: 26px var(--pad);
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.site-header__nav {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
}
.primary-menu { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 40px); }
.primary-menu a { font-size: 1rem; opacity: .95; transition: opacity .2s; }
.primary-menu a:hover { opacity: .65; }
.site-header__actions { display: flex; align-items: center; gap: 14px; }
.site-header__toggle { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 6px; }
.site-header__toggle span { width: 26px; height: 2px; background: currentColor; display: block; }

/* Solide (helle) Variante — z. B. Inner Listing */
.site-header--solid { position: sticky; background: var(--c-bg); color: var(--c-ink); border-bottom: 1px solid var(--c-line); }

/* Button in der Nav (Jetzt buchen) */
.btn--nav { background: var(--c-btn); color: var(--c-btn-ink); padding: 0.8em 1.4em; }
.btn--nav:hover { background: var(--c-btn-hover); }

/* Admin-Bar-Versatz (nur eingeloggt sichtbar) */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* --- Hero (Home) --------------------------------------------------------- */
.hero {
	position: relative; min-height: 780px; display: flex; align-items: flex-start;
	justify-content: center; text-align: center; overflow: hidden;
	padding-top: 210px; padding-bottom: 120px;
}
.hero__bg { position: absolute; inset: 0; z-index: -2; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.hero::before { /* Scrim oben für Header-/Titel-Kontrast */
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 62%; z-index: -1;
	background: linear-gradient(to bottom, rgba(19,19,19,.42) 0%, rgba(19,19,19,.12) 45%, rgba(19,19,19,0) 100%);
}
.hero::after { /* Fade nach Weiß unten */
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; z-index: -1;
	background: linear-gradient(to bottom, rgba(252,252,252,0) 0%, var(--c-bg) 96%);
}
.hero__bg img { object-position: center 60%; }
.hero__inner { max-width: 760px; padding-inline: var(--pad); color: #fff; }
.hero__title { color: #fff; font-size: var(--h1); }
.hero__lead { color: #fff; font-size: 1.125rem; margin: 1.4rem auto 2rem; max-width: 42ch; opacity: .96; }

/* --- Listing Card -------------------------------------------------------- */
.listing-card { position: relative; border-radius: var(--r-lg); }
.listing-card__media { display: block; position: relative; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 5/6; }
.listing-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.listing-card:hover .listing-card__media img { transform: scale(1.04); }
.listing-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 55%, rgba(0,0,0,.18)); }
.listing-card__ph { position: absolute; inset: 0; background: linear-gradient(135deg,#e9e6dc,#dcd6c4); }
.listing-card__badge {
	position: absolute; top: 16px; right: 16px; z-index: 2;
	background: #fff; color: var(--c-ink); font-size: 0.875rem;
	padding: 8px 16px; border-radius: 999px;
}
.listing-card__info {
	position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 2;
	background: #fff; border-radius: var(--r); padding: 16px 18px;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,.10);
}
.listing-card__title { font-size: 1.375rem; font-weight: 400; }
.listing-card__loc { display: flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--c-body); font-size: 0.9375rem; }
.listing-card__loc svg { width: 15px; height: 15px; flex: none; }
.listing-card__price { flex: none; background: var(--c-gold-2); color: var(--c-ink); font-size: 0.9375rem; padding: 10px 14px; border-radius: 10px; white-space: nowrap; }

/* Grid & Carousel */
.listings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.listings-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.listings-carousel::-webkit-scrollbar { display: none; }
.listings-carousel > * { scroll-snap-align: start; }
.carousel-controls { display: flex; justify-content: center; margin-top: 40px; }

/* --- About / Feature-Blöcke ---------------------------------------------- */
.about__top { display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: start; }
.about__eyebrow { color: var(--c-body); font-size: 1rem; padding-top: 8px; }
.about__lead { font-size: var(--h3); color: var(--c-ink); font-weight: 300; letter-spacing: -0.03em; line-height: 1.15; }
.feature-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 40px; max-width: 720px; }
.feature { }
.feature__icon, .icon-tile {
	width: 48px; height: 48px; border-radius: 12px; background: var(--c-gold-2);
	display: inline-flex; align-items: center; justify-content: center; color: var(--c-ink); margin-bottom: 18px;
}
.icon-tile svg, .feature__icon svg { width: 22px; height: 22px; }
.feature__title { font-size: 1.25rem; color: var(--c-ink); margin-bottom: 8px; letter-spacing: -0.02em; }
.feature__text { color: var(--c-body); font-size: 1rem; }
.about__btn { margin-top: 40px; }
.about__images { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: clamp(40px, 5vw, 64px); }
.about__images img { width: 100%; aspect-ratio: 16/12; object-fit: cover; border-radius: var(--r-lg); }

/* --- Why us (3 zentrierte Spalten) --------------------------------------- */
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; text-align: center; margin-top: clamp(32px, 4vw, 56px); }
.why-col { display: flex; flex-direction: column; align-items: center; }
.why-col .icon-tile { margin-bottom: 22px; }
.why-col h3 { font-size: 1.375rem; margin-bottom: 12px; letter-spacing: -0.02em; }
.why-col p { color: var(--c-body); max-width: 34ch; }

/* --- CTA (Split + Bild mit Play) ----------------------------------------- */
.cta-split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; margin-bottom: clamp(32px, 4vw, 48px); }
.cta-split__title { font-size: var(--h2); }
.cta-split__right { padding-top: 8px; }
.cta-split__right .lead { margin-bottom: 28px; }
.cta-figure { position: relative; border-radius: var(--r-lg); overflow: hidden; }
.cta-figure img { width: 100%; aspect-ratio: 16/8; object-fit: cover; }
.play-btn { position: absolute; right: 24px; bottom: 24px; }

/* --- CTA (Vollbild-Band) ------------------------------------------------- */
.cta-band { position: relative; min-height: 620px; display: flex; justify-content: center; overflow: hidden; padding: 110px var(--pad) 0; text-align: center; }
.cta-band__bg { position: absolute; inset: 0; z-index: -2; }
.cta-band__bg img { width: 100%; height: 100%; object-fit: cover; }
.cta-band::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 70%; z-index: -1; background: linear-gradient(to bottom, rgba(19,19,19,.40), rgba(19,19,19,0)); }
.cta-band__title { color: #fff; font-size: var(--h1); max-width: 16ch; }
.cta-band__inner { position: relative; }
.cta-band__inner .btn { margin-top: 28px; }

/* --- Testimonials -------------------------------------------------------- */
.testi { display: grid; grid-template-columns: 1fr 460px; gap: 56px; align-items: center; }
.testi__quote { font-size: clamp(1.5rem, 3vw, 2.125rem); color: var(--c-ink); font-weight: 300; letter-spacing: -0.02em; line-height: 1.25; }
.testi__person { display: flex; align-items: center; gap: 14px; margin-top: 32px; }
.testi__person img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; }
.testi__name { color: var(--c-ink); font-size: 1.0625rem; }
.testi__role { color: var(--c-body); font-size: 0.9375rem; }
.testi__nav { margin-top: 36px; }
.testi__media img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: var(--r-lg); }

/* --- Blog / Angebote-Karten ---------------------------------------------- */
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { border-radius: var(--r-lg); overflow: hidden; background: var(--c-gold-1); display: flex; flex-direction: column; }
.post-card__media { position: relative; aspect-ratio: 16/12; overflow: hidden; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.post-card:hover .post-card__media img { transform: scale(1.04); }
.post-card__badge { position: absolute; top: 16px; left: 16px; background: #fff; color: var(--c-ink); font-size: 0.875rem; padding: 7px 14px; border-radius: 999px; }
.post-card__body { padding: 22px 24px 24px; }
.post-card__title { font-size: 1.375rem; color: var(--c-ink); margin-bottom: 8px; }
.post-card__excerpt { color: var(--c-body); margin-bottom: 20px; }
.post-card__meta { display: flex; align-items: center; gap: 12px; }
.post-card__meta img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; }
.post-card__author { color: var(--c-ink); font-size: 0.9375rem; }
.post-card__date { color: var(--c-body); font-size: 0.8125rem; }

/* --- Contact-Sektion ----------------------------------------------------- */
.contact-sec { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.contact-sec__title { font-size: var(--h2); margin: 8px 0 16px; }
.contact-sec__text { color: var(--c-body); margin-bottom: 28px; max-width: 42ch; }
.contact-sec__media img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: var(--r-lg); }

/* --- Footer -------------------------------------------------------------- */
.site-footer { background: var(--c-dark); color: #fff; overflow: hidden; }
.site-footer__inner { max-width: var(--container); margin-inline: auto; padding: clamp(56px, 7vw, 96px) var(--pad) 0; display: grid; grid-template-columns: repeat(3, 1fr) 1.3fr; gap: 40px; }
.footer-col h4 { display: none; }
.footer-menu { display: grid; gap: 20px; }
.footer-menu a, .footer-col a { color: var(--c-muted); font-size: 1rem; transition: color .2s; }
.footer-menu a:hover, .footer-col a:hover { color: #fff; }
.footer-news__title { color: #fff; font-size: 1.375rem; font-weight: 400; margin-bottom: 24px; letter-spacing: -0.02em; }
.footer-news__form { display: flex; align-items: center; gap: 10px; background: transparent; border: 1px solid #333; border-radius: var(--r); padding: 8px 8px 8px 18px; max-width: 380px; }
.footer-news__form input { flex: 1; background: transparent; border: 0; color: #fff; font-size: 1rem; outline: none; }
.footer-news__form input::placeholder { color: var(--c-muted); }
.footer-wordmark { position: relative; margin-top: clamp(40px, 5vw, 72px); display: flex; align-items: center; gap: clamp(20px, 3vw, 48px); }
.footer-wordmark__mark { width: clamp(90px, 12vw, 160px); flex: none; }
.footer-wordmark__text { font-size: clamp(6rem, 22vw, 20rem); line-height: 0.78; color: #fff; font-weight: 300; letter-spacing: -0.04em; white-space: nowrap; }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: clamp(24px, 3vw, 40px); }
.site-footer__bottom-inner { max-width: var(--container); margin-inline: auto; padding: 22px var(--pad); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--c-muted); font-size: 0.875rem; }
.site-footer__bottom-inner a { color: var(--c-muted); }
.site-footer__bottom-inner a:hover { color: #fff; }

/* --- Listings-Hero (Such-Card) ------------------------------------------- */
.list-hero { position: relative; min-height: 720px; overflow: hidden; padding-top: 120px; }
.list-hero__bg { position: absolute; inset: 0; z-index: -2; }
.list-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.list-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 40%; z-index: -1; background: linear-gradient(to bottom, rgba(19,19,19,.34), rgba(19,19,19,0)); }
.search-card { max-width: 560px; background: #fff; border-radius: var(--r-xl); padding: clamp(28px, 3vw, 44px); box-shadow: 0 30px 70px rgba(0,0,0,.14); }
.search-card__title { font-size: var(--h3); margin-bottom: 12px; }
.search-card__text { color: var(--c-body); margin-bottom: 28px; }
.search-tabs { display: inline-flex; gap: 4px; background: var(--c-gold-1); border-radius: var(--r); padding: 5px; margin-bottom: 16px; }
.search-tabs button { border: 0; background: transparent; padding: 10px 22px; border-radius: 10px; cursor: pointer; color: var(--c-ink); font-size: 0.9375rem; }
.search-tabs button[aria-selected="true"] { background: var(--c-btn); color: var(--c-btn-ink); }
.search-fields { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; background: var(--c-gold-1); border-radius: var(--r); padding: 16px 18px; margin-bottom: 24px; }
.search-field { display: flex; flex-direction: column; gap: 4px; position: relative; }
.search-field + .search-field { border-left: 1px solid #dedcd0; padding-left: 16px; }
.search-field label { font-size: 0.75rem; color: #8a8a82; }
.search-field select { border: 0; background: transparent; font-family: inherit; font-size: 1rem; color: var(--c-ink); outline: none; cursor: pointer; -webkit-appearance: none; appearance: none; padding-right: 18px; }

/* --- Inner Listing ------------------------------------------------------- */
.il-gallery { position: relative; }
.il-gallery__main { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 16/9; }
.il-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.il-body { display: grid; grid-template-columns: 1fr 420px; gap: clamp(40px, 5vw, 80px); padding-top: clamp(40px, 5vw, 64px); align-items: start; }
.il-title { font-size: var(--h2); margin-bottom: 20px; }
.il-chips { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.il-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--c-gold-1); border-radius: var(--r); padding: 12px 18px; font-size: 0.9375rem; color: var(--c-ink); }
.il-chip svg { width: 17px; height: 17px; }
.il-desc { color: var(--c-body); font-size: 1.0625rem; margin-bottom: 20px; }
.il-desc p { margin-bottom: 1rem; }
.il-subhead { font-size: 1.5rem; margin: 32px 0 16px; }
.il-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.il-highlights li { display: flex; gap: 10px; color: var(--c-body); align-items: baseline; }
.il-highlights li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--c-gold-2); flex: none; transform: translateY(-2px); }
.img-ph { display: block; width: 100%; aspect-ratio: 4/3; border-radius: var(--r-lg); background: linear-gradient(135deg,#e9e6dc,#dcd6c4); }

/* Booking-Card */
.booking { position: sticky; top: 100px; background: var(--c-gold-1); border-radius: var(--r-xl); padding: 28px; }
.booking__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.booking__price { font-size: 2.25rem; color: var(--c-ink); font-weight: 300; letter-spacing: -0.03em; }
.booking__price small { font-size: 1rem; color: var(--c-body); font-weight: 400; }
.booking__off { background: var(--c-red); color: #fff; font-size: 0.8125rem; padding: 7px 12px; border-radius: 8px; }
.booking__rating { display: flex; align-items: center; gap: 8px; color: var(--c-body); font-size: 0.9375rem; margin-bottom: 24px; }
.booking__stars { color: #e6a817; letter-spacing: 2px; }
.booking__label { color: var(--c-ink); font-size: 1rem; margin-bottom: 10px; }
.booking__types { display: flex; gap: 8px; margin-bottom: 22px; flex-wrap: wrap; }
.booking__types button { border: 1px solid #dcdbd0; background: transparent; border-radius: var(--r); padding: 12px 16px; cursor: pointer; font-family: inherit; font-size: 0.9375rem; color: var(--c-ink); }
.booking__types button[aria-selected="true"] { background: var(--c-btn); color: var(--c-btn-ink); border-color: var(--c-btn); }
.booking__select { width: 100%; border: 1px solid #dcdbd0; background: #fff; border-radius: var(--r); padding: 14px 16px; font-family: inherit; font-size: 1rem; color: var(--c-ink); margin-bottom: 22px; -webkit-appearance: none; appearance: none; }
.booking__reserve { width: 100%; }

/* Comfort */
.comfort { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
.comfort__title { font-size: var(--h2); margin-bottom: 20px; }
.comfort__text { color: var(--c-body); margin-bottom: 32px; max-width: 46ch; }
.comfort__list { display: grid; gap: 20px; margin-bottom: 36px; }
.comfort__row { display: flex; align-items: center; gap: 18px; }
.comfort__row .icon-tile { background: var(--c-gold-1); flex: none; width: 52px; height: 52px; }
.comfort__row span { color: var(--c-ink); font-size: 1.0625rem; }
.comfort__media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--r-lg); }

/* Page-Hero (einfach) */
.page-hero { padding-block: clamp(48px, 7vw, 96px); text-align: center; }
.page-hero__title { font-size: var(--h1); }
.page-hero__lead { max-width: 56ch; margin: 1rem auto 0; color: var(--c-body); }

/* --- Pagination ---------------------------------------------------------- */
.pagination-wrap { margin-top: clamp(32px, 4vw, 56px); text-align: center; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; margin: 0 4px; color: var(--c-ink); }
.pagination .page-numbers.current { background: var(--c-btn); color: var(--c-btn-ink); }

/* Standard-Seiten */
.page-article { padding-block: clamp(48px, 7vw, 96px); }
.page-article__title { font-size: var(--h1); margin-bottom: 32px; }
.entry-content p { margin-bottom: 1rem; color: var(--c-body); }

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1024px) {
	.about__top { grid-template-columns: 1fr; gap: 24px; }
	.il-body, .comfort, .contact-sec, .testi, .cta-split { grid-template-columns: 1fr; }
	.booking { position: static; }
	.site-footer__inner { grid-template-columns: 1fr 1fr; }
	.testi__media, .comfort__media, .contact-sec__media { max-width: 560px; }
}
@media (max-width: 860px) {
	.site-header__nav { display: none; position: absolute; left: 0; right: 0; top: 100%; transform: none; background: var(--c-dark); padding: 20px var(--pad); }
	.site-header--open .site-header__nav { display: block; }
	.site-header--open .primary-menu { flex-direction: column; align-items: flex-start; gap: 16px; }
	.site-header--open .site-header__nav a { color: #fff; }
	.site-header .btn--nav { display: none; }
	.site-header__toggle { display: flex; }
	.listings-grid, .posts-grid, .why-grid, .feature-cols, .about__images { grid-template-columns: 1fr; }
	.listings-carousel { grid-auto-columns: 78%; }
	.search-fields { grid-template-columns: 1fr 1fr; gap: 16px; }
	.search-field + .search-field { border-left: 0; padding-left: 0; }
}
@media (max-width: 560px) {
	.sec-head { flex-direction: column; align-items: flex-start; }
	.site-footer__inner { grid-template-columns: 1fr; }
	.hero { min-height: 640px; padding-top: 160px; }
	.listings-carousel { grid-auto-columns: 88%; }
}
