/* Creative Travel Theme CSS */
:root {
  /* Brand Specific */
  --brand-primary: #0f1d35; /* Navy Blue */
  --brand-secondary: #cca876; /* Gold/Sand */
  
  --bg-primary: #ffffff;
  --bg-secondary: #f8f9fa;
  --text-primary: #0f1d35;
  --text-secondary: #4a5568;
  --text-muted: #a0aec0;
  
  --border-radius-lg: 20px;
  --border-radius-md: 12px;
  --border-radius-sm: 8px;

  --nav-bg: rgba(255, 255, 255, 0.98);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, Arial, sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Typography Defaults */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--text-primary);
  font-weight: 700;
  margin-top: 0;
}

.text-primary {
  color: var(--brand-primary) !important;
}
.text-secondary {
  color: var(--text-secondary) !important;
}
.text-muted {
  color: var(--text-muted) !important;
}

.bg-primary {
  background-color: var(--brand-primary) !important;
}
.bg-secondary {
  background-color: var(--brand-secondary) !important;
}
.bg-light {
  background-color: var(--bg-secondary) !important;
}

/* Buttons */
.btn-primary {
  background-color: var(--brand-secondary);
  border-color: var(--brand-secondary);
  color: #fff;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: #b89666;
  border-color: #b89666;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(204,168,118, 0.3);
}

.btn-outline-primary {
  color: var(--brand-secondary);
  border-color: var(--brand-secondary);
}

.btn-outline-primary:hover {
  background-color: var(--brand-secondary);
  color: #fff;
}

/* Base Utilities */
a {
  color: var(--brand-secondary);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #b89666;
}

.btn-brand {
    background: var(--brand-secondary);
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
}
.btn-brand:hover {
    background: #b5905d;
    transform: translateY(-2px);
    color: #fff;
}
.btn-outline-brand {
    background: transparent;
    color: var(--brand-secondary);
    border: 2px solid var(--brand-secondary);
    padding: 10px 28px;
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
}
.btn-outline-brand:hover {
    background: var(--brand-secondary);
    color: #fff;
    transform: translateY(-2px);
}

/* Card General */
.creative-card {
  background: #fff;
  border-radius: var(--border-radius-lg);
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* WhatsApp Float Button */
.whatsapp-float-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
    z-index: 1000;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.whatsapp-float-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.6);
}

.whatsapp-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #dc3545;
    color: white;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

/* --- New Template Styles --- */

/* Hero Section Fixes */
.creative-hero { height: 100vh; min-height: 600px; margin-top: -100px; }
.creative-hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; transform: scale(1.05); transition: transform 10s ease; }
.carousel-item.active .creative-hero-bg { transform: scale(1); }
.creative-hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 30%, rgba(0,0,0,0.5) 100%); }
.z-index-2 { z-index: 2; }

/* Image Stack (About Section) */
.image-stack { position: relative; height: 500px; width: 100%; }
.stack-img-top { position: absolute; top: 0; right: 0; width: 70%; height: 80%; object-fit: cover; z-index: 2; border: 5px solid #fff; }
.stack-img-bottom { position: absolute; bottom: 0; left: 0; width: 60%; height: 70%; object-fit: cover; z-index: 1; border: 5px solid #fff; }

/* Interest Card (Categories) */
.interest-card { position: relative; border-radius: var(--border-radius-lg); overflow: hidden; height: 350px; display: block; }
.interest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.interest-card:hover img { transform: scale(1.1); }
.interest-overlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(15,29,53,0.9) 0%, rgba(15,29,53,0) 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 30px 20px; color: #fff; }
.interest-icon { width: 50px; height: 50px; background: var(--brand-secondary); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 15px; font-size: 20px; }

/* Promise Card (Trust Section) */
.promise-card { background: #fff; padding: 30px; border-radius: var(--border-radius-lg); box-shadow: 0 5px 20px rgba(0,0,0,0.05); height: 100%; transition: transform 0.3s ease; }
.promise-card:hover { transform: translateY(-5px); }
.promise-icon-wrapper { width: 60px; height: 60px; background: var(--brand-secondary); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }

/* Promo Wrap */
.promo-img-wrap { position: relative; border-radius: var(--border-radius-lg); overflow: hidden; }
.promo-img-wrap img { width: 100%; height: 500px; object-fit: cover; }

/* Blog Img Wrap */
.blog-img-wrap { height: 100%; min-height: 250px; }
.blog-img-wrap img { width: 100%; height: 100%; object-fit: cover; }

/* Gallery Grid */
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; grid-auto-rows: 250px; }
.gallery-item-large { grid-column: span 2; grid-row: span 2; position: relative; border-radius: var(--border-radius-lg); overflow: hidden; }
.gallery-item { position: relative; border-radius: var(--border-radius-lg); overflow: hidden; }
.gallery-item-large img, .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.gallery-item-large:hover img, .gallery-item:hover img { transform: scale(1.05); }
.gallery-btn-maximize { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(255,255,255,0.9); width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--brand-primary); opacity: 0; transition: opacity 0.3s ease; }
.gallery-item-large:hover .gallery-btn-maximize, .gallery-item:hover .gallery-btn-maximize { opacity: 1; }

/* Video CTA */
.video-cta { position: relative; height: 600px; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.video-cta-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.video-cta-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15,29,53, 0.7); z-index: 2; }
.video-cta-content { position: relative; z-index: 3; color: #fff; }

/* Contact Info Card */
.contact-info-card { background: #fff; padding: 30px; border-radius: var(--border-radius-lg); box-shadow: 0 5px 20px rgba(0,0,0,0.05); text-align: center; }
.contact-icon { width: 60px; height: 60px; background: rgba(204,168,118, 0.1); color: var(--brand-secondary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; margin: 0 auto 20px; }
.contact-form-container { background: #fff; padding: 40px; border-radius: var(--border-radius-lg); box-shadow: 0 10px 40px rgba(0,0,0,0.05); }

/* Trip Slide & Trip Block */
.trip-card-slide { position: relative; height: 450px; overflow: hidden; display: block; border-radius: var(--border-radius-lg); }
.trip-card-slide img.card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.trip-card-slide:hover img.card-img { transform: scale(1.1); }
.trip-card-slide .card-img-overlay { background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.2) 60%, transparent 100%); }
.trip-card-slide h3, .trip-card-slide h4 { color: #ffffff !important; }


.creative-trip-card { border-radius: var(--border-radius-lg); overflow: hidden; position: relative; box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; background: #fff; height: 100%; display: flex; flex-direction: column; }
.creative-trip-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.15); }
.creative-trip-img-wrap { height: 250px; width: 100%; overflow: hidden; }
.creative-trip-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.creative-trip-card:hover .creative-trip-img-wrap img { transform: scale(1.08); }
.creative-trip-title-box { background: var(--brand-primary); color: #fff; padding: 15px; text-align: center; border-bottom-left-radius: var(--border-radius-lg); border-bottom-right-radius: var(--border-radius-lg); flex-grow: 1; display: flex; flex-direction: column; justify-content: center; }
.creative-trip-title-box h4 { color: #fff; font-size: 1.1rem; margin-bottom: 5px; font-weight: 600; }
.creative-trip-badge { position: absolute; top: 15px; right: 15px; background: var(--brand-secondary); color: #fff; padding: 5px 12px; border-radius: 20px; font-size: 0.8rem; font-weight: bold; z-index: 2; }

/* Swiper Container Fixes */
.swiper-slide { height: auto; }
.tripSwiper, .blogSwiper { padding-bottom: 50px; }

/* Testimonials */
.testimonial-image-wrapper { position: relative; width: 180px; height: 180px; margin: 0 auto 20px; }
.testimonial-image-wrapper img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 4px solid var(--brand-secondary); padding: 4px; }
.testimonial-quote-icon { position: absolute; bottom: 0; left: 0; background: var(--brand-primary); color: var(--brand-secondary); width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }
.testimonial-review-card { background: var(--card-bg, #fff); border-radius: var(--border-radius-lg); box-shadow: 0 10px 40px rgba(0,0,0,0.08); padding: 40px; margin-top: -30px; position: relative; z-index: 2; }
.testimonial-stars { color: var(--brand-secondary); font-size: 1.5rem; margin-bottom: 15px; }
.testimonial-author-name { color: var(--brand-primary); font-weight: 800; font-size: 1.5rem; margin-bottom: 5px; }
.testimonial-recommended { color: var(--text-secondary); font-size: 1rem; margin-bottom: 20px; }
.testimonial-recommended span { color: var(--brand-secondary); font-weight: 600; }
.testimonial-text { color: var(--text-primary); font-size: 1.1rem; line-height: 1.6; margin-bottom: 30px; }

/* Font Utilities */
.font-script { font-family: 'Brush Script MT', cursive, sans-serif; color: var(--brand-secondary); font-size: 2.5rem; }
.font-heading { color: var(--brand-primary); font-weight: 900; font-size: 3rem; text-transform: uppercase; }

/* Mobile Responsive Adjustments */
@media (max-width: 991px) {
    .image-stack { height: 400px; }
    .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 250px; }
    .gallery-item-large { grid-column: span 1; grid-row: span 1; }
    .video-cta { height: 500px; }
    .creative-hero { min-height: 500px; height: 80vh; }
}/* Floating Chat Widget */
.chat-wrapper{font-family:'Roboto',sans-serif;background-color:#ffffff;display:flex;flex-direction:column;width:90vw;max-width:350px;border-radius:16px;overflow:hidden;position:fixed;bottom:100px;right:30px;opacity:0;visibility:hidden;transform:translateY(20px);box-shadow:0 12px 24px rgba(0,0,0,0.15);transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);z-index:9999;}
.chat-wrapper.open{opacity:1;visibility:visible;transform:translateY(0);}
.chat-header{background:#128C7E;color:#ffffff;padding:15px 20px 0;transition:background 0.3s ease;}
.chat-header.facebook-bg{background:#0084FF;}
.header-profile{display:flex;align-items:center;gap:15px;margin-bottom:15px;}
.header-profile .img-wrapper{position:relative;width:50px;height:50px;}
.header-profile .person-image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,0.2);}
.header-profile .header-content h5{font-size:16px;font-weight:700;margin:0;color:#fff;}
.header-profile .header-content span{font-size:12px;opacity:0.9;}
.chat-tabs{display:flex;gap:20px;padding-bottom:0;}
.chat-tab{background:transparent;border:none;color:rgba(255,255,255,0.6);font-weight:600;padding-bottom:10px;border-bottom:3px solid transparent;cursor:pointer;transition:all 0.3s;flex:1;text-align:center;font-size:0.9rem;}
.chat-tab:hover{color:rgba(255,255,255,0.8);}
.chat-tab.active{color:#ffffff;border-bottom-color:#ffffff;}
.chat-body{display:none;animation:fadeIn 0.3s ease;}
.chat-body.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
.chat-center{background-color:#E5DDD5;background-image:url("https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png");padding:20px;min-height:200px;}
.chat-center.facebook-theme{background-color:#f0f2f5;background-image:none;}
.chat-message{background:#ffffff;padding:10px 15px;border-radius:0 10px 10px 10px;box-shadow:0 1px 1px rgba(0,0,0,0.1);max-width:85%;position:relative;font-size:14px;line-height:1.5;color:#111;}
.chat-message::before{content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-top:10px solid #fff;border-left:10px solid transparent;}
.chat-message .time{display:block;text-align:right;font-size:10px;color:#999;margin-top:4px;}
.chat-footer{background:#fff;padding:15px 20px;}
.chat-btn{background:#25D366;color:#fff;border:none;width:100%;padding:12px;border-radius:30px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background 0.3s;text-decoration:none;}
.chat-btn:hover{background:#20b85c;}
.chat-btn.facebook-btn{background:#0084FF;}
.chat-btn.facebook-btn:hover{background:#0073e6;}

.whatsapp-float-btn .icon-open{position:absolute;transition:all 0.3s;opacity:1;transform:rotate(0deg);}
.whatsapp-float-btn .icon-close{position:absolute;transition:all 0.3s;opacity:0;transform:rotate(-90deg);font-size:24px;}
.whatsapp-float-btn.active .icon-open{opacity:0;transform:rotate(90deg);}
.whatsapp-float-btn.active .icon-close{opacity:1;transform:rotate(0deg);}
/* Lightbox CSS */
.as-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.95);backdrop-filter:blur(15px);z-index:9999;display:none;align-items:center;justify-content:center;padding:40px;opacity:0;transition:opacity 0.4s ease;}
.as-lightbox.active{display:flex;opacity:1;}
.lightbox-content{max-width:90%;max-height:90%;position:relative;transform:scale(0.9);transition:transform 0.5s cubic-bezier(0.165,0.84,0.44,1);}
.as-lightbox.active .lightbox-content{transform:scale(1);}
.lightbox-content img,.lightbox-content video{max-width:100%;max-height:90vh;border-radius:15px;box-shadow:0 20px 50px rgba(0,0,0,0.5);}
.lightbox-close{position:absolute;top:30px;right:30px;color:#fff;font-size:2rem;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.1);border-radius:50%;transition:all 0.3s ease;}
.lightbox-close:hover{background:#ff4757;transform:rotate(90deg);}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:60px;background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;font-size:1.5rem;transition:all 0.3s ease;z-index:10;}
.lightbox-nav:hover{background:var(--dot-color-active);color:#fff;transform:translateY(-50%) scale(1.1);}
.lightbox-prev{left:40px;}
.lightbox-next{right:40px;}
.lightbox-thumbnails{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:15px;padding:10px;background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,0.1);z-index:10;max-width:90vw;overflow-x:auto;}
.thumb-item{width:60px;height:60px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all 0.3s ease;flex:0 0 60px;}
.thumb-item.active{border-color:var(--dot-color-active);transform:scale(1.1);}
.thumb-item img{width:100%;height:100%;object-fit:cover;opacity:0.6;transition:opacity 0.3s ease;}
.thumb-item:hover img,.thumb-item.active img{opacity:1;}
@media (max-width:768px){.lightbox-nav{width:45px;height:45px;font-size:1.2rem;}.lightbox-prev{left:10px;}.lightbox-next{right:10px;}.thumb-item{width:45px;height:45px;flex:0 0 45px;}}

/* Select2 Improvements */
.select2-container--default .select2-selection--single {
    background-color: #f8f9fa !important;
    border: 0 !important;
    border-radius: var(--border-radius-sm, 8px) !important;
    height: 42px !important;
    padding: 0.375rem 1rem !important;
    display: flex !important;
    align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
    right: 10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-primary) !important;
    line-height: normal !important;
    padding-left: 0 !important;
}
.select2-dropdown {
    border: 0 !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important;
    border-radius: var(--border-radius-sm, 8px) !important;
    overflow: hidden !important;
    z-index: 9999 !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--brand-secondary, #cca876) !important;
    color: white !important;
}
.select2-search--dropdown .select2-search__field {
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: var(--border-radius-sm, 8px) !important;
    padding: 8px 12px !important;
    outline: none !important;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--single:active {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(204,168,118, 0.2) !important;
}
