/*
Theme Name: Plâtrerie de la Mossig
Description: Thème sur mesure du site de la Plâtrerie de la Mossig, reprenant la maquette validée.
Version: 1.0.2
Author: Plâtrerie de la Mossig
Text Domain: platrerie-mossig
Requires at least: 6.5
*/
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:400;color:#120c0c;background:#fff;line-height:1.6}
img{max-width:100%;height:auto}
a{color:#0a1a52}a:hover{color:#8a5e12}
.pm-main > .entry-content > *:first-child{margin-top:0}
.pm-main .entry-content{margin:0}
.pm-main .wp-block-html{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.menu-btn{display:none}
/* Articles et pages simples */
.pm-prose{max-width:820px;margin:0 auto;padding:56px 24px 72px;font-size:17px}
.pm-prose h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:42px;line-height:1.1;color:#0a1a52;margin:0 0 16px}
.pm-prose h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:30px;line-height:1.15;color:#0a1a52;margin:40px 0 12px}
.pm-prose h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:23px;color:#0a1a52;margin:28px 0 8px}
.pm-prose p,.pm-prose li{color:#333}
.pm-prose img{border-radius:18px}
.pm-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:#666;margin-bottom:24px}
.pm-meta a{color:#8a5e12;font-weight:500;text-decoration:none}
.pm-hero-img{width:100%;max-height:440px;object-fit:cover;border-radius:20px;margin:0 0 28px;display:block}
.pm-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 28px;background:#c9952e;color:#0a1a52!important;text-decoration:none;font-weight:500;border-radius:999px}
.pm-btn-ghost{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border:1.5px solid #0a1a52;color:#0a1a52;text-decoration:none;border-radius:999px}
.pm-cta{margin-top:48px;background:#1b2f6b;color:#fff;border-radius:20px;padding:32px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.pm-cta h2{color:#fff;margin:0 0 4px;font-size:26px}
.pm-cta p{color:#d7dcea;margin:0}
/* Liste des actualités */
.pm-filtres{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:1240px;margin:0 auto;padding:32px 24px 0}
.pm-filtres a{min-height:40px;display:inline-flex;align-items:center;padding:0 18px;border-radius:20px;border:1.5px solid #c9d4e6;background:#fff;color:#0a1a52;text-decoration:none;font-size:15px}
.pm-filtres a.actif{border-color:#0a1a52;background:#1b2f6b;color:#fff}
.pm-grille{max-width:1240px;margin:0 auto;padding:40px 24px 72px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.pm-carte{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe7f3;border-radius:20px;box-shadow:0 18px 40px -28px rgba(12,28,59,.35);overflow:hidden}
.pm-carte img{width:100%;height:200px;object-fit:cover;display:block}
.pm-carte-corps{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.pm-carte-meta{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.pm-carte-meta span:first-child{color:#8a5e12;font-weight:500}
.pm-carte-meta span:last-child{color:#666}
.pm-carte h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:21px;line-height:1.25;color:#0a1a52}
.pm-carte h2 a{color:inherit;text-decoration:none}
.pm-carte p{margin:0;font-size:15px;color:#444;flex:1}
.pm-pagination{max-width:1240px;margin:0 auto;padding:0 24px 64px;display:flex;gap:10px;justify-content:center}
.pm-pagination .page-numbers{padding:6px 14px;border:1px solid #c9d4e6;border-radius:999px;text-decoration:none}
.pm-pagination .current{background:#1b2f6b;color:#fff}
.pm-titre-bandeau{background:#d6e0ef;padding:56px 24px;text-align:center}
.pm-titre-bandeau h1{margin:0 0 8px;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:42px;color:#0a1a52}
.pm-titre-bandeau p{margin:0 auto;max-width:720px;color:#444;font-size:17px}
/* Formulaires (Contact Form 7) */
.wpcf7 form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.wpcf7 label{display:flex;flex-direction:column;gap:6px;font-size:14px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea{width:100%;min-height:44px;border:1px solid #c9d4e6;border-radius:12px;padding:8px 12px;font:inherit;font-size:16px;background:#fff}
.wpcf7 .pm-large{grid-column:1/-1}
.wpcf7 input[type=submit]{grid-column:1/-1;min-height:50px;border:0;border-radius:999px;background:#c9952e;color:#0a1a52;font:inherit;font-weight:500;font-size:17px;cursor:pointer}
.wpcf7 .wpcf7-list-item{margin:0}
@media (max-width:800px){
  .menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #c9d4e6;background:#fff;color:#0a1a52;font:inherit;font-weight:600}
  nav[aria-label="Menu principal"]{display:none!important;flex-direction:column;align-items:stretch!important;border-radius:18px!important;width:100%}
  nav[aria-label="Menu principal"].ouvert{display:flex!important}
  .pm-head-right{align-items:stretch!important}
  h1{font-size:30px!important}
  h2{font-size:26px!important}
  section[style*="height: 3"],section[style*="height: 4"]{height:auto!important;min-height:340px;padding:40px 16px!important}
  section > div[style*="padding: 4"]{padding:28px 20px!important}
  form,.wpcf7 form{grid-template-columns:1fr!important}
  form > *{grid-column:1 / -1!important}
  [style*="flex: 1 1 5"],[style*="flex: 1.2 1 5"],[style*="flex: 1.4 1 5"],[style*="flex: 1 1 4"]{flex-basis:100%!important;min-width:0}
  [style*="minmax(320px"],[style*="minmax(300px"]{grid-template-columns:1fr!important}
  .pm-flottant{display:none!important}
}

/* Corrections affichage téléphone (bloc RGE/BBC, tableaux, avis) */
@media (max-width: 760px) {
	div[style*="220px 1fr 220px"] { grid-template-columns: 1fr 1fr !important; gap: 20px 16px !important; }
	div[style*="220px 1fr 220px"] > h2 { grid-column: 1 / -1; grid-row: 1; font-size: 30px !important; }
	div[style*="220px 1fr 220px"] > img { height: 84px !important; max-width: 100%; object-fit: contain; justify-self: center !important; }
	main table { table-layout: fixed; }
	main table td, main table th { word-break: break-word; overflow-wrap: anywhere; }
	.pm-pqp { max-width: 100%; overflow: hidden; }
}
