*{
box-sizing:border-box;
}

body{
margin:0;
font-family:'Poppins',sans-serif;
background:#002a32;
color:#fff;
}

/* ================= HEADER ================= */

.header{
position:fixed;
top:0;
width:100%;
height:120px;
background:rgba(0,42,50,0.8);
backdrop-filter:blur(10px);
z-index:1000;
display:flex;
align-items:center;
transition:0.35s;
}

.header.shrink{
height:85px;
}

.header-inner{
max-width:1400px;
width:100%;
margin:0 auto;
padding:0 20px;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
height:85px;
transition:0.4s;
}

.header.shrink .logo{
height:60px;
}

.logo:hover{
transform:scale(1.05);
}

/* NAV */

.nav{
display:flex;
gap:30px;
}

.nav a{
color:#fff;
text-decoration:none;
font-weight:500;
position:relative;
}

.nav a::after{
content:"";
position:absolute;
left:0;
bottom:-5px;
width:0;
height:2px;
background:#1eb5c1;
transition:0.3s;
}

.nav a:hover::after{
width:100%;
}

/* RIGHT SIDE */

.header-actions{
display:flex;
align-items:center;
gap:12px;
}

.desktop-phone{
background:#1eb5c1;
padding:10px 22px;
border-radius:40px;
color:#fff;
text-decoration:none;
font-weight:600;
transition:0.3s;
}

.desktop-phone:hover{
background:#159aa5;
}

/* MOBILE PHONE */

.mobile-phone{
display:none;
width:44px;
height:44px;
background:#1eb5c1;
border-radius:50%;
align-items:center;
justify-content:center;
font-size:18px;
color:#fff;
text-decoration:none;
}

/* HAMBURGER */

.hamburger{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.hamburger span{
width:24px;
height:3px;
background:#fff;
transition:0.3s;
}

.hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(4px,4px);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(4px,-4px);
}

/* MOBILE MENU */

.mobile-menu{
position:fixed;
top:0;
right:-100%;
width:260px;
height:100vh;
background:rgba(0,31,36,0.8);
backdrop-filter:blur(10px);
display:flex;
flex-direction:column;
padding:120px 40px;
gap:25px;
transition:0.4s;
z-index:999;
}

.mobile-menu.active{
right:0;
}

.mobile-menu a{
color:#fff;
text-decoration:none;
font-size:1.2rem;
}

/* MENU OVERLAY */

.menu-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,0.5);
opacity:0;
pointer-events:none;
transition:0.3s;
}

.menu-overlay.active{
opacity:1;
pointer-events:auto;
}

/* ================= HERO ================= */

.hero{
min-height:calc(100vh - 120px);
margin-top:120px;
padding-bottom:120px;
display:flex;
align-items:center;
position:relative;
animation:heroZoom 15s ease-in-out infinite alternate;
}

@media(max-width:768px){

.hero{
animation:none;
background-size:cover;
}

}

/* hero strony głównej */

.hero:not(.hero-taxi):not(.hero-onas){
background:url("taxi-lubaczow-zawiez-mnie.jpg") center/cover no-repeat;
}

/* hero podstrony taxi */

.hero-taxi{
background:url("taxi-lubaczow-24h-zawiez-mnie.jpg") center/cover no-repeat;
}

/* hero podstrony o nas */

.hero-onas{
background:url("Taxi-Zawiez-Mnie-Infolinia-Lubaczow.jpg") center/cover no-repeat;
}

@keyframes heroZoom{
from{background-size:100%}
to{background-size:105%}
}
.hero-overlay{
position:absolute;
inset:0;

background:
linear-gradient(
to right,
rgba(0,42,50,0.95) 0%,
rgba(0,42,50,0.85) 20%,
rgba(0,42,50,0.55) 40%,
rgba(0,42,50,0.20) 60%,
rgba(0,42,50,0) 75%
),
linear-gradient(
to top,
rgba(0,0,0,0.35),
rgba(0,0,0,0)
);

display:flex;
align-items:center;
}

.hero-content{
padding-left:60px;
max-width:620px;

text-shadow:0 6px 30px rgba(0,0,0,0.85);
}

/* ================= HERO MOBILE GRADIENT ================= */

rgba(0,42,50,0.88) 0%,
rgba(0,42,50,0.82) 25%,
rgba(0,42,50,0.70) 45%,
rgba(0,42,50,0.50) 65%,
rgba(0,42,50,0.25) 80%,
rgba(0,42,50,0.08) 90%,
rgba(0,42,50,0) 100%

/* HERO ENTRY */

.hero-content h1,
.hero-content h2,
.hero-content p,
.hero-content .btn-call{
opacity:0;
transform:translateY(30px);
animation:heroFadeUp 0.8s ease forwards;
}

.hero-content h2{animation-delay:0.2s}
.hero-content p{animation-delay:0.4s}
.hero-content .btn-call{animation-delay:0.6s}

@keyframes heroFadeUp{
to{
opacity:1;
transform:translateY(0);
}
}

.hero-content h1{
font-size:3rem;
margin:0;
letter-spacing:1px;
}

.hero-content h2{
font-size:2.5rem;
color:#1eb5c1;
margin-top:15px;
}

.hero-content p{
margin-top:20px;
font-size:1.2rem;
}

/* CALL BUTTON */

.btn-call{
display:inline-block;
margin-top:30px;
padding:15px 40px;
background:#1eb5c1;
border-radius:40px;
color:#fff;
text-decoration:none;
font-weight:600;
position:relative;
z-index:1;
transition:0.3s;
}

.btn-call::after{
content:"";
position:absolute;
inset:0;
border-radius:40px;
background:rgba(30,181,193,0.5);
z-index:-1;
animation:breathingPulse 2.8s infinite;
}

@keyframes breathingPulse{
0%{transform:scale(1);opacity:0.6}
70%{transform:scale(1.3);opacity:0}
100%{transform:scale(1.3);opacity:0}
}

.btn-call:hover{
background:#159aa5;
box-shadow:0 0 20px rgba(30,181,193,0.6);
transform:translateY(-2px);
}

.btn-call{
display:inline-flex;
flex-direction:column;
align-items:center;
line-height:1.2;
}

.call-main{
font-size:16px;
font-weight:600;
}

.call-number{
font-size:18px;
font-weight:700;
margin-top:4px;
letter-spacing:1px;
}

/* ================= SERVICES ================= */

.services-section{
background:#002a32;
display:flex;
justify-content:center;
position:relative;
padding-bottom:80px;
}

.services-container{
max-width:1200px;
width:100%;
display:flex;
justify-content:center;
gap:30px;
margin-top:-90px;
}

.service-card{

background:rgba(0,25,30,0.1);
border-radius:20px;
padding:35px 25px;
text-align:center;
width:260px;
backdrop-filter:blur(10px);
position:relative;
overflow:hidden;

box-shadow:
0 0 0 1px rgba(255,255,255,0.08),
0 20px 40px rgba(0,0,0,0.4);

transition:0.35s;
cursor:pointer;
}

.service-card::before{
content:"";
position:absolute;
inset:0;
border-radius:20px;
background:radial-gradient(circle at 50% 40%,rgba(255,255,255,0.06),transparent 60%);
pointer-events:none;
}

.service-card::after{
content:"";
position:absolute;
left:12%;
right:12%;
bottom:18px;
height:2px;
background:linear-gradient(90deg,transparent,#1eb5c1,#35f0ff,#1eb5c1,transparent);
box-shadow:0 6px 18px rgba(30,181,193,0.35);
}

.service-card:hover{
transform:translateY(-10px);
box-shadow:
0 0 0 1px rgba(255,255,255,0.08),
0 30px 60px rgba(0,0,0,0.6);
}

.service-card img{
height:90px;
margin-bottom:20px;
transition:0.3s;
}

.service-card:hover img{
transform:scale(1.08);
}

.service-card h3{
margin:10px 0 5px 0;
font-size:20px;
}

.service-card p{
opacity:0.75;
font-size:14px;
}

/* SCROLL REVEAL */

.reveal{
opacity:0;
transform:translateY(40px);
transition:0.8s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* ================= RESPONSIVE ================= */

@media(max-width:1000px){

.services-container{
flex-wrap:wrap;
margin-top:-100px;
}

.service-card{
width:45%;
}

}

@media(max-width:992px){

.header{height:110px}

.header.shrink{
height:75px;
}

.hero{
min-height:calc(100vh - 110px);
margin-top:110px;
}

.nav{display:none}
.desktop-phone{display:none}
.mobile-phone{display:flex}
.hamburger{display:flex}

.logo{height:70px}

.header.shrink .logo{
height:50px;
}

.hero-content{
padding:0 25px;
}

.hero-content h1{font-size:2.2rem}
.hero-content h2{font-size:1.8rem}

}

@media(max-width:600px){

.services-container{
flex-direction:column;
align-items:center;
margin-top:-90px;
}

.service-card{
width:90%;
}

}

/* ================= ABOUT ================= */

.about-section{
padding:100px 20px;
display:flex;
justify-content:center;
}

.about-container{
max-width:1100px;
text-align:center;
}

.about-container h2{
font-size:2rem;
margin-bottom:25px;
}

.about-text{
max-width:750px;
margin:auto;
opacity:0.85;
line-height:1.7;
margin-bottom:50px;
}

.about-features{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.feature{
background:rgba(0,25,30,0.55);
border-radius:14px;
padding:18px;
font-size:15px;
box-shadow:
0 0 0 1px rgba(255,255,255,0.05),
0 10px 25px rgba(0,0,0,0.3);
}

/* ================= WHY ================= */

.why-section{
padding:100px 20px;
text-align:center;
}

.why-container{
max-width:1100px;
margin:auto;
}

.why-container h2{
margin-bottom:50px;
font-size:2rem;
}

.why-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.why-card{
background:rgba(0,25,30,0.55);
border-radius:18px;
padding:30px 20px;
backdrop-filter:blur(10px);
box-shadow:
0 0 0 1px rgba(255,255,255,0.05),
0 20px 40px rgba(0,0,0,0.4);
transition:.3s;
}

.why-card:hover{
transform:translateY(-6px);
}

.why-icon{
font-size:28px;
margin-bottom:10px;
}

/* ================= CTA ================= */

.cta-section{
padding:120px 20px;
text-align:center;
background:linear-gradient(
180deg,
rgba(0,42,50,0) 0%,
rgba(0,42,50,0.7) 100%
);
}

.cta-container{
max-width:700px;
margin:auto;
}

.cta-container h2{
font-size:2.2rem;
margin-bottom:15px;
}

.cta-container p{
opacity:.8;
margin-bottom:30px;
}

.cta-button{
display:inline-block;
padding:18px 50px;
background:#1eb5c1;
border-radius:50px;
font-weight:600;
color:#fff;
text-decoration:none;
font-size:18px;
box-shadow:0 0 25px rgba(30,181,193,.4);
transition:.3s;
}

.cta-button:hover{
transform:translateY(-3px);
box-shadow:0 0 35px rgba(30,181,193,.7);
}

/* ================= RESPONSIVE ================= */

@media(max-width:900px){

.about-features,
.why-grid{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:600px){

.about-features,
.why-grid{
grid-template-columns:1fr;
}

}

/* ================= PRICE TABLE ================= */

.price-table{
width:100%;
max-width:900px;
margin:50px auto;
border-collapse:collapse;
font-size:18px;
table-layout:fixed;
}

.price-table th:first-child,
.price-table td:first-child{
width:50%;
}

.price-table th:nth-child(2),
.price-table td:nth-child(2){
width:25%;
}

.price-table th:nth-child(3),
.price-table td:nth-child(3){
width:25%;
}

.price-table th,
.price-table td{
border:1px solid rgba(255,255,255,0.12);
padding:16px 18px;
text-align:center;
}

.price-table th{
background:#1eb5c1;
color:#fff;
font-weight:600;
}

.price-table td:first-child{
text-align:left;
padding-left:25px;
}


/* ================= FOOTER ================= */

.footer{

margin-top:120px;
background:rgba(0,31,36,0.9);
backdrop-filter:blur(10px);
border-top:1px solid rgba(255,255,255,0.06);

}

.footer-container{

max-width:1200px;
margin:auto;
padding:80px 20px;

display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:50px;

}

.footer-logo{
height:55px;
margin-bottom:20px;
}

.footer-col p{
opacity:.75;
line-height:1.6;
font-size:14px;
}

.footer-col h3{
margin-bottom:18px;
color:#1eb5c1;
font-size:18px;
}

.footer-col ul{
list-style:none;
padding:0;
margin:0;
}

.footer-col li{
margin-bottom:10px;
}

.footer-col a{
color:#fff;
text-decoration:none;
opacity:.8;
transition:.2s;
}

.footer-col a:hover{
opacity:1;
color:#1eb5c1;
}

.footer-phone{

display:inline-block;
margin-top:10px;
font-size:20px;
font-weight:600;
color:#1eb5c1;

}

.footer-24{
margin-top:10px;
font-size:14px;
opacity:.7;
}

/* COPYRIGHT */

.footer-bottom{

text-align:center;
padding:18px;
font-size:13px;
background:#001f24;
opacity:.7;

}

/* ================= FOOTER RESPONSIVE ================= */

@media(max-width:900px){

.footer-container{

grid-template-columns:1fr 1fr;
gap:40px;

}

}

@media(max-width:600px){

.footer-container{

grid-template-columns:1fr;
text-align:center;

}

.footer-logo{
margin:auto;
margin-bottom:20px;
}

}

/* ================= FLOATING CALL BUTTON ================= */

@keyframes floatingCallPulse{

0%{
transform:scale(1);
box-shadow:
0 10px 25px rgba(0,0,0,0.4),
0 0 0 0 rgba(30,181,193,0.6);
}

70%{
transform:scale(1.05);
box-shadow:
0 10px 25px rgba(0,0,0,0.4),
0 0 0 18px rgba(30,181,193,0);
}

100%{
transform:scale(1);
box-shadow:
0 10px 25px rgba(0,0,0,0.4),
0 0 0 0 rgba(30,181,193,0);
}

}

.floating-call{
position:fixed;
bottom:20px;
right:20px;
z-index:2000;

opacity:0;
pointer-events:none;
transform:translateY(20px);
transition:0.35s;
}

.floating-call.visible{
opacity:1;
pointer-events:auto;
transform:translateY(0);
}

.floating-call a{
display:flex;
flex-direction:column;
align-items:center;
gap:2px;
background:#1eb5c1;
color:#fff;
text-decoration:none;
padding:12px 18px;
border-radius:50px;
font-weight:600;
box-shadow:0 10px 25px rgba(0,0,0,0.4);
transition:.3s;
animation:floatingCallPulse 2.6s infinite;
}

.floating-label{
font-size:10px;
letter-spacing:1px;
opacity:0.9;
}

.floating-number{
font-size:16px;
font-weight:700;
}

.floating-call a:hover{
transform:translateY(-3px);
box-shadow:0 15px 35px rgba(0,0,0,0.5);
}


/* ================= SAVE CONTACT BUTTON ================= */

.btn-save-contact{
display:none;
margin-top:30px;
padding:8px 16px;
border-radius:40px;
border:2px solid #1eb5c1;
color:#1eb5c1;
text-decoration:none;
font-weight:600;
font-size:16px;
transition:0.3s;
line-height:1.2;
}

.btn-save-contact:hover{
background:#1eb5c1;
color:#fff;
}

/* pokazuj tylko na telefonach */

@media(max-width:768px){

.btn-save-contact{
display:inline-block;
}

}

/* ================= CTA SAVE CONTACT ================= */

.cta-save{
display:none;
margin-top:18px;
padding:18px 50px;
border-radius:50px;
border:2px solid #1eb5c1;
color:#1eb5c1;
text-decoration:none;
font-weight:600;
font-size:18px;
transition:.3s;
}

/* CTA widoczne tylko na telefonach */

@media(max-width:768px){

.cta-save{
display:inline-block;
}

}

/* ================= TAXI PAGE ICON ================= */

.taxi-page-icon{
display:flex;
justify-content:center;
margin-bottom:35px;
}

.taxi-page-icon img{
height:80px;
opacity:0.95;

filter:drop-shadow(0 0 12px rgba(30,181,193,0.6))
       drop-shadow(0 0 30px rgba(30,181,193,0.35));

transition:0.4s;
}

.taxi-page-icon img:hover{
transform:scale(1.05);

filter:drop-shadow(0 0 18px rgba(30,181,193,0.8))
       drop-shadow(0 0 40px rgba(30,181,193,0.5));
}

/* ================= PRICE TITLE ================= */

.price-title{
text-align:center;
font-size:2.2rem;
margin-bottom:40px;
position:relative;
}

.price-title::after{

content:"";
display:block;

width:90px;
height:4px;

margin:18px auto 0;

background:linear-gradient(
90deg,
transparent,
#1eb5c1,
#35f0ff,
#1eb5c1,
transparent
);

border-radius:10px;

box-shadow:
0 0 10px rgba(30,181,193,0.6),
0 0 18px rgba(30,181,193,0.35);

}

box-shadow:0 0 12px rgba(30,181,193,0.5);
border-radius:2px;
}

/* mniejszy odstęp między sekcjami */

.about-tight{
padding-top:40px;
}

/* ================= FACEBOOK BUTTON ================= */

/* ================= FACEBOOK BUTTON ================= */

.btn-facebook{

display:inline-flex;
align-items:center;
gap:10px;

margin-top:30px;

padding:14px 28px;

background:#1eb5c1;
color:#fff;

border-radius:40px;

text-decoration:none;
font-weight:600;

box-shadow:0 10px 25px rgba(0,0,0,0.35);

transition:.3s;

}

.btn-facebook svg{
width:20px;
height:20px;
}

.btn-facebook:hover{

background:#159aa5;

transform:translateY(-2px);

box-shadow:0 15px 35px rgba(0,0,0,0.45);

}

/* ================= SECTION TITLE LINE ================= */

.section-line{

width:90px;
height:4px;

margin:18px auto 35px auto;

background:linear-gradient(
90deg,
transparent,
#1eb5c1,
#35f0ff,
#1eb5c1,
transparent
);

border-radius:10px;

box-shadow:
0 0 12px rgba(30,181,193,0.6),
0 0 30px rgba(30,181,193,0.35);

}

/* ================= TAXI TABLE MOBILE FIX ================= */

@media(max-width:420px){

.price-table{
font-size:14px;
}

.price-table td{
word-break:break-word;
}

.price-table td:first-child{
padding-left:10px;
}

}