@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{--navy:#061f33;--deep:#041929;--gold:#bd8742;--cream:#f4f1ec;--ink:#071f32;--line:rgba(255,255,255,.17)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit} img{display:block;max-width:100%}

/* desktop/tablet base */
.hero{min-height:740px;position:relative;color:#fff;overflow:hidden;padding:34px 6.8vw 0;background:linear-gradient(90deg,rgba(2,19,32,.94),rgba(2,27,44,.52)),url('/public/uploads/hero-yacht-cancun.jpg') center/cover no-repeat}
.site-nav{position:relative;z-index:5;height:54px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{color:#fff;font-family:Georgia,serif;text-transform:uppercase;display:inline-flex;flex-direction:column;letter-spacing:4px;line-height:.95}
.brand span{font-size:28px}.brand em{align-self:center;color:var(--gold);font-style:normal;font-size:12px;letter-spacing:8px;margin-top:10px}
.nav-links{display:flex;gap:42px;margin-left:auto;text-transform:uppercase;font-size:12px;letter-spacing:2.3px;color:#d9e2e8}
.nav-actions{display:flex;align-items:center;gap:18px}.book-btn{border:1px solid rgba(189,135,66,.9);color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;padding:15px 27px}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;padding:0}.menu-btn span{display:block;width:28px;height:3px;margin:5px auto;background:var(--gold)}
.hero-copy{position:relative;z-index:3;margin-top:150px;max-width:640px}
.eyebrow,.center-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:3.5px;font-size:13px;font-weight:800}
.hero-copy h1,.section-title-row h2,.experience-copy h2,.subhero h1,.detail h2{font-family:Georgia,serif;font-weight:400;text-transform:uppercase}
.hero-copy h1{font-size:64px;line-height:1.02;margin:20px 0}
.hero-copy p:not(.eyebrow){color:#f0f5f7;max-width:560px;font-size:17px;line-height:1.75;margin:0 0 30px}
.gold-btn,.availability-card button,.admin button,.admin-form button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:18px;background:linear-gradient(135deg,#b47b34,#cf9848);color:#fff;padding:18px 32px;min-height:56px;text-transform:uppercase;letter-spacing:2.5px;font-weight:800}
.availability-card{position:absolute;z-index:4;left:6.8vw;right:6.8vw;bottom:0;transform:translateY(50%);display:grid;grid-template-columns:1.15fr .95fr .95fr 220px;background:rgba(4,26,43,.94);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.field{min-height:88px;padding:23px 28px 20px 58px;border-right:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px}
.field i{position:absolute;left:25px;top:50%;transform:translateY(-50%);color:var(--gold);font-style:normal}
.icon-pin:before{content:"";display:block;width:22px;height:22px;border:2px solid var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.icon-pin:after{content:"";position:absolute;width:7px;height:7px;border:2px solid var(--gold);border-radius:50%;left:6px;top:6px}
.icon-calendar:before{content:"";display:block;width:24px;height:23px;border:2px solid var(--gold);border-radius:2px}
.icon-user:before{content:"";display:block;width:24px;height:24px;border:2px solid var(--gold);border-radius:50% 50% 42% 42%;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.field em{display:none}.field span{color:#aebac4;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.field strong{font-size:15px}
.field input{background:transparent;border:0;outline:0;color:#fff;padding:0;min-height:24px}.field input::placeholder{color:#fff;opacity:1}
.availability-card button{min-height:88px;width:100%;padding:0 28px}
.featured-section{position:relative;padding:94px 6.8vw 66px;overflow:hidden}.center-eyebrow{text-align:center;display:block;font-size:12px;margin:0 auto 12px}
.section-title-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:26px}.section-title-row h2{grid-column:2;text-align:center;font-size:36px;line-height:1.05;margin:0}.section-title-row a{justify-self:end;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700}
.yacht-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.yacht-card{background:var(--deep);box-shadow:0 16px 38px rgba(6,31,51,.14)}.yacht-image-wrap{height:220px;position:relative;overflow:hidden;background:#62c7d8}.yacht-image-wrap img{width:100%;height:100%;object-fit:cover}.yacht-image-wrap b{position:absolute;top:14px;right:14px;background:#051b2d;color:#fff;font-size:12px;padding:10px 12px}.yacht-info{background:#061f33;color:#fff;padding:25px;min-height:145px}.yacht-info h3{margin:0 0 14px;text-transform:uppercase;letter-spacing:2px;font-size:16px}.yacht-info p{margin:0;color:#d7e0e6}.yacht-info .meta{color:var(--gold);font-size:13px;display:flex;flex-wrap:wrap;gap:13px;margin-bottom:19px}.mobile-arrows,.dots{display:none}
.experience-section{display:grid;grid-template-columns:39% 61%;background:#061f33;color:#fff}.experience-copy{padding:74px 6.8vw 50px;min-height:480px}.experience-copy h2{font-size:45px;line-height:1.05;margin:19px 0 22px}.experience-copy p:not(.eyebrow){color:#dce5eb;line-height:1.75;max-width:330px;margin-bottom:30px}.outline-btn{border:1px solid var(--gold);color:#fff;display:inline-flex;gap:18px;padding:17px 28px;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800}.experience-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:360px;margin-top:55px}.experience-icons span{color:var(--gold);font-size:28px}.experience-icons small{display:block;margin-top:10px;color:#e3e9ed;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:1px}.experience-photo{position:relative;min-height:480px}.experience-photo img{width:100%;height:100%;min-height:480px;object-fit:cover}.experience-photo aside{position:absolute;right:6.8vw;bottom:36px;width:330px;background:rgba(5,27,45,.94);padding:30px}
.footer{display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr;gap:42px;background:#061f33;color:#fff;padding:55px 6.8vw}.footer h4{text-transform:uppercase;letter-spacing:2px;font-size:12px}.footer p,.footer a{display:block;color:#cbd5dc;font-size:13px;line-height:1.6;margin:7px 0}.footer-brand em{margin-left:0}
.subhero{background:#061f33;color:#fff}.sub-nav{padding:28px 6.8vw;background:#061f33}.subhero h1{font-size:48px;text-align:center;padding:70px 20px;margin:0}.search-page{min-height:60vh;padding-top:70px}.grid-mode{grid-template-columns:repeat(3,1fr)}.detail{padding:55px 6.8vw}.detail-img{width:100%;height:460px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:40px;margin-top:35px}.inquiry,.contact-box{background:#fff;padding:30px;box-shadow:0 15px 40px rgba(0,0,0,.12)}.contact-box{max-width:780px;margin:80px auto;text-align:center}
.admin-auth{min-height:100vh;display:grid;place-items:center;background:#061f33}.admin-auth form,.admin{background:#fff;padding:35px;border-radius:18px}.admin-auth form{width:min(430px,90vw)}input,select,textarea{width:100%;padding:14px;margin:7px 0 13px;border:1px solid #d8dde2}.admin{margin:40px auto;max-width:1100px}.admin-nav{display:flex;gap:20px;align-items:center;margin-bottom:25px}.admin-nav form{margin-left:auto}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stat-grid div{background:#f3f5f7;padding:25px;border-radius:14px}.stat-grid b{font-size:34px;display:block}table{width:100%;border-collapse:collapse;margin-top:25px}td,th{padding:15px;border-bottom:1px solid #e2e5e8;text-align:left}.inline{display:inline}.inline button{background:none;color:#a33;padding:0;letter-spacing:0;text-transform:none}

/* mobile reference target */
@media(max-width:800px){
  .hero{
    min-height:770px;
    height:770px;
    padding:30px 30px 0;
    background:linear-gradient(180deg,rgba(2,18,31,.56) 0%,rgba(2,18,31,.12) 40%,rgba(2,18,31,.72) 100%),url('/public/uploads/hero-yacht-cancun.jpg') center top/cover no-repeat;
  }
  .site-nav{height:72px;align-items:flex-start}
  .brand span{font-size:25px;letter-spacing:3.5px;line-height:1;max-width:245px}
  .brand em{font-size:10px;letter-spacing:7px;margin-top:9px;margin-left:81px}
  .nav-links,.book-btn{display:none}
  .nav-actions{margin-left:auto;padding-top:7px}
  .menu-btn{display:block;width:42px;height:42px}
  .menu-btn span{width:27px;height:3px;margin:5px auto}
  .hero-copy{margin-top:87px;max-width:325px}
  .eyebrow{font-size:11px;letter-spacing:1.8px;margin:0 0 14px}
  .hero-copy h1{font-size:34px;line-height:1.07;margin:0 0 15px;letter-spacing:-.2px}
  .hero-copy p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:295px;margin:0 0 18px}
  .gold-btn{min-height:52px;min-width:222px;width:auto;padding:14px 22px;font-size:12px;letter-spacing:2px}

  .availability-card{
    left:30px;right:30px;bottom:0;transform:none;
    grid-template-columns:1fr;
    border-radius:12px 12px 0 0;
    background:rgba(4,26,43,.96);
    box-shadow:none;
    border:1px solid rgba(255,255,255,.18);
  }
  .field{
    min-height:63px;
    padding:11px 42px 10px 72px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
    justify-content:center;
    gap:2px;
  }
  .field i{left:21px}
  .field span{font-size:10px;letter-spacing:.9px}
  .field strong,.field input{font-size:14px;min-height:19px}
  .field em{display:block;position:absolute;right:22px;top:50%;transform:translateY(-50%);font-style:normal;color:#fff;font-size:22px;opacity:.96}
  .availability-card button{min-height:50px;justify-content:center;padding:0 15px;font-size:11px;letter-spacing:2.8px}

  .featured-section{padding:22px 0 36px}
  .center-eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:6px}
  .section-title-row{display:block;padding:0 28px;margin-bottom:14px}
  .section-title-row h2{font-size:27px;line-height:1.02}
  .section-title-row a{display:block;text-align:center;margin-top:20px;font-size:12px;letter-spacing:3px}
  .mobile-arrows{display:block;pointer-events:none}
  .mobile-arrows button{position:absolute;top:188px;width:39px;height:39px;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.16);font-size:26px;z-index:6}
  .mobile-arrows button:first-child{left:18px}.mobile-arrows button:last-child{right:18px}
  .yacht-strip{display:flex;gap:22px;overflow-x:auto;padding:0 68px 15px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .yacht-strip::-webkit-scrollbar{display:none}
  .yacht-card{min-width:360px;max-width:360px;border-radius:7px;overflow:hidden;scroll-snap-align:center;box-shadow:0 16px 30px rgba(6,31,51,.18)}
  .yacht-image-wrap{height:178px}
  .yacht-image-wrap b{top:12px;right:12px;font-size:12px;padding:10px 12px;border-radius:2px}
  .yacht-info{min-height:140px;padding:22px 24px}
  .yacht-info h3{font-size:16px;letter-spacing:3px;margin-bottom:13px}
  .yacht-info .meta{font-size:12px;gap:12px;margin-bottom:15px}
  .yacht-info .price,.yacht-info .price strong{font-size:14px}
  .dots{display:flex;justify-content:center;gap:9px}
  .dots span{width:8px;height:8px;border-radius:50%;background:#d7d7d7}.dots .active{background:var(--gold)}

  .experience-section{display:grid;grid-template-columns:1fr 1fr;min-height:288px}
  .experience-copy{min-height:288px;padding:34px 18px 28px 30px}
  .experience-copy h2{font-size:30px;line-height:1.05;margin:15px 0}
  .experience-copy p:not(.eyebrow),.experience-icons{display:none}
  .outline-btn{font-size:10px;padding:14px 16px;letter-spacing:1.5px}
  .experience-photo{min-height:288px}.experience-photo img{min-height:288px}.experience-photo aside{display:none}
  .footer{grid-template-columns:1fr;padding:38px 30px}
  .footer .brand{display:flex;align-items:flex-start}
  .footer .brand span{font-size:32px;letter-spacing:7px;max-width:210px;line-height:1.05}
  .footer .brand em{margin-left:0;align-self:flex-start;margin-top:22px}
  .sub-nav{padding:24px 30px}.subhero h1{font-size:32px}
  .grid-mode{display:grid;grid-template-columns:1fr;padding:0 25px}.grid-mode .yacht-card{min-width:0;max-width:none}
  .detail-grid{grid-template-columns:1fr}.detail-img{height:300px}.stat-grid{grid-template-columns:1fr}
}
@media(max-width:390px){
  .hero{min-height:748px;height:748px;padding-left:25px;padding-right:25px}
  .brand span{font-size:22px;letter-spacing:3px}.brand em{font-size:9px;letter-spacing:7px;margin-left:70px}
  .hero-copy{margin-top:73px;max-width:300px}.hero-copy h1{font-size:31px}.hero-copy p:not(.eyebrow){font-size:13px;max-width:278px}
  .availability-card{left:25px;right:25px}.field{min-height:60px}
  .yacht-strip{padding-left:55px;padding-right:55px}.yacht-card{min-width:300px;max-width:300px}
}


/* ACTUAL MOBILE V3 — structure/spacing match pass from uploaded live files */
@media(max-width:800px){
  .hero{height:823px!important;min-height:823px!important;padding:28px 30px 0!important;background:linear-gradient(180deg,rgba(2,18,31,.70),rgba(2,18,31,.12) 39%,rgba(2,18,31,.88)),url('/public/uploads/hero.svg?v=actual-mobile-v3') center top/cover no-repeat!important;}
  .site-nav{height:82px!important;align-items:flex-start!important}.brand span{font-size:25px!important;letter-spacing:3.8px!important;line-height:1.02!important;max-width:270px!important}.brand em{font-size:10px!important;letter-spacing:7.5px!important;margin-top:10px!important;margin-left:86px!important;align-self:flex-start!important}.nav-links,.book-btn{display:none!important}.nav-actions{margin-left:auto!important;padding-top:7px!important}.menu-btn{display:block!important;width:42px!important;height:42px!important}.menu-btn span{width:27px!important;height:3px!important;margin:5px auto!important;background:#bd8742!important}
  .hero-copy{margin-top:102px!important;max-width:315px!important;z-index:3!important}.hero-copy .eyebrow{font-size:11px!important;letter-spacing:1.65px!important;margin:0 0 15px!important;color:#bd8742!important}.hero-copy .eyebrow:after{content:""!important;display:inline-block!important;width:34px!important;height:1px!important;background:#bd8742!important;margin:0 0 4px 9px!important}.hero-copy h1{font-size:35px!important;line-height:1.06!important;margin:0 0 17px!important;letter-spacing:-.25px!important;text-shadow:0 3px 16px rgba(0,0,0,.24)!important}.hero-copy p:not(.eyebrow){font-size:14px!important;line-height:1.55!important;max-width:295px!important;margin:0 0 19px!important;color:rgba(255,255,255,.94)!important}.gold-btn{min-width:222px!important;width:auto!important;min-height:52px!important;padding:14px 22px!important;font-size:12px!important;letter-spacing:2px!important;box-shadow:none!important}
  .availability-card{position:absolute!important;left:30px!important;right:30px!important;bottom:0!important;transform:none!important;grid-template-columns:1fr!important;margin:0!important;border-radius:12px 12px 0 0!important;overflow:hidden!important;background:rgba(4,25,41,.965)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important}.availability-card .field{min-height:68px!important;padding:12px 46px 11px 74px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;justify-content:center!important;gap:2px!important}.availability-card .field i{left:22px!important;top:50%!important;transform:translateY(-50%)!important;opacity:.98!important}.availability-card .field span{font-size:10px!important;letter-spacing:.85px!important;color:rgba(205,216,224,.72)!important;margin:0!important}.availability-card .field strong,.availability-card .field input{font-size:14px!important;line-height:1.2!important;min-height:18px!important;color:#fff!important;font-weight:600!important}.availability-card .field input::placeholder{color:#fff!important;opacity:1!important}.availability-card .field em{display:block!important;position:absolute!important;right:21px!important;top:50%!important;transform:translateY(-50%)!important;color:#fff!important;opacity:.94!important;font-style:normal!important;font-size:20px!important}.availability-card button{min-height:52px!important;justify-content:center!important;padding:0 16px!important;font-size:11px!important;letter-spacing:2.8px!important;box-shadow:none!important}.icon-pin:before{width:21px!important;height:21px!important}.icon-pin:after{width:6px!important;height:6px!important;left:6px!important;top:6px!important}.icon-calendar:before{width:24px!important;height:23px!important}.icon-user:before{width:24px!important;height:24px!important}
  .featured-section{padding:22px 0 38px!important;background:#f4f1ec!important}.center-eyebrow{font-size:10px!important;letter-spacing:2px!important;margin:0 auto 7px!important;color:#bd8742!important}.center-eyebrow:after{content:""!important;display:block!important;width:34px!important;height:1px!important;background:#bd8742!important;margin:7px auto 0!important}.section-title-row{display:block!important;padding:0 28px!important;margin:0 0 15px!important}.section-title-row h2{font-size:27px!important;line-height:1.02!important;margin:0!important;color:#071f32!important}.section-title-row a{display:block!important;text-align:center!important;margin-top:20px!important;font-size:12px!important;letter-spacing:3px!important;color:#071f32!important}.mobile-arrows{display:block!important;pointer-events:none!important}.mobile-arrows button{top:190px!important;width:39px!important;height:39px!important;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.16)!important;color:#071f32!important;font-size:26px!important;z-index:6!important}.mobile-arrows button:first-child{left:18px!important}.mobile-arrows button:last-child{right:18px!important}
  .yacht-strip{display:flex!important;gap:22px!important;overflow-x:auto!important;padding:0 68px 15px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important}.yacht-card{min-width:360px!important;max-width:360px!important;border-radius:7px!important;overflow:hidden!important;scroll-snap-align:center!important;box-shadow:0 16px 32px rgba(6,31,51,.18)!important}.yacht-image-wrap{height:178px!important}.yacht-image-wrap b{top:12px!important;right:12px!important;font-size:12px!important;padding:10px 12px!important;border-radius:2px!important}.yacht-info{min-height:140px!important;padding:22px 24px!important;background:#061f33!important}.yacht-info h3{font-size:16px!important;letter-spacing:3px!important;margin-bottom:13px!important}.yacht-info .meta{font-size:12px!important;gap:12px!important;margin-bottom:15px!important;color:#bd8742!important}.yacht-info .price,.yacht-info .price strong{font-size:14px!important}.dots{display:flex!important;justify-content:center!important;gap:9px!important}.dots span{width:8px!important;height:8px!important;border-radius:50%!important;background:#d7d7d7!important}.dots .active{background:#bd8742!important}
  .experience-section{display:grid!important;grid-template-columns:1fr 1fr!important;min-height:288px!important}.experience-copy{min-height:288px!important;padding:34px 18px 28px 30px!important;background:#061f33!important}.experience-copy .eyebrow{font-size:11px!important;letter-spacing:3px!important;margin-bottom:13px!important}.experience-copy .eyebrow:after{width:32px!important;margin-left:9px!important}.experience-copy h2{font-size:30px!important;line-height:1.05!important;margin:15px 0 19px!important}.experience-copy p:not(.eyebrow),.experience-icons{display:none!important}.outline-btn{font-size:10px!important;padding:14px 16px!important;letter-spacing:1.5px!important;border-color:#bd8742!important}.experience-photo{min-height:288px!important}.experience-photo img{min-height:288px!important;object-fit:cover!important}.experience-photo aside{display:none!important}.footer{grid-template-columns:1fr!important;padding:38px 30px!important;background:#061f33!important}.footer .brand span{font-size:32px!important;letter-spacing:7px!important;max-width:220px!important;line-height:1.05!important}.footer .brand em{margin-left:0!important;align-self:flex-start!important;margin-top:20px!important}
}
@media(max-width:390px){.hero{height:748px!important;min-height:748px!important;padding-left:25px!important;padding-right:25px!important}.brand span{font-size:22px!important;letter-spacing:3px!important}.brand em{font-size:9px!important;letter-spacing:7px!important;margin-left:70px!important}.hero-copy{margin-top:73px!important;max-width:300px!important}.hero-copy h1{font-size:31px!important}.hero-copy p:not(.eyebrow){font-size:13px!important;max-width:278px!important}.availability-card{left:25px!important;right:25px!important}.availability-card .field{min-height:60px!important}.yacht-strip{padding-left:55px!important;padding-right:55px!important}.yacht-card{min-width:300px!important;max-width:300px!important}}

/* DESKTOP SEARCH BAR FIX V3 — float the availability bar between hero and white section */
@media (min-width: 801px){
  .hero{
    position:relative !important;
    overflow:visible !important;
    z-index:2 !important;
  }

  .availability-card{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:-44px !important;
    transform:translateX(-50%) !important;
    width:calc(100% - 13.6vw) !important;
    max-width:1280px !important;
    height:88px !important;
    max-height:88px !important;
    align-items:stretch !important;
    z-index:30 !important;
    box-shadow:0 22px 50px rgba(0,0,0,.24) !important;
  }

  .availability-card .field{
    min-height:88px !important;
    height:88px !important;
  }

  .availability-card button{
    min-height:88px !important;
    height:88px !important;
  }

  .featured-section{
    position:relative !important;
    z-index:1 !important;
    padding-top:128px !important;
  }
}


/* Real image placement: hero + experiences */
.hero{
  background-image:
    linear-gradient(90deg, rgba(2,19,32,.92) 0%, rgba(2,27,44,.63) 43%, rgba(2,27,44,.28) 100%),
    url('/public/uploads/hero-yacht-cancun.jpg') !important;
  background-size: cover !important;
  background-position: center 38% !important;
}

.experience-photo img{
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 800px){
  .hero{
    background-image:
      linear-gradient(180deg, rgba(2,18,31,.50) 0%, rgba(2,18,31,.16) 42%, rgba(2,18,31,.78) 100%),
      url('/public/uploads/hero-yacht-cancun.jpg') !important;
    background-size: cover !important;
    background-position: 58% top !important;
  }

  .experience-photo img{
    object-position: center center !important;
  }
}

@media (min-width: 1024px){
  .experience-photo img{
    object-position: center center !important;
  }
}


/* =========================================================
   MOBILE ELITE HERO PASS
   Goal: show the full yacht photo cleanly on mobile without ugly crop,
   while keeping desktop unchanged.
   ========================================================= */
@media (max-width: 800px) {
  .hero {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background:
      linear-gradient(180deg, rgba(2,18,31,.04) 0%, rgba(2,18,31,.16) 58%, rgba(2,18,31,.88) 100%),
      url('/public/uploads/hero-yacht-cancun.jpg') center top / 100% auto no-repeat !important;
    background-color: #061f33 !important;
  }

  .hero::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1.64 / 1;
    max-height: 445px;
    min-height: 350px;
  }

  .site-nav {
    position: absolute !important;
    top: 28px !important;
    left: 30px !important;
    right: 30px !important;
    height: 74px !important;
    z-index: 10 !important;
  }

  .site-nav .brand {
    filter: drop-shadow(0 3px 10px rgba(0,0,0,.38));
  }

  .menu-btn {
    filter: drop-shadow(0 3px 10px rgba(0,0,0,.34));
  }

  .hero-copy {
    position: relative !important;
    z-index: 4 !important;
    margin: -92px 30px 0 !important;
    max-width: none !important;
    padding: 116px 0 26px !important;
    background: linear-gradient(180deg, rgba(6,31,51,0) 0%, rgba(6,31,51,.86) 30%, rgba(6,31,51,.98) 100%);
  }

  .hero-copy .eyebrow {
    font-size: 11px !important;
    letter-spacing: 2.4px !important;
    margin-bottom: 14px !important;
    color: #c38b45 !important;
  }

  .hero-copy h1 {
    font-size: clamp(33px, 8.7vw, 47px) !important;
    line-height: 1.02 !important;
    margin: 0 0 15px !important;
    text-shadow: 0 4px 18px rgba(0,0,0,.34);
  }

  .hero-copy p:not(.eyebrow) {
    max-width: 330px !important;
    font-size: 15px !important;
    line-height: 1.52 !important;
    margin-bottom: 20px !important;
    color: rgba(255,255,255,.94) !important;
  }

  .hero-copy .gold-btn {
    min-width: 238px !important;
    min-height: 58px !important;
    padding: 16px 25px !important;
    font-size: 12px !important;
    letter-spacing: 2.4px !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
  }

  .availability-card {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 6 !important;
    margin: 0 30px !important;
    border-radius: 14px 14px 0 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    background: rgba(4,26,43,.97) !important;
    box-shadow: 0 -10px 38px rgba(0,0,0,.18), 0 18px 42px rgba(0,0,0,.22) !important;
  }

  .availability-card .field {
    min-height: 72px !important;
    padding: 13px 42px 12px 76px !important;
  }

  .availability-card .field span {
    font-size: 10px !important;
    letter-spacing: 1.15px !important;
    color: rgba(214,224,231,.74) !important;
  }

  .availability-card .field strong,
  .availability-card .field input {
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  .availability-card button {
    min-height: 56px !important;
    letter-spacing: 3.3px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  }

  .featured-section {
    padding-top: 30px !important;
  }
}

@media (max-width: 390px) {
  .hero::before {
    min-height: 318px;
  }

  .site-nav {
    left: 24px !important;
    right: 24px !important;
  }

  .hero-copy {
    margin-left: 24px !important;
    margin-right: 24px !important;
    margin-top: -84px !important;
    padding-top: 104px !important;
  }

  .availability-card {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }

  .hero-copy h1 {
    font-size: 32px !important;
  }
}


/* =========================================================
   ELITE REAL MOBILE FINAL OVERRIDE
   This uses a real <img> on mobile instead of cropped background,
   so the full yacht photo is visible and desktop remains unchanged.
   ========================================================= */
.mobile-hero-photo{display:none}

@media (max-width: 800px){
  .hero{
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#061f33 !important;
  }

  .hero::before{
    display:none !important;
    content:none !important;
  }

  .mobile-hero-photo{
    display:block !important;
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    height:auto !important;
    background:#061f33 !important;
  }

  .mobile-hero-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(4,18,31,.15) 0%, rgba(4,18,31,.08) 42%, rgba(4,18,31,.88) 100%),
      linear-gradient(90deg, rgba(4,18,31,.62) 0%, rgba(4,18,31,.20) 52%, rgba(4,18,31,.10) 100%);
    pointer-events:none;
  }

  .mobile-hero-photo img{
    width:100% !important;
    height:auto !important;
    display:block !important;
  }

  .site-nav{
    position:absolute !important;
    top:28px !important;
    left:30px !important;
    right:30px !important;
    height:70px !important;
    z-index:20 !important;
  }

  .site-nav .brand span{
    font-size:27px !important;
    letter-spacing:4.2px !important;
    line-height:1 !important;
    text-shadow:0 4px 18px rgba(0,0,0,.48);
  }

  .site-nav .brand em{
    font-size:10px !important;
    letter-spacing:9px !important;
    margin-top:10px !important;
    margin-left:92px !important;
    text-shadow:0 4px 14px rgba(0,0,0,.42);
  }

  .nav-links,
  .book-btn{
    display:none !important;
  }

  .menu-btn{
    display:block !important;
    width:44px !important;
    height:44px !important;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.45));
  }

  .menu-btn span{
    width:28px !important;
    height:3px !important;
    margin:5px auto !important;
    background:#bd8742 !important;
  }

  .hero-copy{
    position:relative !important;
    z-index:5 !important;
    margin:-190px 30px 0 !important;
    padding:112px 0 24px !important;
    max-width:none !important;
    background:linear-gradient(180deg, rgba(6,31,51,0) 0%, rgba(6,31,51,.70) 31%, rgba(6,31,51,.98) 100%) !important;
  }

  .hero-copy .eyebrow{
    font-size:11px !important;
    letter-spacing:2.35px !important;
    margin:0 0 14px !important;
    color:#c38b45 !important;
  }

  .hero-copy h1{
    font-size:clamp(34px, 8.8vw, 46px) !important;
    line-height:1.02 !important;
    margin:0 0 15px !important;
    letter-spacing:-.25px !important;
    text-shadow:0 4px 20px rgba(0,0,0,.43);
  }

  .hero-copy p:not(.eyebrow){
    max-width:330px !important;
    font-size:15px !important;
    line-height:1.52 !important;
    margin:0 0 20px !important;
    color:rgba(255,255,255,.94) !important;
    text-shadow:0 2px 12px rgba(0,0,0,.32);
  }

  .hero-copy .gold-btn{
    min-width:238px !important;
    min-height:58px !important;
    padding:16px 25px !important;
    font-size:12px !important;
    letter-spacing:2.45px !important;
    box-shadow:0 16px 34px rgba(0,0,0,.20) !important;
  }

  .availability-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    z-index:7 !important;
    margin:0 30px !important;
    border-radius:14px 14px 0 0 !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.20) !important;
    background:rgba(4,26,43,.975) !important;
    box-shadow:0 -8px 30px rgba(0,0,0,.16),0 18px 42px rgba(0,0,0,.22) !important;
  }

  .availability-card .field{
    min-height:72px !important;
    padding:13px 42px 12px 76px !important;
    border-bottom:1px solid rgba(255,255,255,.145) !important;
  }

  .availability-card .field span{
    font-size:10px !important;
    letter-spacing:1.15px !important;
    color:rgba(214,224,231,.75) !important;
  }

  .availability-card .field strong,
  .availability-card .field input{
    font-size:15px !important;
    font-weight:700 !important;
  }

  .availability-card .field em{
    display:block !important;
    position:absolute !important;
    right:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-style:normal !important;
    color:#fff !important;
    font-size:22px !important;
    opacity:.94 !important;
  }

  .availability-card button{
    min-height:56px !important;
    letter-spacing:3.3px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .featured-section{
    padding-top:30px !important;
  }
}

@media (max-width: 430px){
  .hero-copy{
    margin-top:-166px !important;
    padding-top:98px !important;
  }
}

@media (max-width: 390px){
  .site-nav{
    left:24px !important;
    right:24px !important;
    top:24px !important;
  }

  .site-nav .brand span{
    font-size:23px !important;
    letter-spacing:3.2px !important;
  }

  .site-nav .brand em{
    font-size:9px !important;
    letter-spacing:7px !important;
    margin-left:74px !important;
  }

  .hero-copy{
    margin:-146px 24px 0 !important;
    padding-top:88px !important;
  }

  .hero-copy h1{
    font-size:32px !important;
  }

  .hero-copy p:not(.eyebrow){
    font-size:13px !important;
    max-width:285px !important;
  }

  .availability-card{
    margin-left:24px !important;
    margin-right:24px !important;
  }
}


/* =========================================================
   MOBILE TOP MATCH V2 - match supplied mockup top layout
   Desktop is untouched. Mobile stops using the inserted image layer
   and uses a controlled, non-overzoomed background composition.
   ========================================================= */
@media (max-width: 800px){
  .mobile-hero-photo{
    display:none !important;
  }

  .hero{
    position:relative !important;
    height:870px !important;
    min-height:870px !important;
    padding:28px 30px 0 !important;
    overflow:hidden !important;
    background:
      linear-gradient(180deg, rgba(2,18,31,.52) 0%, rgba(2,18,31,.08) 42%, rgba(2,18,31,.88) 72%, rgba(2,18,31,1) 100%),
      linear-gradient(90deg, rgba(2,18,31,.78) 0%, rgba(2,18,31,.35) 43%, rgba(2,18,31,.12) 100%),
      url('/public/uploads/hero-yacht-cancun.jpg') 59% top / 205% auto no-repeat !important;
    background-color:#061f33 !important;
  }

  .hero::before{
    display:none !important;
    content:none !important;
  }

  .site-nav{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    height:82px !important;
    z-index:20 !important;
    padding:0 !important;
  }

  .site-nav .brand span{
    font-size:27px !important;
    letter-spacing:4.2px !important;
    line-height:1 !important;
    max-width:310px !important;
    text-shadow:0 4px 18px rgba(0,0,0,.45) !important;
  }

  .site-nav .brand em{
    font-size:10px !important;
    letter-spacing:9px !important;
    margin-top:10px !important;
    margin-left:92px !important;
    text-shadow:0 4px 14px rgba(0,0,0,.42) !important;
  }

  .nav-links,
  .book-btn{
    display:none !important;
  }

  .nav-actions{
    margin-left:auto !important;
    padding-top:6px !important;
  }

  .menu-btn{
    display:block !important;
    width:44px !important;
    height:44px !important;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.45)) !important;
  }

  .menu-btn span{
    width:28px !important;
    height:3px !important;
    margin:5px auto !important;
    background:#bd8742 !important;
  }

  .hero-copy{
    position:relative !important;
    z-index:5 !important;
    margin:116px 0 0 !important;
    padding:0 !important;
    max-width:360px !important;
    background:transparent !important;
  }

  .hero-copy .eyebrow{
    font-size:11px !important;
    letter-spacing:2.35px !important;
    margin:0 0 15px !important;
    color:#c38b45 !important;
    text-shadow:0 3px 12px rgba(0,0,0,.35) !important;
  }

  .hero-copy h1{
    font-size:clamp(36px, 9.4vw, 48px) !important;
    line-height:1.03 !important;
    margin:0 0 18px !important;
    letter-spacing:-.2px !important;
    text-shadow:0 5px 22px rgba(0,0,0,.48) !important;
  }

  .hero-copy p:not(.eyebrow){
    max-width:330px !important;
    font-size:15px !important;
    line-height:1.55 !important;
    margin:0 0 22px !important;
    color:rgba(255,255,255,.94) !important;
    text-shadow:0 3px 14px rgba(0,0,0,.42) !important;
  }

  .hero-copy .gold-btn{
    min-width:238px !important;
    min-height:58px !important;
    width:auto !important;
    padding:16px 25px !important;
    font-size:12px !important;
    letter-spacing:2.45px !important;
    box-shadow:0 16px 34px rgba(0,0,0,.20) !important;
  }

  .availability-card{
    position:absolute !important;
    left:30px !important;
    right:30px !important;
    bottom:0 !important;
    transform:none !important;
    z-index:7 !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    border-radius:14px 14px 0 0 !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.22) !important;
    background:rgba(4,26,43,.975) !important;
    box-shadow:0 -8px 30px rgba(0,0,0,.16),0 18px 42px rgba(0,0,0,.22) !important;
  }

  .availability-card .field{
    min-height:72px !important;
    padding:13px 42px 12px 76px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.145) !important;
    justify-content:center !important;
    gap:2px !important;
  }

  .availability-card .field i{
    display:block !important;
    left:22px !important;
  }

  .availability-card .field span{
    font-size:10px !important;
    letter-spacing:1.15px !important;
    color:rgba(214,224,231,.75) !important;
  }

  .availability-card .field strong,
  .availability-card .field input{
    font-size:15px !important;
    min-height:20px !important;
    font-weight:700 !important;
  }

  .availability-card .field em{
    display:block !important;
    position:absolute !important;
    right:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-style:normal !important;
    color:#fff !important;
    font-size:22px !important;
    opacity:.94 !important;
  }

  .availability-card button{
    min-height:56px !important;
    justify-content:center !important;
    padding:0 15px !important;
    letter-spacing:3.3px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .featured-section{
    padding-top:30px !important;
  }
}

@media (max-width: 430px){
  .hero{
    height:846px !important;
    min-height:846px !important;
    background-position:60% top !important;
    background-size:214% auto !important;
  }

  .hero-copy{
    margin-top:104px !important;
    max-width:345px !important;
  }

  .hero-copy h1{
    font-size:40px !important;
  }
}

@media (max-width: 390px){
  .hero{
    height:810px !important;
    min-height:810px !important;
    padding-left:24px !important;
    padding-right:24px !important;
    background-size:220% auto !important;
    background-position:61% top !important;
  }

  .site-nav .brand span{
    font-size:23px !important;
    letter-spacing:3.2px !important;
  }

  .site-nav .brand em{
    font-size:9px !important;
    letter-spacing:7px !important;
    margin-left:74px !important;
  }

  .hero-copy{
    margin-top:86px !important;
    max-width:310px !important;
  }

  .hero-copy h1{
    font-size:33px !important;
  }

  .hero-copy p:not(.eyebrow){
    font-size:13px !important;
    max-width:285px !important;
  }

  .availability-card{
    left:24px !important;
    right:24px !important;
  }

  .availability-card .field{
    min-height:66px !important;
  }
}


/* =========================================================
   MOBILE FULL HERO PHOTO CLEAN
   Shows the entire hero photo on mobile with no crop/stretch.
   Desktop remains unchanged.
   ========================================================= */
@media (max-width: 800px){
  .hero{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#061f33 !important;
  }

  .hero::before{
    display:none !important;
    content:none !important;
  }

  .mobile-hero-photo{
    display:block !important;
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    background:#061f33 !important;
    overflow:hidden !important;
  }

  .mobile-hero-photo img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    transform:none !important;
    filter:brightness(.86) contrast(1.04) saturate(1.04) !important;
  }

  .mobile-hero-photo::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    background:
      linear-gradient(180deg, rgba(2,18,31,.42) 0%, rgba(2,18,31,.10) 38%, rgba(2,18,31,.20) 63%, rgba(2,18,31,.88) 100%),
      linear-gradient(90deg, rgba(2,18,31,.55) 0%, rgba(2,18,31,.18) 54%, rgba(2,18,31,.04) 100%) !important;
  }

  .site-nav{
    position:absolute !important;
    top:28px !important;
    left:30px !important;
    right:30px !important;
    height:74px !important;
    z-index:30 !important;
    padding:0 !important;
  }

  .site-nav .brand span{
    font-size:27px !important;
    letter-spacing:4.2px !important;
    line-height:1 !important;
    max-width:315px !important;
    text-shadow:0 4px 18px rgba(0,0,0,.48) !important;
  }

  .site-nav .brand em{
    font-size:10px !important;
    letter-spacing:9px !important;
    margin-top:10px !important;
    margin-left:92px !important;
    text-shadow:0 4px 14px rgba(0,0,0,.42) !important;
  }

  .nav-links,
  .book-btn{
    display:none !important;
  }

  .nav-actions{
    margin-left:auto !important;
    padding-top:7px !important;
  }

  .menu-btn{
    display:block !important;
    width:44px !important;
    height:44px !important;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.45)) !important;
  }

  .menu-btn span{
    width:28px !important;
    height:3px !important;
    margin:5px auto !important;
    background:#bd8742 !important;
  }

  .hero-copy{
    position:relative !important;
    z-index:5 !important;
    margin:-112px 30px 0 !important;
    padding:88px 0 24px !important;
    max-width:none !important;
    background:linear-gradient(180deg, rgba(6,31,51,0) 0%, rgba(6,31,51,.78) 36%, rgba(6,31,51,.99) 100%) !important;
  }

  .hero-copy .eyebrow{
    font-size:11px !important;
    letter-spacing:2.35px !important;
    margin:0 0 14px !important;
    color:#c38b45 !important;
    text-shadow:0 3px 12px rgba(0,0,0,.35) !important;
  }

  .hero-copy h1{
    font-size:clamp(34px, 8.7vw, 46px) !important;
    line-height:1.03 !important;
    margin:0 0 15px !important;
    letter-spacing:-.25px !important;
    text-shadow:0 5px 22px rgba(0,0,0,.48) !important;
  }

  .hero-copy p:not(.eyebrow){
    max-width:330px !important;
    font-size:15px !important;
    line-height:1.52 !important;
    margin:0 0 20px !important;
    color:rgba(255,255,255,.94) !important;
    text-shadow:0 3px 14px rgba(0,0,0,.42) !important;
  }

  .hero-copy .gold-btn{
    min-width:238px !important;
    min-height:58px !important;
    width:auto !important;
    padding:16px 25px !important;
    font-size:12px !important;
    letter-spacing:2.45px !important;
    box-shadow:0 16px 34px rgba(0,0,0,.20) !important;
  }

  .availability-card{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    z-index:7 !important;
    margin:0 30px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    border-radius:14px 14px 0 0 !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.22) !important;
    background:rgba(4,26,43,.98) !important;
    box-shadow:0 -8px 30px rgba(0,0,0,.16),0 18px 42px rgba(0,0,0,.22) !important;
  }

  .availability-card .field{
    min-height:72px !important;
    padding:13px 42px 12px 76px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.145) !important;
    justify-content:center !important;
    gap:2px !important;
  }

  .availability-card .field i{
    display:block !important;
    left:22px !important;
  }

  .availability-card .field span{
    font-size:10px !important;
    letter-spacing:1.15px !important;
    color:rgba(214,224,231,.75) !important;
  }

  .availability-card .field strong,
  .availability-card .field input{
    font-size:15px !important;
    min-height:20px !important;
    font-weight:700 !important;
  }

  .availability-card .field em{
    display:block !important;
    position:absolute !important;
    right:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-style:normal !important;
    color:#fff !important;
    font-size:22px !important;
    opacity:.94 !important;
  }

  .availability-card button{
    min-height:56px !important;
    justify-content:center !important;
    padding:0 15px !important;
    letter-spacing:3.3px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .featured-section{
    padding-top:30px !important;
  }
}

@media (max-width: 430px){
  .hero-copy{
    margin-top:-96px !important;
    padding-top:76px !important;
  }
}

@media (max-width: 390px){
  .site-nav{
    top:24px !important;
    left:24px !important;
    right:24px !important;
  }

  .site-nav .brand span{
    font-size:23px !important;
    letter-spacing:3.2px !important;
  }

  .site-nav .brand em{
    font-size:9px !important;
    letter-spacing:7px !important;
    margin-left:74px !important;
  }

  .hero-copy{
    margin:-82px 24px 0 !important;
    padding-top:66px !important;
  }

  .hero-copy h1{
    font-size:32px !important;
  }

  .hero-copy p:not(.eyebrow){
    font-size:13px !important;
    max-width:285px !important;
  }

  .availability-card{
    margin-left:24px !important;
    margin-right:24px !important;
  }

  .availability-card .field{
    min-height:66px !important;
  }
}


/* =========================================================
   DESKTOP SEARCH BAR POLISH
   Mobile untouched. Makes desktop bar taller, clearer, lower,
   and gives it a stronger luxury floating shadow.
   ========================================================= */
@media (min-width: 1024px){
  .availability-card{
    bottom:-72px !important;
    min-height:96px !important;
    height:96px !important;
    box-shadow:
      0 28px 70px rgba(0,0,0,.34),
      0 10px 28px rgba(6,31,51,.22),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.24) !important;
    background:rgba(4,26,43,.965) !important;
  }

  .availability-card .field{
    min-height:96px !important;
    height:96px !important;
    padding-top:23px !important;
    padding-bottom:22px !important;
    padding-left:70px !important;
    gap:8px !important;
  }

  .availability-card .field i{
    left:28px !important;
    transform:translateY(-50%) scale(1.18) !important;
  }

  .availability-card .field span{
    font-size:12px !important;
    letter-spacing:1.8px !important;
    color:rgba(214,224,231,.78) !important;
  }

  .availability-card .field strong,
  .availability-card .field input{
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    color:#fff !important;
  }

  .availability-card .field input::placeholder{
    color:#fff !important;
    opacity:.95 !important;
  }

  .availability-card button{
    min-height:96px !important;
    height:96px !important;
    font-size:13px !important;
    letter-spacing:3px !important;
    padding:0 34px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  }

  .featured-section{
    padding-top:128px !important;
  }
}


/* =========================================================
   SEARCH BUTTON SEAM FIX V2
   Fixes the visible right-edge color seam by making the last
   grid column belong fully to the gold button, with a tiny bleed.
   Desktop only. Mobile untouched.
   ========================================================= */
@media (min-width: 1024px){
  .availability-card{
    overflow:visible !important;
    background:
      linear-gradient(to right,
        rgba(4,26,43,.965) 0%,
        rgba(4,26,43,.965) calc(100% - 220px),
        transparent calc(100% - 220px),
        transparent 100%
      ) !important;
  }

  .availability-card button{
    align-self:stretch !important;
    justify-self:stretch !important;
    width:calc(100% + 3px) !important;
    min-width:calc(100% + 3px) !important;
    height:96px !important;
    min-height:96px !important;
    margin:0 -3px 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:#c79043 !important;
    background-image:linear-gradient(135deg,#b77d36 0%,#d69b49 100%) !important;
    box-shadow:
      0 28px 70px rgba(0,0,0,.18),
      inset 0 1px 0 rgba(255,255,255,.16),
      inset 0 -1px 0 rgba(0,0,0,.12) !important;
    transform:none !important;
  }

  .availability-card button span{
    background:transparent !important;
  }

  .availability-card button::before,
  .availability-card button::after{
    display:none !important;
    content:none !important;
  }
}


/* =========================================================
   ELITE CATEGORY DROPDOWN - CORRECTED
   Replaces Location with custom Yachts/Villas/Tours selector.
   ========================================================= */
.availability-card .field-type{
  position:relative !important;
  overflow:visible !important;
}

.availability-card .field-type .icon-type{
  position:absolute !important;
  left:25px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#bd8742 !important;
  font-style:normal !important;
  font-size:23px !important;
  line-height:1 !important;
}

.availability-card .field-type > span{
  color:#aebac4 !important;
  font-size:11px !important;
  text-transform:uppercase !important;
  letter-spacing:1.25px !important;
  max-width:220px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.availability-card .type-trigger{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  cursor:pointer !important;
  color:#fff !important;
  background:transparent !important;
  min-height:23px !important;
}

.availability-card .type-trigger strong{
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

.availability-card .type-trigger em{
  display:block !important;
  position:absolute !important;
  right:22px !important;
  top:50% !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transition:transform .24s ease !important;
  font-style:normal !important;
  color:#fff !important;
  font-size:20px !important;
  opacity:.95 !important;
}

.availability-card .field-type.open .type-trigger em{
  transform:translateY(-50%) rotate(180deg) !important;
}

.type-menu{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:calc(100% - 7px) !important;
  z-index:999 !important;
  padding:10px !important;
  background:rgba(5,27,45,.99) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.40) !important;
  border-radius:14px !important;
  opacity:0 !important;
  transform:translateY(-6px) scale(.985) !important;
  pointer-events:none !important;
  transition:opacity .22s ease, transform .22s ease !important;
}

.field-type.open .type-menu{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  pointer-events:auto !important;
}

.type-option{
  width:100% !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:13px 12px !important;
  border-radius:11px !important;
  cursor:pointer !important;
  text-align:left !important;
  transition:background .2s ease, transform .2s ease !important;
  min-height:auto !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  justify-content:flex-start !important;
}

.type-option:hover,
.type-option.active{
  background:linear-gradient(135deg, rgba(183,125,54,.30), rgba(213,155,72,.14)) !important;
}

.type-option b{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  color:#d39a49 !important;
  border:1px solid rgba(211,154,73,.5) !important;
  font-size:15px !important;
}

.type-option span{
  color:#fff !important;
  font-size:15px !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:.2px !important;
}

@media (min-width:1024px){
  .availability-card{
    grid-template-columns:1.2fr .9fr .9fr 220px !important;
  }

  .availability-card .field-type{
    padding-left:70px !important;
  }

  .availability-card .field-type .icon-type{
    left:28px !important;
    transform:translateY(-50%) scale(1.15) !important;
  }
}

@media (max-width:800px){
  .availability-card .field-type{
    min-height:72px !important;
    padding:13px 42px 12px 76px !important;
  }

  .availability-card .field-type .icon-type{
    left:22px !important;
    font-size:22px !important;
  }

  .availability-card .field-type > span{
    font-size:10px !important;
    letter-spacing:1.05px !important;
    max-width:240px !important;
  }

  .availability-card .type-trigger strong{
    font-size:15px !important;
  }

  .type-menu{
    left:12px !important;
    right:12px !important;
    top:calc(100% - 4px) !important;
  }
}


/* =========================================================
   DATE + GUESTS ICON POLISH
   Keeps the custom dropdown intact and makes date/guest icons
   match the premium gold search UI.
   ========================================================= */
.availability-card .icon-calendar,
.availability-card .icon-user{
  position:absolute !important;
  left:25px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#bd8742 !important;
  font-style:normal !important;
  line-height:1 !important;
  display:grid !important;
  place-items:center !important;
  width:26px !important;
  height:26px !important;
  font-size:0 !important;
}

/* calendar outline */
.availability-card .icon-calendar::before{
  content:"" !important;
  display:block !important;
  width:23px !important;
  height:22px !important;
  border:2px solid #bd8742 !important;
  border-radius:3px !important;
  box-shadow:inset 0 6px 0 rgba(189,135,66,.16) !important;
}

.availability-card .icon-calendar::after{
  content:"" !important;
  position:absolute !important;
  top:5px !important;
  left:6px !important;
  width:14px !important;
  height:2px !important;
  background:#bd8742 !important;
  box-shadow:0 6px 0 rgba(189,135,66,.55) !important;
}

/* guest outline */
.availability-card .icon-user::before{
  content:"" !important;
  position:absolute !important;
  top:3px !important;
  left:8px !important;
  width:10px !important;
  height:10px !important;
  border:2px solid #bd8742 !important;
  border-radius:50% !important;
}

.availability-card .icon-user::after{
  content:"" !important;
  position:absolute !important;
  left:4px !important;
  bottom:2px !important;
  width:18px !important;
  height:11px !important;
  border:2px solid #bd8742 !important;
  border-radius:14px 14px 6px 6px !important;
  border-top-width:2px !important;
}

@media (min-width:1024px){
  .availability-card .icon-calendar,
  .availability-card .icon-user{
    left:28px !important;
    transform:translateY(-50%) scale(1.12) !important;
  }
}

@media (max-width:800px){
  .availability-card .icon-calendar,
  .availability-card .icon-user{
    left:22px !important;
    transform:translateY(-50%) scale(1) !important;
  }
}


/* =========================================================
   LUXURY GUESTS DROPDOWN - VERTICAL LIST
   Replaces keypad grid with premium stacked guest selector.
   ========================================================= */
.availability-card .field-guests{
  position:relative !important;
  overflow:visible !important;
}

.availability-card .guest-trigger{
  all:unset !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  cursor:pointer !important;
  color:#fff !important;
  background:transparent !important;
  min-height:23px !important;
}

.availability-card .guest-trigger strong{
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

.availability-card .guest-trigger em{
  display:block !important;
  position:absolute !important;
  right:22px !important;
  top:50% !important;
  transform:translateY(-50%) rotate(0deg) !important;
  transition:transform .24s ease !important;
  font-style:normal !important;
  color:#fff !important;
  font-size:20px !important;
  opacity:.95 !important;
}

.availability-card .field-guests.open .guest-trigger em{
  transform:translateY(-50%) rotate(180deg) !important;
}

.guest-input{
  display:none !important;
}

.guest-menu{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:calc(100% - 6px) !important;
  z-index:998 !important;
  max-height:318px !important;
  overflow-y:auto !important;
  padding:9px !important;
  background:rgba(5,27,45,.99) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.40) !important;
  border-radius:14px !important;
  opacity:0 !important;
  transform:translateY(-6px) scale(.985) !important;
  pointer-events:none !important;
  transition:opacity .22s ease, transform .22s ease !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

.guest-menu::-webkit-scrollbar{
  width:5px !important;
}

.guest-menu::-webkit-scrollbar-thumb{
  background:rgba(189,135,66,.55) !important;
  border-radius:999px !important;
}

.field-guests.open .guest-menu{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  pointer-events:auto !important;
}

.guest-option{
  border:0 !important;
  background:rgba(255,255,255,.045) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:48px !important;
  border-radius:11px !important;
  cursor:pointer !important;
  transition:background .2s ease, transform .2s ease, border-color .2s ease !important;
  padding:0 15px !important;
  text-align:left !important;
  border:1px solid rgba(255,255,255,.055) !important;
}

.guest-option:hover,
.guest-option.active{
  background:linear-gradient(135deg, rgba(183,125,54,.42), rgba(213,155,72,.15)) !important;
  border-color:rgba(211,154,73,.38) !important;
}

.guest-option:active{
  transform:scale(.985) !important;
}

.guest-option span{
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  text-transform:none !important;
}

.guest-option small{
  color:rgba(214,224,231,.70) !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:1.1px !important;
  text-transform:uppercase !important;
}

.guest-option.active::after{
  content:"✓" !important;
  color:#d39a49 !important;
  font-size:15px !important;
  font-weight:900 !important;
  margin-left:10px !important;
}

.guest-option.active small{
  display:none !important;
}

@media (min-width:1024px){
  .availability-card .guest-trigger strong{
    font-size:16px !important;
  }

  .guest-menu{
    max-height:330px !important;
  }
}

@media (max-width:800px){
  .availability-card .guest-trigger strong{
    font-size:15px !important;
  }

  .guest-menu{
    left:12px !important;
    right:12px !important;
    top:calc(100% - 4px) !important;
    max-height:286px !important;
  }

  .guest-option{
    min-height:46px !important;
  }
}


/* =========================================================
   GUEST DROPDOWN UPWARD FIX
   Guests row sits above the gold search button, so this menu
   opens upward instead of hiding behind the button.
   ========================================================= */
.availability-card .field-guests{
  overflow:visible !important;
}

.availability-card .field-guests .guest-menu{
  top:auto !important;
  bottom:calc(100% - 8px) !important;
  z-index:2000 !important;
  max-height:300px !important;
  box-shadow:0 -24px 70px rgba(0,0,0,.42) !important;
  transform:translateY(8px) scale(.985) !important;
}

.availability-card .field-guests.open .guest-menu{
  transform:translateY(0) scale(1) !important;
}

@media (max-width:800px){
  .availability-card{
    overflow:visible !important;
  }

  .availability-card .field-guests .guest-menu{
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:calc(100% - 6px) !important;
    max-height:255px !important;
  }

  .availability-card .field-guests.open{
    z-index:2001 !important;
  }
}


/* =========================================================
   ADMIN PANEL V1
   Clean, user-friendly dashboard for yachts, villas, tours.
   ========================================================= */
.admin-shell{
  min-height:100vh;
  background:#f4f1ec;
  padding:26px;
  color:#071f32;
  font-family:Inter,Arial,sans-serif;
}

.admin-topbar{
  max-width:1220px;
  margin:0 auto 24px;
  min-height:76px;
  padding:16px 18px;
  border-radius:22px;
  background:#061f33;
  color:#fff;
  display:flex;
  align-items:center;
  gap:20px;
  box-shadow:0 18px 50px rgba(6,31,51,.14);
}

.admin-brand{
  display:flex;
  flex-direction:column;
  font-family:Georgia,serif;
  text-transform:uppercase;
  letter-spacing:3px;
  min-width:190px;
}

.admin-brand span{font-size:19px}
.admin-brand small{
  color:#bd8742;
  letter-spacing:4px;
  font-size:10px;
  margin-top:5px;
}

.admin-toplinks{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
  flex-wrap:wrap;
}

.admin-toplinks a,
.admin-topbar button,
.admin-secondary{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:12px;
  padding:11px 14px;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

.admin-toplinks a.gold,
.admin-primary{
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#b77d36,#d59b48);
  color:#fff !important;
  padding:13px 18px;
  font-weight:900;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  letter-spacing:.3px;
  box-shadow:0 14px 30px rgba(183,125,54,.18);
}

.admin-primary.full,
.admin-secondary.full{
  width:100%;
  margin-top:12px;
}

.admin-secondary{
  background:#fff;
  color:#071f32;
  border-color:rgba(6,31,51,.13);
  box-shadow:none;
}

.admin-hero-panel,
.admin-page-head,
.admin-card{
  max-width:1220px;
  margin:0 auto 22px;
}

.admin-hero-panel{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding:34px;
  border-radius:26px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(6,31,51,.96),rgba(7,69,91,.82)),
    url('/public/uploads/hero-yacht-cancun.jpg') center/cover;
  box-shadow:0 24px 70px rgba(6,31,51,.18);
}

.admin-kicker{
  margin:0 0 8px;
  color:#bd8742;
  text-transform:uppercase;
  letter-spacing:2.5px;
  font-size:12px;
  font-weight:900;
}

.admin-hero-panel h1,
.admin-page-head h1{
  margin:0;
  font-family:Georgia,serif;
  font-size:38px;
  font-weight:400;
}

.admin-hero-panel p,
.admin-page-head p{
  max-width:640px;
  line-height:1.6;
  margin:10px 0 0;
}

.admin-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  padding:12px 4px 0;
}

.admin-stats{
  max-width:1220px;
  margin:0 auto 22px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.admin-stats a{
  background:#fff;
  border-radius:20px;
  padding:24px;
  text-decoration:none;
  color:#071f32;
  box-shadow:0 16px 40px rgba(6,31,51,.08);
}

.admin-stats b{
  display:block;
  font-size:38px;
  color:#061f33;
}

.admin-stats span{
  display:block;
  margin-top:5px;
  color:#6b7883;
  font-weight:800;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:1.5px;
}

.admin-card{
  background:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:0 16px 40px rgba(6,31,51,.08);
}

.admin-section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.admin-section-head h2,
.admin-card h2{
  margin:0 0 16px;
  font-size:24px;
}

.admin-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.admin-mini-card{
  border:1px solid #e5e7eb;
  border-radius:18px;
  overflow:hidden;
  background:#f8fafc;
}

.admin-mini-card img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.admin-mini-card div{
  padding:14px;
}

.admin-mini-card span,
.admin-list-img span{
  display:inline-flex;
  background:#061f33;
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:1.3px;
  font-weight:900;
}

.admin-mini-card h3,
.admin-list-title h3{
  margin:10px 0 6px;
}

.admin-mini-card p{
  margin:0 0 8px;
  color:#6b7883;
}

.admin-mini-card > a{
  display:block;
  padding:14px;
  color:#bd8742;
  font-weight:900;
}

.admin-filterbar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}

.admin-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.admin-tabs a{
  padding:11px 13px;
  border-radius:999px;
  background:#f0f3f5;
  color:#071f32;
  font-weight:900;
  font-size:13px;
}

.admin-tabs a.active{
  background:#061f33;
  color:#fff;
}

.admin-filterbar input,
.admin-filterbar button,
.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.admin-editor input,
.admin-editor select,
.admin-editor textarea,
.admin-login-card input{
  width:100%;
  border:1px solid #d8dee5;
  background:#fff;
  border-radius:14px;
  padding:14px 15px;
  font:inherit;
  outline:none;
}

.admin-filterbar button{
  background:#061f33;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.admin-list-grid{
  display:grid;
  gap:16px;
}

.admin-list-card{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:0;
  border:1px solid #e5e7eb;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}

.admin-list-img{
  position:relative;
  background:#061f33;
}

.admin-list-img img{
  width:100%;
  height:100%;
  min-height:210px;
  object-fit:cover;
}

.admin-list-img span{
  position:absolute;
  left:14px;
  top:14px;
}

.admin-list-body{
  padding:20px;
}

.admin-list-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.admin-list-title h3{
  font-size:22px;
}

.admin-list-title span{
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.admin-list-title .live{
  color:#047857;
  background:#d1fae5;
}

.admin-list-title .draft{
  color:#92400e;
  background:#fef3c7;
}

.admin-list-body p{
  color:#5c6b76;
  line-height:1.55;
}

.admin-list-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0;
}

.admin-list-meta span{
  background:#f4f6f8;
  border-radius:999px;
  padding:9px 11px;
  font-weight:800;
  font-size:13px;
}

.admin-actions-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
}

.admin-actions-row a,
.admin-actions-row button{
  background:#061f33;
  color:#fff;
  border:0;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
}

.admin-actions-row button{
  background:#991b1b;
}

.admin-editor{
  max-width:1220px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:22px;
}

.admin-editor.compact{
  grid-template-columns:1fr;
}

.admin-form-main{
  display:grid;
  gap:0;
}

.admin-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}

.admin-editor label,
.admin-login-card label{
  display:block;
}

.admin-editor label span,
.admin-login-card label span{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
  color:#52616d;
  text-transform:uppercase;
  margin-bottom:7px;
}

.admin-editor textarea{
  resize:vertical;
}

.sticky-admin{
  position:sticky;
  top:18px;
}

.admin-upload img,
.admin-upload-empty{
  width:100%;
  aspect-ratio:16/10;
  border-radius:16px;
  object-fit:cover;
  background:#edf1f4;
  display:grid;
  place-items:center;
  color:#647482;
  font-weight:900;
  margin-bottom:12px;
}

.admin-upload input{
  padding:12px;
}

.admin-upload small{
  display:block;
  color:#667581;
  margin:9px 0 16px;
}

.admin-check{
  display:flex !important;
  align-items:center;
  gap:10px;
  margin:12px 0;
  background:#f7f9fb;
  border-radius:14px;
  padding:12px;
}

.admin-check input{
  width:auto !important;
}

.admin-check span{
  margin:0 !important;
  color:#071f32 !important;
}

.admin-empty{
  text-align:center;
  padding:44px 20px;
  background:#f8fafc;
  border-radius:18px;
}

.admin-empty.small{
  padding:22px;
}

.admin-date-list{
  display:grid;
  gap:10px;
}

.admin-date-list div{
  display:grid;
  grid-template-columns:150px 120px 1fr;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:14px;
  background:#f8fafc;
}

.admin-date-list span{
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  border-radius:999px;
  padding:7px 9px;
  text-align:center;
}

.admin-date-list .available{background:#d1fae5;color:#047857}
.admin-date-list .unavailable{background:#fee2e2;color:#991b1b}
.admin-date-list .booked{background:#fef3c7;color:#92400e}
.admin-date-list p{margin:0;color:#647482}

.admin-login-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  background:
    linear-gradient(135deg,rgba(6,31,51,.90),rgba(6,31,51,.72)),
    url('/public/uploads/hero-yacht-cancun.jpg') center/cover;
  padding:26px;
}

.admin-login-card{
  width:min(440px,94vw);
  background:#fff;
  border-radius:28px;
  padding:34px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}

.admin-login-brand{
  display:flex;
  flex-direction:column;
  font-family:Georgia,serif;
  text-transform:uppercase;
  letter-spacing:4px;
  color:#061f33;
  margin-bottom:22px;
}

.admin-login-brand em{
  color:#bd8742;
  font-style:normal;
  font-size:11px;
  letter-spacing:5px;
  margin-top:7px;
}

.admin-login-card h1{
  margin:0;
  font-size:30px;
}

.admin-login-card p{
  color:#667581;
  line-height:1.55;
}

.admin-alert{
  background:#fee2e2;
  color:#991b1b;
  padding:12px;
  border-radius:12px;
  margin-bottom:14px;
  font-weight:800;
}

@media(max-width:900px){
  .admin-shell{padding:14px}
  .admin-topbar{flex-direction:column;align-items:stretch}
  .admin-toplinks{display:grid;grid-template-columns:1fr 1fr}
  .admin-hero-panel,.admin-page-head{display:block}
  .admin-stats{grid-template-columns:repeat(2,1fr)}
  .admin-mini-grid{grid-template-columns:1fr}
  .admin-filterbar{grid-template-columns:1fr}
  .admin-list-card{grid-template-columns:1fr}
  .admin-editor{grid-template-columns:1fr}
  .admin-form-grid{grid-template-columns:1fr}
  .admin-date-list div{grid-template-columns:1fr}
}

.type-section{display:none}
.amenities label{display:block;margin:5px 0}


.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:10px;
}
.photo-grid img{
  width:100%;
  height:100px;
  object-fit:cover;
  border-radius:10px;
  cursor:grab;
}

.amenity-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.amenity{
  padding:12px;
  border:1px solid #ddd;
  border-radius:10px;
  cursor:pointer;
  text-align:center;
  font-weight:700;
}
.amenity.active{
  background:#061f33;
  color:#fff;
}

.lang-toggle{
  display:flex;
  gap:10px;
}
.lang-toggle div{
  padding:12px;
  border:1px solid #ddd;
  border-radius:10px;
  cursor:pointer;
}
.lang-toggle .active{
  background:#bd8742;
  color:#fff;
}


/* ADMIN FORM REPAIR + ELITE BUILDER */
.type-section{display:none}
.admin-card-inner{
  background:#f8fafc;
  border:1px solid #e4e9ee;
  border-radius:18px;
  padding:18px;
  margin:18px 0;
}
.admin-card-inner h3{
  margin:0 0 10px;
  color:#071f32;
  font-size:20px;
}
.admin-help{
  color:#647482;
  margin-top:-6px;
}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:14px;
}
.photo-preview-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  cursor:grab;
  box-shadow:0 14px 30px rgba(6,31,51,.12);
  background:#061f33;
}
.photo-preview-card img{
  display:block;
  width:100%;
  height:130px;
  object-fit:cover;
}
.photo-preview-card span{
  position:absolute;
  left:9px;
  bottom:9px;
  background:rgba(6,31,51,.88);
  color:#fff;
  border-radius:999px;
  padding:6px 9px;
  font-size:11px;
  font-weight:900;
}
.lang-toggle{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.lang-toggle button,
.amenity-pill{
  border:1px solid #dbe2e9;
  background:#fff;
  color:#071f32;
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  cursor:pointer;
  text-align:left;
}
.lang-toggle button.active,
.amenity-pill.active{
  background:linear-gradient(135deg,#b77d36,#d59b48);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 26px rgba(183,125,54,.18);
}
.amenities-box p{
  color:#647482;
  margin-top:0;
}
.amenity-group{
  margin:18px 0;
}
.amenity-group h3{
  font-size:16px;
  margin:0 0 10px;
  color:#061f33;
}
.amenity-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
@media(max-width:800px){
  .photo-grid{grid-template-columns:1fr 1fr}
  .amenity-grid{grid-template-columns:1fr}
}


/* HARD FIX FOR ADMIN CLICKABLE PILLS */
.amenity-pill,
.lang-toggle button{
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  position:relative !important;
  z-index:20 !important;
}

.amenity-pill.active,
.lang-toggle button.active{
  background:linear-gradient(135deg,#b77d36,#d59b48) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 12px 26px rgba(183,125,54,.24) !important;
}

.amenity-pill.active::after{
  content:"✓";
  float:right;
  color:#fff;
  font-weight:900;
}


/* VILLA CALENDAR AVAILABILITY */
.admin-calendar-layout{
  max-width:1220px;
  margin:0 auto 28px;
  display:grid;
  grid-template-columns:1fr 360px;
  gap:22px;
}
.calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.calendar-toolbar h2{
  margin:0;
  font-family:Georgia,serif;
  font-weight:400;
  font-size:32px;
}
.calendar-toolbar button{
  border:0;
  background:#061f33;
  color:#fff;
  border-radius:13px;
  width:48px;
  height:48px;
  font-size:20px;
  cursor:pointer;
}
.calendar-weekdays,
.villa-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.calendar-weekdays span{
  text-align:center;
  font-weight:900;
  color:#647482;
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:8px 0;
}
.calendar-day{
  min-height:92px;
  border:1px solid #dfe6ee;
  border-radius:16px;
  background:#fff;
  color:#071f32;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:12px;
  cursor:pointer;
  transition:.18s ease;
}
.calendar-day.empty{
  border:0;
  background:transparent;
  cursor:default;
}
.calendar-day b{
  font-size:18px;
}
.calendar-day small{
  font-size:11px;
  font-weight:900;
  color:#047857;
  text-transform:uppercase;
}
.calendar-day.blocked{
  background:linear-gradient(135deg,#7f1d1d,#991b1b);
  color:#fff;
  border-color:#991b1b;
  box-shadow:0 12px 28px rgba(153,27,27,.18);
}
.calendar-day.blocked small{
  color:#fee2e2;
}
.calendar-day:not(.empty):hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(6,31,51,.12);
}
.calendar-legend{
  display:flex;
  gap:18px;
  margin-top:16px;
  flex-wrap:wrap;
  color:#647482;
  font-weight:800;
}
.calendar-legend span{
  display:flex;
  align-items:center;
  gap:8px;
}
.calendar-legend i{
  width:14px;
  height:14px;
  border-radius:4px;
  background:#fff;
  border:1px solid #dfe6ee;
}
.calendar-legend i.blocked{
  background:#991b1b;
  border-color:#991b1b;
}
.calendar-side p{
  color:#647482;
  line-height:1.5;
}
.calendar-range-form{
  display:grid;
  gap:14px;
  margin:18px 0;
}
.calendar-range-form label span{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  color:#52616d;
  text-transform:uppercase;
  margin-bottom:7px;
}
.calendar-range-form input{
  width:100%;
  border:1px solid #d8dee5;
  background:#fff;
  border-radius:14px;
  padding:14px 15px;
  font:inherit;
}
.blocked-list{
  margin-top:24px;
}
.blocked-list h3{
  margin:0 0 12px;
}
.blocked-row{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  background:#f8fafc;
  border:1px solid #e5eaf0;
  border-radius:14px;
  padding:12px;
  margin-bottom:10px;
}
.blocked-row span{
  color:#647482;
}
.blocked-row button{
  border:0;
  background:#fff;
  color:#991b1b;
  border-radius:10px;
  padding:9px 12px;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:900px){
  .admin-calendar-layout{
    grid-template-columns:1fr;
  }
  .calendar-day{
    min-height:64px;
    padding:8px;
    border-radius:12px;
  }
  .calendar-day small{
    display:none;
  }
  .calendar-toolbar h2{
    font-size:24px;
  }
}


/* ADMIN SETTINGS / PASSWORDS */
.admin-settings-grid{
  max-width:1220px;
  margin:0 auto 22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.admin-muted{
  color:#647482;
  line-height:1.55;
  margin-top:-4px;
}

.admin-settings-form{
  display:grid;
  gap:14px;
}

.admin-settings-form label span{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.1px;
  color:#52616d;
  text-transform:uppercase;
  margin-bottom:7px;
}

.admin-settings-form input{
  width:100%;
  border:1px solid #d8dee5;
  background:#fff;
  border-radius:14px;
  padding:14px 15px;
  font:inherit;
  outline:none;
}

.admin-flash{
  max-width:1220px;
  margin:0 auto 16px;
  border-radius:14px;
  padding:14px 16px;
  font-weight:900;
}

.admin-flash.success{
  background:#d1fae5;
  color:#047857;
}

.admin-flash.error{
  background:#fee2e2;
  color:#991b1b;
}

.admin-admins-card{
  max-width:1220px;
}

.admin-users-list{
  display:grid;
  gap:10px;
}

.admin-user-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border:1px solid #e5eaf0;
  border-radius:16px;
  background:#f8fafc;
}

.admin-user-row strong{
  display:block;
  color:#071f32;
}

.admin-user-row span{
  display:block;
  color:#647482;
  font-size:13px;
  margin-top:4px;
}

.admin-user-row button{
  border:0;
  background:#991b1b;
  color:#fff;
  border-radius:12px;
  padding:10px 13px;
  font-weight:900;
  cursor:pointer;
}

@media(max-width:900px){
  .admin-settings-grid{
    grid-template-columns:1fr;
  }
  .admin-user-row{
    align-items:flex-start;
    flex-direction:column;
  }
}

.wa-btn{
  display:inline-block;
  background:#25D366;
  color:#fff;
  padding:14px 20px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
}
.wa-btn:hover{
  background:#1ebe5d;
}


/* Remove WhatsApp CTA button from search/listing cards only */
.yacht-card .wa-btn{
  display:none !important;
}


/* =========================================================
   AIRBNB-STYLE SEARCH RESULTS
   Clean vertical mobile-first result list for yachts/villas/tours.
   ========================================================= */
.search-mobile-header{
  position:sticky;
  top:0;
  z-index:80;
  background:#fff;
  box-shadow:0 10px 28px rgba(8,24,38,.12);
}

.search-filter-bar{
  max-width:1040px;
  margin:0 auto;
  min-height:74px;
  display:flex;
  align-items:center;
  gap:14px;
  overflow-x:auto;
  padding:12px 18px;
  scrollbar-width:none;
}

.search-filter-bar::-webkit-scrollbar{
  display:none;
}

.filter-icon{
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  gap:4px;
  flex:0 0 auto;
}

.filter-icon span{
  display:block;
  width:28px;
  height:3px;
  background:#151b20;
  border-radius:999px;
  position:relative;
}

.filter-icon span:nth-child(1)::after,
.filter-icon span:nth-child(2)::after,
.filter-icon span:nth-child(3)::after{
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:7px;
  height:7px;
  border-radius:50%;
  background:#151b20;
}

.filter-icon span:nth-child(1)::after{left:5px}
.filter-icon span:nth-child(2)::after{right:4px}
.filter-icon span:nth-child(3)::after{left:13px}

.filter-count{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#27aee4;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:22px;
  flex:0 0 auto;
}

.filter-chip{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  border:2px solid #d7e0e6;
  border-radius:999px;
  padding:0 18px;
  color:#333;
  text-decoration:none;
  font-size:18px;
  white-space:nowrap;
  background:#fff;
  flex:0 0 auto;
}

.filter-chip b{
  font-size:27px;
  line-height:1;
  font-weight:300;
}

.search-results-page{
  background:#fff;
  color:#111820;
  min-height:100vh;
}

.search-list{
  max-width:1040px;
  margin:0 auto;
  padding:24px 18px 80px;
  display:grid;
  gap:44px;
}

.air-result-card{
  width:100%;
}

.air-result-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.air-result-image{
  width:100%;
  border-radius:16px;
  overflow:hidden;
  background:#eef2f3;
  aspect-ratio:1.64 / 1;
}

.air-result-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.air-result-body{
  padding:18px 0 0;
}

.air-result-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.air-result-top p{
  margin:0;
  color:#71777d;
  font-size:20px;
  line-height:1.35;
}

.heart-btn{
  border:0;
  background:transparent;
  color:#1a1f24;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  padding:0;
  flex:0 0 auto;
}

.air-result-body h2{
  margin:10px 0 14px;
  color:#15191d;
  font-family:Inter, Arial, sans-serif;
  font-size:27px;
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.air-rating{
  display:flex;
  align-items:center;
  gap:13px;
  color:#15191d;
  font-size:22px;
  margin-bottom:10px;
}

.air-rating span:first-child{
  font-weight:800;
}

.air-rating .medal{
  font-size:20px;
  color:#15191d;
}

.air-desc{
  color:#5f666d;
  font-size:19px;
  line-height:1.35;
  margin:0 0 8px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.air-price{
  margin:8px 0 0;
  font-size:23px;
  color:#15191d;
}

.air-price strong{
  font-size:28px;
  font-weight:950;
}

.air-price span{
  color:#15191d;
}

.search-empty{
  max-width:700px;
  margin:0 auto;
  padding:80px 24px;
  text-align:center;
}

.search-empty h1{
  font-family:Georgia,serif;
  font-size:44px;
  margin:0 0 12px;
  color:#071f32;
}

.search-empty p{
  color:#647482;
  font-size:18px;
}

.search-empty a{
  display:inline-flex;
  margin-top:16px;
  background:#071f32;
  color:#fff;
  padding:14px 20px;
  border-radius:14px;
  text-decoration:none;
  font-weight:900;
}

@media(min-width:900px){
  .search-list{
    padding-top:34px;
    gap:36px;
  }

  .air-result-link{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:28px;
    align-items:start;
  }

  .air-result-image{
    aspect-ratio:1.45/1;
    border-radius:18px;
  }

  .air-result-body{
    padding:4px 0 0;
  }

  .air-result-body h2{
    white-space:normal;
    font-size:28px;
  }
}

@media(max-width:520px){
  .search-filter-bar{
    min-height:72px;
    gap:11px;
    padding:11px 18px;
  }

  .filter-chip{
    font-size:16px;
    min-height:45px;
    padding:0 15px;
  }

  .filter-count{
    width:44px;
    height:44px;
    font-size:21px;
  }

  .search-list{
    padding:18px 22px 70px;
    gap:42px;
  }

  .air-result-image{
    border-radius:14px;
  }

  .air-result-top p{
    font-size:18px;
  }

  .air-result-body h2{
    font-size:25px;
  }

  .air-rating{
    font-size:20px;
  }

  .air-desc{
    font-size:18px;
  }
}


/* =========================================================
   SEARCH RESULTS CLEAN FIX
   Restores header, reduces oversized layout, removes rating/heart.
   ========================================================= */
.search-page-header{
  background:#061f33;
  color:#fff;
  position:relative;
  z-index:90;
}

.search-page-header .site-nav{
  max-width:1220px;
  margin:0 auto;
}

.search-mobile-header{
  top:0 !important;
  z-index:75 !important;
}

.search-filter-bar{
  min-height:58px !important;
  padding:9px 18px !important;
}

.filter-icon{
  width:36px !important;
  height:36px !important;
}

.filter-icon span{
  width:23px !important;
  height:2px !important;
}

.filter-count{
  width:38px !important;
  height:38px !important;
  font-size:17px !important;
}

.filter-chip{
  min-height:38px !important;
  padding:0 14px !important;
  font-size:15px !important;
  border-width:1.5px !important;
}

.filter-chip b{
  font-size:21px !important;
}

.search-list{
  max-width:920px !important;
  padding:22px 18px 70px !important;
  gap:32px !important;
}

.air-result-image{
  border-radius:14px !important;
  aspect-ratio:1.7 / 1 !important;
}

.air-result-body{
  padding-top:12px !important;
}

.air-result-top,
.heart-btn,
.air-rating{
  display:none !important;
}

.air-topline{
  margin:0 0 7px !important;
  color:#747b82 !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

.air-result-body h2{
  margin:0 0 8px !important;
  color:#15191d !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:-.2px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.air-desc{
  color:#606971 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  margin:0 0 8px !important;
  -webkit-line-clamp:2 !important;
}

.air-price{
  margin:6px 0 0 !important;
  font-size:17px !important;
  color:#15191d !important;
}

.air-price span{
  color:#15191d !important;
  font-weight:500 !important;
}

.air-price strong{
  font-size:21px !important;
  font-weight:950 !important;
}

.air-price em{
  font-style:normal !important;
  color:#15191d !important;
  margin-left:2px !important;
}

@media(min-width:900px){
  .search-list{
    max-width:1080px !important;
    padding-top:30px !important;
  }

  .air-result-link{
    grid-template-columns:300px 1fr !important;
    gap:22px !important;
  }

  .air-result-image{
    aspect-ratio:1.35/1 !important;
  }

  .air-result-body{
    padding:2px 0 0 !important;
  }

  .air-result-body h2{
    white-space:normal !important;
    font-size:23px !important;
  }
}

@media(max-width:520px){
  .search-list{
    padding:18px 18px 60px !important;
    gap:30px !important;
  }

  .air-result-image{
    border-radius:13px !important;
    aspect-ratio:1.55 / 1 !important;
  }

  .air-topline{
    font-size:15px !important;
  }

  .air-result-body h2{
    font-size:21px !important;
  }

  .air-desc{
    font-size:15px !important;
  }

  .air-price{
    font-size:16px !important;
  }

  .air-price strong{
    font-size:20px !important;
  }
}


/* ===== CLEAN SEARCH UI (FIXED SCALE) ===== */
.search-header{
  position:relative;
  z-index:10;
}

.search-results-page{
  background:#fff;
  padding-top:10px;
}

.search-list{
  max-width:860px;
  margin:0 auto;
  padding:20px 16px 60px;
  display:grid;
  gap:28px;
}

.result-card a{
  text-decoration:none;
  color:inherit;
  display:block;
}

.result-image{
  width:100%;
  aspect-ratio:16/10;
  border-radius:14px;
  overflow:hidden;
}

.result-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.result-body{
  padding-top:12px;
}

.result-top{
  font-size:14px;
  color:#6b7280;
  margin-bottom:4px;
}

.result-body h2{
  font-size:20px;
  font-weight:800;
  margin-bottom:6px;
}

.result-desc{
  font-size:14px;
  color:#6b7280;
  margin-bottom:6px;
}

.result-price{
  font-size:16px;
  font-weight:500;
}

.result-price strong{
  font-size:18px;
  font-weight:800;
}

/* DESKTOP */
@media(min-width:900px){
  .search-list{
    max-width:1000px;
    gap:24px;
  }

  .result-card a{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:20px;
    align-items:start;
  }

  .result-image{
    aspect-ratio:4/3;
  }
}


/* =========================================================
   FINAL SEARCH PAGE FIX
   Header exactly separated from cards. No overlap. No zoom.
   ========================================================= */
.search-page-header,
.search-mobile-header,
.subhero{
  display:none !important;
}

.search-hero-header{
  width:100% !important;
  min-height:290px !important;
  background:#062337 !important;
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  overflow:hidden !important;
}

.search-hero-nav{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:52px 34px 0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  position:relative !important;
  z-index:2 !important;
}

.search-brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  text-transform:uppercase !important;
  letter-spacing:14px !important;
  line-height:1 !important;
  max-width:760px !important;
}

.search-brand span{
  display:block !important;
  color:#fff !important;
  font-size:58px !important;
  font-weight:400 !important;
  letter-spacing:14px !important;
  white-space:nowrap !important;
}

.search-brand em{
  display:block !important;
  color:#bd8742 !important;
  font-style:normal !important;
  font-size:20px !important;
  letter-spacing:22px !important;
  margin-top:28px !important;
  padding-left:14px !important;
}

.search-menu-btn{
  width:72px !important;
  height:54px !important;
  background:transparent !important;
  border:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:12px !important;
  padding:0 !important;
  margin-top:8px !important;
  cursor:pointer !important;
}

.search-menu-btn span{
  display:block !important;
  width:58px !important;
  height:6px !important;
  background:#bd8742 !important;
  border-radius:999px !important;
}

.search-results-page{
  background:#f4f1ec !important;
  padding-top:140px !important;
  min-height:100vh !important;
  position:relative !important;
  z-index:2 !important;
}

.search-list{
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:0 34px 80px !important;
  display:grid !important;
  gap:34px !important;
}

.result-card{
  width:100% !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.result-card a{
  display:grid !important;
  grid-template-columns:minmax(300px, 420px) 1fr !important;
  gap:28px !important;
  align-items:start !important;
  text-decoration:none !important;
  color:inherit !important;
}

.result-image{
  width:100% !important;
  aspect-ratio:16 / 10 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#d8eef3 !important;
}

.result-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

.result-body{
  padding-top:0 !important;
}

.result-top{
  font-size:17px !important;
  color:#6f7781 !important;
  margin:0 0 8px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}

.result-body h2{
  font-size:28px !important;
  line-height:1.14 !important;
  font-weight:900 !important;
  color:#111820 !important;
  margin:0 0 10px !important;
  letter-spacing:-.4px !important;
}

.result-desc{
  font-size:18px !important;
  line-height:1.35 !important;
  color:#6f7781 !important;
  margin:0 0 12px !important;
  max-width:640px !important;
}

.result-price{
  font-size:19px !important;
  line-height:1.25 !important;
  color:#111820 !important;
  margin:0 !important;
  font-weight:600 !important;
}

.result-price strong{
  font-size:24px !important;
  font-weight:950 !important;
  color:#111820 !important;
}

.result-price span{
  font-size:19px !important;
  color:#111820 !important;
  font-weight:500 !important;
}

/* mobile should match your reference: giant dark header, cards below, no overlay */
@media(max-width:760px){
  .search-hero-header{
    min-height:295px !important;
  }

  .search-hero-nav{
    padding:56px 28px 0 !important;
  }

  .search-brand{
    align-items:flex-start !important;
    letter-spacing:10px !important;
    max-width:calc(100vw - 130px) !important;
  }

  .search-brand span{
    font-size:43px !important;
    letter-spacing:10px !important;
    white-space:nowrap !important;
  }

  .search-brand em{
    font-size:17px !important;
    letter-spacing:17px !important;
    margin-top:22px !important;
    padding-left:122px !important;
  }

  .search-menu-btn{
    width:54px !important;
    height:46px !important;
    gap:8px !important;
    margin-top:18px !important;
  }

  .search-menu-btn span{
    width:46px !important;
    height:4px !important;
  }

  .search-results-page{
    padding-top:120px !important;
  }

  .search-list{
    padding:0 28px 70px !important;
    gap:36px !important;
    max-width:none !important;
  }

  .result-card a{
    display:block !important;
  }

  .result-image{
    aspect-ratio:16 / 10 !important;
    border-radius:0 !important;
  }

  .result-body{
    padding-top:18px !important;
  }

  .result-top{
    font-size:16px !important;
    margin-bottom:8px !important;
  }

  .result-body h2{
    font-size:25px !important;
    margin-bottom:10px !important;
  }

  .result-desc{
    font-size:17px !important;
    margin-bottom:12px !important;
  }

  .result-price{
    font-size:18px !important;
  }

  .result-price strong{
    font-size:23px !important;
  }
}

@media(max-width:430px){
  .search-brand span{
    font-size:34px !important;
    letter-spacing:8px !important;
  }

  .search-brand em{
    font-size:14px !important;
    letter-spacing:14px !important;
    padding-left:104px !important;
  }

  .search-results-page{
    padding-top:115px !important;
  }
}


/* =========================================================
   SEARCH HEADER REFINED
   Smaller premium logo, no burger overlap, less zoomed header.
   ========================================================= */
.search-hero-header{
  min-height:220px !important;
  background:#062337 !important;
}

.search-hero-nav{
  max-width:1120px !important;
  padding:42px 34px 0 !important;
  align-items:flex-start !important;
}

.search-brand{
  max-width:calc(100% - 95px) !important;
  align-items:flex-start !important;
}

.search-brand span{
  font-size:42px !important;
  letter-spacing:10px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.search-brand em{
  font-size:15px !important;
  letter-spacing:16px !important;
  margin-top:18px !important;
  padding-left:128px !important;
}

.search-menu-btn{
  width:54px !important;
  height:44px !important;
  gap:7px !important;
  margin-top:7px !important;
  flex:0 0 54px !important;
}

.search-menu-btn span{
  width:44px !important;
  height:4px !important;
}

.search-results-page{
  padding-top:58px !important;
}

@media(max-width:760px){
  .search-hero-header{
    min-height:205px !important;
  }

  .search-hero-nav{
    padding:40px 28px 0 !important;
  }

  .search-brand{
    max-width:calc(100vw - 112px) !important;
  }

  .search-brand span{
    font-size:31px !important;
    letter-spacing:7px !important;
    white-space:nowrap !important;
  }

  .search-brand em{
    font-size:12px !important;
    letter-spacing:12px !important;
    margin-top:14px !important;
    padding-left:88px !important;
  }

  .search-menu-btn{
    width:44px !important;
    height:36px !important;
    gap:6px !important;
    margin-top:5px !important;
    flex:0 0 44px !important;
  }

  .search-menu-btn span{
    width:36px !important;
    height:3px !important;
  }

  .search-results-page{
    padding-top:48px !important;
  }
}

@media(max-width:430px){
  .search-hero-header{
    min-height:190px !important;
  }

  .search-hero-nav{
    padding:38px 24px 0 !important;
  }

  .search-brand{
    max-width:calc(100vw - 98px) !important;
  }

  .search-brand span{
    font-size:27px !important;
    letter-spacing:6px !important;
  }

  .search-brand em{
    font-size:11px !important;
    letter-spacing:10px !important;
    padding-left:76px !important;
    margin-top:12px !important;
  }

  .search-menu-btn{
    width:38px !important;
    flex-basis:38px !important;
  }

  .search-menu-btn span{
    width:32px !important;
  }
}


/* =========================================================
   DETAIL PAGE PREMIUM HEADER
   Same clean header feel as search results. No overlap / no zoom.
   ========================================================= */
.detail-hero-header{
  width:100% !important;
  min-height:220px !important;
  background:#062337 !important;
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  overflow:hidden !important;
}

.detail-hero-nav{
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:42px 34px 0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  position:relative !important;
  z-index:2 !important;
}

.detail-brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  max-width:calc(100% - 95px) !important;
}

.detail-brand span{
  display:block !important;
  color:#fff !important;
  font-size:42px !important;
  font-weight:400 !important;
  letter-spacing:10px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.detail-brand em{
  display:block !important;
  color:#bd8742 !important;
  font-style:normal !important;
  font-size:15px !important;
  letter-spacing:16px !important;
  margin-top:18px !important;
  padding-left:128px !important;
}

.detail-menu-btn{
  width:54px !important;
  height:44px !important;
  background:transparent !important;
  border:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 !important;
  margin-top:7px !important;
  flex:0 0 54px !important;
  cursor:pointer !important;
}

.detail-menu-btn span{
  display:block !important;
  width:44px !important;
  height:4px !important;
  background:#bd8742 !important;
  border-radius:999px !important;
}

.detail{
  background:#f4f1ec !important;
  padding-top:58px !important;
}

.detail .subhero,
.subhero:has(+ .detail){
  display:none !important;
}

@media(max-width:760px){
  .detail-hero-header{
    min-height:205px !important;
  }

  .detail-hero-nav{
    padding:40px 28px 0 !important;
  }

  .detail-brand{
    max-width:calc(100vw - 112px) !important;
  }

  .detail-brand span{
    font-size:31px !important;
    letter-spacing:7px !important;
    white-space:nowrap !important;
  }

  .detail-brand em{
    font-size:12px !important;
    letter-spacing:12px !important;
    margin-top:14px !important;
    padding-left:88px !important;
  }

  .detail-menu-btn{
    width:44px !important;
    height:36px !important;
    gap:6px !important;
    margin-top:5px !important;
    flex:0 0 44px !important;
  }

  .detail-menu-btn span{
    width:36px !important;
    height:3px !important;
  }

  .detail{
    padding-top:48px !important;
  }
}

@media(max-width:430px){
  .detail-hero-header{
    min-height:190px !important;
  }

  .detail-hero-nav{
    padding:38px 24px 0 !important;
  }

  .detail-brand{
    max-width:calc(100vw - 98px) !important;
  }

  .detail-brand span{
    font-size:27px !important;
    letter-spacing:6px !important;
  }

  .detail-brand em{
    font-size:11px !important;
    letter-spacing:10px !important;
    padding-left:76px !important;
    margin-top:12px !important;
  }

  .detail-menu-btn{
    width:38px !important;
    flex-basis:38px !important;
  }

  .detail-menu-btn span{
    width:32px !important;
  }
}


/* ADMIN SITE PHOTOS */
.admin-site-photo-grid{
  max-width:1220px;
  margin:0 auto 32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.site-photo-card p{
  color:#647482;
  line-height:1.55;
  margin-top:-4px;
}

.site-photo-preview{
  width:100%;
  border-radius:20px;
  overflow:hidden;
  background:#061f33;
  box-shadow:0 16px 38px rgba(6,31,51,.12);
  margin:18px 0;
}

.site-photo-preview.hero-preview{
  aspect-ratio:16 / 9;
}

.site-photo-preview.footer-preview{
  aspect-ratio:4 / 3;
}

.site-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.admin-upload-simple{
  display:block;
  background:#f8fafc;
  border:1px dashed #b7c2cc;
  border-radius:16px;
  padding:16px;
}

.admin-upload-simple span{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.1px;
  color:#52616d;
  text-transform:uppercase;
  margin-bottom:10px;
}

.admin-upload-simple input{
  width:100%;
}

.site-photo-card small{
  display:block;
  margin-top:12px;
  color:#647482;
  line-height:1.45;
}

.site-photo-save{
  grid-column:1 / -1;
  max-width:340px;
  justify-self:end;
}

@media(max-width:900px){
  .admin-site-photo-grid{
    grid-template-columns:1fr;
  }
  .site-photo-save{
    justify-self:stretch;
    max-width:none;
  }
}


/* =========================================================
   MOBILE MENU FIX + UPDATED MENU LABELS
   Makes burger open a clean mobile dropdown for Yachts/Tours/Villas.
   ========================================================= */
@media (max-width: 800px){
  .site-nav{
    overflow:visible !important;
  }

  .site-nav .nav-links{
    display:none !important;
    position:absolute !important;
    top:calc(100% + 14px) !important;
    left:0 !important;
    right:0 !important;
    z-index:9999 !important;
    padding:12px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    background:rgba(5,27,45,.98) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
    backdrop-filter:blur(16px) !important;
  }

  .site-nav.nav-open .nav-links{
    display:grid !important;
    gap:8px !important;
  }

  .site-nav .nav-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:48px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    letter-spacing:.5px !important;
    background:rgba(255,255,255,.055) !important;
  }

  .site-nav .nav-links a::after{
    content:"→";
    color:#bd8742;
    font-weight:900;
  }

  .site-nav .nav-links a:active{
    transform:scale(.985);
  }

  .site-nav.nav-open .menu-btn span:nth-child(1){
    transform:translateY(9px) rotate(45deg) !important;
  }

  .site-nav.nav-open .menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  .site-nav.nav-open .menu-btn span:nth-child(3){
    transform:translateY(-9px) rotate(-45deg) !important;
  }

  .menu-btn span{
    transition:transform .22s ease, opacity .22s ease !important;
  }
}


/* =========================================================
   TOURS LANDING PAGE
   Menu-only premium Tours page. Search behavior remains separate.
   ========================================================= */
.tours-landing-hero{
  position:relative;
  overflow:hidden;
  background:#061f33;
  color:#fff;
  min-height:760px;
  padding:34px 6.8vw 72px;
}

.tours-landing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%, rgba(189,135,66,.20), transparent 30%),
    linear-gradient(180deg, rgba(6,31,51,.75), rgba(6,31,51,.96));
  z-index:0;
  pointer-events:none;
}

.tours-landing-hero .site-nav,
.tours-hero-copy,
.tour-slider-shell{
  position:relative;
  z-index:2;
}

.tours-hero-copy{
  max-width:980px;
  margin:86px auto 42px;
  text-align:center;
}

.tours-hero-copy .eyebrow{
  color:#bd8742;
}

.tours-hero-copy h1{
  margin:16px 0 18px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:72px;
  line-height:.98;
  letter-spacing:-1.2px;
}

.tours-hero-copy p:not(.eyebrow){
  max-width:720px;
  margin:0 auto;
  color:#dce7ee;
  font-size:19px;
  line-height:1.75;
}

.tour-slider-shell{
  width:min(1180px, 100%);
  margin:0 auto;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.12);
}

.tour-slider-track{
  display:flex;
  width:max-content;
  animation:tourSlideLeft 38s linear infinite;
}

.tour-slide{
  width:420px;
  height:285px;
  margin:0;
  flex:0 0 auto;
  overflow:hidden;
}

.tour-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
}

@keyframes tourSlideLeft{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

.tours-page{
  background:#f4f1ec;
  color:#061f33;
}

.why-book-section{
  max-width:1020px;
  margin:0 auto;
  padding:88px 28px 62px;
  text-align:center;
}

.why-book-section .center-eyebrow,
.tours-title-row .center-eyebrow{
  color:#bd8742;
  letter-spacing:4px;
  text-transform:uppercase;
  font-weight:900;
  font-size:12px;
  margin:0 0 14px;
}

.why-book-section h2{
  max-width:900px;
  margin:0 auto 22px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:48px;
  line-height:1.06;
}

.why-book-section p:not(.center-eyebrow){
  max-width:790px;
  margin:0 auto;
  color:#51616d;
  font-size:18px;
  line-height:1.8;
}

.tours-offered-section{
  max-width:1180px;
  margin:0 auto;
  padding:20px 28px 96px;
}

.tours-title-row{
  text-align:center;
  justify-content:center;
  margin-bottom:34px;
}

.tours-title-row h2{
  margin:0;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:46px;
  line-height:1.06;
}

.tours-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
}

.tour-offer-card{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(6,31,51,.10);
  border:1px solid rgba(6,31,51,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}

.tour-offer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 90px rgba(6,31,51,.16);
}

.tour-offer-card a{
  color:inherit;
  text-decoration:none;
  display:block;
}

.tour-offer-img{
  width:100%;
  aspect-ratio:16 / 10;
  background:#dce7ee;
  overflow:hidden;
}

.tour-offer-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.tour-offer-body{
  padding:24px;
}

.tour-offer-body p{
  color:#bd8742;
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-size:11px;
  font-weight:900;
  margin:0 0 10px;
}

.tour-offer-body h3{
  margin:0 0 11px;
  color:#061f33;
  font-size:25px;
  line-height:1.15;
}

.tour-offer-body span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#647482;
  line-height:1.55;
  margin-bottom:18px;
}

.tour-offer-body strong{
  display:block;
  color:#061f33;
  font-size:20px;
}

.empty-tours{
  background:#fff;
  border-radius:24px;
  text-align:center;
  padding:42px 24px;
  margin-bottom:28px;
  box-shadow:0 22px 70px rgba(6,31,51,.08);
}

.empty-tours h3{
  margin:0 0 8px;
  font-size:24px;
}

.empty-tours p{
  margin:0;
  color:#647482;
}

@media(max-width:800px){
  .tours-landing-hero{
    min-height:650px;
    padding:28px 30px 52px;
  }

  .tours-hero-copy{
    margin:64px auto 32px;
    text-align:left;
  }

  .tours-hero-copy h1{
    font-size:44px;
    line-height:1.02;
  }

  .tours-hero-copy p:not(.eyebrow){
    font-size:16px;
    margin:0;
  }

  .tour-slider-shell{
    border-radius:22px;
  }

  .tour-slide{
    width:300px;
    height:220px;
  }

  .why-book-section{
    padding:64px 24px 44px;
    text-align:left;
  }

  .why-book-section h2{
    font-size:34px;
  }

  .why-book-section p:not(.center-eyebrow){
    font-size:16px;
  }

  .tours-offered-section{
    padding:16px 22px 70px;
  }

  .tours-title-row{
    text-align:left;
    justify-content:flex-start;
  }

  .tours-title-row h2{
    font-size:34px;
  }

  .tours-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .tour-offer-card{
    border-radius:20px;
  }

  .tour-offer-body{
    padding:20px;
  }

  .tour-offer-body h3{
    font-size:23px;
  }
}

@media(max-width:430px){
  .tours-hero-copy h1{
    font-size:38px;
  }

  .tour-slide{
    width:260px;
    height:195px;
  }
}


/* =========================================================
   TOURS PAGE MOBILE-ONLY FIX
   Fixes messy hero/header spacing and oversized why-book title.
   Desktop unchanged.
   ========================================================= */
@media(max-width:800px){
  .tours-landing-hero{
    min-height:auto !important;
    padding:26px 22px 54px !important;
  }

  .tours-landing-hero .site-nav{
    margin-bottom:42px !important;
    padding:0 !important;
  }

  .tours-landing-hero .brand span{
    font-size:31px !important;
    letter-spacing:6.5px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
  }

  .tours-landing-hero .brand em{
    font-size:12px !important;
    letter-spacing:12px !important;
    margin-top:12px !important;
  }

  .tours-landing-hero .menu-btn{
    margin-top:7px !important;
    transform:scale(.86) !important;
    transform-origin:center right !important;
  }

  .tours-hero-copy{
    margin:0 auto 30px !important;
    text-align:left !important;
    max-width:100% !important;
  }

  .tours-hero-copy .eyebrow{
    font-size:11px !important;
    letter-spacing:2.8px !important;
    margin-bottom:14px !important;
  }

  .tours-hero-copy h1{
    font-size:38px !important;
    line-height:1.03 !important;
    letter-spacing:-.7px !important;
    margin:0 0 18px !important;
    max-width:92vw !important;
  }

  .tours-hero-copy p:not(.eyebrow){
    font-size:17px !important;
    line-height:1.75 !important;
    max-width:92vw !important;
  }

  .tour-slider-shell{
    width:100% !important;
    margin-top:28px !important;
    border-radius:22px !important;
  }

  .why-book-section{
    padding:58px 22px 42px !important;
    text-align:left !important;
    max-width:100% !important;
  }

  .why-book-section .center-eyebrow{
    text-align:center !important;
    font-size:11px !important;
    letter-spacing:3px !important;
    margin-bottom:22px !important;
  }

  .why-book-section h2{
    font-size:35px !important;
    line-height:1.09 !important;
    letter-spacing:-.8px !important;
    max-width:100% !important;
    width:100% !important;
    margin:0 0 20px !important;
  }

  .why-book-section p:not(.center-eyebrow){
    font-size:16px !important;
    line-height:1.72 !important;
    max-width:100% !important;
    margin:0 !important;
  }
}

@media(max-width:430px){
  .tours-landing-hero{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .tours-landing-hero .brand span{
    font-size:27px !important;
    letter-spacing:5.4px !important;
  }

  .tours-landing-hero .brand em{
    font-size:11px !important;
    letter-spacing:10px !important;
  }

  .tours-hero-copy h1{
    font-size:34px !important;
  }

  .why-book-section h2{
    font-size:31px !important;
    line-height:1.1 !important;
  }
}


/* =========================================================
   TOURS MOBILE HEADER HARD FIX
   Prevents logo/nav from overlaying hero text on Tours page.
   Desktop unchanged.
   ========================================================= */
@media(max-width:800px){
  .tours-landing-hero{
    padding-top:24px !important;
  }

  .tours-landing-hero .site-nav{
    position:relative !important;
    z-index:20 !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    width:100% !important;
    height:auto !important;
    min-height:86px !important;
    margin:0 0 56px !important;
    padding:0 !important;
    background:transparent !important;
    overflow:visible !important;
  }

  .tours-landing-hero .brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    max-width:calc(100vw - 104px) !important;
    width:auto !important;
    min-width:0 !important;
    text-decoration:none !important;
  }

  .tours-landing-hero .brand span{
    display:block !important;
    font-size:26px !important;
    letter-spacing:5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    color:#fff !important;
  }

  .tours-landing-hero .brand em{
    display:block !important;
    font-size:10px !important;
    letter-spacing:9px !important;
    line-height:1 !important;
    margin-top:14px !important;
    padding-left:76px !important;
    color:#bd8742 !important;
  }

  .tours-landing-hero .nav-actions{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    flex:0 0 44px !important;
    width:44px !important;
    min-width:44px !important;
  }

  .tours-landing-hero .book-btn{
    display:none !important;
  }

  .tours-landing-hero .menu-btn{
    position:relative !important;
    z-index:25 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:6px !important;
    width:42px !important;
    height:34px !important;
    margin:2px 0 0 !important;
    padding:0 !important;
    transform:none !important;
    background:transparent !important;
    border:0 !important;
  }

  .tours-landing-hero .menu-btn span{
    display:block !important;
    width:34px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#bd8742 !important;
  }

  .tours-landing-hero .nav-links{
    top:58px !important;
  }

  .tours-hero-copy{
    position:relative !important;
    z-index:5 !important;
    margin:0 0 30px !important;
    padding:0 !important;
    clear:both !important;
  }

  .tours-hero-copy .eyebrow{
    display:block !important;
    position:relative !important;
    margin:0 0 16px !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.2 !important;
    letter-spacing:2.4px !important;
  }

  .tours-hero-copy h1{
    display:block !important;
    position:relative !important;
    margin:0 0 18px !important;
    padding:0 !important;
    font-size:34px !important;
    line-height:1.04 !important;
    letter-spacing:-.6px !important;
    max-width:92vw !important;
  }
}

@media(max-width:430px){
  .tours-landing-hero .site-nav{
    min-height:78px !important;
    margin-bottom:50px !important;
  }

  .tours-landing-hero .brand{
    max-width:calc(100vw - 92px) !important;
  }

  .tours-landing-hero .brand span{
    font-size:23px !important;
    letter-spacing:4px !important;
  }

  .tours-landing-hero .brand em{
    font-size:9px !important;
    letter-spacing:8px !important;
    padding-left:66px !important;
    margin-top:12px !important;
  }

  .tours-landing-hero .menu-btn{
    width:38px !important;
  }

  .tours-landing-hero .menu-btn span{
    width:31px !important;
  }

  .tours-hero-copy h1{
    font-size:31px !important;
  }
}


/* =========================================================
   TOURS REGULAR BURGER RESTORE
   Uses the same normal .site-nav / .menu-btn as every page.
   ========================================================= */

/* Kill any previous separate Tours-only menu */
.tour-mobile-menu-button,
.tour-mobile-drawer{
  display:none !important;
}

/* Make normal Tours nav clean and visible */
.tours-landing-hero .site-nav{
  position:relative !important;
  z-index:5000 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  width:100% !important;
  overflow:visible !important;
}

.tours-landing-hero .brand{
  position:relative !important;
  z-index:5001 !important;
}

.tours-landing-hero .nav-actions{
  display:flex !important;
  position:relative !important;
  z-index:5002 !important;
  visibility:visible !important;
  opacity:1 !important;
}

.tours-landing-hero .menu-btn{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:5003 !important;
  background:transparent !important;
  border:0 !important;
  cursor:pointer !important;
}

.tours-landing-hero .menu-btn span{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#bd8742 !important;
  border-radius:999px !important;
}

@media(max-width:800px){
  .tours-landing-hero .site-nav{
    min-height:92px !important;
    margin:0 0 48px !important;
    padding:0 !important;
    background:transparent !important;
  }

  .tours-landing-hero .brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    max-width:calc(100vw - 108px) !important;
    text-decoration:none !important;
  }

  .tours-landing-hero .brand span{
    font-size:27px !important;
    letter-spacing:5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    color:#fff !important;
  }

  .tours-landing-hero .brand em{
    display:block !important;
    color:#bd8742 !important;
    font-style:normal !important;
    font-size:11px !important;
    letter-spacing:10px !important;
    line-height:1 !important;
    margin-top:12px !important;
    padding-left:74px !important;
  }

  .tours-landing-hero .book-btn{
    display:none !important;
  }

  .tours-landing-hero .nav-actions{
    width:48px !important;
    min-width:48px !important;
    flex:0 0 48px !important;
    height:42px !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
  }

  .tours-landing-hero .menu-btn{
    width:46px !important;
    height:40px !important;
    min-width:46px !important;
    margin:0 !important;
    padding:0 !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:7px !important;
    transform:none !important;
  }

  .tours-landing-hero .menu-btn span{
    width:38px !important;
    height:4px !important;
  }

  .tours-landing-hero .nav-links{
    display:none !important;
    position:absolute !important;
    top:62px !important;
    left:0 !important;
    right:0 !important;
    z-index:5004 !important;
    padding:12px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    background:rgba(5,27,45,.98) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
  }

  .tours-landing-hero .site-nav.nav-open .nav-links{
    display:grid !important;
    gap:8px !important;
  }

  .tours-landing-hero .nav-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:48px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    background:rgba(255,255,255,.055) !important;
  }

  .tours-landing-hero .nav-links a::after{
    content:"→";
    color:#bd8742;
    font-weight:900;
  }

  .tours-landing-hero .site-nav.nav-open .menu-btn span:nth-child(1){
    transform:translateY(11px) rotate(45deg) !important;
  }

  .tours-landing-hero .site-nav.nav-open .menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  .tours-landing-hero .site-nav.nav-open .menu-btn span:nth-child(3){
    transform:translateY(-11px) rotate(-45deg) !important;
  }
}


/* =========================================================
   FINAL TOURS BURGER VISIBILITY FIX
   This is still the normal .menu-btn burger, forced visible on Tours mobile.
   ========================================================= */
@media(max-width:800px){
  .tours-landing-hero{
    position:relative !important;
  }

  .tours-visible-menu-btn{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:absolute !important;
    top:42px !important;
    right:28px !important;
    z-index:2147483647 !important;
    width:48px !important;
    height:42px !important;
    min-width:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:7px !important;
    transform:none !important;
    cursor:pointer !important;
  }

  .tours-visible-menu-btn span{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:40px !important;
    height:4px !important;
    background:#bd8742 !important;
    border-radius:999px !important;
    box-shadow:0 1px 0 rgba(0,0,0,.18) !important;
  }

  body.tours-force-open .tours-visible-menu-btn span:nth-child(1){
    transform:translateY(11px) rotate(45deg) !important;
  }

  body.tours-force-open .tours-visible-menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  body.tours-force-open .tours-visible-menu-btn span:nth-child(3){
    transform:translateY(-11px) rotate(-45deg) !important;
  }

  /* Use the existing site nav links as the real menu drawer */
  body.tours-force-open .tours-landing-hero .site-nav .nav-links{
    display:grid !important;
    position:absolute !important;
    top:64px !important;
    left:0 !important;
    right:0 !important;
    z-index:2147483646 !important;
    padding:12px !important;
    gap:8px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    background:rgba(5,27,45,.98) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
  }

  body.tours-force-open .tours-landing-hero .site-nav .nav-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:48px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    background:rgba(255,255,255,.055) !important;
  }

  body.tours-force-open .tours-landing-hero .site-nav .nav-links a::after{
    content:"→";
    color:#bd8742;
    font-weight:900;
  }
}

@media(max-width:430px){
  .tours-visible-menu-btn{
    top:38px !important;
    right:22px !important;
    width:44px !important;
    height:40px !important;
    min-width:44px !important;
  }

  .tours-visible-menu-btn span{
    width:34px !important;
    height:3px !important;
  }
}


/* =========================================================
   FINAL CLEAN TOURS HEADER MENU FIX
   Uses regular shared .site-nav + .menu-btn from partials-nav.
   Wider breakpoint added because mobile browser screenshots can report >800px.
   ========================================================= */
.tour-mobile-menu-button,
.tour-mobile-drawer,
.tours-visible-menu-btn{
  display:none !important;
}

.tours-landing-hero .site-nav{
  position:relative !important;
  z-index:9999 !important;
  overflow:visible !important;
}

@media(max-width:1200px){
  .tours-landing-hero .site-nav{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:94px !important;
    margin:0 0 48px !important;
    padding:0 !important;
    background:transparent !important;
  }

  .tours-landing-hero .site-nav .brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    width:auto !important;
    max-width:calc(100% - 95px) !important;
    position:relative !important;
    z-index:10000 !important;
  }

  .tours-landing-hero .site-nav .brand span{
    font-size:clamp(27px, 7.2vw, 46px) !important;
    letter-spacing:clamp(5px, 1.35vw, 10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
    color:#fff !important;
  }

  .tours-landing-hero .site-nav .brand em{
    display:block !important;
    font-size:clamp(11px, 2.7vw, 15px) !important;
    letter-spacing:clamp(9px, 2.15vw, 16px) !important;
    line-height:1 !important;
    margin-top:14px !important;
    padding-left:clamp(74px, 19vw, 142px) !important;
    color:#bd8742 !important;
    font-style:normal !important;
  }

  .tours-landing-hero .site-nav .book-btn{
    display:none !important;
  }

  .tours-landing-hero .site-nav .nav-actions{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:3px !important;
    right:0 !important;
    z-index:10002 !important;
    width:52px !important;
    min-width:52px !important;
    height:46px !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    pointer-events:auto !important;
  }

  .tours-landing-hero .site-nav .menu-btn{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:10003 !important;
    width:50px !important;
    height:44px !important;
    min-width:50px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:7px !important;
    transform:none !important;
    cursor:pointer !important;
  }

  .tours-landing-hero .site-nav .menu-btn span{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:40px !important;
    height:4px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:#bd8742 !important;
  }

  .tours-landing-hero .site-nav .nav-links{
    display:none !important;
    position:absolute !important;
    top:64px !important;
    left:0 !important;
    right:0 !important;
    z-index:10001 !important;
    padding:12px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    background:rgba(5,27,45,.98) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
  }

  .tours-landing-hero .site-nav.nav-open .nav-links{
    display:grid !important;
    gap:8px !important;
  }

  .tours-landing-hero .site-nav .nav-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:48px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    letter-spacing:.5px !important;
    background:rgba(255,255,255,.055) !important;
  }

  .tours-landing-hero .site-nav .nav-links a::after{
    content:"→";
    color:#bd8742;
    font-weight:900;
  }

  .tours-landing-hero .site-nav.nav-open .menu-btn span:nth-child(1){
    transform:translateY(11px) rotate(45deg) !important;
  }

  .tours-landing-hero .site-nav.nav-open .menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  .tours-landing-hero .site-nav.nav-open .menu-btn span:nth-child(3){
    transform:translateY(-11px) rotate(-45deg) !important;
  }
}


/* =========================================================
   TOURS MOBILE HEADER POSITION FIX
   Move logo up/left and keep burger fully inside the screen.
   Desktop unchanged.
   ========================================================= */
@media(max-width:1200px){
  .tours-landing-hero{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .tours-landing-hero .site-nav{
    margin-top:-12px !important;
    margin-left:-10px !important;
    padding-right:18px !important;
  }

  .tours-landing-hero .site-nav .brand{
    max-width:calc(100vw - 118px) !important;
  }

  .tours-landing-hero .site-nav .brand span{
    font-size:clamp(25px, 6.4vw, 38px) !important;
    letter-spacing:clamp(4px, 1.05vw, 8px) !important;
  }

  .tours-landing-hero .site-nav .brand em{
    font-size:clamp(10px, 2.2vw, 13px) !important;
    letter-spacing:clamp(8px, 1.75vw, 13px) !important;
    padding-left:clamp(70px, 17vw, 118px) !important;
  }

  .tours-landing-hero .site-nav .nav-actions{
    right:18px !important;
    top:0 !important;
    width:44px !important;
    min-width:44px !important;
    flex-basis:44px !important;
  }

  .tours-landing-hero .site-nav .menu-btn{
    width:42px !important;
    min-width:42px !important;
    height:38px !important;
  }

  .tours-landing-hero .site-nav .menu-btn span{
    width:34px !important;
    height:4px !important;
  }
}

@media(max-width:430px){
  .tours-landing-hero{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .tours-landing-hero .site-nav{
    margin-top:-16px !important;
    margin-left:-12px !important;
    padding-right:22px !important;
  }

  .tours-landing-hero .site-nav .brand{
    max-width:calc(100vw - 108px) !important;
  }

  .tours-landing-hero .site-nav .brand span{
    font-size:24px !important;
    letter-spacing:4px !important;
  }

  .tours-landing-hero .site-nav .brand em{
    font-size:9px !important;
    letter-spacing:8px !important;
    padding-left:66px !important;
    margin-top:11px !important;
  }

  .tours-landing-hero .site-nav .nav-actions{
    right:22px !important;
  }

  .tours-landing-hero .site-nav .menu-btn span{
    width:31px !important;
    height:3px !important;
  }
}


/* =========================================================
   YACHTS LANDING PAGE
   Same luxury structure as Tours, with animated island/yacht scene.
   ========================================================= */
.yachts-landing-hero{
  position:relative;
  overflow:hidden;
  background:#061f33;
  color:#fff;
  min-height:780px;
  padding:34px 6.8vw 72px;
}

.yachts-landing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%, rgba(189,135,66,.18), transparent 30%),
    linear-gradient(180deg, rgba(6,31,51,.78), rgba(6,31,51,.97));
  z-index:0;
  pointer-events:none;
}

.yachts-landing-hero .site-nav,
.yachts-hero-copy,
.yacht-island-scene{
  position:relative;
  z-index:2;
}

.yachts-hero-copy{
  max-width:960px;
  margin:84px auto 40px;
  text-align:center;
}

.yachts-hero-copy .eyebrow{
  color:#bd8742;
}

.yachts-hero-copy h1{
  margin:16px 0 18px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:76px;
  line-height:.98;
  letter-spacing:-1px;
}

.yachts-hero-copy p:not(.eyebrow){
  max-width:730px;
  margin:0 auto;
  color:#dce7ee;
  font-size:19px;
  line-height:1.75;
}

.yacht-island-scene{
  width:min(1120px, 100%);
  height:390px;
  margin:0 auto;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,#7adff2 0%, #4ed3e3 45%, #0a8aa1 100%);
}

.scene-sky{
  position:absolute;
  inset:0 0 42%;
  background:linear-gradient(180deg,#87e9ff,#c8f8ff);
}

.scene-sun{
  position:absolute;
  top:38px;
  right:82px;
  width:86px;
  height:86px;
  border-radius:50%;
  background:radial-gradient(circle,#fff8b9,#f3bd54);
  box-shadow:0 0 60px rgba(255,230,120,.75);
}

.scene-cloud{
  position:absolute;
  background:rgba(255,255,255,.86);
  border-radius:999px;
  filter:blur(.2px);
  animation:cloudFloat 10s ease-in-out infinite alternate;
}
.scene-cloud::before,.scene-cloud::after{
  content:"";
  position:absolute;
  background:inherit;
  border-radius:50%;
}
.cloud-one{top:68px;left:90px;width:120px;height:30px}
.cloud-one::before{width:48px;height:48px;left:18px;bottom:6px}
.cloud-one::after{width:62px;height:62px;left:50px;bottom:0}
.cloud-two{top:112px;right:210px;width:92px;height:24px;animation-delay:-3s}
.cloud-two::before{width:38px;height:38px;left:18px;bottom:5px}
.cloud-two::after{width:48px;height:48px;left:44px;bottom:1px}

.scene-water{
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(180deg,#3fd6e5,#0d8ca6 58%,#087487);
}
.scene-water::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 38% 15%, rgba(255,255,255,.35), transparent 40%);
}
.water-line{
  position:absolute;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.35);
  animation:waterMove 4.8s linear infinite;
}
.line-one{top:42px;left:80px;width:220px}
.line-two{top:92px;right:120px;width:260px;animation-delay:-1.8s}
.line-three{top:146px;left:410px;width:190px;animation-delay:-3s}

.scene-island{
  position:absolute;
  right:50px;
  bottom:44px;
  width:360px;
  height:145px;
}
.island-sand{
  position:absolute;
  bottom:0;
  right:0;
  width:360px;
  height:82px;
  border-radius:60% 45% 40% 55%;
  background:linear-gradient(135deg,#f8d98b,#d9ad5b);
  box-shadow:0 -10px 30px rgba(255,255,255,.18) inset;
}
.palm{
  position:absolute;
  bottom:62px;
  width:10px;
  height:88px;
  background:#9c6a34;
  border-radius:999px;
  transform-origin:bottom;
}
.palm span,.palm::before,.palm::after{
  content:"";
  position:absolute;
  top:-22px;
  left:50%;
  width:86px;
  height:28px;
  border-radius:100% 0;
  background:#188253;
  transform-origin:left center;
}
.palm span{transform:rotate(-34deg)}
.palm::before{transform:rotate(8deg)}
.palm::after{transform:rotate(44deg)}
.palm-one{right:96px;transform:rotate(-10deg)}
.palm-two{right:160px;height:74px;transform:rotate(9deg) scale(.86)}
.umbrella{
  position:absolute;
  bottom:54px;
  right:228px;
  width:82px;
  height:42px;
  border-radius:82px 82px 0 0;
  background:repeating-linear-gradient(90deg,#fff 0 18px,#bd8742 18px 36px);
}
.umbrella::after{
  content:"";
  position:absolute;
  left:39px;
  top:38px;
  width:4px;
  height:46px;
  background:#7b5530;
}

.animated-yacht{
  position:absolute;
  left:90px;
  bottom:72px;
  width:390px;
  height:160px;
  animation:yachtArrive 7s ease-in-out infinite alternate;
}
.yacht-shadow{
  position:absolute;
  left:20px;
  bottom:8px;
  width:320px;
  height:24px;
  background:rgba(0,64,78,.28);
  border-radius:50%;
  filter:blur(6px);
}
.yacht-hull{
  position:absolute;
  left:0;
  bottom:28px;
  width:350px;
  height:58px;
  background:#fffdf5;
  clip-path:polygon(0 32%, 88% 6%, 100% 35%, 84% 72%, 18% 92%);
  box-shadow:0 10px 0 rgba(0,35,55,.18);
}
.yacht-deck{
  position:absolute;
  left:90px;
  bottom:72px;
  width:210px;
  height:46px;
  background:#fff;
  transform:skewX(-18deg);
  border-radius:8px;
}
.yacht-cabin{
  position:absolute;
  left:140px;
  bottom:105px;
  width:128px;
  height:52px;
  background:#fffdf8;
  clip-path:polygon(12% 100%, 28% 14%, 82% 0, 100% 100%);
}
.yacht-window{
  position:absolute;
  left:162px;
  bottom:117px;
  width:82px;
  height:20px;
  background:#062337;
  transform:skewX(-22deg);
  border-radius:3px;
}
.couple-one,.couple-two{
  position:absolute;
  bottom:115px;
  width:14px;
  height:30px;
  border-radius:999px 999px 6px 6px;
  background:#d78f55;
}
.couple-one{left:102px}
.couple-two{left:123px;background:#b76b45}
.couple-one::before,.couple-two::before{
  content:"";
  position:absolute;
  top:-10px;
  left:2px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f1bd86;
}
.champagne{
  position:absolute;
  left:142px;
  bottom:128px;
  width:7px;
  height:30px;
  background:#e8d070;
  transform:rotate(-18deg);
  border-radius:4px;
}
.champagne::after{
  content:"";
  position:absolute;
  top:-3px;
  left:-2px;
  width:11px;
  height:4px;
  background:#fff;
  border-radius:50%;
}

@keyframes yachtArrive{
  0%{transform:translateX(-8px) translateY(4px) rotate(-1deg)}
  100%{transform:translateX(38px) translateY(-4px) rotate(1deg)}
}
@keyframes waterMove{
  0%{transform:translateX(-40px);opacity:.25}
  50%{opacity:.65}
  100%{transform:translateX(55px);opacity:.25}
}
@keyframes cloudFloat{
  from{transform:translateX(-12px)}
  to{transform:translateX(16px)}
}

.yachts-page{
  background:#f4f1ec;
  color:#061f33;
}

.yacht-special-section .center-eyebrow{
  color:#bd8742;
}

.yacht-extras-grid{
  margin:38px auto 0;
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.yacht-extras-grid article{
  background:#fff;
  border:1px solid rgba(6,31,51,.08);
  border-radius:22px;
  padding:24px;
  box-shadow:0 20px 70px rgba(6,31,51,.08);
}
.yacht-extras-grid span{
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  color:#bd8742;
  background:#f6efe5;
  font-size:23px;
  margin-bottom:14px;
}
.yacht-extras-grid h3{
  margin:0 0 8px;
  font-size:21px;
}
.yacht-extras-grid p{
  margin:0 !important;
  color:#647482 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
.yacht-size-badge{
  position:absolute;
  top:14px;
  right:14px;
  background:#061f33;
  color:#fff;
  border-radius:10px;
  padding:9px 12px;
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
}
.yacht-offer-card .tour-offer-img{
  position:relative;
}

@media(max-width:800px){
  .yachts-landing-hero{
    min-height:auto;
    padding:28px 22px 54px;
  }
  .yachts-hero-copy{
    margin:54px auto 30px;
    text-align:left;
  }
  .yachts-hero-copy h1{
    font-size:42px;
    line-height:1.02;
  }
  .yachts-hero-copy p:not(.eyebrow){
    font-size:16px;
    margin:0;
  }
  .yacht-island-scene{
    height:330px;
    border-radius:24px;
  }
  .scene-sun{
    width:58px;
    height:58px;
    right:32px;
    top:30px;
  }
  .scene-island{
    right:-35px;
    bottom:42px;
    transform:scale(.72);
  }
  .animated-yacht{
    left:-28px;
    bottom:76px;
    transform:scale(.68);
    transform-origin:left bottom;
    animation:yachtArriveMobile 7s ease-in-out infinite alternate;
  }
  @keyframes yachtArriveMobile{
    0%{transform:scale(.68) translateX(-4px) translateY(4px) rotate(-1deg)}
    100%{transform:scale(.68) translateX(34px) translateY(-4px) rotate(1deg)}
  }
  .yacht-extras-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
}

@media(max-width:430px){
  .yachts-hero-copy h1{
    font-size:36px;
  }
  .yacht-island-scene{
    height:300px;
  }
  .animated-yacht{
    left:-46px;
    bottom:78px;
  }
}


/* =========================================================
   YACHT ANIMATION REALISM UPGRADE
   Adds richer water, yacht depth, wake, island shadows, and smoother motion.
   ========================================================= */
.yacht-island-scene{
  background:
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.55), transparent 12%),
    linear-gradient(180deg,#80eaff 0%, #48d1e4 38%, #0b8aa4 72%, #05758b 100%) !important;
}

.yacht-island-scene::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 34% 58%, rgba(255,255,255,.28), transparent 28%),
    radial-gradient(ellipse at 72% 74%, rgba(0,77,92,.22), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 42%);
  z-index:1;
  pointer-events:none;
}

.yacht-island-scene::after{
  content:"";
  position:absolute;
  left:-18%;
  right:-18%;
  bottom:0;
  height:52%;
  background:
    repeating-linear-gradient(170deg,
      rgba(255,255,255,.18) 0 2px,
      transparent 2px 28px),
    repeating-linear-gradient(6deg,
      rgba(255,255,255,.10) 0 1px,
      transparent 1px 22px);
  opacity:.42;
  animation:realWaterDrift 9s linear infinite;
  z-index:1;
  pointer-events:none;
}

.scene-sky,
.scene-sun,
.scene-cloud,
.scene-water,
.scene-island,
.animated-yacht{
  z-index:2;
}

.scene-water{
  background:
    radial-gradient(ellipse at 25% 12%, rgba(255,255,255,.42), transparent 30%),
    radial-gradient(ellipse at 68% 40%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(180deg,#45d9e9 0%,#0b9eb8 52%,#066e83 100%) !important;
}

.scene-water::before{
  content:"";
  position:absolute;
  left:12%;
  bottom:32%;
  width:520px;
  height:70px;
  border-radius:50%;
  background:rgba(255,255,255,.28);
  filter:blur(14px);
  transform:rotate(-7deg);
  animation:wakePulse 3.8s ease-in-out infinite alternate;
}

.scene-water::after{
  background:
    radial-gradient(ellipse at 38% 15%, rgba(255,255,255,.42), transparent 38%),
    radial-gradient(ellipse at 55% 72%, rgba(0,51,69,.22), transparent 48%) !important;
}

.animated-yacht{
  filter:drop-shadow(0 18px 22px rgba(0,42,57,.28));
  animation:yachtRealisticFloat 7.8s ease-in-out infinite alternate !important;
}

.animated-yacht::before{
  content:"";
  position:absolute;
  left:-80px;
  bottom:20px;
  width:190px;
  height:28px;
  border-radius:50%;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.65), rgba(255,255,255,.25), transparent);
  filter:blur(2px);
  transform:rotate(-8deg);
  animation:wakeStream 2.8s ease-in-out infinite alternate;
}

.animated-yacht::after{
  content:"";
  position:absolute;
  left:-38px;
  bottom:42px;
  width:140px;
  height:16px;
  border-radius:50%;
  border-top:3px solid rgba(255,255,255,.62);
  border-bottom:2px solid rgba(255,255,255,.22);
  transform:rotate(-6deg);
  animation:wakeStream 2.5s ease-in-out infinite alternate-reverse;
}

.yacht-shadow{
  background:rgba(0,42,58,.34) !important;
  filter:blur(9px) !important;
  transform:rotate(-2deg);
}

.yacht-hull{
  background:
    linear-gradient(180deg,#ffffff 0%, #fffaf0 48%, #d8e4e8 100%) !important;
  box-shadow:
    0 12px 0 rgba(0,35,55,.20),
    inset 0 -10px 18px rgba(3,38,56,.16),
    inset 0 4px 8px rgba(255,255,255,.9) !important;
}

.yacht-hull::before{
  content:"";
  position:absolute;
  left:58px;
  bottom:14px;
  width:210px;
  height:8px;
  border-radius:999px;
  background:rgba(6,31,51,.75);
  transform:skewX(-18deg);
  opacity:.88;
}

.yacht-hull::after{
  content:"";
  position:absolute;
  right:52px;
  bottom:22px;
  width:52px;
  height:8px;
  border-radius:999px;
  background:rgba(6,31,51,.78);
  transform:skewX(-18deg);
}

.yacht-deck{
  background:
    linear-gradient(180deg,#fff 0%, #f7efe0 100%) !important;
  box-shadow:inset 0 -8px 10px rgba(138,106,68,.13), 0 4px 12px rgba(0,35,55,.10);
}

.yacht-cabin{
  background:
    linear-gradient(180deg,#fff 0%,#f6f2e7 100%) !important;
  filter:drop-shadow(0 5px 5px rgba(0,35,55,.14));
}

.yacht-cabin::before{
  content:"";
  position:absolute;
  left:8px;
  bottom:0;
  width:116px;
  height:4px;
  background:rgba(189,135,66,.45);
}

.yacht-window{
  background:
    linear-gradient(135deg,#051e31 0%,#0d3f58 58%,#6ccfe2 100%) !important;
  box-shadow:inset 0 0 8px rgba(255,255,255,.24);
}

.couple-one,
.couple-two{
  box-shadow:0 3px 7px rgba(0,0,0,.18);
}

.couple-one::after{
  content:"";
  position:absolute;
  left:10px;
  top:5px;
  width:20px;
  height:3px;
  background:#f1bd86;
  border-radius:999px;
  transform:rotate(-25deg);
  transform-origin:left center;
}

.couple-two::after{
  content:"";
  position:absolute;
  left:-16px;
  top:8px;
  width:20px;
  height:3px;
  background:#f1bd86;
  border-radius:999px;
  transform:rotate(28deg);
  transform-origin:right center;
}

.champagne{
  box-shadow:0 0 10px rgba(255,238,150,.55);
}

.champagne::before{
  content:"";
  position:absolute;
  top:-12px;
  left:2px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#fff8c9;
  box-shadow:8px -5px 0 rgba(255,248,201,.85), 15px 2px 0 rgba(255,248,201,.65);
  animation:bubbles 1.6s ease-in-out infinite;
}

.island-sand{
  background:
    radial-gradient(ellipse at 28% 25%, rgba(255,255,255,.45), transparent 24%),
    linear-gradient(135deg,#ffe3a0 0%,#dfb867 62%,#bc8d45 100%) !important;
  box-shadow:
    0 -10px 30px rgba(255,255,255,.22) inset,
    0 14px 20px rgba(0,51,61,.15) !important;
}

.island-sand::after{
  content:"";
  position:absolute;
  inset:52% 18% 14% 10%;
  border-radius:50%;
  background:rgba(93,132,67,.20);
  filter:blur(8px);
}

.palm{
  background:linear-gradient(90deg,#7d4e24,#b1783d,#7d4e24) !important;
  box-shadow:3px 5px 8px rgba(0,0,0,.12);
}

.palm span,
.palm::before,
.palm::after{
  background:
    linear-gradient(90deg,#0f653f,#26a463 55%,#0d5a36) !important;
  box-shadow:0 4px 8px rgba(0,0,0,.16);
}

.umbrella{
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

@keyframes yachtRealisticFloat{
  0%{transform:translateX(-10px) translateY(5px) rotate(-1.4deg)}
  35%{transform:translateX(10px) translateY(-3px) rotate(.5deg)}
  100%{transform:translateX(44px) translateY(-6px) rotate(1.2deg)}
}

@keyframes realWaterDrift{
  from{transform:translateX(-30px)}
  to{transform:translateX(34px)}
}

@keyframes wakePulse{
  from{opacity:.22; transform:rotate(-7deg) scaleX(.92)}
  to{opacity:.46; transform:rotate(-7deg) scaleX(1.08)}
}

@keyframes wakeStream{
  from{opacity:.36; transform:translateX(-8px) rotate(-8deg) scaleX(.92)}
  to{opacity:.78; transform:translateX(10px) rotate(-8deg) scaleX(1.08)}
}

@keyframes bubbles{
  0%{opacity:0; transform:translateY(5px) scale(.75)}
  45%{opacity:1}
  100%{opacity:0; transform:translateY(-10px) scale(1.1)}
}

@media(max-width:800px){
  .animated-yacht{
    animation:yachtRealisticFloatMobile 7.8s ease-in-out infinite alternate !important;
  }

  @keyframes yachtRealisticFloatMobile{
    0%{transform:scale(.68) translateX(-10px) translateY(5px) rotate(-1.4deg)}
    35%{transform:scale(.68) translateX(10px) translateY(-3px) rotate(.5deg)}
    100%{transform:scale(.68) translateX(44px) translateY(-6px) rotate(1.2deg)}
  }
}


/* =========================================================
   YACHT PAGE VIDEO HERO FINAL FIX
   Replaces the old CSS animation area with a real looping video.
   ========================================================= */
.yacht-video-hero{
  position:relative !important;
  width:min(1120px, 100%) !important;
  height:390px !important;
  margin:0 auto !important;
  border-radius:34px !important;
  overflow:hidden !important;
  box-shadow:0 34px 100px rgba(0,0,0,.34) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:#061f33 !important;
}

.yacht-hero-video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  pointer-events:none !important;
}

.yacht-video-overlay{
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg, rgba(6,31,51,.08), rgba(6,31,51,.24)),
    radial-gradient(circle at 50% 40%, transparent 42%, rgba(6,31,51,.22)) !important;
  pointer-events:none !important;
}

.yacht-extra-icon{
  display:inline-grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  color:#bd8742 !important;
  background:#f6efe5 !important;
  margin-bottom:14px !important;
}

.yacht-extra-icon svg{
  width:29px !important;
  height:29px !important;
  display:block !important;
}

@media(max-width:800px){
  .yacht-video-hero{
    height:330px !important;
    border-radius:24px !important;
  }
}

@media(max-width:430px){
  .yacht-video-hero{
    height:300px !important;
  }
}


/* =========================================================
   VILLAS LANDING PAGE
   Same luxury structure as Yachts, with Cancún hero image.
   ========================================================= */
.villas-landing-hero{
  position:relative;
  overflow:hidden;
  background:#061f33;
  color:#fff;
  min-height:780px;
  padding:34px 6.8vw 72px;
}

.villas-landing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%, rgba(189,135,66,.18), transparent 30%),
    linear-gradient(180deg, rgba(6,31,51,.78), rgba(6,31,51,.97));
  z-index:0;
  pointer-events:none;
}

.villas-landing-hero .site-nav,
.villas-hero-copy,
.villa-hero-image{
  position:relative;
  z-index:2;
}

.villas-hero-copy{
  max-width:960px;
  margin:84px auto 40px;
  text-align:center;
}

.villas-hero-copy .eyebrow{
  color:#bd8742;
}

.villas-hero-copy h1{
  margin:16px 0 18px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:76px;
  line-height:.98;
  letter-spacing:-1px;
}

.villas-hero-copy p:not(.eyebrow){
  max-width:730px;
  margin:0 auto;
  color:#dce7ee;
  font-size:19px;
  line-height:1.75;
}

.villa-hero-image{
  width:min(1120px, 100%);
  height:390px;
  margin:0 auto;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 34px 100px rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.12);
  background:#061f33;
}

.villa-hero-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.villa-image-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(6,31,51,.04), rgba(6,31,51,.22)),
    radial-gradient(circle at 50% 40%, transparent 45%, rgba(6,31,51,.18));
  pointer-events:none;
}

.villas-page{
  background:#f4f1ec;
  color:#061f33;
}

.villa-home-section .center-eyebrow{
  color:#bd8742;
}

.villa-extras-grid{
  margin:38px auto 0;
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.villa-extras-grid article{
  background:#fff;
  border:1px solid rgba(6,31,51,.08);
  border-radius:22px;
  padding:24px;
  box-shadow:0 20px 70px rgba(6,31,51,.08);
}

.villa-extras-grid span{
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  color:#bd8742;
  background:#f6efe5;
  font-size:23px;
  margin-bottom:14px;
}

.villa-extras-grid h3{
  margin:0 0 8px;
  font-size:21px;
}

.villa-extras-grid p{
  margin:0 !important;
  color:#647482 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

@media(max-width:800px){
  .villas-landing-hero{
    min-height:auto;
    padding:28px 22px 54px;
  }

  .villas-hero-copy{
    margin:54px auto 30px;
    text-align:left;
  }

  .villas-hero-copy h1{
    font-size:42px;
    line-height:1.02;
  }

  .villas-hero-copy p:not(.eyebrow){
    font-size:16px;
    margin:0;
  }

  .villa-hero-image{
    height:330px;
    border-radius:24px;
  }

  .villa-extras-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
}

@media(max-width:430px){
  .villas-hero-copy h1{
    font-size:36px;
  }

  .villa-hero-image{
    height:300px;
  }
}


/* =========================================================
   ABOUT PAGE
   Premium generic About page, ready for later copy changes.
   ========================================================= */
.about-landing-hero{
  position:relative;
  overflow:hidden;
  background:#061f33;
  color:#fff;
  min-height:760px;
  padding:34px 6.8vw 78px;
}

.about-landing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 22%, rgba(189,135,66,.22), transparent 32%),
    radial-gradient(circle at 82% 64%, rgba(68,190,210,.18), transparent 36%),
    linear-gradient(180deg, rgba(6,31,51,.72), rgba(6,31,51,.98));
  z-index:0;
  pointer-events:none;
}

.about-landing-hero .site-nav,
.about-hero-copy,
.about-hero-card{
  position:relative;
  z-index:2;
}

.about-hero-copy{
  max-width:980px;
  margin:96px auto 46px;
  text-align:center;
}

.about-hero-copy .eyebrow{
  color:#bd8742;
}

.about-hero-copy h1{
  margin:16px 0 20px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:78px;
  line-height:.98;
  letter-spacing:-1.4px;
}

.about-hero-copy p:not(.eyebrow){
  max-width:780px;
  margin:0 auto;
  color:#dce7ee;
  font-size:19px;
  line-height:1.8;
}

.about-hero-card{
  width:min(1040px,100%);
  margin:0 auto;
  min-height:270px;
  border-radius:34px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    linear-gradient(135deg, rgba(189,135,66,.24), rgba(61,178,196,.15));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 34px 100px rgba(0,0,0,.30);
  display:grid;
  place-items:center;
  padding:42px;
}

.about-card-glow{
  position:absolute;
  inset:auto 10% -35% 10%;
  height:160px;
  background:radial-gradient(ellipse, rgba(72,219,236,.30), transparent 70%);
  filter:blur(22px);
}

.about-card-content{
  position:relative;
  max-width:830px;
  text-align:center;
}

.about-card-content p{
  color:#bd8742;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:4px;
  font-size:12px;
  margin:0 0 16px;
}

.about-card-content h2{
  margin:0 0 18px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:42px;
  line-height:1.08;
}

.about-card-content span{
  display:block;
  color:#dce7ee;
  font-size:17px;
  line-height:1.7;
}

.about-page{
  background:#f4f1ec;
  color:#061f33;
}

.about-intro-section{
  max-width:1040px;
  margin:0 auto;
  padding:90px 28px 54px;
  text-align:center;
}

.about-intro-section .center-eyebrow,
.about-split-section .center-eyebrow,
.about-cta-section .center-eyebrow{
  color:#bd8742;
  letter-spacing:4px;
  text-transform:uppercase;
  font-weight:900;
  font-size:12px;
  margin:0 0 14px;
}

.about-intro-section h2{
  max-width:880px;
  margin:0 auto 22px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:48px;
  line-height:1.06;
}

.about-intro-section p{
  max-width:820px;
  margin:0 auto;
  color:#51616d;
  font-size:18px;
  line-height:1.82;
}

.about-values-grid{
  max-width:1120px;
  margin:0 auto;
  padding:12px 28px 70px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.about-values-grid article{
  background:#fff;
  border:1px solid rgba(6,31,51,.08);
  border-radius:24px;
  padding:28px;
  box-shadow:0 22px 70px rgba(6,31,51,.08);
}

.about-values-grid span{
  color:#bd8742;
  font-weight:900;
  letter-spacing:3px;
  font-size:12px;
}

.about-values-grid h3{
  margin:16px 0 10px;
  font-size:24px;
  color:#061f33;
}

.about-values-grid p{
  margin:0;
  color:#647482;
  line-height:1.65;
}

.about-split-section{
  max-width:1120px;
  margin:0 auto;
  padding:20px 28px 86px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:stretch;
}

.about-split-copy{
  background:#061f33;
  color:#fff;
  border-radius:30px;
  padding:42px;
  box-shadow:0 24px 80px rgba(6,31,51,.16);
}

.about-split-copy h2{
  margin:0 0 16px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:46px;
  line-height:1.05;
}

.about-split-copy p:not(.center-eyebrow){
  color:#dce7ee;
  line-height:1.75;
  margin:0 0 26px;
  max-width:560px;
}

.about-feature-list{
  display:grid;
  gap:16px;
}

.about-feature-list div{
  background:#fff;
  border-radius:24px;
  border:1px solid rgba(6,31,51,.08);
  padding:28px;
  box-shadow:0 18px 60px rgba(6,31,51,.08);
}

.about-feature-list strong{
  display:block;
  font-size:24px;
  margin-bottom:8px;
  color:#061f33;
}

.about-feature-list span{
  display:block;
  color:#647482;
  line-height:1.62;
}

.about-cta-section{
  max-width:980px;
  margin:0 auto;
  padding:26px 28px 98px;
  text-align:center;
}

.about-cta-section h2{
  margin:0 auto 26px;
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:46px;
  line-height:1.08;
}

@media(max-width:800px){
  .about-landing-hero{
    min-height:auto;
    padding:28px 22px 56px;
  }

  .about-hero-copy{
    margin:58px auto 32px;
    text-align:left;
  }

  .about-hero-copy h1{
    font-size:42px;
    line-height:1.02;
  }

  .about-hero-copy p:not(.eyebrow){
    font-size:16px;
    margin:0;
  }

  .about-hero-card{
    border-radius:24px;
    padding:28px 22px;
    min-height:240px;
  }

  .about-card-content{
    text-align:left;
  }

  .about-card-content h2{
    font-size:30px;
  }

  .about-intro-section{
    padding:64px 22px 40px;
    text-align:left;
  }

  .about-intro-section h2,
  .about-split-copy h2,
  .about-cta-section h2{
    font-size:33px;
    line-height:1.1;
  }

  .about-values-grid{
    grid-template-columns:1fr;
    padding:0 22px 54px;
  }

  .about-split-section{
    grid-template-columns:1fr;
    padding:0 22px 68px;
  }

  .about-split-copy{
    padding:30px 24px;
    border-radius:24px;
  }

  .about-cta-section{
    padding:12px 22px 76px;
    text-align:left;
  }
}


/* =========================================================
   VILLA CHECK-IN / CHECK-OUT SEARCH
   Villa only shows date range. Yachts/Tours keep one date.
   ========================================================= */
.field-date-range{
  display:none;
}

.availability-card.is-villa-search .field-date-single{
  display:none !important;
}

.availability-card.is-villa-search .field-date-range{
  display:flex !important;
}

@media(min-width:901px){
  .availability-card.is-villa-search{
    grid-template-columns:1.25fr 1fr 1fr 1fr 1.05fr;
  }
}

@media(max-width:900px){
  .field-date-range{
    display:none;
  }
}


/* FORCE MENU VISIBILITY */
body.menu-open .mobile-menu,
body.menu-open .nav-menu {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.mobile-menu,
.nav-menu {
  transform: translateX(100%);
  transition: all .3s ease;
  opacity: 0;
  pointer-events: none;
}


/* =========================================================
   REAL MENU FIX FOR SEARCH RESULTS + LISTING DETAIL
   search.ejs and listing.ejs now use the shared .site-nav menu.
   ========================================================= */
.search-hero-header,
.detail-hero-header{
  width:100% !important;
  min-height:220px !important;
  background:#062337 !important;
  position:relative !important;
  z-index:20 !important;
  display:block !important;
  overflow:visible !important;
}

.search-hero-header .site-nav,
.detail-hero-header .site-nav{
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:42px 34px 0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  position:relative !important;
  z-index:50 !important;
  overflow:visible !important;
}

.search-hero-header .brand,
.detail-hero-header .brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  max-width:calc(100% - 95px) !important;
}

.search-hero-header .brand span,
.detail-hero-header .brand span{
  display:block !important;
  color:#fff !important;
  font-size:42px !important;
  font-weight:400 !important;
  letter-spacing:10px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.search-hero-header .brand em,
.detail-hero-header .brand em{
  display:block !important;
  color:#bd8742 !important;
  font-style:normal !important;
  font-size:15px !important;
  letter-spacing:16px !important;
  margin-top:18px !important;
  padding-left:128px !important;
}

.search-hero-header .nav-actions,
.detail-hero-header .nav-actions{
  display:flex !important;
  position:relative !important;
  z-index:60 !important;
}

.search-hero-header .menu-btn,
.detail-hero-header .menu-btn{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  width:54px !important;
  height:44px !important;
  background:transparent !important;
  border:0 !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-end !important;
  gap:7px !important;
  padding:0 !important;
  margin-top:7px !important;
  flex:0 0 54px !important;
  cursor:pointer !important;
}

.search-hero-header .menu-btn span,
.detail-hero-header .menu-btn span{
  display:block !important;
  width:44px !important;
  height:4px !important;
  margin:0 !important;
  background:#bd8742 !important;
  border-radius:999px !important;
  transition:transform .22s ease, opacity .22s ease !important;
}

.search-hero-header .search-menu-btn,
.detail-hero-header .detail-menu-btn{
  display:none !important;
}

@media(max-width:800px){
  .search-hero-header,
  .detail-hero-header{
    min-height:205px !important;
  }

  .search-hero-header .site-nav,
  .detail-hero-header .site-nav{
    padding:40px 28px 0 !important;
  }

  .search-hero-header .brand,
  .detail-hero-header .brand{
    max-width:calc(100vw - 112px) !important;
  }

  .search-hero-header .brand span,
  .detail-hero-header .brand span{
    font-size:31px !important;
    letter-spacing:7px !important;
    white-space:nowrap !important;
  }

  .search-hero-header .brand em,
  .detail-hero-header .brand em{
    font-size:12px !important;
    letter-spacing:12px !important;
    margin-top:14px !important;
    padding-left:88px !important;
  }

  .search-hero-header .book-btn,
  .detail-hero-header .book-btn{
    display:none !important;
  }

  .search-hero-header .nav-actions,
  .detail-hero-header .nav-actions{
    width:44px !important;
    min-width:44px !important;
    flex:0 0 44px !important;
  }

  .search-hero-header .menu-btn,
  .detail-hero-header .menu-btn{
    width:44px !important;
    height:36px !important;
    min-width:44px !important;
    gap:6px !important;
    margin-top:5px !important;
    flex:0 0 44px !important;
  }

  .search-hero-header .menu-btn span,
  .detail-hero-header .menu-btn span{
    width:36px !important;
    height:3px !important;
  }

  .search-hero-header .nav-links,
  .detail-hero-header .nav-links{
    display:none !important;
    position:absolute !important;
    top:92px !important;
    left:28px !important;
    right:28px !important;
    z-index:9999 !important;
    padding:12px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    background:rgba(5,27,45,.98) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
  }

  .search-hero-header .site-nav.nav-open .nav-links,
  .detail-hero-header .site-nav.nav-open .nav-links{
    display:grid !important;
    gap:8px !important;
  }

  .search-hero-header .nav-links a,
  .detail-hero-header .nav-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:48px !important;
    padding:0 14px !important;
    border-radius:13px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:850 !important;
    letter-spacing:.5px !important;
    background:rgba(255,255,255,.055) !important;
  }

  .search-hero-header .nav-links a::after,
  .detail-hero-header .nav-links a::after{
    content:"→";
    color:#bd8742;
    font-weight:900;
  }

  .search-hero-header .site-nav.nav-open .menu-btn span:nth-child(1),
  .detail-hero-header .site-nav.nav-open .menu-btn span:nth-child(1){
    transform:translateY(9px) rotate(45deg) !important;
  }

  .search-hero-header .site-nav.nav-open .menu-btn span:nth-child(2),
  .detail-hero-header .site-nav.nav-open .menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  .search-hero-header .site-nav.nav-open .menu-btn span:nth-child(3),
  .detail-hero-header .site-nav.nav-open .menu-btn span:nth-child(3){
    transform:translateY(-9px) rotate(-45deg) !important;
  }
}

@media(max-width:430px){
  .search-hero-header,
  .detail-hero-header{
    min-height:190px !important;
  }

  .search-hero-header .site-nav,
  .detail-hero-header .site-nav{
    padding:38px 24px 0 !important;
  }

  .search-hero-header .brand,
  .detail-hero-header .brand{
    max-width:calc(100vw - 98px) !important;
  }

  .search-hero-header .brand span,
  .detail-hero-header .brand span{
    font-size:27px !important;
    letter-spacing:6px !important;
  }

  .search-hero-header .brand em,
  .detail-hero-header .brand em{
    font-size:11px !important;
    letter-spacing:10px !important;
    padding-left:76px !important;
    margin-top:12px !important;
  }

  .search-hero-header .menu-btn,
  .detail-hero-header .menu-btn{
    width:38px !important;
    flex-basis:38px !important;
  }

  .search-hero-header .menu-btn span,
  .detail-hero-header .menu-btn span{
    width:32px !important;
  }
}

/* HEADER POSITION TWEAK (villa search + detail) */
@media(max-width:800px){
  .search-hero-header .site-nav,
  .detail-hero-header .site-nav{
    margin-top:-12px !important;
    margin-left:-10px !important;
  }
}

@media(max-width:430px){
  .search-hero-header .site-nav,
  .detail-hero-header .site-nav{
    margin-top:-16px !important;
    margin-left:-12px !important;
  }
}





/* =========================================================
   DESKTOP ONLY — FINAL VILLA SEARCH BAR FIX
   Keeps the villa date-range search centered and professional.
   Mobile untouched.
   ========================================================= */
@media (min-width: 901px){
  .availability-card{
    overflow:visible !important;
  }

  .availability-card.is-villa-search{
    width:min(1180px, calc(100vw - 96px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns: 1.18fr 1fr 1fr .92fr 1.03fr !important;
    align-items:stretch !important;
    gap:0 !important;
    transform:translateY(16px) !important;
    left:auto !important;
    right:auto !important;
    position:relative !important;
    box-shadow:0 30px 82px rgba(6,31,51,.24) !important;
  }

  .availability-card.is-villa-search .field-date-single{
    display:none !important;
  }

  .availability-card.is-villa-search .field-date-range{
    display:flex !important;
  }

  .availability-card.is-villa-search .field,
  .availability-card.is-villa-search .field-type,
  .availability-card.is-villa-search .field-guests{
    height:92px !important;
    min-height:92px !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:0 20px !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    background:rgba(6,31,51,.96) !important;
    border-right:1px solid rgba(255,255,255,.14) !important;
    overflow:visible !important;
  }

  .availability-card.is-villa-search .field-guests{
    border-right:0 !important;
  }

  .availability-card.is-villa-search .field i{
    flex:0 0 30px !important;
    width:30px !important;
    height:30px !important;
    display:grid !important;
    place-items:center !important;
    color:#bd8742 !important;
    font-size:22px !important;
    line-height:1 !important;
  }

  .availability-card.is-villa-search .field > div,
  .availability-card.is-villa-search .field label,
  .availability-card.is-villa-search .field .type-trigger,
  .availability-card.is-villa-search .field .guest-trigger{
    min-width:0 !important;
  }

  .availability-card.is-villa-search .field span{
    max-width:100% !important;
    display:block !important;
    color:rgba(255,255,255,.62) !important;
    font-size:10px !important;
    letter-spacing:2.1px !important;
    text-transform:uppercase !important;
    margin-bottom:8px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .availability-card.is-villa-search .field strong,
  .availability-card.is-villa-search .field input,
  .availability-card.is-villa-search .guest-current,
  .availability-card.is-villa-search .type-current{
    color:#fff !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .availability-card.is-villa-search .field input{
    width:100% !important;
    min-width:0 !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    padding:0 !important;
  }

  .availability-card.is-villa-search .field input::placeholder{
    color:#fff !important;
    opacity:1 !important;
  }

  .availability-card.is-villa-search .type-trigger,
  .availability-card.is-villa-search .guest-trigger{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    color:#fff !important;
  }

  .availability-card.is-villa-search .type-trigger em,
  .availability-card.is-villa-search .guest-trigger em,
  .availability-card.is-villa-search .field > em{
    margin-left:auto !important;
    color:#fff !important;
    opacity:.9 !important;
    flex:0 0 auto !important;
  }

  .availability-card.is-villa-search > button[type="submit"]{
    height:92px !important;
    min-height:92px !important;
    width:100% !important;
    min-width:0 !important;
    align-self:stretch !important;
    grid-column:auto !important;
    border-radius:0 !important;
    padding:0 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    white-space:nowrap !important;
    box-shadow:none !important;
    margin:0 !important;
  }

  .availability-card.is-villa-search .type-menu,
  .availability-card.is-villa-search .guest-menu{
    z-index:99999 !important;
  }
}

@media (min-width:901px) and (max-width:1120px){
  .availability-card.is-villa-search{
    width:calc(100vw - 48px) !important;
    grid-template-columns:1.08fr .95fr .95fr .8fr .92fr !important;
  }

  .availability-card.is-villa-search .field,
  .availability-card.is-villa-search .field-type,
  .availability-card.is-villa-search .field-guests{
    padding:0 14px !important;
    gap:10px !important;
  }

  .availability-card.is-villa-search .field i{
    flex-basis:26px !important;
    width:26px !important;
    font-size:19px !important;
  }

  .availability-card.is-villa-search .field span{
    font-size:9px !important;
    letter-spacing:1.8px !important;
  }

  .availability-card.is-villa-search .field strong,
  .availability-card.is-villa-search .field input,
  .availability-card.is-villa-search .guest-current,
  .availability-card.is-villa-search .type-current{
    font-size:13px !important;
  }

  .availability-card.is-villa-search > button[type="submit"]{
    padding:0 14px !important;
    font-size:11px !important;
    letter-spacing:2.1px !important;
  }
}


/* =========================================================
   DESKTOP ONLY — SEARCH BAR TEXT ALIGNMENT + BURGER HIDE
   Mobile untouched.
   ========================================================= */
@media (min-width: 901px){
  /* Center content inside each desktop search field */
  .availability-card.is-villa-search .field,
  .availability-card.is-villa-search .field-type,
  .availability-card.is-villa-search .field-guests{
    justify-content:center !important;
    text-align:center !important;
  }

  .availability-card.is-villa-search .field i{
    margin-right:2px !important;
  }

  .availability-card.is-villa-search .field > div,
  .availability-card.is-villa-search .field label{
    text-align:center !important;
  }

  .availability-card.is-villa-search .type-trigger,
  .availability-card.is-villa-search .guest-trigger{
    justify-content:center !important;
    text-align:center !important;
  }

  .availability-card.is-villa-search .type-trigger strong,
  .availability-card.is-villa-search .guest-trigger strong,
  .availability-card.is-villa-search .field input{
    text-align:center !important;
  }

  .availability-card.is-villa-search .type-trigger em,
  .availability-card.is-villa-search .guest-trigger em,
  .availability-card.is-villa-search .field > em{
    margin-left:12px !important;
  }

  .availability-card.is-villa-search .field span{
    text-align:center !important;
  }

  /* Desktop should NOT show burger on search results or listing detail pages */
  .search-hero-header .menu-btn,
  .detail-hero-header .menu-btn,
  .search-hero-header .nav-actions .menu-btn,
  .detail-hero-header .nav-actions .menu-btn{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .search-hero-header .book-btn,
  .detail-hero-header .book-btn{
    display:inline-flex !important;
  }

  .search-hero-header .nav-links,
  .detail-hero-header .nav-links{
    display:flex !important;
  }
}


/* =========================================================
   DESKTOP ONLY — HIDE ACTUAL TOURS BURGER
   The Tours page header class is .tours-landing-hero, not .tours-hero-header.
   ========================================================= */
@media (min-width: 901px){
  body .tours-landing-hero .menu-btn,
  body .tours-landing-hero .nav-actions .menu-btn,
  body .tours-landing-hero button.menu-btn,
  body .tours-landing-hero .tours-visible-menu-btn,
  body .tours-landing-hero .tour-mobile-menu-button,
  body .tours-landing-hero .hamburger,
  body .tours-landing-hero .burger{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    min-width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  body .tours-landing-hero .nav-actions{
    width:auto !important;
    min-width:0 !important;
  }

  body .tours-landing-hero .book-btn{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}


/* =========================================================
   DESKTOP ONLY — ALIGN BOOK NOW BUTTON (TOURS PAGE)
   ========================================================= */
@media (min-width: 901px){
  .tours-landing-hero .nav-actions{
    align-items:center !important;
  }

  .tours-landing-hero .book-btn{
    position:relative !important;
    top:-6px !important; /* move it up slightly */
    display:inline-flex !important;
    align-items:center !important;
  }
}


/* =========================================================
   ADMIN PAGE CONTENT CMS
   Organized no-code text/media editor.
   ========================================================= */
.cms-admin-shell{
  background:#f5f7fa;
  min-height:100vh;
}

.cms-form{
  max-width:1240px;
  margin:0 auto 70px;
  padding:0 22px;
}

.cms-tabs{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:14px 0;
  background:#f5f7fa;
  scrollbar-width:none;
}

.cms-tabs::-webkit-scrollbar{display:none}

.cms-tabs button{
  border:1px solid rgba(6,31,51,.10);
  background:#fff;
  color:#061f33;
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(6,31,51,.06);
  white-space:nowrap;
}

.cms-tabs button.active{
  background:#061f33;
  color:#fff;
  border-color:#061f33;
}

.cms-panel{
  display:none;
  animation:cmsFade .18s ease;
}

.cms-panel.active{display:block}

@keyframes cmsFade{
  from{opacity:.65;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

.cms-section-title{
  margin:24px 0 18px;
}

.cms-section-title h2{
  font-size:34px;
  margin:0 0 6px;
  color:#061f33;
}

.cms-section-title p,
.cms-help{
  color:#647482;
  margin:0;
  line-height:1.55;
}

.cms-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
}

.cms-triplets{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:20px;
}

.cms-card{
  background:#fff;
  border:1px solid rgba(6,31,51,.08);
  border-radius:24px;
  padding:24px;
  box-shadow:0 22px 70px rgba(6,31,51,.07);
  margin-bottom:20px;
}

.cms-card h3{
  margin:0 0 18px;
  color:#061f33;
  font-size:22px;
}

.cms-field{
  margin-bottom:16px;
}

.cms-field label{
  display:block;
  color:#52616d;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:1.2px;
  margin-bottom:8px;
}

.cms-field input,
.cms-field textarea,
.cms-field select{
  width:100%;
  border:1px solid #d7e0e8;
  background:#f8fafc;
  border-radius:14px;
  padding:13px 14px;
  color:#061f33;
  font:inherit;
  outline:none;
}

.cms-field textarea{
  resize:vertical;
  min-height:92px;
}

.cms-field input:focus,
.cms-field textarea:focus,
.cms-field select:focus{
  border-color:#bd8742;
  box-shadow:0 0 0 4px rgba(189,135,66,.12);
}

.cms-field small,
.cms-card small{
  display:block;
  margin-top:8px;
  color:#7b8790;
  line-height:1.4;
}

.cms-media-preview{
  width:100%;
  aspect-ratio:16 / 9;
  border-radius:18px;
  overflow:hidden;
  background:#061f33;
  margin:0 0 14px;
  border:1px solid rgba(6,31,51,.08);
}

.cms-media-preview img,
.cms-media-preview video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.cms-slides-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:18px;
}

.cms-slide-item{
  position:relative;
  background:#f8fafc;
  border:1px solid #d7e0e8;
  border-radius:16px;
  padding:10px;
  overflow:hidden;
}

.cms-slide-item img,
.cms-empty-slide{
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:12px;
  object-fit:cover;
  display:grid;
  place-items:center;
  color:#647482;
  background:#e8eef3;
  font-weight:800;
  font-size:12px;
  text-align:center;
}

.cms-slide-item input[type="file"]{
  width:100%;
  margin-top:8px;
  font-size:11px;
}

.cms-slide-remove{
  position:absolute;
  top:4px;
  right:4px;
  z-index:2;
  width:28px;
  height:28px;
  border-radius:50%;
  border:0;
  background:#061f33;
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.cms-savebar{
  position:sticky;
  bottom:0;
  z-index:50;
  display:flex;
  justify-content:flex-end;
  padding:16px 0 22px;
  background:linear-gradient(180deg,rgba(245,247,250,0),#f5f7fa 35%);
}

.cms-savebar .admin-primary{
  min-width:240px;
}

.yacht-image-hero .yacht-hero-photo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

@media(max-width:900px){
  .cms-grid,
  .cms-triplets{
    grid-template-columns:1fr;
  }

  .cms-slides-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cms-card{
    padding:20px;
  }
}


/* =========================================================
   EN / ES LANGUAGE TOGGLE
   ========================================================= */
.lang-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:18px;
  margin-right:14px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  line-height:1;
}

.lang-toggle a{
  color:rgba(255,255,255,.58);
  text-decoration:none;
}

.lang-toggle a.active{
  color:#bd8742;
}

.lang-toggle span{
  color:rgba(255,255,255,.35);
}

@media(max-width:800px){
  .lang-toggle{
    position:absolute;
    top:100px;
    right:24px;
    z-index:10004;
    margin:0;
    background:rgba(6,31,51,.82);
  }

  .hero .lang-toggle{
    top:84px;
  }
}

/* Spanish mode can have slightly longer labels */
html[lang="es"] .availability-card .field span{
  letter-spacing:1.5px;
}

html[lang="es"] .book-btn{
  white-space:nowrap;
}


/* =========================================================
   MOBILE LANGUAGE TOGGLE INSIDE BURGER MENU
   Desktop keeps the clean top language toggle.
   ========================================================= */
.mobile-lang-row{
  display:none;
}

@media(min-width:801px){
  .desktop-lang-toggle{
    display:inline-flex !important;
  }
}

@media(max-width:800px){
  .desktop-lang-toggle,
  .hero > .lang-toggle,
  .site-nav > .lang-toggle{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .site-nav.nav-open .mobile-lang-row,
  .hero .site-nav.nav-open .mobile-lang-row{
    display:flex !important;
  }

  .mobile-lang-row{
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    min-height:54px !important;
    padding:12px 14px !important;
    margin-top:8px !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.045) !important;
  }

  .mobile-lang-row > span{
    color:rgba(255,255,255,.72) !important;
    font-size:12px !important;
    text-transform:uppercase !important;
    letter-spacing:2px !important;
    font-weight:900 !important;
  }

  .mobile-lang-row div{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 10px !important;
    border-radius:999px !important;
    background:rgba(6,31,51,.72) !important;
    border:1px solid rgba(189,135,66,.32) !important;
  }

  .mobile-lang-row a{
    color:rgba(255,255,255,.64) !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:950 !important;
    letter-spacing:1.1px !important;
    background:transparent !important;
    padding:0 !important;
    min-height:auto !important;
  }

  .mobile-lang-row a::after{
    display:none !important;
    content:none !important;
  }

  .mobile-lang-row a.active{
    color:#bd8742 !important;
  }

  .mobile-lang-row em{
    color:rgba(255,255,255,.35) !important;
    font-style:normal !important;
    font-weight:900 !important;
  }
}


/* Language flag spacing */
.lang-toggle a,
.mobile-lang-row a{
  white-space:nowrap !important;
}

@media(max-width:800px){
  .mobile-lang-row div{
    min-width:112px !important;
    justify-content:center !important;
  }
}


/* =========================================================
   SPANISH MOBILE HEADING LAYOUT FIX
   Prevents Spanish translations from stacking one word per line.
   ========================================================= */
html[lang="es"] .featured-section .section-title-row h2{
  max-width:92vw !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(42px, 11vw, 74px) !important;
  line-height:.98 !important;
  letter-spacing:-1px !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

html[lang="es"] .experience-section .experience-copy h2{
  max-width:92vw !important;
  font-size:clamp(42px, 12vw, 72px) !important;
  line-height:1.02 !important;
  letter-spacing:-1px !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

@media(max-width:800px){
  html[lang="es"] .featured-section .section-title-row h2{
    font-size:48px !important;
    line-height:1.02 !important;
  }

  html[lang="es"] .experience-section .experience-copy h2{
    font-size:54px !important;
    line-height:1.03 !important;
  }
}

@media(max-width:430px){
  html[lang="es"] .featured-section .section-title-row h2{
    font-size:42px !important;
  }

  html[lang="es"] .experience-section .experience-copy h2{
    font-size:46px !important;
  }
}


/* =========================================================
   SPANISH MOBILE EXPERIENCE SECTION FIX
   Stops long Spanish heading from pushing image off-screen.
   Mobile Spanish only. Desktop untouched.
   ========================================================= */
@media (max-width: 800px){
  html[lang="es"] .experience-section{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }

  html[lang="es"] .experience-section .experience-copy{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-right:24px !important;
    box-sizing:border-box !important;
  }

  html[lang="es"] .experience-section .experience-copy h2{
    width:100% !important;
    max-width:100% !important;
    font-size:40px !important;
    line-height:1.05 !important;
    letter-spacing:-0.4px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }

  html[lang="es"] .experience-section .experience-photo,
  html[lang="es"] .experience-section .experience-media{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-top:24px !important;
    margin-left:0 !important;
    transform:none !important;
  }

  html[lang="es"] .experience-section .experience-photo img,
  html[lang="es"] .experience-section .experience-media img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    display:block !important;
    object-fit:cover !important;
  }
}

@media (max-width: 430px){
  html[lang="es"] .experience-section .experience-copy h2{
    font-size:36px !important;
    line-height:1.06 !important;
  }
}


/* =========================================================
   MOBILE HOMEPAGE LOWER EXPERIENCE / FOOTER AREA LAYOUT
   Matches the clean stacked Spanish layout in English too.
   Mobile only. Desktop untouched.
   ========================================================= */
@media (max-width: 800px){
  .experience-section{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    background:#062337 !important;
  }

  .experience-section .experience-copy{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:62px 34px 58px !important;
    box-sizing:border-box !important;
  }

  .experience-section .experience-copy h2{
    width:100% !important;
    max-width:100% !important;
    font-size:46px !important;
    line-height:1.04 !important;
    letter-spacing:-0.5px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }

  .experience-section .experience-copy .outline-btn{
    max-width:360px !important;
  }

  .experience-section .experience-photo,
  .experience-section .experience-media{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-top:0 !important;
    margin-left:0 !important;
    transform:none !important;
  }

  .experience-section .experience-photo img,
  .experience-section .experience-media img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    display:block !important;
    object-fit:cover !important;
  }

  .experience-section .experience-photo aside{
    left:24px !important;
    right:24px !important;
    bottom:22px !important;
    max-width:none !important;
  }
}

@media (max-width: 430px){
  .experience-section .experience-copy{
    padding:54px 28px 52px !important;
  }

  .experience-section .experience-copy h2{
    font-size:42px !important;
    line-height:1.05 !important;
  }
}


/* =========================================================
   FOOTER CONTACT / LINKS / SOCIALS LAYOUT
   ========================================================= */
.footer{
  display:grid !important;
  grid-template-columns:minmax(220px, .85fr) minmax(360px, 1.25fr) !important;
  gap:46px 72px !important;
  align-items:start !important;
}

.footer-brand{
  grid-column:1 / -1 !important;
}

.footer-top-row{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:44px !important;
  align-items:start !important;
}

.footer-contact,
.footer-links{
  min-width:0 !important;
}

.footer-links{
  justify-self:end !important;
  text-align:left !important;
  min-width:240px !important;
}

.footer-links a{
  display:block !important;
  margin:0 0 14px !important;
  color:rgba(255,255,255,.78) !important;
  text-decoration:none !important;
}

.footer-socials{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  text-align:center !important;
  margin-top:18px !important;
}

.footer-socials a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:144px !important;
  min-height:44px !important;
  padding:0 20px !important;
  border:1px solid rgba(189,135,66,.55) !important;
  border-radius:999px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:850 !important;
  letter-spacing:.8px !important;
  background:rgba(255,255,255,.045) !important;
}

.footer-socials a::before{
  content:"◎";
  color:#bd8742;
  margin-right:10px;
  font-size:18px;
}

@media(max-width:800px){
  .footer{
    display:block !important;
  }

  .footer-top-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:26px !important;
    align-items:start !important;
    margin-top:48px !important;
  }

  .footer-links{
    justify-self:start !important;
    min-width:0 !important;
  }

  .footer-contact h4,
  .footer-links h4,
  .footer-socials h4{
    font-size:13px !important;
    letter-spacing:4px !important;
    white-space:nowrap !important;
  }

  .footer-contact p,
  .footer-links a{
    font-size:18px !important;
    line-height:1.55 !important;
  }

  .footer-socials{
    margin-top:58px !important;
    text-align:center !important;
  }
}

@media(max-width:430px){
  .footer-top-row{
    grid-template-columns:1fr 1fr !important;
    gap:18px !important;
  }

  .footer-contact p,
  .footer-links a{
    font-size:16px !important;
  }

  .footer-socials a{
    min-width:132px !important;
  }
}

/* push quick links more to the right */
.footer-links{
  justify-self:end !important;
  margin-left:auto !important;
  padding-left:40px !important;
}

@media (min-width: 900px){
  .footer-top-row{
    grid-template-columns: 1fr 1.2fr !important;
  }
}


/* =========================================================
   REAL DESKTOP NAV + EXPERIENCE SECTION FIX
   Actual classes are .desktop-lang-toggle, .book-btn, .experience-icons.
   Desktop only.
   ========================================================= */
@media (min-width: 901px){
  .site-nav .desktop-lang-toggle,
  .hero .desktop-lang-toggle,
  .desktop-lang-toggle{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:auto !important;
    min-width:116px !important;
    height:44px !important;
    padding:0 14px !important;
    white-space:nowrap !important;
    line-height:1 !important;
    writing-mode:horizontal-tb !important;
  }

  .desktop-lang-toggle a,
  .desktop-lang-toggle span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    width:auto !important;
    height:auto !important;
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
    writing-mode:horizontal-tb !important;
  }

  .site-nav .book-btn,
  .hero .book-btn,
  a.book-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:row !important;
    white-space:nowrap !important;
    min-width:142px !important;
    width:auto !important;
    height:58px !important;
    padding:0 28px !important;
    line-height:1 !important;
    writing-mode:horizontal-tb !important;
    text-align:center !important;
  }

  .site-nav .book-btn *,
  .hero .book-btn *{
    white-space:nowrap !important;
    display:inline !important;
  }

  .experience-section{
    overflow:hidden !important;
  }

  .experience-copy{
    min-width:0 !important;
    overflow:hidden !important;
  }

  .experience-photo{
    min-width:0 !important;
    overflow:hidden !important;
  }

  .experience-photo img{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .experience-icons{
    display:flex !important;
    align-items:flex-start !important;
    gap:36px !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .experience-icons span{
    font-size:inherit !important;
    min-width:0 !important;
    max-width:150px !important;
    overflow:hidden !important;
  }

  .experience-icons small{
    display:block !important;
    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:1.4px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .experience-icons span::before{
    content:none !important;
    display:none !important;
  }
}


/* =========================================================
   DESKTOP ONLY — LANGUAGE TOGGLE INLINE FINAL FIX
   Forces 🇺🇸 EN / 🇲🇽 ES side-by-side, never stacked.
   ========================================================= */
@media (min-width: 901px){
  .desktop-lang-toggle,
  .site-nav .desktop-lang-toggle,
  .hero .desktop-lang-toggle,
  nav .desktop-lang-toggle{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:168px !important;
    min-width:168px !important;
    max-width:168px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:center !important;
    line-height:1 !important;
  }

  .desktop-lang-toggle a,
  .desktop-lang-toggle span,
  .site-nav .desktop-lang-toggle a,
  .site-nav .desktop-lang-toggle span,
  .hero .desktop-lang-toggle a,
  .hero .desktop-lang-toggle span{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    line-height:1 !important;
    font-size:13px !important;
    letter-spacing:.6px !important;
    writing-mode:horizontal-tb !important;
    transform:none !important;
  }

  .desktop-lang-toggle br{
    display:none !important;
  }
}


/* =========================================================
   DESKTOP ONLY — SINGLE LANGUAGE SWITCH
   Shows only the opposite language: 🇲🇽 ES in English, 🇺🇸 EN in Spanish.
   Mobile menu stays unchanged.
   ========================================================= */
@media (min-width: 901px){
  .desktop-lang-toggle,
  .site-nav .desktop-lang-toggle,
  .hero .desktop-lang-toggle,
  nav .desktop-lang-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:88px !important;
    max-width:none !important;
    height:44px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    gap:0 !important;
  }

  .desktop-lang-toggle .single-lang-option,
  .desktop-lang-toggle a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    font-size:14px !important;
    font-weight:900 !important;
    letter-spacing:.9px !important;
    line-height:1 !important;
    color:#fff !important;
    text-decoration:none !important;
  }

  .desktop-lang-toggle span{
    display:none !important;
  }
}


/* =========================================================
   DESKTOP ONLY — HOMEPAGE SEARCH BOX TEXT ALIGNMENT
   Actual live selectors: .availability-card, .select-field, .date-field, .guest-field
   ========================================================= */
@media (min-width: 901px){
  .availability-card{
    overflow:visible !important;
  }

  .availability-card .select-field,
  .availability-card .date-field,
  .availability-card .guest-field{
    position:relative !important;
    display:grid !important;
    grid-template-columns:54px minmax(0, 1fr) 18px !important;
    align-items:center !important;
    column-gap:12px !important;
    padding-left:28px !important;
    padding-right:20px !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .availability-card .select-field > b,
  .availability-card .date-field > b,
  .availability-card .guest-field > b{
    grid-column:1 !important;
    justify-self:center !important;
    margin:0 !important;
    transform:none !important;
    position:relative !important;
    left:0 !important;
  }

  .availability-card .select-field > div,
  .availability-card .date-field > div,
  .availability-card .guest-field > div{
    grid-column:2 !important;
    min-width:0 !important;
    width:100% !important;
    padding-left:0 !important;
    margin-left:0 !important;
    transform:none !important;
  }

  .availability-card .select-field > i,
  .availability-card .guest-field > i,
  .availability-card .date-field > i{
    grid-column:3 !important;
    justify-self:end !important;
    margin:0 !important;
  }

  .availability-card .date-field span,
  .availability-card .guest-field span,
  .availability-card .select-field span{
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.1 !important;
    margin:0 0 8px 0 !important;
  }

  .availability-card .date-field input,
  .availability-card .guest-current,
  .availability-card .type-current{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.2 !important;
    margin:0 !important;
    padding:0 !important;
    position:relative !important;
    left:0 !important;
    transform:none !important;
  }

  .availability-card .date-field input::placeholder{
    opacity:.95 !important;
  }
}

/* =========================================================
   DESKTOP ONLY — FOOTER LOGO STACK TRAVEL UNDER LATITUDE
   Actual live selector: .footer-brand span + em
   ========================================================= */
@media (min-width: 901px){
  .footer .footer-brand,
  .footer-brand{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    line-height:1 !important;
    white-space:normal !important;
  }

  .footer .footer-brand span,
  .footer-brand span{
    display:block !important;
    line-height:.9 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer .footer-brand em,
  .footer-brand em{
    display:block !important;
    line-height:1 !important;
    margin-top:6px !important;
    margin-left:3px !important;
    padding:0 !important;
    letter-spacing:.55em !important;
    font-size:.30em !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   DESKTOP ONLY — REFINED SEARCH TEXT POSITION + FOOTER LOGO
   ========================================================= */
@media (min-width: 901px){

  /* Move field text slightly right so labels/values sit cleanly inside boxes */
  .availability-card .field{
    box-sizing:border-box !important;
  }

  .availability-card .field-type > div,
  .availability-card .field-date-single > div,
  .availability-card .field-checkin > div,
  .availability-card .field-checkout > div,
  .availability-card .field-guests .guest-trigger > div{
    padding-left:22px !important;
    margin-left:0 !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .availability-card .field-date-single input,
  .availability-card .field-checkin input,
  .availability-card .field-checkout input{
    padding-left:22px !important;
    box-sizing:border-box !important;
  }

  .availability-card .type-current,
  .availability-card .guest-current,
  .availability-card .field input{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Undo previous tiny/far TRAVEL styling and place it directly below LATITUDE */
  .footer .footer-brand,
  .footer-brand{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    line-height:1 !important;
  }

  .footer .footer-brand span,
  .footer-brand span{
    display:block !important;
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer .footer-brand em,
  .footer-brand em{
    display:block !important;
    margin-top:4px !important;
    margin-left:1px !important;
    padding:0 !important;
    line-height:1 !important;
    font-size:18px !important;
    letter-spacing:9px !important;
    transform:none !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   DESKTOP ONLY — PRECISE CHECK-IN/CHECK-OUT + FOOTER LOGO FIX
   Live selectors from Yacht152.
   ========================================================= */
@media (min-width: 901px){

  /* Move only the date/check-in/check-out text right so it clears the icon */
  .availability-card .field-date-single input,
  .availability-card .field-checkin input,
  .availability-card .field-checkout input{
    padding-left:52px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    position:relative !important;
    left:0 !important;
    transform:none !important;
  }

  .availability-card .field-date-single span,
  .availability-card .field-checkin span,
  .availability-card .field-checkout span{
    padding-left:52px !important;
    box-sizing:border-box !important;
    width:100% !important;
    display:block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Keep icon fixed on left so text does not overlap */
  .availability-card .field-date-single > b,
  .availability-card .field-checkin > b,
  .availability-card .field-checkout > b{
    position:absolute !important;
    left:28px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    z-index:2 !important;
  }

  /* Footer logo: force TRAVEL directly below BLUE LATITUDE, not centered far away */
  .footer .footer-brand,
  footer .footer-brand,
  .footer-brand{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    width:max-content !important;
    max-width:max-content !important;
    gap:0 !important;
    line-height:1 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .footer .footer-brand span,
  footer .footer-brand span,
  .footer-brand span{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    line-height:.92 !important;
    text-align:left !important;
  }

  .footer .footer-brand em,
  footer .footer-brand em,
  .footer-brand em{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    margin:5px 0 0 3px !important;
    padding:0 !important;
    line-height:1 !important;
    text-align:left !important;
    font-size:13px !important;
    letter-spacing:8px !important;
    transform:none !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   UPLOAD IMAGE REPAIR — clean image display only
   ========================================================= */
.experience-photo{
  position:relative !important;
  overflow:hidden !important;
  background:#062337 !important;
  transform:none !important;
}

.experience-photo::before,
.experience-photo::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

.experience-photo img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  rotate:0deg !important;
  margin:0 !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media (min-width:901px){
  .experience-photo img{
    height:100% !important;
    min-height:520px !important;
  }
}

@media (max-width:800px){
  .experience-photo img{
    height:auto !important;
    min-height:0 !important;
  }
}


/* =========================================================
   ADMIN HOME HERO POSITION CONTROLS
   ========================================================= */
.hero-position-preview{
  position:relative !important;
  min-height:220px !important;
  overflow:hidden !important;
  background-image:var(--preview-img) !important;
  background-size:var(--preview-zoom) auto !important;
  background-position:var(--preview-x) var(--preview-y) !important;
  background-repeat:no-repeat !important;
  background-color:#061f33 !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

.hero-position-preview img{
  display:none !important;
}

.hero-position-controls{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}

.hero-position-controls h4{
  margin:0 0 6px;
  color:#fff;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.hero-position-controls p{
  margin:0 0 14px;
  color:rgba(255,255,255,.62);
  font-size:13px;
}

.hero-position-controls input[type="range"]{
  width:100%;
  accent-color:#bd8742;
}

/* ================= MOBILE ADMIN HERO FIX ================= */
@media (max-width: 768px){

  .hero-position-preview{
    width:100% !important;
    max-width:100% !important;
    min-height:160px !important;
    border-radius:14px !important;
  }

  .hero-position-controls{
    padding:12px !important;
    overflow:hidden !important;
  }

  .hero-position-controls .cms-field{
    width:100% !important;
  }

  .hero-position-controls input[type="range"]{
    width:100% !important;
  }

  .cms-media-preview,
  .hero-position-preview{
    overflow:hidden !important;
  }

  .admin-container,
  main,
  body{
    overflow-x:hidden !important;
  }

}


/* =========================================================
   MULTI PHOTO ADMIN / DETAIL GALLERY
   ========================================================= */
.current-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:14px;
  margin:14px 0 18px;
}

.current-photo-card{
  display:block;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
}

.current-photo-card img{
  width:100%;
  height:110px;
  object-fit:cover;
  display:block;
}

.current-photo-card span{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px;
  font-size:13px;
}

.detail-gallery{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  max-width:1100px;
  margin:0 auto 28px;
}

.detail-gallery .detail-img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:cover;
  display:block;
}

@media(min-width:900px){
  .detail-gallery{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .detail-gallery .detail-img.primary{
    grid-column:1 / -1;
  }
}


/* =========================================================
   LISTING GALLERY + PHOTO REORDER
   ========================================================= */
.current-photo-card{
  cursor:grab;
  position:relative;
}

.current-photo-card.dragging{
  opacity:.55;
  outline:2px solid #bd8742;
}

.photo-order-tools{
  display:flex;
  gap:6px;
  padding:0 10px 10px;
}

.photo-order-btn{
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:999px;
  min-width:36px;
  min-height:30px;
  font-weight:800;
}

.listing-gallery{
  position:relative;
  max-width:1100px;
  margin:0 auto 28px;
}

.gallery-main{
  position:relative;
  overflow:hidden;
  background:#08263b;
}

.gallery-slide{
  display:none;
  width:100%;
  max-height:720px;
  object-fit:cover;
}

.gallery-slide.active{
  display:block;
}

.gallery-arrow{
  position:absolute;
  top:42%;
  z-index:5;
  width:52px;
  height:52px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.94);
  color:#08263b;
  font-size:38px;
  line-height:1;
  font-weight:700;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.gallery-prev{ left:14px; }
.gallery-next{ right:14px; }

.gallery-thumbs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:12px 0 2px;
}

.gallery-thumb{
  flex:0 0 92px;
  height:68px;
  padding:0;
  border:2px solid transparent;
  border-radius:10px;
  overflow:hidden;
  background:none;
}

.gallery-thumb.active{
  border-color:#bd8742;
}

.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.yacht-price-lines{
  display:grid;
  gap:4px;
}

.yacht-price-lines .promo-price strong,
.listing-price-lines h3:nth-child(3){
  color:#bd8742;
}

@media(max-width:800px){
  .gallery-arrow{
    width:44px;
    height:44px;
    font-size:32px;
  }

  .gallery-thumb{
    flex-basis:74px;
    height:56px;
  }
}


/* =========================================================
   MOBILE HERO CLEAN RESTORE
   Restores the original mobile structure and prevents the hero image
   from sliding beside/behind the logo. Desktop positioning is untouched.
   ========================================================= */
@media (max-width:800px){
  .hero{
    display:block !important;
    position:relative !important;
    overflow:hidden !important;
    background:#062337 !important;
    background-image:none !important;
  }

  .hero .site-nav{
    display:flex !important;
    width:100% !important;
    position:relative !important;
    z-index:20 !important;
    background:rgba(4,25,42,.82) !important;
  }

  .hero .mobile-hero-photo{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:52vh !important;
    min-height:360px !important;
    max-height:540px !important;
    overflow:hidden !important;
    position:relative !important;
    clear:both !important;
    margin:0 !important;
    background:#062337 !important;
  }

  .hero .mobile-hero-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .hero .hero-copy{
    position:relative !important;
    z-index:3 !important;
    margin-top:0 !important;
  }
}

/* =========================================================
   FINAL MOBILE HERO RESTORE — MOBILE ONLY
   Fixes the broken stacked hero by putting logo/menu/text/search
   back over the hero photo. Desktop is untouched.
   ========================================================= */
@media (max-width: 800px){

  .hero{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:860px !important;
    min-height:860px !important;
    padding:28px 30px 0 !important;
    overflow:hidden !important;
    color:#fff !important;
    background:#061f33 !important;
    background-image:none !important;
  }

  .hero::before{
    display:none !important;
    content:none !important;
  }

  .hero .mobile-hero-photo{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    margin:0 !important;
    background:#061f33 !important;
  }

  .hero .mobile-hero-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    margin:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
  }

  .hero .mobile-hero-photo::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    pointer-events:none !important;
    background:
      linear-gradient(180deg,
        rgba(4,18,31,.72) 0%,
        rgba(4,18,31,.20) 35%,
        rgba(4,18,31,.50) 58%,
        rgba(4,18,31,.92) 78%,
        rgba(4,18,31,1) 100%),
      linear-gradient(90deg,
        rgba(4,18,31,.55) 0%,
        rgba(4,18,31,.20) 52%,
        rgba(4,18,31,.08) 100%) !important;
  }

  .hero .site-nav{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    height:78px !important;
    z-index:30 !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:14px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
  }

  .hero .brand{
    display:inline-flex !important;
    flex-direction:column !important;
    color:#fff !important;
    text-shadow:0 4px 18px rgba(0,0,0,.52) !important;
    filter:none !important;
    min-width:0 !important;
    max-width:calc(100vw - 110px) !important;
  }

  .hero .brand span{
    font-size:25px !important;
    line-height:1 !important;
    letter-spacing:3.7px !important;
    max-width:285px !important;
    white-space:normal !important;
  }

  .hero .brand em{
    align-self:center !important;
    color:#bd8742 !important;
    font-size:10px !important;
    letter-spacing:8px !important;
    margin-top:10px !important;
    margin-left:0 !important;
    text-shadow:0 4px 14px rgba(0,0,0,.45) !important;
  }

  .hero .nav-links,
  .hero .book-btn,
  .hero .desktop-lang-toggle{
    display:none !important;
  }

  .hero .nav-actions{
    position:relative !important;
    z-index:31 !important;
    margin-left:auto !important;
    padding-top:5px !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:0 !important;
  }

  .hero .menu-btn{
    display:block !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.45)) !important;
  }

  .hero .menu-btn span{
    display:block !important;
    width:29px !important;
    height:3px !important;
    margin:5px auto !important;
    background:#bd8742 !important;
  }

  .hero .hero-copy{
    position:relative !important;
    z-index:10 !important;
    max-width:335px !important;
    margin:318px 0 0 !important;
    padding:0 !important;
    background:transparent !important;
  }

  .hero .hero-copy .eyebrow{
    display:block !important;
    color:#c38b45 !important;
    font-size:11px !important;
    line-height:1.3 !important;
    letter-spacing:2.35px !important;
    margin:0 0 14px !important;
    text-transform:uppercase !important;
    text-shadow:0 4px 14px rgba(0,0,0,.45) !important;
  }

  .hero .hero-copy .eyebrow::after{
    content:"" !important;
    display:inline-block !important;
    width:42px !important;
    height:1px !important;
    background:#bd8742 !important;
    margin:0 0 4px 12px !important;
  }

  .hero .hero-copy h1{
    color:#fff !important;
    font-size:41px !important;
    line-height:1.03 !important;
    letter-spacing:-.35px !important;
    margin:0 0 18px !important;
    text-shadow:0 5px 22px rgba(0,0,0,.50) !important;
  }

  .hero .hero-copy p:not(.eyebrow){
    color:rgba(255,255,255,.96) !important;
    max-width:320px !important;
    font-size:15px !important;
    line-height:1.55 !important;
    margin:0 0 22px !important;
    text-shadow:0 3px 14px rgba(0,0,0,.42) !important;
  }

  .hero .hero-copy .gold-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:20px !important;
    min-width:240px !important;
    width:auto !important;
    min-height:58px !important;
    padding:16px 25px !important;
    color:#fff !important;
    font-size:12px !important;
    letter-spacing:2.45px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    background:linear-gradient(135deg,#b47b34,#cf9848) !important;
    box-shadow:0 16px 34px rgba(0,0,0,.22) !important;
  }

  .hero .availability-card{
    position:absolute !important;
    left:30px !important;
    right:30px !important;
    bottom:0 !important;
    transform:none !important;
    z-index:15 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    margin:0 !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    border-radius:14px 14px 0 0 !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.22) !important;
    background:rgba(4,26,43,.98) !important;
    box-shadow:0 -8px 30px rgba(0,0,0,.16),0 18px 42px rgba(0,0,0,.22) !important;
  }

  .hero .availability-card .field{
    min-height:70px !important;
    height:auto !important;
    padding:13px 42px 12px 76px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.145) !important;
    justify-content:center !important;
    gap:2px !important;
  }

  .hero .availability-card .field i{
    display:block !important;
    left:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  .hero .availability-card .field span{
    font-size:10px !important;
    letter-spacing:1.15px !important;
    color:rgba(214,224,231,.75) !important;
  }

  .hero .availability-card .field strong,
  .hero .availability-card .field input{
    color:#fff !important;
    font-size:15px !important;
    min-height:20px !important;
    font-weight:700 !important;
  }

  .hero .availability-card .field em{
    display:block !important;
    position:absolute !important;
    right:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-style:normal !important;
    color:#fff !important;
    font-size:22px !important;
    opacity:.94 !important;
  }

  .hero .availability-card button[type="submit"]{
    min-height:56px !important;
    height:auto !important;
    width:100% !important;
    justify-content:center !important;
    padding:0 15px !important;
    font-size:11px !important;
    letter-spacing:3.3px !important;
    background:linear-gradient(135deg,#b47b34,#cf9848) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .featured-section{
    padding-top:30px !important;
  }
}

@media (max-width:430px){
  .hero{
    height:835px !important;
    min-height:835px !important;
    padding-left:26px !important;
    padding-right:26px !important;
  }

  .hero .hero-copy{
    margin-top:292px !important;
    max-width:320px !important;
  }

  .hero .hero-copy h1{
    font-size:37px !important;
  }

  .hero .availability-card{
    left:26px !important;
    right:26px !important;
  }
}

@media (max-width:390px){
  .hero{
    height:805px !important;
    min-height:805px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .hero .brand span{
    font-size:23px !important;
    letter-spacing:3.1px !important;
    max-width:245px !important;
  }

  .hero .brand em{
    font-size:9px !important;
    letter-spacing:7px !important;
  }

  .hero .hero-copy{
    margin-top:270px !important;
    max-width:300px !important;
  }

  .hero .hero-copy h1{
    font-size:33px !important;
  }

  .hero .hero-copy p:not(.eyebrow){
    font-size:13px !important;
    max-width:285px !important;
  }

  .hero .availability-card{
    left:24px !important;
    right:24px !important;
  }

  .hero .availability-card .field{
    min-height:64px !important;
  }
}

/* =========================================================
   FINAL LISTING GALLERY FOR YACHTS / VILLAS / TOURS
   Public detail page uses this same gallery for every listing type.
   ========================================================= */
.current-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:14px;
  margin:14px 0 18px;
}

.current-photo-card{
  display:block;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  cursor:grab;
  position:relative;
}

.current-photo-card.dragging{
  opacity:.55;
  outline:2px solid #bd8742;
}

.current-photo-card img{
  width:100%;
  height:110px;
  object-fit:cover;
  display:block;
}

.current-photo-card span{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px;
  font-size:13px;
}

.photo-order-tools{
  display:flex;
  gap:6px;
  padding:0 10px 10px;
}

.photo-order-btn{
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:999px;
  min-width:36px;
  min-height:30px;
  font-weight:800;
}

.listing-gallery{
  position:relative;
  max-width:1100px;
  margin:0 auto 28px;
}

.gallery-main{
  position:relative;
  overflow:hidden;
  background:#08263b;
  border-radius:0;
}

.gallery-slide{
  display:none;
  width:100%;
  height:min(68vh, 720px);
  min-height:360px;
  object-fit:cover;
}

.gallery-slide.active{
  display:block;
}

.gallery-arrow{
  position:absolute;
  top:42%;
  z-index:5;
  width:52px;
  height:52px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.94);
  color:#08263b;
  font-size:38px;
  line-height:1;
  font-weight:700;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.gallery-prev{ left:14px; }
.gallery-next{ right:14px; }

.gallery-thumbs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:12px 0 2px;
  -webkit-overflow-scrolling:touch;
}

.gallery-thumb{
  flex:0 0 92px;
  height:68px;
  padding:0;
  border:2px solid transparent;
  border-radius:10px;
  overflow:hidden;
  background:none;
}

.gallery-thumb.active{
  border-color:#bd8742;
}

.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:800px){
  .listing-gallery{
    margin-bottom:24px;
  }

  .gallery-slide{
    height:320px;
    min-height:320px;
  }

  .gallery-arrow{
    width:44px;
    height:44px;
    font-size:32px;
  }

  .gallery-thumb{
    flex-basis:74px;
    height:56px;
  }
}

/* =========================================================
   SEARCH + LISTING HEADER 801 DESKTOP FIX
   Starts at 801px because the site's desktop/tablet rules start there.
   This avoids missing desktop-mode Safari widths below 1024px.
   Mobile max-width:800 remains untouched.
   ========================================================= */
@media (min-width: 801px){

  .standard-page-header.search-hero-header,
  .standard-page-header.detail-hero-header{
    width:100% !important;
    height:126px !important;
    min-height:126px !important;
    padding:0 !important;
    margin:0 !important;
    background:#061f33 !important;
    background-image:none !important;
    overflow:visible !important;
    display:block !important;
    position:relative !important;
    z-index:10 !important;
  }

  .standard-page-header.search-hero-header .site-nav,
  .standard-page-header.detail-hero-header .site-nav{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    height:126px !important;
    min-height:126px !important;
    padding:32px 6.8vw 0 !important;
    margin:0 !important;
    background:#061f33 !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:30px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .standard-page-header.search-hero-header .brand,
  .standard-page-header.detail-hero-header .brand{
    color:#fff !important;
    font-family:Georgia,serif !important;
    text-transform:uppercase !important;
    display:inline-flex !important;
    flex-direction:column !important;
    letter-spacing:4px !important;
    line-height:.95 !important;
    margin:0 !important;
    padding:0 !important;
    min-width:auto !important;
    max-width:none !important;
    filter:none !important;
    opacity:1 !important;
  }

  .standard-page-header.search-hero-header .brand span,
  .standard-page-header.detail-hero-header .brand span{
    color:#fff !important;
    font-size:28px !important;
    letter-spacing:4px !important;
    line-height:.95 !important;
    white-space:nowrap !important;
    max-width:none !important;
    opacity:1 !important;
  }

  .standard-page-header.search-hero-header .brand em,
  .standard-page-header.detail-hero-header .brand em{
    align-self:center !important;
    color:#bd8742 !important;
    font-style:normal !important;
    font-size:12px !important;
    letter-spacing:8px !important;
    margin-top:10px !important;
    margin-left:0 !important;
    padding-left:0 !important;
    opacity:1 !important;
  }

  .standard-page-header.search-hero-header .nav-links,
  .standard-page-header.detail-hero-header .nav-links{
    display:flex !important;
    position:static !important;
    align-items:flex-start !important;
    gap:42px !important;
    margin-left:auto !important;
    padding:8px 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-transform:uppercase !important;
    font-size:12px !important;
    letter-spacing:2.3px !important;
    color:#d9e2e8 !important;
    white-space:nowrap !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .standard-page-header.search-hero-header .nav-links a,
  .standard-page-header.detail-hero-header .nav-links a{
    color:#d9e2e8 !important;
    background:transparent !important;
    min-height:auto !important;
    padding:0 !important;
    display:inline-block !important;
  }

  .standard-page-header.search-hero-header .nav-links a::after,
  .standard-page-header.detail-hero-header .nav-links a::after{
    content:none !important;
    display:none !important;
  }

  .standard-page-header.search-hero-header .mobile-lang-row,
  .standard-page-header.detail-hero-header .mobile-lang-row{
    display:none !important;
  }

  .standard-page-header.search-hero-header .nav-actions,
  .standard-page-header.detail-hero-header .nav-actions{
    display:flex !important;
    align-items:flex-start !important;
    gap:18px !important;
    margin-left:0 !important;
    padding-top:0 !important;
    width:auto !important;
    min-width:0 !important;
    flex:0 0 auto !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .standard-page-header.search-hero-header .desktop-lang-toggle,
  .standard-page-header.detail-hero-header .desktop-lang-toggle{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .standard-page-header.search-hero-header .book-btn,
  .standard-page-header.detail-hero-header .book-btn{
    display:inline-flex !important;
    border:1px solid rgba(189,135,66,.9) !important;
    color:#fff !important;
    background:transparent !important;
    text-transform:uppercase !important;
    letter-spacing:2px !important;
    font-size:12px !important;
    font-weight:700 !important;
    padding:15px 27px !important;
    min-height:auto !important;
    height:auto !important;
    white-space:nowrap !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  .standard-page-header.search-hero-header .menu-btn,
  .standard-page-header.detail-hero-header .menu-btn{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .search-results-page{
    padding-top:70px !important;
  }

  .detail{
    padding-top:55px !important;
  }
}

@media (min-width:801px) and (max-width:1280px){

  .standard-page-header.search-hero-header .site-nav,
  .standard-page-header.detail-hero-header .site-nav{
    padding-left:4.5vw !important;
    padding-right:4.5vw !important;
    gap:24px !important;
  }

  .standard-page-header.search-hero-header .brand span,
  .standard-page-header.detail-hero-header .brand span{
    font-size:24px !important;
    letter-spacing:3.2px !important;
  }

  .standard-page-header.search-hero-header .brand em,
  .standard-page-header.detail-hero-header .brand em{
    font-size:10px !important;
    letter-spacing:6.5px !important;
  }

  .standard-page-header.search-hero-header .nav-links,
  .standard-page-header.detail-hero-header .nav-links{
    gap:28px !important;
    font-size:10px !important;
    letter-spacing:1.8px !important;
  }

  .standard-page-header.search-hero-header .nav-actions,
  .standard-page-header.detail-hero-header .nav-actions{
    gap:14px !important;
  }

  .standard-page-header.search-hero-header .book-btn,
  .standard-page-header.detail-hero-header .book-btn{
    padding-left:18px !important;
    padding-right:18px !important;
    font-size:10px !important;
  }
}

/* =========================================================
   HOME REVIEWS REEL
   Premium GetMyBoat-style review cards between Featured Yachts
   and the lower homepage sections. Hard-coded, auto-scrolling.
   ========================================================= */
.reviews-reel-section{
  background:#061f33;
  color:#fff;
  padding:72px 0 78px;
  overflow:hidden;
  position:relative;
}

.reviews-reel-section::before,
.reviews-reel-section::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:12vw;
  z-index:3;
  pointer-events:none;
}

.reviews-reel-section::before{
  left:0;
  background:linear-gradient(90deg,#061f33 0%,rgba(6,31,51,0) 100%);
}

.reviews-reel-section::after{
  right:0;
  background:linear-gradient(270deg,#061f33 0%,rgba(6,31,51,0) 100%);
}

.reviews-reel-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 38px;
  padding:0 6.8vw;
  position:relative;
  z-index:4;
}

.reviews-reel-heading .center-eyebrow{
  margin-bottom:12px;
}

.reviews-reel-heading h2{
  font-family:Georgia,serif;
  font-weight:400;
  text-transform:uppercase;
  font-size:44px;
  line-height:1.05;
  margin:0 0 16px;
  color:#fff;
}

.reviews-reel-heading p:not(.center-eyebrow){
  margin:0 auto;
  color:#cbd8df;
  font-size:16px;
  line-height:1.7;
}

.reviews-reel{
  width:100%;
  overflow:hidden;
  position:relative;
  z-index:2;
}

.reviews-reel-track{
  display:flex;
  align-items:stretch;
  gap:26px;
  width:max-content;
  animation:reviewsReelScroll 44s linear infinite;
  will-change:transform;
  padding:0 26px;
}

.reviews-reel:hover .reviews-reel-track{
  animation-play-state:paused;
}

.review-reel-card{
  width:520px;
  min-height:230px;
  flex:0 0 520px;
  border:1px solid rgba(189,135,66,.42);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    rgba(4,25,41,.92);
  box-shadow:0 20px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  padding:22px 24px 26px;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}

.review-reel-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.035);
  pointer-events:none;
}

.review-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
  color:#dbe7ec;
}

.review-platform{
  font-size:16px;
  font-weight:700;
  letter-spacing:.2px;
}

.review-date{
  font-size:15px;
  color:#b8c8d1;
  white-space:nowrap;
}

.review-stars{
  color:#d39a49;
  letter-spacing:4px;
  font-size:17px;
  line-height:1;
  margin-bottom:14px;
}

.review-reel-card h3{
  margin:0 0 8px;
  color:#fff;
  font-size:24px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:.2px;
}

.review-reel-card p{
  margin:0;
  color:#d4dee4;
  font-size:20px;
  line-height:1.28;
  letter-spacing:.1px;
}

.review-gold-line{
  width:56px;
  height:3px;
  background:#d39a49;
  margin-top:auto;
  display:block;
}

@keyframes reviewsReelScroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50%));}
}

@media(max-width:800px){
  .reviews-reel-section{
    padding:48px 0 56px;
  }

  .reviews-reel-heading{
    margin-bottom:26px;
    padding:0 30px;
  }

  .reviews-reel-heading h2{
    font-size:31px;
    line-height:1.08;
  }

  .reviews-reel-heading p:not(.center-eyebrow){
    font-size:14px;
    line-height:1.55;
  }

  .reviews-reel-track{
    gap:18px;
    padding:0 18px;
    animation-duration:38s;
  }

  .review-reel-card{
    width:330px;
    min-height:238px;
    flex-basis:330px;
    border-radius:15px;
    padding:19px 19px 22px;
  }

  .review-platform{
    font-size:14px;
  }

  .review-date{
    font-size:13px;
  }

  .review-stars{
    font-size:15px;
    letter-spacing:3px;
    margin-bottom:13px;
  }

  .review-reel-card h3{
    font-size:22px;
  }

  .review-reel-card p{
    font-size:18px;
    line-height:1.28;
  }
}

@media(max-width:390px){
  .review-reel-card{
    width:304px;
    flex-basis:304px;
  }

  .review-reel-card p{
    font-size:17px;
  }
}

@media(prefers-reduced-motion:reduce){
  .reviews-reel-track{
    animation:none;
  }
}
