/* ==========================================================
KING'S TOUR & TRAVELS
GALLERY PAGE
========================================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

#ktt-gallery-page{
background:#ffffff;
overflow:hidden;
}

.gallery-container{
width:100%;
max-width:1400px;
margin:0 auto;
padding:0 20px;
}

/* ==========================================================
HERO
========================================================== */

.gallery-hero{
background:linear-gradient(135deg,#081120,#10264a,#173a73);
padding:120px 20px;
text-align:center;
color:#fff;
position:relative;
overflow:hidden;
}

.gallery-hero::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at top right,
rgba(255,255,255,.15),
transparent 40%);
}

.gallery-badge{
display:inline-block;
padding:12px 24px;
border-radius:50px;
background:rgba(255,255,255,.12);
backdrop-filter:blur(10px);
margin-bottom:25px;
font-weight:700;
color:#fff;
position:relative;
z-index:2;
}

.gallery-hero h1{
font-size:64px;
font-weight:900;
color:#fff;
margin-bottom:20px;
position:relative;
z-index:2;
}

.gallery-hero p{
font-size:20px;
max-width:850px;
margin:auto;
line-height:1.8;
color:#fff;
position:relative;
z-index:2;
}

/* ==========================================================
SECTION
========================================================== */

.gallery-section{
padding:70px 0;
}

.grey-section{
background:#f8fafc;
}

.dark-section{
background:#0f172a;
}

.section-title{
text-align:center;
margin-bottom:40px;
}

.section-title span{
display:inline-block;
background:#d4af37;
color:#000;
padding:8px 18px;
border-radius:40px;
font-size:13px;
font-weight:700;
margin-bottom:15px;
}

.section-title h2{
font-size:42px;
font-weight:800;
color:#0f172a;
}

.white-title h2{
color:#fff;
}

/* ==========================================================
AUTO GRID
========================================================== */

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:20px;
}

.gallery-item{
display:block;
position:relative;
overflow:hidden;
border-radius:20px;
background:#fff;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.35s;
}

.gallery-item:hover{
transform:translateY(-6px);
}

.gallery-item img{
display:block;
width:100%;
height:auto;
object-fit:contain;
background:#fff;
}

/* ==========================================================
VEHICLE LABELS
========================================================== */

.gallery-label{
position:absolute;
left:15px;
bottom:15px;
background:#051428;
color:#fff;
padding:10px 18px;
border-radius:50px;
font-size:14px;
font-weight:700;
}

/* ==========================================================
VIDEO
========================================================== */

.video-section{
padding:70px 0;
background:#fff;
}

.video-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(400px,1fr));
gap:20px;
}

.video-grid video{
width:100%;
display:block;
border-radius:20px;
background:#000;
}

/* ==========================================================
CTA
========================================================== */

.gallery-cta{
padding:100px 20px;
background:linear-gradient(135deg,#021024,#082c63);
text-align:center;
}

.gallery-cta h2{
font-size:54px;
font-weight:900;
color:#fff;
margin-bottom:15px;
}

.gallery-cta p{
font-size:20px;
color:#fff;
margin-bottom:35px;
}

.cta-buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.call-btn,
.wa-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 35px;
border-radius:60px;
font-size:16px;
font-weight:700;
text-decoration:none;
transition:.3s;
}

.call-btn{
background:#fff;
color:#051428;
}

.wa-btn{
background:#25d366;
color:#fff;
}

.call-btn:hover,
.wa-btn:hover{
transform:translateY(-4px);
}

/* ==========================================================
LIGHTBOX
========================================================== */

#ktt-lightbox{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.95);
z-index:999999;
align-items:center;
justify-content:center;
padding:20px;
}

#ktt-lightbox.active{
display:flex;
}

#ktt-lightbox-image{
max-width:95%;
max-height:90vh;
object-fit:contain;
}

#ktt-lightbox-close{
position:absolute;
top:20px;
right:30px;
color:#fff;
font-size:55px;
cursor:pointer;
line-height:1;
}

/* ==========================================================
MOBILE
========================================================== */

@media(max-width:991px){


.gallery-hero{
	padding:80px 15px;
}

.gallery-hero h1{
	font-size:42px;
}

.gallery-hero p{
	font-size:16px;
}

.section-title h2{
	font-size:32px;
}

.gallery-grid{
	grid-template-columns:1fr;
}

.video-grid{
	grid-template-columns:1fr;
}

.gallery-cta{
	padding:70px 15px;
}

.gallery-cta h2{
	font-size:34px;
}

.gallery-cta p{
	font-size:16px;
}

.cta-buttons{
	flex-direction:column;
}

.call-btn,
.wa-btn{
	width:100%;
}

}
