/* ============================================================
   OFFER GRID
=========================================================== */
.offer-grid {
  max-width:var(--content-max);
  margin:auto;
  display:grid;
  gap:22px;
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
}
.offer-card {
  background:#fff;
  padding:25px;
  border-radius:20px;
  box-shadow:0 6px 26px rgba(0,0,0,.08);
  transition:.35s;
}
.offer-card:hover { transform:translateY(-4px); box-shadow:0 0 20px rgba(255,106,0,.4); }
.offer-icon { width:60px; margin-bottom:12px; }


/* ============================================================
PACKAGES SECTION
============================================================ */

.packages-section{ padding:60px 0;
background:#fafafa;
}

.packages-container{
max-width:1300px;
margin:auto;
}

/* 3 COLUMN LAYOUT */

.pkg-3col-wrap{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:32px;
}

/* COLUMN */

.pkg-col{
width:100%;
}

/* HEADER */

.pkg-head{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:16px;
}

.pkg-head h3{
font-size:20px;
font-weight:800;
}

/* SLIDER WRAPPER */

.pkg-slider{
width:100%;
overflow:hidden;
position:relative;
}

/* TRACK */

.pkg-track{
display:flex;
transition:transform .5s cubic-bezier(.25,.8,.25,1);
will-change:transform;
}

/* CARD */

.pkg-card{

flex:0 0 100%;
width:100%;

background:#fff;
border-radius:20px;
overflow:hidden;

box-shadow:0 10px 30px rgba(0,0,0,.08);

display:flex;
flex-direction:column;

}

.pkg-card{
transition:transform .25s ease, box-shadow .25s ease;
}

.pkg-card:hover{

transform:translateY(-6px);

box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.pkg-dots{
margin-bottom:10px;
}

/* IMAGE */

.pkg-img-wrap{
position:relative;
}

.pkg-img{
width:100%;
height:220px;
object-fit:cover;
}

/* BADGE */

.pkg-badge{
position:absolute;
top:12px;
left:12px;

background:#ff6a00;
color:#fff;

padding:5px 12px;
border-radius:20px;
font-size:12px;
font-weight:700;
}

/* ARROWS */

.pkg-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);

width:42px;
height:42px;

border-radius:50%;
border:none;

background:rgba(0,0,0,.55);
color:#fff;

display:flex;
align-items:center;
justify-content:center;

font-size:20px;
cursor:pointer;

}

.pkg-arrow.left{ left:10px; }
.pkg-arrow.right{ right:10px; }

/* INFO */

.pkg-info{
padding:16px;
}

.pkg-info h4{
font-size:18px;
font-weight:700;
margin-bottom:4px;
}

.pkg-info p{
font-size:14px;
color:#666;
margin-bottom:8px;
}

/* META */

.pkg-meta{
display:flex;
justify-content:space-between;
align-items:center;
}

.pkg-price{

font-size:18px;
font-weight:800;
color:#ff6a00;

animation:priceGlow 3s infinite;

}

@keyframes priceGlow{

0%{opacity:1}
50%{opacity:.7}
100%{opacity:1}

}

.pkg-days{
background:#fff3e8;
color:#ff6a00;
padding:4px 10px;
border-radius:20px;
font-size:12px;
}

/* BUTTON */

.pkg-book{
margin-top:12px;
text-align:right;
}

.book-btn{
background:linear-gradient(135deg,#ff6a00,#ff3b7a);
color:#fff;
padding:9px 18px;
border-radius:30px;
font-size:13px;
font-weight:700;
text-decoration:none;
transition:all .25s ease;
}

.book-btn:hover{

transform:translateY(-1px);
box-shadow:0 6px 16px rgba(0,0,0,.2);

}

/* DOTS */

.pkg-dots{
display:flex;
justify-content:center;
gap:8px;
margin-top:14px;
}

.pkg-dot{
width:10px;
height:10px;
border-radius:50%;
background:#ccc;
}

.pkg-dot.active{
background:#ff6a00;
}

/* TABLET */

@media(max-width:1024px){

.pkg-3col-wrap{
grid-template-columns:1fr 1fr;
}

}

/* MOBILE */

@media(max-width:768px){

.pkg-3col-wrap{
grid-template-columns:1fr;
}

.pkg-img{
height:200px;
}

}

/* ============================================================
PACKAGE RATING
============================================================ */

.pkg-rating{

display:flex;
align-items:center;
gap:6px;

font-size:13px;
font-weight:600;

color:#444;

margin:6px 0;

}

.pkg-stars{

color:#ffb400;
font-size:14px;

}

.pkg-booked{

font-size:12px;
color:#777;

}

/* SMALL BADGE */

.pkg-popular{

background:#fff3e8;
color:#ff6a00;

font-size:11px;
font-weight:700;

padding:3px 8px;

border-radius:20px;

margin-left:6px;

}

/* ============================================================
PACKAGES CTA
============================================================ */

.packages-cta{
margin-top:30px;
text-align:center;
}

/* EXPLORE BUTTON */

.view-all-packages{

display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;

background:linear-gradient(135deg,#ff6a00,#ff3b7a);

color:#fff;
font-weight:700;
font-size:15px;

padding:12px 26px;

border-radius:40px;
text-decoration:none;

box-shadow:0 8px 18px rgba(0,0,0,0.15);

transition:all .3s ease;
}

/* HOVER */

.view-all-packages:hover{

transform:translateY(-2px);

box-shadow:0 12px 25px rgba(0,0,0,0.2);

}

/* ICON ANIMATION */

.view-all-packages::after{

content:"→";

font-size:16px;
transition:transform .25s ease;

}

.view-all-packages:hover::after{

transform:translateX(6px);

}

/* MOBILE */

@media(max-width:768px){

.view-all-packages{

font-size:14px;
padding:11px 22px;

}

}

/* ============================================================
   COUNTRIES SECTION
============================================================ */
.countries-section{ padding:52px 0;
background:#fafafa;
}

.countries-grid{
max-width:1100px;
margin:auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
gap:16px;
}

.countries-grid a{

background:#fff;
padding:16px;

border-radius:14px;

text-align:center;
font-weight:700;

color:#333;

text-decoration:none;

box-shadow:0 8px 18px rgba(0,0,0,.08);

transition:.3s;

}

.countries-grid a:hover{
background:linear-gradient(135deg,#ff6a00,#ff3b7a);
color:#fff;
}