/* ==========================================================================
   maelline.design — compléments WordPress
   (main.css = feuille du site d’origine, inchangée ; ici : blocs, nouveautés)
   ========================================================================== */

/* Accessibilité */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fg);color:var(--panel);padding:10px 16px;border-radius:999px;text-decoration:none;font-size:14px}
.skip:focus{top:12px}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.admin-bar nav{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){body.admin-bar nav{top:calc(46px + env(safe-area-inset-top,0px))}}
@media (max-width:600px){body.admin-bar nav{top:env(safe-area-inset-top,0px)}}

/* Navigation : bloc de droite */
.nav-r{display:flex;align-items:center;gap:8px}

/* Pied de page */
.f-cookies{font:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.f-bottom span a+a,.f-bottom span a+.f-cookies{margin-left:14px}
.f-mail{text-decoration:none}

/* Bloc SEO « prestations et zones » (accueil, localisation) */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.svc{border-radius:22px;padding:20px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:8px;min-width:0}
.svc h3{font-size:19px;font-weight:400;letter-spacing:-.02em}
.svc p{color:var(--muted);font-size:15px}
.svc a{margin-top:auto;font-size:14px;color:var(--fg);text-underline-offset:3px}
.zones{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.zones>div{border-radius:22px;padding:20px;background:var(--fg);color:#fafafa;display:flex;flex-direction:column;gap:6px}
.zones b{font-weight:400;font-size:18px}
.zones small{color:#a1a1aa;font-size:14px}
.zones a{margin-top:auto;color:#fff;font-size:14px;text-underline-offset:3px}
.zones>div:first-child{background:linear-gradient(120deg,#ffe0cc,#e3dcff);color:var(--fg)}
.zones>div:first-child small{color:#4a4a52}.zones>div:first-child a{color:var(--fg)}
@media (max-width:900px){.svc-grid,.zones{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc-grid,.zones{grid-template-columns:1fr}}

/* Localisation : 3 zones */
.regions.intl{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.regions.intl{grid-template-columns:1fr}}
.rg-local{display:grid;gap:12px}
.rg-local p{font-size:17px;line-height:1.7;color:#2a2a2e}

/* Catalogue : titres de cartes en H2 (SEO) avec le style d’origine */
.cc h2.cc-h{font-size:20px;letter-spacing:-.02em;margin:0;font-weight:300}
.cat-notes p{margin:0 0 8px}

/* ---------- Contenu des articles, prompts, trames (blocs Gutenberg) ---------- */
.ar2-dyn{display:flex;flex-direction:column;gap:18px;min-width:0}
.ar2-dyn>*{margin:0}
.ar2-dyn h2{font-size:28px;margin-top:18px;scroll-margin-top:100px}
.ar2-dyn h3{font-size:20px;font-weight:400;margin-top:6px}
.ar2-dyn p{font-size:17px;line-height:1.75;color:#2a2a2e}
.ar2-dyn a,.res-text a,.lg-body a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(11,11,12,.3)}
.ar2-dyn ul,.ar2-dyn ol,.res-text ul,.res-text ol{margin:0;padding-left:22px;display:grid;gap:8px;font-size:17px;line-height:1.6;color:#2a2a2e}
.ar2-dyn strong{font-weight:500}
.ar2-dyn img{border-radius:20px;height:auto}
.ar2-dyn .wp-block-quote{margin:6px 0;padding:6px 0 6px 20px;border-left:3px solid #7b68ee}
.ar2-dyn .wp-block-quote p{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.3}
/* Le conseil de Maë / À savoir */
.is-style-mae-tip,.is-style-mae-note{border-radius:20px;padding:18px;display:grid;gap:6px}
.is-style-mae-tip{background:linear-gradient(120deg,#fff1e8,#efecff)}
.is-style-mae-note{background:var(--glass);border:1px solid var(--glass-line)}
.is-style-mae-tip p,.is-style-mae-note p{font-size:16px!important;margin:0}
.is-style-mae-tip p.eyebrow,.is-style-mae-note p.eyebrow{font-size:12px!important;color:var(--muted)}
/* Prompt à copier */
.ar2-prompt{border-radius:20px;background:#0b0b0c;color:#f4f4f5;padding:18px;display:grid;gap:10px;min-width:0}
.ar2-prompt .eyebrow{color:#a1a1aa}
.ar2-prompt .btn.dark{background:#fff;color:#0b0b0c}
pre.is-style-mae-prompt{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.6;color:#f4f4f5;background:#0b0b0c;border-radius:20px;padding:18px;overflow:auto}
.ar2-prompt pre.is-style-mae-prompt{padding:0;border-radius:0}
/* Tableaux */
.ar2-dyn .wp-block-table,.res-text .wp-block-table{margin:0;overflow-x:auto;border-radius:18px;border:1px solid var(--line);background:#fff}
.wp-block-table table{width:100%;border-collapse:collapse;font-size:15px}
.wp-block-table th{background:#f4f3f6;font-weight:400;font-size:13px;color:var(--muted);text-align:left}
.wp-block-table th,.wp-block-table td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top;border-left:0;border-right:0;border-bottom:0}
.wp-block-table thead th{border-top:0}
.wp-block-table figcaption{font-size:12px;color:var(--soft);padding:8px 16px}
@media (max-width:600px){.wp-block-table th,.wp-block-table td{padding:10px 12px;font-size:13px}}
/* FAQ (bloc Détails) */
.ar2-dyn .wp-block-details,.res-text .wp-block-details{background:var(--glass);border:1px solid var(--glass-line);border-radius:20px;padding:4px 22px}
.wp-block-details summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;position:relative;font-weight:400;font-size:17px}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";position:absolute;right:0;top:14px;font-size:22px;font-weight:200;transition:transform .2s}
.wp-block-details[open] summary::after{transform:rotate(45deg)}
.wp-block-details p{padding-bottom:18px;color:var(--muted)!important}
.faq details>p,.faq details>.wp-block-paragraph{margin:0}

/* Pages légales */
.lg-body{display:grid;gap:12px}
.lg-body h2{font-size:19px;margin:18px 0 0;scroll-margin-top:100px}
.lg-body p,.lg-body li{font-size:15px;line-height:1.65;color:#3a3a40}
.lg-body ul{margin:0;padding-left:20px;display:grid;gap:4px}

/* Pages de ressources (PDF, templates, design) */
.res-prev{border-radius:24px;overflow:hidden;background:var(--glass);border:1px solid var(--glass-line)}
.res-prev .dsg-prev,.res-prev .tpl-prev{aspect-ratio:21/9}
.res-prev img{width:100%;height:auto;display:block}
.pdf-view{width:100%;height:min(80vh,820px);display:block;border:0}
.swlist{display:flex;flex-wrap:wrap;gap:8px;padding:14px}
.sw-code{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:13px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px 6px 6px;cursor:pointer}
.sw-code i{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.res-prev>p{padding:0 14px 14px}
.res-text{gap:14px}
.res-text h2{font-size:24px;margin-top:10px}
.tpl-prev.img,.dsg-prev.img{padding:0;display:block;aspect-ratio:16/9;overflow:hidden}
.tpl-prev.img img,.dsg-prev.img img{width:100%;height:100%;object-fit:cover}
.post-img.has-img{padding:0;overflow:hidden}
.post-img.has-img img{width:100%;height:100%;object-fit:cover}
.ar2-cover.has-img{padding:0;overflow:hidden;display:block}
.ar2-cover.has-img img{width:100%;height:100%;object-fit:cover}

/* Page outil : présentation et avis */
.ot-head{display:flex;align-items:center;gap:16px}
.ot-head>div{display:flex;flex-direction:column;gap:8px}
.ot-logo{width:56px;height:56px;border-radius:16px;background:#fff;border:1px solid var(--line);padding:10px;object-fit:contain}
.ot-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ot-rates{display:flex;flex-wrap:wrap;gap:16px;margin-left:auto;font-size:14px;color:var(--muted)}
.ot-rates b{font-weight:400;font-size:22px;color:var(--fg)}
.ot-rates .stars,.tc-rate{color:#f39a68;letter-spacing:1px}
.ot-pc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ot-pc>div{border-radius:20px;padding:16px 18px;background:var(--glass);border:1px solid var(--glass-line);display:grid;gap:8px}
.ot-pc b{font-weight:400}
.ot-pc ul{margin:0;padding-left:18px;display:grid;gap:4px;color:#3a3a40;font-size:15px}
.ot-rv{padding-block:24px 0;display:grid;gap:16px}
.ot-rv-head{display:grid;gap:6px}
.rv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rv-card{width:auto!important;min-width:0}
.rv-form{border-radius:28px;padding:clamp(18px,3vw,28px);background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:grid;gap:14px}
.rv-stars{border:0;padding:0;margin:0}
.stars-in{display:inline-flex;flex-direction:row-reverse;gap:4px}
.stars-in input{position:absolute;opacity:0;width:1px;height:1px}
.stars-in label{font-size:30px;line-height:1;color:#d8d8de;cursor:pointer;transition:color .15s}
.stars-in label:hover,.stars-in label:hover~label,.stars-in input:checked~label{color:#f39a68}
.stars-in input:focus-visible+label{outline:2px solid var(--fg);outline-offset:2px;border-radius:4px}
.rv-stars.invalid legend{color:#c25a2a}
.rv-ok{border-radius:18px;padding:14px 18px;background:linear-gradient(120deg,#fff1e8,#efecff)}
@media (max-width:700px){.ot-pc,.rv-list{grid-template-columns:1fr}.ot-rates{margin-left:0}}

/* Formulaires : états */
.is-sending{opacity:.6;pointer-events:none}
.f-ok:focus{outline:none}
.rg-ok{border-radius:18px;padding:14px 18px;background:linear-gradient(120deg,#fff1e8,#efecff);color:var(--fg)}
.mail-copy a{color:inherit;text-decoration:none}

/* Pagination */
.navigation.pagination{margin-top:24px}
.nav-links{display:flex;gap:6px;flex-wrap:wrap}
.nav-links .page-numbers{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:14px;background:#fff}
.nav-links .current{background:var(--fg);color:var(--panel);border-color:var(--fg)}

/* ---------- Bandeau cookies ---------- */
.ck{position:fixed;z-index:60;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:560px;margin-left:auto;
  border-radius:26px;padding:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid var(--glass-line);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.45);display:grid;gap:12px;font-size:14px}
.ck[hidden]{display:none!important}
.ck b{font-weight:400;font-size:17px;padding-right:150px}
.ck p{color:var(--muted);line-height:1.5}
.ck p a{color:var(--fg);text-underline-offset:3px}
.ck-x{position:absolute;top:14px;right:16px;font:inherit;font-size:12px;color:var(--muted);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ck-btns{display:flex;flex-wrap:wrap;gap:8px}
.ck-btns .btn{flex:1 1 auto}
.ck-prefs{display:grid;gap:8px}
.ck-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:16px;padding:12px 14px;background:#f4f3f6;cursor:pointer}
.ck-row span{display:grid;gap:2px}
.ck-row b{font-size:14px;padding:0}
.ck-row small{color:var(--muted);font-size:12px}
.ck-row input{width:20px;height:20px;accent-color:#0b0b0c;flex:none}
@media (max-width:520px){.ck b{padding-right:0;padding-top:18px}.ck-btns .btn{flex:1 1 40%}}

/* Bloc d’éditeur : alignements */
.alignwide{max-width:988px}
.aligncenter{margin-inline:auto}
.wp-block-image img{border-radius:20px}

/* ---------- Menu mobile : page active en dégradé ---------- */
.mnav a.on:not(.btn){background:linear-gradient(90deg,#f39a68 0%,#c77fb0 45%,#7b68ee 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:400}
.mnav a.on:not(.btn):hover{background-color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.mnav a.on:not(.btn){color:#7b68ee;-webkit-text-fill-color:currentColor}}

/* ---------- Responsive : sécurités ---------- */
html,body{overflow-x:clip}
img,svg,video,iframe,object{max-width:100%}
.ar2-dyn img,.res-text img{height:auto}
.ar2-dyn p,.ar2-dyn li,.res-text p,.res-text li,.lg-body p,.lg-body li,.wp-block-table td{overflow-wrap:anywhere}
.ar2-dyn iframe,.res-text iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:20px}
.f-bottom span{display:inline-flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.f-bottom span a+a,.f-bottom span a+.f-cookies{margin-left:0}
@media (max-width:760px){
  .nav-r{gap:6px}
  .ot-head{align-items:flex-start}
  .ot-bar .btn{flex:1 1 auto;justify-content:center}
  .pdf-view{height:70vh}
  .swlist{gap:6px}
  .ck{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));padding:16px;border-radius:22px}
}
@media (max-width:420px){
  .svc-grid,.zones,.rv-list,.ot-pc{gap:10px}
  .ck-btns .btn{flex:1 1 100%}
}

/* ---------- Performance sur mobile ---------- */
@media (max-width:760px){
  /* le flou d’arrière-plan est très coûteux sur téléphone : on l’allège */
  .navbar,.mnav,.ck{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .svc,.rv-form,.cc,.pcard,.tool-c,.tpl,.dsg,.doc,.post,.pack,.fb,.ob,.mq-card,.faq details,.rcard,.ct-form{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.82)}
  .sec-glow{display:none}
  .bg-glow i{filter:blur(60px)}
}
@media (prefers-reduced-transparency:reduce){
  .navbar,.mnav,.ck,.svc,.rv-form,.cc,.pcard{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
}
/* Les sections hors écran ne sont dessinées qu’à l’approche */
main>section:nth-of-type(n+4),.foot2{content-visibility:auto;contain-intrinsic-size:auto 900px}
