/* Popup Calendly — habillage « La Voix de Constance » V3 — Snazzy Digital Agency */

.offer-modal{position:fixed;inset:0;display:none;z-index:9999}
.offer-modal.active{display:block}

.offer-backdrop{
  position:absolute;inset:0;
  background:rgba(31,31,31,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  animation:vcOfferFade .45s cubic-bezier(.16,1,.3,1) both;
}

.offer-dialog{
  position:relative;
  margin:4vh auto;
  width:min(100% - 28px, 940px);
  height:min(92vh, 940px);
  background:#F7F4F1;
  color:#1F1F1F;
  border:1px solid rgba(94,59,43,.14);
  box-shadow:0 44px 110px -40px rgba(31,31,31,.55);
  display:flex;flex-direction:column;
  overflow:hidden;
  border-radius:0;
  animation:vcOfferIn .6s cubic-bezier(.16,1,.3,1) both;
}

@keyframes vcOfferFade{from{opacity:0}to{opacity:1}}
@keyframes vcOfferIn{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}

/* --- Bandeau titre --- */
.offer-head{
  position:relative;
  flex:0 0 auto;
  background:#5E3B2B;
  color:#F7F4F1;
  padding:26px clamp(22px,4vw,42px) 24px;
}
.offer-eyebrow{
  display:flex;align-items:center;gap:10px;
  font-family:'Manrope',sans-serif;
  font-size:9px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  color:#D8B7B1;margin-bottom:12px;
}
.offer-eyebrow i{display:block;width:26px;height:1px;background:#D8B7B1;flex:0 0 auto}
.offer-title{
  margin:0;
  font-family:'Playfair Display',serif;font-weight:500;
  font-size:clamp(24px,3.1vw,34px);line-height:1.15;letter-spacing:-.01em;
  color:#F7F4F1;
}
.offer-title em{font-style:italic;font-weight:400;color:#D8B7B1}
.offer-sub{
  margin:10px 0 0;
  font-family:'Manrope',sans-serif;
  font-size:13px;line-height:1.7;color:rgba(247,244,241,.62);
  max-width:52ch;text-wrap:pretty;
}

/* --- Bouton fermer --- */
.offer-close{
  position:absolute;top:14px;right:14px;z-index:10002;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(247,244,241,.32);
  border-radius:50%;
  background:transparent;color:#F7F4F1;
  cursor:pointer;padding:0;
  transition:background .35s ease,color .35s ease,transform .45s cubic-bezier(.16,1,.3,1),border-color .35s ease;
  -webkit-tap-highlight-color:transparent;
}
.offer-close:hover{background:#D8B7B1;border-color:#D8B7B1;color:#5E3B2B;transform:rotate(90deg)}
.offer-close:focus-visible{outline:2px solid #D8B7B1;outline-offset:3px}

/* --- Corps / widget --- */
.offer-body{position:relative;flex:1 1 auto;min-height:0;background:#F7F4F1}
#calendly-holder{position:absolute;inset:0}
#calendly-holder iframe{border:0!important}

.offer-loader{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;transition:opacity .5s ease;
}
.offer-modal.is-ready .offer-loader{opacity:0}
.offer-loader span{
  display:block;width:34px;height:34px;border-radius:50%;
  border:1.5px solid rgba(94,59,43,.16);border-top-color:#5E3B2B;
  animation:vcOfferSpin .9s linear infinite;
}
@keyframes vcOfferSpin{to{transform:rotate(360deg)}}

.offer-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  gap:8px;padding:30px;text-align:center;
  font-family:'Manrope',sans-serif;font-size:14px;color:#6F6A67;
}
.offer-fallback a{color:#5E3B2B;border-bottom:1px solid #D8B7B1}

/* --- Mobile plein écran --- */
@media (max-width:768px){
  .offer-dialog{width:100%;height:100svh;margin:0;border:none}
  .offer-head{padding:20px 20px 18px}
  .offer-title{font-size:22px}
  .offer-sub{display:none}
  .offer-close{top:10px;right:10px;width:40px;height:40px}
}

@media (prefers-reduced-motion:reduce){
  .offer-dialog,.offer-backdrop{animation:none}
  .offer-close:hover{transform:none}
  .offer-loader span{animation-duration:2s}
}

/* --- Curseur sur les déclencheurs --- */
.popup-offer,.popup-offer a,a.popup-offer,.btn-hello-badass{cursor:pointer}
