/* Page offers. Toute nouvelle règle doit être préfixée par body[data-page="offers"] pour rester isolée. */
body[data-page="offers"] .of-map-fallback{
  display:grid;
  min-height:100%;
  place-items:center;
  padding:2rem;
  color:var(--grey);
  text-align:center;
}

/* Styles hérités de la page 1.0. À consolider dans ce bloc uniquement. */
/* filtres */
.of-tabs{display:flex;gap:.7rem;margin:2.4rem 0 0;flex-wrap:wrap}
.of-tab{border:1px solid var(--line);background:transparent;color:var(--grey);font-family:var(--text);font-size:.9rem;font-weight:600;padding:.65rem 1.4rem;border-radius:30px;cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.of-tab.active,.of-tab:hover{color:#000;background:var(--gold);border-color:var(--gold)}

/* cartes offres */
.of-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.6rem}
.of-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card);display:flex;flex-direction:column;transition:border-color .4s,transform .5s var(--ease)}
.of-card:hover{border-color:rgba(255,213,98,.35);transform:translateY(-4px)}
.of-pic{position:relative;aspect-ratio:16/10;overflow:hidden}
.of-pic img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.of-card:hover .of-pic img{transform:scale(1.06)}
.of-badge{position:absolute;top:.9rem;left:.9rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);padding:.32rem .8rem;border-radius:30px}
.of-badge.dispo{background:rgba(57,217,138,.16);border-color:rgba(57,217,138,.4);color:#39d98a}
.of-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.of-type{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}
.of-body h3{font-size:1.25rem;font-weight:700}
.of-city{color:var(--grey);font-size:.88rem}
.of-specs{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.6rem;padding-top:.9rem;border-top:1px solid var(--line);font-size:.86rem;color:var(--grey)}
.of-specs b{color:#fff;font-weight:600}
.of-price{margin-top:.8rem;font-family:var(--display);color:var(--gold);font-size:1.05rem;font-weight:600}
.of-cta{margin-top:1rem}
@media(max-width:960px){.of-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.of-grid{grid-template-columns:1fr}}

/* carte */
#ofmap{height:480px;border-radius:22px;overflow:hidden;border:1px solid var(--line);margin-top:3rem;filter:saturate(.9)}
.of-pin{width:30px;height:30px;border-radius:50%;background:rgba(8,8,10,.85);border:1.5px solid var(--gold);color:var(--gold);font-family:var(--display);font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center}

/* encart recherche */
.seek{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start;border:1px solid var(--line);border-radius:26px;padding:clamp(2rem,5vw,4rem);background:linear-gradient(140deg,rgba(255,213,98,.07),rgba(15,15,18,.6) 55%);position:relative;overflow:hidden}
.seek h2{font-size:clamp(1.9rem,4.5vw,3.2rem);letter-spacing:-.03em;margin-bottom:1rem}
.seek p{color:var(--grey);font-weight:300;max-width:44ch}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2)}
.form input,.form select,.form textarea{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;color:#fff;font-family:var(--text);font-size:.95rem;padding:.85rem 1rem;outline:none;transition:border-color .3s;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--gold)}
.form select option{background:#111}
.form .full{grid-column:1/-1}
.form textarea{min-height:110px;resize:vertical}
.form-ok{grid-column:1/-1;color:#39d98a;font-size:.9rem;display:none}
@media(max-width:880px){.seek{grid-template-columns:1fr}.form{grid-template-columns:1fr}}
.form-privacy{margin:.1rem 0 0;color:#a9a9b2;font-size:.72rem;line-height:1.6;letter-spacing:0;text-transform:none}
