/*
Theme Name: Astra Child
Theme URI: https://example.com/
Description: Child Theme für Astra
Author: Patrick
Template: astra
Version: 1.0.0
*/

/* =========================================================
   SILVERLINE DARK THEME – GLOBAL (CLEAN + COMPACT)
   Ziel: weniger Top-Padding / weniger doppelte Regeln / Astra-konform
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --sl-bg: #0d1117;
  --sl-surface: #161b22;
  --sl-border: #30363d;

  --sl-text: #c9d1d9;
  --sl-text-strong: #e6edf3;
  --sl-link: #58a6ff;
  --sl-link-hover: #1f6feb;

  --sl-primary: #2563eb;
  --sl-primary-hover: #1d4ed8;

  --sl-radius: 12px;
  --sl-radius-lg: 18px;

  /* wichtig für “oben zu viel padding” */
  --sl-header-pad-y: 8px;     /* vorher: 6/20px (zu hoch) */
  --sl-content-top: 16px;     /* vorher: entry-content padding-top 40px */
}

/* ---------- Grundlayout ---------- */
html, body {
  background: var(--sl-bg) !important;
  color: var(--sl-text) !important;
}

/* Astra/WordPress: Standard-Margins der ersten Elemente entschärfen */
.entry-content > *:first-child,
.wp-site-blocks > *:first-child {
  margin-top: 0 !important;
}

/* Globale Textfarben im Content */
.entry-content,
.entry-content * {
  color: var(--sl-text) !important;
  opacity: 1 !important;
}

/* Links */
.entry-content a {
  color: var(--sl-link) !important;
}
.entry-content a:hover {
  color: var(--sl-link-hover) !important;
}

/* =========================================================
   TOP-SPACING: das eigentliche Problem
   ========================================================= */

/* WICHTIG: Entfernt die pauschale “40px” Luft unter dem Header */
.entry-content {
  padding-top: var(--sl-content-top) !important;
}

/* Astra Content Wrapper (je nach Layout variieren die Wrapper) */
#content,
.site-content,
.ast-container,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-single .entry-content {
  margin-top: 0 !important;
}

/* Falls Astra/Gutenberg oben zusätzlich Padding setzt */
.ast-separate-container .site-content .ast-container {
  padding-top: 0 !important;
}

/* Optional: Gutenberg “Spacer” killen, falls du oben leere Blöcke drin hast */
.wp-block-spacer {
  height: auto !important;
}

/* =========================================================
   TITEL
   ========================================================= */
.ast-page-title,
.page-title,
.entry-title,
.ast-archive-title {
  color: var(--sl-text) !important;
}

/* H1 im Seiteninhalt: weniger Luft oben */
.entry-content > h1 {
  background: transparent !important;
  border: none !important;

  padding: 18px 0 12px !important; /* vorher 40px oben -> zu viel */
  margin: 0 0 12px 0 !important;

  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--sl-text-strong) !important;
}

/* =========================================================
   HEADER (Astra)
   ========================================================= */

/* Header kompakter + sauber */
#masthead,
.site-header,
.ast-main-header-wrap,
.ast-primary-header-bar {
  background: var(--sl-bg) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Wenn Astra dem Primary Bar zu viel Höhe gibt */
.ast-primary-header-bar {
  padding-top: var(--sl-header-pad-y) !important;
  padding-bottom: var(--sl-header-pad-y) !important;
  min-height: 56px !important; /* kompakt, aber nicht gequetscht */
}

/* Branding */
.site-branding a {
  color: var(--sl-link) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.site-branding a:hover {
  color: var(--sl-link-hover) !important;
}

/* Menü Desktop */
.main-header-menu > li > a {
  color: var(--sl-text) !important;
  font-size: 15px !important;
  padding: 10px 12px !important;
}
.main-header-menu > li > a:hover {
  color: var(--sl-link) !important;
}
.main-header-menu .current-menu-item > a,
.main-header-menu .current_page_item > a {
  color: var(--sl-link-hover) !important;
}

/* Mobile Header */
.ast-mobile-header-wrap,
.ast-mobile-header-content {
  background: var(--sl-bg) !important;
}
.ast-mobile-header-wrap a,
.ast-mobile-header-content a {
  color: var(--sl-text) !important;
}
.ast-mobile-header-wrap a:hover,
.ast-mobile-header-content a:hover {
  color: var(--sl-link) !important;
}

/* =========================================================
   BUTTONS (einheitlich, keine Doppeldefinitionen)
   ========================================================= */

/* Basis */
button,
input[type="submit"],
.wp-block-button__link,
.wpmem_btn,
.wpmem_submit,
.ast-button,
.ast-custom-button,
a.ast-button,
.sl-btn,
.sl-btn-primary {
  background: var(--sl-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--sl-radius) !important;
  padding: 12px 18px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1.1 !important;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(37,99,235,.35) !important;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.wpmem_btn:hover,
.wpmem_submit:hover,
.ast-button:hover,
.ast-custom-button:hover,
a.ast-button:hover,
.sl-btn:hover,
.sl-btn-primary:hover {
  background: var(--sl-primary-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(37,99,235,.42) !important;
}

button:active,
input[type="submit"]:active,
.wp-block-button__link:active,
.wpmem_btn:active,
.wpmem_submit:active,
.ast-button:active,
.ast-custom-button:active,
a.ast-button:active,
.sl-btn:active,
.sl-btn-primary:active {
  transform: translateY(0);
}

/* Ghost */
.sl-btn-ghost{
  background: rgba(2,6,23,.25) !important;
  color: rgba(226,232,240,.92) !important;
  border: 1px solid rgba(148,163,184,.35) !important;
  box-shadow: none !important;
}
.sl-btn-ghost:hover{
  background: rgba(59,130,246,.18) !important;
}

/* =========================================================
   WORDPRESS BLOCKS – CARDS (nur echte Gruppen als Cards)
   Achtung: wp-block-group global zu stylen ist ok, aber kann Layout zerstören.
   ========================================================= */

.wp-block-group {
  background-color: var(--sl-surface) !important;
  border: 1px solid var(--sl-border) !important;
  border-radius: var(--sl-radius) !important;
  padding: 20px !important;
  color: var(--sl-text) !important;
}

/* Nicht die inner-container pauschal als Card behandeln */
.wp-block-group__inner-container {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   WP-MEMBERS – LOGIN & REGISTRIERUNG
   ========================================================= */

#wpmem_login,
#wpmem_reg {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.wpmem_form {
  background: var(--sl-surface) !important;
  border: 1px solid var(--sl-border) !important;
  border-radius: var(--sl-radius) !important;
  padding: 22px !important;
  max-width: 520px;
  margin: 0 auto 24px auto;
}

.wpmem_field { margin-bottom: 14px !important; }

.wpmem_form label {
  color: var(--sl-text) !important;
  font-weight: 600 !important;
}

.wpmem_form input[type="text"],
.wpmem_form input[type="email"],
.wpmem_form input[type="password"] {
  width: 100%;
  background: var(--sl-bg) !important;
  border: 1px solid var(--sl-border) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  color: var(--sl-text) !important;
  box-sizing: border-box;
}

.wpmem_form input[type="checkbox"] { margin-right: 6px; }

.wpmem_msg {
  background: var(--sl-surface) !important;
  border: 1px solid var(--sl-border) !important;
  border-radius: var(--sl-radius) !important;
  padding: 18px !important;
  color: var(--sl-text) !important;
  max-width: 520px;
  margin: 0 auto 16px auto;
}

.wpmem_msg a {
  color: var(--sl-link) !important;
  text-decoration: none !important;
}
.wpmem_msg a:hover {
  color: var(--sl-link-hover) !important;
}

@media (max-width: 600px) {
  .wpmem_form { padding: 16px !important; }
}

/* =========================================================
   ASTRA OFF-CANVAS / MOBILE MENU (vereinheitlicht, ohne doppelte Varianten)
   ========================================================= */

.ast-off-canvas-overlay {
  background: rgba(0, 0, 0, 0.65) !important;
}

.ast-off-canvas-sidebar,
.ast-mobile-popup-drawer,
.ast-mobile-popup-inner {
  background: linear-gradient(180deg, rgba(6,10,28,.98), rgba(4,6,18,.98)) !important;
}

.ast-off-canvas-sidebar {
  padding: 18px 14px !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Mobile Nav */
#ast-mobile-site-navigation ul,
#ast-mobile-site-navigation li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#ast-mobile-site-navigation .main-header-menu {
  margin: 0 !important;
  padding: 12px 10px !important;
}

#ast-mobile-site-navigation .main-header-menu > li + li {
  margin-top: 10px !important;
}

#ast-mobile-site-navigation .main-header-menu > li > a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 14px 12px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;

  color: rgba(226,232,240,.92) !important;
  border: 1px solid rgba(148,163,184,.14) !important;
  background: rgba(15,23,42,.20) !important;
}

#ast-mobile-site-navigation .main-header-menu > li > a:hover,
#ast-mobile-site-navigation .main-header-menu > li > a:focus {
  background: rgba(59,130,246,.18) !important;
  border-color: rgba(96,165,250,.35) !important;
}

#ast-mobile-site-navigation .main-header-menu > li.current-menu-item > a,
#ast-mobile-site-navigation .main-header-menu > li.current_page_item > a {
  background: rgba(96,165,250,.22) !important;
  border-color: rgba(167,139,250,.40) !important;
}

/* Mobile Menu Trigger */
.ast-button-wrap .ast-mobile-menu-trigger-minimal {
  background: rgba(31, 111, 235, 0.95) !important;
  border-radius: 10px !important;
  padding: 9px 11px !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}
.ast-button-wrap .ast-mobile-menu-trigger-minimal svg { fill: #fff !important; }

.ast-mobile-popup-header .ast-mobile-popup-close {
  border-radius: 12px !important;
  background: rgba(15,23,42,.35) !important;
}
.ast-mobile-popup-header .ast-mobile-popup-close:hover {
  background: rgba(59,130,246,.22) !important;
}

/* Social Icons */
.ast-header-social-wrap a { opacity: .9; }
.ast-header-social-wrap a:hover { opacity: 1; }

/* =========================================================
   Silverline Account Panel
   ========================================================= */

.sl-account{
  padding: clamp(18px, 3vw, 36px) 0; /* vorher: 28–56 => zu viel “oben” */
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(59,130,246,.18), transparent 55%),
    linear-gradient(180deg, rgba(2,6,23,0), rgba(2,6,23,0));
}

.sl-container{
  width: min(980px, calc(100% - 48px));
  margin: 0 auto;
}

.sl-card{
  background: linear-gradient(135deg, rgba(15,33,58,.92), rgba(11,24,44,.90));
  border: 1px solid rgba(59,130,246,.22);
  border-radius: var(--sl-radius-lg);
  padding: clamp(18px, 2.4vw, 28px);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.sl-badge{
  display: inline-block;
  font: 700 12px/1 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  letter-spacing: .10em;
  padding: 8px 10px;
  border-radius: 999px;
  color: rgba(165,243,252,.95);
  border: 1px solid rgba(94,234,212,.45);
  background: rgba(2,6,23,.35);
}

.sl-title{
  margin: 12px 0 6px;
  color: var(--sl-text-strong) !important;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.sl-muted{
  margin: 0 0 14px;
  color: rgba(226,232,240,.82) !important;
}

.sl-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color: rgba(226,232,240,.92) !important;
}

.sl-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.sl-hint{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(148,163,184,.18);
  color: rgba(148,163,184,.85);
  font-size: 13px;
}

.sl-btn-danger{
  border-color: rgba(248,113,113,.45) !important;
  color: #fecaca !important;
}

.sl-btn-danger:hover{
  background: rgba(248,113,113,.15) !important;
  border-color: rgba(248,113,113,.75) !important;
}


/* =========================================================
   “Zur Finanz-Applikation” Header-Block (falls du ihn nutzt)
   ========================================================= */

.sl-flow-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin: 1rem 0 0.75rem 0; /* vorher 1.5rem -> weniger Luft */
}

.sl-flow-header-left h2 {
  margin: 0 !important;
  color: #fff !important;
}

.sl-flow-header-left p {
  margin: 0.35rem 0 0 0 !important;
  color: #9fb3d1 !important;
  font-size: 0.95rem;
}

.sl-flow-app-btn {
  background: linear-gradient(135deg, #1e3a8a, #2563eb);
  color: #fff !important;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 10px 26px rgba(37, 99, 235, 0.35);
  transition: transform 120ms ease, box-shadow 120ms ease;
}

.sl-flow-app-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.45);
}

@media (max-width: 768px) {
  .sl-flow-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .sl-flow-app-btn {
    align-self: stretch;
    text-align: center;
  }
}

/* =========================================================
   Spezial: Element nur im Content verstecken
   (dein :has() ist ok, aber nur in modernen Browsern; Chrome ja)
   ========================================================= */
#content li:has(> a[href^="https://mysilverline.it-pin.ch"]) {
  display: none !important;
}
.sl-flow-wrap{
  max-width: 1200px;
  margin: 0 auto;

  /* Top-Padding weg, seitlich/unten behalten */
  padding: 0 12px 12px;

  position: relative;
}
/* Tooltip: nicht selektierbar / kein Copy-Callout (mobile) */
.sl-flow-tip,
.sl-flow-tip *{
  user-select: none !important;
  -webkit-user-select: none !important;
  -ms-user-select: none !important;

  -webkit-touch-callout: none !important; /* iOS: Copy/Lookup Menü */
  -webkit-tap-highlight-color: transparent !important;
}

/* Tooltip soll nicht den Finger “fangen” */
.sl-flow-tip{
  pointer-events: none !important;
}
/* Gesamte Flow-Zone: kontrollierter Abstand zum Header */
.sl-flow-section{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 12px 24px; /* oben klein, nicht hero-mässig */
}

/* Headerzeile mit Usecase + CTA */
.sl-flow-header{
  display: flex;
  align-items: flex-end;       /* wichtig: unten bündig => näher an Grafik */
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 14px 0;          /* Abstand zur Grafik */
}

/* Usecase links */
.sl-flow-usecase{
  display: flex;
  align-items: flex-start;
  gap: 10px;

  padding: 10px 14px;
  border-left: 2px solid #60a5fa;
  background: rgba(15,23,42,.22);
  color: #c9d6ea;
  font-size: 14px;
  line-height: 1.4;
}

/* Icon ruhig halten */
.sl-flow-usecase-icon{
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  fill: none;
  stroke: #9fb3d1;
  stroke-width: 2;
  opacity: .85;
}

/* CTA rechts */
.sl-flow-cta{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  text-align: right;
}

.sl-flow-cta-text{
  font-size: 13px;
  color: #9fb3d1;
  max-width: 260px;
}

/* Mobile: untereinander */
@media (max-width: 768px){
  .sl-flow-header{
    flex-direction: column;
    align-items: stretch;
  }
  .sl-flow-cta{
    align-items: flex-start;
    text-align: left;
  }
}

/* =========================
   Silverline Explain (derived)
   ========================= */

.sl-explain{
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 18px 0 36px;
}

.sl-explain-hero{
  margin: 0 0 18px;
}

.sl-explain-hero h2{
  margin: 0 0 8px;
  color: #e6edf7;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.sl-explain-hero p{
  margin: 0;
  color: rgba(159,179,209,.9);
  line-height: 1.5;
}

.sl-explain-section{
  margin-top: 22px;
}

.sl-explain-head h3{
  margin: 0 0 6px;
  color: #e6edf7;
  font-size: 18px;
  font-weight: 800;
}

.sl-explain-head p{
  margin: 0 0 14px;
  color: rgba(159,179,209,.9);
  line-height: 1.5;
}

/* Grid */
.sl-grid{
  display: grid;
  gap: 14px;
}

.sl-grid-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sl-grid-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Cards */
.sl-cardx{
  background: linear-gradient(135deg, rgba(15,33,58,.92), rgba(11,24,44,.90));
  border: 1px solid rgba(59,130,246,.20);
  border-radius: 16px;
  padding: 14px 14px 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,.32);
}

.sl-cardx h4{
  margin: 0 0 4px;
  color: #e6edf7;
  font-size: 15px;
  font-weight: 800;
}

.sl-sub{
  margin: 0 0 10px;
  color: rgba(159,179,209,.9);
  font-size: 13px;
}

.sl-bullets{
  margin: 0;
  padding-left: 18px;
  color: rgba(226,232,240,.92);
  line-height: 1.45;
  font-size: 13px;
}

.sl-bullets li{ margin: 6px 0; }
.sl-bullets b{ color: #ffffff; }

.sl-rule{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(148,163,184,.16);
  color: rgba(159,179,209,.95);
  font-size: 12.5px;
}

/* Accents */
.sl-accent-liq{ border-color: rgba(96,165,250,.30); }
.sl-accent-inv{ border-color: rgba(167,139,250,.28); }
.sl-accent-bound{ border-color: rgba(34,211,238,.22); }
.sl-accent-goal{ border-color: rgba(251,191,36,.22); }

/* Warnings */
.sl-warn{
  border-color: rgba(248,113,113,.35);
}

/* Callouts / Formula */
.sl-callout{
  margin-top: 12px;
  padding: 12px 14px;
  border-left: 2px solid rgba(96,165,250,.55);
  background: rgba(15,23,42,.25);
  color: rgba(226,232,240,.92);
  border-radius: 12px;
  line-height: 1.5;
  font-size: 13px;
}

.sl-formula{
  background: rgba(2,6,23,.35);
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 16px;
  padding: 14px;
}

.sl-formula-title{
  color: #e6edf7;
  font-weight: 800;
  margin: 0 0 8px;
  font-size: 13px;
}

.sl-formula pre{
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15,23,42,.35);
  border: 1px solid rgba(148,163,184,.14);
  color: rgba(226,232,240,.92);
  overflow: auto;
  font-size: 12.5px;
  line-height: 1.45;
}

/* Responsive */
@media (max-width: 1024px){
  .sl-grid-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px){
  .sl-explain{ width: min(1200px, calc(100% - 28px)); }
  .sl-grid-2{ grid-template-columns: 1fr; }
  .sl-grid-4{ grid-template-columns: 1fr; }
}
/* =========================
   Silverline – Use Cases
   (Header nutzt deine sl-flow-* Klassen)
   ========================= */

.sl-usecases{
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  padding: 18px 0 30px;
}

/* Header-Ausrichtung: Usecase links, CTA rechts */
.sl-usecases-header{
  margin: 0 0 16px 0;
}

.sl-usecases-intro{
  background: rgba(15,23,42,.22);
  border-left: 2px solid rgba(96,165,250,.65);
}

/* Grid */
.sl-usecases-grid{
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Cards */
.sl-uc-card{
  background: linear-gradient(135deg, rgba(15,33,58,.92), rgba(11,24,44,.90));
  border: 1px solid rgba(59,130,246,.20);
  border-radius: 16px;
  padding: 14px 14px 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,.32);
}

.sl-uc-top{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.sl-uc-icon{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(59,130,246,.14);
  border: 1px solid rgba(59,130,246,.22);
  font-size: 18px;
}

.sl-uc-title{
  margin: 0;
  color: #e6edf7;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.sl-uc-q{
  margin: 0 0 10px 0;
  color: rgba(226,232,240,.92);
  font-size: 13px;
  line-height: 1.45;
}

.sl-uc-q b{ color: #ffffff; }

.sl-uc-bullets{
  margin: 0;
  padding-left: 18px;
  color: rgba(159,179,209,.95);
  font-size: 13px;
  line-height: 1.45;
}

.sl-uc-bullets li{ margin: 6px 0; }

/* Responsive */
@media (max-width: 900px){
  .sl-usecases{ width: min(1200px, calc(100% - 28px)); }
  .sl-usecases-grid{ grid-template-columns: 1fr; }
}
li.menu-item a[href*="login"],
li.menu-item a[href*="registr"] {
    display: none !important;
}

.video-wrap{
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

.video-wrap iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.sl-video-card {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 40px auto;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35),
              0 0 0 1px rgba(255,255,255,0.05);
}

.sl-video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.55) 0%,
    rgba(0,0,0,0.15) 40%,
    rgba(0,0,0,0) 70%
  );
  z-index: 1;
}

.sl-video-poster {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;

  padding: 0;
  border: none !important;
  outline: none !important;
  background: transparent;
  cursor: pointer;

  box-shadow: none !important;
}

.sl-video-poster:focus,
.sl-video-poster:active {
  outline: none !important;
  box-shadow: none !important;
}

.sl-video-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sl-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 78px;
  height: 78px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.22);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.sl-play::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 35px;
  top: 27px;
  border-style: solid;
  border-width: 16px 0 16px 24px;
  border-color: transparent transparent transparent #fff;
}

.sl-video-card iframe {
  position: relative;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.sl-video-overlay {
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  
  z-index: 3;
  width: auto;
  max-width: 600px;
  text-align: center;

  color: #fff;

background: linear-gradient(
  to bottom,
  rgba(0,0,0,0.65),
  rgba(0,0,0,0.25)
);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 14px 22px;

  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  box-shadow: 0 10px 24px rgba(0,0,0,0.22);
  pointer-events: none;
}

.sl-video-overlay h3 {
  margin: 0 0 4px 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: #fff !important;
}

.sl-video-overlay p {
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255,255,255,0.85) !important;
}

.sl-video-poster {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;

  padding: 0;
  margin: 0;
  border: none !important;
  outline: none !important;
  background: transparent;
  cursor: pointer;

  box-shadow: none !important;
}

button.sl-video-poster,
button.sl-video-poster:hover,
button.sl-video-poster:focus,
button.sl-video-poster:focus-visible,
button.sl-video-poster:active {
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.sl-video-card.is-playing::after {
  display: none;
}

.sl-video-card.is-playing .sl-video-overlay {
  display: none;
}

.sl-video-card.is-playing .sl-play {
  display: none;
}