:root{--eq-field-icon:18px;--eq-pad-y:10px;--eq-pad-x:14px;--eq-btn-icon:26px;--eq-input-padding:12px;--eq-font-base:14px;--eq-font-label:13px;--eq-font-button:14px;--eq-font-submit:14px;--eq-color:#880038;--eq-width:380px;--eq-edge:20px;--eq-v-offset:50%;--eq-form-bg:#ffffff;--eq-input-bg:#ffffff;--eq-input-border:rgba(0,0,0,.18);--eq-text-color:#111111;--eq-label-color:rgba(0,0,0,.75);--eq-button-bg:var(--eq-color);--eq-button-text:#ffffff;--eq-submit-bg:var(--eq-color);--eq-submit-text:#ffffff;--eq-overlay-bg:rgba(0,0,0,.45);--eq-shadow-color:rgba(0,0,0,.18);}

.eqmblu-container{position:fixed;z-index:99999;font-family:inherit;}
.eqmblu-container.right{right:var(--eq-edge);}
.eqmblu-container.left{left:var(--eq-edge);}

/* Vertical position for the BUTTON */
.eqmblu-container.v-top{top:20%;}
.eqmblu-container.v-middle{top:50%;transform:translateY(-50%);}
.eqmblu-container.v-bottom{bottom:20%;top:auto;transform:none;}
.eqmblu-container.v-custom{top:var(--eq-v-offset);transform:translateY(-50%);}

.eqmblu-button{
  appearance:none;border:0;
  background:var(--eq-button-bg);
  color:var(--eq-button-text);
  padding:12px 16px;
  border-radius:999px;
  cursor:pointer;
  box-shadow:0 14px 40px rgba(0,0,0,.18);
  font-size:var(--eq-font-button);
  line-height:1;
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.eqmblu-btn-icon{width:22px;height:22px;object-fit:contain;display:block;}
.eqmblu-btn-text{white-space:nowrap;}

/* Rotate button vertically (text vertical by rotation, not writing-mode) */
.eqmblu-container.btn-vertical .eqmblu-button{
  transform: rotate(-90deg);
  transform-origin: center;
}

/* Overlay */
.eqmblu-overlay{
  position:fixed;inset:0;
  background:var(--eq-overlay-bg);
  backdrop-filter:saturate(120%) blur(2px);
  opacity:0;pointer-events:none;
  transition:opacity .22s ease;
}

/* Panel */
.eqmblu-panel{
  position:fixed;
  width:var(--eq-width);
  max-width:min(var(--eq-width), 92vw);
  background:var(--eq-form-bg);
  border-radius:14px;
  box-shadow:0 20px 60px var(--eq-shadow-color);
  padding:22px 20px 16px;
  opacity:0;pointer-events:none;
  transform:translateX(16px);
  transition:opacity .22s ease, transform .22s ease;
  max-height:90vh; overflow:auto;
}

/* panel horizontal */
.eqmblu-container.right .eqmblu-panel{right:var(--eq-edge);}
.eqmblu-container.left .eqmblu-panel{left:var(--eq-edge);transform:translateX(-16px);}

/* panel vertical alignment mirrors button */
.eqmblu-container.v-top .eqmblu-panel{top:12%;}
.eqmblu-container.v-middle .eqmblu-panel{top:50%;transform:translateY(-50%) translateX(16px);}
.eqmblu-container.left.v-middle .eqmblu-panel{transform:translateY(-50%) translateX(-16px);}
.eqmblu-container.v-bottom .eqmblu-panel{bottom:8%;top:auto;}
.eqmblu-container.v-custom .eqmblu-panel{top:var(--eq-v-offset);transform:translateY(-50%) translateX(16px);}
.eqmblu-container.left.v-custom .eqmblu-panel{top:var(--eq-v-offset);transform:translateY(-50%) translateX(-16px);}

/* open */
.eqmblu-container.is-open .eqmblu-overlay{opacity:1;pointer-events:auto;}
.eqmblu-container.is-open .eqmblu-panel{opacity:1;pointer-events:auto;transform:translateX(0);}
.eqmblu-container.is-open.left .eqmblu-panel{transform:translateX(0);}
.eqmblu-container.is-open.v-middle .eqmblu-panel{transform:translateY(-50%) translateX(0);}
.eqmblu-container.is-open.left.v-middle .eqmblu-panel{transform:translateY(-50%) translateX(0);}
.eqmblu-container.is-open.v-custom .eqmblu-panel{transform:translateY(-50%) translateX(0);}
.eqmblu-container.is-open.left.v-custom .eqmblu-panel{transform:translateY(-50%) translateX(0);}

.eqmblu-close{
  position:absolute;top:10px;right:12px;
  width:34px;height:34px;
  border:0;background:transparent;
  font-size:24px;line-height:24px;
  cursor:pointer;color:rgba(0,0,0,.55);
}
.eqmblu-close:hover{color:rgba(0,0,0,.85);}

/* Fields */
.eqmblu-field{margin:10px 0;}
.eqmblu-label{display:block;font-size:var(--eq-font-label);color:var(--eq-label-color);margin-bottom:6px;}
.eqmblu-req{color:var(--eq-color);}

.eqmblu-form input,.eqmblu-form textarea,.eqmblu-form select{
  width:100%;
  border:1px solid var(--eq-input-border);
  border-radius:10px;
  padding:var(--eq-pad-y) var(--eq-pad-x);
  font-size:var(--eq-font-base);
  outline:none;
  box-sizing:border-box;
  background:var(--eq-input-bg);
  color:var(--eq-text-color);
}
.eqmblu-form textarea{min-height:110px;resize:vertical;}

.eqmblu-rgpd{display:flex;gap:10px;align-items:flex-start;margin:12px 0 6px;font-size:calc(var(--eq-font-base) - 1px);color:rgba(0,0,0,.75);}
.eqmblu-rgpd input{margin-top:3px; flex:0 0 auto; }
.eqmblu-rgpd span{flex:1 1 auto; min-width:0; width:100%; display:block; white-space:normal; word-break:break-word;}

.eqmblu-submit{
  width:100%;
  border:0;
  border-radius:12px;
  padding:12px 14px;
  background:var(--eq-submit-bg);
  color:var(--eq-submit-text);
  cursor:pointer;
  font-weight:600;
  margin-top:10px;
}

.eqmblu-feedback{margin-top:10px;font-size:calc(var(--eq-font-base) - 1px);color:rgba(0,0,0,.8);}

/* scroll lock */
body.eqmblu-scrolllock{overflow:hidden !important;}

/* Responsive edge + panel width */
@media (max-width: 768px){
  .eqmblu-container.left{left:10px;}
  .eqmblu-container.right{right:10px;}
  .eqmblu-panel{width:min(92vw, var(--eq-width));}
}



/* Mobile tweaks (respect edge offset) */
@media (max-width: 480px){
  .eqmblu-panel{
    width:min(92vw, var(--eq-width));
  }
}


/* Field icon support */
.eqmblu-control{
  position:relative;
}
.eqmblu-control.eqmblu-field-with-icon input,
.eqmblu-control.eqmblu-field-with-icon select,
.eqmblu-control.eqmblu-field-with-icon textarea{
  padding-left:42px;
}


.eqmblu-button img{width:var(--eq-btn-icon)!important;height:var(--eq-btn-icon)!important;object-fit:contain;display:block;}

/* Force padding (Divi override safe) */
.eqmblu-panel .eqmblu-form input,
.eqmblu-panel .eqmblu-form textarea,
.eqmblu-panel .eqmblu-form select{padding:var(--eq-pad-y) var(--eq-pad-x)!important;box-sizing:border-box;}


/* Field icon sizing */
.eqmblu-control.eqmblu-field-with-icon .eqmblu-field-icon{width:var(--eq-field-icon)!important;height:var(--eq-field-icon)!important;}






/* ===== Field icons (per-field) ===== */
.eqmblu-control{ position:relative; }
.eqmblu-control.eqmblu-field-with-icon .eqmblu-field-icon{
  position:absolute;
  left:var(--eq-pad-x);
  top:50%;
  transform:translateY(-50%);
  width:var(--eq-field-icon);
  height:var(--eq-field-icon);
  object-fit:contain;
  opacity:.9;
  pointer-events:none;
}
.eqmblu-control.eqmblu-field-with-icon input,
.eqmblu-control.eqmblu-field-with-icon select,
.eqmblu-control.eqmblu-field-with-icon textarea{
  padding-left:calc(var(--eq-pad-x) + var(--eq-field-icon) + 14px) !important;
}



/* ===== RGPD: checkbox + texte sur toute la largeur (anti-Divi) ===== */
.eqmblu-panel label.eqmblu-rgpd{
  width:100% !important;
  display:grid !important;
  grid-template-columns: 22px 1fr;
  align-items:start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  margin: 10px 0 6px !important;
  text-align:left !important;
}
.eqmblu-panel label.eqmblu-rgpd input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  margin: 2px 0 0 0 !important;
  justify-self:start !important;
}
.eqmblu-panel label.eqmblu-rgpd span{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  line-height:1.35 !important;
}


.eqmblu-btn-iconwrap{display:inline-flex;align-items:center;justify-content:center;}
.eqmblu-btn-svg{width:22px;height:22px;display:block;fill:currentColor;}

.eqmblu-container.use-icon .eqmblu-btn-text{display:none;}
.eqmblu-container.use-text .eqmblu-btn-iconwrap{display:none;}

/* ===== Mobile button: icon only + top/bottom position ===== */
@media (max-width: 768px){
  .eqmblu-container.m-top{top:var(--eq-edge)!important;bottom:auto!important;transform:none!important;}
  .eqmblu-container.m-bottom{bottom:var(--eq-edge)!important;top:auto!important;transform:none!important;}
  /* On mobile, rotation is disabled for better edge alignment */
  .eqmblu-container.btn-vertical .eqmblu-button{transform:none!important;}
  /* Icon-only mode (mobile) */
  .eqmblu-container.micon .eqmblu-btn-text{display:none!important;}
  .eqmblu-container.micon .eqmblu-btn-iconwrap{display:inline-flex!important;}
  .eqmblu-container.micon .eqmblu-button{padding:12px!important;border-radius:999px!important;}
}


/* ===== Mobile options (strong override) ===== */
@media (max-width: 768px){
  /* Ensure we win against theme CSS */
  .eqmblu-container{
    position: fixed !important;
    z-index: 999999 !important;
    --eq-edge: var(--eq-m-edge);
  }
  .eqmblu-container.right{ right: var(--eq-edge) !important; left: auto !important; }
  .eqmblu-container.left{ left: var(--eq-edge) !important; right: auto !important; }

  .eqmblu-container.m-top{ top:var(--eq-edge)!important; bottom:auto!important; transform:none!important; }
  .eqmblu-container.m-bottom{ bottom:var(--eq-edge)!important; top:auto!important; transform:none!important; }
  .eqmblu-container.m-middle{ top:50%!important; bottom:auto!important; transform:translateY(-50%)!important; }

  /* Base mobile sizing */
  .eqmblu-container .eqmblu-button{
    box-sizing: border-box !important;
    font-size: var(--eq-m-font)!important;
    line-height: 1 !important;
    min-width: unset !important;
    min-height: unset !important;
  }

  /* Icon sizing */
  .eqmblu-container .eqmblu-btn-iconwrap img,
  .eqmblu-container .eqmblu-btn-svg{
    width: var(--eq-m-icon)!important;
    height: var(--eq-m-icon)!important;
  }

  /* Icon-only button (recommended on mobile edge) */
  .eqmblu-container.micon .eqmblu-btn-text{ display:none!important; }
  .eqmblu-container.micon .eqmblu-btn-iconwrap{ display:inline-flex!important; }
  .eqmblu-container.micon .eqmblu-button{
    width: var(--eq-m-btn)!important;
    height: var(--eq-m-btn)!important;
    padding: 0!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* Text button mode on mobile */
  .eqmblu-container:not(.micon) .eqmblu-button{
    padding: 10px 14px !important;
    border-radius: 999px !important;
  }

  /* Vertical text on mobile (opt-in) */
  .eqmblu-container.btn-vertical .eqmblu-button{ transform:none!important; } /* default: no rotation */
  .eqmblu-container.mvert.btn-vertical:not(.micon) .eqmblu-button{
    transform: rotate(-90deg)!important;
    transform-origin:center!important;
    padding: 10px 14px !important;
  }
}




/* Responsive mobile overrides are applied via JS to avoid theme conflicts (Divi or any theme). */
