/*
Theme Name: Locataires.info
Description: Thème locataires.info — guide pratique du locataire : charte ardoise & terracotta, breadcrumbs schema.org, encadrés juridiques, grilles de silos.
Version: 1.0
Author: locataires.info
Text Domain: locataires
*/

:root{
  --nuit:#22384F; --nuit2:#51677E; --promo:#C4572E; --promo-h:#A84722; --promo-bg:#F9E9E0;
  --nuage:#FAF6F1; --blanc:#FFFFFF;
  --ink:#1C2733; --muted:#64748B; --line:#E2E8F0;
  --vert:#2E7D5B; --vert-bg:#E9F5F0;
  --rouge:#B3452F; --rouge-bg:#FBEFEB;
  --bleu-bg:#EBF2F9; --jaune-bg:#FFF8E5;
  --r:14px; --shadow:0 2px 14px rgba(14,58,93,.09);
  --ff-t:'Outfit',system-ui,Segoe UI,Arial,sans-serif;
  --ff-b:'Inter',system-ui,Segoe UI,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ff-b);font-size:17px;line-height:1.7;color:var(--ink);background:var(--nuage)}
img{max-width:100%;height:auto}
a{color:var(--nuit2);text-decoration:underline;text-decoration-color:#FFC9A8;text-underline-offset:3px}
a:hover{color:var(--promo-h);text-decoration-color:var(--promo)}
h1,h2,h3,h4{font-family:var(--ff-t);color:var(--nuit);line-height:1.28;margin:1.4em 0 .5em;font-weight:600}
h1{font-size:clamp(29px,4.2vw,42px)}h2{font-size:clamp(22px,3vw,29px)}h3{font-size:clamp(19px,2.2vw,22px)}
.loc-wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.loc-narrow{max-width:860px;margin:0 auto;padding:0 22px}

/* ── header ── */
.loc-header{background:var(--nuit);position:sticky;top:0;z-index:60;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.loc-header__in{display:flex;align-items:center;gap:22px;min-height:66px}
.loc-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:var(--ff-t);font-size:22px}
.loc-logo b{font-weight:600}.loc-logo span{color:var(--promo)}
.loc-burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:22px;border-radius:8px;padding:2px 10px;cursor:pointer}
.loc-nav{margin-left:auto}
.loc-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.loc-nav a{display:block;color:#EAF1F7;text-decoration:none;padding:22px 11px;font-size:15px;font-weight:500}
.loc-nav a:hover{color:var(--promo)}
.loc-nav .menu-item-cta a{background:var(--promo);color:#fff;border-radius:999px;padding:9px 18px;margin:12px 0 12px 8px;font-weight:600}
.loc-nav .menu-item-cta a:hover{background:var(--promo-h);color:#fff}
.loc-nav .sub-menu{display:none;position:absolute;background:#fff;box-shadow:var(--shadow);border-radius:10px;padding:8px;min-width:250px}
.loc-nav li{position:relative}
.loc-nav li:hover>.sub-menu{display:block}
.loc-nav .sub-menu a{color:var(--ink);padding:9px 12px;border-radius:7px}
.loc-nav .sub-menu a:hover{background:var(--promo-bg);color:var(--promo-h)}
@media(max-width:980px){
  .loc-burger{display:block}
  .loc-nav{display:none;position:absolute;left:0;right:0;top:66px;background:var(--nuit);padding:8px 16px 18px}
  .loc-nav.open{display:block}
  .loc-nav ul{flex-direction:column;gap:0}
  .loc-nav a{padding:11px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
  .loc-nav .sub-menu{display:block;position:static;background:transparent;box-shadow:none;padding:0 0 0 16px}
  .loc-nav .sub-menu a{color:#C8D6E2}
  .loc-nav .menu-item-cta a{margin:10px 0 0}
}

/* ── hero ── */
.loc-hero{background:linear-gradient(150deg,var(--nuit) 0%,var(--nuit2) 68%,#1A649F 100%);color:#fff;padding:56px 0 70px;position:relative;overflow:hidden}
.loc-hero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 85% 15%,rgba(255,122,60,.16),transparent 40%);pointer-events:none}
.loc-hero h1{color:#fff;margin-top:0;max-width:760px}
.loc-hero h1 em{color:var(--promo);font-style:normal}
.loc-hero p{max-width:640px;font-size:19px;color:#D7E3EE}
.loc-hero__badges{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:14.5px;color:#BFD2E2}
.loc-hero__badges b{color:#fff}
.loc-trail{position:absolute;right:-40px;top:34px;width:420px;opacity:.5;pointer-events:none}
.loc-searchbox{background:#fff;border-radius:var(--r);box-shadow:0 10px 34px rgba(0,0,0,.25);padding:18px;margin-top:30px;position:relative;z-index:2}
.loc-searchbox .loc-search-note{font-size:13px;color:var(--muted);margin:8px 2px 0}
.loc-cta-neutral{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--ink)}
.loc-cta-neutral p{margin:0;font-size:15.5px;color:var(--ink)}

/* ── boutons ── */
.loc-btn{display:inline-block;background:var(--promo);color:#fff!important;text-decoration:none;font-weight:600;padding:12px 24px;border-radius:999px;border:0;cursor:pointer;font-size:16px}
.loc-btn:hover{background:var(--promo-h)}
.loc-btn--ghost{background:transparent;border:2px solid var(--promo);color:var(--promo)!important}
.loc-btn--ghost:hover{background:var(--promo-bg)}

/* ── sections landing ── */
.loc-sec{padding:52px 0}
.loc-sec--alt{background:#fff}
.loc-sec h2{margin-top:0}
.loc-lead{color:var(--muted);max-width:720px}
.loc-grid{display:grid;gap:20px}
.loc-grid--3{grid-template-columns:repeat(3,1fr)}
.loc-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:920px){.loc-grid--3,.loc-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.loc-grid--3,.loc-grid--4{grid-template-columns:1fr}}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.loc-sec--alt .loc-card{background:var(--nuage)}
.loc-card .ico{font-size:30px}
.loc-card h3{margin:10px 0 6px;font-size:19px}
.loc-card p{margin:0 0 14px;color:var(--muted);font-size:15px;flex:1}
.loc-card a.more{font-weight:600;text-decoration:none;color:var(--promo-h)}
.loc-dest{position:relative;border-radius:var(--r);overflow:hidden;background:var(--nuit);color:#fff;padding:26px 20px;min-height:130px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none}
.loc-dest b{font-family:var(--ff-t);font-size:20px}
.loc-dest span{font-size:13.5px;color:#CFE0EE}
.loc-dest:hover{outline:3px solid var(--promo)}

/* ── prose éditoriale ── */
.loc-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;padding:26px 0 60px}
@media(max-width:980px){.loc-layout{grid-template-columns:1fr}}
.loc-prose{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:34px clamp(20px,4vw,44px) 42px}
.loc-prose h1{margin-top:0}
.loc-prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15.5px}
.loc-prose th{background:var(--nuit);color:#fff;padding:10px 12px;text-align:left}
.loc-prose td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.loc-prose tr:nth-child(even) td{background:var(--nuage)}
.loc-prose img{border-radius:10px}

/* encadrés */
.loc-tip,.loc-info,.loc-warn,.loc-law,.loc-tool{border-radius:10px;padding:16px 18px;margin:22px 0;font-size:15.8px}
.loc-tip{background:var(--vert-bg);border-left:5px solid var(--vert)}
.loc-info{background:var(--bleu-bg);border-left:5px solid var(--nuit2)}
.loc-warn{background:var(--promo-bg);border-left:5px solid var(--promo)}
.loc-law{background:var(--jaune-bg);border-left:5px solid #C9A227}
.loc-tool{background:var(--nuit);color:#fff;border-radius:var(--r);padding:22px}
.loc-tool a{color:var(--promo)}
.loc-saison{display:flex;gap:10px;align-items:flex-start;background:var(--jaune-bg);border:1px dashed #C9A227;border-radius:10px;padding:11px 14px;font-size:14px;color:#6B5B15;margin:0 0 22px}

/* fiches notées (Review) */
.loc-score{display:inline-flex;align-items:baseline;gap:3px;background:var(--nuit);color:#fff;border-radius:10px;padding:6px 13px;font-family:var(--ff-t)}
.loc-score b{font-size:26px;color:var(--promo)}
.loc-verdict{display:flex;gap:16px;align-items:center;background:var(--nuage);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:20px 0}
.loc-verdict p{margin:0;font-size:15.5px}
.loc-crit td:last-child{white-space:nowrap;font-weight:600;color:var(--nuit)}

/* enfants / liés / faq */
.loc-children{background:var(--bleu-bg);border-radius:var(--r);padding:18px 22px;margin:22px 0}
.loc-children h3{margin:0 0 10px}
.loc-children ul{margin:0;padding:0;list-style:none;columns:2;gap:26px}
@media(max-width:640px){.loc-children ul{columns:1}}
.loc-children li{margin:7px 0;break-inside:avoid}
.loc-related{border-top:2px solid var(--line);margin-top:38px;padding-top:18px}
.loc-related h3{margin-top:0}
.loc-related ul{margin:0;padding-left:20px}
.loc-related li{margin:7px 0}
.loc-faq__item{border:1px solid var(--line);border-radius:10px;background:#fff;margin:10px 0;overflow:hidden}
.loc-faq__item summary{cursor:pointer;font-weight:600;padding:14px 18px;color:var(--nuit);list-style:none;position:relative}
.loc-faq__item summary::after{content:"+";position:absolute;right:16px;color:var(--promo);font-size:22px;line-height:1}
.loc-faq__item[open] summary::after{content:"–"}
.loc-faq__a{padding:0 18px 14px;font-size:15.5px}

/* sidebar */
.loc-side{display:flex;flex-direction:column;gap:20px}
.loc-widget{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px}
.loc-widget h4{margin:0 0 10px;font-size:17px}
.loc-widget ul{margin:0;padding:0;list-style:none}
.loc-widget li{margin:8px 0;font-size:15px}
.loc-widget--tools{background:var(--nuit);color:#E7F0F8;border:0}
.loc-widget--tools h4{color:#fff}
.loc-widget--tools p{font-size:14.5px}
.loc-widget--search{border-top:4px solid var(--promo)}

/* blog listings */
.loc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:920px){.loc-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.loc-cards{grid-template-columns:1fr}}
.loc-post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.loc-post-card img{aspect-ratio:16/9;object-fit:cover;width:100%;border-radius:0}
.loc-post-card .in{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.loc-post-card .cat{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--promo-h)}
.loc-post-card h3{margin:6px 0 8px;font-size:18px}
.loc-post-card h3 a{text-decoration:none;color:var(--nuit)}
.loc-post-card p{font-size:14.5px;color:var(--muted);margin:0;flex:1}

/* pubs neutres */
.loc-ad{margin:18px auto;text-align:center}
.loc-ad__label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:4px}

/* footer */
.loc-footer{background:var(--nuit);color:#C9D8E5;margin-top:60px;padding:46px 0 26px}
.loc-footer h4{color:#fff;margin:0 0 12px;font-size:17px}
.loc-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px}
@media(max-width:820px){.loc-footer__grid{grid-template-columns:1fr}}
.loc-footer ul{margin:0;padding:0;list-style:none}
.loc-footer li{margin:7px 0}
.loc-footer a{color:#DCE8F2;text-decoration:none}
.loc-footer a:hover{color:var(--promo)}
.loc-disclaimer{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;font-size:13px;color:#9FB4C6}
.loc-footer__legal{margin-top:14px;font-size:13.5px;color:#8CA3B7}

/* crumb + divers */
.loc-crumb{font-size:13.5px;color:var(--muted);padding:16px 0 0}
.loc-crumb a{color:var(--muted)}
.loc-crumb .sep{margin:0 7px;color:#B3C2CF}
.loc-404{text-align:center;padding:90px 20px}
