/* =========================================================
   Fiche de propriete
   Les formulaires reprennent exactement l habillage des
   formulaires Elementor deja en place sur le site.
   ========================================================= */

.emma-propwrap{
  max-width:none!important;width:100%!important;padding:0!important;
  --nvp:#1B2A63;        /* navy des boutons du site */
  --inkp:#152033;
  --mutp:#5B6470;
  --lnp:rgba(14,23,36,.13);
  --bonep:#F6F7F9;
  --fldbd:#69727D;
  --ffform:"Plus Jakarta Sans",sans-serif;
}
.emma-propinner{max-width:1160px;margin:0 auto;padding:0 28px}

/* ---------- Entete ---------- */
.emma-prophead{background:#0E1724;color:#fff;padding:82px 0 58px;position:relative}
.emma-prophead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.07)}
.emma-proptitre{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(29px,3.4vw,46px);line-height:1.12;color:#fff;margin:0;max-width:19ch;letter-spacing:-.2px}
.emma-propadr{font-size:16px;color:rgba(240,246,252,.68);margin:16px 0 0}
.emma-propsep{margin:0 10px;opacity:.45}
.emma-propmeta{display:flex;align-items:baseline;justify-content:space-between;gap:32px;flex-wrap:wrap;margin:34px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.13)}
.emma-propprix{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(26px,2.6vw,36px);line-height:1;color:#fff;margin:0}
.emma-proprepere{font-size:14.5px;color:rgba(240,246,252,.6);margin:0;line-height:1.6;text-align:right;max-width:46ch}

/* ---------- Photo principale ---------- */
.emma-propgal{max-width:1160px;margin:34px auto 0;padding:0 28px}
.emma-propgal figure{margin:0;position:relative}
.emma-propgal-main a.emma-propvig{display:block;position:relative;overflow:hidden;border-radius:6px;cursor:zoom-in}
.emma-propgal-main img{width:100%;height:clamp(260px,46vw,560px);object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.emma-propgal-main a.emma-propvig:hover img{transform:scale(1.02)}

.emma-proptoutes{
  position:absolute;right:18px;bottom:18px;z-index:2;
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--ffform);font-size:13.5px;font-weight:600;letter-spacing:.2px;
  color:var(--inkp)!important;text-decoration:none;
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  padding:11px 16px;border-radius:5px;
  box-shadow:0 4px 18px rgba(8,14,24,.22);
  transition:background .25s,transform .25s,box-shadow .25s;
}
.emma-proptoutes:hover{background:#fff;transform:translateY(-1px);box-shadow:0 7px 24px rgba(8,14,24,.28)}
.emma-proptoutes svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:var(--nvp);stroke-width:1.7}
.emma-proptoutes span{font-size:12px;font-weight:600;color:#fff;background:var(--nvp);border-radius:20px;padding:2px 8px;line-height:1.5}

/* ---------- Corps ---------- */
.emma-propbody{padding:52px 0 72px}
.emma-propcols{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start}
.emma-propmain h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:23px;color:var(--inkp);margin:0 0 20px}

.emma-proptexte{margin:0 0 44px}
.emma-proptexte p{font-size:17px;line-height:1.72;color:var(--inkp);margin:0 0 17px}
.emma-proptexte p:last-child{margin-bottom:0}

.emma-propdet{margin:0 0 44px}
.emma-propdet dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 46px;border-top:1px solid var(--lnp)}
.emma-propdet dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid var(--lnp)}
.emma-propdet dt{font-size:14px;color:var(--mutp);margin:0;flex:0 0 auto}
.emma-propdet dd{font-size:14px;color:var(--inkp);margin:0;text-align:right;font-weight:500;flex:1 1 auto}
.emma-propcarac{font-size:14.5px;line-height:1.7;color:var(--mutp);margin:18px 0 0}

.emma-propphotos>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.emma-propphotos a{display:block;overflow:hidden;border-radius:5px;cursor:zoom-in;position:relative}
.emma-propphotos img{width:100%;height:170px;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.emma-propphotos a:hover img{transform:scale(1.05)}
.emma-propphotos a::after{content:"";position:absolute;inset:0;background:rgba(14,23,36,0);transition:background .3s}
.emma-propphotos a:hover::after{background:rgba(14,23,36,.12)}

/* ---------- Colonne de droite ---------- */
.emma-propside{position:sticky;top:96px}
.emma-propform-t{font-family:"DM Serif Display",Georgia,serif;font-size:21px;line-height:1.2;color:var(--inkp);margin:0 0 6px}
.emma-propform-p{font-size:14px;color:var(--mutp);margin:0 0 20px}

/* ---------- Bandeau du bas ---------- */
.emma-propbas{background:var(--bonep);padding:64px 0 72px;border-top:1px solid var(--lnp)}
.emma-propbas-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.emma-propbas-txt h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.2;color:var(--inkp);margin:0 0 16px;max-width:16ch}
.emma-propbas-txt p{font-size:16px;line-height:1.7;color:var(--mutp);margin:0 0 14px;max-width:44ch}
.emma-propbas-tel{font-size:15px;color:var(--mutp)}
.emma-propbas-tel a{color:var(--inkp);text-decoration:none;border-bottom:1px solid var(--lnp);font-weight:500}
.emma-propbas-tel a:hover,
.emma-propbas-tel a:focus{color:var(--inkp)!important;border-bottom-color:var(--inkp)}
/* La couleur de survol globale du kit est blanche, on la neutralise sur fond clair. */
.emma-proptexte a:hover,
.emma-proptexte a:focus,
.emma-propmain a:hover,
.emma-propmain a:focus{color:var(--nvp)!important}

/* =========================================================
   Formulaires MetForm, calques sur ceux du site
   ========================================================= */
.emma-mf-cache{display:none!important}
.emma-propform .mf-form-shortcode{margin:0}
.emma-propform .mf-form-wrapper,
.emma-propform .metform-form-main-wrapper{padding:0!important;background:none!important;box-shadow:none!important;border:0!important}

.emma-propform .mf-input-wrapper{margin:0 0 10px}

.emma-propform .mf-input-wrapper .mf-input-label{
  display:block!important;
  font-family:var(--ffform)!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:.4px!important;
  line-height:1.4!important;text-transform:none!important;
  color:var(--inkp)!important;
  margin:0!important;padding-bottom:7px!important;
}
.emma-propform .mf-input-required-indicator{color:var(--nvp)!important;font-size:12px!important;margin-left:2px!important}

.emma-propform .mf-input-wrapper input.mf-input,
.emma-propform .mf-input-wrapper textarea.mf-input,
.emma-propform .mf-input-wrapper select.mf-input{
  width:100%!important;
  font-family:var(--ffform)!important;font-size:15px!important;line-height:1.5!important;
  color:var(--inkp)!important;background:#fff!important;
  border:.8px solid var(--fldbd)!important;border-radius:6px!important;
  padding:6px 16px!important;height:47px!important;
  box-shadow:none!important;-webkit-appearance:none;
  transition:border-color .25s,box-shadow .25s;
}
.emma-propform .mf-input-wrapper select.mf-input{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%231B2A63' d='M4 6l4 4 4-4'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px 16px!important;
  padding-right:38px!important;cursor:pointer;
}
.emma-propform .mf-input-wrapper textarea.mf-input{height:104px!important;min-height:104px!important;padding-top:12px!important;resize:vertical}
.emma-propform .mf-input::placeholder{font-family:var(--ffform)!important;font-size:15px!important;color:var(--inkp)!important;opacity:.45}
.emma-propform .mf-input:focus{outline:none!important;border-color:var(--nvp)!important;box-shadow:0 0 0 3px rgba(27,42,99,.1)!important}

.emma-propform .metform-btn,
.emma-propform .metform-submit-btn,
.emma-propform button[type=submit]{
  display:block!important;width:100%!important;
  background:var(--nvp)!important;background-image:none!important;color:#fff!important;
  border:0!important;border-radius:6px!important;
  font-family:var(--ffform)!important;font-size:15px!important;font-weight:600!important;letter-spacing:.3px!important;
  text-transform:none!important;padding:15px 20px!important;
  box-shadow:none!important;cursor:pointer;transition:background .3s;
}
.emma-propform .metform-btn:hover,
.emma-propform .metform-submit-btn:hover,
.emma-propform button[type=submit]:hover{background:#152252!important}
.emma-propform .mf-btn-wraper,
.emma-propform .mf-btn-wrapper{margin-top:6px}

.emma-propform .mf-error-message,
.emma-propform .mf-validation-message{font-family:var(--ffform)!important;font-size:12.5px!important;color:#B4451F!important;margin-top:5px}
.emma-propform .mf-response-message,
.emma-propform .mf-success{font-family:var(--ffform)!important;font-size:14.5px!important;line-height:1.6;color:var(--inkp);background:#fff;border-left:2px solid var(--nvp);padding:14px 16px;margin-top:14px;border-radius:0 4px 4px 0}

/* Menu deroulant MetForm, rendu par react-select, aligne sur les champs du site. */
.emma-propform .mf-input-select{padding:0!important;border:0!important;height:auto!important;background:none!important}
.emma-propform .mf_select__control{
  min-height:47px!important;height:47px!important;
  border:.8px solid var(--fldbd)!important;border-radius:6px!important;
  background:#fff!important;box-shadow:none!important;cursor:pointer;
  transition:border-color .25s,box-shadow .25s;
}
.emma-propform .mf_select__control--is-focused{border-color:var(--nvp)!important;box-shadow:0 0 0 3px rgba(27,42,99,.1)!important}
.emma-propform .mf_select__value-container{padding:0 16px!important}
.emma-propform .mf_select__single-value,
.emma-propform .mf_select__placeholder{font-family:var(--ffform)!important;font-size:15px!important;font-weight:400!important;color:var(--inkp)!important;margin:0!important}
.emma-propform .mf_select__indicator-separator{display:none!important}
.emma-propform .mf_select__dropdown-indicator{color:var(--nvp)!important;padding:0 12px 0 0!important}
.emma-propform .mf_select__dropdown-indicator svg{width:20px;height:20px}
.emma-propform .mf_select__menu{font-family:var(--ffform)!important;font-size:14.5px!important;border-radius:6px!important;border:.8px solid var(--lnp)!important;box-shadow:0 10px 28px rgba(14,23,36,.14)!important;overflow:hidden;z-index:9}
.emma-propform .mf_select__option{cursor:pointer;color:var(--inkp)}
.emma-propform .mf_select__option--is-focused{background:rgba(27,42,99,.08)!important;color:var(--inkp)!important}
.emma-propform .mf_select__option--is-selected{background:var(--nvp)!important;color:#fff!important}

/* Le formulaire du bas est plus large, on met deux champs par ligne. */
@media(min-width:781px){
  .emma-propform-bas .elementor-element-mfcon001{display:grid!important;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
  .emma-propform-bas .elementor-element-mfmsg001,
  .emma-propform-bas .elementor-element-mfbtn001{grid-column:1/-1}
  .emma-propform-bas .mf-input-wrapper{margin-bottom:12px}
}

/* ---------- Adaptations ---------- */
@media(max-width:1024px){
  .emma-propcols{grid-template-columns:1fr;gap:48px}
  .emma-propside{position:static}
  .emma-propbas-cols{grid-template-columns:1fr;gap:36px}
  .emma-propdet dl{grid-template-columns:1fr}
}
@media(max-width:600px){
  .emma-propinner,.emma-propgal{padding:0 20px}
  .emma-prophead{padding:52px 0 38px}
  .emma-propmeta{flex-direction:column;gap:10px;margin-top:26px;padding-top:20px}
  .emma-proprepere{text-align:left}
  .emma-proptoutes{right:12px;bottom:12px;font-size:12.5px;padding:9px 13px}
  .emma-propphotos>div{grid-template-columns:repeat(2,1fr)}
  .emma-propphotos img{height:130px}
  .emma-propdet dl>div{flex-direction:column;gap:3px}
  .emma-propdet dd{text-align:left}
}

/* ---------- Visionneuse ---------- */
html.emma-lb-fige{overflow:hidden}
.emma-lb{
  position:fixed;inset:0;z-index:99999;display:none;
  background:rgba(8,13,22,.985);
  align-items:center;justify-content:center;
  opacity:0;transition:opacity .22s ease;
}
.emma-lb-ouvert{display:flex;opacity:1}
.emma-lb-barre{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;z-index:3}
.emma-lb-compteur{font-family:var(--ffform),sans-serif;font-size:13px;letter-spacing:.6px;color:rgba(255,255,255,.7)}
.emma-lb-fermer,.emma-lb-nav{
  background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;
  padding:10px!important;cursor:pointer;color:#fff!important;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%!important;transition:background .22s;
}
.emma-lb-fermer:hover,.emma-lb-nav:hover{background:rgba(255,255,255,.14)!important;color:#fff!important}
.emma-lb-fermer svg,.emma-lb-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.emma-lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;padding:14px!important}
.emma-lb-prec{left:16px}
.emma-lb-suiv{right:16px}
.emma-lb-scene{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:64px 76px 74px}
.emma-lb-img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:3px}
.emma-lb-legende{position:absolute;left:0;right:0;bottom:0;margin:0;padding:16px 24px 22px;text-align:center;font-family:var(--ffform),sans-serif;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72)}
@media(max-width:700px){
  .emma-lb-scene{padding:60px 12px 66px}
  .emma-lb-nav{padding:10px}
  .emma-lb-prec{left:4px}
  .emma-lb-suiv{right:4px}
}
