/* PACKAGES PAGE */
.packages-hero { background-image: url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?w=1600&q=80') !important; }
.page-hero { position:relative; height:380px; display:flex; align-items:center; background-size:cover; background-position:center; margin-top:68px; }
.page-hero__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,30,55,.72),rgba(10,30,55,.45)); }
.page-hero__content { position:relative; z-index:1; color:#fff; text-align:center; width:100%; }
.page-hero__title { font-family:'Playfair Display',serif; font-size:clamp(34px,5vw,56px); font-weight:700; margin-bottom:14px; line-height:1.1; }
.page-hero__subtitle { font-size:16px; color:rgba(255,255,255,.82); max-width:480px; margin:0 auto; }

.pkg-filter-wrap { background:#fff; border-bottom:1px solid var(--border); padding:16px 0; position:sticky; top:68px; z-index:90; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.pkg-filter { display:flex; gap:8px; flex-wrap:wrap; }
.filter-tab { border:1px solid var(--border); background:transparent; border-radius:20px; padding:7px 18px; font-size:13px; font-weight:500; cursor:pointer; color:var(--text-muted); font-family:inherit; transition:all .15s; }
.filter-tab:hover { border-color:var(--primary); color:var(--primary); }
.filter-tab.active { background:var(--primary); border-color:var(--primary); color:#fff; }
.navbar__nav a.active { color:var(--primary); border-bottom:2px solid var(--primary); padding-bottom:2px; }

.packages-section { padding:56px 0 80px; }
.pkg-row {
  display:grid; grid-template-columns:380px 1fr; gap:0;
  border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
  background:#fff; box-shadow:var(--shadow); margin-bottom:32px;
  opacity:0; transform:translateY(14px); transition:opacity .35s,transform .35s,box-shadow .2s;
}
.pkg-row.visible { opacity:1; transform:translateY(0); }
.pkg-row:hover { box-shadow:0 12px 40px rgba(0,0,0,.13); }
.pkg-row__img {
  position:relative; background-size:cover; background-position:center;
  min-height:280px;
}
.pkg-row__badge { position:absolute; top:14px; left:14px; font-size:11px; font-weight:600; padding:4px 12px; border-radius:20px; letter-spacing:.5px; }
.pkg-row__body { padding:32px 36px; display:flex; flex-direction:column; gap:0; }
.pkg-row__meta { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.pkg-tag { background:var(--primary-light); color:var(--primary); font-size:11px; font-weight:700; padding:4px 12px; border-radius:20px; text-transform:uppercase; letter-spacing:.8px; }
.pkg-duration { font-size:13px; color:var(--text-muted); }
.pkg-row__body h2 { font-family:'Playfair Display',serif; font-size:24px; font-weight:700; color:var(--text); margin-bottom:10px; line-height:1.2; }
.pkg-row__body > p { font-size:14px; color:var(--text-muted); line-height:1.6; margin-bottom:18px; }
.pkg-row__includes { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.pkg-row__includes span { background:var(--bg-alt); border:1px solid var(--border); border-radius:20px; font-size:12px; font-weight:500; padding:4px 12px; color:var(--text); }
.pkg-row__footer { display:flex; align-items:center; justify-content:space-between; padding-top:18px; border-top:1px solid var(--border); margin-top:auto; }
.pkg-row__price { font-size:13px; color:var(--text-muted); }
.pkg-row__price strong { font-size:24px; font-weight:700; color:var(--primary); }
.pkg-row__price span { font-size:12px; }
.pkg-row__actions { display:flex; gap:10px; }
.btn--outline-pkg { background:transparent; border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:8px 18px; font-size:13px; font-weight:500; cursor:pointer; color:var(--text-muted); font-family:inherit; transition:all .15s; }
.btn--outline-pkg:hover { border-color:var(--primary); color:var(--primary); }

/* Details accordion */
.pkg-details { margin-top:24px; padding-top:24px; border-top:1px solid var(--border); }
.pkg-details.hidden { display:none; }
.pkg-details__grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; }
.pkg-details__grid div { background:var(--bg-alt); border-radius:var(--radius-sm); padding:14px 16px; }
.pkg-details__grid strong { display:block; font-size:13px; font-weight:600; color:var(--text); margin-bottom:4px; }
.pkg-details__grid p { font-size:13px; color:var(--text-muted); line-height:1.5; margin:0; }
.pkg-details__itinerary h4 { font-size:14px; font-weight:700; color:var(--text); margin-bottom:14px; }
.itin-row { display:flex; gap:14px; align-items:flex-start; padding:8px 0; border-bottom:1px solid var(--border); }
.itin-row:last-child { border-bottom:none; }
.itin-day { background:var(--primary); color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; flex-shrink:0; margin-top:2px; }
.itin-row p { font-size:13px; color:var(--text-muted); margin:0; line-height:1.5; }

/* Comparison table */
.compare-section { background:var(--bg-alt); padding:80px 0; }
.compare-table-wrap { overflow-x:auto; }
.compare-table { width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); }
.compare-table th { background:var(--primary); color:#fff; padding:14px 18px; font-size:13px; font-weight:600; text-align:left; white-space:nowrap; }
.compare-table td { padding:14px 18px; font-size:14px; color:var(--text); border-bottom:1px solid var(--border); }
.compare-table tr:last-child td { border-bottom:none; }
.compare-table tr:hover td { background:var(--bg-alt); }
.featured-row td { background:#fffbf5; }
.featured-label { background:#faeeda; color:#ba7517; font-size:10px; font-weight:700; padding:2px 8px; border-radius:20px; margin-left:8px; vertical-align:middle; }
.price-col { font-size:16px; color:var(--primary); }
.cat-pill { font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; }
.cat-beach { background:var(--primary-light); color:var(--primary); }
.cat-adventure { background:#e1f5ee; color:#0f6e56; }
.cat-cultural { background:#faeeda; color:#ba7517; }
.cat-luxury { background:#eeedfe; color:#534ab7; }
.cat-family { background:#faece7; color:#993c1d; }

/* Custom CTA */
.custom-cta { padding:72px 0; background:var(--primary); }
.custom-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.custom-cta__text h2 { font-family:'Playfair Display',serif; font-size:28px; color:#fff; margin-bottom:10px; }
.custom-cta__text p { color:rgba(255,255,255,.82); font-size:15px; max-width:500px; }
.custom-cta .btn--primary { background:#fff; color:var(--primary); border-color:#fff; }
.custom-cta .btn--primary:hover { background:rgba(255,255,255,.9); }

@media(max-width:900px){ .pkg-row { grid-template-columns:1fr; } .pkg-row__img { min-height:220px; } }
@media(max-width:600px){ .pkg-row__body { padding:22px 18px; } .pkg-details__grid { grid-template-columns:1fr; } .custom-cta__inner { flex-direction:column; align-items:flex-start; } }
