/* ============================================
   BIKINI Görlitz — Coffee, Breakfast & Good Vibes
   ============================================ */

@font-face {
	font-family: 'Recoleta';
	src: url('../assets/fonts/recoleta-regular.woff2') format('woff2'),
		url('../assets/fonts/recoleta-regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Recoleta';
	src: url('../assets/fonts/recoleta-semibold.woff2') format('woff2'),
		url('../assets/fonts/recoleta-semibold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Recoleta';
	src: url('../assets/fonts/recoleta-bold.woff2') format('woff2'),
		url('../assets/fonts/recoleta-bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Offizielle Brand-Farben lt. Styleguide (Stupid and Simple, bikini-colors.pdf) */
	--coral: #FB3E2A;      /* Pantone Warm Red C */
	--coral-dark: #D92F1D;
	--pink: #FFC7C7;       /* Pantone 176 C */
	--pink-soft: #FFE4E4;
	--ink: #211512;
	--ink-soft: #5C4A44;
	--cream: #FAF3EC;
	--cream-deep: #F3E7DA;
	--white: #FFFFFF;

	--font-display: 'Recoleta', Georgia, serif;
	--font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

	--radius: 24px;
	--radius-sm: 14px;
	--shadow: 0 16px 48px -16px rgba(33, 21, 18, .22);
	--container: 1180px;
	--topbar-h: 38px;
	--nav-h: 76px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/* hidden-Attribut gewinnt immer, auch gegen display-Regeln von Klassen */
[hidden] { display: none !important; }

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 16px); }

body {
	font-family: var(--font-body);
	color: var(--ink);
	background: var(--white);
	line-height: 1.65;
	font-size: 1.0625rem;
	-webkit-font-smoothing: antialiased;
}

/* Grain — subtile Print-Textur über allem */
body::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: .26;
	mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

::selection {
	background: var(--coral);
	color: var(--white);
}

img { display: block; max-width: 100%; height: auto; }

a { color: var(--coral); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }

.container {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 40px);
}
.container--narrow { max-width: 820px; }

.section { padding-block: clamp(64px, 9vw, 120px); }
.section--cream { background: var(--cream); }

/* ---------- Typography ---------- */
h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.01em;
}
h3, h4 { font-weight: 600; }
h2 {
	font-size: clamp(2.1rem, 4.4vw, 3.4rem);
	margin-bottom: clamp(28px, 4vw, 48px);
}
h2 em, h1 em {
	font-style: normal;
	color: var(--coral);
	position: relative;
}
.eyebrow {
	display: inline-block;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--coral);
	background: var(--pink-soft);
	border-radius: 999px;
	padding: 7px 16px;
	margin-bottom: 18px;
}

/* ---------- Buttons ---------- */
.btn {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1;
	padding: 16px 28px;
	border-radius: 999px;
	border: 2px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn--solid {
	background: var(--coral);
	color: var(--white);
	box-shadow: 0 10px 24px -10px rgba(251, 62, 42, .55);
}
.btn--solid:hover { background: var(--coral-dark); }
.btn--ghost {
	background: transparent;
	color: var(--ink);
	border-color: currentColor;
}
.btn--ghost:hover { background: var(--ink); color: var(--white); }
.btn--light {
	background: var(--white);
	color: var(--coral);
}
.btn--light:hover { background: var(--pink-soft); }
.btn--lg { padding: 19px 34px; font-size: 1.06rem; }

/* ---------- Topbar ---------- */
.topbar {
	background: var(--ink);
	color: var(--cream);
	font-size: .85rem;
	text-align: center;
	padding: 9px 16px;
	letter-spacing: .01em;
}
.topbar__pin { margin-right: 2px; }

/* ---------- Header / Nav ---------- */
.header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .94);
	border-bottom: 1px solid rgba(33, 21, 18, .07);
}
/* Blur über ::before statt direkt auf .header — backdrop-filter würde sonst
   einen Containing Block für das fixed Mobile-Menü erzeugen */
.header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}
.nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--nav-h);
	gap: 24px;
}
.nav__brand {
	display: flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
}
.nav__icon { width: 38px; height: 38px; transition: transform .4s cubic-bezier(.34,1.56,.64,1); }
.nav__brand:hover .nav__icon { transform: rotate(18deg) scale(1.08); }
.nav__wordmark {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.65rem;
	color: var(--ink);
	letter-spacing: .04em;
}
.nav__menu {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.4vw, 32px);
}
.nav__menu > a:not(.btn) {
	color: var(--ink);
	text-decoration: none;
	font-weight: 600;
	font-size: .98rem;
	position: relative;
	padding-block: 6px;
}
.nav__menu > a:not(.btn)::after {
	content: '';
	position: absolute;
	left: 0; right: 100%;
	bottom: 0;
	height: 2.5px;
	background: var(--coral);
	border-radius: 2px;
	transition: right .22s ease;
}
.nav__menu > a:not(.btn):hover::after { right: 0; }
.nav__cta { padding: 13px 22px; font-size: .95rem; }
.nav__toggle { display: none; }

/* ---------- Hero ---------- */
.hero {
	position: relative;
	background:
		radial-gradient(900px 480px at 88% -10%, var(--pink-soft) 0%, transparent 60%),
		var(--cream);
	overflow: hidden;
}

/* Markise: Streifen + hängende Halbkreise (Scallop) */
.hero__awning {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 18px;
	background: repeating-linear-gradient(90deg,
		var(--coral) 0 34px,
		var(--pink) 34px 68px);
	z-index: 2;
}
.hero__awning::after {
	content: '';
	position: absolute;
	top: 100%; left: 0; right: 0;
	height: 17px;
	background: inherit;
	-webkit-mask: radial-gradient(circle 17px at 17px 0, #000 16px, transparent 17px) repeat-x;
	-webkit-mask-size: 34px 17px;
	mask: radial-gradient(circle 17px at 17px 0, #000 16px, transparent 17px) repeat-x;
	mask-size: 34px 17px;
	filter: drop-shadow(0 3px 4px rgba(33,21,18,.12));
}

.hero__inner {
	padding-block: clamp(64px, 9vw, 120px) clamp(48px, 6vw, 84px);
}

/* Gestaffelte Statement-Typo */
.hero__title {
	display: flex;
	flex-direction: column;
	font-size: clamp(3.4rem, 11.5vw, 9.8rem);
	line-height: .92;
	letter-spacing: -0.025em;
	margin-bottom: clamp(36px, 5vw, 64px);
	text-transform: uppercase;
}
.hero__line { display: block; }
.hero__line--1 { color: var(--ink); }
.hero__line--2 {
	margin-left: clamp(28px, 9vw, 150px);
	color: transparent;
	-webkit-text-stroke: 2.5px var(--ink);
	text-stroke: 2.5px var(--ink);
}
.hero__line--3 {
	color: var(--coral);
	margin-left: clamp(8px, 3vw, 48px);
}

.hero__grid {
	display: grid;
	grid-template-columns: 1fr .9fr;
	gap: clamp(32px, 6vw, 90px);
	align-items: center;
}
.hero__sub {
	font-size: clamp(1.08rem, 1.6vw, 1.3rem);
	color: var(--ink-soft);
	max-width: 30em;
	margin-bottom: 34px;
}
.hero__sub strong { color: var(--ink); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero__meta {
	margin-top: 28px;
	font-size: .9rem;
	font-weight: 600;
	color: var(--ink-soft);
	letter-spacing: .02em;
}

.hero__media {
	position: relative;
	justify-self: end;
	width: min(100%, 460px);
}
/* Rundbogen-Foto (Arch) */
.hero__photo {
	border-radius: 999px 999px var(--radius) var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	border: 6px solid var(--white);
}
.hero__photo img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	transition: transform .8s cubic-bezier(.2, .6, .2, 1);
}
.hero__media:hover .hero__photo img { transform: scale(1.05); }

/* Rotierendes Stempel-Badge */
.badge-spin {
	position: absolute;
	left: -54px;
	bottom: 24px;
	width: clamp(110px, 13vw, 150px);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	filter: drop-shadow(0 10px 24px rgba(33,21,18,.25));
}
.badge-spin svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	animation: spin 16s linear infinite;
	overflow: visible;
}
.badge-spin svg text {
	font-family: var(--font-body);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	fill: var(--white);
}
.badge-spin::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: var(--ink);
}
.badge-spin__icon {
	position: relative;
	width: 42%;
	animation: float 5.5s ease-in-out infinite;
}
@keyframes spin { to { rotate: 360deg; } }
@keyframes float {
	0%, 100% { transform: translateY(0) rotate(-8deg); }
	50% { transform: translateY(-9px) rotate(4deg); }
}

/* ---------- Doppel-Marquee ---------- */
.marquee { overflow: hidden; }
.marquee__row {
	overflow: hidden;
	padding-block: 12px;
}
.marquee__row--solid {
	background: var(--coral);
	color: var(--white);
}
.marquee__row--outline {
	background: var(--white);
	color: transparent;
	-webkit-text-stroke: 1.2px var(--ink);
	text-stroke: 1.2px var(--ink);
	border-bottom: 1.5px solid rgba(33,21,18,.09);
}
.marquee__track {
	display: flex;
	align-items: center;
	white-space: nowrap;
	width: max-content;
	animation: marquee 28s linear infinite;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.marquee__track--reverse { animation: marquee-rev 34s linear infinite; }
.marquee__track span { display: inline-flex; align-items: center; }
@keyframes marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@keyframes marquee-rev {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}
/* Smiley als Trenner */
.mq-smile {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	margin-inline: .8em;
	background: url('../assets/img/icon-smiley.svg') center / contain no-repeat;
}
.mq-smile--ink { filter: grayscale(1) brightness(.25); }

/* ---------- Intro ---------- */
.intro__grid {
	display: grid;
	grid-template-columns: .92fr 1.08fr;
	gap: clamp(36px, 6vw, 88px);
	align-items: center;
}
.intro__media {
	position: relative;
	display: grid;
	gap: 20px;
}
.intro__photo {
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
}
.intro__photo--tall {
	width: 72%;
	transform: rotate(-2deg);
}
.intro__photo--tall img { aspect-ratio: 3/4; object-fit: cover; }
.intro__photo--offset {
	width: 64%;
	justify-self: end;
	margin-top: -34%;
	transform: rotate(2.4deg);
	border: 6px solid var(--white);
}
.intro__photo--offset img { aspect-ratio: 4/3; object-fit: cover; }
.intro__text h2 { line-height: 1.06; }
.intro__text p + p { margin-top: 16px; }
.intro__perks {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}
.intro__perks li {
	background: var(--cream);
	border: 1.5px solid var(--cream-deep);
	border-radius: 999px;
	padding: 9px 18px;
	font-weight: 600;
	font-size: .94rem;
}

/* ---------- Kategorien: Editorial-Index ---------- */
.cats h2 { margin-bottom: clamp(32px, 5vw, 56px); }
.index { border-top: 2px solid var(--ink); }
.index__row {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	align-items: baseline;
	gap: clamp(16px, 3vw, 40px);
	padding-block: clamp(18px, 2.6vw, 30px);
	border-bottom: 2px solid var(--ink);
	text-decoration: none;
	color: var(--ink);
	position: relative;
	transition: padding-left .3s cubic-bezier(.2,.6,.2,1), background .3s ease;
}
.index__row:hover {
	background: var(--pink-soft);
	padding-left: clamp(14px, 2vw, 28px);
	padding-right: 10px;
}
.index__num {
	font-family: var(--font-body);
	font-size: .85rem;
	font-weight: 700;
	color: var(--coral);
	letter-spacing: .1em;
}
.index__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(2rem, 5.4vw, 4rem);
	line-height: 1;
	letter-spacing: -0.015em;
	text-transform: uppercase;
	transition: color .25s ease;
}
.index__row:hover .index__title { color: var(--coral); }
.index__desc {
	color: var(--ink-soft);
	font-size: .98rem;
	max-width: 24em;
	text-align: right;
}
.index__arrow {
	font-size: clamp(1.4rem, 3vw, 2.2rem);
	color: var(--coral);
	transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
.index__row:hover .index__arrow { transform: translateX(10px) rotate(-45deg); }

/* ---------- Menü ---------- */
.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: clamp(32px, 4vw, 48px);
}
.tab {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: .98rem;
	padding: 13px 24px;
	border-radius: 999px;
	border: 1.5px solid rgba(33,21,18,.14);
	background: var(--white);
	color: var(--ink);
	cursor: pointer;
	transition: all .18s ease;
}
.tab:hover { border-color: var(--coral); color: var(--coral); }
.tab.is-active {
	background: var(--coral);
	border-color: var(--coral);
	color: var(--white);
	box-shadow: 0 8px 20px -8px rgba(251,62,42,.5);
}

.menu__panel { display: none; }
.menu__panel.is-active { display: block; animation: fadeUp .4s ease; }
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

.menu__note {
	background: var(--pink-soft);
	border: 1.5px dashed var(--pink);
	border-radius: var(--radius-sm);
	padding: 16px 22px;
	margin-bottom: 34px;
	font-weight: 600;
}
.menu__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}
.menu__group h3 {
	font-size: 1.55rem;
	color: var(--coral);
	padding-bottom: 10px;
	border-bottom: 2.5px solid var(--cream-deep);
	margin-bottom: 18px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.menu__group h3:not(:first-child) { margin-top: 40px; }
.menu__size {
	font-family: var(--font-body);
	font-size: .8rem;
	font-weight: 600;
	color: var(--ink-soft);
	white-space: nowrap;
}

.price-list { list-style: none; }
.price-list li {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding-block: 9px;
}
.price-list li + li { border-top: 1px solid rgba(33,21,18,.06); }
.price-list span { font-weight: 600; }
.price-list small {
	display: block;
	font-weight: 400;
	color: var(--ink-soft);
	font-size: .86rem;
	line-height: 1.45;
	margin-top: 2px;
}
.price-list i {
	flex: 1;
	border-bottom: 2px dotted rgba(33,21,18,.18);
	transform: translateY(-4px);
	min-width: 24px;
}
.price-list b {
	font-weight: 700;
	white-space: nowrap;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}
.price-list b small { display: inline; color: var(--ink-soft); font-size: .8rem; margin: 0; }

/* ---------- Reservieren ---------- */
.reserve {
	background:
		linear-gradient(rgba(24, 16, 44, .45), rgba(24, 16, 44, .45)),
		url('../assets/img/illustration-jungle.jpg') center / cover no-repeat,
		var(--coral);
	color: var(--white);
	overflow: hidden;
}
.reserve__inner {
	display: flex;
	align-items: center;
	gap: clamp(36px, 6vw, 90px);
	padding-block: clamp(60px, 8vw, 100px);
}
.reserve__logo {
	width: clamp(120px, 16vw, 200px);
	flex-shrink: 0;
	transform: rotate(-5deg);
	filter: drop-shadow(0 14px 30px rgba(0,0,0,.25));
}
.reserve__text h2 { color: var(--white); margin-bottom: 14px; }
.reserve__text h2 em { color: var(--pink); }
.reserve__text p {
	font-size: 1.14rem;
	opacity: .92;
	margin-bottom: 30px;
	max-width: 36em;
}

/* ---------- Standort ---------- */
.location__grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(28px, 4vw, 48px);
	align-items: stretch;
}
.hours-card {
	background: var(--cream);
	border-radius: var(--radius);
	padding: clamp(28px, 4vw, 40px);
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.hours-card__status {
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 1.02rem;
}
.hours-card__status::before {
	content: '';
	width: 11px; height: 11px;
	border-radius: 50%;
	background: var(--status-color, #999);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--status-color, #999) 22%, transparent);
}
.hours-card__status.is-open { --status-color: #1FA557; color: #157A40; }
.hours-card__status.is-closed { --status-color: var(--coral); color: var(--coral-dark); }

.hours { width: 100%; border-collapse: collapse; }
.hours td { padding-block: 8px; font-size: 1rem; }
.hours td:last-child { text-align: right; font-weight: 600; }
.hours tr + tr td { border-top: 1px solid rgba(33,21,18,.08); }
.hours tr.is-today td {
	color: var(--coral);
	font-weight: 700;
}
.hours-card__address {
	font-style: normal;
	line-height: 1.7;
	padding-top: 4px;
}
.hours-card .btn { align-self: flex-start; }

.location__map {
	border-radius: var(--radius);
	overflow: hidden;
	min-height: 420px;
	background: var(--cream-deep);
	position: relative;
}
.map-consent {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	gap: 18px;
	text-align: center;
	padding: 32px;
	background:
		radial-gradient(560px 300px at 50% 0%, var(--pink-soft) 0%, transparent 70%),
		var(--cream);
}
.map-consent p { max-width: 30em; color: var(--ink-soft); }
.map-consent .btn { justify-self: center; }
.location__map iframe {
	width: 100%;
	height: 100%;
	min-height: 420px;
	border: 0;
	display: block;
}

/* ---------- FAQ ---------- */
.faq__list { display: grid; gap: 12px; }
.faq__list details {
	background: var(--white);
	border-radius: var(--radius-sm);
	border: 1.5px solid rgba(33,21,18,.07);
	overflow: hidden;
	transition: box-shadow .2s ease;
}
.faq__list details[open] { box-shadow: 0 10px 28px -14px rgba(33,21,18,.18); }
.faq__list summary {
	list-style: none;
	cursor: pointer;
	font-weight: 700;
	font-size: 1.04rem;
	padding: 19px 54px 19px 24px;
	position: relative;
	user-select: none;
}
.faq__list summary::-webkit-details-marker { display: none; }
.faq__list summary::after {
	content: '+';
	position: absolute;
	right: 20px;
	top: 50%;
	translate: 0 -50%;
	font-family: var(--font-display);
	font-size: 1.5rem;
	color: var(--coral);
	transition: rotate .25s ease;
}
.faq__list details[open] summary::after { rotate: 45deg; }
.faq__list details p {
	padding: 0 24px 20px;
	color: var(--ink-soft);
}

/* ---------- Feedback ---------- */
.feedback__inner { text-align: center; }
.feedback__icon {
	width: 76px;
	margin: 0 auto 22px;
	animation: float 6s ease-in-out infinite;
}
.feedback p { max-width: 38em; margin-inline: auto; color: var(--ink-soft); }
.feedback__actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

/* ---------- Footer ---------- */
.footer {
	background: var(--ink);
	color: rgba(255,255,255,.85);
	overflow: hidden;
}
/* Dezente Outline-Wortmarke, am Seitenende angeschnitten */
.footer__wordmark {
	display: flex;
	justify-content: center;
	margin-top: clamp(8px, 2vw, 24px);
	margin-bottom: clamp(-34px, -3.4vw, -16px);
	user-select: none;
	pointer-events: none;
}
.footer__wordmark span {
	position: relative;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(3.2rem, 10vw, 8.6rem);
	line-height: .92;
	letter-spacing: .02em;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(251, 62, 42, .55);
	text-stroke: 1.5px rgba(251, 62, 42, .55);
	transition: color .45s ease, -webkit-text-stroke-color .45s ease;
	pointer-events: auto;
}
.footer__wordmark span:hover {
	color: var(--coral);
	-webkit-text-stroke-color: var(--coral);
}
.footer__wordmark img {
	position: absolute;
	top: -4px;
	right: -0.42em;
	width: clamp(16px, 2.6vw, 30px);
	opacity: .9;
}

/* ---------- Google-Bewertungs-Badge ---------- */
.gbadge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	text-decoration: none;
	color: var(--ink);
	font-size: .95rem;
	width: fit-content;
	transition: transform .18s ease;
}
.gbadge:hover { transform: translateY(-2px); }
.gbadge--center { margin: 6px auto 26px; display: flex; justify-content: center; }
.gbadge__stars {
	position: relative;
	font-size: 1.12rem;
	letter-spacing: 2px;
	line-height: 1;
}
.gbadge__base { color: rgba(33, 21, 18, .18); }
.gbadge__fill {
	position: absolute;
	inset: 0;
	width: 94%; /* 4,7 von 5 */
	overflow: hidden;
	white-space: nowrap;
	color: #F0A500;
}
.gbadge strong {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.18rem;
}
.gbadge__label {
	color: var(--ink-soft);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(33,21,18,.25);
	text-underline-offset: 3px;
}
.gbadge:hover .gbadge__label { color: var(--coral); text-decoration-color: var(--coral); }
.footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.footer a:hover { color: var(--pink); }
.footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	padding-block: clamp(52px, 7vw, 84px);
}
.footer__logo { width: 92px; margin-bottom: 20px; }
.footer__brand p { font-size: .95rem; line-height: 1.7; }
.footer__nav { display: grid; gap: 10px; align-content: start; }
.footer__nav h4, .footer__social h4 {
	color: var(--white);
	font-size: 1.15rem;
	margin-bottom: 8px;
}
.footer__nav a { font-size: .96rem; width: fit-content; }
.footer__icons { display: flex; gap: 14px; margin-bottom: 16px; }
.footer__icons a {
	display: grid;
	place-items: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
	transition: background .2s ease, transform .2s ease;
}
.footer__icons a:hover {
	background: var(--coral);
	color: var(--white);
	transform: translateY(-3px);
}
.footer__hours { font-size: .9rem; opacity: .75; }
.footer__bottom {
	text-align: center;
	padding: 22px 16px;
	font-size: .88rem;
	opacity: .7;
}

/* ---------- Reveal Animations ---------- */
.reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible {
	opacity: 1;
	transform: none;
}
/* Stagger */
.hero__line--2.reveal { transition-delay: .1s; }
.hero__line--3.reveal { transition-delay: .2s; }
.hero__grid .reveal:nth-child(2) { transition-delay: .15s; }
.index__row:nth-child(2).reveal { transition-delay: .07s; }
.index__row:nth-child(3).reveal { transition-delay: .14s; }
.index__row:nth-child(4).reveal { transition-delay: .21s; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.reveal { opacity: 1; transform: none; transition: none; }
	.marquee__track, .badge-spin svg, .badge-spin__icon, .feedback__icon, .footer__wordmark img { animation: none; }
	* { transition-duration: .01ms !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1020px) {
	.footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
	.hero__grid { grid-template-columns: 1fr; gap: 40px; }
	.hero__media { justify-self: center; width: min(100%, 420px); }
	.badge-spin { left: -18px; bottom: -22px; }
	.hero__line--2 { margin-left: clamp(16px, 6vw, 60px); -webkit-text-stroke-width: 1.8px; }
	.index__row { grid-template-columns: auto 1fr auto; }
	.index__desc { display: none; }
	.intro__grid { grid-template-columns: 1fr; }
	.intro__media { max-width: 480px; margin-inline: auto; }
	.menu__cols { grid-template-columns: 1fr; gap: 8px; }
	.menu__group:last-child h3:first-child { margin-top: 40px; }
	.location__grid { grid-template-columns: 1fr; }
	.reserve__inner { flex-direction: column; text-align: center; }
	.reserve__text h2 { margin-inline: auto; }
	.reserve__logo { transform: rotate(-4deg) scale(.9); }

	/* Mobile Nav */
	.nav__toggle {
		display: grid;
		gap: 5px;
		background: none;
		border: 0;
		cursor: pointer;
		padding: 10px;
		z-index: 110;
	}
	.nav__toggle span {
		width: 26px; height: 3px;
		background: var(--ink);
		border-radius: 2px;
		transition: transform .25s ease, opacity .2s ease;
	}
	.nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

	.nav__menu {
		position: fixed;
		inset: 0;
		top: 0;
		flex-direction: column;
		justify-content: center;
		gap: 26px;
		background: var(--cream);
		font-size: 1.3rem;
		transform: translateY(-102%);
		visibility: hidden;
		transition: transform .32s cubic-bezier(.5, 0, .2, 1), visibility 0s .32s;
		z-index: 105;
	}
	.nav__menu.is-open {
		transform: translateY(0);
		visibility: visible;
		transition: transform .32s cubic-bezier(.5, 0, .2, 1);
	}
	.nav__menu > a:not(.btn) { font-size: 1.35rem; font-family: var(--font-display); }
	.nav__cta { font-size: 1.1rem; padding: 17px 32px; }
}

@media (max-width: 560px) {
	.topbar { font-size: .76rem; }
	.footer__grid { grid-template-columns: 1fr; }
	.badge-spin { width: 96px; left: -8px; bottom: -16px; }
	.hero__title { font-size: clamp(3rem, 14.5vw, 4.6rem); }
	.hero__meta { font-size: .8rem; }
	.hours td { font-size: .93rem; }
}

/* ---------- Unterseiten (Rechtliches & Kontakt) ---------- */
.subpage-main {
	padding-block: clamp(48px, 7vw, 90px);
	min-height: 55vh;
}
.subpage-main h1 {
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	margin-bottom: clamp(24px, 4vw, 40px);
}
.subpage-main h1 em { font-style: normal; color: var(--coral); }
.legal h2 {
	font-size: 1.55rem;
	margin: 40px 0 14px;
}
.legal h3 {
	font-size: 1.15rem;
	margin: 26px 0 8px;
	font-family: var(--font-body);
	font-weight: 700;
}
.legal p, .legal ul { margin-bottom: 14px; color: var(--ink-soft); }
.legal ul { padding-left: 22px; }
.legal strong { color: var(--ink); }
.legal address { font-style: normal; line-height: 1.8; margin-bottom: 14px; }
.contact-card {
	background: var(--cream);
	border-radius: var(--radius);
	padding: clamp(26px, 4vw, 40px);
	margin-block: 10px 26px;
	line-height: 1.9;
}
.contact-card a { font-weight: 600; }
.manage-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }

/* ---------- Feedback-Sterne ---------- */
.stars-box {
	background: var(--cream);
	border-radius: var(--radius);
	padding: clamp(26px, 4vw, 40px);
	text-align: center;
	margin-block: 10px 26px;
}
.stars { display: inline-flex; gap: 6px; direction: ltr; }
.stars button {
	background: none;
	border: 0;
	cursor: pointer;
	font-size: clamp(38px, 9vw, 52px);
	line-height: 1;
	padding: 4px;
	color: #E3D5C8;
	transition: transform .15s ease, color .15s ease;
}
.stars button.is-on { color: #F0A500; }
.stars button:hover { transform: scale(1.18) rotate(-6deg); }
.stars-box .stars-hint { color: var(--ink-soft); font-size: .9rem; margin-top: 10px; }

/* ---------- Sprach-Switcher ---------- */
.lang { position: relative; }
.lang summary {
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	font-weight: 700;
	font-size: .88rem;
	letter-spacing: .04em;
	padding: 9px 14px;
	border: 1.5px solid rgba(33,21,18,.18);
	border-radius: 999px;
	color: var(--ink);
	transition: border-color .2s ease, background .2s ease;
	user-select: none;
}
.lang summary::-webkit-details-marker { display: none; }
.lang summary:hover { border-color: var(--coral); color: var(--coral); }
.lang[open] summary { background: var(--pink-soft); border-color: var(--coral); }
.lang__list {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	min-width: 180px;
	list-style: none;
	background: var(--white);
	border: 1.5px solid rgba(33,21,18,.1);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow);
	padding: 8px;
	z-index: 120;
}
.lang__list a {
	display: block;
	padding: 9px 14px;
	border-radius: 9px;
	text-decoration: none;
	color: var(--ink);
	font-weight: 600;
	font-size: .95rem;
	transition: background .15s ease, color .15s ease;
}
.lang__list a:hover { background: var(--pink-soft); color: var(--coral); }
.lang__list a.is-active { background: var(--coral); color: var(--white); }

@media (max-width: 860px) {
	.lang { order: 10; }
	.lang__list {
		position: static;
		min-width: 0;
		box-shadow: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 4px;
		border: 0;
		background: transparent;
	}
	.lang summary { font-size: 1rem; }
}

/* ---------- RTL (Arabisch) ---------- */
[dir="rtl"] .hero__line--2 { margin-left: 0; margin-right: clamp(28px, 9vw, 150px); }
[dir="rtl"] .hero__line--3 { margin-left: 0; margin-right: clamp(8px, 3vw, 48px); }
[dir="rtl"] .index__desc { text-align: left; }
[dir="rtl"] .index__row:hover { padding-left: 10px; padding-right: clamp(14px, 2vw, 28px); }
[dir="rtl"] .index__arrow { transform: scaleX(-1); }
[dir="rtl"] .index__row:hover .index__arrow { transform: scaleX(-1) translateX(10px) rotate(-45deg); }
[dir="rtl"] .badge-spin { left: auto; right: -54px; }
[dir="rtl"] .price-list b { direction: ltr; }
[dir="rtl"] .hours td:last-child { direction: ltr; text-align: left; }
[dir="rtl"] .lang__list { right: auto; left: 0; }
[dir="rtl"] .marquee__track, [dir="rtl"] .marquee__row { direction: ltr; }
@media (max-width: 860px) {
	[dir="rtl"] .hero__line--2 { margin-right: clamp(16px, 6vw, 60px); }
	[dir="rtl"] .badge-spin { right: -18px; }
}

/* ---------- Job-Formular ---------- */
.jobs__intro { font-size: 1.15rem; color: var(--ink-soft); margin-bottom: 34px; }
.job-form { max-width: 560px; }
.job-form .field { margin-bottom: 26px; border: 0; }
.job-form label, .job-form legend {
	display: block;
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 1.02rem;
}
.job-form label span, .job-form legend span { color: var(--coral); }
.job-form select, .job-form input {
	width: 100%;
	font: inherit;
	padding: 14px 16px;
	border: 1.5px solid rgba(33,21,18,.22);
	border-radius: var(--radius-sm);
	background: var(--white);
	color: var(--ink);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.job-form select:focus, .job-form input:focus {
	outline: none;
	border-color: var(--coral);
	box-shadow: 0 0 0 3px var(--pink-soft);
}
.job-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 21px) 50%, calc(100% - 15px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.field__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field__row--phone { grid-template-columns: 110px 1fr; }
.field__row small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: .82rem; }
.hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.job-form__msg { margin-top: 16px; font-weight: 600; color: var(--coral-dark); min-height: 1.4em; }
.job-success { text-align: center; padding: clamp(24px, 5vw, 48px) 0; }
.job-success img { margin: 0 auto 18px; animation: float 5s ease-in-out infinite; }
.job-success h2 { margin-bottom: 12px; }
.job-success p { color: var(--ink-soft); margin-bottom: 26px; }
@media (max-width: 560px) {
	.field__row { grid-template-columns: 1fr; }
	.field__row--phone { grid-template-columns: 96px 1fr; }
}

/* ---------- Hero: Tropen-Peek ---------- */
.hero__leaf {
	position: absolute;
	top: -34px;
	right: -56px;
	width: 200px;
	border-radius: 28px;
	transform: rotate(8deg);
	z-index: -1;
	-webkit-mask: radial-gradient(120% 120% at 0% 100%, #000 55%, transparent 78%);
	mask: radial-gradient(120% 120% at 0% 100%, #000 55%, transparent 78%);
	opacity: .92;
}

/* ---------- Signature Cravings ---------- */
.cravings__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.crave {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: clamp(240px, 24vw, 320px);
	padding: 24px 22px 20px;
	border-radius: var(--radius);
	text-decoration: none;
	overflow: hidden;
	transition: transform .25s cubic-bezier(.2,.6,.2,1), box-shadow .25s ease;
	box-shadow: 0 8px 26px -14px rgba(33,21,18,.25);
}
.crave:hover {
	transform: translateY(-8px) rotate(-1.2deg);
	box-shadow: var(--shadow);
}
.crave--pink { background: var(--pink); color: var(--ink); }
.crave--ink { background: var(--ink); color: var(--cream); }
.crave--coral { background: var(--coral); color: var(--white); }
.crave--cream { background: var(--cream); color: var(--ink); border: 1.5px solid var(--cream-deep); }
.crave__tag {
	align-self: flex-start;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.85);
	color: var(--ink);
	box-shadow: 0 2px 8px rgba(33,21,18,.12);
	transform: rotate(-3deg);
}
.crave--cream .crave__tag, .crave--pink .crave__tag { background: var(--ink); color: var(--cream); }
.crave h3 {
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	line-height: .98;
	margin-top: auto;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}
.crave p { font-size: .88rem; opacity: .82; margin-bottom: 14px; }
.crave__price {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.2rem;
	border-top: 2px dotted currentColor;
	padding-top: 12px;
	opacity: .95;
}

/* ---------- Golden Hour ---------- */
.golden {
	position: relative;
	background:
		radial-gradient(900px 500px at 50% 120%, rgba(251,62,42,.28) 0%, transparent 65%),
		#16102C;
	color: var(--cream);
	overflow: hidden;
	text-align: center;
}
.golden__inner {
	position: relative;
	z-index: 2;
	padding-block: clamp(72px, 10vw, 130px);
	max-width: 760px;
}
.golden h2 { color: var(--white); }
.golden h2 em { color: var(--pink); }
.golden p {
	font-size: 1.12rem;
	opacity: .85;
	max-width: 36em;
	margin: 0 auto 30px;
}
.eyebrow--gold { background: rgba(240,165,0,.18); color: #F0A500; }
.golden__leaf {
	position: absolute;
	top: 50%;
	width: clamp(180px, 26vw, 380px);
	opacity: .85;
	z-index: 1;
}
.golden__leaf--r {
	right: 0;
	transform: translateY(-50%);
	-webkit-mask: linear-gradient(270deg, #000 55%, transparent);
	mask: linear-gradient(270deg, #000 55%, transparent);
}
.golden__leaf--l {
	left: 0;
	transform: translateY(-50%) scaleX(-1);
	-webkit-mask: linear-gradient(270deg, #000 55%, transparent);
	mask: linear-gradient(270deg, #000 55%, transparent);
}

@media (max-width: 1020px) {
	.cravings__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	.hero__leaf { right: -28px; width: 150px; }
	.golden__leaf { opacity: .4; }
}
@media (max-width: 560px) {
	.cravings__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.crave { min-height: 210px; padding: 18px 16px 16px; }
}

/* ---------- Food-Strip ---------- */
.strip {
	display: grid;
	grid-template-columns: 1fr .82fr 1fr;
	gap: 14px;
	padding: 0 14px 14px;
	background: var(--cream);
}
.strip__item {
	overflow: hidden;
	border-radius: var(--radius);
	aspect-ratio: 4 / 3;
}
.strip__item--tall { aspect-ratio: auto; }
.strip__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.6,.2,1);
}
.strip__item:hover img { transform: scale(1.06); }

/* ---------- Location-Galerie ---------- */
.place__grid {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	grid-template-rows: auto auto;
	gap: 18px;
}
.place__item {
	overflow: hidden;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	margin: 0;
}
.place__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.6,.2,1);
}
.place__item:hover img { transform: scale(1.05); }
.place__item--big {
	grid-row: 1 / 3;
	aspect-ratio: 3 / 4;
}
.place__item { aspect-ratio: 4 / 3.1; }
.place__item--big { aspect-ratio: 3 / 4; }

@media (max-width: 860px) {
	.strip { grid-template-columns: 1fr 1fr; }
	.strip__item--tall { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
	.place__grid { grid-template-columns: 1fr; }
	.place__item--big { grid-row: auto; }
}

/* ---------- Instagram ---------- */
.insta__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	margin-bottom: clamp(26px, 4vw, 40px);
}
.insta__head h2 { margin: 0; }
.insta__head h2 a { text-decoration: none; color: var(--ink); }
.insta__head h2 a:hover em { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.insta__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.insta__item {
	position: relative;
	border-radius: var(--radius-sm);
	overflow: hidden;
	aspect-ratio: 1;
	display: block;
}
.insta__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.2,.6,.2,1);
}
.insta__item::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Crect x='2.5' y='2.5' width='19' height='19' rx='5.5'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.3' fill='%23fff' stroke='none'/%3E%3C/svg%3E") center / 44px no-repeat,
		rgba(33, 21, 18, .38);
	opacity: 0;
	transition: opacity .3s ease;
}
.insta__item:hover::after { opacity: 1; }
.insta__item:hover img { transform: scale(1.06); }
@media (max-width: 700px) {
	.insta__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* ---------- Editorial Break (Full-Bleed) ---------- */
.break {
	position: relative;
	height: clamp(380px, 64vh, 640px);
	overflow: hidden;
}
.break > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.break::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(33,21,18,.18), rgba(33,21,18,.34));
}
.break__text {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
	line-height: .9;
	text-align: center;
	color: var(--cream);
	font-size: clamp(3rem, 9.5vw, 8rem);
	letter-spacing: -0.015em;
	text-shadow: 0 6px 40px rgba(33,21,18,.35);
}
.break__line2 {
	color: transparent;
	-webkit-text-stroke: 2.5px var(--cream);
	text-stroke: 2.5px var(--cream);
	text-shadow: none;
}

/* ---------- Cravings: Foto-Duotone ---------- */
.crave__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .38;
	mix-blend-mode: luminosity;
	transition: opacity .35s ease, transform .6s cubic-bezier(.2,.6,.2,1);
}
.crave:hover .crave__bg { opacity: .55; transform: scale(1.05); }
.crave > *:not(.crave__bg) { position: relative; z-index: 2; }
.crave--cream .crave__bg { mix-blend-mode: multiply; opacity: .26; }
.crave--cream:hover .crave__bg { opacity: .38; }

/* Badge auf dem Food-Strip */
.badge-spin--strip {
	position: absolute;
	top: 14px;
	right: 14px;
	left: auto;
	bottom: auto;
	width: clamp(92px, 9vw, 116px);
	z-index: 3;
}
.badge-spin--strip::before { background: var(--coral); }
.strip__item--tall { position: relative; }
@media (max-width: 860px) {
	.badge-spin--strip { width: 84px; top: 10px; right: 10px; }
}

/* ---------- Reservierung: Slot-Auswahl ---------- */
.slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(74px, 1fr));
	gap: 8px;
}
.slots__hint { grid-column: 1 / -1; color: var(--ink-soft); font-size: .95rem; }
.slot {
	font: inherit;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	padding: 11px 4px;
	border-radius: 11px;
	border: 1.5px solid rgba(33,21,18,.22);
	background: var(--white);
	color: var(--ink);
	cursor: pointer;
	transition: all .15s ease;
}
.slot:hover:not(:disabled) { border-color: var(--coral); color: var(--coral); }
.slot.is-active { background: var(--coral); border-color: var(--coral); color: var(--white); }
.slot:disabled { opacity: .32; cursor: not-allowed; text-decoration: line-through; }
.res-note { margin-top: 30px; color: var(--ink-soft); }
.job-form input[type="date"] { appearance: none; -webkit-appearance: none; min-height: 51px; }

/* ---------- Team-Board ---------- */
.team-body { background: var(--cream); }
.team-nav { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.team-nav .btn { padding: 12px 18px; }
.team-date {
	font: inherit; font-weight: 700;
	padding: 11px 14px;
	border: 1.5px solid rgba(33,21,18,.22);
	border-radius: 999px;
	background: var(--white);
}
.team-main { padding-block: 28px 60px; }
.team-stats { font-size: 1.02rem; color: var(--ink-soft); margin-bottom: 18px; }
.team-stats strong { color: var(--coral); font-size: 1.15em; }
.team-list { display: grid; gap: 10px; }
.tcard {
	display: flex;
	align-items: center;
	gap: 18px;
	background: var(--white);
	border-radius: var(--radius-sm);
	padding: 14px 18px;
	border: 1.5px solid rgba(33,21,18,.07);
}
.tcard--off { opacity: .45; }
.tcard__time {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--coral);
	min-width: 76px;
}
.tcard__body { flex: 1; min-width: 0; }
.tcard__head { font-size: 1.04rem; }
.tcard__occ {
	display: inline-block;
	background: var(--pink-soft);
	border-radius: 999px;
	padding: 2px 12px;
	margin-left: 8px;
	font-size: .88rem;
	font-weight: 600;
}
.tcard__cancelled { color: var(--coral-dark); font-weight: 700; margin-left: 8px; }
.tcard__meta { font-size: .9rem; color: var(--ink-soft); margin-top: 3px; overflow-wrap: anywhere; }
.tcard__cancel { padding: 10px 16px; font-size: .88rem; flex-shrink: 0; }
.tcard__src {
	display: inline-block;
	background: var(--ink);
	color: var(--white);
	border-radius: 999px;
	padding: 2px 10px;
	margin-left: 8px;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .04em;
	vertical-align: 2px;
}

/* 15-Tage-Leiste (−7 … heute … +7), touch-freundlich fürs iPad */
.team-days {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 2px 2px 12px;
	margin-bottom: 14px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.daychip {
	flex-shrink: 0;
	font: inherit;
	font-weight: 700;
	font-size: .92rem;
	line-height: 1.25;
	padding: 9px 16px;
	border-radius: 14px;
	border: 1.5px solid rgba(33,21,18,.18);
	background: var(--white);
	cursor: pointer;
	text-align: center;
	transition: background .15s, border-color .15s;
}
.daychip small { display: block; font-weight: 600; font-size: .76rem; color: var(--ink-soft); }
.daychip:hover { border-color: var(--coral); }
.daychip.is-active { background: var(--coral); border-color: var(--coral); color: var(--white); }
.daychip.is-active small { color: rgba(255,255,255,.85); }
.daychip--today:not(.is-active) { border-color: var(--coral); color: var(--coral); }

/* Eintragen-Formular */
.team-form {
	background: var(--white);
	border: 1.5px solid rgba(33,21,18,.1);
	border-radius: var(--radius-sm);
	padding: 22px;
	margin-bottom: 18px;
	display: grid;
	gap: 14px;
}
.team-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.team-form label { display: block; font-weight: 700; font-size: .88rem; margin-bottom: 5px; }
.team-form label small { font-weight: 500; color: var(--ink-soft); }
.team-form input, .team-form select {
	width: 100%;
	font: inherit;
	padding: 11px 13px;
	border: 1.5px solid rgba(33,21,18,.22);
	border-radius: 12px;
	background: var(--white);
}
.team-form input:focus, .team-form select:focus { outline: 2px solid var(--coral); outline-offset: 1px; }
.team-form__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.team-form__msg { font-weight: 600; margin: 0; }
.team-form__msg.is-ok { color: #1B7F4D; }
.team-form__msg.is-err { color: var(--coral-dark); }
@media (max-width: 700px) {
	.tcard { flex-wrap: wrap; gap: 8px 14px; }
	.team-nav { width: 100%; }
}
