/* =====================================================================
   Section styles — About, Destinations, Services, Advantages,
   Testimonials, Gallery, CTA, Footer
   ===================================================================== */

/* ---------- ABOUT ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-media{position:relative}
.about-img{border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.about-img:hover img{transform:scale(1.06)}
.about-img--main{height:420px}
.about-img--small{position:absolute;right:-10px;bottom:-40px;width:210px;height:230px;border:6px solid #fff}
.about-badge{position:absolute;left:-10px;top:30px;background:var(--accent);color:#fff;
  border-radius:16px;padding:16px 20px;box-shadow:0 16px 30px rgba(17,61,72,.35);text-align:center;
  animation:floatY 4s ease-in-out infinite}
.about-badge .ab-num{display:block;font-family:var(--font-title);font-size:26px;font-weight:700}
.about-badge .ab-text{font-size:12px;opacity:.9}
.about-lead{color:var(--body-strong);font-weight:500;margin:6px 0 22px}
.about-list{margin-bottom:30px;display:grid;gap:12px}
.about-list li{display:flex;align-items:flex-start;gap:12px;color:var(--body)}
.about-list i{color:var(--blue);margin-top:5px}

/* ---------- TITLE FLEX (slider heads) ---------- */
.title-flex{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.slider-nav{display:flex;gap:12px}
.round-arrow{width:52px;height:52px;border-radius:50%;border:1px solid var(--border);
  background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.3s ease}
.round-arrow:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-3px)}

/* ---------- DESTINATIONS ---------- */
.destinations{background:#89d2e4}          /* requested sky background */
.destinations .sub-title{color:#0b3d5c}
.destinations .sub-title::before{background:#0b3d5c}
.destinations .sec-title{color:#08303f}
.destinations .sec-title span{color:#0b5e78}
/* coverflow slider — centered on page, FULL WIDTH, no overflow
   (slider is a direct child of the section, so width:100% = full width) */
.destination-slider{width:100%;overflow:hidden;padding:24px 0 46px}
.destination-slider .swiper-wrapper{align-items:stretch}
.destination-slider .swiper-slide{height:auto}
.destination-slider .swiper-slide .dest-card{height:100%}
/* side padding so cards aren't flush to screen edges */
.destination-slider{padding-left:max(20px,3vw);padding-right:max(20px,3vw)}
.dest-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);
  transition:transform .4s ease,box-shadow .4s ease}
.dest-card:hover{transform:translateY(-8px);box-shadow:0 26px 46px rgba(9,80,130,.22)}
.dest-img{height:280px;overflow:hidden;position:relative}
.dest-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dest-card:hover .dest-img img{transform:scale(1.08)}
.dest-body{padding:22px 24px}
.dest-loc{display:inline-flex;align-items:center;gap:6px;color:var(--sky);font-size:13px;font-weight:600;margin-bottom:6px}
.dest-name{font-size:22px;margin-bottom:12px}
.dest-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:600;font-size:14px;transition:gap .3s ease}
.dest-link:hover{gap:14px;color:var(--blue)}
.destination-slider{padding-bottom:10px}

/* ---------- SERVICES (category slider — WP style: image, title, See More) ---------- */
.services-slider{padding-bottom:10px}
.category-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);text-align:center;
  transition:transform .4s ease,box-shadow .4s ease}
.category-card:hover{transform:translateY(-10px);box-shadow:0 28px 50px rgba(9,80,130,.2)}
.category-img{overflow:hidden;position:relative}
.category-img img{width:100%;height:340px;object-fit:cover;transition:transform .6s ease}
.category-card:hover .category-img img{transform:scale(1.08)}
.category-body{padding:26px 24px 30px}
.category-title{font-size:20px;font-weight:600;color:var(--heading);margin-bottom:14px;transition:color .3s ease;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-card:hover .category-title{color:var(--accent)}
/* line-btn style underline link */
.category-link{position:relative;display:inline-block;color:var(--accent);font-family:var(--font-title);
  font-weight:600;font-size:14px;padding-bottom:4px}
.category-link i{margin-left:6px;transition:transform .3s ease}
.category-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--blue);
  transform:scaleX(.35);transform-origin:left;transition:transform .35s ease}
.category-card:hover .category-link::after{transform:scaleX(1)}
.category-card:hover .category-link i{transform:translateX(5px)}
.services-pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}
.services-pagination .swiper-pagination-bullet{width:10px;height:10px;background:var(--accent);opacity:.25;transition:.3s}
.services-pagination .swiper-pagination-bullet-active{opacity:1;width:26px;border-radius:6px}

/* ---------- OUR ADVANTAGES (solid alternating white/blue) ---------- */
.advantages{background:#89d2e4}
.advantages .sub-title{color:#0b3d5c}
.advantages .sub-title::before{background:#0b3d5c}
.advantages .sec-title{color:#08303f}
.advantages .sec-title span{color:#0b5e78}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:0 5%;box-sizing:border-box}
.adv-card{position:relative;overflow:hidden;padding:34px 28px;border-radius:20px;
  background:#fff;border:1px solid var(--border);color:#0b2e49;box-shadow:0 14px 34px rgba(9,80,130,.15);
  transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease}
.adv-card:hover{transform:translateY(-12px) scale(1.015);box-shadow:0 26px 48px rgba(9,80,130,.28)}
.adv-num{position:absolute;top:6px;right:20px;font-family:var(--font-title);font-weight:700;font-size:64px;
  line-height:1;color:rgba(42,159,214,.18);transition:transform .45s ease,color .45s ease;pointer-events:none}
.adv-card:hover .adv-num{transform:scale(1.15) rotate(-6deg);color:rgba(42,159,214,.4)}
.adv-title{position:relative;z-index:2;font-size:21px;font-weight:600;line-height:1.35;color:#073b5c;margin-bottom:12px}
.adv-title::after{content:"";display:block;width:42px;height:3px;border-radius:3px;background:#1a86c7;margin-top:12px}
.adv-card p{position:relative;z-index:2;font-size:15px;line-height:1.65;color:#33546e}
.adv-card:nth-child(even){background:#1e88e5;border-color:#1e88e5;color:#fff;box-shadow:0 16px 36px rgba(13,71,161,.28)}
.adv-card:nth-child(even):hover{box-shadow:0 26px 48px rgba(13,71,161,.4)}
.adv-card:nth-child(even) .adv-title{color:#fff}
.adv-card:nth-child(even) .adv-title::after{background:#fff}
.adv-card:nth-child(even) p{color:rgba(255,255,255,.95)}
.adv-card:nth-child(even) .adv-num{color:rgba(255,255,255,.3)}
.adv-card:nth-child(even):hover .adv-num{color:rgba(255,255,255,.48)}

/* ---------- TESTIMONIALS ---------- */
.testi-card{background:#fff;border-radius:20px;padding:38px 34px;box-shadow:var(--shadow);position:relative;margin:10px 0 40px;height:calc(100% - 50px)}
.testi-quote{position:absolute;top:30px;right:34px;font-size:44px;color:#e3f0f8}
.testi-stars{color:#ffb400;margin-bottom:16px;display:flex;gap:3px;font-size:15px}
.testi-text{color:var(--body-strong);font-weight:500;font-size:16px;line-height:1.7;margin-bottom:26px}
.testi-author{display:flex;align-items:center;gap:14px}
.testi-author img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid #e3f0f8}
.testi-author h4{font-size:17px;margin-bottom:2px}
.testi-author span{color:var(--sky);font-size:13px;font-weight:600}
.testi-pagination{display:flex;justify-content:center;gap:8px}
.testi-pagination .swiper-pagination-bullet{width:10px;height:10px;background:var(--accent);opacity:.25;transition:.3s}
.testi-pagination .swiper-pagination-bullet-active{opacity:1;width:26px;border-radius:6px}

/* ---------- GALLERY ---------- */
.gallery{background:#89d2e4}
.gallery .sub-title{color:#0b3d5c}
.gallery .sub-title::before{background:#0b3d5c}
.gallery .sec-title{color:#08303f}
.gallery .sec-title span{color:#0b5e78}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px}
.gallery-item{position:relative;overflow:hidden;border-radius:16px;display:block}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-item::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(17,61,72,.65),transparent);opacity:0;transition:.4s ease;z-index:1}
.gallery-item:hover::before{opacity:1}
.gallery-plus{position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:50%;
  background:#fff;color:var(--accent);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.5);transition:.4s ease;z-index:2}
.gallery-item:hover .gallery-plus{opacity:1;transform:scale(1)}
.gallery-item--tall{grid-row:span 2}
.gallery-item--wide{grid-column:span 2}

/* ---------- CTA ---------- */
.cta-section{position:relative;padding:110px 0;text-align:center;color:#fff;overflow:hidden}
.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed}
.cta-section::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,37,.9),rgba(17,61,72,.75));z-index:1}
.cta-inner{position:relative;z-index:2;max-width:760px;margin:0 auto}
.cta-section .sub-title{color:#7fd0f2;justify-content:center}
.cta-section .sub-title::before{background:#7fd0f2}
.cta-title{font-family:var(--font-title);font-size:42px;font-weight:700;color:#fff;margin-bottom:18px}
.cta-text{color:rgba(255,255,255,.9);margin-bottom:32px;font-weight:500}

/* ---------- FOOTER ---------- */
.site-footer{background:#ffffff;color:var(--body)}
/* full-width footer content with 5% side padding */
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1fr;gap:40px;
  max-width:100%;padding:80px 5% 50px}
/* logo: colourful emblem shown as-is on the white footer */
.footer-logo{display:inline-block;margin-bottom:22px}
.footer-logo img{height:88px;width:auto;filter:none}
.footer-about p{color:var(--body);font-size:15px;font-weight:500;line-height:1.7;margin-bottom:22px}
.footer-social{display:flex;gap:12px}
.footer-social a{width:40px;height:40px;border-radius:50%;background:#eaf1f6;
  display:flex;align-items:center;justify-content:center;color:var(--accent);transition:.3s ease}
.footer-social a:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}
.footer-title{color:var(--heading);font-family:var(--font-title);font-size:20px;font-weight:600;margin-bottom:22px}
.footer-menu li{margin-bottom:12px}
.footer-menu a{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--body);transition:.3s ease}
.footer-menu a:hover{color:var(--accent);padding-left:6px}
.footer-menu i{color:var(--blue);font-size:12px}
.footer-contact li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:15px;font-weight:500;color:var(--body)}
.fc-icon{width:38px;height:38px;border-radius:10px;background:#e9f4fb;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}
.footer-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.footer-gallery img{aspect-ratio:1;object-fit:cover;border-radius:8px;transition:.3s ease}
.footer-gallery a:hover img{opacity:.85;transform:scale(1.05)}
/* Copyright bar — kept exactly as before (dark, unchanged) */
.footer-bottom{background:var(--dark);border-top:1px solid rgba(255,255,255,.12)}
.footer-bottom .container{max-width:100%;padding:0 5%}
.footer-bottom p{text-align:center;padding:18px 0;font-size:14px;color:#aebcc7;font-weight:400}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .services-grid,.adv-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:768px){
  .about-grid{grid-template-columns:1fr;gap:70px}
  .about-img--main{height:340px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
  .gallery-item--wide{grid-column:span 2}
  .gallery-item--tall{grid-row:span 1}
  .cta-bg{background-attachment:scroll}
  .cta-title{font-size:32px}
}
@media (max-width:600px){
  .services-grid,.adv-grid,.footer-grid{grid-template-columns:1fr}
  .adv-grid{padding:0 20px}
  .about-img--small{width:150px;height:160px;right:0;bottom:-30px}
  .title-flex{flex-direction:column;align-items:flex-start}
}
