:root{
    --card-radius: 18px;
    --accent-red: #e62b2b;
    --accent-dark: #c81a1a;
    --badge-yellow: #ffd400;
    --muted: #6b6b6b;
}

.tours-wrap {
    padding: 40px 12px;
    background: #ffffff;
}

/* card */
.tour-card{
    border-radius: var(--card-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 40px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform .3s ease, box-shadow .3s ease; /* home page-like animation */
}

.tour-card:hover{ /* lift like home packages */
    transform: translateY(-10px);
    box-shadow: 0 22px 60px rgba(0,0,0,.12);
}

/* media */
.tour-card .media-wrap{
    position: relative;
    height: 220px;
    overflow: hidden;
}
.tour-card .media-wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease; /* scale on hover like home */
}
.tour-card:hover .media-wrap img{ transform: scale(1.15); }

/* days badge */
.tour-badge-days{
    position: absolute;
    left: 20px;
    top: 18px;
    background: var(--badge-yellow);
    color: #222;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 14px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.08);
}

/* body */
.tour-body{
    padding: 26px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
}
.tour-title{
    font-family: "Playfair Display", serif;
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 6px 0;
    color: #111;
}
.tour-locations{
    color: var(--accent-red);
    font-weight: 700;
    margin-bottom: 12px;
}
.tour-locations .pin{ margin-right: 6px; }

/* features list */
.tour-features{
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #f1f1f1;
    margin-top: 12px;
    padding-top: 14px;
    flex: 1 1 auto;
}
.tour-features li{
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #fafafa;
    color: var(--muted);
    font-size: 15px;
}
.tour-features .check{
    color: #23a155;
    display:inline-block;
    width: 20px;
    margin-right: 12px;
}

/* CTA - support both class names */
.book-btn,
.btn-book{
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(180deg, var(--accent-red), var(--accent-dark));
    color: #fff;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(200, 26, 26, 0.3);
    text-decoration: none;
    text-align: center;
}

.book-btn:hover,
.btn-book:hover{
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(200, 26, 26, 0.5);
}

/* ============================
   Island Highlights (Special)
   Match standard card but with gold/red accenting
   ============================ */
.tour-card.special{
    background: #fff;
    border: 2px solid transparent;
    border-radius: var(--card-radius);
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        var(--gradient-gold) border-box;
    box-shadow: 0 24px 70px rgba(247, 208, 2, 0.25);
}
.tour-card.special .tour-badge-days{
    background: var(--gradient-red);
    color: #fff;
    box-shadow: 0 10px 30px rgba(201, 21, 30, 0.35);
}
.tour-card.special .tour-title{ color:#111; }
.tour-card.special .tour-locations{ color: #c9151e; }
.tour-card.special .btn-book{
    background: var(--gradient-gold);
    color: #111;
    box-shadow: 0 10px 30px rgba(247, 208, 2, .35);
}
.tour-card.special .btn-book:hover{ box-shadow: 0 14px 42px rgba(247, 208, 2, .55); }

/* ============================
   Island Highlights (legacy overlay styles kept if needed)
   ============================ */
.island-highlights { position: relative; }
.section-title{ font-family: "Playfair Display", serif; font-weight: 900; letter-spacing: .3px; }
.section-subtitle{ font-size: 14px; }

/* Keep legacy special-card styles in case used elsewhere */
.special-card{ border:0; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.20); transform: translateZ(0); }
.special-media{ position: relative; height: 320px; }
.special-media img{ width:100%; height:100%; object-fit:cover; display:block; filter: saturate(1.05) contrast(1.02) brightness(.95); transform: scale(1.02); transition: transform .6s ease, filter .6s ease; }
.special-card .overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.6) 70%, rgba(0,0,0,.75) 100%); }
.special-content{ position:absolute; left:0; right:0; bottom:0; padding: 24px; color:#fff; z-index:2; }
.special-content h3{ font-size: 22px; font-weight: 800; margin:0 0 6px; }
.special-content p{ font-size: 14px; opacity:.95; margin:0 0 14px; }
.special-btn{ display:inline-block; background: #ffd400; color:#111; font-weight:800; padding:10px 16px; border-radius: 30px; text-decoration:none; box-shadow: 0 10px 30px rgba(255,212,0,.35); }
.special-card:hover img{ transform: scale(1.08); filter: saturate(1.1) contrast(1.05) brightness(1); }

/* ribbon */
.ribbon{ position:absolute; left:18px; top:18px; z-index:3; background: linear-gradient(90deg,#ff4d4d,#ff914d); color:#fff; padding:8px 14px; border-radius: 999px; font-size: 12px; font-weight:800; letter-spacing: .3px; box-shadow: 0 8px 24px rgba(255,77,77,.35); }

@media (max-width: 991.98px){
    .tours-wrap{ padding: 32px 12px; }
    .tour-card .media-wrap{ height: 200px; }
    .tour-body{ padding: 22px; }
    .tour-title{ font-size: 22px; }
}

@media (max-width: 575.98px){
    .tours-wrap{ padding: 24px 10px; }
    .tour-card .media-wrap{ height: 180px; }
    .tour-title{ font-size: 20px; }
    .tour-features li{ font-size: 14px; padding: 8px 0; }
    .tour-badge-days{ padding: 6px 12px; font-size: 12px; left: 14px; top: 14px; }
    .book-btn, .btn-book{ font-size: .95rem; padding: 11px 18px; }
}

@media (min-width: 1200px){
    .tour-card .media-wrap{ height: 240px; }
}
