/* ============================================================
   Immo-Clic — Design v9 (14 oct. 2026)
   Le look des demos approuvees, applique au vrai site :
   en-tete creme, gros logo, boutons pilule au texte blanc,
   cartes douces, heros vert profond.
   ============================================================ */
:root { --ic-cream:#FFF6EC; --ic-green:#005C46; --ic-orange:#FF641E; --ic-mint:#EAF5E8; }
body { background:#F7FAF7 !important; }

/* ---------- En-tete creme, une seule ligne ---------- */
header { background:#FFF6EC !important; border-bottom:1px solid #F1E3CE; }
header .header-inner, header .wrap.nav { flex-wrap:nowrap !important; gap:16px; padding-top:10px; padding-bottom:10px; }
header .brand-logo, header .logo img, header .brand img { height:92px !important; width:auto !important; }
header nav { display:flex; align-items:center; gap:4px; flex-wrap:nowrap; }
header nav a { padding:9px 13px; border-radius:999px; font-weight:600; font-size:15px; white-space:nowrap; text-decoration:none; }
header nav a:hover { background:#EAF5E8; }
header .actions { display:flex; gap:10px; align-items:center; }
header .btn { border-radius:999px !important; padding:12px 22px !important; font-weight:700; border:none; cursor:pointer; }
header .btn.cta { background:#FF641E !important; color:#ffffff !important; }
header .btn.login { background:#005C46 !important; color:#ffffff !important; }
header .btn.lang-btn { background:#ffffff !important; color:#005C46 !important; border:2px solid #005C46 !important; padding:10px 16px !important; }
@media (max-width: 980px) {
  header .brand-logo, header .logo img { height:58px !important; }
  header .header-inner { flex-wrap:wrap !important; }
  header nav { flex-wrap:wrap; }
  header nav a { white-space:normal; }
}

/* ---------- Boutons pilule partout ---------- */
.btn, a.btn, button.btn, .cta, a.cta { border-radius:999px !important; }
form button[type="submit"] { border-radius:999px !important; }

/* ---------- Heros ---------- */
.hero { border-radius:0 0 30px 30px !important; }
.hero h1 { font-size:clamp(34px, 4.6vw, 50px) !important; line-height:1.15 !important; letter-spacing:-0.5px; }

/* ---------- Cartes douces ---------- */
.card, .adv-card, .tuile, .faq-item, .guide-card { border-radius:20px !important; }
.card, .adv-card { box-shadow:0 6px 24px rgba(0,60,45,.07) !important; }

/* ---------- Formulaires ---------- */
form input[type="text"], form input[type="email"], form input[type="tel"],
form input[type="number"], form input[type="password"], form select, form textarea {
  border-radius:12px !important; padding:12px 14px; font-size:16px;
}
form label { font-weight:600; }
form .ic-optional { display:none; }
form.ic-show-optional .ic-optional { display:block; }
.ic-more-btn {
  display:inline-block; margin:8px 0 14px 0; background:none; border:none;
  color:#005C46; font-weight:700; font-size:15px; cursor:pointer; padding:4px 0;
  text-decoration:underline;
}

/* ---------- FAQ cliquables ---------- */
details.faq-item { cursor:pointer; }
details.faq-item summary { list-style:none; font-weight:700; }
details.faq-item summary::-webkit-details-marker { display:none; }

/* ---------- Divers ---------- */
img { max-width:100%; }
section { scroll-margin-top:120px; }
footer a { text-decoration:none; }
footer a:hover { text-decoration:underline; }

/* v15 : titres equilibres, plus de signe orphelin */
h1, h2, h3 { text-wrap: balance; }

/* Formulaire enrichi v15 : types de propriete en boutons + bloc acheteur */
.ic-type-block{margin:16px 0 6px}
.ic-type-q{font-weight:700;font-size:16px;color:#005C46;margin:0 0 9px}
.ic-types{display:flex;flex-wrap:wrap;gap:8px}
.ic-types label{display:inline-flex;align-items:center;gap:7px;border:1.5px solid #d8e2db;border-radius:999px;padding:9px 15px;font-size:14px;font-weight:600;color:#22382f;cursor:pointer;background:#fbfdfc;margin:0}
.ic-types input{accent-color:#005C46;margin:0}
.ic-types label:has(input:checked){border-color:#005C46;background:#005C46;color:#fff}
.ic-types label:has(input:checked) input{accent-color:#FF641E}
.ic-buy{display:none;margin-top:12px}
form.ic-acheter .ic-buy{display:block}
.ic-buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media (max-width:640px){.ic-buy-grid{grid-template-columns:1fr}}

/* Menu mobile hamburger (v43, 15 oct. 2026) */
.menu-toggle{display:none}
@media (max-width:900px){
  .menu-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-left:auto;background:#fff;color:#005C46;border:2px solid #005C46;border-radius:12px;font-size:24px;line-height:1;cursor:pointer;flex:0 0 auto}
  header .header-inner, header .wrap.nav{flex-wrap:wrap !important;row-gap:8px}
  header nav, header .actions, header a.cta{display:none !important}
  header.menu-open nav{display:flex !important;flex-direction:column;align-items:stretch;flex-basis:100%;order:5;gap:2px;padding-top:8px;flex-wrap:nowrap}
  header.menu-open nav a{padding:12px 10px !important;border-radius:10px;font-size:16px !important;border-bottom:1px solid #F1E3CE;white-space:normal !important}
  header.menu-open .actions{display:flex !important;flex-direction:column;align-items:stretch;flex-basis:100%;order:6;gap:8px;padding:10px 0 6px;flex-wrap:nowrap}
  header.menu-open .actions .btn{width:100%;text-align:center;padding:14px 18px !important;white-space:normal}
  header.menu-open .actions .btn.cta{order:-1}
  header.menu-open a.cta{display:block !important;flex-basis:100%;order:6;text-align:center;padding:14px 18px !important;margin-top:8px}
  header .brand-logo, header .logo img{height:52px !important}
  header.menu-open .header-inner, header.menu-open .wrap.nav{height:auto !important;min-height:0 !important}
  header.menu-open .actions .btn.cta{display:block !important}
}
