/* ============================================================
   FOTOWOLTAIKA SERWIS — Banery wideo (moduł hqv_video_banner)
   Paleta: czerń #0A0E17 + bursztyn #F5A300/#FFB020, font Manrope/Inter.
   Klasy .hqv-* z modułu inc/video-banners.php.
   ============================================================ */
.hqv-container{ max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* Przyciski w banerze */
.hqv-btn{
  display:inline-flex; align-items:center; gap:.5em; justify-content:center;
  background: var(--fv-ink,#0A0E17); color:#fff; border:2px solid var(--fv-ink,#0A0E17);
  padding: 15px 30px; border-radius: 999px; font-weight:800; font-size:15px; letter-spacing:.01em;
  cursor:pointer; transition: all .16s ease; line-height:1; font-family: var(--fv-font, inherit);
  margin: 6px 10px 6px 0;
}
.hqv-btn:hover{ background: var(--fv-primary,#F5A300); border-color: var(--fv-primary,#F5A300); color:#1b1300; transform: translateY(-2px); }
.hqv-btn--orange{ background: var(--fv-primary,#F5A300); border-color: var(--fv-primary,#F5A300); color:#1b1300; }
.hqv-btn--orange:hover{ background: var(--fv-primary-600,#E08E00); border-color: var(--fv-primary-600,#E08E00); color:#1b1300; }
.hqv-btn--ghost{ background: transparent; color:#fff; border-color: rgba(255,255,255,.7); }
.hqv-btn--ghost:hover{ background:#fff; color: var(--fv-ink,#0A0E17); border-color:#fff; }

/* Karuzela */
.hqv-vbslider{ position:relative; overflow:hidden; margin: 0; }
.hqv-vbslider__track{ display:flex; transition: transform .6s cubic-bezier(.4,0,.2,1); will-change: transform; }
.hqv-vbslide{ flex:0 0 100%; min-width:100%; }
.hqv-vbslider__dots{ position:absolute; left:0; right:0; bottom:22px; z-index:6; display:flex; gap:10px; justify-content:center; }
.hqv-vbdot{ width:11px; height:11px; padding:0; border:2px solid rgba(255,255,255,.9); border-radius:999px; background:transparent; cursor:pointer; transition: all .25s ease; opacity:.85; box-shadow:0 1px 4px rgba(0,0,0,.35); }
.hqv-vbdot:hover{ opacity:1; }
.hqv-vbdot.is-active{ background: var(--fv-primary,#F5A300); border-color: var(--fv-primary,#F5A300); opacity:1; width:30px; }

/* Baner */
.hqv-vbanner{ position:relative; overflow:hidden; display:flex; align-items:center;
  background:
    radial-gradient(1100px 560px at 80% -12%, rgba(245,163,0,.20), transparent 60%),
    radial-gradient(800px 420px at 8% 115%, rgba(22,199,132,.10), transparent 55%),
    linear-gradient(180deg, #0A0E17 0%, #0C1220 60%, #0A0E17 100%);
}
.hqv-vbanner--strip{ min-height:150px; height:150px; }
.hqv-vbanner--small{ min-height:320px; }
.hqv-vbanner--medium{ min-height:460px; }
.hqv-vbanner--large{ min-height:560px; }
.hqv-vbanner--full{ min-height:88vh; }
.hqv-vbanner__media{ position:absolute; inset:0; z-index:1; }
.hqv-vbanner__media video,
.hqv-vbanner__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hqv-vbanner__media iframe{ position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-height:100%; min-width:177.78vh; transform:translate(-50%,-50%); border:0; pointer-events:none; }
.hqv-vbanner__overlay{ position:absolute; inset:0; z-index:2; }
.hqv-vbanner__inner{ position:relative; z-index:3; width:100%; }
.hqv-vbanner__content{ max-width:640px; color:#fff; padding: 56px 0; }
.hqv-vbanner.is-center .hqv-vbanner__content{ margin:0 auto; text-align:center; }
.hqv-vbanner__title{ font-family: var(--fv-font-display, inherit); color:#fff; font-size: clamp(30px,4.4vw,58px); font-weight:800; line-height:1.04; margin:0 0 16px; letter-spacing:-.02em; text-shadow:0 2px 18px rgba(0,0,0,.45); }
.hqv-vbanner__sub{ color: rgba(255,255,255,.92); font-size:19px; line-height:1.55; margin:0 0 28px; max-width:54ch; text-shadow:0 1px 10px rgba(0,0,0,.45); }
.hqv-vbanner.is-center .hqv-vbanner__sub{ margin-left:auto; margin-right:auto; }

/* Pasek (150px): tytuł + przycisk w rzędzie */
.hqv-vbanner--strip .hqv-vbanner__content{ max-width:none; padding:0; display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; }
.hqv-vbanner--strip.is-center .hqv-vbanner__content{ justify-content:center; text-align:center; }
.hqv-vbanner--strip .hqv-vbanner__title{ font-size: clamp(17px,2.1vw,26px); margin:0; }
.hqv-vbanner--strip .hqv-vbanner__sub{ display:none; }
.hqv-vbanner--strip .hqv-btn{ flex-shrink:0; margin:0; }

@media (max-width:640px){
  .hqv-vbanner--large,.hqv-vbanner--full{ min-height:440px; }
  .hqv-vbanner--medium{ min-height:360px; }
  .hqv-vbanner__content{ padding: 40px 0; }
  .hqv-vbanner__sub{ font-size:17px; }
}
