/*
Theme Name: Monasabti
Theme URI: https://monasabti.com
Author: Monasabti
Description: Thème officiel de Monasabti, plateforme d'organisation de mariages, fiançailles, aqiqa et funérailles au Maroc. Compatible Elementor (pleine largeur, Canvas, emplacements d'en-tête et de pied de page Elementor Pro). Couleurs et polices de la charte appliquées automatiquement à Elementor. À utiliser avec l'extension Monasabti Core.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: monasabti
Tags: custom-logo, custom-menu, featured-images, full-width-template, translation-ready, rtl-language-support
*/

/* ---------- Polices (fichiers locaux, licence SIL OFL) ---------- */
@font-face{font-family:'Fraunces';src:url('assets/fonts/Fraunces-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('assets/fonts/PlusJakartaSans-Variable.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Amiri';src:url('assets/fonts/Amiri-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Amiri';src:url('assets/fonts/Amiri-Bold.woff2') format('woff2');font-weight:700;font-display:swap}

/* ---------- Charte Monasabti ---------- */
:root{
  --mb-bg:#FAF6EF;--mb-raised:#FFFFFF;--mb-sunken:#F3ECE1;--mb-line:#E2D7C6;--mb-line-strong:#85776A;
  --mb-ink:#2B2420;--mb-muted:#6B5E50;
  --mb-emerald:#0F5C4D;--mb-emerald-hover:#0B4A3E;--mb-emerald-soft:#EAF4F1;
  --mb-gold-base:#C9A45C;--mb-gold-soft-base:#F4E8CF;--mb-gold-text-base:#6E5526;--mb-gold-pale:#E9D3A3;
  --mb-terra:#B5502F;--mb-terra-hover:#9A4527;
  --mb-calm:#4F6555;--mb-calm-hover:#3D4E42;--mb-calm-soft:#EEF2EF;--mb-calm-2:#9DB2A2;
  --mb-ok:#2E6B47;--mb-danger:#B3261E;
  --mb-font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --mb-font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mb-font-ar:'Amiri','Noto Naskh Arabic',serif;
  --mb-r-sm:6px;--mb-r-md:12px;--mb-r-lg:24px;
  --mb-shadow:0 1px 2px #2b242012,0 4px 14px #2b242012;--mb-shadow-lg:0 10px 24px #2b24201a,0 24px 48px -12px #2b242033;
  --mb-brand:var(--mb-emerald);--mb-brand-hover:var(--mb-emerald-hover);--mb-brand-soft:var(--mb-emerald-soft);--mb-on-brand:#FFFFFF;
  --mb-act:var(--mb-terra);--mb-act-hover:var(--mb-terra-hover);--mb-on-act:#FFFFFF;
  --mb-gold:var(--mb-gold-base);--mb-gold-soft:var(--mb-gold-soft-base);--mb-gold-text:var(--mb-gold-text-base);
  --mb-container:1180px;
}
/* Univers Recueillement (funérailles) : même structure, palette sauge, sans or ni terracotta */
body.mb-ev-funerailles{
  --mb-brand:var(--mb-calm);--mb-brand-hover:var(--mb-calm-hover);--mb-brand-soft:var(--mb-calm-soft);
  --mb-act:var(--mb-calm);--mb-act-hover:var(--mb-calm-hover);
  --mb-gold:var(--mb-calm-2);--mb-gold-soft:var(--mb-calm-soft);--mb-gold-text:var(--mb-calm);--mb-gold-pale:var(--mb-calm-soft);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mb-bg);color:var(--mb-ink);font-family:var(--mb-font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto}
a{color:var(--mb-brand);text-underline-offset:3px}
a:hover{color:var(--mb-brand-hover)}
h1,h2,h3,h4,h5,h6{font-family:var(--mb-font-display);font-weight:500;line-height:1.15;color:var(--mb-ink);text-wrap:balance;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:-.015em}
h2{font-size:clamp(1.6rem,3vw,2.15rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--mb-brand);outline-offset:2px}
[dir="rtl"] body,.mb-ar{font-family:var(--mb-font-ar)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;left:8px;top:8px;z-index:100000;background:var(--mb-raised);padding:12px 18px;border-radius:var(--mb-r-md)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.mb-container{width:100%;max-width:var(--mb-container);margin-inline:auto;padding-inline:20px}

/* ---------- En-tête ---------- */
.mb-header{position:sticky;top:0;z-index:50;background:rgba(250,246,239,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--mb-line)}
.admin-bar .mb-header{top:32px}
@media (max-width:782px){.admin-bar .mb-header{top:46px}}
.mb-header .mb-container{max-width:1320px}
.mb-header__inner{display:flex;align-items:center;gap:20px;min-height:72px;padding-block:10px;flex-wrap:wrap}
.mb-brand{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.mb-brand img{display:block;height:44px;width:auto}
.custom-logo-link img{max-height:48px;width:auto}
.mb-nav{flex:1;min-width:0}
.mb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:nowrap}
.mb-nav a{display:block;white-space:nowrap;padding:8px 10px;border-radius:var(--mb-r-md);text-decoration:none;color:var(--mb-muted);font-weight:600;font-size:.94rem}
.mb-nav a:hover{color:var(--mb-ink);background:var(--mb-sunken)}
.mb-nav .current-menu-item>a,.mb-nav .current_page_item>a{color:var(--mb-brand);background:var(--mb-brand-soft)}
.mb-header__actions{display:flex;align-items:center;gap:10px}
.mb-menu-toggle{display:none;border:1px solid var(--mb-line);background:var(--mb-raised);border-radius:var(--mb-r-md);width:44px;height:44px;cursor:pointer;color:var(--mb-ink)}
@media (max-width:1100px){
  .mb-menu-toggle{display:grid;place-items:center;margin-left:auto}
  .mb-nav{order:5;flex-basis:100%;display:none}
  .mb-nav.is-open{display:block}
  .mb-nav ul{flex-direction:column;flex-wrap:wrap;padding-bottom:10px}
  .mb-header__actions{order:4;width:100%;justify-content:space-between}
}

/* ---------- Boutons (aussi utilisés par l'extension) ---------- */
.mb-btn,.wp-block-button__link,button.mb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--mb-r-md);border:1px solid transparent;font:inherit;font-weight:600;font-size:.94rem;line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s}
.mb-btn--act,.wp-block-button__link{background:var(--mb-act);color:#fff}
.mb-btn--act:hover,.wp-block-button__link:hover{background:var(--mb-act-hover);color:#fff}
.mb-btn--brand{background:var(--mb-brand);color:#fff}
.mb-btn--brand:hover{background:var(--mb-brand-hover);color:#fff}
.mb-btn--line{background:transparent;border-color:var(--mb-brand);color:var(--mb-brand)}
.mb-btn--line:hover{background:var(--mb-brand-soft);color:var(--mb-brand)}
.mb-btn--ghost{background:transparent;color:var(--mb-ink)}
.mb-btn--ghost:hover{background:var(--mb-sunken)}
.mb-btn--sm{min-height:36px;padding:0 14px;font-size:.86rem}

/* ---------- Contenu ---------- */
.mb-main{padding-block:40px 72px}
.mb-main--full{padding:0}
.mb-page-head{margin-bottom:28px}
.mb-eyebrow{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--mb-gold-text);margin-bottom:6px}
.mb-entry{max-width:760px}
.mb-entry--wide{max-width:none}
.mb-entry img{border-radius:var(--mb-r-md)}
.mb-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.mb-post-card{background:var(--mb-raised);border:1px solid var(--mb-line);border-radius:var(--mb-r-lg);overflow:hidden;display:flex;flex-direction:column}
.mb-post-card__body{padding:20px;display:flex;flex-direction:column;gap:8px}
.mb-post-card h2{font-size:1.25rem;margin:0}
.mb-post-card h2 a{color:var(--mb-ink);text-decoration:none}
.mb-meta{font-size:.84rem;color:var(--mb-muted)}
.mb-pagination{margin-top:32px;display:flex;gap:8px;flex-wrap:wrap}
.mb-pagination .page-numbers{padding:8px 14px;border:1px solid var(--mb-line);border-radius:var(--mb-r-md);text-decoration:none;color:var(--mb-ink)}
.mb-pagination .current{background:var(--mb-brand);border-color:var(--mb-brand);color:#fff}
.mb-404{text-align:center;padding-block:80px;display:flex;flex-direction:column;align-items:center;gap:14px}

/* Formulaires génériques */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=search],input[type=password],input[type=url],select,textarea{font:inherit;font-size:.95rem;color:var(--mb-ink);background:var(--mb-raised);border:1px solid var(--mb-line-strong);border-radius:var(--mb-r-sm);padding:10px 12px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--mb-brand);outline-offset:1px;border-color:var(--mb-brand)}

/* ---------- Pied de page ---------- */
.mb-footer{background:var(--mb-brand);color:#F3ECE1;padding-block:48px 28px;margin-top:auto}
.mb-footer a{color:#F3ECE1}
.mb-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.mb-footer__brand img{height:42px;width:auto;margin-bottom:12px}
.mb-footer__brand p{opacity:.9;max-width:38ch;font-size:.94rem}
.mb-footer h2{font-family:var(--mb-font-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mb-gold-pale);margin-bottom:12px}
.mb-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.94rem}
.mb-footer ul a{text-decoration:none}
.mb-footer ul a:hover{text-decoration:underline}
.mb-footer__bottom{border-top:1px solid rgba(243,236,225,.2);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.84rem;opacity:.85}
.mb-contact-line{user-select:all}
@media (max-width:760px){.mb-footer__grid{grid-template-columns:1fr}}

/* Site en colonne pour coller le pied de page en bas */
.mb-site{min-height:100vh;display:flex;flex-direction:column}
.mb-site>main{flex:1}

/* Elementor : laisser respirer les sections pleine largeur */
.elementor-page .mb-main{padding:0}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
