.elementor-4295 .elementor-element.elementor-element-7f6338d{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-6f4ae75 */:root{
  --z-bg:#fffefc;
  --z-text:#0f172a;          /* slate-900 */
  --z-muted:#475569;         /* slate-600 */
  --z-primary:#d9a441;       /* тёплое золото в стиле Zaindari */
  --z-primary-600:#c18e2b;
  --z-surface:#ffffff;
  --z-border:#e5e7eb;
  --z-shadow:0 6px 24px rgba(0,0,0,.08);
  --z-radius:18px;
}

#zabalimp-juegos{padding:16px;}
#zabalimp-juegos h2{font-weight:800;font-size:clamp(22px,2.6vw,34px);color:var(--z-text);text-wrap:balance;}

.z-toolbar{
  display:flex;gap:12px;align-items:center;justify-content:space-between;
  background:var(--z-surface);border:1px solid var(--z-border);
  padding:10px 12px;border-radius:var(--z-radius);box-shadow:var(--z-shadow);margin-bottom:16px;
  flex-wrap:wrap;
}
.z-tabs{display:flex;gap:8px;flex:1;flex-wrap:wrap}
.z-tab{
  appearance:none;border:none;background:transparent;color:var(--z-muted);
  padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:700;
  border:1px solid var(--z-border);
}
.z-tab[aria-selected="true"]{
  background:var(--z-primary);color:#1f2937;border-color:var(--z-primary-600);
  box-shadow:0 1px 0 rgba(0,0,0,.06) inset;
}
.z-search input{
  padding:10px 12px;border-radius:999px;border:1px solid var(--z-border);
  min-width:230px;outline:none;font-size:15px;background:#fff;
}
.z-search input:focus{border-color:var(--z-primary);box-shadow:0 0 0 3px rgba(217,164,65,.18)}

.z-grid{
  display:grid;gap:16px;
  grid-template-columns:repeat( auto-fit, minmax(240px, 1fr) );
}
.z-card{
  display:flex;flex-direction:column;justify-content:space-between;
  background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius);
  padding:16px;box-shadow:var(--z-shadow);min-height:210px;transition:transform .12s ease, box-shadow .12s ease;
}
.z-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.12)}

.z-card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.z-emoji{font-size:28px;line-height:1}
.z-title{font-weight:800;font-size:18px;color:var(--z-text);flex:1}
.z-meta{font-size:13px;color:var(--z-muted)}

.z-tags{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.z-tag{
  font-size:12px;padding:6px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--z-border);color:#334155
}

.z-card-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:auto}
.z-btn{
  appearance:none;border:none;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;
}
.z-btn-primary{background:var(--z-primary);color:#1f2937}
.z-btn-primary:hover{background:var(--z-primary-600)}
.z-btn-secondary{background:#f1f5f9;color:#111827}
.z-btn-secondary:hover{background:#e2e8f0}

.z-progress{margin:18px 6px;color:var(--z-muted);font-size:14px}
.z-footer{display:flex;justify-content:flex-end;margin-top:18px}

@media (max-width:720px){
  .z-toolbar{padding:8px 10px}
  .z-search input{min-width:unset;width:100%}
  .z-footer{justify-content:center}
}

/* Кнопки «старого» списка, если где-то ещё появятся */
.btn-juego{display:none}


/* ---------- Login / Access ---------- */
.z-auth{
  max-width: 560px;
  margin: 32px auto 16px;
  padding: 8px 12px;
  text-align: center;
}
.z-auth-title{
  font-weight: 800;
  font-size: clamp(24px, 3.2vw, 40px);
  color: var(--z-text);
  margin: 6px 0 14px;
}

.z-auth-card{
  background: var(--z-surface);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  box-shadow: var(--z-shadow);
  padding: 18px;
}

.z-label{
  display:block;
  text-align:left;
  font-size:14px;
  color: var(--z-muted);
  margin-bottom:6px;
}

.z-input{
  width:100%;
  font-size:18px;
  padding:12px 14px;
  border:1px solid var(--z-border);
  border-radius:14px;
  outline:none;
  background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.z-input::placeholder{ color:#94a3b8; }
.z-input:focus{
  border-color: var(--z-primary);
  box-shadow: 0 0 0 4px rgba(217,164,65,.18);
}

.z-btn-full{ width:100%; margin-top:12px; }
.z-error{
  margin-top:10px;
  color:#b42318;               /* красный для ошибок */
  background:#fee4e2;
  border:1px solid #fecdca;
  padding:8px 10px;
  border-radius:10px;
  font-size:14px;
}

/* На очень узких экранах чуть компактнее */
@media (max-width:480px){
  .z-auth{ margin-top:22px; }
  .z-auth-card{ padding:14px; }
  .z-input{ font-size:16px; }
}
.z-tabs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}

.z-tab{
  appearance:none;
  border:none;
  background:#f8fafc;
  color:var(--z-muted);
  border-radius:16px;
  cursor:pointer;
  font-weight:700;
  border:1px solid var(--z-border);
  padding:12px 16px;
  min-width:100px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}

.z-tab-icon{
  font-size:32px;
  margin-bottom:6px;
}

.z-tab-label{
  font-size:14px;
  margin-bottom:2px;
}

.z-tab-count{
  font-size:12px;
  color:#64748b;
}

.z-tab[aria-selected="true"]{
  background:var(--z-primary);
  color:#1f2937;
  border-color:var(--z-primary-600);
  box-shadow:0 1px 0 rgba(0,0,0,.06) inset;
}
.z-tab[aria-selected="true"] .z-tab-count{color:#1f2937;}

/* ---- Горизонтальная лента категорий ---- */
.z-tabs{
  display:flex;
  gap:12px;
  overflow-x:auto;         /* горизонтальный скролл */
  padding:6px 2px 10px;
  scrollbar-width: thin;
}
.z-tabs::-webkit-scrollbar{ height:6px; }
.z-tabs::-webkit-scrollbar-thumb{
  background: var(--z-primary-600);
  border-radius: 10px;
}

.z-tab{
  appearance:none;border:none;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:130px;          /* крупная плитка, но в одну строку */
  padding:12px 10px;
  background:#f8fafc;color:var(--z-muted);
  border:1px solid var(--z-border);
  border-radius:16px;
  font-weight:700;transition:all .2s ease;
  flex:0 0 auto;            /* не переносить на новую строку */
}
.z-tab-icon{ font-size:32px; line-height:1; margin-bottom:6px; }
.z-tab-label{ font-size:14px; margin-bottom:2px; white-space:nowrap; }
.z-tab-count{ font-size:12px; color:#64748b; }

.z-tab[aria-selected="true"]{
  background:var(--z-primary);
  color:#1f2937;
  border-color:var(--z-primary-600);
  box-shadow:0 1px 0 rgba(0,0,0,.06) inset;
}
.z-tab[aria-selected="true"] .z-tab-count{ color:#1f2937; }

@media (max-width:480px){
  .z-tab{ min-width:120px; padding:10px 8px; }
  .z-tab-icon{ font-size:28px; }
}
/* Мобайл: убираем поиск и даём табам всю ширину */
@media (max-width: 768px){
  .z-search{ display:none !important; }
  .z-toolbar{ flex-direction: column; align-items: stretch; }
  .z-tabs{ width:100%; }
  .z-tab{ min-width:112px; padding:10px 8px; }  /* компактнее плитки */
  .z-tab-icon{ font-size:28px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6d4d0bf *//* ===== ZGame (общий UI всех игр) ===== */
.zg-root{
  position:fixed; inset:0; z-index:99999; display:flex; flex-direction:column;
  background:#e4f7fa;
}
.zg-header{
  display:flex; align-items:center; gap:12px;
  padding:10px 14px; background:#fff; border-bottom:1px solid #e5e7eb;
}
.zg-h-left{font-weight:800}
.zg-h-title{font-weight:800; font-size:clamp(18px,2.6vw,24px);}
.zg-h-mid{flex:1; display:flex; flex-direction:column; gap:2px}
.zg-badges{display:flex; gap:8px; flex-wrap:wrap}
.zg-badge{font-size:12px; padding:4px 8px; background:#f1f5f9; border:1px solid #e5e7eb; border-radius:999px}
.zg-h-right{display:flex; align-items:center; gap:10px}
.zg-exit{appearance:none;border:none;background:#ef4444;color:#fff;font-weight:800;
  padding:8px 12px;border-radius:10px;cursor:pointer}

.zg-main{display:flex; gap:14px; padding:12px; flex:1; min-height:0}
.zg-sidebar{width:260px; max-width:35vw; display:flex; flex-direction:column; gap:10px}
.zg-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px}
.zg-score{font-size:18px;font-weight:800}
.zg-msg{font-size:14px;color:#334155;margin-top:6px;min-height:1.4em}

.zg-core{flex:1; min-width:0; background:#ffffff; border:1px solid #e5e7eb; border-radius:16px; padding:14px;
  display:flex; align-items:center; justify-content:center; position:relative}

.zg-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}
.zg-btn{appearance:none;border:none;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}
.zg-btn-primary{background:#d9a441;color:#1f2937}
.zg-btn-primary:disabled{opacity:.6; cursor:not-allowed}
.zg-btn-secondary{background:#f1f5f9}

@media (max-width: 860px){
  .zg-main{flex-direction:column}
  .zg-sidebar{width:100%; max-width:100%}
}

/* Без прокрутки за пределы игры */
body.zg-lock{overflow:hidden}

/* --- фикс мобильного скролла для каркаса игры --- */
.zg-root{
  position: fixed;
  inset: 0;
  height: 100dvh;                 /* корректная высота на мобильных */
  overflow: auto;                  /* главный внутренний скролл */
  -webkit-overflow-scrolling: touch;
}

.zg-main{
  flex: 1;
  min-height: 0;                   /* важно для flex+overflow */
  overflow: auto;                  /* запасной скролл для контента */
}

/* Внутри области игры контент должен начинаться сверху и иметь свой скролл при необходимости */
.zg-core{
  align-items: flex-start;         /* вместо center */
  justify-content: center;
  overflow: auto;
  padding-bottom: 16px;            /* чтобы нижний ряд не упирался в край */
}
@media (max-height: 640px){
  #p-grid .pares-card{
    font-size: clamp(18px, 5vw, 28px);
    border-radius: 14px;
  }
}

/* для кнопок-кадров в "pares" */
.pares-card{
  display:flex; align-items:center; justify-content:center;
  line-height:1; padding:0;         /* эмодзи по центру и без «воздуха» */
}/* End custom CSS */