/* Carte Restaurant — styles frontend */

.carte-restaurant {
	/*
	 * Pas de redéclaration des variables ici : elles sont injectées sur :root
	 * par wp_add_inline_style() à partir des réglages du plugin. Une variable
	 * déclarée directement sur cet élément gagnerait toujours sur celle héritée
	 * de :root, ce qui rendrait les couleurs des réglages inopérantes.
	 * Les valeurs après la virgule ne servent que de filet de sécurité.
	 */
	background-color: var( --bg, #14231a );
	color: var( --ink, #f3ead9 );
	font-family: 'Work Sans', Arial, sans-serif;
	padding: 2.5rem 1.25rem;
	box-sizing: border-box;
}

.carte-restaurant * {
	box-sizing: border-box;
}

.carte-restaurant .carte-restaurant-empty {
	color: var( --ink-muted, #cbbfa0 );
	font-family: 'Work Sans', Arial, sans-serif;
}

/* Navigation d'ancres */
.carte-restaurant .carte-restaurant-nav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem;
	justify-content: center;
	margin: 0 0 2.5rem;
	position: sticky;
	top: 0;
	z-index: 10;
	padding: 0.75rem 0;
	background-color: var( --bg, #14231a );
	list-style: none;
}

.carte-restaurant .carte-restaurant-nav-link {
	display: inline-block !important;
	font-family: 'Space Mono', monospace;
	font-size: 0.75rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap !important;
	color: var( --ink-muted, #cbbfa0 );
	background-color: var( --surface, #1c3324 );
	border: 1px solid var( --gold, #c9a24b );
	border-radius: 999px;
	padding: 0.5rem 1rem !important;
	margin: 0;
	text-decoration: none !important;
	transition: color 0.2s ease, background-color 0.2s ease;
	cursor: pointer;
}

.carte-restaurant .carte-restaurant-nav-link:hover,
.carte-restaurant .carte-restaurant-nav-link.is-active {
	color: var( --bg, #14231a );
	background-color: var( --gold, #c9a24b );
}

/* Décale la nav sous la barre d'admin WordPress (visible seulement en étant connecté) */
body.admin-bar .carte-restaurant .carte-restaurant-nav {
	top: 32px;
}

@media screen and ( max-width: 782px ) {
	body.admin-bar .carte-restaurant .carte-restaurant-nav {
		top: 46px;
	}
}

/* Sections */
.carte-restaurant .carte-restaurant-section {
	max-width: 960px;
	margin: 0 auto 3.5rem;
}

.carte-restaurant .carte-restaurant-section-title {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	font-size: 2rem;
	text-align: center;
	color: var( --gold, #c9a24b );
	margin: 0 0 2rem;
	position: relative;
}

/* Grille des plats : 2 colonnes desktop, 1 colonne < 620px */
.carte-restaurant .carte-restaurant-grid {
	display: grid !important;
	grid-template-columns: repeat( 2, 1fr ) !important;
	gap: 2rem 3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media ( max-width: 620px ) {
	.carte-restaurant .carte-restaurant-grid {
		grid-template-columns: 1fr !important;
	}

	.carte-restaurant .carte-restaurant-section-title {
		font-size: 1.5rem;
	}
}

.carte-restaurant .carte-restaurant-item {
	display: flex !important;
	gap: 1rem;
	margin: 0;
	padding: 0;
}

.carte-restaurant .carte-restaurant-item-photo {
	flex: 0 0 84px;
	width: 84px;
	height: 84px;
	border-radius: 6px;
	overflow: hidden;
	background-color: var( --surface, #1c3324 );
	margin: 0;
}

.carte-restaurant .carte-restaurant-item-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
	/* Filtre sépia/vert pour homogénéiser les photos avec l'identité du menu */
	filter: sepia( 0.45 ) saturate( 1.3 ) hue-rotate( 60deg ) brightness( 0.85 ) contrast( 1.05 );
}

.carte-restaurant .carte-restaurant-item-body {
	flex: 1 1 auto;
	min-width: 0;
}

.carte-restaurant .carte-restaurant-item-heading {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: baseline;
	gap: 0.5rem;
	margin: 0;
}

.carte-restaurant .carte-restaurant-item-name {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	font-size: 1.1rem;
	margin: 0;
	color: var( --ink, #f3ead9 );
	white-space: nowrap !important;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 0 1 auto;
}

/* Séparateur en pointillés entre le nom du plat et le prix */
.carte-restaurant .carte-restaurant-item-dots {
	display: block !important;
	flex: 1 1 auto;
	min-width: 1rem;
	height: 0;
	border-bottom: 1px dotted var( --ink-muted, #cbbfa0 );
	margin: 0 0.4rem;
	transform: translateY( -0.3em );
}

.carte-restaurant .carte-restaurant-item-price {
	font-family: 'Space Mono', monospace;
	font-size: 0.95rem;
	margin: 0;
	color: var( --gold, #c9a24b );
	white-space: nowrap !important;
	flex: 0 0 auto;
}

.carte-restaurant .carte-restaurant-item-tag {
	display: inline-block !important;
	font-family: 'Space Mono', monospace;
	font-size: 0.65rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var( --wine, #7a2e3a );
	border: 1px solid var( --wine, #7a2e3a );
	border-radius: 999px;
	padding: 0.15rem 0.5rem;
	margin: 0.4rem 0 0;
}

.carte-restaurant .carte-restaurant-item-desc {
	font-family: 'Work Sans', Arial, sans-serif;
	font-size: 0.85rem;
	color: var( --ink-muted, #cbbfa0 );
	margin: 0.5rem 0 0;
	line-height: 1.5;
}
