/* Flames theme: base component styles. Tokens come from theme.json (--wp--preset--*, --wp--custom--*).
   Motion is added in a later stage; reduced-motion is respected from the start. */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--ember); color: var(--wp--preset--color--charcoal); }
:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
	clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* ---------- Header ---------- */
.site-header {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--charcoal) 92%, transparent);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--ash);
	padding-block: 0.75rem;
}
.site-header__inner { width: 100%; }
.site-logo { margin: 0; line-height: 0; }
.site-logo img { height: 4.75rem !important; width: auto !important; display: block; }
.site-header__actions { gap: var(--wp--preset--spacing--40); }
.site-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--cream); text-decoration: none; padding-block: 0.4rem; }
.site-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--gold); }
.site-nav .wp-block-navigation__responsive-container.is-menu-open { padding: var(--wp--preset--spacing--50); }
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--x-large); }
.lang-switch { list-style: none; display: flex; gap: 0.75rem; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--small); }
.lang-switch a { color: var(--wp--preset--color--sand); text-decoration: none; }
.lang-switch .current-lang a { color: var(--wp--preset--color--gold); }
.site-header__reserve .wp-block-button__link { padding: 0.6rem 1.15rem; font-size: var(--wp--preset--font-size--small); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--cream);
	border: 1px solid var(--wp--preset--color--sand);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--cream); color: var(--wp--preset--color--charcoal); border-color: var(--wp--preset--color--cream);
}

/* ---------- Footer ---------- */
.site-footer { background: var(--wp--preset--color--coal); border-top: 1px solid var(--wp--preset--color--ash); padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); margin-top: 0; }
.site-footer a { color: var(--wp--preset--color--cream); }
.site-footer a:hover { color: var(--wp--preset--color--gold); }
.social-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.site-footer__legal { padding-top: 0.5rem; }

/* ---------- Home hero ---------- */
.home-hero .wp-block-cover__inner-container { text-align: center; }
.home-hero h1 { text-wrap: balance; }
.eyebrow { letter-spacing: 0.18em; text-transform: uppercase; }

/* ---------- Dish cards (markup from the Flames Menu plugin) ---------- */
.flames-dishes__list { list-style: none; margin: 0; padding: 0; }
.flames-dishes--grid .flames-dishes__list { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr)); }
.flames-dishes--list .flames-dishes__list { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.flames-dishes--slider .flames-dishes__list {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(16.5rem, 20rem); gap: 1.25rem;
	overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-width: thin;
}
.flames-dishes--slider .flames-dishes__item { scroll-snap-align: start; }

.dish-card {
	height: 100%; display: flex; flex-direction: column; overflow: hidden;
	background: var(--wp--preset--color--coal); border: 1px solid var(--wp--preset--color--ash);
	border-radius: var(--wp--custom--radius--md);
}
.dish-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--ash); }
.dish-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dish-card__body { padding: 1rem 1.15rem 1.15rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.dish-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75rem; }
.dish-card__title { margin: 0; font-size: var(--wp--preset--font-size--medium); line-height: 1.2; }
.dish-card__price { margin: 0; color: var(--wp--preset--color--gold); font-weight: 600; white-space: nowrap; text-align: right; }
.dish-card__note { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 400; color: var(--wp--preset--color--sand); }
.dish-card__desc { margin: 0; color: var(--wp--preset--color--sand); font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.dish-card__tags { list-style: none; margin: auto 0 0; padding: 0.35rem 0 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.dish-tag { font-size: 0.75rem; line-height: 1; padding: 0.35rem 0.6rem; border-radius: var(--wp--custom--radius--pill); background: var(--wp--preset--color--ash); color: var(--wp--preset--color--cream); }
.dish-tag--popular { background: color-mix(in srgb, var(--wp--preset--color--gold) 18%, var(--wp--preset--color--coal)); color: var(--wp--preset--color--gold); }

/* ---------- Mobile header ---------- */
@media (max-width: 781px) {
	.site-logo img { height: 3.5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
