/* ================================================================
   Page Tarifs - Atelier Mur & Matiere
   Polices auto-hebergees (memes fichiers que la page d'accueil,
   inutile de les dupliquer), animations d'entree, survols et
   couche responsive.
   ================================================================ */

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/d3acf6f1-cfce-4482-bd67-13a8039d5fb3.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/5602cee9-289d-4fed-b415-1e3d451d9d19.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/f70409e0-8ca7-414f-9a14-472a2cad413b.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/d524a0f1-68d6-4abc-8707-647bf6174cec.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/2814bd18-c6b2-4b75-932b-a5c5ec255e9f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/bdea8545-13ec-41f4-97c0-5a7d5350c74f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/b1e12cbf-2dab-4767-8f09-91874ba7f495.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/2154d8ac-6dba-4ddf-8f18-3adc4295c2ac.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/a2467e63-a69b-45f6-b7a2-9cb38020e339.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/077294c1-7760-4be1-8aaa-8ecd957c3a3f.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/16a5c797-120c-4e56-9fc2-7dee530d185c.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/a4026d46-aa77-4555-9b30-b17b6d8e4a7e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/3e730e83-8bc4-4f28-abdf-c1aec7c454f4.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- Animations d'entree du bandeau haut (memes noms que l'accueil) --- */
@keyframes amm-logo-in {
  0% { opacity: 0; transform: translateY(-16px) scale(0.94); filter: blur(6px); }
  60% { opacity: 1; filter: blur(0); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes amm-logo-sheen {
  0% { transform: translateX(-140%) skewX(-18deg); opacity: 0; }
  18% { opacity: 0.85; }
  100% { transform: translateX(240%) skewX(-18deg); opacity: 0; }
}
@keyframes amm-baseline-in {
  0% { opacity: 0; letter-spacing: 0.5em; }
  100% { opacity: 1; letter-spacing: normal; }
}
@keyframes amm-rise-in {
  0% { opacity: 0; transform: translateY(22px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* --- Effets de survol (repris de la maquette) --- */
.t-hov-a:hover { border-bottom-color: var(--accent, #E26C0D) !important; color: var(--accent, #E26C0D) !important; }
.t-hov-b:hover { background: var(--ink, #1D1D1B) !important; border-color: var(--ink, #1D1D1B) !important; color: #FFFFFF !important; }
.t-hov-c:hover { background: var(--ink, #1D1D1B) !important; color: #FFFFFF !important; }
.t-hov-d:hover { color: var(--hl, #FBBB0E) !important; }
.t-hov-e:hover { background: var(--accent, #E26C0D) !important; border-color: var(--accent, #E26C0D) !important; color: #FFFFFF !important; }
.t-hov-f:hover { color: #FFFFFF !important; border-bottom-color: #FFFFFF !important; }

/* --- Emplacements photo en attente des vraies images --- */
.amm-slot { position: relative; overflow: hidden; }
.amm-slot--filled { background: none; }
.amm-slot__ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10px 14px;
	font-family: 'Poppins', Verdana, sans-serif;
	font-size: 11px;
	line-height: 1.35;
	letter-spacing: .02em;
	color: color-mix(in srgb, currentColor 55%, transparent);
	background: color-mix(in srgb, currentColor 7%, transparent);
	border: 1px dashed color-mix(in srgb, currentColor 28%, transparent);
	border-radius: 3px;
}

/* ================================================================
   Couche responsive : le grand ecran ci-dessus n'est jamais modifie,
   tout se joue dans ces @media (max-width). Le !important est
   necessaire car la maquette porte sa mise en forme en styles inline.
   ================================================================ */

/* ---------- Tablette : marges laterales resserrees ---------- */
@media (max-width: 1024px) {
	.amm-tarifs section,
	.amm-tarifs header,
	.amm-tarifs footer {
		padding-left: 28px !important;
		padding-right: 28px !important;
	}
}

/* ---------- Sous 900px : les mises en page a 2 colonnes s'empilent ---------- */
@media (max-width: 900px) {
	.amm-tarifs [style*="minmax(0, 1.15fr) minmax(0, 1fr)"],
	.amm-tarifs [style*="minmax(0, 1fr) minmax(0, 1.15fr)"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* En-tete : navigation | logo | navigation -> bloc centre */
	.amm-tarifs [style*="minmax(0, 1fr) auto minmax(0, 1fr)"] {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-items: center !important;
		text-align: center !important;
		gap: 16px !important;
		position: static !important;
	}

	.amm-tarifs h1 { font-size: clamp(30px, 6vw, 52px) !important; line-height: 1.12 !important; }
	.amm-tarifs h2 { font-size: clamp(26px, 5.2vw, 44px) !important; line-height: 1.15 !important; }
}

/* ---------- Sous 700px : une seule colonne partout ---------- */
@media (max-width: 700px) {
	.amm-tarifs section,
	.amm-tarifs header,
	.amm-tarifs footer {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	/* Grilles de comparatif (options, tableaux de prix a 3-4 colonnes),
	   grille du pied de page : tout repasse en une colonne. */
	.amm-tarifs [style*="repeat(3, minmax(0, 1fr))"],
	.amm-tarifs [style*="minmax(0, 1.4fr) repeat(3, minmax(0, 1fr))"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Les rangees d'elements alignes passent a la ligne proprement */
	.amm-tarifs [style*="display: flex"] { flex-wrap: wrap !important; }

	/* Boutons : plus faciles a toucher */
	.amm-tarifs a[style*="border-radius"][style*="padding"] {
		min-height: 44px;
	}

	.amm-tarifs h1 { font-size: clamp(26px, 8vw, 38px) !important; }
	.amm-tarifs h2 { font-size: clamp(23px, 7vw, 32px) !important; }

	.amm-tarifs p, .amm-tarifs li, .amm-tarifs span { font-size: max(15px, 1em); }
}

/* ---------- Tres petits ecrans ---------- */
@media (max-width: 420px) {
	.amm-tarifs section,
	.amm-tarifs header,
	.amm-tarifs footer {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}

/* ---------- Securite : rien ne doit deborder horizontalement ---------- */
@media (max-width: 1024px) {
	.amm-tarifs { overflow-x: hidden; }
}
