/* Les Alizés Mogador — styles du thème */

:root {
	--am-chaux: var(--wp--preset--color--chaux, #F4F2EE);
	--am-sable: var(--wp--preset--color--sable, #E8E1D5);
	--am-ocre: var(--wp--preset--color--ocre, #C8A46E);
	--am-bleu: var(--wp--preset--color--bleu, #1D4F7A);
	--am-thuya: var(--wp--preset--color--thuya, #6B3420);
	--am-nuit: var(--wp--preset--color--nuit, #16222E);
	--am-pad: var(--wp--style--root--padding-left, clamp(1.25rem, 5vw, 3rem));
	--am-wide: var(--wp--style--global--wide-size, 1180px);
	--am-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='%23C8A46E'%3E%3Crect x='4' y='4' width='12' height='12'/%3E%3Crect x='4' y='4' width='12' height='12' transform='rotate(45 10 10)'/%3E%3C/g%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }

:focus-visible { outline: 2px solid var(--am-ocre); outline-offset: 3px; }

.am-muted { opacity: .78; }
.am-small { font-size: var(--wp--preset--font-size--small); }

/* Sections : espacement propre à chaque bloc, pas de marge héritée */
.am-main { padding-top: 0; padding-bottom: 0; }
.am-main > * { margin-block-start: 0; margin-block-end: 0; }
.am-main > .alignfull { padding-left: var(--am-pad); padding-right: var(--am-pad); }

/* ---------- En-tête ---------- */
.am-header { padding: 1.1rem var(--am-pad); background: var(--am-chaux); }
.am-header__inner {
	max-width: var(--am-wide); margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.am-header__right { display: flex; align-items: center; gap: 1.75rem; margin: 0 !important; }
.am-header__cta { margin: 0 !important; }
.am-header__cta .wp-block-button__link { padding: .6rem 1.2rem; font-size: .9375rem; }

.am-wordmark { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; line-height: 1; }
.am-wordmark a { color: var(--am-bleu); text-decoration: none; }
.am-wordmark span { display: block; font-family: var(--wp--preset--font-family--body); font-size: .72rem; letter-spacing: .32em; color: var(--am-thuya); margin-top: .35rem; }

.am-nav { font-size: .9688rem; font-weight: 500; gap: 1.5rem; }
.am-nav a { text-decoration: none; color: var(--am-nuit); }
.am-nav a:hover { color: var(--am-thuya); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--am-chaux); color: var(--am-nuit); padding: 2rem var(--am-pad); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--wp--preset--font-family--display); font-size: 1.75rem; }

@media (max-width: 600px) {
	.am-header__cta { display: none; }
}

/* ---------- Arc (cadre photo, motif signature) ---------- */
.am-arch {
	position: relative; aspect-ratio: 3 / 4; width: 100%;
	border-radius: 50% 50% 0 0 / 37.5% 37.5% 0 0;
	overflow: hidden; margin: 0;
	display: flex; align-items: flex-end; justify-content: center;
	background:
		repeating-linear-gradient(180deg, rgba(255,255,255,.07) 0 2px, transparent 2px 22px),
		linear-gradient(160deg, #2A6394 0%, var(--am-bleu) 55%, #163E61 100%);
}
.am-arch img, .am-arch iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.am-arch__label {
	margin: 0 0 1.5rem; font-size: .8125rem; letter-spacing: .04em;
	color: rgba(244,242,238,.8); background: rgba(22,34,46,.35); padding: .35rem .9rem; border-radius: 999px;
}
.am-arch--night {
	background:
		radial-gradient(60% 45% at 50% 38%, rgba(200,164,110,.55), transparent 70%),
		linear-gradient(180deg, #243445, var(--am-nuit));
}
.am-arch--tall { aspect-ratio: 2 / 3; border-radius: 50% 50% 0 0 / 33% 33% 0 0; max-width: 360px; margin-top: 2rem; }

/* ---------- Ouverture ---------- */
.am-hero { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: var(--wp--preset--spacing--xl); }
.am-hero__cols { max-width: var(--am-wide); margin: 0 auto; align-items: center !important; gap: clamp(2rem, 6vw, 5rem) !important; }
.am-hero__cols > .wp-block-column:first-child { flex-basis: 56% !important; }
.am-hero__cols > .wp-block-column:last-child { flex-basis: 44% !important; position: relative; }
.am-hero__title { margin-top: 0; max-width: 13ch; }
.am-hero__lead { font-size: var(--wp--preset--font-size--large); max-width: 34ch; margin-top: 1.5rem; }
.am-hero .wp-block-buttons { margin-top: 2rem; gap: .75rem; }
.am-hero__proof { margin-top: 2rem; font-size: .9375rem; }
.am-hero__proof a { color: var(--am-nuit); text-underline-offset: 3px; }
.am-hero__proof::before { content: ""; display: inline-block; width: .9em; height: .9em; margin-right: .5em; vertical-align: -.1em; background: var(--am-star) center / contain no-repeat; }

/* Contour ocre décalé derrière l'arc : la seule touche décorative forte */
.am-arch--hero { max-width: 460px; margin-left: auto; }
.am-hero__cols > .wp-block-column:last-child::after {
	content: ""; position: absolute; z-index: -1;
	top: -1.25rem; right: -1.25rem; width: min(100%, 460px); aspect-ratio: 3 / 4;
	border: 1.5px solid var(--am-ocre); border-radius: 50% 50% 0 0 / 37.5% 37.5% 0 0;
}
.am-hero__cols > .wp-block-column:last-child { isolation: isolate; }

/* ---------- Bandeau menu complet ---------- */
.am-band { background: var(--am-sable); padding-top: var(--wp--preset--spacing--l); padding-bottom: var(--wp--preset--spacing--l); }
.am-band__inner, .am-menu-deal {
	max-width: var(--am-wide); margin: 0 auto;
	display: flex; align-items: center; gap: clamp(1.5rem, 5vw, 4rem); flex-wrap: wrap;
}
.am-price {
	margin: 0; font-family: var(--wp--preset--font-family--display); color: var(--am-bleu);
	font-size: clamp(4.5rem, 12vw, 8rem); line-height: .9; letter-spacing: -.02em;
}
.am-price span { font-size: .32em; letter-spacing: .02em; color: var(--am-thuya); margin-left: .15em; }
.am-band__text { flex: 1 1 320px; margin: 0 !important; }
.am-band__text h2 { margin: 0 0 .5rem; }
.am-band__text p { margin: 0; max-width: 46ch; }
.am-band__text .wp-block-buttons { margin-top: 1.25rem; }

/* ---------- Plats signatures ---------- */
.am-sig { padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl); }
.am-sig__cols { gap: clamp(2rem, 6vw, 5rem) !important; }
.am-sig__cols > .wp-block-column:first-child h2 { margin-top: 0; max-width: 14ch; }
.am-sig__cols > .wp-block-column:first-child > p { max-width: 36ch; }
.am-dish { position: relative; padding: 1.35rem 0 1.35rem 2.1rem; margin: 0 !important; }
.am-dish + .am-dish { border-top: 1px solid rgba(29,79,122,.14); }
.am-dish::before { content: ""; position: absolute; left: 0; top: 1.72rem; width: 1rem; height: 1rem; background: var(--am-star) center / contain no-repeat; }
.am-dish__name { margin: 0; font-size: var(--wp--preset--font-size--large); }
.am-dish__desc { margin: .35rem 0 0; max-width: 52ch; }
.am-sig .wp-block-buttons { margin-top: 1.5rem; }

/* ---------- Le lieu (soir) ---------- */
.am-welcome { background: var(--am-nuit); color: var(--am-chaux); padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl); }
.am-welcome__inner { max-width: var(--am-wide); margin: 0 auto; }
.am-welcome__cols { align-items: center !important; gap: clamp(2rem, 6vw, 5rem) !important; }
.am-welcome__cols > .wp-block-column:first-child { flex: 0 0 40% !important; }
.am-welcome__cols > .wp-block-column:last-child { flex: 1 1 auto !important; }
.am-welcome__cols > .wp-block-column:first-child .am-arch { max-width: 420px; }
.am-welcome h2 { color: var(--am-ocre); margin-top: 0; max-width: 16ch; }
.am-welcome p { max-width: 50ch; }
.am-welcome a { color: var(--am-ocre); }

/* ---------- Avis ---------- */
.am-reviews { padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl); }
.am-reviews h2 { margin-bottom: .5rem; }
.am-reviews__cols { margin-top: 2.5rem; gap: clamp(1.5rem, 4vw, 3rem) !important; }
.am-review { border: 0; padding: 0; margin: 0; }
.am-review::before { content: ""; display: block; width: 1.1rem; height: 1.1rem; margin-bottom: 1rem; background: var(--am-star) center / contain no-repeat; }
.am-review p { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); line-height: 1.2; color: var(--am-bleu); margin: 0; }
.am-review cite { display: block; margin-top: .9rem; font-style: normal; font-size: .9375rem; opacity: .75; }
.am-reviews > .wp-block-buttons { margin-top: 2.5rem; }

/* ---------- Réserver ---------- */
.am-book { background: var(--am-bleu); color: var(--am-chaux); padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl); }
.am-book__inner { max-width: var(--am-wide); margin: 0 auto; }
.am-book__cols { gap: clamp(2rem, 6vw, 5rem) !important; align-items: center !important; }
.am-book h2, .am-book h3 { color: var(--am-chaux); }
.am-book h2 { margin-top: 0; }
.am-book h3 { font-size: 1.25rem; margin: 1.75rem 0 .35rem; color: var(--am-ocre); }
.am-book p { max-width: 46ch; }
.am-book a:not(.wp-block-button__link) { color: var(--am-chaux); }
.am-book .wp-block-buttons { margin-top: 1.75rem; gap: .75rem; }
.am-book .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--am-chaux); color: var(--am-bleu); }
.am-book .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--am-ocre); color: var(--am-nuit); }
.am-book .is-style-outline .wp-block-button__link { color: var(--am-chaux); }
.am-book .is-style-outline .wp-block-button__link:hover { background: rgba(244,242,238,.1); }
.am-infos { margin-top: 2rem !important; padding-top: .5rem; border-top: 1px solid rgba(244,242,238,.2); }
.am-infos p { margin: 0; }
.am-map {
	position: relative; aspect-ratio: 3 / 4; max-width: 440px; margin-left: auto; overflow: hidden;
	border-radius: 50% 50% 0 0 / 37.5% 37.5% 0 0; background: #163E61;
}
.am-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.75); }

/* ---------- Pied de page ---------- */
.am-footer { background: var(--am-nuit); color: var(--am-chaux); padding: var(--wp--preset--spacing--l) var(--am-pad) 1.5rem; margin-top: 0 !important; }
.am-footer__inner { max-width: var(--am-wide); margin: 0 auto; }
.am-footer .am-wordmark a { color: var(--am-chaux); }
.am-footer .am-wordmark span { color: var(--am-ocre); }
.am-footer h3 { color: var(--am-ocre); font-size: 1.125rem; margin: 0 0 .5rem; }
.am-footer p { font-size: .9375rem; }
.am-footer a { color: var(--am-chaux); }
.am-footer__cols { gap: 2rem !important; }
.am-footer__legal { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(244,242,238,.14); font-size: .8125rem !important; opacity: .6; }

/* ---------- Page carte ---------- */
.am-page-head { padding-top: var(--wp--preset--spacing--l); padding-bottom: 1.5rem; }
.am-page__title { margin: 0; }
.am-page__lead { font-size: var(--wp--preset--font-size--large); margin-top: .75rem; }
.am-menu-deal { background: var(--am-sable); padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 2px; margin-top: 1rem !important; }
.am-menu-deal .am-price { font-size: clamp(3.5rem, 9vw, 6rem); }
.am-menu-grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(2rem, 6vw, 5rem);
	padding-top: var(--wp--preset--spacing--l); padding-bottom: var(--wp--preset--spacing--m);
}
.am-menu-col > * { margin-block-start: 0; }
.am-menu-section { margin: 0 0 3rem !important; }
.am-section__title { margin: 0 0 .75rem; }
.am-section__title + .am-section__note { margin-top: -.4rem; }
.am-section__note { margin: .35rem 0 1rem; color: var(--am-thuya); font-weight: 500; }
.am-drinks-head { padding-top: var(--wp--preset--spacing--m); border-top: 1px solid rgba(29,79,122,.18); }
.am-page__subtitle { margin: 0; font-size: var(--wp--preset--font-size--xx-large); }
.am-item { padding: .7rem 0; margin: 0 !important; }
.am-item__line { display: flex; align-items: baseline; gap: .6rem; margin: 0; }
.am-item__name { font-weight: 600; }
.am-item__dots { flex: 1; border-bottom: 1.5px dotted rgba(22,34,46,.35); transform: translateY(-.3em); min-width: 1.5rem; }
.am-item__price { font-family: var(--wp--preset--font-family--display); color: var(--am-bleu); font-size: 1.125rem; }
.am-item__price:not(:empty)::after { content: " DH"; font-size: .75em; }
.am-item__line:has(.am-item__price:empty) .am-item__dots { display: none; }
.am-item__desc { margin: .2rem 0 0; font-size: .9375rem; opacity: .8; max-width: 52ch; }
.am-carte-cta { padding-bottom: var(--wp--preset--spacing--xl); }
.am-carte-cta .wp-block-buttons { gap: .75rem; }

.am-page { padding-top: var(--wp--preset--spacing--l); padding-bottom: var(--wp--preset--spacing--xl); }

/* ---------- WhatsApp flottant ---------- */
.am-wa {
	position: fixed; right: 1rem; bottom: 1rem; z-index: 50;
	display: inline-flex; align-items: center; gap: .5rem;
	background: #1F9E55; color: #fff; text-decoration: none; font-weight: 600;
	padding: .8rem 1.1rem .8rem .9rem; border-radius: 999px;
	box-shadow: 0 6px 20px rgba(22,34,46,.25);
}
.am-wa:hover { background: #178347; color: #fff; }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.am-hero__cols > .wp-block-column:last-child::after { display: none; }
	.am-arch--hero { max-width: 340px; margin: 1rem auto 0; }
	.am-arch--tall { display: none; }
	.am-welcome__cols > .wp-block-column:first-child .am-arch { max-width: 300px; margin: 0 auto; }
	.am-map { max-width: 100%; aspect-ratio: 4 / 3; border-radius: 40% 40% 0 0 / 30% 30% 0 0; }
	.am-menu-grid { grid-template-columns: 1fr; }
	.am-dish { padding-left: 1.9rem; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; }
}
html { scroll-behavior: smooth; }

/* Formulaire de réservation (→ WhatsApp) */
.am-resa { margin-top: 1.75rem; max-width: 34rem; color-scheme: dark; }
.am-resa__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1rem; }
.am-resa__field { margin: 0; display: flex; flex-direction: column; gap: .35rem; max-width: none !important; }
.am-resa__field--full { grid-column: 1 / -1; }
.am-resa label { font-size: .875rem; font-weight: 500; color: var(--am-chaux); }
.am-resa label span { font-weight: 400; opacity: .7; }
.am-resa input, .am-resa select, .am-resa textarea {
	font: inherit; font-size: 1rem; color: var(--am-chaux); width: 100%; box-sizing: border-box;
	background: rgba(244,242,238,.08); border: 1px solid rgba(244,242,238,.35); border-radius: 8px;
	padding: .7rem .85rem; min-height: 2.9rem;
}
.am-resa textarea { resize: vertical; min-height: 4.5rem; }
.am-resa input::placeholder, .am-resa textarea::placeholder { color: rgba(244,242,238,.55); }
.am-resa input:focus, .am-resa select:focus, .am-resa textarea:focus { outline: 2px solid var(--am-ocre); outline-offset: 1px; border-color: var(--am-ocre); }
.am-resa option { color: var(--am-nuit); background: var(--am-chaux); }
.am-resa__error { margin: .75rem 0 0; min-height: 1.2em; color: #F3C98B; font-size: .9rem; }
.am-resa__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: .5rem 0 0; max-width: none !important; }
.am-book .am-resa__submit { background: var(--am-chaux); color: var(--am-bleu); border: 0; cursor: pointer; }
.am-book .am-resa__submit:hover { background: var(--am-ocre); color: var(--am-nuit); }
.am-book a.am-resa__call { background: transparent; color: var(--am-chaux); border: 1.5px solid rgba(244,242,238,.6); text-decoration: none; }
.am-book a.am-resa__call:hover { background: rgba(244,242,238,.1); }
.am-resa__note { margin: 1rem 0 0; font-size: .85rem; opacity: .8; max-width: none !important; }
@media (max-width: 600px) {
	.am-resa__grid { grid-template-columns: 1fr; }
	.am-resa__actions > * { flex: 1 1 100%; text-align: center; }
}
.am-resa__hint { margin: -.25rem 0 0; font-size: .875rem; color: var(--am-ocre); max-width: none !important; }
.am-resa__hint[hidden] { display: none; }
.am-resa optgroup { color: var(--am-nuit); background: var(--am-chaux); font-style: normal; }
.am-wa { transition: opacity .25s, transform .25s; }
.am-wa.is-hidden { opacity: 0; transform: translateY(1rem); pointer-events: none; }
html { scroll-behavior: smooth; }
#reserver, #infos, #lieu, #avis { scroll-margin-top: 1rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
