@font-face {
  font-family: 'Lava Pro Grunge';
  src: url('/assets/fonts/lava.ttf') format('truetype');
  font-display: block;
}
@font-face {
  font-family: 'Antio';
  src: url('/assets/fonts/antio.otf') format('opentype');
  font-display: block;
}

:root { 
  --accent: #ffde59; 
  --pay-top-offset: calc(100vw * 100 / 1920);
  
  /* Dokładna, potężna wysokość z Home Page */
  --pay-desktop-page-height: clamp(1360px, calc(100vw * 1780 / 1920), 2600px);
  
  /* Równy margines z GÓRY i z DOŁU. Gwarantuje idealne wyśrodkowanie boxa w pionie. */
  --pay-panel-gap: clamp(160px, 14vw, 280px); 
}

html {
  height: 100%;
}

/* =======================================================
   GŁÓWNA STRUKTURA (DESKTOP)
======================================================= */
body.single-master-page.payments-page {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  /* Pozwalamy naturalnie scrolować dłuuugi kontener z płatnościami */
  overflow-y: auto !important; 
  overflow-x: hidden;
  background-color: #1a1a1a !important;
}

body.single-master-page.payments-page .payments-main {
  position: relative !important;
  width: 100%;
  
  /* Absolutnie sztywna wysokość dla strony płatności - zawartość przewija się poprzez scroll przeglądarki */
  height: var(--pay-desktop-page-height) !important;
  min-height: var(--pay-desktop-page-height) !important;
  box-sizing: border-box !important;
  
  background-color: #1a1a1a !important;
  background-image: url('/assets/Background.png') !important;
  background-size: 100% 100% !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  
  padding-top: var(--pay-top-offset) !important;
  overflow: hidden !important; 
}

/* GRADIENTOWE BIAŁE LINIE W PIONIE */
body.single-master-page.payments-page .payments-main::before,
body.single-master-page.payments-page .payments-main::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 35;
  height: clamp(6px, 0.42vw, 10px);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.96) 3%,
    rgba(255,255,255,0.98) 97%,
    rgba(255,255,255,0) 100%
  );
  box-shadow: 0 0 10px rgba(255,255,255,0.15);
}

body.single-master-page.payments-page .payments-main::before {
  top: calc((100vw * 90 / 1920) - (clamp(6px, 0.42vw, 10px) / 2));
  display: none;
}

body.single-master-page.payments-page .payments-main::after {
  bottom: 0;
}

/* =======================================================
   WARSTWY I ASSETY SVG
======================================================= */
.payments-decor-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.pay-deco {
  position: absolute !important;
  display: block !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  z-index: 1 !important;
}

/* 1. NAPIS PŁATNOŚCI (PAYMENTS 2.svg) - NA SAMEJ GÓRZE, ZARAZ POD BIAŁĄ LINIĄ */
.pay-title {
  left: 50% !important;
  transform: translateX(-50%) !important;
  top: calc(var(--pay-top-offset) + 15px) !important; /* Przyklejony idealnie pod białą linią navbara */
  width: clamp(140px, 11vw, 230px) !important;
  height: auto !important;
}

/* 2. WOREK Z PIENIĘDZMI (PAYMENTS.svg) - ZMNIEJSZONY, OBRÓCONY, BARDZIEJ W LEWO */
.pay-bag {
  bottom: 0 !important; 
  left: -5% !important; /* Mocniej wypchnięty do lewej krawędzi */
  width: clamp(500px, 40vw, 1000px) !important; /* Zmniejszony rozmiar */
  
  /* Obniżenie (translateY) ucinające puste tło i rotacja w prawo o 5 stopni (rotate) */
  transform: translateY(42%) rotate(5deg) !important; 
}

/* 3. BAZGROŁY (PAYMENTS 1.svg) - STICKY DO PRAWEJ KRAWĘDZI EKRANU */
.pay-scribbles {
  top: 50% !important;
  right: 0 !important; 
  /* Wypycha 50% szerokości grafiki za ekran w prawo i centruje w osi pionowej */
  transform: translate(50%, -50%) !important; 
  width: clamp(550px, 45vw, 1100px) !important; 
}


/* =======================================================
   ZAWARTOSĆ TEKSTOWA I KONTENERY
======================================================= */
.payments-content-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 50 !important;
  pointer-events: none !important;
}

/* Kontener centralny - wypełnia przestrzeń pomiędzy liniami */
.payments-wrapper {
  position: relative;
  width: 100%;
  height: 100%; 
  display: flex;
  justify-content: center;
  align-items: center; /* Zapewnia RÓWNY margines od białej linii górnej i dolnej! */
}

/* Główny kontener tekstu */
.payments-panel {
  margin-top: 0 !important; 
  width: clamp(320px, 90vw, 980px);
  
  /* Wysokość odcina po równo z góry i dołu wartość var(--pay-panel-gap) */
  height: calc(100% - (2 * var(--pay-panel-gap))); 
  
  pointer-events: auto;
  user-select: text;
  background: transparent;
  display: flex;
  flex-direction: column;
}

/* Wewnętrzne scrollowanie boxa */
.payments-scroll {
  flex: 1;
  height: auto !important; 
  overflow-y: auto;
  padding-right: 15px;
  pointer-events: auto;
}

/* Scrollbar - Dokładnie jak w oryginale */
.payments-scroll::-webkit-scrollbar { width: 10px; }
.payments-scroll::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.25);
  border-radius: 10px;
}
.payments-scroll::-webkit-scrollbar-track {
  background: rgba(0,0,0,.12);
  border-radius: 10px;
}

/* TYPOGRAFIA */
.payments-text {
  font-family: 'Antio', sans-serif;
  font-size: clamp(16px, 1.3vw, 21px);
  line-height: 1.55;
  color: rgba(255,255,255,.93);
  text-shadow: 0 2px 12px rgba(0,0,0,.75);
}

.payments-h3 {
  font-family: 'Lava Pro Grunge', cursive;
  font-size: clamp(22px, 1.8vw, 28px);
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.65);
  margin: 24px 0 10px 0;
  letter-spacing: .3px;
  text-align: left;
  opacity: 0;
}
html.fonts-loaded .payments-h3 { opacity: 1; transition: opacity 0.3s; }

.payments-text ul { margin: 10px 0 0 18px; }
.payments-text li { margin: 6px 0; }

.payments-links a {
  color: #ffde59;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,222,89,.9);
}
.payments-links a:hover { border-bottom-style: solid; }

.payments-meta {
  margin-top: 24px;
  text-align: center;
  font-family: 'Antio', sans-serif;
  font-size: clamp(14px, 1vw, 16px);
  color: rgba(255,255,255,.92);
  text-shadow: 0 2px 10px rgba(0,0,0,.65);
}

/* =======================================================
   Wersja MOBILE
======================================================= */
@media (max-width: 900px) {
  body.single-master-page.payments-page .payments-main {
    padding-top: 96px !important;
    padding-bottom: 30px !important;
    
    /* Na mobile strona rośnie do treści - resetujemy sztywną potężną wysokość */
    height: auto !important;
    min-height: calc(100dvh - 90px) !important;
    
    overflow: visible !important;
  }

  /* Usunięcie górnej linii i całych grafik na telefonach */
  body.single-master-page.payments-page .payments-main::before,
  .payments-decor-layer {
    display: none !important;
  }

  .payments-content-layer {
    position: relative !important;
    inset: auto !important;
  }

  .payments-wrapper {
    height: auto !important;
    padding-top: 2vh !important;
    display: block !important; 
  }

  .payments-panel {
    margin-top: 0 !important;
    width: 94vw !important;
    height: auto !important;
    margin: 0 auto;
  }

  /* Usuwamy podwójny scroll - przewija cała strona */
  .payments-scroll {
    height: auto !important;
    overflow-y: visible !important;
    padding-right: 0 !important;
  }
}