/*
  DG Magazin – Elementor Pack
  Base design system + utilities.

  NOTE: Styles are mostly scoped to body.dg-magazin-ui so it won't mess with wp-admin.
*/

:root{
  --dg-bg:#0b1020;
  --dg-text:#eaf0ff;
  --dg-muted:rgba(234,240,255,.70);
  --dg-border:rgba(255,255,255,.10);
  --dg-surface:rgba(255,255,255,.03);
  --dg-surface2:rgba(255,255,255,.05);
  --dg-accent:#2d6cdf;
  --dg-radius:18px;
  --dg-radius-sm:14px;
  --dg-shadow:0 14px 40px rgba(0,0,0,.35);
}

body.dg-magazin-ui{
  background:
    radial-gradient(1200px 700px at 30% 10%, rgba(45,108,223,.12), transparent 60%),
    radial-gradient(900px 500px at 80% 0%, rgba(255,255,255,.06), transparent 55%),
    var(--dg-bg);
  color:var(--dg-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.dg-magazin-ui a{ color:#86adff; }
body.dg-magazin-ui a:hover{ color:#a9c4ff; }

/* Sticky header (Theme Builder) */
body.dg-magazin-ui .elementor-location-header{
  position: sticky;
  top: 0;
  z-index: 9998;
}

.dg-card{
  background:var(--dg-surface);
  border:1px solid var(--dg-border);
  border-radius:var(--dg-radius);
  box-shadow:var(--dg-shadow);
}

.dg-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(45,108,223,.16);
  border:1px solid rgba(45,108,223,.35);
  color:#cfe0ff;
  font-size:13px;
  line-height:1;
  text-decoration:none;
}

.dg-subcats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.dg-meta{
  color:var(--dg-muted);
  font-size:14px;
}

.dg-header-blur{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(11,16,32,.72) !important;
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* Make Elementor headings/text readable on dark bg */
body.dg-magazin-ui .elementor-widget-heading .elementor-heading-title,
body.dg-magazin-ui .elementor-widget-text-editor,
body.dg-magazin-ui .elementor-widget-text-editor p,
body.dg-magazin-ui .elementor-widget-theme-post-title .elementor-heading-title,
body.dg-magazin-ui .elementor-widget-theme-post-content,
body.dg-magazin-ui .elementor-widget-theme-post-content p{
  color: var(--dg-text);
}

body.dg-magazin-ui .elementor-widget-theme-post-content p{
  line-height: 1.75;
}

/* Post content: table / blockquote / lists */
body.dg-magazin-ui .elementor-widget-theme-post-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--dg-border);
  border-radius:var(--dg-radius-sm);
  overflow:hidden;
  background:rgba(255,255,255,.02);
}
body.dg-magazin-ui .elementor-widget-theme-post-content th,
body.dg-magazin-ui .elementor-widget-theme-post-content td{
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.08);
}
body.dg-magazin-ui .elementor-widget-theme-post-content th{
  background:rgba(255,255,255,.04);
  color:var(--dg-text);
  font-weight:700;
}
body.dg-magazin-ui .elementor-widget-theme-post-content tr:last-child td{ border-bottom:none; }
body.dg-magazin-ui .elementor-widget-theme-post-content td:last-child,
body.dg-magazin-ui .elementor-widget-theme-post-content th:last-child{ border-right:none; }

body.dg-magazin-ui .elementor-widget-theme-post-content blockquote{
  margin:20px 0;
  padding:16px 18px;
  border-left:3px solid rgba(45,108,223,.9);
  background:rgba(45,108,223,.08);
  border-radius:var(--dg-radius-sm);
}

body.dg-magazin-ui .elementor-widget-theme-post-content ul,
body.dg-magazin-ui .elementor-widget-theme-post-content ol{
  padding-left: 1.2em;
}

/* YouTube shortcode */
.dg-video{
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: var(--dg-radius);
  overflow: hidden;
  border: 1px solid var(--dg-border);
  background: rgba(255,255,255,.02);
}
.dg-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Reading progress bar */
.dg-reading-progress{
  position:fixed;
  left:0;
  right:0;
  top:0;
  height:3px;
  z-index:9999;
  pointer-events:none;
}
.dg-reading-progress span{
  display:block;
  height:100%;
  width:100%;
  transform-origin:left;
  transform:scaleX(0);
  background:var(--dg-accent);
  box-shadow:0 0 10px rgba(45,108,223,.65);
}

/* Minor Elementor widget tweaks */
body.dg-magazin-ui .elementor-widget-posts .elementor-post__card,
body.dg-magazin-ui .elementor-widget-loop-grid .elementor-post__card{
  background: var(--dg-surface);
  border: 1px solid var(--dg-border);
  border-radius: var(--dg-radius);
  overflow: hidden;
}

/* Reduce "white" form defaults on dark bg */
body.dg-magazin-ui input,
body.dg-magazin-ui select,
body.dg-magazin-ui textarea{
  color: var(--dg-text);
}
