:root{
    --btn:#111827; --accent:#10b981; --text:#e5e7eb; --muted:#9ca3af; --ring:rgba(16,185,129,.45);
  }
  
  /* Floating button */
  .nahamta-fab{
    position:fixed;
    inset-inline-start:20px; /* LTR/RTL-safe */
    inset-block-end:20px;
    z-index:9999;
    display:inline-flex; align-items:center; gap:10px;
    padding:14px 16px; border-radius:999px;
    background:linear-gradient(135deg,#111827 0%,#0b1324 100%);
    color:#fff; border:1px solid rgba(255,255,255,.08);
    box-shadow:0 10px 25px rgba(0,0,0,.35);
    cursor:pointer; transition:all .25s ease;
    animation: nahamta-fab-pulse 2.2s ease-in-out infinite;
  }
  .nahamta-fab:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.45); }
  .nahamta-fab__label{ font-weight:600; letter-spacing:.1px; }
  
  @keyframes nahamta-fab-pulse{
    0%{ box-shadow:0 10px 25px rgba(0,0,0,.35), 0 0 0 0 rgba(16,185,129,0); transform:translateY(0); }
    50%{ box-shadow:0 12px 28px rgba(0,0,0,.45), 0 0 0 10px rgba(16,185,129,.25); transform:translateY(-1px); }
    100%{ box-shadow:0 10px 25px rgba(0,0,0,.35), 0 0 0 0 rgba(16,185,129,0); transform:translateY(0); }
  }
  .nahamta-fab:hover{ animation-play-state:paused; }
  
  @media (prefers-reduced-motion: reduce){
    .nahamta-fab{ animation:none !important; }
  }
  
  /* Backdrop + Dialog */
  .nahamta-modal{
    position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
    z-index:10000; visibility:hidden; opacity:0;
    transition:opacity .6s ease, visibility 0s linear .6s;
  }
  .nahamta-modal.is-open{ visibility:visible; opacity:1; transition:opacity .6s ease; }
  
  .nahamta-modal__backdrop{
    position:absolute; inset:0; background:rgba(3,8,20,.66); backdrop-filter:blur(4px);
    opacity:0; transition:opacity .6s ease; cursor:pointer;
  }
  .nahamta-modal.is-open .nahamta-modal__backdrop{ opacity:1; }
  
  .nahamta-modal__dialog{
    position:relative; pointer-events:none; display:flex; justify-content:center; padding:16px;
  }
  .nahamta-modal__panel{
    position:relative; pointer-events:auto; width:min(560px, 90%);
    background:linear-gradient(180deg, var(--e-global-color-accent, #0f1b34) 0%, #005d6c 100%);
    border:1px solid rgba(255,255,255,.08); border-radius:20px;
    box-shadow:0 30px 80px rgba(0,0,0,.55);
    opacity:0; transform:translateY(40px) scale(.96);
    transition:transform .55s cubic-bezier(.2,.7,.2,1), opacity .55s ease;
  }
  .nahamta-modal.is-open .nahamta-modal__panel{ opacity:1; transform:translateY(0) scale(1); }
  
  .nahamta-panel__header{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 20px; background:rgba(255,255,255,.02); border-bottom:1px solid rgba(255,255,255,.06);
  }
  .nahamta-panel__title{ margin:0; font-size:18px !important; color:#fff !important; }
  
  .nahamta-panel__body{ padding:16px; }
  .nahamta-panel__desc{ color:#fff; }
  
  .nahamta-contact-direct{
    margin:10px 0 16px; padding:10px 12px; border:1px dashed #fff; border-radius:12px;
    font-size:14px; color:#fff;
  }
  
  .nahamta-modal__panel label{ color:#fff; display:block; line-height:normal; margin-bottom:8px; }
  .nahamta-field{ width:100%; margin-bottom:16px; outline:none; }
  
  .nahamta-actions{ display:flex; justify-content:center; }
  .nahamta-btn-primary{ appearance:none; border:none; border-radius:12px; padding:10px 16px; background:#08ffad; color:#032; font-weight:700; cursor:pointer; }
  .nahamta-btn-primary:disabled{ opacity:.65; cursor:not-allowed; }
  
  .nahamta-btn-close{
    display:inline-flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:9px; background:transparent; color:#fff;
    border:1px solid rgba(255,255,255,.1); cursor:pointer; transition:background .2s ease, transform .12s ease;
  }
  .nahamta-btn-close:hover{ background:#fff !important; color:#000; }
  
  /* پیام‌ها */
  .nahamta-form-message{
    display:none; margin-bottom:10px; padding:10px 14px; border-radius:10px;
    font-size:14px; line-height:1.6; opacity:0; transition:opacity .3s ease;
  }
  .nahamta-form-message.success{ background:#fff; border:1px solid rgba(16,185,129,.35); color:#10b981; }
  .nahamta-form-message.error{ background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.35); color:#f87171; }
  
  .nahamta-field-error{
    color:#fff; font-size:13px; line-height:1.4; margin:-7px 0 16px;
    background:#ff000085; padding:8px; border-radius:5px;
  }
  
  @media (prefers-reduced-motion: reduce){
    .nahamta-modal, .nahamta-modal__backdrop, .nahamta-modal__panel{ transition:none !important; }
  }
  