/* ZZ Translate — frontend UI (popup / mobile / loading) */

/* ---------- Widget trigger ---------- */
.zzt-widget{
  position:relative!important;
  display:inline-block!important;
  z-index:99990!important;
  vertical-align:middle;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  pointer-events:auto!important;
  isolation:isolate;
  max-width:100%;
}
.zzt-trigger,
button.zzt-trigger,
.zzt-shortcode-trigger{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:7px 12px 7px 10px!important;
  min-height:38px;
  border:1px solid rgba(15,23,42,.12)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0f172a!important;
  cursor:pointer!important;
  font-weight:700!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  box-shadow:0 1px 2px rgba(15,23,42,.06),0 4px 14px rgba(15,23,42,.08)!important;
  transition:background .15s ease,box-shadow .15s ease,transform .12s ease,border-color .15s ease;
  pointer-events:auto!important;
  position:relative!important;
  z-index:2!important;
  -webkit-user-select:none;
  user-select:none;
  touch-action:manipulation;
  appearance:none;
  -webkit-appearance:none;
}
.zzt-trigger:hover{
  background:#f8fafc!important;
  border-color:rgba(15,23,42,.18)!important;
  box-shadow:0 2px 6px rgba(15,23,42,.1),0 8px 20px rgba(15,23,42,.1)!important;
}
.zzt-trigger:focus-visible{
  outline:2px solid #2563eb;
  outline-offset:2px;
}
.zzt-trigger-label,.zzt-trigger-code{
  color:#0f172a!important;
  font-weight:700!important;
  font-size:13.5px!important;
  opacity:1!important;
  visibility:visible!important;
}
.zzt-chevron{
  opacity:.45;
  font-size:10px;
  color:#0f172a!important;
  margin-left:1px;
}
.zzt-loading .zzt-trigger{
  opacity:.7;
}
.zzt-widget[data-display-mode="flag"] .zzt-trigger-label,
.zzt-widget[data-display-mode="flag"] .zzt-trigger-code,
.zzt-widget[data-display-mode="code"] .zzt-trigger-label,
.zzt-widget[data-display-mode="flag_code"] .zzt-trigger-label{display:none!important}
.zzt-widget[data-display-mode="native"] .zzt-trigger-code,
.zzt-widget[data-display-mode="name"] .zzt-trigger-code,
.zzt-widget[data-display-mode="flag_native"] .zzt-trigger-code,
.zzt-widget[data-display-mode="flag_name"] .zzt-trigger-code{display:none!important}

/* ---------- Flags (CSS, no external images) ---------- */
.zzt-trigger-flag,.zzt-item-flag,.zzt-summary-flag{
  display:inline-block;
  width:22px;
  height:15px;
  flex:0 0 22px;
  border-radius:3px;
  border:1px solid rgba(0,0,0,.14);
  font-size:0!important;
  line-height:1;
  background:#e8ebef center/100% 100% no-repeat;
  box-shadow:0 1px 2px rgba(0,0,0,.1);
  overflow:hidden;
}
.zzt-trigger-flag:after,.zzt-item-flag:after,.zzt-summary-flag:after{
  pointer-events:none;
  content:attr(data-lang);
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  color:#3d4a5c;
  font:700 8px/1 Arial,sans-serif;
  text-transform:uppercase;
}
.zzt-trigger-flag[data-lang]:after,
.zzt-item-flag[data-lang]:after,
.zzt-summary-flag[data-lang]:after{display:none}
.zzt-trigger-flag[data-lang="tr"],.zzt-item-flag[data-lang="tr"],.zzt-summary-flag[data-lang="tr"]{background-color:#e30a17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23e30a17'/%3E%3Ccircle cx='12' cy='10' r='5.3' fill='white'/%3E%3Ccircle cx='13.7' cy='10' r='4.25' fill='%23e30a17'/%3E%3Cpath fill='white' d='m19.4 10 2.9.94-1.8-2.47v3.06l1.8-2.47z'/%3E%3C/svg%3E")}
.zzt-trigger-flag[data-lang="en"],.zzt-item-flag[data-lang="en"],.zzt-summary-flag[data-lang="en"]{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 20'%3E%3Cpath stroke='%23b22234' stroke-width='3.08' stroke-dasharray='3.08' d='M0 1.54h38M0 7.69h38M0 13.85h38M0 20h38'/%3E%3Cpath fill='%233c3b6e' d='M0 0h15.2v10.77H0z'/%3E%3Cg fill='white'%3E%3Ccircle cx='2' cy='2' r='.65'/%3E%3Ccircle cx='5' cy='2' r='.65'/%3E%3Ccircle cx='8' cy='2' r='.65'/%3E%3Ccircle cx='11' cy='2' r='.65'/%3E%3Ccircle cx='14' cy='2' r='.65'/%3E%3Ccircle cx='3.5' cy='4.7' r='.65'/%3E%3Ccircle cx='6.5' cy='4.7' r='.65'/%3E%3Ccircle cx='9.5' cy='4.7' r='.65'/%3E%3Ccircle cx='12.5' cy='4.7' r='.65'/%3E%3Ccircle cx='2' cy='7.5' r='.65'/%3E%3Ccircle cx='5' cy='7.5' r='.65'/%3E%3Ccircle cx='8' cy='7.5' r='.65'/%3E%3Ccircle cx='11' cy='7.5' r='.65'/%3E%3Ccircle cx='14' cy='7.5' r='.65'/%3E%3C/g%3E%3C/svg%3E")}
.zzt-trigger-flag[data-lang="de"],.zzt-item-flag[data-lang="de"],.zzt-summary-flag[data-lang="de"]{background-image:linear-gradient(#111 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66%)}
.zzt-trigger-flag[data-lang="es"],.zzt-item-flag[data-lang="es"],.zzt-summary-flag[data-lang="es"]{background-image:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}
.zzt-trigger-flag[data-lang="it"],.zzt-item-flag[data-lang="it"],.zzt-summary-flag[data-lang="it"]{background-image:linear-gradient(90deg,#009246 0 33.33%,#fff 33.33% 66.66%,#ce2b37 66.66%)}
.zzt-trigger-flag[data-lang="ru"],.zzt-item-flag[data-lang="ru"],.zzt-summary-flag[data-lang="ru"]{background-image:linear-gradient(#fff 0 33.33%,#0039a6 33.33% 66.66%,#d52b1e 66.66%)}
.zzt-trigger-flag[data-lang="zh"],.zzt-item-flag[data-lang="zh"],.zzt-summary-flag[data-lang="zh"]{background-image:radial-gradient(circle at 24% 28%,#ffde00 0 8%,transparent 9%);background-color:#de2910}
.zzt-trigger-flag[data-lang="fr"],.zzt-item-flag[data-lang="fr"],.zzt-summary-flag[data-lang="fr"]{background-image:linear-gradient(90deg,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66%)}
.zzt-trigger-flag[data-lang="nl"],.zzt-item-flag[data-lang="nl"],.zzt-summary-flag[data-lang="nl"]{background-image:linear-gradient(#ae1c28 0 33.33%,#fff 33.33% 66.66%,#21468b 66.66%)}
.zzt-trigger-flag[data-lang="pl"],.zzt-item-flag[data-lang="pl"],.zzt-summary-flag[data-lang="pl"]{background-image:linear-gradient(#fff 0 50%,#dc143c 50%)}
.zzt-trigger-flag[data-lang="pt"],.zzt-item-flag[data-lang="pt"],.zzt-summary-flag[data-lang="pt"]{background-image:linear-gradient(90deg,#046a38 0 40%,#da291c 40%)}
.zzt-trigger-flag[data-lang="ro"],.zzt-item-flag[data-lang="ro"],.zzt-summary-flag[data-lang="ro"]{background-image:linear-gradient(90deg,#002b7f 0 33.33%,#fcd116 33.33% 66.66%,#ce1126 66.66%)}
.zzt-trigger-flag[data-lang="hu"],.zzt-item-flag[data-lang="hu"],.zzt-summary-flag[data-lang="hu"]{background-image:linear-gradient(#ce2939 0 33.33%,#fff 33.33% 66.66%,#477050 66.66%)}
.zzt-trigger-flag[data-lang="id"],.zzt-item-flag[data-lang="id"],.zzt-summary-flag[data-lang="id"]{background-image:linear-gradient(#e70011 0 50%,#fff 50%)}
.zzt-trigger-flag[data-lang="uk"],.zzt-item-flag[data-lang="uk"],.zzt-summary-flag[data-lang="uk"]{background-image:linear-gradient(#0057b7 0 50%,#ffd700 50%)}
.zzt-trigger-flag[data-lang="sv"],.zzt-item-flag[data-lang="sv"],.zzt-summary-flag[data-lang="sv"]{background-image:linear-gradient(90deg,transparent 0 30%,#fecc00 30% 42%,transparent 42%),linear-gradient(transparent 0 42%,#fecc00 42% 58%,transparent 58%);background-color:#006aa7}
.zzt-trigger-flag[data-lang="ja"],.zzt-item-flag[data-lang="ja"],.zzt-summary-flag[data-lang="ja"]{background-image:radial-gradient(circle,#bc002d 0 28%,transparent 30%);background-color:#fff}
.zzt-trigger-flag[data-lang="ko"],.zzt-item-flag[data-lang="ko"],.zzt-summary-flag[data-lang="ko"]{background-image:radial-gradient(circle at 50% 43%,#cd2e3a 0 20%,transparent 21%),radial-gradient(circle at 50% 57%,#0047a0 0 20%,transparent 21%);background-color:#fff}
.zzt-trigger-flag[data-lang="vi"],.zzt-item-flag[data-lang="vi"],.zzt-summary-flag[data-lang="vi"]{background-image:radial-gradient(circle at 50% 50%,#ff0 0 12%,transparent 13%);background-color:#da251d}
.zzt-trigger-flag[data-lang="hi"],.zzt-item-flag[data-lang="hi"],.zzt-summary-flag[data-lang="hi"]{background-image:radial-gradient(circle at 50% 50%,#06038d 0 7%,transparent 8%),linear-gradient(#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66%)}
.zzt-trigger-flag[data-lang="ar"],.zzt-item-flag[data-lang="ar"],.zzt-summary-flag[data-lang="ar"]{background-image:linear-gradient(90deg,transparent 20%,rgba(255,255,255,.95) 20% 80%,transparent 80%);background-color:#006c35}
.zzt-trigger-flag[data-lang="fa"],.zzt-item-flag[data-lang="fa"],.zzt-summary-flag[data-lang="fa"]{background-image:linear-gradient(#239f40 0 33.33%,#fff 33.33% 66.66%,#da0000 66.66%)}
.zzt-trigger-flag[data-lang="el"],.zzt-item-flag[data-lang="el"],.zzt-summary-flag[data-lang="el"]{background-image:repeating-linear-gradient(#0d5eaf 0 11.11%,#fff 11.11% 22.22%)}
.zzt-trigger-flag[data-lang="cs"],.zzt-item-flag[data-lang="cs"],.zzt-summary-flag[data-lang="cs"]{background-image:linear-gradient(150deg,#11457e 0 35%,transparent 36%),linear-gradient(#fff 0 50%,#d7141a 50%)}

/* ---------- Modal shell ---------- */
.zzt-modal{
  position:fixed!important;
  inset:0!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  z-index:2147483000!important;
  display:none!important;
  align-items:flex-end;
  justify-content:center;
  padding:0;
  margin:0!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  transform:none!important;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  pointer-events:none;
}
.zzt-modal.open{
  display:flex!important;
  pointer-events:auto!important;
  visibility:visible!important;
  opacity:1!important;
}
body.zzt-modal-open{
  overflow:hidden!important;
}
body.zzt-modal-open .zzt-modal.open{
  display:flex!important;
}
/* Modal is portaled to body — never clip */
.zzt-widget .zzt-modal{ /* before portal */ }
.zzt-modal-backdrop{
  position:absolute;
  inset:0;
  pointer-events:auto;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  animation:zztFadeIn .18s ease;
}
.zzt-card-dialog,
.zzt-compact-dialog{
  position:relative;
  z-index:1;
  width:100%;
  max-width:420px;
  max-height:min(88vh,620px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px 20px 0 0;
  box-shadow:0 -8px 40px rgba(15,23,42,.18);
  color:#0f172a;
  animation:zztSheetUp .22s cubic-bezier(.2,.8,.2,1);
}
.zzt-modal-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:34px;
  height:34px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:10px;
  background:#f8fafc;
  color:#64748b;
  cursor:pointer;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0!important;
  margin:0;
  box-shadow:none;
  min-height:34px;
  min-width:34px;
  transition:background .15s,color .15s,border-color .15s;
}
.zzt-modal-close svg{display:block;flex-shrink:0}
.zzt-modal-close:hover{
  background:#fee2e2;
  border-color:#fecaca;
  color:#b91c1c;
}
.zzt-modal-close:focus-visible{
  outline:2px solid #2563eb;
  outline-offset:2px;
}

/* Header */
.zzt-modal-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px 52px 14px 18px;
  border-bottom:1px solid #eef2f7;
  flex:0 0 auto;
}
.zzt-modal-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#eff6ff,#dbeafe);
  border:1px solid #bfdbfe;
  color:#2563eb;
}
.zzt-browser-translate-icon{display:block;width:24px;height:24px}
.zzt-modal-head h3{
  margin:0;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.01em;
  color:#0f172a;
}
.zzt-modal-head p{
  margin:4px 0 0;
  font-size:12.5px;
  line-height:1.35;
  color:#64748b;
}

/* Sections */
.zzt-modal-section{
  padding:12px 16px 2px;
  flex:0 0 auto;
}
.zzt-modal-section>strong{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#64748b;
  margin:0 0 8px;
}

/* Horizontal scroll chips */
.zzt-scroll-x{
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 10px;
  scrollbar-width:thin;
  scrollbar-color:#cbd5e1 transparent;
}
.zzt-scroll-x::-webkit-scrollbar{height:4px}
.zzt-scroll-x::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.zzt-engine-pill,
.zzt-modal-lang{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:12.5px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s;
}
.zzt-modal-lang{border-radius:12px}
.zzt-engine-pill:hover,
.zzt-modal-lang:hover{
  border-color:#cbd5e1;
  background:#f8fafc;
}
.zzt-engine-pill:active,
.zzt-modal-lang:active{transform:scale(.98)}
.zzt-engine-pill.zzt-engine-icon-only{
  min-width:40px;
  width:40px;
  height:40px;
  padding:0;
  justify-content:center;
  border-radius:12px;
}
.zzt-engine-pill.zzt-engine-icon-only .zzt-engine-pill-icon{
  font-size:14px;
  font-weight:800;
}
.zzt-engine-pill.is-active,
.zzt-modal-lang.is-active{
  background:#0f172a;
  border-color:#0f172a;
  color:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.2);
}
.zzt-modal-lang .zzt-item-code{
  font-size:11px;
  opacity:.85;
  letter-spacing:.04em;
}
.zzt-modal-lang .zzt-item-name{font-size:12.5px}
.zzt-modal[data-display-mode="flag"] .zzt-item-code,
.zzt-modal[data-display-mode="flag"] .zzt-item-name,
.zzt-modal[data-display-mode="code"] .zzt-item-name,
.zzt-modal[data-display-mode="flag_code"] .zzt-item-name{display:none!important}
.zzt-modal[data-display-mode="native"] .zzt-item-code,
.zzt-modal[data-display-mode="name"] .zzt-item-code,
.zzt-modal[data-display-mode="flag_native"] .zzt-item-code,
.zzt-modal[data-display-mode="flag_name"] .zzt-item-code{display:none!important}

/* Browser help */
.zzt-browser-help-wrap{padding:6px 16px 2px}
.zzt-browser-help{
  width:100%;
  min-height:36px;
  display:flex!important;
  align-items:center;
  gap:8px;
  padding:7px 10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  text-align:left;
  cursor:pointer;
  box-shadow:none!important;
  transition:background .15s,border-color .15s;
}
.zzt-browser-help:hover{
  background:#f1f5f9!important;
  border-color:#cbd5e1!important;
}
.zzt-browser-help-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:grid;
  place-items:center;
  color:#2563eb;
}
.zzt-browser-help-icon svg{width:18px;height:18px;display:block}
.zzt-browser-help-copy{
  display:flex;
  min-width:0;
  flex:1;
  align-items:center;
  gap:6px;
}
.zzt-browser-help-copy strong{
  font-size:12px;
  color:#0f172a;
  white-space:nowrap;
}
.zzt-browser-help-copy small{
  font-size:10px;
  line-height:1.2;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.zzt-browser-help-arrow{
  font-size:16px;
  line-height:1;
  color:#94a3b8;
  transition:transform .15s;
}
.zzt-browser-help[aria-expanded="true"] .zzt-browser-help-arrow{transform:rotate(90deg)}
.zzt-browser-help-note{
  position:relative;
  margin:6px 0 0;
  padding:8px 10px 8px 28px;
  min-height:28px;
  box-sizing:border-box;
  border:1px solid #fde68a;
  border-radius:10px;
  background:#fffbeb;
  color:#92400e;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}
.zzt-browser-help-note:before{
  content:'i';
  position:absolute;
  left:9px;
  top:9px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#f59e0b;
  color:#fff;
  font:700 10px/14px Arial,sans-serif;
  text-align:center;
}
.zzt-browser-help-note[hidden]{display:none!important}

/* Footer */
.zzt-compact-footer{
  margin-top:auto;
  padding:12px 14px 16px;
  border-top:1px solid #eef2f7;
  background:#fafbfc;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.zzt-selected-summary{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  flex:1;
}
.zzt-summary-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.zzt-summary-name{
  font-size:13px;
  font-weight:800;
  color:#0f172a;
  max-width:130px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.zzt-summary-code{
  font-size:11px;
  color:#64748b;
  letter-spacing:.04em;
}
.zzt-modal-status{
  font-size:12px;
  color:#64748b;
  white-space:nowrap;
}
.zzt-apply-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:42px;
  padding:0 16px;
  border:none;
  border-radius:12px;
  background:linear-gradient(180deg,#3b82f6,#2563eb);
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(37,99,235,.35);
  transition:filter .15s,transform .1s,box-shadow .15s;
}
.zzt-apply-cta:hover{
  filter:brightness(1.05);
  box-shadow:0 6px 18px rgba(37,99,235,.4);
}
.zzt-apply-cta:active{transform:scale(.98)}
.zzt-apply-cta:focus-visible{
  outline:2px solid #93c5fd;
  outline-offset:2px;
}
.zzt-widget.zzt-loading .zzt-apply-cta{
  opacity:.7;
  pointer-events:none;
}

/* ---------- Desktop: centered card ---------- */
@media (min-width:640px){
  .zzt-modal{
    align-items:center;
    padding:16px;
  }
  .zzt-card-dialog,
  .zzt-compact-dialog{
    border-radius:18px;
    max-width:400px;
    box-shadow:0 24px 60px rgba(15,23,42,.22);
    animation:zztPopIn .2s cubic-bezier(.2,.8,.2,1);
  }
}

/* ---------- Small phones ---------- */
@media (max-width:420px){
  .zzt-browser-help-copy small{display:none}
  .zzt-browser-help{min-height:34px}
  .zzt-browser-help-wrap{padding-left:12px;padding-right:12px}
  .zzt-modal-section{padding-left:12px;padding-right:12px}
  .zzt-compact-footer{padding-left:12px;padding-right:12px}
  .zzt-summary-name{max-width:90px}
  .zzt-apply-cta{padding:0 14px;height:40px;font-size:13.5px}
}

/* Safe area for notched phones */
@supports (padding-bottom:env(safe-area-inset-bottom)){
  .zzt-compact-footer{
    padding-bottom:calc(14px + env(safe-area-inset-bottom));
  }
}

/* ---------- Error toast ---------- */
.zzt-error{
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  z-index:2147483647;
  max-width:min(92vw,420px);
  background:#7f1d1d;
  color:#fff;
  padding:12px 16px;
  border-radius:12px;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  box-shadow:0 10px 30px rgba(127,29,29,.35);
  animation:zztToastIn .2s ease;
}

/* ---------- Page preparing / loading ---------- */
.zzt-page-preparing{
  position:fixed;
  left:16px;
  bottom:16px;
  display:block;
  z-index:2147483646;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
  transform:translateY(6px);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Arial,sans-serif;
}
.zzt-page-preparing.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.zzt-preparing-box{
  min-width:0;
  padding:10px 14px 10px 12px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.28);
  font-weight:700;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.08);
}
.zzt-preparing-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  flex:0 0 22px;
  border:2px solid rgba(255,255,255,.25);
  border-top-color:#60a5fa;
  animation:zztSpin .7s linear infinite;
  font-size:0;
  color:transparent;
}
.zzt-preparing-copy{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
}
.zzt-preparing-label{
  font-size:11px;
  font-weight:600;
  color:rgba(255,255,255,.7);
  letter-spacing:.02em;
}
.zzt-preparing-text{
  font-size:13.5px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.2;
}

@media (max-width:420px){
  .zzt-page-preparing{
    left:12px;
    right:12px;
    bottom:12px;
  }
  .zzt-preparing-box{width:100%;justify-content:flex-start}
}

@supports (padding-bottom:env(safe-area-inset-bottom)){
  .zzt-page-preparing{
    bottom:calc(16px + env(safe-area-inset-bottom));
  }
}

/* ---------- Animations ---------- */
@keyframes zztSpin{to{transform:rotate(360deg)}}
@keyframes zztFadeIn{from{opacity:0}to{opacity:1}}
@keyframes zztSheetUp{
  from{transform:translateY(24px);opacity:.6}
  to{transform:translateY(0);opacity:1}
}
@keyframes zztPopIn{
  from{transform:scale(.96) translateY(8px);opacity:0}
  to{transform:scale(1) translateY(0);opacity:1}
}
@keyframes zztToastIn{
  from{transform:translate(-50%,10px);opacity:0}
  to{transform:translate(-50%,0);opacity:1}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .zzt-modal-backdrop,
  .zzt-card-dialog,
  .zzt-compact-dialog,
  .zzt-error,
  .zzt-page-preparing,
  .zzt-preparing-icon{
    animation:none!important;
    transition:none!important;
  }
}


/* Desktop: centered card instead of bottom sheet */
@media (min-width:641px){
  .zzt-modal.open{
    align-items:center!important;
    padding:24px!important;
  }
  .zzt-card-dialog,
  .zzt-compact-dialog{
    border-radius:18px!important;
    max-width:400px!important;
    width:min(400px,calc(100vw - 48px))!important;
    box-shadow:0 24px 60px rgba(15,23,42,.28)!important;
    animation:zztPopIn .2s cubic-bezier(.2,.8,.2,1)!important;
  }
}
@keyframes zztPopIn{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}
}
/* 2.0.4.12: readable, responsive language dialog. */
.zzt-modal .zzt-modal-dialog{width:min(560px,calc(100vw - 32px))!important;max-width:560px!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;border-radius:20px!important;padding:24px!important;box-sizing:border-box!important;background:#fff!important;color:#1b2940!important;box-shadow:0 24px 90px #14213945!important;font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important}.zzt-modal .zzt-modal-head{padding:0 42px 18px 0!important;gap:14px}.zzt-modal .zzt-modal-head h3{font-size:23px!important;line-height:1.3!important;margin:0 0 6px!important;color:#1b2940!important}.zzt-modal .zzt-modal-head p{font-size:14px!important;color:#5b6c84!important;line-height:1.6!important}.zzt-modal .zzt-modal-close{min-width:40px!important;min-height:40px!important;top:16px!important;right:16px!important;border-radius:10px!important}.zzt-modal .zzt-modal-section{margin:16px 0!important}.zzt-modal .zzt-modal-section>strong{font-size:14px!important;color:#44546e!important}.zzt-modal .zzt-modal-languages{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;max-width:100%}.zzt-modal .zzt-modal-lang{min-width:0!important;width:100%!important;min-height:52px!important;white-space:normal!important;border-radius:10px!important;padding:10px!important;font-size:14px!important;box-sizing:border-box!important}.zzt-modal .zzt-item-name{overflow-wrap:anywhere}.zzt-modal .zzt-modal-lang.is-active,.zzt-modal .zzt-engine-pill.is-active{background:#eeedff!important;border-color:#7770df!important;color:#4441b5!important;box-shadow:inset 0 0 0 1px #7770df!important}.zzt-modal .zzt-engine-pills{flex-wrap:wrap!important;overflow:visible!important;gap:9px!important}.zzt-modal .zzt-engine-pill{min-width:44px!important;min-height:44px!important}.zzt-modal .zzt-modal-footer{display:flex!important;flex-wrap:wrap!important;gap:12px!important;border-top:1px solid #dfe5ef!important;padding-top:18px!important}.zzt-modal .zzt-apply-btn{min-height:46px!important;background:#5553d7!important;color:#fff!important;font-size:15px!important;padding:11px 17px!important;border-radius:10px!important}.zzt-modal button:focus-visible{outline:3px solid #aaa6f0!important;outline-offset:2px}.zzt-widget .zzt-trigger{font-size:14px!important;min-height:40px!important;border-radius:10px!important}.zzt-error{display:none;position:fixed!important;left:50%!important;right:auto!important;bottom:24px!important;transform:translateX(-50%)!important;max-width:calc(100vw - 32px)!important;width:max-content;box-sizing:border-box;padding:14px 48px 14px 16px!important;background:#fff1ef!important;color:#92372b!important;border:1px solid #e6bfb9!important;border-radius:12px!important;font:14px/1.6 system-ui!important;z-index:2147483647!important;box-shadow:0 10px 40px #15233520;overflow-wrap:anywhere}.zzt-error-close{position:absolute;right:8px;top:8px;border:0;background:transparent;color:inherit;width:32px;height:32px;font-size:22px;cursor:pointer}
@media(max-width:600px){.zzt-modal .zzt-modal-dialog{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:20px!important;border-radius:16px!important}.zzt-modal .zzt-modal-languages{grid-template-columns:repeat(2,minmax(0,1fr))!important}.zzt-modal .zzt-modal-head h3{font-size:21px!important}.zzt-modal .zzt-apply-btn{width:100%!important}.zzt-widget .zzt-trigger{min-height:44px!important}}
@media(prefers-reduced-motion:reduce){.zzt-modal *,.zzt-widget *{transition:none!important;animation:none!important}}
/* Compact language grid: four columns on all screen sizes. */
.zzt-modal .zzt-modal-languages{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;overflow:visible!important;padding:0!important;max-width:100%!important}
.zzt-modal .zzt-modal-lang{width:100%!important;min-width:0!important;min-height:44px!important;padding:8px 3px!important;margin:0!important;border-radius:0!important;gap:4px!important;box-shadow:none!important;font-size:13px!important}
.zzt-modal .zzt-modal-lang.is-active{background:#eeedff!important;box-shadow:inset 0 -3px #5553d7!important;border-color:#7770df!important}
.zzt-modal .zzt-item-code{font-size:12px!important}.zzt-modal .zzt-item-flag{font-size:20px!important}.zzt-modal .zzt-modal-lang:focus-visible{outline-offset:-3px!important}
/* Smaller popup, retaining readable text and touch targets. */
.zzt-modal .zzt-modal-dialog{width:min(460px,calc(100vw - 24px))!important;max-width:460px!important;padding:18px!important;border-radius:15px!important}.zzt-modal .zzt-modal-head{padding-bottom:12px!important;gap:10px!important}.zzt-modal .zzt-modal-head h3{font-size:20px!important}.zzt-modal .zzt-modal-section{margin:12px 0!important}.zzt-modal .zzt-modal-footer{padding-top:12px!important;gap:9px!important}.zzt-modal .zzt-modal-close{top:10px!important;right:10px!important}.zzt-modal .zzt-browser-help{padding:10px!important}.zzt-modal .zzt-modal-lang{min-height:42px!important}.zzt-modal .zzt-apply-btn{min-height:44px!important}
@media(max-width:600px){.zzt-modal .zzt-modal-dialog{padding:16px!important}.zzt-modal .zzt-modal-lang{min-height:44px!important}}

.zzt-modal .zzt-modal-lang{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;overflow-wrap:anywhere!important}.zzt-modal .zzt-modal-lang .zzt-item-name{font-size:12px!important;line-height:1.3!important}
