/*
Theme Name: MT Chauffage & Sanitaire
Author: BETOTECH
Description: Thème du site de Maxime Toussaint, chauffagiste et sanitariste à Arlon. Toutes les pages sont faites de blocs standard, modifiables dans l'éditeur.
Version: 1.5.1
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: mt-chauffage
*/

/* ---------- Structure générale ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.mt-main, .mt-main .wp-block-post-content { margin-block-start: 0; }
.mt-main .wp-block-post-content > * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }

/* Toutes les photos se recadrent seules : n'importe quelle taille ou forme garde la mise en page */
.wp-block-image img { width: 100%; object-fit: cover; border-radius: 3px; }

/* ---------- Sections ---------- */
.mt-section { padding-top: 72px; padding-bottom: 72px; }
.mt-section.is-soft { background: var(--wp--preset--color--soft); }
.mt-section > .wp-block-columns + .wp-block-columns { margin-top: 64px; }
.mt-title { text-align: center; }
.mt-title::after, .mt-underline::after {
	content: ""; display: block; width: 60px; height: 4px;
	background: var(--wp--preset--color--orange); margin-top: 14px;
}
.mt-title::after { margin-left: auto; margin-right: auto; }
.mt-subtitle { color: var(--wp--preset--color--muted); margin-bottom: 36px; }
.mt-quote { font-family: var(--wp--preset--font-family--montserrat); font-weight: 600; font-size: 20px; color: var(--wp--preset--color--cyan); }
.mt-small { color: var(--wp--preset--color--muted); font-size: 15px; }

/* ---------- Haut de page avec photo ---------- */
.wp-block-cover.mt-hero .wp-block-cover__inner-container, .wp-block-cover.mt-banner .wp-block-cover__inner-container {
	max-width: 1140px; width: 100% !important; margin-left: auto !important; margin-right: auto !important; color: #fff;
}
.mt-hero .wp-block-cover__inner-container > *, .mt-banner .wp-block-cover__inner-container > * { max-width: 640px; margin-left: 0; }
.mt-hero, .mt-banner { padding-top: 80px; padding-bottom: 80px; }
.mt-hero h1, .mt-banner h1 { color: #fff; }
.mt-kicker { font-family: var(--wp--preset--font-family--montserrat); font-weight: 600; color: #7FD6F2; }
.mt-lead { font-size: 19px; color: #E9EFF2; }
.mt-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border: 2px solid #fff; background: transparent; }
.mt-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); }

/* ---------- Cartes de services ---------- */
.mt-cards { gap: 28px; }
.mt-cards + .mt-cards { margin-top: 28px !important; }
.mt-card { background: #fff; border: 1px solid #DDE5EA; border-radius: 3px; overflow: hidden; display: flex; flex-direction: column; }
.mt-card > .wp-block-image { margin: 0; }
.mt-card > .wp-block-image img { border-radius: 0; }
.mt-card > *:not(.wp-block-image) { padding-left: 24px; padding-right: 24px; }
.mt-card > p:not(.mt-more) { color: var(--wp--preset--color--muted); font-size: 16px; }
.mt-card > .mt-more { margin-top: auto; padding-bottom: 24px; }
.mt-more a { font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: #B8441A; text-decoration: none; }
.mt-more a:hover { text-decoration: underline; }

/* ---------- Bandeau chiffres ---------- */
.mt-numbers { background: var(--wp--preset--color--cyan); color: #fff; padding-top: 44px; padding-bottom: 44px; }
.mt-numbers .wp-block-column > * { margin-block-start: 0; }
.mt-num { font-family: var(--wp--preset--font-family--montserrat); font-size: 40px; line-height: 1.1; font-weight: 800; }
.mt-num-label { color: #DDF3FB; font-size: 16px; }

/* ---------- Texte + photo ---------- */
.mt-split { gap: 56px; }
.mt-pics { gap: 12px; }
.mt-pics .wp-block-image, .mt-media > .wp-block-image { margin: 0; }

/* ---------- Liste à coches ---------- */
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 30px; margin-bottom: 8px; }
.is-style-checks li::before {
	content: ""; position: absolute; left: 4px; top: .55em; width: 12px; height: 7px;
	border-left: 3px solid var(--wp--preset--color--cyan); border-bottom: 3px solid var(--wp--preset--color--cyan); transform: rotate(-45deg);
}

/* ---------- Étapes ---------- */
.mt-step { background: #fff; border-radius: 3px; padding: 24px; }
.mt-step h3 { color: var(--wp--preset--color--cyan); }
.mt-step p { color: var(--wp--preset--color--muted); font-size: 16px; }

/* ---------- Galerie ---------- */
.mt-gallery.wp-block-gallery { gap: 12px; }
.mt-gallery .wp-block-image img { aspect-ratio: 1 / 1; height: 100% !important; }

/* ---------- Contact ---------- */
.mt-bigphone a { font-family: var(--wp--preset--font-family--montserrat); font-size: 28px; color: var(--wp--preset--color--ink); text-decoration: none; }
.mt-text h3 { margin-top: 1.6rem; font-size: 16px; text-transform: uppercase; letter-spacing: .04em; }
.mt-text h3:first-child { margin-top: 0; }
.mt-formbox { background: var(--wp--preset--color--soft); border-radius: 3px; padding: 30px; }
.mt-placeholder { border: 2px dashed #B9C5CC; border-radius: 3px; padding: 24px; color: var(--wp--preset--color--muted); }

/* ---------- En-tête ---------- */
.mt-infobar { background: var(--wp--preset--color--night); color: #DCE6EC; font-size: 14px; padding-top: 8px; padding-bottom: 8px; }
.mt-infobar p { margin: 0; }
.mt-infobar a { color: #fff; font-weight: 600; text-decoration: none; }
.mt-header { background: #fff; box-shadow: 0 2px 10px rgba(27,39,48,.08); padding-top: 10px; padding-bottom: 10px; position: relative; z-index: 5; }
.mt-nav { font-family: var(--wp--preset--font-family--montserrat); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; }
.mt-nav a { text-decoration: none; color: var(--wp--preset--color--ink); }
.mt-nav .current-menu-item > a, .mt-nav a:hover { color: #B8441A; }

/* ---------- Bandeau d'appel + pied de page ---------- */
.mt-cta { background: var(--wp--preset--color--orange); color: #fff; padding-top: 44px; padding-bottom: 44px; }
.mt-cta h2 { color: #fff; font-size: clamp(22px, 2.6vw, 30px); margin: 0; }
.mt-cta p { color: #FFE7DC; margin: 6px 0 0; }
.mt-cta .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border: 2px solid #fff; background: transparent; }
.mt-cta .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: #B8441A; }
.mt-footer { background: var(--wp--preset--color--night); color: #B9C7D0; font-size: 15px; padding-top: 52px; padding-bottom: 24px; }
.mt-footer h3 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }
.mt-footer a { color: #DCE6EC; text-decoration: none; }
.mt-footer a:hover { text-decoration: underline; }
.mt-footer strong { color: #fff; }
.mt-legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 16px; margin-top: 32px; font-size: 14px; line-height: 1.9; }
.mt-credit { font-size: 12px; margin-top: 6px !important; opacity: .55; }
.mt-credit a { text-decoration: none; }
.mt-credit a:hover { text-decoration: underline; }

/* ---------- Téléphone ---------- */
@media (max-width: 781px) {
	.mt-section { padding-top: 52px; padding-bottom: 52px; }
	.mt-hero, .mt-banner { padding-top: 56px; padding-bottom: 56px; }
	.mt-split { gap: 28px; }
	.mt-num { font-size: 32px; }
}

/* ---------- Formulaire Contact Form 7 ---------- */
.mt-formbox .wpcf7 form > p { margin: 0 0 14px; }
.mt-formbox .wpcf7 label { display: block; font-weight: 600; font-size: 15px; }
.mt-formbox .wpcf7 input[type=text], .mt-formbox .wpcf7 input[type=email], .mt-formbox .wpcf7 input[type=tel],
.mt-formbox .wpcf7 select, .mt-formbox .wpcf7 textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; padding: 11px 13px; margin-top: 4px;
	border: 1px solid #B9C5CC; border-radius: 3px; background: #fff; color: var(--wp--preset--color--ink);
}
.mt-formbox .wpcf7 textarea { min-height: 140px; resize: vertical; }
.mt-formbox .wpcf7 input[type=submit] {
	background: var(--wp--preset--color--orange); color: #fff; border: 0; border-radius: 3px; cursor: pointer;
	font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: 15px; text-transform: uppercase;
	letter-spacing: .04em; padding: 15px 28px;
}
.mt-formbox .wpcf7 input[type=submit]:hover { background: #B8441A; }

/* ---------- Formulaire du thème ---------- */
.mt-form form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.mt-form form > p, .mt-form-row > p { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.mt-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mt-form label { font-weight: 600; font-size: 15px; }
.mt-form input[type=text], .mt-form input[type=email], .mt-form input[type=tel], .mt-form select, .mt-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; padding: 11px 13px; min-height: 46px;
	border: 1px solid #B9C5CC; border-radius: 3px; background: #fff; color: var(--wp--preset--color--ink);
}
.mt-form textarea { min-height: 130px; resize: vertical; }
.mt-form input:focus, .mt-form select:focus, .mt-form textarea:focus { outline: 3px solid #0AA5D6; outline-offset: 1px; }
.mt-form .mt-form-consent { flex-direction: row; align-items: flex-start; gap: 10px; }
.mt-form .mt-form-consent input { width: 20px; height: 20px; margin-top: 3px; flex: none; }
.mt-form .mt-form-consent label { font-weight: 400; font-size: 14px; color: var(--wp--preset--color--muted); }
.mt-form-send {
	align-self: flex-start; background: var(--wp--preset--color--orange); color: #fff; border: 0; border-radius: 3px; cursor: pointer;
	font-family: var(--wp--preset--font-family--montserrat); font-weight: 700; font-size: 15px; text-transform: uppercase;
	letter-spacing: .04em; padding: 15px 28px;
}
.mt-form-send:hover { background: #B8441A; }
.mt-form-note { font-size: 13px; color: var(--wp--preset--color--muted); }
.mt-form-trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mt-form-ok { background: #E3F2EA; color: #1E5A3C; font-weight: 600; padding: 14px 16px; border-radius: 3px; margin: 0 0 14px; }
.mt-form-errors { background: #FCE8E4; color: #8A2A10; padding: 12px 16px; border-radius: 3px; margin: 0 0 14px; }
.mt-form-errors p { margin: 0 0 6px; font-weight: 600; }
.mt-form-errors ul { margin: 0; padding-left: 20px; }
@media (max-width: 600px) { .mt-form-row { grid-template-columns: minmax(0, 1fr); } }
