:root{

--primary:#0b1d63;
--secondary:#ff6a00;
--bg:#f8fafc;
--white:#ffffff;
--text:#111827;
--muted:#6b7280;
--border:#e5e7eb;

}

/* =========================================================
GLOBAL
========================================================= */

.country-content-section *,
.country-section *,
.country-hero *{
box-sizing:border-box;
}

.country-content-section,
.country-section,
.country-cta,
.country-final-cta{
padding:50px 0;
}

.container{
width:100%;
max-width:1280px;
margin:0 auto;
padding:0 24px;
}

.section-heading{
max-width:900px;
margin:0 auto 35px;
text-align:center;
}

.section-heading h2{
font-size:32px;
font-weight:700;
line-height:1.3;
margin-bottom:10px;
color:var(--text);
}

.section-heading p{
font-size:15px;
line-height:1.7;
color:var(--muted);
}

/* =========================================================
HERO
========================================================= */

.country-hero{
position:relative;
height:520px;
overflow:hidden;
}

.country-hero-image,
.country-hero-image img{
width:100%;
height:100%;
}

.country-hero-image img{
object-fit:cover;
}

.country-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(
90deg,
rgba(0,0,0,.78) 0%,
rgba(0,0,0,.45) 45%,
rgba(0,0,0,.15) 100%
);
display:flex;
align-items:center;
}

.country-hero-content{
max-width:700px;
}

.country-badge{
display:inline-block;
background:rgba(255,255,255,.15);
backdrop-filter:blur(10px);
padding:8px 16px;
border-radius:50px;
font-size:13px;
color:#fff;
margin-bottom:18px;
}

.country-hero h1{
font-size:46px;
font-weight:800;
line-height:1.15;
color:#fff;
margin-bottom:15px;
}

.country-hero p{
font-size:16px;
line-height:1.8;
color:#fff;
margin-bottom:25px;
}

.hero-buttons{
display:flex;
gap:12px;
flex-wrap:wrap;
}

/* =========================================================
BUTTONS
========================================================= */

.btn-primary,
.btn-secondary,
.btn-card{

display:inline-flex;
align-items:center;
justify-content:center;

padding:12px 24px;

border-radius:10px;

font-size:14px;
font-weight:600;

text-decoration:none;
transition:.3s;

}

.btn-primary{
background:var(--secondary);
color:#fff;
}

.btn-primary:hover{
transform:translateY(-2px);
}

.btn-secondary{
background:#fff;
color:var(--primary);
}

.btn-card{
width:100%;
background:var(--primary);
color:#fff;
margin-top:15px;
}

/* =========================================================
BREADCRUMB
========================================================= */

.country-breadcrumb{
background:#fff;
border-bottom:1px solid var(--border);
padding:12px 0;
}

.country-breadcrumb .container{
display:flex;
align-items:center;
gap:10px;
font-size:14px;
}

/* =========================================================
CONTENT
========================================================= */

.country-content{
max-width:980px;
margin:auto;
font-size:15px;
line-height:1.9;
color:var(--text);
}

.country-content h2{
font-size:28px;
margin-bottom:15px;
}

.country-content p{
margin-bottom:18px;
}

.country-content ul{
padding-left:20px;
margin-bottom:20px;
}

/* =========================================================
STATS
========================================================= */

.country-stats{
padding:0 0 50px;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.stat-card{

background:#fff;

padding:22px;

border-radius:16px;

border:1px solid #eef2f7;

box-shadow:0 6px 18px rgba(0,0,0,.04);

text-align:center;

}

.stat-card h3{
font-size:34px;
font-weight:800;
color:var(--primary);
margin-bottom:5px;
}

.stat-card span{
font-size:14px;
color:var(--muted);
}

/* =========================================================
GRIDS
========================================================= */

.visa-grid,
.package-grid,
.hotel-grid,
.blog-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;

}

.visa-card,
.package-card,
.hotel-card,
.blog-card{

background:#fff;

border-radius:18px;

overflow:hidden;

border:1px solid #eef2f7;

box-shadow:0 8px 20px rgba(0,0,0,.05);

transition:.3s;

display:flex;
flex-direction:column;

}

.visa-card:hover,
.package-card:hover,
.hotel-card:hover,
.blog-card:hover{
transform:translateY(-4px);
}

.package-image img,
.hotel-image img,
.blog-image img{

width:100%;

height:230px;

object-fit:cover;

display:block;

}

.visa-card-body,
.package-content,
.hotel-content,
.blog-content{

padding:20px;
display:flex;
flex-direction:column;
flex:1;

}

.visa-card h3,
.package-card h3,
.hotel-card h3,
.blog-card h3{

font-size:19px;
font-weight:700;
margin-bottom:10px;

}

.visa-card p,
.package-card p,
.hotel-card p,
.blog-card p{

font-size:14px;
line-height:1.7;
color:var(--muted);
flex:1;

}

.package-meta,
.hotel-meta{

display:flex;
justify-content:space-between;
margin-top:15px;

font-size:14px;
font-weight:600;

}

/* =====================================================
CITY SERVICES
===================================================== */

.city-services-section{
padding:50px 0;
}

.city-services-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
max-width:1200px;
margin:auto;
}

.service-box{
background:#fff;
border:1px solid #e5e7eb;
border-radius:16px;
padding:25px 20px;
text-align:center;
transition:.3s;
box-shadow:0 4px 20px rgba(0,0,0,.04);
}

.service-box:hover{
transform:translateY(-4px);
}

.service-box span{
font-size:32px;
display:block;
margin-bottom:12px;
}

.service-box h3{
font-size:15px;
font-weight:700;
margin:0;
color:#0b1d63;
}

@media(max-width:991px){

.city-services-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:767px){

.city-services-grid{
grid-template-columns:repeat(2,1fr);
gap:12px;
}

.service-box{
padding:18px 12px;
}

.service-box span{
font-size:24px;
}

.service-box h3{
font-size:13px;
}

}

/* =====================================================
SERVICE AREAS
===================================================== */

.service-area-section{
padding:45px 0;
}

.service-area-grid{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px;
max-width:1100px;
margin:auto;
}

.area-tag{
padding:10px 16px;
background:#fff;
border:1px solid #e5e7eb;
border-radius:50px;
font-size:14px;
font-weight:600;
color:#0b1d63;
transition:.3s;
}

.area-tag:hover{
background:#0b1d63;
color:#fff;
}

@media(max-width:767px){

.area-tag{
font-size:13px;
padding:8px 14px;
}

}

/* =====================================================
WHY CHOOSE US
===================================================== */

.why-choose-section{
padding:50px 0;
}

.why-choose-wrapper{
max-width:1100px;
margin:auto;
}

.why-content{
background:#fff;
padding:25px;
border-radius:16px;
border:1px solid #e5e7eb;
line-height:1.9;
font-size:15px;
margin-bottom:25px;
text-align:center;
}

.why-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.why-card{
background:#fff;
border:1px solid #e5e7eb;
border-radius:14px;
padding:18px;
text-align:center;
font-weight:600;
}

.why-card span{
display:block;
font-size:22px;
margin-bottom:8px;
color:#16a34a;
}

@media(max-width:767px){

.why-grid{
grid-template-columns:repeat(2,1fr);
gap:12px;
}

.why-card{
font-size:13px;
padding:14px;
}

}

/* =====================================================
RECENT APPROVALS
PREMIUM VERSION
===================================================== */

.approval-section{
padding:40px 0;
}

.approval-slider{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px;
align-items:stretch;
}

.approval-card{

background:#fff;

border:1px solid #eef2f7;

border-radius:16px;

overflow:hidden;

box-shadow:0 8px 25px rgba(0,0,0,.05);

transition:.3s;

display:flex;
flex-direction:column;

height:100%;
}

.approval-card:hover{
transform:translateY(-4px);
}

.approval-image{
height:340px;
overflow:hidden;
}

.approval-image img{
width:100%;
height:100%;
object-fit:cover;
object-position:top center;
display:block;
}

.approval-card:hover .approval-image img{
transform:scale(1.03);
}

.approval-content{

padding:16px;

text-align:center;

background:#fff;

flex:1;

display:flex;
flex-direction:column;
justify-content:center;
}

.approval-content h3{

font-size:16px;
font-weight:700;

margin:0 0 5px;

color:#111827;
}

.approval-content span{

font-size:13px;

color:#6b7280;

display:block;
}

/* =====================================================
DESKTOP LARGE
===================================================== */

@media(min-width:1400px){

.approval-image{
height:340px;
}

}

/* =====================================================
TABLET
===================================================== */

@media(max-width:991px){

.approval-slider{
grid-template-columns:repeat(2,1fr);
gap:16px;
}

.approval-image{
height:300px;
}

}

/* =====================================================
MOBILE
===================================================== */

@media(max-width:767px){

.approval-slider{

display:flex;

overflow-x:auto;

gap:14px;

scroll-snap-type:x mandatory;

padding-bottom:12px;

-webkit-overflow-scrolling:touch;
}

.approval-slider::-webkit-scrollbar{
display:none;
}

.approval-card{

min-width:260px;

scroll-snap-align:start;

flex-shrink:0;
}

.approval-image{
height:300px;
}

.approval-content h3{
font-size:15px;
}

.approval-content span{
font-size:12px;
}

}

/* =========================================================
CTA
========================================================= */

.cta-box,
.final-cta-box{

max-width:1000px;
margin:auto;

background:linear-gradient(
135deg,
#08164d,
#17358c
);

border-radius:22px;

padding:50px;

text-align:center;
color:#fff;

}

.cta-box h2,
.final-cta-box h2{

font-size:32px;
font-weight:800;
margin-bottom:12px;

}

.cta-box p,
.final-cta-box p{

max-width:700px;
margin:auto;
line-height:1.8;

}

.cta-buttons{
display:flex;
justify-content:center;
gap:12px;
margin-top:20px;
flex-wrap:wrap;
}

/* =========================================================
FAQ
========================================================= */

.faq-wrapper{
max-width:900px;
margin:auto;
}

.faq-item{

background:#fff;

border:1px solid #eef2f7;

border-radius:14px;

overflow:hidden;

margin-bottom:14px;

box-shadow:0 5px 15px rgba(0,0,0,.03);

}

.faq-question{

width:100%;

padding:18px 20px;

border:none;

background:#fff;

font-size:15px;
font-weight:600;

text-align:left;

cursor:pointer;

}

.faq-answer{
display:none;
padding:0 20px 20px;
line-height:1.8;
font-size:14px;
}

.faq-answer.active{
display:block;
}

/* =====================================================
NEARBY CITIES
===================================================== */

.nearby-cities-section{
padding:40px 0;
}

.nearby-cities-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
}

.nearby-city-card{

display:flex;
align-items:center;
justify-content:center;

text-align:center;

padding:18px;

background:#fff;

border:1px solid #e5e7eb;

border-radius:12px;

text-decoration:none;

font-size:14px;
font-weight:600;

color:#0b1d63;

transition:.3s;
}

.nearby-city-card:hover{

background:#0b1d63;

color:#fff;

transform:translateY(-3px);

}

@media(max-width:991px){

.nearby-cities-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:767px){

.nearby-cities-grid{
grid-template-columns:1fr;
}

}

/* =========================================================
INTERNAL LINKS
========================================================= */

.internal-links{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:10px;
max-width:1000px;
margin:auto;
}

.internal-links a{

padding:10px 16px;

border-radius:10px;

background:#fff;

border:1px solid var(--border);

text-decoration:none;

font-size:14px;

color:var(--primary);

font-weight:600;

}

/* =========================================================
TABLET
========================================================= */

@media(max-width:991px){

.country-hero{
height:450px;
}

.country-hero h1{
font-size:36px;
}

.visa-grid,
.package-grid,
.hotel-grid,
.blog-grid{
grid-template-columns:repeat(2,1fr);
}

.stats-grid{
grid-template-columns:repeat(2,1fr);
}

}

/* =========================================================
MOBILE
========================================================= */

@media(max-width:767px){

.container{
padding:0 16px;
}

.country-content-section,
.country-section,
.country-cta,
.country-final-cta{
padding:35px 0;
}

.country-hero{
height:360px;
}

.country-hero h1{
font-size:28px;
line-height:1.2;
}

.country-hero p{
font-size:14px;
line-height:1.7;
}

.section-heading{
margin-bottom:22px;
}

.section-heading h2{
font-size:24px;
}

.section-heading p{
font-size:14px;
}

.country-content{
font-size:15px;
}

.stats-grid{
grid-template-columns:1fr 1fr;
gap:12px;
}

.visa-grid,
.package-grid,
.hotel-grid,
.blog-grid{
grid-template-columns:1fr;
gap:18px;
}

.package-image img,
.hotel-image img,
.blog-image img{
height:200px;
}

.cta-box,
.final-cta-box{
padding:28px 18px;
}

.cta-box h2,
.final-cta-box h2{
font-size:24px;
}

.hero-buttons,
.cta-buttons{
flex-direction:column;
}

.btn-primary,
.btn-secondary{
width:100%;
}

}