:root{--vert:#1f3d36;--vert2:#2f6b5c;--accent:#1f6f5f;--fond:#f4f5f1;--carte:#fff;--texte:#222;--muet:#667;--ligne:#dde0da}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:16px/1.55 Georgia,"Times New Roman",serif}
a{color:var(--accent)}img{max-width:100%}
.haut{background:var(--vert);color:#fff}
.bandeau{max-width:1100px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.marque{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.marque img{width:64px;height:44px;object-fit:cover;border-radius:4px}
.marque b{display:block;font-size:19px}.marque small{display:block;font:12px/1.3 Arial,Helvetica,sans-serif;opacity:.8;letter-spacing:.04em}
nav{display:flex;gap:4px;flex-wrap:wrap;font:14px Arial,Helvetica,sans-serif}nav a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:6px;opacity:.85}nav a:hover{background:rgba(255,255,255,.1);opacity:1}nav a.on{background:rgba(255,255,255,.18);opacity:1}
main{max-width:1100px;margin:0 auto;padding:22px 18px 40px}
h1{font-size:30px;line-height:1.2;margin:0 0 12px;color:var(--vert)}h2{font-size:20px;margin:26px 0 10px;color:var(--vert)}h3{font-size:18px;margin:8px 0 6px}
.muet{color:var(--muet)}.fil{font:13px Arial,Helvetica,sans-serif;color:var(--muet);margin:0 0 6px}.fil a{color:var(--muet)}
.hero{position:relative;border-radius:10px;overflow:hidden;background:var(--vert);color:#fff;margin-bottom:22px}
.hero img{display:block;width:100%;max-height:420px;object-fit:cover;opacity:.92}
.hero-txt{padding:22px 26px;background:linear-gradient(180deg,rgba(31,61,54,.75),var(--vert));margin-top:-80px;position:relative}
.hero-txt h1{color:#fff;font-size:32px}.hero-txt p{max-width:760px;font-size:17px}
.cols{display:grid;grid-template-columns:2fr 1fr;gap:28px}@media(max-width:820px){.cols,.deux{grid-template-columns:1fr}}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:8px;padding:14px 18px;margin:0 0 12px}.carte small{font:12px Arial,Helvetica,sans-serif;color:var(--muet);text-transform:uppercase;letter-spacing:.06em}
.carte h3 a{color:var(--vert);text-decoration:none}.carte h3 a:hover{text-decoration:underline}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.tuile{display:block;background:var(--carte);border:1px solid var(--ligne);border-radius:8px;padding:16px 18px;text-decoration:none;color:inherit;transition:transform .1s}.tuile:hover{transform:translateY(-2px);border-color:var(--vert2)}
.tuile h3{margin:0 0 6px;color:var(--vert)}.tuile p{margin:0 0 8px;color:var(--muet);font-size:14.5px}.tuile small{font:12px Arial,Helvetica,sans-serif;color:var(--muet)}
.badge{font:11px Arial,Helvetica,sans-serif;background:var(--vert2);color:#fff;border-radius:10px;padding:2px 8px;vertical-align:middle}
.rdv{padding:10px 0;border-bottom:1px solid var(--ligne)}.rdv small{color:var(--muet)}
.rdv.grand{display:flex;gap:18px;align-items:flex-start;background:var(--carte);border:1px solid var(--ligne);border-radius:8px;padding:14px 18px;margin-bottom:10px}
.rdv .date{min-width:64px;text-align:center;background:var(--vert);color:#fff;border-radius:8px;padding:8px 4px;font-family:Arial,Helvetica,sans-serif}.rdv .date b{display:block;font-size:26px;line-height:1}.rdv .date span{font-size:10px;letter-spacing:.06em}
.rdv.grand h3{margin:2px 0 4px}
.lien{font:14px Arial,Helvetica,sans-serif}
.article{background:var(--carte);border:1px solid var(--ligne);border-radius:8px;padding:22px 28px;max-width:820px}.article .meta{font:13px Arial,Helvetica,sans-serif;color:var(--muet);margin:-6px 0 14px}.article .chapo{font-size:18px;color:#333}
.article p,.article ul{font-size:16.5px}.pieces li{margin:4px 0}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.form{background:var(--carte);border:1px solid var(--ligne);border-radius:8px;padding:16px 18px;font-family:Arial,Helvetica,sans-serif;font-size:14.5px}
.form h2{margin-top:0}.form label{display:block;margin:0 0 10px;font-size:13px;color:#444}.form label small{display:block;color:var(--muet);font-size:12px;margin-top:3px;text-transform:none;letter-spacing:0}
.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #c9ccc5;border-radius:6px;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.4;background:#fff;box-sizing:border-box;color:#222}.form textarea{resize:vertical;min-height:64px}.form input:disabled{background:#f1f2ee;color:#555}
.form label.case{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:#222;margin:14px 0}.form label.case input{margin-top:3px}
.form button{background:var(--vert);color:#fff;border:0;border-radius:6px;padding:10px 18px;font:15px Arial,Helvetica,sans-serif;cursor:pointer}.form button.second{background:#fff;color:var(--vert);border:1px solid var(--vert)}
.pdm{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.erreur{background:#fbe9e6;border:1px solid #e5b6ad;color:#8a2a1a;padding:8px 12px;border-radius:6px;font-family:Arial,Helvetica,sans-serif;font-size:14px}.ok{background:#e6f3ea;border:1px solid #b6d8c0;color:#1f5a30;padding:8px 12px;border-radius:6px;font-family:Arial,Helvetica,sans-serif;font-size:14px}
table.lots{width:100%;border-collapse:collapse;font:14px Arial,Helvetica,sans-serif}table.lots th,table.lots td{padding:7px 8px;border-bottom:1px solid var(--ligne);text-align:left}table.lots th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muet)}table.lots .num{text-align:right}table.lots tfoot td{border:0;padding-top:10px}
footer{background:var(--vert);color:#fff;font:13px/1.5 Arial,Helvetica,sans-serif;margin-top:30px}footer div{max-width:1100px;margin:0 auto;padding:18px;opacity:.85}
.illustration{margin:18px 0}.illustration img{display:block;max-width:100%;border:1px solid var(--ligne);border-radius:6px;background:#fff}.illustration figcaption{font:12.5px Arial,Helvetica,sans-serif;color:var(--muet);margin-top:4px}
nav a.cta{background:#fff;color:var(--vert);opacity:1;font-weight:bold;margin-left:6px}nav a.cta:hover{background:#e9efe9}
.bandeau-cs{background:#e6f3ea;border:1px solid #b6d8c0;border-radius:8px;padding:10px 14px;font-family:Arial,Helvetica,sans-serif;font-size:14px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.bandeau-cs .bouton{background:var(--vert);color:#fff;text-decoration:none;padding:8px 14px;border-radius:6px;white-space:nowrap}
/* ---- téléphones et petites tablettes ---- */
@media(max-width:700px){
  body{font-size:15.5px}
  .bandeau{padding:8px 12px;gap:8px}
  .marque img{width:48px;height:34px}.marque b{font-size:16px}.marque small{font-size:11px;letter-spacing:0}
  nav{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:2px -12px 0;padding:0 12px 4px}nav::-webkit-scrollbar{display:none}
  nav a{padding:7px 10px;font-size:13.5px;white-space:nowrap}nav a.cta{margin-left:2px}
  main{padding:14px 12px 30px}
  h1{font-size:24px}h2{font-size:18px;margin-top:20px}
  .hero{border-radius:8px;margin-bottom:16px}.hero img{max-height:200px}.hero-txt{margin-top:-40px;padding:14px 16px 16px}.hero-txt h1{font-size:23px;margin-bottom:8px}.hero-txt p{font-size:15px;margin:0}
  .cols{gap:10px}.carte{padding:12px 14px}.carte h3{font-size:16.5px}
  .grille{grid-template-columns:1fr;gap:10px}.tuile{padding:13px 14px}
  .article{padding:16px 16px;border-radius:6px}.article h1{font-size:22px}.article p,.article ul{font-size:15.5px}
  .rdv.grand{gap:12px;padding:12px 12px}.rdv .date{min-width:52px;padding:6px 2px}.rdv .date b{font-size:22px}
  .deux{gap:12px}.form{padding:14px}.form button{width:100%}
  table.lots{display:block;overflow-x:auto;white-space:nowrap}
  .bandeau-cs{flex-direction:column;align-items:stretch;text-align:center}.bandeau-cs .bouton{text-align:center}
  footer div{padding:14px 12px;font-size:12px}
}
@media(max-width:380px){.marque small{display:none}.hero-txt h1{font-size:21px}}
.cols>*,.deux>*{min-width:0}nav{min-width:0;max-width:100%}
@media(max-width:820px){.cols,.deux{grid-template-columns:minmax(0,1fr)}}

/* espace copropriétaire : commande de télécommande repliée */
details.commande{margin-top:14px}details.commande summary.bouton{display:inline-block;list-style:none;cursor:pointer;background:var(--vert);color:#fff;border-radius:6px;padding:10px 18px;font:15px Arial,Helvetica,sans-serif}details.commande summary.bouton::-webkit-details-marker{display:none}details.commande[open] summary.bouton{background:#fff;color:var(--vert);border:1px solid var(--vert)}details.commande .form{margin-top:10px}
.prix{background:#fff8e6;border:1px solid #ecd9a0;border-radius:6px;padding:9px 12px;font-family:Arial,Helvetica,sans-serif;font-size:14px;margin:0 0 10px}

/* ---- espace copropriétaire (v2.9) : en-tête, onglets sans JavaScript, actions rapides ---- */
.esp-tete{display:flex;align-items:center;gap:16px;margin:0 0 14px}.esp-tete h1{margin:0 0 2px;font-size:26px}.esp-tete p{margin:0;font:14px Arial,Helvetica,sans-serif}
.esp-avatar{width:54px;height:54px;border-radius:50%;background:var(--vert);color:#fff;display:flex;align-items:center;justify-content:center;font:bold 20px Arial,Helvetica,sans-serif;flex:none}
.esp-radio{position:absolute;left:-9999px;opacity:0}
.esp-onglets{display:flex;gap:4px;border-bottom:2px solid var(--ligne);margin:0 0 18px;font:14.5px Arial,Helvetica,sans-serif;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.esp-onglets::-webkit-scrollbar{display:none}
.esp-onglets label{padding:10px 14px;cursor:pointer;color:var(--muet);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:6px 6px 0 0}.esp-onglets label:hover{color:var(--vert);background:#eef1ec}
.esp-onglets .badge{background:#c0392b;margin-left:2px}
.esp-p{display:none}
#o-accueil:checked~.esp-panneaux #p-accueil,#o-proprietaire:checked~.esp-panneaux #p-proprietaire,#o-lots:checked~.esp-panneaux #p-lots,#o-coordonnees:checked~.esp-panneaux #p-coordonnees,#o-telecommande:checked~.esp-panneaux #p-telecommande,#o-contact:checked~.esp-panneaux #p-contact,#o-donnees:checked~.esp-panneaux #p-donnees{display:block}
#o-accueil:checked~.esp-onglets label[for=o-accueil],#o-proprietaire:checked~.esp-onglets label[for=o-proprietaire],#o-lots:checked~.esp-onglets label[for=o-lots],#o-coordonnees:checked~.esp-onglets label[for=o-coordonnees],#o-telecommande:checked~.esp-onglets label[for=o-telecommande],#o-contact:checked~.esp-onglets label[for=o-contact],#o-donnees:checked~.esp-onglets label[for=o-donnees]{color:var(--vert);border-bottom-color:var(--vert);font-weight:bold}
.esp-radio:focus-visible+*{outline:2px solid var(--accent)}
.esp-p h2:first-child{margin-top:4px}
.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 6px}
.action{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:var(--carte);border:1px solid var(--ligne);border-radius:10px;padding:14px 16px;cursor:pointer;font-family:Arial,Helvetica,sans-serif;transition:transform .1s,box-shadow .1s}
.action:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08);border-color:var(--vert2)}
.action .ico{grid-row:1/3;width:42px;height:42px;border-radius:10px;background:#e8efe9;color:var(--vert);display:flex;align-items:center;justify-content:center;font-size:22px}
.action b{color:var(--vert);font-size:15px}.action span:not(.ico){font-size:13px;color:var(--muet);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lienlabel{color:var(--accent);text-decoration:underline;cursor:pointer}
.esp .form .deux{gap:0 16px}
@media(max-width:700px){
  .esp-tete{gap:12px}.esp-tete h1{font-size:21px}.esp-avatar{width:44px;height:44px;font-size:17px}
  .esp-onglets{margin:0 -12px 14px;padding:0 12px;position:sticky;top:0;background:var(--fond);z-index:5}.esp-onglets label{padding:10px 11px;font-size:13.5px}
  .actions{grid-template-columns:1fr 1fr;gap:8px}.action{padding:11px 10px;grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:4px}.action .ico{grid-row:auto;width:36px;height:36px;font-size:19px}.action span:not(.ico){white-space:normal}
  .esp .form .deux{grid-template-columns:1fr}
}
