/* Home page visual polish */
:root { --hx-dark:#111; --hx-muted:#6b7280; --hx-soft:#f7f7f5; --hx-radius:16px; --hx-shadow:0 10px 30px rgba(0,0,0,.07); --hx-shadow-h:0 18px 40px rgba(0,0,0,.13); }

html { scroll-behavior:smooth; }
#content > section { padding-top:90px; padding-bottom:90px; }
#content > section#test, #content > section#contact { padding-top:60px; padding-bottom:60px; }

/* Alternating soft backgrounds */
#about, #feature, #faq { background:var(--hx-soft); }

/* Section headings: accent bar */
#service h2, #feature h2, #blog h2, #faq h2 {
  position:relative; font-weight:800; letter-spacing:1px; padding-bottom:18px; margin-bottom:18px;
}
#service h2::after, #feature h2::after, #blog h2::after, #faq h2::after {
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:60px; height:4px; border-radius:4px; background:var(--primary-color);
}
#service .text-center > p, #feature .text-center > p, #blog .text-center > p { color:var(--hx-muted); font-size:17px; }

/* About */
#about h2 { font-weight:800; line-height:1.3; border-left:6px solid var(--primary-color); padding-left:22px; }
#about .col-lg-6:last-child { text-align:left !important; font-size:17px; line-height:1.85; color:#444; }

/* Service cards */
#service .feature-box.style-4 {
  background:#fff; border-radius:var(--hx-radius); box-shadow:var(--hx-shadow); padding:40px 30px 34px;
  margin-bottom:30px; height:calc(100% - 30px); border-top:4px solid transparent;
  transition:transform .3s, box-shadow .3s, border-color .3s; overflow:hidden; position:relative;
}
#service .feature-box.style-4:hover { transform:translateY(-8px); box-shadow:var(--hx-shadow-h); border-top-color:var(--primary-color); }
#service .feature-box.style-4 img { padding:14px; background:rgba(var(--primary-color-rgb),.15); border-radius:50%; height:96px; width:96px; object-fit:contain; margin-bottom:20px; transition:transform .3s; }
#service .feature-box.style-4:hover img { transform:scale(1.08) rotate(-4deg); }
#service .feature-box.style-4 p { text-align:center !important; color:var(--hx-muted); line-height:1.75; }
#service .feature-box .wm { opacity:.06; }

/* Feature boxes */
#feature .box-icon.s2 {
  background:#fff; border-radius:var(--hx-radius); padding:22px; box-shadow:var(--hx-shadow);
  transition:transform .3s, box-shadow .3s;
}
#feature .box-icon.s2:hover { transform:translateY(-5px); box-shadow:var(--hx-shadow-h); }
#feature .box-icon.s2 i { border-radius:14px !important; }
#feature .box-icon .d-inner { color:var(--hx-muted); }
#feature .box-icon h4 { color:var(--hx-dark); }

/* Stats band */
.timer { font-weight:800 !important; color:var(--primary-color) !important; }

/* Blog cards */
#blog .bloglist {
  background:#fff; border-radius:var(--hx-radius); overflow:hidden; box-shadow:var(--hx-shadow);
  transition:transform .3s, box-shadow .3s; height:100%;
}
#blog .bloglist:hover { transform:translateY(-8px); box-shadow:var(--hx-shadow-h); }
#blog .post-image { overflow:hidden; position:relative; }
#blog .post-image img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .6s; }
#blog .bloglist:hover .post-image img { transform:scale(1.07); }
#blog .post-text { padding:24px; }
#blog .post-text h4 a { color:var(--hx-dark); }
#blog .post-text p { color:var(--hx-muted); }
#blog .date-box { border-radius:10px; z-index:2; }
#blog .col-lg-4 { margin-bottom:30px; }

/* FAQ accordion */
#faq .accordion-section-title {
  background:#fff !important; border:none !important; border-radius:12px; margin-bottom:12px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.05); padding:18px 22px !important; font-weight:600; transition:box-shadow .3s;
}
#faq .accordion-section-title:hover, #faq .accordion-section-title.active { box-shadow:0 8px 22px rgba(0,0,0,.1); }
#faq .accordion-section-title.active { border-left:4px solid var(--primary-color) !important; }
#faq .accordion-section-content { background:#fff; border-radius:0 0 12px 12px; margin:-12px 0 12px; padding:18px 22px; color:#555; }

/* Contact strip */
#contact h2 { font-weight:700; }

/* Buttons */
.btn-main, a.btn-main, input.btn-main { border-radius:50px !important; padding:12px 30px !important; font-weight:700; transition:transform .2s, box-shadow .2s; }
.btn-main:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(var(--primary-color-rgb),.45); }

/* Hero booking form */
#section-hero form, #section-hero #main_content > div, #section-hero .padding40 { border-radius:var(--hx-radius) !important; }
#section-hero h1 { font-weight:800; text-shadow:0 2px 20px rgba(0,0,0,.35); }

@media (max-width:767px) {
  #content > section { padding-top:60px; padding-bottom:60px; }
  #about h2 { font-size:26px; }
}
