/* 1. Global Styles */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
    color: #333;
}

/* 2. Hero Carousel Fixes */
#heroCarousel {
    position: relative;
    z-index: 1; /* Keep images in the background */
}

.carousel-item {
    transition: transform 1.2s ease-in-out, opacity 1s ease-in-out;
}

/* 3. Trust Bar Positioning */
.trust-bar-container {
    margin-top: -80px; /* Pulls the bar up over the carousel */
    position: relative;
    z-index: 10; /* Ensures it stays ABOVE the images */
}

/* 4. Voyage Cards */
.voyage-card {
    transition: all 0.3s ease;
    border: none;
}

.voyage-card:hover {
    transform: translateY(-10px);
    shadow: 0 1rem 3rem rgba(0,0,0,.175)!important;
}

/* 5. Package Detail Page Styles */
.description-section {
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

.sticky-top {
    z-index: 5;
}

/* 6. Primary Button Styling (Professional Green/Gold theme option) */
.btn-primary {
    background-color: #006837; /* Deep Islamic Green */
    border-color: #006837;
}

.btn-primary:hover {
    background-color: #004d29;
    border-color: #004d29;
}

/* 7. Stats Counter Styling */
.stats-section {
    position: relative;
    z-index: 5;
    background: #212529;
}

/* Ensure all voyage images have the exact same 16:9 aspect ratio */
.voyage-img-container {
    width: 100%;
    height: 220px; /* Fixed height */
    overflow: hidden;
}

.voyage-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* This crops the image to fit without stretching */
    transition: transform 0.5s ease;
}

/* Hover effect for the image */
.voyage-card:hover .voyage-img-container img {
    transform: scale(1.1);
}

/* Card Styling */
.voyage-card {
    transition: all 0.3s ease-in-out;
    border-radius: 15px;
    background: #fff;
}

.voyage-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
}

/* Price Badge Styling */
.price-badge {
    font-weight: 600;
    font-size: 0.9rem;
    z-index: 2;
}

/* Professional text clipping for titles if they get too long */
.card-title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.description-section {
    white-space: pre-line; /* Respects line breaks in your database text */
    text-align: justify;
}

.bg-primary-subtle { background-color: #e7f1ff; }
.bg-success-subtle { background-color: #e6fcf5; }

.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0,0,0,.1) !important;
}

/* Base social icon style */
.social-icon {
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.social-icon:hover {
    transform: scale(1.2);
    opacity: 0.8;
}

/* Specific brand colors */
.facebook { color: #1877F2; }
.whatsapp { color: #25D366; }
.instagram { color: #E4405F; }
.tiktok { color: #000000; } /* Or use #FE2C55 for the brand pink */



.social-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    /* Transparent background for a clean look */
    background-color: transparent; 
    /* The thin white border */
    border: 1px solid white;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 1.2rem;
}

/* Hover effect: Optional, makes the circle fill with white */
.social-circle:hover {
    background-color: white;
    color: #333; /* Darker icon color on hover so it remains visible */
    transform: scale(1.1);
}

