:root{
  --bg1:#050404;        /* czarne tło */
  --bg2:#0a0a0a;        /* głębsza czerń */
  --surface:#110d0d;    /* karty / popupy */
  --text:#f5e6f9;       /* jasny różowo-biały */
  --muted:#b56dbb;      /* przygaszony fioletowy róż */
  --primary:#ff4fc3;    /* neonowy róż */
  --primary-2:#e812a2;  /* mocniejszy fiolet/róż */
  --accent:#e812a2;     /* akcent */
  --radius:20px
}

*{box-sizing:border-box}
html,body{height:100%}

/* Tło */
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:var(--text);
  background:radial-gradient(1200px 800px at 50% 15%, #180616 0%, var(--bg1) 35%, var(--bg2) 100%) fixed;
  overflow-x:hidden;
  position:relative;
}

body::after{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.04) 0.75px, transparent 0.75px);
  background-size:3px 3px;
  mix-blend-mode:overlay; opacity:.35;
}

.wrap{max-width:820px;margin:0 auto;padding:44px 20px 64px;position:relative;z-index:2}

/* Animacja serc */
.hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.heart{position:absolute;color:rgba(255,79,195,.35);font-size:20px;animation:floatDown linear infinite;filter:blur(.1px)}
@keyframes floatDown{0%{transform:translateY(-10%);opacity:.9}100%{transform:translateY(200vh);opacity:0}}

/* Hero av i naglowki */
.hero{text-align:center;margin-bottom:26px;animation:fadeIn .8s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Rogi przy avatarze */
.hero {
  position: relative; /* ważne dla pseudo-elementów */
}

.hero::before,
.hero::after {
  content:"";
  position:absolute;
  top:-12px; /* wysokość rogów względem zdjęcia */
  width:32px;
  height:44px;
  background:linear-gradient(180deg,var(--primary),#5c0040);
  clip-path:polygon(50% 0, 0 100%, 100% 100%);
  filter:drop-shadow(0 0 6px rgba(255,79,195,.6))
         drop-shadow(0 0 14px rgba(255,79,195,.45));
  z-index:1; /* niżej niż avatar */
  pointer-events:none;
}

.hero::before {
  left:calc(50% - 60px); /* odległość lewego rogu */
  transform:rotate(-16deg);
}

.hero::after {
  left:calc(50% + 28px); /* odległość prawego rogu */
  transform:rotate(16deg);
}

.avatar {
  width:110px;
  height:110px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  margin:0 auto 10px;
  border:2px solid var(--primary);
  box-shadow:0 0 0 3px rgba(0,0,0,.35),
             0 0 24px rgba(255,79,195,.55);
  position: relative;
  z-index: 3; /* avatar nad rogami */
}


/* NEONKI */
h1{
  font-family: "Neonderthaw", cursive;
  font-size:36px;
  margin:6px 0 2px;
  color:var(--primary);
  letter-spacing:.4px;
  transition: all 0.3s ease;
}

h1:hover{
  text-shadow:
    0 0 6px var(--primary),
    0 0 12px var(--primary),
    0 0 18px var(--primary-2),
    0 0 28px var(--primary-2),
    0 0 38px var(--primary-2);
  filter:brightness(115%);
}

h2{
  font-family:"Times New Roman", serif;
  font-size:22px;
  font-weight:700;
  color:var(--primary);
  letter-spacing:.3px;
  transition: all 0.3s ease;
}

h2:hover{
  text-shadow:
    0 0 4px var(--primary),
    0 0 8px var(--primary),
    0 0 14px var(--primary-2),
    0 0 20px var(--primary-2);
  filter:brightness(115%);
}


.subtitle{
  color:var(--muted);
  font-weight:400;
  font-style:italic;
}

/* Kafelki */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px auto 28px;max-width:720px}
.tile{
  display:block;padding:20px;border-radius:var(--radius);
  background:linear-gradient(180deg,#1a0e17,#0d0b0e);
  border:1px solid rgba(255,79,195,.35);
  box-shadow:0 6px 18px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
  text-decoration:none;color:inherit;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tile:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 12px 34px rgba(0,0,0,.65), 0 0 20px rgba(255,79,195,.45) inset;
  border-color:rgba(255,79,195,.55);
}
.tile-title{
  display:block;font-weight:600;font-size:16px;margin-bottom:6px;color:var(--primary);
  letter-spacing:.2px
}
.tile-desc{color:var(--muted);font-size:14px}

.tile-primary{
  background:linear-gradient(135deg,#300828,#5a0f40);
  border-color:rgba(255,79,195,.65);
  box-shadow:0 0 30px rgba(255,79,195,.55), 0 0 55px rgba(255,79,195,.35);
  animation:glow 3s ease-in-out infinite alternate;
  color:#fff;
}
.tile-primary .tile-title{color:var(--primary)}
.tile-primary .tile-desc{color:#fce9f7}
@keyframes glow{
  0%{box-shadow:0 0 16px rgba(255,79,195,.35), 0 0 28px rgba(232,18,162,.25)}
  100%{box-shadow:0 0 30px rgba(255,79,195,.65), 0 0 70px rgba(232,18,162,.45)}
}

/* Sekcja Premium */
.section-heading{text-align:center;margin:22px 0 14px}
.section-heading h2{
  font-family:"Times New Roman", serif;
  font-size:22px;font-weight:700;color:var(--primary);
  letter-spacing:.3px
}

.premium{
  max-width:720px;margin:0 auto 28px;position:relative;border-radius:var(--radius);
  overflow:hidden;box-shadow:0 0 25px rgba(0,0,0,.55);
  animation:fadeIn 1.2s ease both
}
.premium::before{
  content:"";position:absolute;inset:0;
  background:url('https://i.imgur.com/aqmVu4N.jpeg') center/cover no-repeat;
  filter:grayscale(.35) brightness(.55) blur(10px);z-index:0;transform:scale(1.1)
}
.premium::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0, 0, 0, 0.123), rgba(0,0,0,.15));z-index:1}
.premium-card{
  position:relative;z-index:2;text-align:center;padding:32px 24px;
  background:rgba(40,15,33,0.8);
  border:1px solid rgba(255,79,195,.55);
  border-radius:var(--radius);
  box-shadow:0 0 35px rgba(255,79,195,.45);
  backdrop-filter:saturate(120%) blur(3px);
}
.premium-card h3{
  margin:0 0 10px;font-size:22px;color:var(--primary);
  font-family:"Times New Roman", serif;
}
.premium-card p{margin:0 0 18px;color:var(--muted)}

/* CTA */
.cta{
  display:inline-block;background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;font-weight:700;padding:12px 24px;border-radius:999px;text-decoration:none;
  box-shadow:0 6px 20px rgba(255,79,195,.45), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
  letter-spacing:.3px
}
.cta:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 10px 28px rgba(255,79,195,.65);
  filter:saturate(120%)
}

/* Stopka */
.site-footer{text-align:center;margin-top:34px;color:var(--muted)}
.links{display:flex;gap:20px;justify-content:center;margin-bottom:10px}
.links a{color:inherit;text-decoration:none}
.links a:hover{text-decoration:underline}
.small{font-size:12px}

/* Popup */
.popup-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}
.popup{
  position:relative;display:flex;align-items:center;gap:12px;
  background:rgba(40,15,33,.96);
  border-radius:var(--radius);
  padding:16px 20px;
  border:1px solid rgba(255,79,195,.45);
  box-shadow:0 6px 18px rgba(0,0,0,.6);
  animation:fadeIn .6s ease;max-width:360px;min-width:260px
}
.popup .icon{width:40px;height:40px;display:grid;place-items:center}
.popup .icon svg{width:24px;height:24px;display:block}
.icon--calendar{color:var(--primary)}
.icon--star{color:#ff85ff}
.icon--diamond{color:#5ac7ff}
@media (prefers-color-scheme: dark){.icon--star{color:#ff9bff}.icon--diamond{color:#84d8ff}}
.popup p{margin:0;font-size:15px}
.popup .time{font-size:12px;color:var(--muted)}
.popup .close-btn{position:absolute;top:6px;right:10px;font-size:16px;color:var(--muted);cursor:pointer}
.popup .close-btn:hover{color:var(--primary)}

/* === Opinie / slider === */
.testimonials{max-width:820px;margin:14px auto 36px;padding:6px 0}
.testi-head{text-align:center;margin-bottom:14px}
.testi-head h2{
  margin:0 0 4px;
  color:var(--primary);
  font-family:"Times New Roman", serif;
}
.testi-head .muted{margin:0;color:var(--muted);font-size:14px}

.testi-shell{position:relative}
.testi-viewport{
  overflow:hidden;border-radius:24px;
  background:linear-gradient(180deg,#21081d,#120411);
  box-shadow:0 10px 28px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.05);
  min-height:160px; position:relative;
}
.testi-track{display:flex;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.testi-slide{
  min-width:100%;padding:22px 22px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center; position:relative;
}
.testi-avatar{
  width:60px;height:60px;border-radius:50%;object-fit:cover;
  box-shadow:0 0 0 2px rgba(255,255,255,.08),0 6px 18px rgba(0,0,0,.45)
}
.testi-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.testi-name{font-weight:700; color:var(--primary)}
.testi-time{font-size:12px;color:var(--muted)}
.testi-text{grid-column:1/-1;color:var(--text)}

.testi-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  background:linear-gradient(180deg,#21081d,#120411);
  border:1px solid rgba(255,79,195,.35);
  box-shadow:0 10px 24px rgba(0,0,0,.55);
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;font-size:22px;color:var(--primary);
  cursor:pointer; z-index:10;
}
.testi-nav.prev{left:-12px}
.testi-nav.next{right:-12px}

.testi-dots{display:flex;justify-content:center;gap:8px;margin-top:10px}
.testi-dot{
  width:8px;height:8px;border-radius:999px;background:#3d0f30;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.06)
}
.testi-dot.active{
  background:linear-gradient(135deg,var(--primary-2),var(--primary));
  box-shadow:0 6px 16px rgba(255,79,195,.55)
}

@media (max-width:560px){
  .tiles{grid-template-columns:1fr}
  .testi-slide{padding:18px}
}

:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
  border-radius:8px;
}
