
/* =========================================================
   DZIAŁ: MULTIMEDIA I ANIMACJE NAUKOWE
   Fizyka + Chemia + Weterynaria
   ========================================================= */

.science-zone{
    position:relative;
    padding:70px 18px;
    background:
        radial-gradient(circle at 15% 20%, rgba(0,212,255,.22), transparent 28%),
        radial-gradient(circle at 85% 18%, rgba(0,255,136,.14), transparent 26%),
        linear-gradient(135deg,#00112f,#003477 50%,#001a3f);
    color:#fff;
    overflow:hidden;
}

.science-zone::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.55) 1px, transparent 1px),
        radial-gradient(circle, rgba(0,212,255,.38) 1px, transparent 1px);
    background-size:34px 34px, 58px 58px;
    opacity:.2;
    animation:scienceStars 18s linear infinite;
}

@keyframes scienceStars{
    from{transform:translateY(0)}
    to{transform:translateY(-70px)}
}

.science-zone-inner{
    position:relative;
    max-width:1200px;
    margin:auto;
    z-index:2;
}

.science-zone-title{
    text-align:center;
    margin-bottom:36px;
}

.science-zone-title span{
    display:inline-block;
    padding:9px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.2);
    color:#9fe7ff;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-size:.85rem;
}

.science-zone-title h2{
    margin:16px 0 10px;
    font-size:clamp(2rem,5vw,4rem);
    line-height:1.05;
}

.science-zone-title p{
    max-width:820px;
    margin:auto;
    color:rgba(255,255,255,.86);
    font-size:clamp(1rem,2.4vw,1.18rem);
}

.science-zone-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.science-module{
    position:relative;
    min-height:420px;
    padding:26px;
    border-radius:30px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 24px 70px rgba(0,0,0,.32);
    overflow:hidden;
    backdrop-filter:blur(12px);
    animation:moduleFloat 6s ease-in-out infinite;
}

.science-module:nth-child(2){animation-delay:1s}
.science-module:nth-child(3){animation-delay:2s}

@keyframes moduleFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}

.science-module h3{
    margin:0 0 10px;
    font-size:1.55rem;
}

.science-module p{
    color:rgba(255,255,255,.88);
    line-height:1.55;
    margin:0 0 18px;
}

.science-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(0,212,255,.16);
    border:1px solid rgba(0,212,255,.32);
    color:#bff4ff;
    font-size:.9rem;
    font-weight:700;
}

/* FIZYKA — ruch planet */
.orbit-scene{
    position:relative;
    height:245px;
    margin:20px auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.sun{
    position:absolute;
    width:62px;
    height:62px;
    border-radius:50%;
    background:radial-gradient(circle,#fff7a8 0%,#ffd000 42%,#ff7a00 78%);
    box-shadow:0 0 45px rgba(255,208,0,.95), 0 0 90px rgba(255,122,0,.45);
    animation:sunPulse 2.3s ease-in-out infinite;
}

@keyframes sunPulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.08)}
}

.orbit{
    position:absolute;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50%;
    animation:orbitRotate linear infinite;
}

.orbit.one{width:115px;height:115px;animation-duration:5s}
.orbit.two{width:170px;height:170px;animation-duration:8s}
.orbit.three{width:226px;height:226px;animation-duration:12s}

.planet{
    position:absolute;
    top:50%;
    right:-7px;
    width:14px;
    height:14px;
    margin-top:-7px;
    border-radius:50%;
    background:#56d9ff;
    box-shadow:0 0 15px rgba(86,217,255,.9);
}

.orbit.two .planet{
    width:18px;
    height:18px;
    right:-9px;
    margin-top:-9px;
    background:#00ff88;
    box-shadow:0 0 16px rgba(0,255,136,.9);
}

.orbit.three .planet{
    width:21px;
    height:21px;
    right:-10px;
    margin-top:-10px;
    background:#ff77f7;
    box-shadow:0 0 18px rgba(255,119,247,.9);
}

@keyframes orbitRotate{
    to{transform:rotate(360deg)}
}

.physics-flash{
    position:absolute;
    left:-40%;
    top:12%;
    width:45%;
    height:70%;
    background:linear-gradient(115deg,transparent,rgba(255,255,255,.72),rgba(0,212,255,.58),transparent);
    filter:blur(2px);
    transform:skewX(-22deg);
    animation:zoneFlash 4s ease-in-out infinite;
}

@keyframes zoneFlash{
    0%{left:-55%;opacity:0}
    14%{opacity:.9}
    42%{left:110%;opacity:.6}
    55%,100%{left:110%;opacity:0}
}

/* CHEMIA — reakcja */
.chem-scene{
    position:relative;
    height:245px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin:20px auto 18px;
}

.flask{
    position:relative;
    width:110px;
    height:150px;
}

.flask-neck{
    position:absolute;
    left:39px;
    top:0;
    width:32px;
    height:52px;
    border:4px solid rgba(255,255,255,.88);
    border-bottom:none;
    border-radius:12px 12px 0 0;
}

.flask-body{
    position:absolute;
    left:6px;
    bottom:0;
    width:98px;
    height:105px;
    border:4px solid rgba(255,255,255,.88);
    border-radius:18px 18px 38px 38px;
    overflow:hidden;
}

.flask-liquid{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:58%;
    background:linear-gradient(180deg,#91fff7,#13d56f);
    animation:flaskLiquid 2.2s ease-in-out infinite;
}

@keyframes flaskLiquid{
    0%,100%{height:52%;filter:hue-rotate(0deg)}
    50%{height:67%;filter:hue-rotate(70deg)}
}

.chem-bubble{
    position:absolute;
    bottom:18px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:rgba(255,255,255,.9);
    animation:chemBubble 2s linear infinite;
}

.chem-bubble.b1{left:23px;animation-delay:0s}
.chem-bubble.b2{left:48px;animation-delay:.35s}
.chem-bubble.b3{left:69px;animation-delay:.75s}
.chem-bubble.b4{left:36px;animation-delay:1.05s}

@keyframes chemBubble{
    0%{transform:translateY(0) scale(.5);opacity:0}
    20%{opacity:1}
    100%{transform:translateY(-106px) scale(1.3);opacity:0}
}

.molecule{
    position:relative;
    width:120px;
    height:120px;
    animation:moleculeSpin 5.5s linear infinite;
}

.molecule .m-atom{
    position:absolute;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#4de1ff;
    box-shadow:0 0 18px rgba(77,225,255,.9);
}

.molecule .m-atom:nth-child(1){left:48px;top:0;background:#fff}
.molecule .m-atom:nth-child(2){left:0;top:72px;background:#00ff88}
.molecule .m-atom:nth-child(3){right:0;top:72px;background:#ff77f7}

.molecule .bond{
    position:absolute;
    height:4px;
    width:78px;
    background:rgba(255,255,255,.6);
    left:24px;
    top:60px;
    transform-origin:center;
}

.molecule .bond.bond1{transform:rotate(55deg)}
.molecule .bond.bond2{transform:rotate(-55deg)}

@keyframes moleculeSpin{
    to{transform:rotate(360deg)}
}

/* WETERYNARIA — EKG + łapa */
.vet-scene{
    position:relative;
    height:245px;
    margin:20px auto 18px;
    border-radius:24px;
    background:rgba(0,0,0,.24);
    overflow:hidden;
}

.ekg-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(0,255,136,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,255,136,.14) 1px, transparent 1px);
    background-size:22px 22px;
    animation:ekgGrid 8s linear infinite;
}

@keyframes ekgGrid{
    to{background-position:44px 0}
}

.ekg-wave{
    position:absolute;
    left:-50%;
    top:48%;
    width:190%;
    height:5px;
    background:linear-gradient(90deg,
        transparent 0%,
        #00ff88 18%,
        #00ff88 26%,
        transparent 27%,
        transparent 34%,
        #00ff88 35%,
        #00ff88 37%,
        transparent 38%,
        transparent 43%,
        #00ff88 44%,
        #00ff88 72%,
        transparent 100%);
    box-shadow:0 0 22px rgba(0,255,136,.95);
    animation:ekgWave 1.55s linear infinite;
}

@keyframes ekgWave{
    to{transform:translateX(28%)}
}

.paw{
    position:absolute;
    right:28px;
    top:38px;
    font-size:68px;
    animation:pawBeat 1.2s ease-in-out infinite;
    filter:drop-shadow(0 0 18px rgba(255,255,255,.45));
}

.heart-small{
    position:absolute;
    right:42px;
    bottom:42px;
    font-size:42px;
    color:#ff6b9a;
    animation:pawBeat .9s ease-in-out infinite;
    filter:drop-shadow(0 0 15px rgba(255,107,154,.8));
}

@keyframes pawBeat{
    0%,100%{transform:scale(1)}
    25%{transform:scale(1.18)}
    45%{transform:scale(.96)}
    70%{transform:scale(1.12)}
}

.science-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.science-list span{
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.16);
    font-size:.84rem;
    color:#eafcff;
}

/* Responsywność */
@media(max-width:980px){
    .science-zone-grid{
        grid-template-columns:1fr;
    }
    .science-module{
        min-height:auto;
    }
}

@media(max-width:640px){
    .science-zone{
        padding:48px 14px;
    }

    .science-zone-grid{
        gap:18px;
    }

    .science-module{
        padding:20px;
        border-radius:24px;
    }

    .orbit-scene,
    .chem-scene,
    .vet-scene{
        height:220px;
    }

    .orbit.three{
        width:200px;
        height:200px;
    }

    .orbit.two{
        width:150px;
        height:150px;
    }

    .orbit.one{
        width:100px;
        height:100px;
    }

    .chem-scene{
        gap:6px;
    }

    .flask{
        transform:scale(.88);
    }

    .molecule{
        transform:scale(.85);
        animation:moleculeSpin 5.5s linear infinite;
    }

    .paw{
        font-size:56px;
        right:20px;
    }
}

@media(max-width:420px){
    .science-zone-title h2{
        font-size:2rem;
    }

    .science-module h3{
        font-size:1.32rem;
    }

    .orbit-scene,
    .chem-scene,
    .vet-scene{
        height:205px;
    }
}

.back-to-top{display:none !important;}
