@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; 
  /* Zmienna offsetu z payments.css */
  --policy-top-offset: calc(100vw * 100 / 1920);
  
  --policy-desktop-page-height: clamp(1360px, calc(100vw * 1780 / 1920), 2600px);
  
  /* IDENTYCZNY ODSTĘP GÓRNY JAK W PŁATNOŚCIACH */
  --policy-panel-top-gap: clamp(160px, 14vw, 280px); 
  
  /* Mniejszy odstęp dolny, by okno z tekstem mogło być wyższe (rozciągnięte w dół) */
  --policy-panel-bottom-gap: clamp(60px, 8vw, 150px); 
}

html {
  height: 100%;
}

/* =======================================================
   GŁÓWNA STRUKTURA (DESKTOP)
======================================================= */
body.single-master-page.policy-page {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  /* Pozwalamy naturalnie scrolować dłuuugi kontener z polityką */
  overflow-y: auto !important; 
  overflow-x: hidden;
  background-color: #1a1a1a !important;
}

body.single-master-page.policy-page .policy-main {
  position: relative !important;
  width: 100%;
  
  /* Absolutnie sztywna wysokość. Zawartość będzie scrolować pod spodem wewnatrz boxa */
  height: var(--policy-desktop-page-height) !important;
  min-height: var(--policy-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;
  
  /* Elastyczny padding-top identyczny jak w payments.css */
  padding-top: var(--policy-top-offset) !important;
  overflow: hidden !important; 
}

/* GRADIENTOWE BIAŁE LINIE W PIONIE (Navbar i Stopka) */
body.single-master-page.policy-page .policy-main::before,
body.single-master-page.policy-page .policy-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);
}

/* Dokładne wyliczenie linii pod navbarem z payments.css */
body.single-master-page.policy-page .policy-main::before {
  top: calc((100vw * 90 / 1920) - (clamp(6px, 0.42vw, 10px) / 2));
  display: none;
}

body.single-master-page.policy-page .policy-main::after {
  bottom: 0;
}

/* =======================================================
   WARSTWY I ASSETY SVG
======================================================= */
.policy-decor-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.policy-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. TYTUŁ Z GRAFIKI (Privacy 2.svg) - ZAWIESZONY NA ŚRODKU */
.policy-title-img {
  left: 50% !important;
  transform: translateX(-50%) !important;
  /* Top: Sztywna baza z navbara + 15px (dokładnie tyle samo co w payments.css) */
  top: calc(var(--policy-top-offset) + 15px) !important; 
  width: clamp(250px, 20vw, 450px) !important; 
  height: auto !important;
}

/* 2. ZĘBATKI/LUPA/UWAGA (Privacy.svg) - PRAWY DÓŁ (ZMIANA: W dół i w prawo) */
.policy-gears {
  /* Zmniejszone wartości bottom i right przesuwają element bliżej krawędzi (w dół i w prawo) */
  bottom: clamp(40px, 10vw, 120px) !important; 
  right: clamp(20px, 5vw, 100px) !important; 
  left: auto !important; 
  width: clamp(250px, 20vw, 400px) !important; 
  transform: none !important; 
}

/* 3. BAZGROŁY ZIELONO-CZERWONE (Privacy 1.svg) - LEWY ŚRODEK */
.policy-squiggles {
  top: 50% !important; 
  left: 0 !important; 
  right: auto !important; 
  transform: translate(-60%, -50%) !important; 
  width: clamp(400px, 35vw, 800px) !important; 
}


/* =======================================================
   ZAWARTOSĆ TEKSTOWA I KONTENERY
======================================================= */
.policy-content-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 50 !important;
  pointer-events: none !important;
}

/* Wypełnia idealnie przestrzeń pomiędzy białymi liniami */
.policy-wrapper {
  position: relative;
  width: 100%;
  height: 100%; 
  display: flex;
  justify-content: center;
  align-items: flex-start; /* Zapewnia twarde egzekwowanie margin-top */
}

/* GŁÓWNY KONTENER TEKSTU - KOMPLETNIE PRZEZROCZYSTY */
.policy-panel {
  /* Identyczny odstęp od górnej białej linii, co w payments.css! */
  margin-top: var(--policy-panel-top-gap) !important; 
  
  width: clamp(320px, 90vw, 980px);
  
  /* Wysokość to cała przestrzeń minus stały odstęp górny i zmniejszony dolny (by wydłużyć okno) */
  height: calc(100% - var(--policy-panel-top-gap) - var(--policy-panel-bottom-gap)); 
  
  pointer-events: auto;
  user-select: text;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  
  display: flex;
  flex-direction: column;
}

/* Okno przewijane wypełnia do końca panel i przejmuje jego flex space */
.policy-scroll {
  flex: 1;
  height: auto !important; 
  overflow-y: auto;
  padding-right: 15px;
  pointer-events: auto;
}

/* Scrollbar */
.policy-scroll::-webkit-scrollbar { width: 10px; }
.policy-scroll::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.25);
  border-radius: 10px;
}
.policy-scroll::-webkit-scrollbar-track {
  background: rgba(0,0,0,.12);
  border-radius: 10px;
}

/* TYPOGRAFIA */
.policy-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);
}

.policy-text 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;
}

.policy-text p { margin: 10px 0; }
.policy-text ul { margin: 10px 0 10px 18px; }
.policy-text li { margin: 6px 0; }

.policy-divider { margin: 0 10px; opacity: .7; }

.policy-link {
  color: #ffde59;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,222,89,.9);
}
.policy-link:hover { border-bottom-style: solid; }

.policy-bottom-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);
}

.policy-bottom-line {
  display: inline-block; 
}

/* =======================================================
   Wersja MOBILE
======================================================= */
@media (max-width: 900px) {
  body.single-master-page.policy-page .policy-main {
    padding-top: 96px !important;
    padding-bottom: 30px !important;
    
    /* Na mobile wysokość dopasowuje się do czytanego tekstu! */
    height: auto !important;
    min-height: calc(100dvh - 90px) !important;
    
    overflow: visible !important;
  }

  /* Wyłączenie górnej białej linii i wszystkich SVG na telefonie */
  body.single-master-page.policy-page .policy-main::before,
  .policy-decor-layer {
    display: none !important;
  }

  .policy-content-layer {
    position: relative !important;
    inset: auto !important;
  }

  .policy-wrapper {
    height: auto !important;
    padding-top: 2vh !important;
    display: block !important; 
  }

  .policy-panel {
    /* Na mobile resetujemy te potężne górne marginesy */
    margin-top: 0 !important;
    width: 94vw !important;
    height: auto !important;
    margin: 0 auto;
  }

  /* Brak drugiego paska przewijania w środku okna – na mobile scrolluje cała strona */
  .policy-scroll {
    height: auto !important;
    overflow-y: visible !important;
    padding-right: 0 !important;
  }
}