:root{--bg1:#ffd6f5;--bg2:#ffc5ec;--surface:#fff;--text:#2b2232;--muted:#7b6a83;--primary:#ff4fa3;--primary-2:#ff86c6;--accent:#ffb7e8;--radius:20px}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Poppins,sans-serif;color:var(--text);background:radial-gradient(circle at 50% 20%,var(--bg1),var(--bg2)) fixed;overflow-x:hidden;position:relative}
.wrap{max-width:820px;margin:0 auto;padding:44px 20px 64px;position:relative;z-index:2}
.hearts{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.heart{position:absolute;color:rgba(255,255,255,.85);font-size:20px;animation:floatDown linear infinite}
@keyframes floatDown{0%{transform:translateY(-10%);opacity:1}100%{transform:translateY(200vh);opacity:0}}
.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)}}
.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 10px;border:4px solid rgba(255,255,255,.85);box-shadow:0 0 20px rgba(255,153,204,.4)}
h1{font-size:34px;margin:6px 0 2px;color:var(--primary);text-shadow:0 2px 6px rgba(255,105,180,.18)}
.subtitle{color:var(--muted);font-weight:500}

.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,#fff,#fff0f8);border:1px solid rgba(255,255,255,.8);box-shadow:0 6px 18px rgba(255,100,170,.2);text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease}
.tile:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 34px rgba(255,105,180,.34)}
.tile-title{display:block;font-weight:600;font-size:16px;margin-bottom:6px;color:var(--primary)}
.tile-desc{color:var(--muted);font-size:14px}
.tile-primary{background:linear-gradient(135deg,#ffb6e9,#ff87cf);border-color:#ff8ad1;box-shadow:0 0 25px rgba(255,130,200,.55),0 0 45px rgba(255,160,220,.35);animation:glow 3s ease-in-out infinite alternate;color:#fff}
.tile-primary .tile-title{color:#fff}
.tile-primary .tile-desc{color:#fffde8}
@keyframes glow{0%{box-shadow:0 0 15px rgba(255,130,200,.45),0 0 25px rgba(255,160,220,.25)}100%{box-shadow:0 0 30px rgba(255,130,200,.8),0 0 60px rgba(255,160,220,.55)}}

.section-heading{text-align:center;margin:22px 0 14px}
.section-heading h2{font-size:22px;font-weight:700;color:var(--primary)}

.premium{max-width:720px;margin:0 auto 28px;position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 0 25px rgba(255,120,190,.3);animation:fadeIn 1.2s ease both}
.premium::before{content:"";position:absolute;inset:0;background:url('https://i.imgur.com/5egbwBS.jpeg') center/cover no-repeat;filter:blur(10px);z-index:0;transform:scale(1.1)}
.premium::after{content:"";position:absolute;inset:0;background:rgba(255, 201, 228, 0);z-index:1}
.premium-card{position:relative;z-index:2;text-align:center;padding:32px 24px}
.premium-card h3{margin:0 0 10px;font-size:20px;color:#ffffff}
.premium-card p{margin:0 0 18px;color:#ffffff}
.cta{display:inline-block;background:linear-gradient(135deg,#ff7fb0,var(--primary));color:#fff;font-weight:600;padding:12px 24px;border-radius:999px;text-decoration:none;box-shadow:0 6px 20px rgba(255,105,180,.45);transition:transform .22s ease,box-shadow .22s ease}
.cta:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 28px rgba(255,105,180,.55)}

.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 (ikonki SVG zamiast PNG, łatwa zmiana koloru) */
.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(255,255,255,.95);border-radius:var(--radius);padding:16px 20px;box-shadow:0 6px 18px rgba(255,105,180,.3);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:#ffb700}
.icon--diamond{color:#5ac7ff}
@media (prefers-color-scheme: dark){.icon--star{color:#ffd54d}.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 */
.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)}
.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,#fff,#fff0f8);box-shadow:0 10px 28px rgba(255,105,180,.28), inset 0 1px 0 rgba(255,255,255,.8); 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 3px rgba(255,255,255,.9),0 6px 18px rgba(255,105,180,.25)}
.testi-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.testi-name{font-weight:700}
.testi-time{font-size:12px;color:var(--muted)}
.testi-text{grid-column:1/-1;color:#3a2e45}

.testi-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #ffd1f0;box-shadow:0 10px 24px rgba(255,105,180,.32);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:#ffd3ef;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}
.testi-dot.active{background:linear-gradient(135deg,var(--primary-2),var(--primary));box-shadow:0 6px 16px rgba(255,105,180,.45)}

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