/* Pages À propos / Contact + menu – avocat-montreal.ca */

/* ---------- Menu de l'en-tête : à droite, bouton Contact ---------- */
@media (min-width: 992px) {
	#site-header .theme-header-inner { justify-content: space-between; }
	#site-header .theme-header-menu { margin-left: auto; flex: 1 1 auto; }
	#site-header .theme-header-menu .d_menu, #site-header .theme-header-menu .mainmenu__menu, #site-header .theme-header-menu .navbar-collapse { justify-content: flex-end !important; width: 100%; }
	#site-header #menu-header { margin-left: auto !important; margin-right: 0 !important; }
	#site-header #menu-header { align-items: center; }
	/* Bouton Contact : style commun du menu (am-menu/menu.css) */
}

/* ---------- Commun ---------- */
.amp {
	--b: #0a6bb5; --b-fonce: #08568f; --b-clair: #e6f0fa; --marine: #0f1f3a; --texte: #3b4556; --gris: #6b7587;
	--fond: #f5f7fb; --bord: #e3e9f1; --ombre: 0 10px 30px rgba(15, 31, 58, .08);
	max-width: 1180px; margin: 0 auto; padding: 28px 20px 56px; color: var(--texte); font-size: 16.5px; line-height: 1.65;
}
.amp *, .amp *::before, .amp *::after { box-sizing: border-box; }
.amp h1, .amp h2, .amp h3 { color: var(--marine); letter-spacing: -.3px; }
.amp a { text-decoration: none; }
.amp-badge {
	display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25);
	color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase;
}
.amp-surtitre { display: inline-block; color: var(--b); font-size: 13px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; margin-bottom: 6px; }
.amp-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 12px;
	font-size: 16px; font-weight: 600; border: 1.5px solid transparent; transition: background .15s, color .15s, transform .15s, border-color .15s;
}
.amp-btn:hover { transform: translateY(-2px); }
.amp .amp-btn--plein { background: var(--b); color: #fff; }
.amp .amp-btn--plein:hover { background: var(--b-fonce); color: #fff; }
.amp .amp-btn--blanc { background: #fff; color: var(--b-fonce); }
.amp .amp-btn--blanc:hover { color: var(--b-fonce); }
.amp .amp-btn--contour { border-color: rgba(255,255,255,.5); color: #fff; }
.amp .amp-btn--contour:hover { background: rgba(255,255,255,.1); color: #fff; }

/* En-tête de page */
.amp-hero {
	position: relative; overflow: hidden; display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: center;
	border-radius: 22px; padding: 48px; color: #fff;
	background: radial-gradient(circle at 88% 12%, rgba(255,255,255,.16) 0, transparent 38%), linear-gradient(135deg, #0f1f3a 0%, #0a4f8a 55%, #0a6bb5 100%);
}
.amp-hero--court { grid-template-columns: 1fr; padding: 40px 48px; }
.amp .amp-hero h1 { color: #fff; font-size: 44px; line-height: 1.12; font-weight: 800; letter-spacing: -.6px; margin: 16px 0 12px; }
.amp-chapeau { font-size: 18.5px; color: rgba(255,255,255,.88); max-width: 680px; margin: 0; }
.amp-boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.amp-hero__chiffres { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.amp-hero__chiffres li { display: flex; align-items: baseline; gap: 12px; padding: 16px 20px; border-radius: 14px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); }
.amp-hero__chiffres strong { font-size: 28px; font-weight: 800; line-height: 1; }
.amp-hero__chiffres span { color: rgba(255,255,255,.82); font-size: 15px; }

/* Sections */
.amp-section { margin-top: 64px; }
.amp-entete { max-width: 720px; margin: 0 auto 28px; text-align: center; }
.amp .amp-entete h2, .amp-mission h2, .amp-redaction h2 { font-size: 32px; line-height: 1.2; font-weight: 700; margin: 0 0 10px; }
.amp-entete p { color: var(--gris); font-size: 17px; margin: 0; }

/* Mission */
.amp-mission { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: center; margin-top: 56px; }
.amp-mission__texte p { margin: 0 0 14px; }
.amp-mission__texte strong { color: var(--marine); }
.amp-citation {
	margin: 0; padding: 32px; border-radius: 18px; background: var(--b-clair); border-left: 5px solid var(--b);
}
.amp-citation p { color: var(--marine); font-size: 20px; line-height: 1.5; font-weight: 600; margin: 0 0 14px; }
.amp-citation footer { color: var(--b); font-weight: 700; font-size: 15px; }

/* Équipe */
.amp-equipe { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.amp-membre { display: flex; gap: 22px; align-items: flex-start; padding: 26px; background: #fff; border: 1px solid var(--bord); border-radius: 18px; box-shadow: var(--ombre); }
.amp-membre img { flex: 0 0 auto; width: 104px; height: 104px; border-radius: 50%; object-fit: cover; object-position: top; background: var(--b-clair); border: 4px solid var(--b-clair); }
.amp .amp-membre h3 { font-size: 21px; margin: 4px 0 2px; }
.amp-membre__role { color: var(--b); font-weight: 600; font-size: 15px; margin: 0 0 8px; }
.amp-membre p { margin: 0; font-size: 15.5px; }

/* Outils */
.amp-outils { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.amp-outil {
	display: flex; flex-direction: column; gap: 6px; padding: 22px 18px; background: #fff; border: 1px solid var(--bord); border-radius: 16px;
	transition: transform .16s, box-shadow .16s, border-color .16s;
}
.amp-outil:hover { transform: translateY(-4px); box-shadow: var(--ombre); border-color: #bcd6ee; }
.amp-outil__icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--b-clair); color: var(--b); font-size: 23px; margin-bottom: 8px; }
.amp-outil strong { color: var(--marine); font-size: 16.5px; line-height: 1.3; }
.amp-outil span:last-child { color: var(--gris); font-size: 14.5px; line-height: 1.5; }

/* Parcours */
.amp-parcours { padding: 48px; border-radius: 22px; background: var(--fond); }
.amp-etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: none; }
.amp-etapes li { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 24px 20px; background: #fff; border-radius: 16px; font-size: 15px; color: var(--gris); box-shadow: 0 4px 14px rgba(15, 31, 58, .05); }
.amp-etapes li > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--b); color: #fff; font-weight: 800; margin-bottom: 10px; }
.amp-etapes li strong { color: var(--marine); font-size: 16.5px; }
.amp-cta { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 28px; }
.amp-cta p { margin: 0; color: var(--gris); font-weight: 600; }

/* Rédaction */
.amp-redaction { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; padding: 36px 40px; border: 1px solid var(--bord); border-radius: 20px; background: #fff; }
.amp-redaction p { margin: 0; }
.amp-contacts { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.amp-contacts li { display: flex; flex-direction: column; padding: 14px 18px; border-radius: 12px; background: var(--fond); }
.amp-contacts span { color: var(--gris); font-size: 13.5px; }
.amp-contacts a { color: var(--b); font-weight: 700; }

/* ---------- Contact ---------- */
.amp-contact__grille { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; align-items: start; margin-top: 28px; }
.amp-formulaire, .amp-carte { background: #fff; border: 1px solid var(--bord); border-radius: 18px; box-shadow: var(--ombre); }
.amp-formulaire { padding: 34px; }
.amp-contact__infos { display: grid; gap: 16px; }
.amp-carte { padding: 24px 26px; }
.amp .amp-formulaire h2, .amp .amp-carte h2 { font-size: 21px; font-weight: 700; margin: 0 0 14px; }
.amp-carte p { margin: 0 0 8px; font-size: 15.5px; }
.amp-carte--note { background: var(--b-clair); border-color: #cfe3f6; box-shadow: none; }
.amp-liste { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 15.5px; }
.amp-liste li { position: relative; padding-left: 26px; }
.amp-liste li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--b); font-weight: 800; }
.amp-liste-etapes { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.amp-liste-etapes li { display: flex; gap: 14px; font-size: 15px; color: var(--gris); }
.amp-liste-etapes li > span { flex: 0 0 auto; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--b-clair); color: var(--b); font-weight: 800; }
.amp-liste-etapes strong { display: block; color: var(--marine); font-size: 15.5px; }
.amp-courriel { display: inline-block; margin-bottom: 10px; color: var(--b); font-weight: 700; font-size: 17px; }
.amp-petit { color: var(--gris); font-size: 14px !important; }
.amp-petit a { color: var(--b); font-weight: 600; }

/* Formulaire Contact Form 7 */
.amp-formulaire .wpcf7 { margin: 0; padding: 0; background: none; border: 0; }
.amp-formulaire .wpcf7 form { margin: 0; padding: 0; background: none; border: 0; }
.amp-formulaire .wpcf7 p { margin: 0 0 18px; color: var(--texte); font-size: 15.5px; }
.amp-formulaire .wpcf7 form > p:first-of-type { color: var(--gris); }
.amp-formulaire .wpcf7 label { display: block; color: var(--marine); font-size: 15px; font-weight: 600; margin: 0; }
.amp-formulaire .wpcf7 br { display: none; }
.amp-formulaire .wpcf7-form-control-wrap { display: block; margin-top: 7px; }
.amp-formulaire .wpcf7 input[type="email"], .amp-formulaire .wpcf7 input[type="text"], .amp-formulaire .wpcf7 input[type="tel"], .amp-formulaire .wpcf7 textarea {
	width: 100%; min-height: 50px; margin: 0; padding: 12px 15px; border: 1.5px solid var(--bord); border-radius: 12px; background: #fbfcfe;
	color: var(--marine); font: inherit; font-size: 16px; font-weight: 400; box-shadow: none; transition: border-color .15s, box-shadow .15s, background .15s;
}
.amp-formulaire .wpcf7 textarea { min-height: 130px; resize: vertical; }
.amp-formulaire .wpcf7 input:focus, .amp-formulaire .wpcf7 textarea:focus { outline: none; border-color: var(--b); background: #fff; box-shadow: 0 0 0 4px rgba(10, 107, 181, .12); }
.amp-formulaire .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.amp-formulaire .wpcf7-checkbox .wpcf7-list-item { margin: 0; }
.amp-formulaire .wpcf7-checkbox .wpcf7-list-item label {
	display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1.5px solid var(--bord); border-radius: 999px;
	background: #fff; color: var(--texte); font-size: 14.5px; font-weight: 500; cursor: pointer; transition: border-color .15s, background .15s, color .15s;
}
.amp-formulaire .wpcf7-checkbox .wpcf7-list-item label:hover { border-color: var(--b); }
.amp-formulaire .wpcf7-checkbox .wpcf7-list-item label:has(input:checked) { border-color: var(--b); background: var(--b-clair); color: var(--b-fonce); }
.amp-formulaire .wpcf7-checkbox input { width: 16px; height: 16px; margin: 0; accent-color: var(--b); }
.amp-formulaire .wpcf7 form > p:has(.wpcf7-submit) { margin: 0; }
.amp-formulaire .wpcf7-submit {
	width: 100%; min-height: 54px; padding: 14px 24px; border: 0; border-radius: 12px; background: var(--b) !important; color: #fff !important;
	font-size: 17px; font-weight: 700; cursor: pointer; transition: background .15s, transform .15s;
}
.amp-formulaire .wpcf7-submit:hover { background: var(--b-fonce) !important; transform: translateY(-1px); }
.amp-formulaire .wpcf7-spinner { display: block; margin: 10px auto 0; }
.amp-formulaire .wpcf7-not-valid { border-color: #d13b3b !important; }
.amp-formulaire .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13.5px; }
.amp-formulaire .wpcf7-response-output { margin: 16px 0 0 !important; padding: 12px 16px !important; border-radius: 12px; font-size: 15px; }

/* ---------- Tablette et mobile ---------- */
@media (max-width: 1100px) {
	.amp-outils { grid-template-columns: repeat(3, 1fr); }
	.amp-etapes { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	.amp-hero, .amp-mission, .amp-equipe, .amp-redaction, .amp-contact__grille { grid-template-columns: 1fr; }
	.amp-hero { padding: 32px 24px; }
	.amp .amp-hero h1 { font-size: 32px; }
	.amp-chapeau { font-size: 16.5px; }
	.amp-hero__chiffres { grid-template-columns: repeat(3, 1fr); }
	.amp-hero__chiffres li { flex-direction: column; gap: 4px; padding: 12px; }
	.amp-hero__chiffres strong { font-size: 20px; }
	.amp-hero__chiffres span { font-size: 12.5px; }
	.amp-section { margin-top: 44px; }
	.amp .amp-entete h2, .amp-mission h2, .amp-redaction h2 { font-size: 26px; }
	.amp-parcours, .amp-redaction { padding: 28px 20px; }
	.amp-formulaire { padding: 24px 18px; }
}
@media (max-width: 560px) {
	.amp { padding: 16px 14px 40px; }
	.amp-outils, .amp-etapes { grid-template-columns: 1fr; }
	.amp-membre { flex-direction: column; }
	.amp-cta { flex-direction: column; }
}

/* Formulaire de contact simple */
.amp-etapes--3 { grid-template-columns: repeat(3, 1fr); }
.amp .amp-btn--plein-large { width: 100%; margin-top: 6px; }
.amp-formulaire .am-cf-ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.amp-formulaire .wpcf7 label { margin-bottom: 16px; }
.amp-formulaire .wpcf7 select {
	width: 100%; min-height: 50px; margin: 0; padding: 12px 15px; border: 1.5px solid var(--bord); border-radius: 12px; background-color: #fbfcfe;
	color: var(--marine); font: inherit; font-size: 16px; font-weight: 400;
}
.amp-formulaire .wpcf7 select:focus { outline: none; border-color: var(--b); box-shadow: 0 0 0 4px rgba(10, 107, 181, .12); }
.amp-formulaire .cf7sr-g-recaptcha, .amp-formulaire .g-recaptcha { margin: 4px 0 16px; }
@media (max-width: 560px) { .amp-formulaire .am-cf-ligne { grid-template-columns: 1fr; } .amp-etapes--3 { grid-template-columns: 1fr; } }
.amp-formulaire .am-cf-ligne > p { display: contents; }
.amp-formulaire .wpcf7 label { width: 100%; }
