/* Occiteam — styles propres au thème WordPress.
   Couleurs / polices / en-tête / pied de page : voir brand.css (charte commune).
   Ce fichier ne contient que la mise en page des pages WordPress ; il utilise uniquement
   les variables de la charte, donc rien à changer ici quand les couleurs changent. */

*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:1rem; line-height:1.5; padding-inline:20px;}
h1,h2,h3,.display{font-family:var(--font-display); font-weight:800; text-transform:uppercase; letter-spacing:.01em; margin:0;}
a{color:inherit;}
main{max-width:1120px; margin-inline:auto; padding-bottom:64px;}
.mono{font-family:var(--font-mono);}
.hint{font-size:.75rem; color:var(--muted);}

/* Boutons */
.btn,input[type=submit],button[type=submit],.wp-block-button__link{display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; border:1px solid transparent; cursor:pointer; font-family:var(--font-body); font-weight:700; font-size:.8125rem; padding:11px 20px; text-decoration:none; background:var(--accent); color:var(--accent-ink);}
.btn:hover,input[type=submit]:hover,button[type=submit]:hover,.wp-block-button__link:hover{background:var(--accent-strong); color:var(--accent-ink);}
.btn-primary{background:var(--accent); color:var(--accent-ink);}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--border);}
.btn-ghost:hover{background:var(--surface-2); color:var(--ink);}
.btn-sm{padding:7px 12px; font-size:.75rem;}

/* Bandeau d'introduction */
.hero{padding-block:36px 28px;}
.hero h1{font-size:3rem; line-height:1.02; max-width:20ch;}
.hero p.lead{font-size:1.125rem; color:var(--ink-soft); max-width:52ch; margin:8px 0 0;}
@media (max-width:640px){ .hero h1{font-size:2.25rem;} }

/* Cartes */
.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:18px; margin-top:22px;}
.card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px; display:flex; flex-direction:column; gap:10px; box-shadow:var(--shadow); text-decoration:none; color:inherit;}
.card:hover{border-color:var(--accent);}
.card h3{font-size:1.375rem; text-transform:none; letter-spacing:0;}
.card .meta{color:var(--muted); font-size:.8125rem;}
.card .foot{margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:8px; border-top:1px solid var(--border);}

/* Panneau de contenu des pages */
.panel{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); margin-top:20px;}
.empty{padding:40px 20px; text-align:center; color:var(--muted); border:1px dashed var(--border); border-radius:var(--radius);}

/* Contenu rédigé dans l'éditeur WordPress */
.entry-content{max-width:78ch;}
.entry-content > *:first-child{margin-top:0;}
.entry-content > *:last-child{margin-bottom:0;}
.entry-content h2{font-size:1.75rem; margin:1.6em 0 .5em;}
.entry-content h3{font-size:1.375rem; text-transform:none; margin:1.4em 0 .4em;}
.entry-content p,.entry-content ul,.entry-content ol{margin:0 0 1em;}
.entry-content a{color:var(--accent); text-underline-offset:2px;}
.entry-content a:hover{color:var(--accent-strong);}
.entry-content img{max-width:100%; height:auto; border-radius:10px;}
.entry-content blockquote{margin:1.2em 0; padding:.2em 1.2em; border-left:4px solid var(--accent); color:var(--ink-soft);}
.entry-content table{width:100%; border-collapse:collapse; font-size:.875rem;}
.entry-content th{text-align:left; background:var(--surface-2); padding:9px 10px; font-size:.75rem; text-transform:uppercase; color:var(--muted);}
.entry-content td{padding:9px 10px; border-top:1px solid var(--border);}
.entry-content.panel{max-width:none;}
.entry-content.panel > *{max-width:78ch;}
.entry-content.panel > .alignwide,.entry-content.panel > .alignfull{max-width:none;}

/* Formulaires (formulaire de devis : Fluent Forms, Contact Form 7, WPForms…) */
label{display:block; font-size:.8125rem; font-weight:600; margin-bottom:6px; color:var(--ink-soft);}
input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea{width:100%; padding:11px 13px; border-radius:10px; border:1px solid var(--border); background:var(--surface); color:var(--ink); font-size:1rem; font-family:inherit;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus); outline-offset:1px;}
input[type=checkbox],input[type=radio]{width:18px; height:18px; accent-color:var(--accent);}
.wpcf7-not-valid-tip,.ff-el-is-error .text-danger{color:var(--danger); font-size:.75rem;}
.wpcf7-response-output{border-radius:10px !important; border-color:var(--border) !important; font-size:.8125rem;}

/* Pagination des actualités */
.navigation.pagination{margin-top:24px;}
.navigation.pagination .nav-links{display:flex; gap:6px; flex-wrap:wrap;}
.navigation.pagination .page-numbers{padding:7px 14px; border-radius:999px; border:1px solid var(--border); background:var(--surface); text-decoration:none; font-weight:600; font-size:.8125rem;}
.navigation.pagination .page-numbers.current{background:var(--ink); color:var(--bg); border-color:var(--ink);}

/* Barre d'administration WordPress : ne décale pas l'en-tête */
.admin-bar header.site{margin-top:0;}
