/* ==========================
YORKSHIRE GRAB HIRE
PREMIUM STYLE.CSS
========================== */

:root{

--gold:#f7c948;
--gold-hover:#ffd95e;

--dark:#05070c;
--dark-2:#0b0f17;
--card:#111827;

--white:#ffffff;
--grey:#9ca3af;

--shadow:0 20px 50px rgba(0,0,0,.4);

--radius:20px;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:var(--dark);
color:var(--white);
overflow-x:hidden;
line-height:1.6;

padding-top:140px; /* ADDED FIX */
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
color:inherit;
}

ul{
list-style:none;
}

/* ==========================
TOP BAR
========================== */

.top-bar{

background:var(--gold);

color:#000;

text-align:center;

padding:10px;

font-size:14px;

font-weight:700;

letter-spacing:.5px;

}

/* ==========================
NAVBAR
========================== */

.navbar{

position:fixed;

top:60px; /* CHANGED FROM 40px */

left:0;

width:100%;

padding:20px 5%;

display:flex;

justify-content:space-between;

align-items:center;

z-index:999;

background:rgba(8,10,15,.55);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.05);

transition:.3s;

}

.logo {
    display: flex;
    align-items:center;
    gap:10px;
}

.logo img {
    height:40px;
    width:auto;
}

.logo span {
    font-size:20px;
    font-weight:700;
}

.nav-links{

display:flex;

gap:30px;

}

.nav-links a{

font-weight:500;

position:relative;

transition:.3s;

}

.nav-links a::after{

content:"";

position:absolute;

bottom:-5px;

left:0;

width:0;

height:2px;

background:var(--gold);

transition:.3s;

}

.nav-links a:hover::after{

width:100%;

}

.nav-social{

display:flex;

gap:10px;

}

.nav-social a{

width:42px;

height:42px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.08);

transition:.3s;

}

.nav-social a:hover{

background:var(--gold);

color:#000;

transform:translateY(-3px);

}

.hamburger{

display:none;

flex-direction:column;

cursor:pointer;

gap:5px;

}

.hamburger span{

width:28px;

height:3px;

background:white;

border-radius:10px;

}

/* ==========================
HERO
========================== */

.hero{

height:100vh;

position:relative;

overflow:hidden;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

}

.hero-video{

position:absolute;

width:100%;

height:100%;

object-fit:cover;

}

.hero-overlay{

position:absolute;

inset:0;

background:linear-gradient(
to bottom,
rgba(0,0,0,.6),
rgba(0,0,0,.8)
);

}

.hero-content{

position:relative;

z-index:2;

max-width:900px;

padding:20px;

}

.hero-tag{

display:inline-block;

background:rgba(247,201,72,.15);

border:1px solid rgba(247,201,72,.4);

padding:10px 18px;

border-radius:999px;

color:var(--gold);

font-size:.85rem;

margin-bottom:25px;

margin-top:15px; /* ADDED FIX */
}

.hero h1{

font-size:clamp(3rem,6vw,5.5rem);

line-height:1.05;

font-weight:900;

margin-bottom:25px;

}

.hero p{

font-size:1.25rem;

color:#d1d5db;

margin-bottom:35px;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

/* ==========================
BUTTONS
========================== */

.btn{

padding:16px 30px;

border-radius:999px;

font-weight:700;

display:inline-flex;

align-items:center;

gap:10px;

transition:.3s;

}

.btn-primary{

background:var(--gold);

color:#000;

}

.btn-primary:hover{

transform:translateY(-4px);

background:var(--gold-hover);

}

.btn-secondary{

border:2px solid white;

}

.btn-secondary:hover{

background:white;

color:black;

}

/* ==========================
SECTION SPACING
========================== */

section{

padding:100px 8%;

}

.section-header{

text-align:center;

margin-bottom:60px;

}

.section-header span{

color:var(--gold);

font-weight:700;

letter-spacing:2px;

font-size:.85rem;

}

.section-header h2{

font-size:clamp(2rem,5vw,3.5rem);

margin-top:10px;

}

/* ==========================
QUICK CONTACT
========================== */

.quick-contact{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:20px;

background:var(--dark-2);

}

.contact-card{

background:var(--card);

padding:30px;

border-radius:var(--radius);

text-align:center;

transition:.3s;

}

.contact-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow);

}

.contact-card i{

font-size:2rem;

color:var(--gold);

margin-bottom:15px;

}

.contact-card h3{

margin-bottom:10px;

}

/* ==========================
STATS
========================== */

.stats{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(200px,1fr));

gap:20px;

background:#0f172a;

}

.stat{

text-align:center;

padding:30px;

}

.stat h2{

font-size:3rem;

color:var(--gold);

font-weight:900;

}

.stat p{

color:#d1d5db;

}

/* ==========================
ABOUT
========================== */

.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

}

.about-text p{

margin-bottom:20px;

color:#d1d5db;

}

.about-text ul{

margin-top:25px;

}

.about-text li{

margin-bottom:12px;

font-weight:600;

}

.about-image img{

border-radius:25px;

box-shadow:var(--shadow);

}

/* ==========================
SERVICES
========================== */

.services-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.service-card{

background:var(--card);

padding:35px;

border-radius:20px;

transition:.35s;

border:1px solid rgba(255,255,255,.05);

}

.service-card:hover{

transform:translateY(-10px);

border-color:rgba(247,201,72,.4);

box-shadow:0 20px 50px rgba(247,201,72,.15);

}

.service-card i{

font-size:2.2rem;

color:var(--gold);

margin-bottom:20px;

}

.service-card h3{

margin-bottom:12px;

font-size:1.4rem;

}

.service-card p{

color:#d1d5db;

}

/* ==========================
GALLERY
========================== */

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:20px;

}

.gallery img{

height:280px;

width:100%;

object-fit:cover;

border-radius:20px;

transition:.4s;

cursor:pointer;

}

.gallery img:hover{

transform:scale(1.03);

}

/* ==========================
RESPONSIVE
========================== */

@media(max-width:900px){

.about-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.nav-links{

display:none;

}

.nav-social{

display:none;

}

.hamburger{

display:flex;

}

.hero h1{

font-size:3rem;

}

.hero-buttons{

flex-direction:column;

}

.btn{

justify-content:center;

width:100%;

}

section{

padding:80px 5%;

}

}

/* ==========================
BEFORE / AFTER SLIDER
========================== */

.before-after{
background:#0b0f17;
}

.comparison-container{
position:relative;
max-width:1100px;
margin:auto;
overflow:hidden;
border-radius:25px;
box-shadow:var(--shadow);
}

.before-image{
width:100%;
display:block;
}

.resize-image{
position:absolute;
top:0;
left:0;
width:50%;
height:100%;
overflow:hidden;
}

.resize-image img{
width:1100px;
height:100%;
object-fit:cover;
}

.slider{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
opacity:0;
cursor:ew-resize;
z-index:5;
}

/* ==========================
REVIEWS
========================== */

.reviews{
background:#0f172a;
}

.review-slider{
max-width:900px;
margin:auto;
}

.review{
display:none;
background:#111827;
padding:40px;
border-radius:25px;
text-align:center;
box-shadow:var(--shadow);
}

.review.active{
display:block;
animation:fadeIn .6s ease;
}

.review p{
margin:20px 0;
font-size:1.1rem;
color:#d1d5db;
}

.review h4{
color:var(--gold);
}

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* ==========================
QUOTE FORM
========================== */

.quote{
background:#080c14;
}

.quote-form{
max-width:850px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

.quote-form input,
.quote-form textarea{
background:#111827;
border:1px solid rgba(255,255,255,.08);
padding:18px;
border-radius:15px;
color:white;
outline:none;
transition:.3s;
}

.quote-form input:focus,
.quote-form textarea:focus{
border-color:var(--gold);
box-shadow:0 0 20px rgba(247,201,72,.15);
}

.quote-form button{
background:var(--gold);
color:black;
border:none;
padding:18px;
font-weight:700;
font-size:1rem;
border-radius:15px;
cursor:pointer;
transition:.3s;
}

.quote-form button:hover{
background:var(--gold-hover);
transform:translateY(-3px);
}

/* ==========================
MAP
========================== */

.map-section{
padding:0;
}

.map-section iframe{
width:100%;
height:500px;
border:none;
display:block;
}

/* ==========================
FOOTER
========================== */

footer{
background:#05070c;
padding:80px 8% 30px;
}

.footer-content{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:40px;
margin-bottom:40px;
}

.footer-content h3{
color:var(--gold);
margin-bottom:15px;
}

.footer-content p{
color:#d1d5db;
margin-bottom:8px;
}

.footer-social{
display:flex;
gap:12px;
margin-top:20px;
}

.footer-social a{
width:45px;
height:45px;
border-radius:50%;
background:#111827;
display:flex;
align-items:center;
justify-content:center;
transition:.3s;
}

.footer-social a:hover{
background:var(--gold);
color:black;
}

.copyright{
text-align:center;
padding-top:25px;
border-top:1px solid rgba(255,255,255,.08);
color:#9ca3af;
}

/* ==========================
FLOATING BUTTONS
========================== */

.floating-buttons{
position:fixed;
right:20px;
bottom:20px;
display:flex;
flex-direction:column;
gap:12px;
z-index:999;
}

.call-btn,
.whatsapp-btn{
width:60px;
height:60px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:24px;
color:white;
box-shadow:0 10px 30px rgba(0,0,0,.3);
transition:.3s;
}

.call-btn{
background:#22c55e;
}

.whatsapp-btn{
background:#25D366;
}

.call-btn:hover,
.whatsapp-btn:hover{
transform:translateY(-5px);
}

/* ==========================
SCROLL REVEAL
========================== */

.reveal{
opacity:0;
transform:translateY(40px);
transition:.8s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* ==========================
NAVBAR SCROLL EFFECT
========================== */

.navbar.scrolled{
background:rgba(5,7,12,.95);
padding:15px 5%;
box-shadow:0 10px 40px rgba(0,0,0,.3);
}

/* ==========================
MOBILE MENU
========================== */

@media(max-width:768px){

.nav-links{
position:fixed;
top:90px;
left:-100%;
width:100%;
height:calc(100vh - 90px);
background:#080c14;
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
padding-top:60px;
gap:30px;
transition:.4s;
}

.nav-links.active{
left:0;
}

.nav-social{
display:none;
}

.hamburger{
display:flex;
}

.footer-content{
grid-template-columns:1fr;
text-align:center;
}

.hero h1{
font-size:2.8rem;
}

.hero-buttons{
flex-direction:column;
}

.btn{
width:100%;
justify-content:center;
}

section{
padding:80px 5%;
}

}

/* ==========================
PREMIUM EFFECTS
========================== */

.hero h1{
background:linear-gradient(
90deg,
#ffffff,
#f7c948
);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.service-card,
.contact-card,
.review{
backdrop-filter:blur(12px);
}

.gallery img:hover{
filter:brightness(1.08);
}

html{
scroll-padding-top:120px;
}

body::-webkit-scrollbar{
width:10px;
}

body::-webkit-scrollbar-track{
background:#05070c;
}

body::-webkit-scrollbar-thumb{
background:var(--gold);
border-radius:999px;
}