/* ============================================================
   EBO Stay — Luxe UI Refresh
   A presentation-only layer. Booking, payment, and form logic remain unchanged.
   ============================================================ */

:root{
  --luxe-ink:#10243f;
  --luxe-muted:#63738a;
  --luxe-surface:#ffffff;
  --luxe-line:rgba(18,48,83,.10);
  --luxe-shadow:0 18px 55px rgba(16,36,63,.12);
  --luxe-shadow-hover:0 28px 70px rgba(16,36,63,.18);
}

body{
  background:
    radial-gradient(circle at 3% 3%, color-mix(in srgb,var(--primary) 7%,transparent) 0, transparent 20rem),
    radial-gradient(circle at 97% 24%, color-mix(in srgb,var(--secondary) 6%,transparent) 0, transparent 28rem),
    #f7f9fc;
  color:var(--luxe-ink);
}

/* Header: a restrained, glass-like navigation frame. */
.ebo-header{
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 30px rgba(4,15,32,.12);
}
.ebo-header-inner{min-height:82px;gap:34px;}
.ebo-header.scrolled .ebo-header-inner{min-height:66px;}
.ebo-nav-links>li>a,.ebo-mega-trigger{letter-spacing:.01em;}
.ebo-nav-links>li>a:hover,.ebo-mega-trigger:hover,
.ebo-has-mega:hover .ebo-mega-trigger,.ebo-has-mega.active .ebo-mega-trigger{
  background:rgba(255,255,255,.13);
}
.ebo-mega-panel{
  border:1px solid rgba(15,35,61,.08);
  border-top:3px solid var(--primary);
  box-shadow:0 24px 55px rgba(5,19,41,.19);
  border-radius:20px;
}
.ebo-mega-card{border-radius:12px;}
.ebo-mega-card:hover{background:linear-gradient(135deg,#fff8f3,#ffffff);}
.ebo-btn{border-radius:12px;}
.ebo-btn-whatsapp{box-shadow:0 8px 18px rgba(37,211,102,.26);}

/* Hero: layered colour and a sharper focal area without depending on a photo asset. */
.hero{
  min-height:92vh;
  padding:164px 0 118px;
  isolation:isolate;
}
.hero::before{
  width:720px;height:720px;top:-42%;right:-16%;
  background:radial-gradient(circle, color-mix(in srgb,var(--primary) 30%,transparent) 0, transparent 68%);
}
.hero::after{
  width:590px;height:590px;bottom:-36%;left:-15%;
  background:radial-gradient(circle,rgba(48,156,220,.22) 0,transparent 67%);
}
.hero .container{max-width:1180px;}
.hero-badge{
  border-color:rgba(255,255,255,.33);
  background:rgba(255,255,255,.14);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  font-size:12.5px;
  padding:9px 17px;
}
.hero h1{max-width:950px;margin-left:auto;margin-right:auto;text-wrap:balance;}
.hero h1 .hl{
  color:#fff;
  background:linear-gradient(100deg,#ffc985 0%,#fff0cf 48%,#ffc985 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{text-wrap:balance;max-width:690px;}

/* Search becomes a raised, carefully spaced booking module. */
.hero-search{
  max-width:1030px;
  padding:9px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:22px;
  box-shadow:0 28px 70px rgba(4,17,38,.30),0 2px 0 rgba(255,255,255,.6) inset;
}
.hs-field{
  min-height:58px;
  border-radius:14px;
  transition:background .2s ease,box-shadow .2s ease;
}
.hs-field:hover,.hs-field:focus-within{background:#f7fafc;box-shadow:0 0 0 1px rgba(16,36,63,.06);}
.hs-field-main{padding-left:18px;}
.hs-icon{color:var(--primary);}
.hs-label{color:#75839a;font-weight:700;letter-spacing:.02em;}
.hs-field input,.hs-field select,.hs-date-display,.hs-guests-display{font-weight:600;color:var(--luxe-ink);}
.hs-field input::placeholder{color:#8c9aad;font-weight:500;}
.hs-sep{margin:13px 0;background:#e8edf3;}
.hs-submit{
  min-height:58px;
  border-radius:15px;
  padding:16px 30px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  box-shadow:0 10px 20px color-mix(in srgb,var(--primary) 33%,transparent);
}
.hs-autocomplete,.hs-guests-panel,.hs-calendar-panel{
  border-radius:18px;
  border-color:var(--luxe-line);
  box-shadow:0 24px 60px rgba(16,36,63,.20);
}
.hs-autocomplete-item:hover,.hs-autocomplete-item.active{background:#fff8f3;}
.hs-guests-done{border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));}

.hero-trust-row{gap:18px;margin-top:17px;}
.hero-trust-item{
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,18,38,.16);
  border-radius:14px;
  backdrop-filter:blur(8px);
}
.hero-trust-item svg{color:#ffd294;}
.hero-stats-bar{
  max-width:1030px;margin:31px auto 0;
  padding:22px 30px;border-radius:22px;
  background:linear-gradient(100deg,rgba(5,17,37,.64),rgba(17,44,73,.48));
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.hero-stat-item svg{color:#ffd294;}

/* Shared sections, cards, and content panels. */
.section{padding:100px 0;}
.section.light,.testimonials-section{background:linear-gradient(180deg,rgba(238,244,250,.78),rgba(247,249,252,.72));}
.section-header{margin-bottom:48px;}
.section-header h1,.section-header h2,.package-detail h1{color:var(--luxe-ink);}
.section-header h2::after{
  content:'';display:block;width:48px;height:4px;margin:16px auto 0;border-radius:999px;
  background:linear-gradient(90deg,var(--primary),#ffd184);
}
.section-header p{color:var(--luxe-muted);}
.grid{gap:28px;}

.card,.feature-card,.testimonial-card,.booking-box,.confirmation-box{
  background:rgba(255,255,255,.94);
  border:1px solid var(--luxe-line);
  box-shadow:0 12px 34px rgba(16,36,63,.07);
}
.card{border-radius:22px;}
.card:hover{
  transform:translateY(-10px);
  border-color:color-mix(in srgb,var(--primary) 34%,white);
  box-shadow:var(--luxe-shadow-hover);
}
.card-img-wrap{background:linear-gradient(135deg,#dbe5ee,#f5f7fa);}
.card-img-wrap::after{opacity:1;background:linear-gradient(180deg,transparent 45%,rgba(7,23,46,.34) 100%);}
.card:hover .card-img-wrap::after{opacity:1;}
.badge-deal{top:16px;left:16px;border:1px solid rgba(255,255,255,.34);}
.card-body{padding:23px 23px 24px;}
.card-body h3{color:var(--luxe-ink);font-size:18px;}
.card-body .meta{color:var(--luxe-muted);}
.card-body .price{color:var(--primary-dark);}
.amenity-chip{background:#f6f8fb;border-color:#e9eef4;color:#58687d;}
.card-footer-btns{border-top-color:#edf1f5;}
.btn-card{border-radius:12px;font-weight:700;}
.btn-card-details{background:#f6f8fb;border-color:#e6edf4;color:var(--luxe-ink);}
.btn-card-details:hover{background:var(--secondary);}

.feature-card{border-radius:22px;padding:38px 30px;}
.feature-card::before{height:4px;background:linear-gradient(90deg,var(--primary),#ffd184,var(--secondary));}
.feature-card:hover{box-shadow:var(--luxe-shadow);}
.feature-icon{border-radius:20px;background:color-mix(in srgb,var(--primary) 11%,white);}
.feature-card h3{color:var(--luxe-ink);}
.feature-card p{color:var(--luxe-muted);}
.testimonial-card{border-radius:22px;}
.testimonial-card:hover{box-shadow:var(--luxe-shadow);}
.testimonial-card p{color:#415167;}
.reviewer-avatar{box-shadow:0 8px 16px color-mix(in srgb,var(--primary) 22%,transparent);}

/* Buttons and all form controls share one clear interaction language. */
.btn{border-radius:13px;font-weight:700;letter-spacing:.01em;}
.btn-primary{box-shadow:0 11px 22px color-mix(in srgb,var(--primary) 28%,transparent);}
.btn-primary:hover{box-shadow:0 16px 28px color-mix(in srgb,var(--primary) 36%,transparent);}
.form-group label{color:#34445b;font-weight:700;}
.form-group input:not([type="radio"]):not([type="checkbox"]),.form-group select,.form-group textarea,
.filter-input,.filter-select{
  border-color:#dfe7ef;border-radius:12px;background:#fff;color:var(--luxe-ink);
}
.form-group input:not([type="radio"]):not([type="checkbox"]):focus,.form-group select:focus,.form-group textarea:focus,
.filter-input:focus,.filter-select:focus{
  border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 13%,transparent);
}
.filter-bar{padding:12px;border-radius:17px;background:#fff;border:1px solid var(--luxe-line);box-shadow:0 8px 22px rgba(16,36,63,.05);}
.booking-box{border-radius:22px;box-shadow:var(--luxe-shadow);}
.booking-box .price-display{color:var(--primary-dark);}
.detail-block h3{border-bottom-color:var(--primary);}
.package-hero{border-radius:22px;box-shadow:var(--luxe-shadow);}
.confirmation-box{border-radius:24px;}

/* Footer and floating support button. */
footer{
  margin-top:104px;
  padding-top:80px;
  background:
    radial-gradient(circle at 10% 0, color-mix(in srgb,var(--primary) 17%,transparent), transparent 28rem),
    linear-gradient(150deg,var(--secondary-dark),var(--secondary));
}
footer::before{height:2px;background:linear-gradient(90deg,transparent,var(--primary-light),#ffd184,var(--primary-light),transparent);}
footer h4{font-size:16px;}
footer ul li a:hover{color:#ffd294;}
.wa-float{
  width:60px;height:60px;right:26px;bottom:28px;
  border:3px solid rgba(255,255,255,.8);
  box-shadow:0 12px 28px rgba(10,93,49,.34);
}

@media (max-width:1024px){
  .ebo-header-inner{min-height:74px;}
  .hero{padding:142px 0 98px;min-height:auto;}
  .section{padding:80px 0;}
}

@media (max-width:900px){
  .hero-search{border-radius:18px;padding:8px;}
  .hs-field{min-height:62px;border-radius:12px;}
  .hs-field-main{border-bottom-color:#e6ecf2;}
  .hs-submit{border-radius:12px;}
  .hero-trust-row{gap:10px;}
  .hero-trust-item{padding:8px 10px;}
  .hero-stats-bar{padding:21px 20px;}
}

@media (max-width:768px){
  .ebo-header-inner{min-height:62px;}
  .hero{padding:94px 0 58px;}
  .hero h1{font-size:clamp(29px,8vw,42px);}
  .hero p{font-size:14.5px;}
  .hero-badge{margin-bottom:16px;}
  .hero-trust-item{flex:1 1 100%;justify-content:center;}
  .hero-trust-item span{display:block;}
  .hero-stats-bar{margin-top:22px;border-radius:18px;}
  .section{padding:64px 0;}
  .section-header{margin-bottom:34px;}
  .section-header h2::after{margin-top:12px;}
  .grid{gap:20px;}
  .card,.feature-card,.testimonial-card{border-radius:18px;}
  .card-body{padding:19px;}
  .feature-card{padding:29px 22px;}
  .filter-bar{padding:10px;border-radius:14px;}
  footer{margin-top:66px;padding-top:58px;}
  .wa-float{width:54px;height:54px;right:16px;bottom:18px;}
}

@media (max-width:480px){
  .hero{padding-top:82px;}
  .hero-search{width:100%;}
  .hero-trust-item{padding:8px;}
  .hero-trust-item strong{font-size:12.5px;}
  .hero-trust-item span{font-size:10.5px;}
  .hero-stats-bar{padding:16px 8px;}
  .card:hover{transform:translateY(-4px);}
}

@media (prefers-reduced-motion:reduce){
  .card:hover,.feature-card:hover,.testimonial-card:hover,.btn-primary:hover{transform:none;}
}
