/* ALLO212 V121 - Pages guides, blog, villes et services 212 : présentation « magazine » aux couleurs Allo 212 (Montserrat) */
.allo-seo{--g-ink:#2a1a10;--g-soft:#6b5646;--g-brown:#3a2418;--g-or:#c25717;--g-or2:#ff7417;--g-cream:#fbf6ef;--g-line:#efe2d4;--g-card:#fff;background:var(--g-cream)}
body.allo-seo,.allo-seo .seo-page,.allo-seo .seo-page input,.allo-seo .seo-page button{font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif!important}
.allo-seo .seo-page{max-width:1120px;margin:8px auto 70px;padding:clamp(14px,3vw,28px);color:var(--g-ink);line-height:1.75;font-size:16.5px}
.allo-seo .seo-page>nav:first-child a{display:inline-flex;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--g-line);font-size:12.5px;background-image:none}
.allo-seo .seo-page h1{font-size:clamp(28px,4.4vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:10px 0 14px;color:var(--g-ink)}
.allo-seo .seo-page h1 span{display:block;font-size:.55em;font-weight:600;color:var(--g-or);margin-top:8px}
.allo-seo .seo-page h2{font-size:clamp(21px,2.6vw,27px);font-weight:800;letter-spacing:-.01em;line-height:1.3;margin:42px 0 14px;scroll-margin-top:90px}
.allo-seo .seo-page h3{font-size:18px;font-weight:700;margin:24px 0 8px}
.allo-seo .seo-page p,.allo-seo .seo-page li{color:#3b2c22}
.allo-seo .seo-page a{color:var(--g-or);font-weight:600;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .2s}
.allo-seo .seo-page a:hover{background-size:100% 2px}
.allo-seo .seo-bc{font-size:12.5px;color:var(--g-soft);margin-bottom:6px}.allo-seo .seo-bc a{font-weight:600}
.allo-seo .seo-lead,.allo-seo .g-lead{font-size:clamp(17px,1.8vw,19.5px);line-height:1.7;color:#4a3729;max-width:760px}
.allo-seo .seo-note{font-size:12.5px;color:var(--g-soft);border-top:1px solid var(--g-line);padding-top:16px;margin-top:40px}
/* cartes et tuiles (toutes pages SEO) */
.allo-seo .seo-page .seo-cards,.allo-seo .g-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:16px 0}
.allo-seo .seo-page .seo-card,.allo-seo .g-card{display:flex;flex-direction:column;gap:6px;padding:18px 18px 16px;border:1px solid var(--g-line);border-radius:20px;background:var(--g-card);color:var(--g-ink)!important;box-shadow:0 6px 18px -12px rgba(60,30,10,.35);transition:transform .18s,box-shadow .18s,border-color .18s;background-image:none!important}
.allo-seo .seo-page .seo-card:hover,.allo-seo .g-card:hover{transform:translateY(-3px);border-color:#f0b98e;box-shadow:0 16px 30px -16px rgba(168,71,26,.45)}
.allo-seo .seo-page .seo-card strong{font-size:16px;line-height:1.35}.allo-seo .seo-page .seo-card span{font-weight:500;color:var(--g-soft);font-size:14px}
.allo-seo .seo-page .seo-tag{color:var(--g-or)!important;font-weight:700!important;font-size:11px!important;letter-spacing:.08em}
.allo-seo .seo-page .seo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.allo-seo .seo-page .seo-tile{border:1px solid var(--g-line);border-radius:16px;padding:12px 14px;background:#fff;color:var(--g-ink)!important;background-image:none!important;transition:border-color .15s,transform .15s}
.allo-seo .seo-page .seo-tile:hover{border-color:var(--g-or);transform:translateY(-2px)}
.allo-seo .seo-page .seo-tile span{font-size:12.5px;font-weight:500;color:var(--g-soft)}
.allo-seo .seo-chips{display:flex;flex-wrap:wrap;gap:8px}
.allo-seo .seo-page .seo-chips a{display:inline-flex;padding:6px 13px;border:1px solid var(--g-line);border-radius:999px;background:#fff;font-size:13.5px;margin:0;background-image:none}
.allo-seo .seo-page .seo-chips a:hover{border-color:var(--g-or);background:#fff4ea}
.allo-seo .seo-page details{border:1px solid var(--g-line);border-radius:16px;padding:0;margin:10px 0;background:#fff;overflow:hidden}
.allo-seo .seo-page details>summary{list-style:none;cursor:pointer;padding:16px 50px 16px 18px;font-weight:700;position:relative}
.allo-seo .seo-page details>summary::-webkit-details-marker{display:none}
.allo-seo .seo-page details>summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:#fff1e4;color:var(--g-or);display:grid;place-items:center;font-size:18px;transition:transform .2s}
.allo-seo .seo-page details[open]>summary::after{transform:translateY(-50%) rotate(45deg)}
.allo-seo .seo-page details>p,.allo-seo .seo-page details>div{padding:0 18px 16px;margin:0}
.allo-seo [dir=rtl]{text-align:right;line-height:2}
.allo-seo .seo-expert,.allo-seo .seo212{background:#fff;border:1px solid var(--g-line);border-radius:24px;padding:clamp(18px,3vw,30px);margin:30px 0;box-shadow:0 10px 30px -22px rgba(60,30,10,.4)}
.allo-seo .seo-darija{background:#fff8f1;border-left:4px solid var(--g-or);border-radius:0 18px 18px 0;padding:14px 20px;margin:20px 0}
.allo-seo .seo-cta a{display:inline-flex;padding:12px 22px;border-radius:999px;background:var(--g-or);color:#fff!important;background-image:none!important;box-shadow:0 10px 22px -10px rgba(194,87,23,.7)}
/* ----- Guides ----- */
.allo-seo .g-hero{position:relative;padding:clamp(22px,4vw,44px);margin:6px 0 26px;border-radius:30px;background:radial-gradient(120% 140% at 100% 0%,#ffe2c4 0%,#fff6ec 45%,#fffdfb 100%);border:1px solid var(--g-line);overflow:hidden}
.allo-seo .g-hero::after{content:"";position:absolute;right:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#ffcf9e55,transparent 70%);pointer-events:none}
.allo-seo .g-eyebrow{display:inline-flex;gap:6px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--g-line);font-size:12.5px;font-weight:700;color:var(--g-or);margin:0 0 6px}
.allo-seo .g-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.allo-seo .g-meta span{font-size:12.5px;font-weight:600;color:var(--g-soft);padding:5px 11px;border-radius:999px;background:#ffffffb0;border:1px solid var(--g-line)}
.allo-seo .g-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.allo-seo .seo-page .g-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:var(--g-or);color:#fff!important;font-weight:700;background-image:none!important;box-shadow:0 10px 22px -10px rgba(194,87,23,.7);transition:transform .15s,background .15s}
.allo-seo .seo-page .g-btn:hover{transform:translateY(-2px);background:#a8471a}
.allo-seo .seo-page .g-btn-ghost{background:#fff;color:var(--g-or)!important;border:1.5px solid #f2c7a3;box-shadow:none}
.allo-seo .seo-page .g-btn-ghost:hover{background:#fff4ea}
.allo-seo .g-search{margin:18px 0 6px;max-width:640px}
.allo-seo .g-search input{width:100%;box-sizing:border-box;padding:15px 20px 15px 48px;border:1.5px solid var(--g-line);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23c25717' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='9' r='6.5'/%3E%3Cpath d='m14 14 4.5 4.5'/%3E%3C/svg%3E") 18px 50%/20px no-repeat;font-size:15.5px;color:var(--g-ink);outline:none;transition:border-color .15s,box-shadow .15s}
.allo-seo .g-search input:focus{border-color:var(--g-or);box-shadow:0 0 0 4px #ffe1c8}
.allo-seo .g-cats{display:flex;gap:8px;overflow-x:auto;padding:14px 0 2px;scrollbar-width:none}
.allo-seo .seo-page .g-cats a{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--g-line);color:var(--g-ink)!important;font-size:13.5px;background-image:none}
.allo-seo .g-cats small{color:var(--g-or);font-weight:700;margin-left:4px}
.allo-seo .g-sec{margin:34px 0}
.allo-seo .g-sec-h{display:flex;align-items:center;gap:14px}.allo-seo .g-sec-h h2{margin:0}.allo-seo .g-sec-h p{margin:2px 0 0;font-size:14px;color:var(--g-soft)}
.allo-seo .g-ic{flex:0 0 52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:26px;background:linear-gradient(145deg,#fff,#ffe8d3);border:1px solid var(--g-line)}
.allo-seo .g-card-t{font-size:17px;font-weight:800;line-height:1.3}
.allo-seo .g-card-ar{font-size:15px;color:var(--g-or);font-weight:600}
.allo-seo .g-card-d{font-size:13.5px;line-height:1.6;color:var(--g-soft);font-weight:500}
.allo-seo .g-card-go{margin-top:auto;padding-top:8px;font-size:13px;font-weight:700;color:var(--g-or)}
.allo-seo .g-empty{padding:20px;border-radius:18px;background:#fff;border:1px dashed #f0c9a6;text-align:center}
.allo-seo .g-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:40px 0 10px;padding:24px 28px;border-radius:26px;background:linear-gradient(120deg,#3a2418,#5a331c);color:#fff}
.allo-seo .g-band strong{display:block;font-size:19px}.allo-seo .g-band span{display:block;color:#f5dcc6;font-size:14.5px;max-width:560px}
.allo-seo .g-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start}
.allo-seo .g-toc{position:sticky;top:90px;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--g-line);font-size:13.5px}
.allo-seo .g-toc p{margin:0 0 8px;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-soft)}
.allo-seo .g-toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.allo-seo .g-toc li{counter-increment:t;margin:2px 0}
.allo-seo .seo-page .g-toc a{display:block;padding:7px 10px;border-radius:10px;color:var(--g-soft)!important;font-weight:600;line-height:1.35;background-image:none}
.allo-seo .seo-page .g-toc a::before{content:counter(t,decimal-leading-zero) " ";color:#e2a77a;font-weight:800}
.allo-seo .seo-page .g-toc a.on,.allo-seo .seo-page .g-toc a:hover{background:#fff1e4;color:var(--g-or)!important}
.allo-seo .g-body{max-width:760px}.allo-seo .g-body>section:first-child h2{margin-top:6px}
.allo-seo .g-keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.allo-seo .g-key{display:flex;gap:12px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--g-line)}
.allo-seo .g-key b{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--g-or);color:#fff;font-size:14px}
.allo-seo .g-key p{margin:0;font-size:14.5px;line-height:1.6}
.allo-seo .g-check{list-style:none;padding:0;margin:0}
.allo-seo .g-check li{position:relative;padding:12px 14px 12px 46px;margin:8px 0;border-radius:14px;background:#fff;border:1px solid var(--g-line)}
.allo-seo .g-check li::before{content:"✓";position:absolute;left:14px;top:12px;width:22px;height:22px;border-radius:50%;background:#e7f6ec;color:#1d8a4c;font-weight:800;font-size:13px;display:grid;place-items:center}
.allo-seo .g-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}
.allo-seo .g-tile{padding:16px;border-radius:16px;background:linear-gradient(160deg,#fff,#fff4ea);border:1px solid var(--g-line);font-weight:700;font-size:14.5px}
.allo-seo .g-warn{padding:6px 18px;border-radius:18px;background:#fff5f2;border:1px solid #f6cfc4}
.allo-seo .g-warn li{margin:10px 0}.allo-seo .g-warn li::marker{content:"⚠️  "}
.allo-seo .g-tip{margin:28px 0;padding:18px 22px;border-radius:20px;background:#3a2418;color:#fff}
.allo-seo .g-tip strong{color:#ffb878;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.allo-seo .g-tip p{color:#f8e7d8;margin:6px 0 0}
.allo-seo .g-steps{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;counter-reset:s}
.allo-seo .g-steps li{counter-increment:s;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--g-line)}
.allo-seo .g-steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fff1e4;color:var(--g-or);font-weight:800;margin-bottom:8px}
.allo-seo .g-steps b{display:block}.allo-seo .g-steps span{display:block;font-size:13.5px;color:var(--g-soft);line-height:1.55;margin-top:4px}
.allo-seo .g-lang{display:grid;gap:14px;margin-top:34px}
.allo-seo .g-lang>div{padding:20px 22px;border-radius:20px;background:#fff;border:1px solid var(--g-line)}
.allo-seo .g-lang h2,.allo-seo .g-lang h3{margin-top:0}
.allo-seo .g-lang [lang=ary-Latn]{background:#fff8f1;border-left:4px solid var(--g-or)}
.allo-seo .g-reg summary small{margin-left:8px;font-weight:600;color:var(--g-soft);font-size:12.5px}
.allo-seo .g-reg summary span{color:var(--g-or);font-weight:600;margin-left:6px}
.allo-seo .g-cities{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 18px}
.allo-seo .seo-page .g-cities a{padding:7px 13px;border-radius:999px;background:#fbf6ef;border:1px solid var(--g-line);color:var(--g-ink)!important;font-size:13.5px;background-image:none}
.allo-seo .seo-page .g-cities a:hover{background:#fff1e4;border-color:var(--g-or);color:var(--g-or)!important}
.allo-seo .g-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--g-or),var(--g-or2));z-index:9999;transition:width .1s}
@media (max-width:900px){.allo-seo .g-layout{grid-template-columns:1fr;gap:0}.allo-seo .g-toc{position:static;margin-bottom:10px}.allo-seo .g-toc ol{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.allo-seo .g-toc li{flex:0 0 auto}.allo-seo .seo-page .g-toc a{white-space:nowrap;background:#fbf6ef}}
@media (max-width:600px){.allo-seo .seo-page{font-size:16px;padding:12px}.allo-seo .g-hero{border-radius:22px}.allo-seo .g-cards,.allo-seo .seo-page .seo-cards{grid-template-columns:1fr}.allo-seo .g-band{padding:20px}.allo-seo .seo-page .seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.allo-seo *{transition:none!important}}
/* V121b : retouches */
.allo-seo .seo-page h1 span[dir=rtl]{text-align:left;display:block}
.allo-seo .seo-page>nav:first-child:has(+ .g-hero){display:none}
.allo-seo .g-layout>*{min-width:0}
@media (max-width:900px){.allo-seo .g-layout{grid-template-columns:minmax(0,1fr)}.allo-seo .g-toc{padding:12px 14px}}
@media (max-width:600px){.allo-seo .g-keys,.allo-seo .g-tiles,.allo-seo .g-steps{grid-template-columns:minmax(0,1fr)}.allo-seo .g-meta span{font-size:12px}.allo-seo .g-actions .g-btn{width:100%;justify-content:center;box-sizing:border-box}}
