/* ADSBIO Ad Archive — front-end styles.
   Reads the active theme's Material Design 3 tokens (--m3-*) when present
   (e.g. the ADSBIO Landing theme), and falls back to sensible defaults
   otherwise so this plugin looks right even without that theme. */

.adsbio-archive-wrap{
  --arc-bg:            var(--m3-surface-1, #F7F2FA);
  --arc-panel:         var(--m3-surface-1, #F7F2FA);
  --arc-panel-2:       var(--m3-surface-2, #F1ECF4);
  --arc-line:          var(--m3-outline-variant, #CAC4D0);
  --arc-text:          var(--m3-on-surface, #1C1B1F);
  --arc-muted:         var(--m3-on-surface-variant, #49454F);
  --arc-primary:       var(--m3-primary, #6750A4);
  --arc-on-primary:    var(--m3-on-primary, #FFFFFF);
  --arc-primary-cont:  var(--m3-primary-container, #EADDFF);
  --arc-yekta:         var(--m3-yekta, #FF6A39);
  --arc-yekta-cont:    var(--m3-yekta-container, #FFE3D9);
  --arc-tapsell:       var(--m3-tapsell, #1C8C7D);
  --arc-tapsell-cont:  var(--m3-tapsell-container, #CFF3EC);
  --arc-mono: 'Roboto Mono', ui-monospace, Consolas, monospace;

  direction:rtl;
  color:var(--arc-text);
  font-family:'Vazirmatn', 'Roboto', sans-serif;
}

.adsbio-empty{ color:var(--arc-muted); font-size:14px; }

/* ---------- search ---------- */
.adsbio-archive-search{ position:relative; margin-bottom:16px; }
.adsbio-archive-search input{
  width:100%; padding:12px 42px 12px 16px; font-family:inherit; font-size:14px;
  background:var(--arc-panel); border:1px solid var(--arc-line); border-radius:100px;
  color:var(--arc-text);
}
.adsbio-archive-search input:focus{ outline:2px solid var(--arc-primary); outline-offset:1px; }
.adsbio-archive-search input::placeholder{ color:var(--arc-muted); }
.adsbio-search-icon{
  position:absolute; top:50%; transform:translateY(-50%); inset-inline-end:16px;
  font-style:normal; color:var(--arc-muted); font-size:16px; pointer-events:none;
}

/* ---------- filters ---------- */
.adsbio-archive-filters{
  display:flex; flex-direction:column; gap:10px;
  margin-bottom:28px; padding:16px 18px; border:1px solid var(--arc-line);
  border-radius:20px; background:var(--arc-panel);
}
.adsbio-filter-group{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:13px; }
.adsbio-filter-label{ color:var(--arc-muted); margin-inline-end:4px; }
.adsbio-filter-btn{
  font-family:inherit; font-size:12.5px; cursor:pointer;
  background:transparent; color:var(--arc-text);
  border:1px solid var(--arc-line); border-radius:100px; padding:6px 14px;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.adsbio-filter-btn.is-active{ background:var(--arc-primary); color:var(--arc-on-primary); border-color:var(--arc-primary); }
.adsbio-filter-btn:not(.is-active):hover{ background:var(--arc-panel-2); }

/* ---------- grid & cards ---------- */
.adsbio-archive-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(250px,1fr)); gap:20px;
}
.adsbio-archive-card{
  background:var(--arc-panel); border:1px solid var(--arc-line);
  border-radius:22px; overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .3s ease, transform .3s ease;
}
.adsbio-archive-card:hover{ box-shadow:0 8px 24px rgba(0,0,0,.12); transform:translateY(-3px); }
.adsbio-archive-card.is-hidden{ display:none; }
.adsbio-archive-thumb img{ width:100%; display:block; aspect-ratio:16/9; object-fit:cover; }
.adsbio-archive-thumb-empty{
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  color:var(--arc-muted); font-size:12px; background:var(--arc-panel-2);
}
.adsbio-archive-body{ padding:16px; display:flex; flex-direction:column; flex-grow:1; }
.adsbio-archive-body h3{ margin:0 0 8px; font-size:15px; font-weight:700; }
.adsbio-archive-tags{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:10px; }
.adsbio-tag{
  font-family:var(--arc-mono); direction:ltr; font-size:10.5px; padding:3px 9px; border-radius:7px;
  border:1px solid var(--arc-line); color:var(--arc-muted);
}
.adsbio-tag-platform{ color:var(--arc-yekta); border-color:var(--arc-yekta); background:var(--arc-yekta-cont); }
.adsbio-tag-format{ color:var(--arc-tapsell); border-color:var(--arc-tapsell); background:var(--arc-tapsell-cont); }

.adsbio-archive-summary{
  font-size:12.5px; color:var(--arc-muted); line-height:1.7; margin:0 0 10px; flex-grow:1;
}
.adsbio-archive-date{ font-size:11px; color:var(--arc-muted); margin-bottom:12px; font-family:var(--arc-mono); direction:ltr; text-align:right; }

.adsbio-archive-actions{ display:flex; gap:8px; margin-top:auto; }
.adsbio-btn-view{
  flex:1; font-family:inherit; font-size:12.5px; font-weight:700; cursor:pointer;
  padding:9px 14px; border-radius:100px; border:none;
  background:var(--arc-primary-cont); color:var(--arc-primary);
  transition:background-color .2s ease;
}
.adsbio-btn-view:hover{ background:var(--arc-primary); color:var(--arc-on-primary); }
.adsbio-archive-download{
  display:inline-flex; align-items:center; font-size:12.5px; font-weight:700;
  padding:9px 14px; border-radius:100px; border:1px solid var(--arc-line); color:var(--arc-text);
}
.adsbio-archive-download:hover{ background:var(--arc-panel-2); }

/* ---------- lightbox ---------- */
.adsbio-lightbox{
  position:fixed; inset:0; z-index:9999;
  display:none; align-items:center; justify-content:center; padding:24px;
}
.adsbio-lightbox.is-open{ display:flex; }
.adsbio-lightbox-backdrop{
  position:absolute; inset:0; background:rgba(15,14,18,.6); backdrop-filter:blur(6px);
}
.adsbio-lightbox-dialog{
  position:relative; z-index:1; width:100%; max-width:840px; max-height:88vh; overflow-y:auto;
  background:var(--m3-surface, #FFFBFE); color:var(--m3-on-surface, #1C1B1F);
  border-radius:28px; box-shadow:0 24px 60px rgba(0,0,0,.35);
  display:grid; grid-template-columns:1.1fr 1fr;
}
.adsbio-lightbox-close{
  position:absolute; top:14px; inset-inline-end:14px; z-index:2;
  width:38px; height:38px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(0,0,0,.45); color:#fff; font-size:20px; line-height:1;
}
.adsbio-lightbox-image-wrap{ background:#0F0E12; display:flex; align-items:center; justify-content:center; min-height:260px; }
.adsbio-lightbox-image-wrap img{ width:100%; height:100%; object-fit:contain; max-height:88vh; }
.adsbio-lightbox-info{ padding:28px; direction:rtl; }
.adsbio-lightbox-info h3{ font-size:18px; font-weight:800; margin:0 0 12px; }
.adsbio-lightbox-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.adsbio-lightbox-content{ font-size:13.5px; line-height:1.9; color:var(--m3-on-surface-variant, #49454F); margin-bottom:16px; }
.adsbio-lightbox-content p{ margin:0 0 .8em; }
.adsbio-lightbox-empty{ color:var(--m3-on-surface-variant, #49454F); font-style:italic; }
.adsbio-lightbox-date{ font-size:11.5px; font-family:var(--arc-mono, monospace); direction:ltr; text-align:right; color:var(--m3-on-surface-variant, #49454F); margin-bottom:18px; }
.adsbio-lightbox-download{ width:auto; display:inline-flex; }

@media (max-width: 720px){
  .adsbio-lightbox-dialog{ grid-template-columns:1fr; }
  .adsbio-lightbox-image-wrap{ min-height:200px; }
  .adsbio-archive-filters{ padding:12px 14px; }
  .adsbio-archive-grid{ grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:14px; }
}
