/* ==========================================================================
   Tempaurel — cartes (pages /sunrise et /sunset)
   Reprend la mise en page des menus papier. Chargé seulement quand un bloc
   « Carte » est affiché (voir inc/cartes.php).

   Polices (celles du thème, les plus proches des menus papier) :
   - grands titres et bandeaux condensés : Oswald ;
   - rubriques, noms, détails, prix (capitales espacées) : DM Sans ;
   - légende « fait maison / végé friendly » : Fraunces.

   Couleurs prélevées dans les PDF. Les textes sont un peu plus foncés que
   sur papier pour rester lisibles à l'écran (contraste ≥ 4,5:1, ≥ 3:1 pour
   les grands titres) ; les couleurs d'origine sont notées en commentaire.
   ========================================================================== */

.tp-carte {
	/* Valeurs par défaut : vert des cartes Boissons et Menu */
	--c-rayure-1: #9db38c;
	--c-rayure-2: #e0e6dd;
	--c-page: transparent;
	--c-fond: #fff;
	--c-titre: #859a76;   /* PDF : #859a76 */
	--c-texte: #677959;   /* PDF : #859a76 */
	--c-filet: currentColor;

	/* Rayures centrées sur la page (une rayure foncée au milieu), encart
	   large d'un nombre impair de rayures : ses bords tombent entre deux
	   rayures, avec une rayure foncée de chaque côté, comme sur papier.
	   Sur mobile et tablette, la page compte un nombre impair de rayures
	   (17 ou 25), foncées sur les bords. */
	--rayure: calc(100vw / 17);
	--marge: var(--rayure);

	background-color: var(--c-page);
	background-image: linear-gradient(90deg, var(--c-rayure-2) 25%, var(--c-rayure-1) 25% 75%, var(--c-rayure-2) 75%);
	background-position: center top;
	background-repeat: repeat-x;
	background-size: calc(2 * var(--rayure)) 100%;
	color: var(--c-texte);
	font-family: var(--wp--preset--font-family--body);
	padding: calc(var(--rayure) * 2) var(--marge);
}

@media (min-width: 600px) {
	.tp-carte {
		--rayure: calc(100vw / 25);
	}
}

@media (min-width: 1100px) {
	.tp-carte {
		--rayure: 48px;
		--marge: calc(50% - 9.5 * var(--rayure));
	}
}

.tp-carte--menu {
	--c-fond: #e0e6dd;
	--c-titre: #6f8462;   /* PDF : #859a76 */
	--c-texte: #59694e;   /* PDF : #859a76 */
	--c-filet: #fff;
}

.tp-carte--brunch {
	--c-rayure-1: #f1a274;
	--c-rayure-2: #fae0d0;
	--c-fond: #fae0d0;
	--c-titre: #d35b15;   /* PDF : #f1a274 */
	--c-texte: #a74811;   /* PDF : #f1a274 */
}

.tp-carte--cocktails {
	--c-page: #763216;
	--c-bandeau: #c9c97f;
	background-image: none;
}

/* Encart --------------------------------------------------------------- */
.tp-carte__encart {
	background: var(--c-fond);
	display: flow-root;
	margin-inline: auto;
	padding: clamp(1.5rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3.5rem) clamp(1.25rem, 3vw, 2rem);
}

.tp-carte p {
	margin: 0;
}

/* Grand titre : le titre BOISSONS déborde sur les rayures, comme sur papier */
.tp-carte__title {
	color: var(--c-titre);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3.25rem, 13vw, 6.5rem);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 0.95;
	margin: 0 0 0.75rem;
	text-align: center;
	text-transform: uppercase;
}

.tp-carte--boissons .tp-carte__encart {
	padding-top: 0;
}

.tp-carte--boissons .tp-carte__title {
	margin-top: -0.5em;
}

.tp-carte__subtitle {
	color: var(--c-titre);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.125rem, 1rem + 0.6vw, 1.375rem);
	font-weight: 600;
	line-height: 1.25;
	margin-bottom: 1.75rem !important;
}

/* Colonnes --------------------------------------------------------------- */
.tp-carte__cols {
	display: grid;
	gap: 0 clamp(2rem, 5vw, 3rem);
}

/* Sur une seule colonne, les rubriques suivent leur ordre d'affichage
   (style « order » posé par inc/cartes.php), quelle que soit leur colonne. */
.tp-carte__col {
	display: contents;
}

@media (min-width: 760px) {
	.tp-carte__cols {
		grid-template-columns: 1fr 1fr;
	}

	.tp-carte__col {
		display: block;
	}
}

/* Rubriques -------------------------------------------------------------- */
.tp-rubrique {
	margin-bottom: 2rem;
}

.tp-rubrique__title {
	color: var(--c-texte);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.0625rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	line-height: 1.3;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.tp-rubrique--grand .tp-rubrique__title {
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
	letter-spacing: 0.2em;
	margin-bottom: 1.5rem;
}

/* « Le chaud » n'a pas d'articles : ses sous-rubriques suivent de près */
.tp-rubrique--grand:not(:has(.tp-items)) {
	margin-bottom: 1.5rem;
}

.tp-rubrique__price {
	margin-left: 0.6em;
	white-space: nowrap;
}

.tp-rubrique__subtitle {
	font-size: 0.875rem;
	letter-spacing: 0.15em;
	margin: -0.5rem 0 1.5rem !important;
	padding-bottom: 1rem;
	text-transform: uppercase;
}

.tp-rubrique__note {
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	line-height: 1.4;
	margin-top: 0.75rem !important;
	text-transform: uppercase;
}

/* Articles --------------------------------------------------------------- */
.tp-items {
	display: grid;
	gap: 1.1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-item {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr auto;
}

.tp-item__main,
.tp-item__choice {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.tp-item__name {
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.35;
	text-transform: uppercase;
}

.tp-item__detail {
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	line-height: 1.45;
	text-transform: uppercase;
}

.tp-item__price {
	font-size: 0.9375rem;
	letter-spacing: 0.1em;
	text-align: right;
	white-space: nowrap;
}

.tp-carte__icone {
	display: inline-block;
	height: 1em;
	vertical-align: -0.1em;
	width: 1em;
}

/* Pleine largeur : articles sur deux colonnes (carte Menu) */
@media (min-width: 760px) {
	.tp-rubrique--pleine .tp-items {
		column-gap: clamp(2rem, 5vw, 3.5rem);
		grid-template-columns: 1fr 1fr;
		row-gap: 2rem;
	}
}

/* Bas de carte ----------------------------------------------------------- */
.tp-carte__bas {
	font-size: 0.9375rem;
	font-weight: 700;
	margin-top: 1rem !important;
}

.tp-carte a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.tp-carte a:focus-visible {
	outline-color: currentColor;
}

/* ==========================================================================
   Boissons : noms fins dans les rubriques, en gras sous « Le froid »
   ========================================================================== */
.tp-carte--boissons .tp-rubrique--rubrique .tp-item__name {
	font-weight: 400;
}

/* ==========================================================================
   Menu
   ========================================================================== */
.tp-carte--menu .tp-carte__title {
	margin-bottom: 1.5rem;
}

.tp-carte--menu .tp-carte__subtitle {
	margin-bottom: 0.5rem !important;
}

.tp-carte--menu .tp-rubrique {
	margin-bottom: 3rem;
}

.tp-carte--menu .tp-rubrique__title {
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
	margin-bottom: 0.75rem;
}

.tp-carte--menu .tp-rubrique__subtitle {
	border-bottom: 1px solid var(--c-filet);
}

/* ==========================================================================
   Brunch Lover : tout est centré, choix séparés par « OU »
   ========================================================================== */
.tp-carte--brunch .tp-carte__encart {
	text-align: center;
}

.tp-carte--brunch .tp-carte__subtitle {
	margin-bottom: 2.5rem !important;
}

.tp-carte--brunch .tp-rubrique {
	margin-bottom: 1.75rem;
}

.tp-carte--brunch .tp-rubrique__title {
	font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
	letter-spacing: 0.3em;
	margin-bottom: 1.5rem;
}

.tp-carte--brunch .tp-items {
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

.tp-carte--brunch .tp-item__name {
	font-weight: 400;
}

.tp-item--ou {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: 1fr;
}

.tp-item--ou .tp-item__choice {
	border-bottom: 1px solid var(--c-texte);
	justify-content: center;
	padding: 0.25rem 0 1.1rem;
}

.tp-item__ou {
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

@media (min-width: 640px) {
	.tp-item--ou {
		align-items: stretch;
		gap: 1.5rem;
		grid-template-columns: 1fr 3.5rem 1fr;
	}

	.tp-item__ou {
		align-self: center;
		padding-bottom: 1rem;
	}
}

.tp-carte--brunch .tp-rubrique__note,
.tp-carte__formule {
	font-size: 0.9375rem;
	letter-spacing: 0.22em;
	line-height: 1.7;
	margin-top: 1.75rem !important;
	text-transform: uppercase;
}

.tp-carte__prix {
	font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
	font-weight: 800;
	letter-spacing: 0.15em;
	margin: 2rem 0 2.5rem !important;
}

.tp-carte__legende {
	display: flex;
	flex-wrap: wrap;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1rem;
	gap: 0.25rem 1.25rem;
	justify-content: flex-start;
	text-align: left;
}

.tp-carte__legende span {
	align-items: center;
	display: inline-flex;
	gap: 0.35rem;
}

/* ==========================================================================
   Cocktails : fond brun, bandeau Happy Hour, encart blanc
   ========================================================================== */
.tp-carte--cocktails {
	padding-top: clamp(1.5rem, 4vw, 2.5rem);
}

.tp-carte__bandeau {
	color: var(--c-bandeau);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.375rem, 1rem + 1.5vw, 2rem);
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 1.5rem !important;
	text-transform: uppercase;
}

.tp-carte--cocktails .tp-carte__title {
	margin-bottom: 2rem;
}

.tp-carte--cocktails .tp-carte__cols {
	row-gap: 0.5rem;
}

.tp-carte--cocktails .tp-rubrique {
	margin-bottom: 2.5rem;
}

.tp-carte--cocktails .tp-rubrique--rubrique .tp-rubrique__title {
	color: var(--c-titre);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem);
	font-weight: 600;
	letter-spacing: 0.3em;
	margin-bottom: 1.75rem;
}

.tp-carte--cocktails .tp-rubrique--rubrique .tp-item__detail {
	font-weight: 700;
}

.tp-carte--cocktails .tp-rubrique--grand {
	text-align: center;
}

.tp-carte--cocktails .tp-rubrique--grand .tp-rubrique__title {
	color: var(--c-titre);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0;
}

.tp-carte--cocktails .tp-rubrique--grand .tp-item {
	grid-template-columns: 1fr;
	justify-items: center;
}

.tp-carte--cocktails .tp-rubrique--grand .tp-item__main {
	align-items: center;
}

.tp-carte--cocktails .tp-rubrique--grand .tp-item:has(.tp-item__price) {
	align-items: baseline;
	display: flex;
	gap: 1.5rem;
	justify-content: center;
}

.tp-carte--cocktails .tp-carte__bas {
	text-align: center;
}

/* ==========================================================================
   Page : lien de retour
   ========================================================================== */
.tp-back {
	margin: 0;
	padding: 1rem var(--wp--style--root--padding-right, 1rem);
}

.tp-back a {
	color: var(--wp--preset--color--green);
	font-weight: 600;
	text-decoration: none;
}

.tp-back a:hover,
.tp-back a:focus-visible {
	text-decoration: underline;
}
