/* =========================================================
   SANU TOURS — FINAL UI BUG FIX LAYER
   Loaded last on every page. Keeps the existing design while
   removing hover conflicts, spacing jumps, footer clutter and
   responsive overflow issues.
   ========================================================= */

:root{
  --bf-navy:#0b2f53;
  --bf-navy-2:#123f6a;
  --bf-deep:#061a2b;
  --bf-orange:#f39a1e;
  --bf-orange-dark:#e88912;
  --bf-ink:#203447;
  --bf-muted:#72808d;
  --bf-line:#e7edf2;
  --bf-soft:#f6f8fb;
  --bf-white:#fff;
  --bf-shadow:0 16px 44px rgba(8,35,60,.10);
}

html{overflow-x:hidden;scroll-behavior:smooth}
body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe{max-width:100%}
a,button{-webkit-tap-highlight-color:transparent}
button{font-family:inherit}

/* Prevent common flex/grid overflow bugs. */
.row>[class*="col-"],
.row>.col,
.page-container>*,
.page-footer-grid>*,
.sanu-footer-grid>*,
.tour-grid>*,
.promise-grid>*,
.mission-grid>*,
.contact-grid>*{min-width:0}

/* =========================================================
   HOME — HEADER / NAVIGATION
   ========================================================= */
body:not(.sanu-page) .header{background:transparent!important}
body:not(.sanu-page) .header .main_nav{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid rgba(231,237,242,.92);
  box-shadow:0 8px 28px rgba(8,32,55,.08)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body:not(.sanu-page) .main_nav_col{
  height:88px!important;
  transition:height .25s ease!important;
}
body:not(.sanu-page) .header.scrolled .main_nav_col{height:74px!important}
body:not(.sanu-page) .logo_container,
body:not(.sanu-page) .header.scrolled .logo_container{transform:none!important}
body:not(.sanu-page) .logo a{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  line-height:1!important;
  color:var(--bf-navy)!important;
  font:800 20px/1 'Poppins',sans-serif!important;
  letter-spacing:.55px!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}
body:not(.sanu-page) .logo a img{
  width:40px!important;
  height:56px!important;
  max-height:56px!important;
  object-fit:contain!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto;
}
body:not(.sanu-page) .main_nav_container{margin-right:0!important}
body:not(.sanu-page) .main_nav_list{
  display:flex;
  align-items:center;
  gap:30px;
  margin:0;
  padding:0;
}
body:not(.sanu-page) .main_nav_item{
  margin:0!important;
  display:block!important;
}
/* Disable the old Travelix li underline. It was the main hover conflict. */
body:not(.sanu-page) .main_nav_item::after{display:none!important}
body:not(.sanu-page) .main_nav_item a{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  min-height:42px;
  padding:0 2px!important;
  color:#2b3f51!important;
  font:700 12px/1 'Poppins',sans-serif!important;
  letter-spacing:.75px!important;
  text-transform:uppercase;
  white-space:nowrap;
  text-decoration:none!important;
  transition:color .2s ease!important;
}
body:not(.sanu-page) .main_nav_item a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:5px;
  width:100%;
  height:2px;
  border-radius:2px;
  background:var(--bf-orange);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
body:not(.sanu-page) .main_nav_item.current a,
body:not(.sanu-page) .main_nav_item a:hover{color:var(--bf-orange)!important}
body:not(.sanu-page) .main_nav_item.current a::after,
body:not(.sanu-page) .main_nav_item a:hover::after{transform:scaleX(1)}
body:not(.sanu-page) .hamburger{margin-left:14px!important;transform:none!important}
body:not(.sanu-page) .hamburger i{color:var(--bf-navy)!important;transition:color .2s ease}
body:not(.sanu-page) .hamburger:hover i{color:var(--bf-orange)!important}
body:not(.sanu-page) .user_box_login{position:relative}
body:not(.sanu-page) .top_bar .col{align-items:center;min-width:0}
body:not(.sanu-page) .top_bar_note{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 18px}
body:not(.sanu-page) .user_box{white-space:nowrap}

/* Home mobile full-screen menu: remove old purple gradient and hover strike-through. */
@media(max-width:991px){
  body:not(.sanu-page) .main_nav_container{display:none!important}
  body:not(.sanu-page) .hamburger{display:block!important}
  body:not(.sanu-page) .main_nav_col,
  body:not(.sanu-page) .header.scrolled .main_nav_col{height:72px!important}
  body:not(.sanu-page) .menu{
    background:rgba(6,26,43,.97)!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  body:not(.sanu-page) .menu.active{opacity:1!important}
  body:not(.sanu-page) .menu_logo{margin-bottom:30px!important}
  body:not(.sanu-page) .menu_logo a{
    color:#fff!important;
    font:800 20px/1 'Poppins',sans-serif!important;
  }
  body:not(.sanu-page) .menu_logo a img{width:38px!important;height:52px!important;filter:none!important}
  body:not(.sanu-page) .menu_item{margin-bottom:7px!important}
  body:not(.sanu-page) .menu_item a{
    padding:10px 14px;
    color:#fff!important;
    font:700 25px/1.25 'Poppins',sans-serif!important;
    letter-spacing:.3px;
    text-transform:uppercase;
    text-decoration:none!important;
  }
  body:not(.sanu-page) .menu_item a::after{
    top:auto!important;
    bottom:4px!important;
    left:14px!important;
    width:calc(100% - 28px)!important;
    height:2px!important;
    background:var(--bf-orange)!important;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .2s ease!important;
  }
  body:not(.sanu-page) .menu_item:hover a::after,
  body:not(.sanu-page) .menu_item.current a::after{transform:scaleX(1)}
  body:not(.sanu-page) .menu_item.current a{color:#ffd08a!important}
  body:not(.sanu-page) .menu_close_container{top:26px!important;right:30px!important}
  body:not(.sanu-page) .menu_close,
  body:not(.sanu-page) .menu_close::after{background:#fff!important}
}
@media(max-width:767px){
  body:not(.sanu-page) .top_bar{display:none!important}
}
@media(max-width:575px){
  body:not(.sanu-page) .main_nav_col,
  body:not(.sanu-page) .header.scrolled .main_nav_col{height:66px!important}
  body:not(.sanu-page) .logo a{font-size:17px!important;gap:8px!important}
  body:not(.sanu-page) .logo a img{width:31px!important;height:44px!important;max-height:44px!important}
  body:not(.sanu-page) .menu_item a{font-size:21px!important}
}

/* =========================================================
   HOME — HERO / BOOKING BAR / SECTION HOVERS
   ========================================================= */
body:not(.sanu-page) .home_slider_content_inner{max-width:920px;margin:0 auto;padding:0 14px}
body:not(.sanu-page) .home_slider_button .button_bcg,
body:not(.sanu-page) .home_slider_button{background:var(--bf-orange)!important}
body:not(.sanu-page) .home_slider_button{overflow:hidden;box-shadow:0 12px 30px rgba(243,154,30,.23)}
body:not(.sanu-page) .home_slider_button a{color:#fff!important;text-decoration:none!important}
body:not(.sanu-page) .search{background:linear-gradient(135deg,var(--bf-navy),var(--bf-navy-2))!important}
body:not(.sanu-page) .search_tab{border-right:1px solid var(--bf-line);color:#31485c!important}
body:not(.sanu-page) .search_tab:last-child{border-right:0}
body:not(.sanu-page) .search_tab.active{background:var(--bf-orange)!important;color:#fff!important}
body:not(.sanu-page) .search_button{
  background:var(--bf-orange)!important;
  border-radius:4px!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
  transition:background .2s ease,transform .2s ease!important;
}
body:not(.sanu-page) .search_input{border-radius:3px}
body:not(.sanu-page) .pacific-welcome-section,
body:not(.sanu-page) .sanu-gallery-section,
body:not(.sanu-page) .pacific-about-wrap,
body:not(.sanu-page) .pacific-testimonial-wrap,
body:not(.sanu-page) .sanu-faq-section{overflow:hidden}
body:not(.sanu-page) .pacific-welcome-section .services.services-1{overflow:hidden}
body:not(.sanu-page) .pacific-welcome-section .services.services-1 .icon{flex:0 0 auto}
body:not(.sanu-page) .sanu-gallery-item{backface-visibility:hidden}
body:not(.sanu-page) .gallery-cta-inner>*{min-width:0}

/* Hover animations only on devices that truly support hover.
   This prevents sticky mobile hover states. */
@media(hover:hover) and (pointer:fine){
  body:not(.sanu-page) .home_slider_button:hover,
  body:not(.sanu-page) .search_button:hover{background:var(--bf-navy)!important;transform:translateY(-2px)!important}
  body:not(.sanu-page) .search_tab:hover{background:#fff4e4!important;color:var(--bf-orange)!important}
  body:not(.sanu-page) .search_tab.active:hover{background:var(--bf-orange)!important;color:#fff!important}
  body:not(.sanu-page) .pacific-welcome-section .services.services-1:hover{transform:translateY(-4px)}
}
@media(hover:none){
  body:not(.sanu-page) .search_tab:hover{background:#fff!important;color:#31485c!important}
  body:not(.sanu-page) .search_tab.active:hover{background:var(--bf-orange)!important;color:#fff!important}
  body:not(.sanu-page) .pacific-welcome-section .services.services-1:hover{transform:none!important}
  body:not(.sanu-page) .sanu-gallery-item:hover img,
  body:not(.sanu-page) .sanu-gallery-item:hover video{transform:none!important}
  body:not(.sanu-page) .sanu-gallery-item:hover::after{opacity:0!important}
}

@media(max-width:991px){
  body:not(.sanu-page) .search{height:auto!important;padding:34px 0 26px}
  body:not(.sanu-page) .search_tabs_container{position:relative!important;left:auto!important;bottom:auto!important;width:100%!important;margin-bottom:22px}
  body:not(.sanu-page) .search_tabs{height:auto!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  body:not(.sanu-page) .search_tab{
    min-height:68px;
    padding:8px 4px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:8px!important;
    flex-direction:column!important;
    gap:5px;
    font-size:9px!important;
  }
  body:not(.sanu-page) .search_tab img{width:26px!important;height:26px!important;margin:0!important}
  body:not(.sanu-page) .search_panel_content{height:auto!important;gap:12px}
  body:not(.sanu-page) .search_item,
  body:not(.sanu-page) .search_item:first-child,
  body:not(.sanu-page) .search_item:nth-child(2),
  body:not(.sanu-page) .search_item:nth-child(3),
  body:not(.sanu-page) .search_item:nth-child(4),
  body:not(.sanu-page) .search_item:nth-child(5){width:100%!important}
  body:not(.sanu-page) .search_item div{margin-bottom:7px!important}
  body:not(.sanu-page) .search_button{width:100%!important;transform:none!important;margin-top:4px!important}
  body:not(.sanu-page) .pacific-welcome-section{padding:68px 0!important}
  body:not(.sanu-page) .pacific-welcome-section .services.services-1{min-height:270px!important;margin-bottom:18px!important}
  body:not(.sanu-page) .pacific-welcome-section .services.services-1 .icon{margin-left:-25px!important}
  body:not(.sanu-page) .sanu-gallery-section{padding:64px 0 70px!important}
}
@media(max-width:575px){
  /* Mobile transport tabs: 3 on top, 2 perfectly centered below */
  body:not(.sanu-page) .search_tabs{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body:not(.sanu-page) .search_tab{
    grid-column:span 2;
    min-height:62px;
  }
  body:not(.sanu-page) .search_tab:nth-child(4){grid-column:2 / span 2}
  body:not(.sanu-page) .search_tab:nth-child(5){grid-column:4 / span 2}
}

/* =========================================================
   HOME — FOOTER
   ========================================================= */
body:not(.sanu-page) .sanu-footer{padding-top:50px!important;background:var(--bf-deep)!important}
body:not(.sanu-page) .sanu-footer::after{display:none!important}
body:not(.sanu-page) .sanu-footer-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(130px,.72fr) minmax(160px,.9fr) minmax(240px,1.1fr)!important;
  gap:34px!important;
  padding-bottom:34px!important;
}
body:not(.sanu-page) .sanu-footer-brand{margin-bottom:16px!important}
body:not(.sanu-page) .sanu-footer-brand img{width:40px!important;height:56px!important;object-fit:contain}
body:not(.sanu-page) .sanu-footer-brand-col>p{max-width:360px!important}
body:not(.sanu-page) .sanu-footer-icons{margin-top:16px!important}
body:not(.sanu-page) .sanu-footer-col h4{margin:2px 0 16px!important}
body:not(.sanu-page) .sanu-footer-col ul{gap:8px!important}
body:not(.sanu-page) .sanu-footer-col li,
body:not(.sanu-page) .sanu-footer-col li a,
body:not(.sanu-page) .sanu-footer-note{overflow-wrap:anywhere;word-break:normal}
body:not(.sanu-page) .sanu-footer-col li a:hover{padding-left:0!important}
body:not(.sanu-page) .sanu-footer-bottom{padding:14px 0!important}
body:not(.sanu-page) .sanu-footer-bottom .container{gap:14px!important}
body:not(.sanu-page) .sanu-footer-legal a{position:relative;padding:3px 0}
body:not(.sanu-page) .sanu-footer-legal a::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--bf-orange);transform:scaleX(0);transition:transform .2s ease
}
@media(hover:hover) and (pointer:fine){body:not(.sanu-page) .sanu-footer-legal a:hover::after{transform:scaleX(1)}}
@media(max-width:991px){
  body:not(.sanu-page) .sanu-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px!important}
  body:not(.sanu-page) .sanu-footer-brand-col{grid-column:1/-1!important}
}
@media(max-width:575px){
  body:not(.sanu-page) .sanu-footer{padding-top:42px!important}
  body:not(.sanu-page) .sanu-footer-grid{grid-template-columns:1fr!important;gap:26px!important;padding-bottom:28px!important;text-align:center}
  body:not(.sanu-page) .sanu-footer-brand-col{grid-column:auto!important}
  body:not(.sanu-page) .sanu-footer-brand-col>p{margin-left:auto!important;margin-right:auto!important}
  body:not(.sanu-page) .sanu-footer-icons{justify-content:center!important}
  body:not(.sanu-page) .sanu-footer-note{line-height:1.7}
}

/* =========================================================
   INTERNAL PAGES — NAVIGATION
   ========================================================= */
body.sanu-page{background:#fff;color:var(--bf-ink);overflow-wrap:normal}
body.sanu-page .page-top-strip{background:var(--bf-deep)}
body.sanu-page .page-top-strip .page-container{min-height:34px}
body.sanu-page .page-top-strip a{transition:color .2s ease;text-decoration:none}
body.sanu-page .page-nav{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid rgba(231,237,242,.92)!important;
  box-shadow:0 8px 28px rgba(8,32,55,.07)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body.sanu-page .page-nav .page-container{height:82px!important;gap:28px!important}
body.sanu-page .page-brand{gap:10px!important;text-decoration:none!important}
body.sanu-page .page-brand img{width:39px!important;height:55px!important;object-fit:contain!important;flex:0 0 auto}
body.sanu-page .page-brand-copy strong{font-size:19px!important;line-height:1!important}
body.sanu-page .page-brand-copy small{margin-top:6px!important;line-height:1.2!important}
body.sanu-page .page-menu{gap:30px!important}
body.sanu-page .page-menu a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 2px!important;
  color:#2b3f51!important;
  text-decoration:none!important;
  transition:color .2s ease!important;
}
body.sanu-page .page-menu a::after{
  left:0!important;
  right:auto!important;
  bottom:5px!important;
  width:100%!important;
  height:2px!important;
  border-radius:2px;
  background:var(--bf-orange)!important;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease!important;
}
body.sanu-page .page-menu a:hover,
body.sanu-page .page-menu a.active{color:var(--bf-orange)!important}
body.sanu-page .page-menu a:hover::after,
body.sanu-page .page-menu a.active::after{right:auto!important;transform:scaleX(1)}
body.sanu-page .page-menu-toggle{
  display:none;
  margin-left:auto!important;
  border:1px solid var(--bf-line)!important;
  background:var(--bf-soft)!important;
  color:var(--bf-navy)!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease!important;
}
body.sanu-page .page-mobile-menu{overflow-y:auto;overscroll-behavior:contain}
body.sanu-page .page-mobile-links a{transition:color .2s ease,background .2s ease,padding .2s ease}
body.sanu-page .page-mobile-links a.active{color:var(--bf-orange)!important;background:#fff8ed}

@media(hover:hover) and (pointer:fine){
  body.sanu-page .page-top-strip a:hover{color:#fff}
  body.sanu-page .page-menu-toggle:hover{background:var(--bf-orange)!important;border-color:var(--bf-orange)!important;color:#fff!important}
  body.sanu-page .page-mobile-links a:hover{color:var(--bf-orange);background:#fff8ed;padding-left:10px}
}
@media(max-width:991px){
  body.sanu-page .page-menu{display:none!important}
  body.sanu-page .page-menu-toggle{display:grid!important;place-items:center!important}
}
@media(max-width:840px){body.sanu-page .page-top-strip{display:none!important}}
@media(max-width:700px){
  body.sanu-page .page-nav .page-container{height:72px!important;gap:10px!important}
  body.sanu-page .page-brand img{width:32px!important;height:46px!important}
  body.sanu-page .page-brand-copy strong{font-size:16px!important}
  body.sanu-page .page-brand-copy small{font-size:7px!important;letter-spacing:1px!important}
  body.sanu-page .page-menu-toggle{width:42px!important;height:42px!important}
  body.sanu-page .page-mobile-menu{width:min(330px,88vw)!important;padding:22px!important}
}

/* =========================================================
   INTERNAL PAGES — SECTIONS / CARDS / BUTTON HOVERS
   ========================================================= */
body.sanu-page main,body.sanu-page section{min-width:0}
body.sanu-page .page-hero{isolation:isolate}
body.sanu-page .page-hero-bg{transform:scale(1.002);backface-visibility:hidden}
body.sanu-page .page-hero::after{z-index:0}
body.sanu-page .page-hero .page-container{z-index:1}
body.sanu-page .page-section{padding:82px 0!important}
body.sanu-page .section-heading{margin-bottom:36px!important}
body.sanu-page .section-heading p,
body.sanu-page .about-copy p,
body.sanu-page .tour-card p,
body.sanu-page .contact-form-card>p{overflow-wrap:break-word}
body.sanu-page .page-btn{border:0;text-decoration:none!important;will-change:transform}
body.sanu-page .tour-card,
body.sanu-page .promise-card,
body.sanu-page .mission-card,
body.sanu-page .contact-panel,
body.sanu-page .contact-form-card,
body.sanu-page .map-card{backface-visibility:hidden}
body.sanu-page .tour-card{height:100%}
body.sanu-page .tour-card-body{min-width:0}
body.sanu-page .tour-book{
  text-decoration:none!important;
  color:#fff!important;
  transition:background .2s ease,color .2s ease!important;
}
body.sanu-page .tour-book span{flex:0 0 33px}
body.sanu-page .promise-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
body.sanu-page .mission-card{box-shadow:0 12px 34px rgba(8,35,60,.08)}
body.sanu-page .contact-submit{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
body.sanu-page .contact-item{min-width:0}
body.sanu-page .contact-item span{min-width:0}
body.sanu-page .contact-item strong,
body.sanu-page .contact-item a{overflow-wrap:anywhere}

@media(hover:hover) and (pointer:fine){
  body.sanu-page .page-btn.primary:hover{background:var(--bf-orange-dark)!important;transform:translateY(-2px)!important}
  body.sanu-page .tour-card:hover{transform:translateY(-5px)!important;box-shadow:var(--bf-shadow)!important}
  body.sanu-page .tour-card:hover .tour-image img{transform:scale(1.045)!important}
  body.sanu-page .tour-card:hover .tour-book{background:#082944!important;color:#fff!important}
  body.sanu-page .promise-card:hover{transform:translateY(-4px);box-shadow:var(--bf-shadow);border-color:#dde7ee}
  body.sanu-page .contact-submit:hover{background:var(--bf-orange-dark);transform:translateY(-1px);box-shadow:0 10px 22px rgba(243,154,30,.18)}
}
@media(hover:none){
  body.sanu-page .tour-card:hover{transform:none!important;box-shadow:0 8px 26px rgba(8,35,60,.055)!important}
  body.sanu-page .tour-card:hover .tour-image img{transform:none!important}
  body.sanu-page .tour-card:hover .tour-book span{transform:none!important}
  body.sanu-page .page-btn:hover{transform:none!important}
}

@media(max-width:700px){
  body.sanu-page .page-section{padding:58px 0!important}
  body.sanu-page .section-heading{margin-bottom:28px!important}
  body.sanu-page .tour-grid{gap:17px!important}
  body.sanu-page .tour-card{border-radius:17px!important}
  body.sanu-page .tour-image{height:218px!important}
  body.sanu-page .tour-card-body{padding:18px 18px 14px!important}
  body.sanu-page .tour-cta-band{margin-top:32px!important;padding:25px 20px!important;border-radius:17px!important;align-items:center!important;text-align:center!important}
  body.sanu-page .tour-cta-band > div{width:100%!important}
  body.sanu-page .tour-cta-band .page-btn{align-self:center!important;justify-content:center!important}
  body.sanu-page .promise-grid{gap:14px!important}
  body.sanu-page .promise-card{padding:23px 20px!important}
  body.sanu-page .mission-grid{gap:16px!important}
  body.sanu-page .contact-grid{gap:18px!important}
  body.sanu-page .contact-panel,
  body.sanu-page .contact-form-card{border-radius:18px!important}
}

/* =========================================================
   INTERNAL PAGES — GALLERY
   ========================================================= */
body.gallery-page-body.sanu-page{background:#fff!important}
body.gallery-page-body.sanu-page .gallery-page-head{padding:64px 0 34px!important;background:linear-gradient(180deg,#f8fafc,#fff)}
body.gallery-page-body.sanu-page .gallery-page-head h1{margin-top:4px!important;color:var(--bf-navy)!important}
body.gallery-page-body.sanu-page .gallery-page-head p{padding:0 14px}
body.gallery-page-body.sanu-page main.container{padding-bottom:74px}
body.gallery-page-body.sanu-page .sanu-all-gallery{padding-bottom:0!important}
body.gallery-page-body.sanu-page .sanu-gallery-item{border-radius:12px!important;box-shadow:0 7px 22px rgba(8,35,60,.07)!important}
body.gallery-page-body.sanu-page .sanu-gallery-item img,
body.gallery-page-body.sanu-page .sanu-gallery-item video{width:100%;display:block}
@media(hover:none){
  body.gallery-page-body.sanu-page .sanu-gallery-item:hover img,
  body.gallery-page-body.sanu-page .sanu-gallery-item:hover video{transform:none!important}
  body.gallery-page-body.sanu-page .sanu-gallery-item:hover::after{opacity:0!important}
}
@media(max-width:575px){
  body.gallery-page-body.sanu-page .gallery-page-head{padding:45px 0 25px!important}
  body.gallery-page-body.sanu-page main.container{padding-left:11px!important;padding-right:11px!important;padding-bottom:52px}
  body.gallery-page-body.sanu-page .sanu-all-gallery{columns:2 140px!important;column-gap:8px!important}
  body.gallery-page-body.sanu-page .sanu-gallery-item{border-radius:8px!important}
}

/* =========================================================
   INTERNAL PAGES — FOOTER
   ========================================================= */
body.sanu-page .page-footer{
  padding-top:48px!important;
  background:var(--bf-deep)!important;
  overflow:hidden;
}
body.sanu-page .page-footer::before{height:3px!important}
body.sanu-page .page-footer-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(130px,.75fr) minmax(155px,.9fr) minmax(210px,1.05fr)!important;
  gap:32px!important;
  padding-bottom:32px!important;
}
body.sanu-page .page-footer-brand{margin-bottom:14px!important;text-decoration:none!important}
body.sanu-page .page-footer-brand img{width:39px!important;height:55px!important;object-fit:contain!important}
body.sanu-page .page-footer-brand strong{font-size:19px!important}
body.sanu-page .page-footer-brand-col p{max-width:360px!important}
body.sanu-page .page-footer-social{margin-top:15px!important}
body.sanu-page .page-footer h4{margin:2px 0 15px!important}
body.sanu-page .page-footer ul{gap:8px!important}
body.sanu-page .page-footer li,
body.sanu-page .page-footer li a{overflow-wrap:anywhere;word-break:normal}
body.sanu-page .page-footer li a{text-decoration:none!important;transition:color .2s ease!important}
body.sanu-page .page-footer-bottom{
  min-height:48px;
  padding:13px max(18px,calc((100vw - 1180px)/2))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  line-height:1.5!important;
}
body.sanu-page .footer-legal-links{margin-left:0!important;gap:14px!important}
body.sanu-page .footer-legal-links a{position:relative;padding:3px 0;text-decoration:none!important}
body.sanu-page .footer-legal-links a::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--bf-orange);transform:scaleX(0);transition:transform .2s ease
}
@media(hover:hover) and (pointer:fine){body.sanu-page .footer-legal-links a:hover::after{transform:scaleX(1)}}
@media(max-width:991px){
  body.sanu-page .page-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
  body.sanu-page .page-footer-brand-col{grid-column:1/-1!important;text-align:center}
  body.sanu-page .page-footer-brand{justify-content:center!important}
  body.sanu-page .page-footer-brand-col p{margin-left:auto!important;margin-right:auto!important}
  body.sanu-page .page-footer-social{justify-content:center!important}
}
@media(max-width:700px){
  body.sanu-page .page-footer{padding-top:40px!important}
  body.sanu-page .page-footer-grid{grid-template-columns:1fr!important;gap:24px!important;padding-bottom:27px!important;text-align:center}
  body.sanu-page .page-footer-brand-col{grid-column:auto!important}
  body.sanu-page .page-footer-bottom{padding:13px 14px!important;gap:8px!important}
  body.sanu-page .footer-legal-links{width:100%!important}
}

/* Floating WhatsApp should never cover navigation or create horizontal scroll. */
.sanu-whatsapp-float{
  right:max(16px,env(safe-area-inset-right))!important;
  bottom:max(16px,env(safe-area-inset-bottom))!important;
  will-change:transform;
}
@media(max-width:420px){.sanu-whatsapp-float{width:54px!important;height:54px!important;font-size:27px!important}}

/* Focus / reduced motion */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(243,154,30,.46)!important;
  outline-offset:3px!important;
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* =========================================================
   MOBILE POLISH — header, hero and bottom booking navigation
   ========================================================= */
@media(max-width:991px){
  body:not(.sanu-page) .hamburger,
  body.shell-home-sync .hamburger{
    margin-left:auto!important;
    margin-right:0!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #e4ebf1!important;
    border-radius:12px!important;
    background:#f7f9fb!important;
    box-shadow:0 4px 14px rgba(8,32,55,.06)!important;
    transform:none!important;
    line-height:1!important;
  }
  body:not(.sanu-page) .hamburger i,
  body.shell-home-sync .hamburger i{
    margin:0!important;
    font-size:20px!important;
    line-height:1!important;
    color:var(--bf-navy,#0b2f53)!important;
  }
  body.shell-home-sync .content_search,
  body:not(.sanu-page) .content_search{display:none!important}
  body:not(.sanu-page) .logo_container,
  body.shell-home-sync .logo_container{min-width:0!important;flex:0 1 auto!important}
}

@media(max-width:767px){
  html.sanu-has-mobile-nav body{padding-bottom:92px!important}
  .sanu-whatsapp-float,
  html.sanu-has-mobile-nav .sanu-whatsapp-float{display:none!important}

  .sanu-mobile-bottom-nav{
    position:fixed;
    left:8px;
    right:8px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    z-index:2600;
    height:68px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:end;
    padding:7px 6px 6px;
    border:1px solid rgba(219,228,236,.95);
    border-radius:19px;
    background:rgba(255,255,255,.98);
    box-shadow:0 14px 40px rgba(8,32,55,.18);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    font-family:'Poppins',Arial,sans-serif;
  }
  .sanu-mobile-nav-item{
    position:relative;
    min-width:0;
    height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:13px;
    color:#728292!important;
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .sanu-mobile-nav-item::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:1px;
    width:18px;
    height:2px;
    border-radius:2px;
    background:#f39a1e;
    transform:translateX(-50%) scaleX(0);
    transition:transform .18s ease;
  }
  .sanu-mobile-nav-icon{
    height:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    line-height:1;
  }
  .sanu-mobile-nav-label{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9.5px;
    line-height:1;
    font-weight:600;
    letter-spacing:.05px;
  }
  .sanu-mobile-nav-item.active{color:#0b2f53!important}
  .sanu-mobile-nav-item.active::after{transform:translateX(-50%) scaleX(1)}

  .sanu-mobile-nav-book{
    height:68px;
    justify-content:flex-start;
    gap:3px;
    margin-top:-18px;
    color:#0b2f53!important;
    overflow:visible;
  }
  .sanu-mobile-nav-book::after{display:none}
  .sanu-mobile-nav-book .sanu-mobile-nav-icon{
    width:54px;
    height:54px;
    flex:0 0 54px;
    margin-top:-7px;
    border-radius:50%;
    color:#fff;
    background:#f39a1e;
    border:4px solid #fff;
    box-shadow:0 9px 22px rgba(243,154,30,.34);
    font-size:25px;
  }
  .sanu-mobile-nav-book .sanu-mobile-nav-label{
    color:#0b2f53;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.25px;
  }

  /* Home hero: shorter, cleaner and intentionally cropped on phones. */
  body:not(.sanu-page) .home{
    height:clamp(620px,82svh,700px)!important;
    min-height:620px!important;
    max-height:700px!important;
  }
  body:not(.sanu-page) .home_slider_background{
    background-position:center 52%!important;
  }
  body:not(.sanu-page) .home_slider_content{
    top:52%!important;
    width:100%!important;
    padding:0 18px!important;
  }
  body:not(.sanu-page) .home_slider_content_inner{padding:0!important}
  body:not(.sanu-page) .home_slider_content h1,
  body:not(.sanu-page) .home_slider_content h2{
    max-width:330px;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:clamp(36px,10.5vw,46px)!important;
    line-height:.98!important;
    letter-spacing:-1px!important;
  }
  body:not(.sanu-page) .home_slider_script{
    margin-top:2px!important;
    font-size:clamp(37px,10vw,47px)!important;
    line-height:.92!important;
  }
  body:not(.sanu-page) .home-slider-lead{
    max-width:330px!important;
    margin:16px auto 0!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.65!important;
  }
  body:not(.sanu-page) .home_slider_button{
    width:190px!important;
    height:48px!important;
    margin-top:22px!important;
  }
  body:not(.sanu-page) .home_slider_button a{
    padding-left:0!important;
    padding-right:0!important;
    font-size:11px!important;
    line-height:48px!important;
  }
}

@media(max-width:380px){
  .sanu-mobile-bottom-nav{left:6px;right:6px;padding-left:3px;padding-right:3px}
  .sanu-mobile-nav-label{font-size:8.8px}
  body:not(.sanu-page) .home_slider_content{padding-left:14px!important;padding-right:14px!important}
  body:not(.sanu-page) .home_slider_content h1,
  body:not(.sanu-page) .home_slider_content h2{font-size:35px!important}
}

/* =========================================================
   FAQ CLICK / FOCUS POLISH
   Keep FAQ cards clean after mouse/touch selection. The
   current/open state is already communicated by the orange
   card border and rotated orange + icon, so no browser frame
   is needed on the question button itself.
   ========================================================= */
body:not(.sanu-page) .sanu-faq-question,
body:not(.sanu-page) .sanu-faq-question:focus,
body:not(.sanu-page) .sanu-faq-question:active,
body:not(.sanu-page) .sanu-faq-question:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Keyboard focus stays visible without drawing a hard frame. */
body:not(.sanu-page) .sanu-faq-question:focus-visible {
  background: rgba(243,154,30,.035) !important;
}


/* =========================================================
   TOURS PAGE — CLEAN OPENING + POLISHED CARD CTA
   ========================================================= */
.sanu-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
body.sanu-page .tours-collection-clean{
  padding-top:38px!important;
  background:linear-gradient(180deg,#f8fafc 0,#fff 220px)!important;
}
body.sanu-page .tours-collection-clean .tour-grid{
  align-items:stretch;
}
body.sanu-page .tours-collection-clean .tour-card{
  border-color:#e2eaf0!important;
  box-shadow:0 10px 30px rgba(8,35,60,.075)!important;
}
body.sanu-page .tours-collection-clean .tour-card-body{
  padding-bottom:18px!important;
}
body.sanu-page .tour-book{
  min-height:58px;
  padding:0 18px!important;
  gap:14px;
  background:linear-gradient(135deg,#0b2f53,#103b64)!important;
  border-top:1px solid rgba(255,255,255,.08);
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:11.5px!important;
  font-weight:700!important;
}
body.sanu-page .tour-book .tour-book-label{
  width:auto!important;
  height:auto!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  transform:none!important;
}
body.sanu-page .tour-book .tour-book-label > span{
  width:auto!important;
  height:auto!important;
  display:inline!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:inherit!important;
  transform:none!important;
}
body.sanu-page .tour-book .tour-book-label .fa-whatsapp{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  flex:0 0 27px;
  border-radius:9px;
  background:#25d366;
  color:#fff;
  font-size:15px;
  box-shadow:0 5px 12px rgba(37,211,102,.18);
}
body.sanu-page .tour-book .tour-book-arrow{
  flex:0 0 auto;
  color:#f39a1e;
  font-size:14px;
  transition:transform .2s ease;
}
@media(hover:hover) and (pointer:fine){
  body.sanu-page .tour-card:hover .tour-book .tour-book-arrow{transform:translateX(3px)}
}
@media(hover:none){
  body.sanu-page .tour-card:hover .tour-book .tour-book-arrow{transform:none!important}
}
@media(max-width:700px){
  body.sanu-page .tours-collection-clean{
    padding-top:14px!important;
    padding-bottom:54px!important;
    background:linear-gradient(180deg,#f7f9fb 0,#fff 180px)!important;
  }
  body.sanu-page .tours-collection-clean .page-container{
    width:calc(100% - 28px)!important;
  }
  body.sanu-page .tours-collection-clean .tour-grid{gap:18px!important}
  body.sanu-page .tours-collection-clean .tour-card{
    border-radius:18px!important;
    box-shadow:0 8px 24px rgba(8,35,60,.075)!important;
  }
  body.sanu-page .tours-collection-clean .tour-image{height:218px!important}
  body.sanu-page .tours-collection-clean .tour-card-body{padding:18px 18px 17px!important}
  body.sanu-page .tours-collection-clean .tour-card h3{
    font-size:20px!important;
    line-height:1.28!important;
    margin-bottom:8px!important;
  }
  body.sanu-page .tours-collection-clean .tour-card p{
    font-size:12.25px!important;
    line-height:1.72!important;
    margin-bottom:15px!important;
  }
  body.sanu-page .tour-book{
    min-height:57px;
    padding:0 17px!important;
  }
  body.sanu-page .tour-book .tour-book-label,
  body.sanu-page .tour-book .tour-book-label > span{font-size:11px!important}
  body.sanu-page .tour-book .tour-book-label .fa-whatsapp{
    width:26px;
    height:26px;
    flex-basis:26px;
    font-size:14px;
    border-radius:8px;
  }
}


/* =========================================================
   ABOUT PAGE — MOBILE HERO ACTION GROUP CENTERING
   ========================================================= */
@media(max-width:700px){
  body.about-page-body .page-hero-actions{
    width:100%!important;
    max-width:390px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
    align-items:center!important;
    gap:9px!important;
  }
  body.about-page-body .page-hero-actions .page-btn{
    flex:0 0 auto!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
@media(max-width:360px){
  body.about-page-body .page-hero-actions{
    max-width:310px!important;
  }
}

/* =========================================================
   GALLERY PAGE — FIXED HEADER SPACING + SWIPE LIGHTBOX
   ========================================================= */
body.gallery-page-body.sanu-page .gallery-page-head{
  margin-top:124px!important;
}
@media(max-width:991px){
  body.gallery-page-body.sanu-page .gallery-page-head{margin-top:108px!important}
}
@media(max-width:767px){
  body.gallery-page-body.sanu-page .gallery-page-head{margin-top:72px!important}
}
@media(max-width:575px){
  body.gallery-page-body.sanu-page .gallery-page-head{
    margin-top:66px!important;
    padding-top:38px!important;
    padding-bottom:30px!important;
  }
  body.gallery-page-body.sanu-page .gallery-page-head .gallery-kicker{
    display:block!important;
    margin-bottom:10px!important;
    line-height:1.15!important;
  }
}

/* Rich fullscreen gallery viewer. */
body.gallery-page-body .sanu-lightbox{
  padding:24px 72px 64px!important;
  background:rgba(2,12,24,.96)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  touch-action:pan-y;
}
body.gallery-page-body .sanu-lightbox-content{
  width:min(1120px,92vw)!important;
  height:min(780px,82vh)!important;
  max-width:none!important;
  max-height:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.gallery-page-body .sanu-lightbox-media{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  border-radius:14px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.38);
  user-select:none;
  -webkit-user-select:none;
  animation:sanuGalleryMediaIn .2s ease both;
}
body.gallery-page-body .sanu-lightbox-media.from-right{animation-name:sanuGalleryMediaFromRight}
body.gallery-page-body .sanu-lightbox-media.from-left{animation-name:sanuGalleryMediaFromLeft}
@keyframes sanuGalleryMediaIn{from{opacity:.25;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes sanuGalleryMediaFromRight{from{opacity:.18;transform:translateX(20px) scale(.99)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes sanuGalleryMediaFromLeft{from{opacity:.18;transform:translateX(-20px) scale(.99)}to{opacity:1;transform:translateX(0) scale(1)}}
body.gallery-page-body .sanu-lightbox-close{
  position:fixed!important;
  top:18px!important;
  right:18px!important;
  width:44px!important;
  height:44px!important;
  line-height:42px!important;
  font-size:28px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  outline:none!important;
}
body.gallery-page-body .sanu-lightbox-nav{
  position:fixed;
  top:50%;
  z-index:3;
  width:50px;
  height:50px;
  margin-top:-25px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(255,255,255,.11);
  color:#fff;
  font-size:29px;
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:background .2s ease,transform .2s ease;
  -webkit-tap-highlight-color:transparent;
}
body.gallery-page-body .sanu-lightbox-prev{left:18px}
body.gallery-page-body .sanu-lightbox-next{right:18px}
body.gallery-page-body .sanu-lightbox-nav:hover{background:#f39a1e;transform:scale(1.04)}
body.gallery-page-body .sanu-lightbox-nav:focus,
body.gallery-page-body .sanu-lightbox-nav:focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(243,154,30,.32)!important}
body.gallery-page-body .sanu-lightbox-meta{
  position:fixed;
  left:50%;
  bottom:18px;
  z-index:3;
  width:min(720px,calc(100vw - 40px));
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  color:#fff;
  text-align:center;
  pointer-events:none;
  font-family:'Poppins',sans-serif;
}
body.gallery-page-body .sanu-lightbox-counter{
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-size:11px;
  font-weight:700;
  letter-spacing:.8px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
body.gallery-page-body .sanu-lightbox-caption{
  max-width:680px;
  color:rgba(255,255,255,.76);
  font-size:11px;
  line-height:1.45;
}
@media(max-width:767px){
  body.gallery-page-body .sanu-lightbox{
    padding:58px 10px 76px!important;
  }
  body.gallery-page-body .sanu-lightbox-content{
    width:100%!important;
    height:calc(100dvh - 142px)!important;
  }
  body.gallery-page-body .sanu-lightbox-media{
    border-radius:11px!important;
  }
  body.gallery-page-body .sanu-lightbox-close{
    top:12px!important;
    right:12px!important;
    width:40px!important;
    height:40px!important;
    line-height:38px!important;
    font-size:25px!important;
  }
  body.gallery-page-body .sanu-lightbox-nav{
    top:auto;
    bottom:16px;
    width:42px;
    height:42px;
    margin:0;
    background:rgba(255,255,255,.14);
    font-size:24px;
  }
  body.gallery-page-body .sanu-lightbox-prev{left:12px}
  body.gallery-page-body .sanu-lightbox-next{right:12px}
  body.gallery-page-body .sanu-lightbox-meta{bottom:18px;width:calc(100vw - 130px)}
  body.gallery-page-body .sanu-lightbox-caption{display:none}
  html.sanu-lightbox-open .sanu-mobile-bottom-nav{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
}
@media(prefers-reduced-motion:reduce){
  body.gallery-page-body .sanu-lightbox-media{animation:none!important}
}

/* =========================================================
   CONTACT PAGE — MOBILE FIRST OPEN STATE
   ========================================================= */
@media(max-width:700px){
  body.contact-page-body .page-hero{display:none!important}
  body.contact-page-body .page-section.soft{padding-top:18px!important}
  body.contact-page-body .contact-grid{gap:18px!important}
  body.contact-page-body .contact-panel{padding:22px 18px!important;border-radius:20px!important}
  body.contact-page-body .contact-panel h2{font-size:30px!important;line-height:1.12!important;margin-bottom:10px!important}
  body.contact-page-body .contact-panel > p{font-size:12.5px!important;line-height:1.75!important;margin-bottom:20px!important}
  body.contact-page-body .contact-item{padding:15px 14px!important;border-radius:16px!important}
  body.contact-page-body .contact-form-card{padding:22px 18px!important;border-radius:20px!important}
  body.contact-page-body .contact-form-card h3{font-size:24px!important;line-height:1.15!important}
  body.contact-page-body .map-section{padding-top:8px!important}
}

/* =========================================================
   CONTACT MAP — TIGHT MOBILE SPACING + CLEAN CARD
   ========================================================= */
@media(max-width:700px){
  body.contact-page-body .page-section.soft{padding:18px 0 24px!important}
  body.contact-page-body .map-section{padding:18px 0 58px!important}
  body.contact-page-body .map-section .section-heading{margin-bottom:18px!important}
  body.contact-page-body .map-section .section-heading h2{font-size:32px!important;line-height:1.08!important;letter-spacing:-1px!important}
  body.contact-page-body .map-section .section-heading p{margin-top:10px!important;font-size:12.5px!important;line-height:1.75!important}
  body.contact-page-body .map-card{border-radius:18px!important;box-shadow:0 10px 28px rgba(8,35,60,.08)!important}
  body.contact-page-body .map-card iframe{height:270px!important}
  body.contact-page-body .map-caption{padding:16px!important;gap:13px!important}
  body.contact-page-body .map-caption strong{font-size:13.5px!important}
  body.contact-page-body .map-caption span{font-size:10.5px!important}
  body.contact-page-body .map-caption .page-btn{width:100%!important;justify-content:center!important}
}


/* =========================================================
   HOME GALLERY — FINAL HORIZONTAL IMAGE STRIP
   ========================================================= */
body:not(.sanu-page) .sanu-gallery-item.gallery-bottom-banner{
  grid-column:span 2!important;
  overflow:hidden!important;
  background:#e9eef3!important;
  box-shadow:0 8px 24px rgba(8,35,60,.08)!important;
}
body:not(.sanu-page) .sanu-gallery-item.gallery-bottom-banner::before{display:none!important}
body:not(.sanu-page) .sanu-gallery-item.gallery-bottom-banner img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 48%!important;
}
@media(max-width:575px){
  body:not(.sanu-page) .sanu-gallery-item.gallery-bottom-banner{
    grid-column:1 / -1!important;
    min-height:132px!important;
    border-radius:8px!important;
  }
  body:not(.sanu-page) .sanu-gallery-item.gallery-bottom-banner img{object-position:center 45%!important}
}


/* Galle day trip gallery */
body.sanu-page .tour-image-gallery-wrap{background:#eaf0f4!important}
body.sanu-page .tour-image-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:4px;height:100%;padding:4px}
body.sanu-page .tour-image-gallery img{width:100%;height:100%;object-fit:cover;display:block;border-radius:12px}
@media (max-width: 767px){body.sanu-page .tour-image-gallery{gap:3px;padding:3px}body.sanu-page .tour-image-gallery img{border-radius:10px}}

/* Local experience 3-image gallery */
body.sanu-page .tour-image-gallery.gallery-3{grid-template-columns:1.15fr .85fr!important;grid-template-rows:repeat(2,1fr)!important}
body.sanu-page .tour-image-gallery.gallery-3 img:first-child{grid-row:1 / 3;grid-column:1;object-position:center}
body.sanu-page .tour-image-gallery.gallery-3 img:nth-child(2){grid-column:2;grid-row:1;object-position:center}
body.sanu-page .tour-image-gallery.gallery-3 img:nth-child(3){grid-column:2;grid-row:2;object-position:center}
@media (max-width: 767px){body.sanu-page .tour-image-gallery.gallery-3{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:1fr!important}body.sanu-page .tour-image-gallery.gallery-3 img:first-child,body.sanu-page .tour-image-gallery.gallery-3 img:nth-child(2),body.sanu-page .tour-image-gallery.gallery-3 img:nth-child(3){grid-column:auto!important;grid-row:auto!important}}

/* Whale watching 2-image gallery */
body.sanu-page .tour-image-gallery.gallery-2{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:1fr!important}
body.sanu-page .tour-image-gallery.gallery-2 img{object-position:center}
