/* =====================================================
   BK Convention – Premium refinement of the Seaplace theme
   Palette: Royal Maroon + Antique Gold + Ivory
   Fonts:   Playfair Display (headings) + Jost (body)
   Breakpoints: 1200 / 992 / 768 / 576 / 400
   ===================================================== */
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,700&display=swap");

:root {
  --maroon: #6b0f1a;
  --maroon-dark: #3d0912;
  --maroon-deep: #2a060c;
  --gold: #c9a45c;
  --gold-dark: #a8803a;
  --gold-soft: #e7d3a8;
  --ivory: #fbf6ee;
  --ivory-2: #f4ecdf;
  --ink: #2b1d1f;
  --text: #6a5d5d;
  --muted: #9a8f8f;
  --line: #eadfcf;
  --font-head: "Playfair Display", Georgia, serif;
  --font-body: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
  --shadow-sm: 0 6px 18px rgba(61, 9, 18, .08);
  --shadow-md: 0 14px 40px rgba(61, 9, 18, .14);
  --ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
ul { list-style: none; margin: 0; padding: 0; }
a { display: inline-block; color: var(--maroon); transition: color .25s var(--ease), background .25s var(--ease); }
a:hover { text-decoration: none; color: var(--gold-dark); }
button { cursor: pointer; }
::selection { background: var(--gold); color: #fff; }

h1, h2, h3, h4, h5, h6, .h1, .h2 {
  font-family: var(--font-head);
  color: var(--ink);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .005em;
}
h1, .h1 { font-size: clamp(34px, 6vw, 70px); line-height: 1.1; }
h2, .h2 { font-size: clamp(28px, 4vw, 44px); }
h3 { font-size: clamp(20px, 2.4vw, 26px); }
h4 { font-size: clamp(17px, 2vw, 20px); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* ---------- Buttons ---------- */
.button {
  display: inline-block;
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  transition: all .35s var(--ease);
  cursor: pointer;
}
.button:focus { outline: 0; box-shadow: none; }
.button--active {
  padding: 12px 34px !important;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  border: 1px solid var(--gold);
  box-shadow: 0 8px 20px rgba(168, 128, 58, .3);
}
.button--active:hover {
  background: transparent;
  border-color: var(--gold-dark);
  color: var(--maroon);
  transform: translateY(-2px);
}
.owl-carousel .owl-dots button:focus { box-shadow: none !important; outline: 0; }

/* ---------- Spacing helpers ---------- */
.section-margin { margin: 70px 0; }
.section-margin--small { margin: 40px 0; }
.section-padding { padding: 70px 0; }
.bg-porcelain { background: var(--ivory); }
.pb-20px { padding-bottom: 20px; }
.pb-80px { padding-bottom: 44px; }
.mb-30px { margin-bottom: 30px; }
.py-80px { padding: 80px 0; }
@media (min-width: 768px) { .section-margin { margin: 96px 0; } .section-padding { padding: 96px 0; } }
@media (min-width: 1000px) {
  .section-margin { margin: 120px 0; }
  .section-margin--small { margin: 65px 0; }
  .section-padding { padding: 120px 0; }
  .pb-80px { padding-bottom: 70px; }
}
@media (min-width: 1200px) { .row > .gutters-19 { padding-right: 9.5px; padding-left: 9.5px; } }

.nice-select { width: 100%; height: 50px; border-radius: 0; border-color: var(--line); color: var(--muted); padding-top: 4px; }
.nice-select::after { right: 16px; }
.nice-select .list { min-width: 200px; }

/* ---------- Header ---------- */
.header_area {
  position: absolute;
  width: 100%;
  z-index: 999;
  background: #fff;
  transition: background .4s, all .3s linear;
}
.header_area .navbar { background: transparent; padding: 0; border: 0; border-radius: 0; }
.header_area .navbar .nav .nav-item { margin-right: 38px; }
.header_area .navbar .nav .nav-item .nav-link {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  padding: 22px 4px 22px 0;
  display: inline-block;
  position: relative;
}
.header_area .navbar .nav .nav-item .nav-link::after { display: none; }
.header_area .navbar .nav > .nav-item > .nav-link::before {
  content: "";
  position: absolute;
  left: 0; bottom: 14px;
  width: 0; height: 2px;
  background: var(--gold);
  transition: width .3s var(--ease);
}
.header_area .navbar .nav > .nav-item:hover > .nav-link::before,
.header_area .navbar .nav > .nav-item.active > .nav-link::before { width: 100%; }
.header_area .navbar .nav .nav-item:hover .nav-link,
.header_area .navbar .nav .nav-item.active .nav-link { color: var(--maroon); }
.header_area .navbar .nav .nav-item:last-child { margin-right: 0; }
.header_area .navbar .nav .nav-item.submenu { position: relative; }
.header_area .navbar .nav .nav-item.submenu ul {
  border: none; padding: 0; margin: 0; border-radius: 0;
  background: #fff;
  box-shadow: var(--shadow-md);
  border-top: 3px solid var(--gold);
}
@media (min-width: 992px) {
  .header_area .navbar .nav .nav-item.submenu ul {
    position: absolute; top: 120%; left: 0;
    min-width: 210px; text-align: left;
    opacity: 0; visibility: hidden; display: block;
    transition: all .3s var(--ease);
  }
  .header_area .navbar .nav .nav-item.submenu:hover ul { visibility: visible; opacity: 1; top: 100%; }
}
.header_area .navbar .nav .nav-item.submenu ul .nav-item {
  display: block; float: none; margin: 0;
  border-bottom: 1px solid var(--line);
}
.header_area .navbar .nav .nav-item.submenu ul .nav-item:last-child { border-bottom: none; }
.header_area .navbar .nav .nav-item.submenu ul .nav-item .nav-link {
  line-height: 46px; padding: 0 28px; display: block; margin: 0; letter-spacing: .1em;
}
.header_area .navbar .nav .nav-item.submenu ul .nav-item .nav-link::before { display: none; }
.header_area .navbar .nav .nav-item.submenu ul .nav-item:hover { background: var(--ivory); }
.header_area .navbar .primary-btn {
  border: 1px solid #fff; padding: 7px 28px; color: #fff;
  letter-spacing: 1px; font-weight: 500; margin-top: 20px;
}
.header_area .navbar .search {
  background: transparent; border: 0; font-size: 12px; line-height: 60px;
  display: inline-block; color: #fff; padding-left: 30px; cursor: pointer;
}
.header_area.navbar_fixed .main_menu {
  background: #fff; position: fixed; width: 100%;
  top: -70px; left: 0; right: 0;
  transform: translateY(70px);
  transition: all .4s ease 0s;
  box-shadow: 0 4px 24px rgba(61, 9, 18, .12);
}
.header_area.navbar_fixed .main_menu .navbar .nav .nav-item .nav-link { line-height: 30px; }
.header_area.navbar_fixed .main_menu .navbar .nav > .nav-item > .nav-link::before { bottom: 12px; }

#search_input_box { text-align: center; padding: 5px 20px; position: fixed; width: 100%; }
#search_input_box .form-control { background: transparent; border: 0; color: #fff; font-size: 15px; padding: 0; }
#search_input_box .form-control:focus { box-shadow: none; outline: none; }
#search_input_box input::placeholder { color: #fff; font-size: 14px; }
#search_input_box .btn { width: 0; height: 0; padding: 0; border: 0; }
#search_input_box .lnr-cross { color: #fff; font-weight: 600; cursor: pointer; padding: 10px 3px; }

@media (max-width: 991px) {
  .header_area { position: absolute; }
  .header_area .navbar { box-shadow: 0 9px 16px rgba(61, 9, 18, .1); }
  .navbar-toggler { border: none; border-radius: 0; padding: 0; margin: 24px 10px 20px 0; }
  .navbar-toggler:focus { outline: 0; box-shadow: none; }
  .navbar-toggler[aria-expanded="false"] span:nth-child(2) { opacity: 1; }
  .navbar-toggler[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .navbar-toggler[aria-expanded="true"] span:first-child { transform: rotate(-45deg); position: relative; top: 7.5px; }
  .navbar-toggler[aria-expanded="true"] span:last-child { transform: rotate(45deg); bottom: 6px; position: relative; }
  .navbar-toggler span { display: block; width: 26px; height: 3px; background: var(--maroon); margin: 0 auto 4px; transition: all .4s linear; }
  .navbar .container { padding-left: 15px; padding-right: 15px; }
  .header_area .navbar .nav .nav-item { margin-right: 0; }
  .header_area .navbar .nav .nav-item .nav-link {
    margin-right: 0; display: block; padding: 13px 4px;
    border-bottom: 1px solid var(--line); font-size: 13px;
  }
  .header_area .navbar .nav > .nav-item > .nav-link::before { display: none; }
  .header_area .navbar .nav .nav-item.submenu ul { box-shadow: none; border-top: 0; background: var(--ivory); }
  .header_area .navbar .nav .nav-item.submenu ul .nav-item .nav-link { padding: 0 18px; }
  .header_area .navbar .search { margin-left: 0; }
  .header_area .navbar-collapse { max-height: 340px; overflow-y: auto; }
  .header_area.navbar_fixed .main_menu .navbar .nav .nav-item .nav-link { line-height: 40px; }
}

.header-top { padding: 14px 0; border-bottom: 1px solid var(--gold-soft); }
.header-top .logo, .header-top #logo { display: inline-block; }
.header-top #logo img { max-height: 64px; width: auto; }
.header-top-info__icon { margin-right: 12px; }
.header-top-info__icon i, .header-top-info__icon span { font-size: 22px; color: var(--gold-dark); }
.header-top-info .media-body p { margin-bottom: 0; font-size: 14px; line-height: 1.5; }
.header-top-info .media-body a { color: var(--maroon); font-weight: 600; }
.header-top-info:not(:last-child) { margin-right: 10px; }
@media (min-width: 600px) { .header-top-info:not(:last-child) { margin-right: 50px; } }
@media (min-width: 767px) { .header-top { padding: 8px 0; } }
@media (max-width: 767px) { .header-top-info { margin-bottom: 12px; } .header-top-info:last-child { margin-bottom: 0; } .header-top #logo img { max-height: 52px; } }

/* ---------- Footer ---------- */
.footer-area {
  padding: 100px 0;
  background: linear-gradient(180deg, var(--maroon-dark) 0%, var(--maroon-deep) 100%);
  border-top: 4px solid var(--gold);
}
@media (max-width: 991px) { .footer-area { padding: 60px 0; } .footer-area .single-footer-widget { margin-bottom: 30px; } }
.footer-area .single-footer-widget p { color: #cdb9b4; }
.footer-area .single-footer-widget h4 {
  color: #fff; margin-bottom: 26px; font-size: 20px; position: relative; padding-bottom: 14px;
}
.footer-area .single-footer-widget h4::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--gold);
}
@media (max-width: 991px) { .footer-area .single-footer-widget h4 { font-size: 18px; margin-bottom: 18px; } }
.footer-area .single-footer-widget ul li { margin-bottom: 10px; color: #cdb9b4; }
.footer-area .single-footer-widget ul li a,
.footer-area .single-footer-widget p a { color: #cdb9b4; }
.footer-area .single-footer-widget ul li a:hover,
.footer-area .single-footer-widget p a:hover { color: var(--gold); }
.footer-area .single-footer-widget .form-wrap { margin-top: 25px; }
.footer-area .single-footer-widget input {
  height: 48px; border: none; width: 67% !important; background: rgba(255, 255, 255, .08);
  color: #fff; border-radius: 0; font-size: 14px; padding: 10px 16px;
}
.footer-area .single-footer-widget input:focus { outline: none; box-shadow: none; }
.footer-area .single-footer-widget input::placeholder { color: #b5a09b; }
.footer-area .single-footer-widget .click-btn {
  font-family: var(--font-head); color: #fff; border-radius: 0; padding: 8px 20px; border: 0;
  font-size: 13px; background: var(--gold); font-weight: 700; position: relative; left: 0;
}
.footer-area .single-footer-widget .click-btn:focus { outline: none; box-shadow: none; }
@media (max-width: 375px) { .footer-area .single-footer-widget .click-btn { margin-top: 10px; } }
@media (min-width: 400px) { .footer-area .single-footer-widget .click-btn { left: -50px; } }
.footer-area .footer-bottom { margin-top: 60px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .12); }
@media (max-width: 991px) { .footer-area .footer-bottom { margin-top: 20px; } }
.footer-area .footer-bottom p { color: #cdb9b4; font-size: 14px; }
.footer-area .footer-bottom p a { color: var(--gold); }
.footer-area .footer-bottom .footer-social { text-align: center; }
@media (max-width: 991px) { .footer-area .footer-bottom .footer-social { text-align: left; margin-top: 24px; } }
.footer-area .footer-bottom .footer-social a {
  background: rgba(255, 255, 255, .1); margin-left: 6px; width: 38px; height: 38px;
  color: #fff; display: inline-grid; place-items: center; border-radius: 50%;
  transition: all .3s var(--ease);
}
.footer-area .footer-bottom .footer-social a:hover { background: var(--gold); color: var(--maroon-dark); transform: translateY(-3px); }
.footer-area .footer-bottom .footer-social a i { font-size: 14px; }

/* ---------- Section intro (gold ornament under every heading) ---------- */
.section-intro__style { margin-bottom: 14px; }
.section-intro h2 { position: relative; padding-bottom: 22px; }
.section-intro h2::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 70px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* ---------- Hero ---------- */
.home-banner { position: relative; }
.home-banner h4, .home-banner h1, .home-banner a { text-transform: uppercase; color: #fff; }
.home-banner h4 { font-family: var(--font-body); font-weight: 500; font-size: clamp(12px, 1.6vw, 16px); letter-spacing: .28em; margin-bottom: 18px; color: var(--gold-soft); }
.home-banner h1 { font-size: clamp(30px, 6vw, 70px); margin-bottom: 40px; letter-spacing: .03em; text-shadow: 0 4px 24px rgba(0, 0, 0, .35); }
.home-banner h1 em { color: var(--gold); font-weight: 400; }
.home-banner-area {
  height: 520px;
  background: url("../img/home/header-bg.png") center center / cover no-repeat;
  position: relative; z-index: 1;
}
@media (min-width: 768px) { .home-banner-area { height: 640px; } }
@media (min-width: 1200px) { .home-banner-area { height: 900px; } }
.home-banner-area .home-banner { position: absolute; top: 54%; left: 50%; width: 100%; transform: translate(-50%, -50%); }
@media (min-width: 992px) { .home-banner-area .home-banner { top: 46%; } }
.home-banner-area::after {
  content: ""; display: block; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(42, 6, 12, .78) 0%, rgba(42, 6, 12, .5) 55%, rgba(42, 6, 12, .75) 100%);
}
.home-banner-btn { border: 2px solid var(--gold); padding: 12px 46px; letter-spacing: .16em; font-size: 14px; }
.home-banner-btn:hover { background: var(--gold); color: var(--maroon-dark); transform: translateY(-2px); }
.button.home-banner-btn.button--active { color: #fff; }
.button.home-banner-btn.button--active:hover { color: var(--maroon); }

/* ---------- Availability form ---------- */
.form-search {
  max-width: 980px; background: #fff; margin: 0 auto; padding: 40px 25px 20px;
  box-shadow: var(--shadow-md); border-top: 3px solid var(--gold);
}
@media (max-width: 991px) { .form-search { margin: -40px 15px 0; position: relative; z-index: 2; } }
@media (min-width: 992px) { .form-search-position { position: relative; bottom: 104px; z-index: 1; } }
.form-search .form-control {
  font-size: 15px; color: var(--ink); border-radius: 0; height: 52px;
  padding-left: 18px; border-color: var(--line); background: var(--ivory);
  transition: border-color .25s, box-shadow .25s, background .25s;
}
.form-search .form-control:focus { outline: 0; border-color: var(--gold); background: #fff; box-shadow: 0 0 0 3px rgba(201, 164, 92, .18); }
.form-search .form-control::placeholder { color: var(--muted); }
.form-search .form-group { margin-bottom: 20px; }
.form-search button {
  width: 100%; height: 52px; font-size: 13px; font-family: var(--font-head); font-weight: 700;
  border: 0; text-transform: uppercase; letter-spacing: .14em;
  background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%); color: #fff;
}
.form-search button.button-form:hover { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%); color: #fff; border-color: transparent; }
.form-select-custom { width: 100%; }
.form-select-custom select {
  width: 100%; height: 52px; border: 1px solid var(--line);
  background: var(--ivory) url("../img/home/down-arrow.png") no-repeat right 15px center / 11px;
  padding-left: 18px; color: var(--muted); font-size: 15px;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  transition: border-color .25s, box-shadow .25s;
}
.form-select-custom select:focus { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201, 164, 92, .18); }

/* ---------- Welcome ---------- */
.welcome { padding-top: 40px; }
.welcome-images .card { border-radius: 0; border: 0; margin: 0 4px 4px 0; overflow: hidden; }
.welcome-images .card img { transition: transform .8s var(--ease); }
.welcome-images .card:hover img { transform: scale(1.05); }
@media (max-width: 991px) { .welcome-images .card img { width: 100%; } }
@media (min-width: 991px) { .welcome-content { padding-left: 60px; } }
.welcome-content h2 span { font-family: var(--font-body); font-weight: 400; font-size: .5em; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-dark); }
.welcome-content p { max-width: 62ch; }

/* ---------- Explore cards ---------- */
.card-explore {
  border: 0; border-radius: 0; background: #fff; overflow: hidden;
  box-shadow: var(--shadow-sm); transition: all .45s var(--ease);
}
.card-explore:hover { transform: translateY(-8px); box-shadow: var(--shadow-md); }
.card-explore .card-img { border-radius: 0; transition: transform .8s var(--ease); }
.card-explore:hover .card-img { transform: scale(1.04); }
.card-explore__img { width: 100%; position: relative; overflow: hidden; }
.card-explore__img::after {
  content: ""; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 190px;
  -webkit-clip-path: polygon(0 83%, 0 100%, 100% 100%);
  clip-path: polygon(0 83%, 0 100%, 100% 100%); background: #fff;
}
.card-explore__img img { padding-bottom: 1px; }
.card-explore .card-body { padding: 5px 24px 36px 36px; }
.card-explore__price { font-size: clamp(26px, 3vw, 34px); color: var(--maroon); }
.card-explore__price sub { font-size: 16px; font-family: var(--font-body); color: var(--muted); }
.card-explore__title { font-size: 24px; margin: 12px 0 14px; }
.card-explore__title a { color: var(--ink); }
.card-explore__link {
  font-size: 13px; text-transform: uppercase; letter-spacing: .14em;
  font-family: var(--font-body); font-weight: 600; color: var(--maroon);
}
.card-explore__link i, .card-explore__link span { padding-left: 3px; transition: all .35s ease; }
.card-explore:hover a { color: var(--gold-dark); }
.card-explore:hover .card-explore__link i, .card-explore:hover .card-explore__link span { padding-left: 10px; }

/* ---------- Testimonials ---------- */
.testi-carousel .owl-stage-outer { padding: 50px 0; }
.testi-carousel .owl-item { overflow: hidden; }
.testi-carousel__item {
  background: var(--ivory); padding: 32px 28px; position: relative;
  border-bottom: 3px solid transparent; transition: all .35s var(--ease);
}
.testi-carousel__item .media-body p { margin-bottom: 12px; font-style: italic; }
.testi-carousel__item::after {
  content: ""; width: 0; height: 0; position: absolute; left: 0; bottom: 0;
  border-bottom: 15px solid #fff; border-left: 500px solid rgba(255, 255, 255, .13);
  transform: scale(.9999);
}
.testi-carousel__item:hover { box-shadow: var(--shadow-md); background: #fff; border-bottom-color: var(--gold); }
.testi-carousel__img { width: 70px; height: 70px; border-radius: 50%; margin-right: 20px; overflow: hidden; flex-shrink: 0; border: 2px solid var(--gold-soft); }
.testi-carousel__img img { width: 100%; height: 100%; object-fit: cover; }
.testi-carousel__intro h3 { font-size: 22px; font-weight: 600; margin-bottom: 4px; }
.testi-carousel__intro p { font-size: 14px; color: var(--muted); font-style: normal; }
.testi-carousel .owl-dots .owl-dot span { background: #d9cfc0; transition: all .3s; }
.testi-carousel .owl-dots .owl-dot.active span { width: 12px; height: 12px; background: var(--gold-dark); }

/* ---------- News cards ---------- */
.card-news {
  border: 0; border-radius: 0; background: #fff; overflow: hidden;
  box-shadow: var(--shadow-sm); transition: all .45s var(--ease);
}
.card-news:hover { transform: translateY(-8px); box-shadow: var(--shadow-md); }
.card-news__info { margin-bottom: 10px; }
.card-news__info li { display: inline-block; font-size: 14px; color: var(--muted); }
.card-news__info li:not(:last-child) { margin-right: 13px; }
.card-news__info li .news-icon { font-size: 12px; color: var(--gold-dark); margin-right: 5px; }
.card-news__info li a { color: var(--muted); }
.card-news .card-img { border-radius: 0; padding-bottom: 1px; }
.card-news__img { width: 100%; position: relative; overflow: hidden; }
.card-news__img::after {
  content: ""; display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: 190px;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 83%);
  clip-path: polygon(0 100%, 100% 100%, 100% 83%); background: #fff;
}
.card-news .card-body { padding: 18px 24px 36px 36px; }
.card-news__title { font-size: 22px; margin: 12px 0 14px; line-height: 1.35; }
.card-news__title a { color: var(--ink); }
.card-news__link { font-size: 13px; text-transform: uppercase; letter-spacing: .14em; font-family: var(--font-body); font-weight: 600; color: var(--maroon); }
.card-news__link i, .card-news__link span { padding-left: 3px; transition: all .35s ease; }
.card-news:hover .card-news__title a { color: var(--gold-dark); }
.card-news:hover .card-news__link i, .card-news:hover .card-news__link span { padding-left: 10px; }

/* ---------- Video ---------- */
.video-area {
  background: url("../img/home/video-bg.png") left center / cover no-repeat;
  padding: 70px 10px; position: relative; z-index: 1;
}
@media (min-width: 750px) { .video-area { padding: 110px 10px; } }
@media (min-width: 1000px) { .video-area { padding: 170px 10px; } }
.video-area::after {
  content: ""; display: block; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(42, 6, 12, .55), rgba(42, 6, 12, .7));
}
.video-area h3 { font-size: clamp(28px, 5vw, 50px); color: #fff; margin-bottom: 14px; }
.video-area p { color: #f0e4d2; margin-bottom: 0; padding: 0 12px; }
.video-area .play-btn { width: 80px; height: 80px; display: block; border-radius: 50%; background: #fff; margin-bottom: 18px; }
.video-area .play-btn img { margin-top: 34px; }

/* ---------- Special facilities ---------- */
.card-special {
  padding: 40px 32px; border: 0; border-radius: 0; background: #fff;
  box-shadow: var(--shadow-sm); border-bottom: 3px solid transparent;
  transition: all .4s var(--ease);
}
.card-special__icon { font-size: 26px; color: var(--gold-dark); margin-right: 14px; transition: color .4s; }
.card-special__title { margin: 0; font-weight: 600; font-size: 22px; transition: color .4s; }
.card-special .card-body { padding: 0; }
.card-special .card-body p { margin-bottom: 0; }
.card-special:hover { background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%); color: #f0e4d2; transform: translateY(-6px); border-bottom-color: var(--gold); }
.card-special:hover .card-special__icon { color: var(--gold); }
.card-special:hover .card-special__title { color: #fff; }

/* ---------- Video play button ---------- */
.video-play-button {
  position: relative; box-sizing: content-box; display: inline-block;
  width: 32px; height: 44px; border-radius: 50%;
  padding: 46px 8px 18px 28px; transform: scale(.8);
}
@media (min-width: 800px) { .video-play-button { transform: scale(1); margin-bottom: 10px; } }
.video-play-button::before, .video-play-button::after {
  content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: block; width: 80px; height: 80px; border-radius: 50%; background: #fff;
}
.video-play-button::before { z-index: 0; animation: pulse-border 2s ease-out infinite; }
.video-play-button::after { z-index: 1; transition: all .2s ease; }
.video-play-button span {
  display: block; position: relative; z-index: 3; width: 0; height: 0;
  border-left: 16px solid var(--maroon); border-top: 8px solid transparent; border-bottom: 8px solid transparent;
}
.video-play-button:hover::after { background-color: var(--gold); }
@keyframes pulse-border {
  0% { transform: translate(-50%, -50%) translateZ(0) scale(1); opacity: .7; }
  100% { transform: translate(-50%, -50%) translateZ(0) scale(1.5); opacity: .1; }
}

/* ---------- Social + buttons ---------- */
.social-icons li { display: inline-block; padding-right: 12px; }
.social-icons li:last-child { padding-right: 0; }
.social-icons li a { font-size: 15px; color: var(--maroon); }
.social-icons li a:hover { color: var(--gold-dark); }

.button-blog { display: inline-block; font-size: 14px; color: var(--ink); background: #fff; padding: 8px 25px; text-transform: capitalize; transition: all .5s ease; }
.button-blog:hover { color: #fff; background: var(--gold); }
.button-reply { border: 0; }
.button-postComment { font-size: 14px; padding: 8px 40px !important; }
.button-form { border: 1px solid var(--maroon) !important; color: #fff; }
.button-contact {
  border: 1px solid var(--gold) !important; padding: 10px 32px; background: var(--gold); color: #fff;
  font-size: 13px; font-weight: 700; font-family: var(--font-head); text-transform: uppercase; letter-spacing: .12em;
}
.button-contact:hover { outline: 0; background: transparent; border-color: var(--gold); color: var(--gold-dark); }

/* ---------- Contact banner ---------- */
.contact-banner, .blog-banner { position: relative; }
.contact-banner h4, .contact-banner h1, .contact-banner a,
.blog-banner h4, .blog-banner h1, .blog-banner a { text-transform: uppercase; color: #fff; }
.contact-banner h4, .blog-banner h4 { font-size: 16px; letter-spacing: .2em; margin-bottom: 15px; }
.contact-banner h1, .blog-banner h1 { font-size: clamp(30px, 5vw, 48px); margin-bottom: 5px; }
.contact-banner-area, .blog-banner-area {
  height: 380px; background: url("../img/home/contact-bg.png") center center / cover no-repeat;
  position: relative; z-index: 1;
}
@media (min-width: 600px) { .contact-banner-area, .blog-banner-area { height: 500px; } }
@media (min-width: 1000px) { .contact-banner-area, .blog-banner-area { height: 625px; } }
.contact-banner-area .contact-banner, .blog-banner-area .blog-banner {
  position: absolute; top: 58%; left: 50%; width: 100%; transform: translateX(-50%);
}
.contact-banner-area::after, .blog-banner-area::after {
  content: ""; display: block; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(42, 6, 12, .78), rgba(42, 6, 12, .6));
}
.contact-banner-btn, .blog-banner-btn { border: 2px solid var(--gold); padding: 10px 45px; }
.contact-banner-btn:hover, .blog-banner-btn:hover { background: var(--gold); color: #fff; }

.contact-info__icon { margin-right: 20px; }
.contact-info__icon i, .contact-info__icon span { color: var(--gold-dark); font-size: 20px; }
.contact-info .media-body h3 { font-size: 16px; margin-bottom: 0; }
.contact-info .media-body h3 a { color: var(--ink); }
.contact-info .media-body p { color: var(--muted); }

.banner-breadcrumb { display: inline-block; }
.banner-breadcrumb .breadcrumb { background: transparent; padding: 0; }
.banner-breadcrumb .breadcrumb-item { padding: .1rem; }
.banner-breadcrumb .breadcrumb-item a { text-transform: capitalize; }
.banner-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: #fff; padding-right: .1rem; }
.banner-breadcrumb .breadcrumb-item.active { color: var(--gold-soft); }

.contact_form .form-group { margin-bottom: 12px; }
.contact_form input, .contact_form textarea { border-radius: 0; padding-left: 18px; border-color: var(--line); background: var(--ivory); transition: border-color .25s, box-shadow .25s; }
.contact_form input { height: 46px; }
.contact_form input:focus, .contact_form textarea:focus { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201, 164, 92, .18); background: #fff; }
.contact_form input::placeholder, .contact_form textarea::placeholder { font-size: 14px; color: var(--muted); }

.accomodation.form-search-position { bottom: 75px; }

/* ---------- Blog / content pages ---------- */
.l_blog_item .l_blog_text .date { margin: 24px 0 15px; }
.l_blog_item .l_blog_text .date a { color: var(--text); font-size: 12px; }
.l_blog_item .l_blog_text h4 { font-size: 18px; color: var(--ink); border-bottom: 1px solid var(--line); margin-bottom: 0; padding-bottom: 20px; transition: all .4s ease; }
.l_blog_item .l_blog_text h4:hover { color: var(--gold-dark); }
.l_blog_item .l_blog_text p { margin-bottom: 0; padding-top: 20px; }

.causes_slider .owl-dots { text-align: center; margin-top: 80px; }
.causes_slider .owl-dots .owl-dot { height: 14px; width: 14px; background: var(--line); display: inline-block; margin-right: 7px; }
.causes_slider .owl-dots .owl-dot:last-child { margin-right: 0; }
.causes_slider .owl-dots .owl-dot.active { background: var(--gold); }
.causes_item { background: #fff; }
.causes_item .causes_img { position: relative; }
.causes_item .causes_img .c_parcent { position: absolute; bottom: 0; width: 100%; left: 0; height: 3px; background: rgba(255, 255, 255, .5); }
.causes_item .causes_img .c_parcent span { width: 70%; height: 3px; background: var(--gold); position: absolute; left: 0; bottom: 0; }
.causes_item .causes_img .c_parcent span::before { content: "75%"; position: absolute; right: -10px; bottom: 0; background: var(--gold); color: #fff; padding: 0 5px; }
.causes_item .causes_text { padding: 30px 35px 40px 30px; }
.causes_item .causes_text h4 { color: var(--ink); font-size: 18px; font-weight: 600; margin-bottom: 15px; cursor: pointer; }
.causes_item .causes_text h4:hover { color: var(--gold-dark); }
.causes_item .causes_text p { font-size: 14px; line-height: 24px; color: var(--text); font-weight: 300; margin-bottom: 0; }
.causes_item .causes_bottom a { width: 50%; border: 1px solid var(--gold); text-align: center; float: left; line-height: 50px; background: var(--gold); color: #fff; font-size: 14px; font-weight: 500; }
.causes_item .causes_bottom a + a { border-color: var(--line); background: #fff; color: var(--ink); }

.latest_blog_area, .blog_area, .blog_categorie_area { background: var(--ivory); }
.blog_categorie_area { padding: 80px 0; }
.single-recent-blog-post { margin-bottom: 30px; }
.single-recent-blog-post .thumb { overflow: hidden; }
.single-recent-blog-post .thumb img { transition: all .7s linear; }
.single-recent-blog-post .details { padding-top: 30px; }
.single-recent-blog-post .details .sec_h4 { line-height: 24px; padding: 10px 0 13px; transition: all .3s linear; }
.single-recent-blog-post .details .sec_h4:hover { color: var(--text); }
.single-recent-blog-post .date { font-size: 14px; line-height: 24px; }
.single-recent-blog-post:hover img { transform: scale(1.23) rotate(10deg); }

.tags .tag_btn { font-size: 12px; font-weight: 500; line-height: 20px; border: 1px solid var(--line); display: inline-block; padding: 1px 18px; text-align: center; color: var(--ink); }
.tags .tag_btn + .tag_btn { margin-left: 2px; }

.categories_post { position: relative; text-align: center; cursor: pointer; }
.categories_post .categories_details { position: absolute; inset: 20px; background: rgba(61, 9, 18, .75); color: #fff; transition: all .3s linear; display: flex; align-items: center; justify-content: center; }
.categories_post .categories_details h5 { margin: 0; font-size: 18px; line-height: 26px; text-transform: uppercase; color: #fff; position: relative; }
.categories_post .categories_details p { font-weight: 300; font-size: 14px; line-height: 26px; margin: 0; }
.categories_post .categories_details .border_line { margin: 10px 0; background: #fff; width: 100%; height: 1px; }
.categories_post:hover .categories_details { background: rgba(168, 128, 58, .88); }

.blog_item { margin-bottom: 40px; }
.blog_info { padding-top: 30px; }
.blog_info .post_tag { padding-bottom: 20px; }
.blog_info .post_tag a { color: var(--ink); font-size: 14px; }
.blog_info .post_tag a:hover { color: var(--text); }
.blog_info .post_tag a.active { color: var(--gold-dark); }
.blog_info .blog_meta li a { color: var(--text); vertical-align: middle; padding-bottom: 12px; display: inline-block; }
.blog_info .blog_meta li a i { color: var(--ink); font-size: 16px; font-weight: 600; padding-left: 15px; line-height: 20px; vertical-align: middle; }
.blog_info .blog_meta li a:hover { color: var(--gold-dark); }
.blog_post img { max-width: 100%; }
.blog_details { padding-top: 20px; }
.blog_details h2 { font-size: 24px; line-height: 36px; color: var(--ink); font-weight: 600; transition: all .3s linear; }
.blog_details h2:hover { color: var(--gold-dark); }
.blog_details p { margin-bottom: 26px; }
.view_btn { font-size: 14px; line-height: 36px; display: inline-block; color: var(--ink); font-weight: 500; padding: 0 30px; background: #fff; }

.blog_right_sidebar { border: 1px solid var(--line); background: #fffdf9; padding: 30px; }
.blog_right_sidebar .widget_title { font-size: 18px; line-height: 25px; background: var(--maroon); text-align: center; color: #fff; padding: 8px 0; margin-bottom: 30px; }
.blog_right_sidebar .search_widget .input-group .form-control { font-size: 14px; line-height: 29px; border: 0; width: 100%; font-weight: 300; color: #fff; padding-left: 20px; border-radius: 45px; z-index: 0; background: var(--gold); }
.blog_right_sidebar .search_widget .input-group .form-control::placeholder { color: #fff; }
.blog_right_sidebar .search_widget .input-group .form-control:focus { box-shadow: none; }
.blog_right_sidebar .search_widget .input-group .btn-default { position: absolute; right: 20px; background: transparent; border: 0; box-shadow: none; font-size: 14px; color: #fff; padding: 0; top: 50%; transform: translateY(-50%); z-index: 1; }
.blog_right_sidebar .author_widget { text-align: center; }
.blog_right_sidebar .author_widget h4 { font-size: 18px; line-height: 20px; color: var(--ink); margin: 30px 0 5px; }
.blog_right_sidebar .author_widget p { margin-bottom: 0; }
.blog_right_sidebar .author_widget .social_icon { padding: 7px 0 15px; }
.blog_right_sidebar .author_widget .social_icon a { font-size: 14px; color: var(--ink); transition: all .2s linear; }
.blog_right_sidebar .author_widget .social_icon a + a { margin-left: 20px; }
.blog_right_sidebar .author_widget .social_icon a:hover { color: var(--gold-dark); }
.blog_right_sidebar .popular_post_widget .post_item .media-body { justify-content: center; align-self: center; padding-left: 20px; }
.blog_right_sidebar .popular_post_widget .post_item .media-body h3 { font-size: 14px; line-height: 20px; color: var(--ink); margin-bottom: 4px; transition: all .3s linear; }
.blog_right_sidebar .popular_post_widget .post_item .media-body h3:hover { color: var(--gold-dark); }
.blog_right_sidebar .popular_post_widget .post_item .media-body p { font-size: 12px; line-height: 21px; margin-bottom: 0; }
.blog_right_sidebar .popular_post_widget .post_item + .post_item { margin-top: 20px; }
.blog_right_sidebar .post_category_widget .cat-list li { border-bottom: 2px dotted var(--line); transition: all .3s ease 0s; padding-bottom: 12px; }
.blog_right_sidebar .post_category_widget .cat-list li a { font-size: 14px; line-height: 20px; color: var(--text); }
.blog_right_sidebar .post_category_widget .cat-list li a p { margin-bottom: 0; }
.blog_right_sidebar .post_category_widget .cat-list li + li { padding-top: 15px; }
.blog_right_sidebar .post_category_widget .cat-list li:hover { border-color: var(--gold); }
.blog_right_sidebar .post_category_widget .cat-list li:hover a { color: var(--gold-dark); }
.blog_right_sidebar .newsletter_widget { text-align: center; }
.blog_right_sidebar .newsletter_widget .form-group { margin-bottom: 8px; }
.blog_right_sidebar .newsletter_widget .input-group-prepend { margin-right: -1px; }
.blog_right_sidebar .newsletter_widget .input-group-text { background: #fff; border-radius: 0; font-size: 12px; line-height: 36px; padding: 0 0 0 15px; border: 1px solid var(--line); border-right: 0; }
.blog_right_sidebar .newsletter_widget .input-group-text i { color: #ccc; }
.blog_right_sidebar .newsletter_widget .form-control { font-size: 12px; line-height: 24px; color: var(--text); border: 1px solid var(--line); border-left: 0; border-radius: 0; }
.blog_right_sidebar .newsletter_widget .form-control:focus { outline: none; box-shadow: none; }
.blog_right_sidebar .newsletter_widget .bbtns { background: var(--gold); color: #fff; font-size: 12px; line-height: 38px; display: inline-block; font-weight: 500; padding: 0 24px; border-radius: 0; }
.blog_right_sidebar .newsletter_widget .text-bottom { font-size: 12px; }
.blog_right_sidebar .tag_cloud_widget ul li { display: inline-block; }
.blog_right_sidebar .tag_cloud_widget ul li a { display: inline-block; border: 1px solid var(--line); background: #fff; padding: 0 13px; margin-bottom: 8px; transition: all .3s ease 0s; color: var(--ink); font-size: 12px; }
.blog_right_sidebar .tag_cloud_widget ul li a:hover { background: var(--gold); color: #fff; }
.blog_right_sidebar .br { width: 100%; height: 1px; background: var(--line); margin: 30px 0; }

.blog-pagination { padding-top: 25px; padding-bottom: 95px; }
.blog-pagination .page-link { position: relative; display: block; padding: .5rem .75rem; margin-left: -1px; line-height: 1.25; color: #8a8a8a; border: none; border-radius: 0; }
.blog-pagination .page-item { border: none; }
.blog-pagination .page-item.active .page-link { background-color: var(--gold); border-color: transparent; color: #fff; }
.blog-pagination .page-link .lnr { font-weight: 600; }
.blog-pagination .page-link:hover { color: #fff; text-decoration: none; background-color: var(--gold); border-color: var(--line); }
.page-link { background: transparent; font-weight: 400; }

.single-post-area .social-links { padding-top: 10px; }
.single-post-area .social-links li { display: inline-block; margin-bottom: 10px; }
.single-post-area .social-links li a { color: #ccc; padding: 7px; font-size: 14px; transition: all .2s linear; }
.single-post-area .social-links li a:hover { color: var(--ink); }
.single-post-area .blog_details { padding-top: 26px; }
.single-post-area .blog_details p { margin-bottom: 10px; }
.single-post-area .quotes { margin: 20px 0 30px; padding: 24px 35px 24px 30px; background: #fff; box-shadow: -20px 21px 30px rgba(176, 176, 176, .1); border-left: 3px solid var(--gold); font-size: 15px; line-height: 26px; color: var(--text); font-style: italic; }
.single-post-area .arrow { position: absolute; }
.single-post-area .arrow .lnr { font-size: 20px; font-weight: 600; }
.single-post-area .thumb .overlay-bg { background: rgba(0, 0, 0, .8); }
.single-post-area .navigation-area { border-top: 1px solid var(--line); padding-top: 30px; margin-top: 60px; }
.single-post-area .navigation-area p { margin-bottom: 0; }
.single-post-area .navigation-area h4 { font-size: 18px; line-height: 25px; color: var(--ink); }
.single-post-area .navigation-area .nav-left { text-align: left; }
.single-post-area .navigation-area .nav-right { text-align: right; }
.single-post-area .navigation-area .nav-left .thumb { margin-right: 20px; background: #000; }
.single-post-area .navigation-area .nav-right .thumb { margin-left: 20px; background: #000; }
.single-post-area .navigation-area .thumb img { transition: all .4s ease 0s; }
.single-post-area .navigation-area .nav-left .lnr { margin-left: 20px; }
.single-post-area .navigation-area .nav-right .lnr { margin-right: 20px; }
.single-post-area .navigation-area .lnr { opacity: 0; transition: all .4s ease 0s; }
.single-post-area .navigation-area .nav-left:hover .lnr, .single-post-area .navigation-area .nav-right:hover .lnr { opacity: 1; }
.single-post-area .navigation-area .nav-left:hover .thumb img, .single-post-area .navigation-area .nav-right:hover .thumb img { opacity: .5; }
@media (max-width: 767px) { .single-post-area .navigation-area .nav-left { margin-bottom: 30px; } }
@media (max-width: 991px) { .single-post-area .sidebar-widgets { padding-bottom: 0; } }

.comments-area { background: #fffdf9; border: 1px solid var(--line); padding: 50px 30px; margin-top: 50px; }
@media (max-width: 414px) { .comments-area { padding: 50px 8px; } }
.comments-area h4 { text-align: center; margin-bottom: 50px; color: var(--ink); font-size: 18px; }
.comments-area h5 { font-size: 16px; margin-bottom: 0; }
.comments-area a { color: var(--ink); }
.comments-area .comment-list { padding-bottom: 48px; }
.comments-area .comment-list:last-child { padding-bottom: 0; }
.comments-area .comment-list.left-padding { padding-left: 25px; }
@media (max-width: 413px) {
  .comments-area .comment-list .single-comment h5 { font-size: 12px; }
  .comments-area .comment-list .single-comment .date { font-size: 11px; }
  .comments-area .comment-list .single-comment .comment { font-size: 10px; }
}
.comments-area .thumb { margin-right: 20px; }
.comments-area .date { font-size: 13px; color: #ccc; margin-bottom: 13px; }
.comments-area .comment { color: var(--text); margin-bottom: 0; }
.comments-area .btn-reply { background: #fff; color: var(--ink); padding: 5px 18px; font-size: 12px; display: block; transition: all .4s ease 0s; }
.comments-area .btn-reply:hover { background: var(--gold); color: #fff; font-weight: 700; }

.comment-form { background: #fffdf9; text-align: center; border: 1px solid var(--line); padding: 47px 30px 43px; margin: 50px 0 30px; }
.comment-form h4 { text-align: center; margin-bottom: 50px; font-size: 18px; line-height: 22px; color: var(--ink); }
.comment-form .name { padding-left: 0; }
@media (max-width: 767px) { .comment-form .name { padding-right: 0; margin-bottom: 1rem; } }
.comment-form .email { padding-right: 0; }
@media (max-width: 991px) { .comment-form .email { padding-left: 0; } }
.comment-form .form-control { padding: 8px 20px; background: #fff; border-radius: 0; width: 100%; font-size: 14px; color: var(--text); border: 1px solid transparent; }
.comment-form .form-control:focus { box-shadow: none; border: 1px solid var(--gold); }
.comment-form .form-control::placeholder { color: var(--muted); }
.comment-form textarea.form-control { height: 140px; resize: none; }

/* ---------- NEW: floating Call + WhatsApp buttons ---------- */
.float-cta { position: fixed; right: 18px; bottom: 18px; z-index: 1000; display: flex; flex-direction: column; gap: 12px; }
.float-cta a {
  width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
  color: #fff; font-size: 22px; box-shadow: 0 8px 22px rgba(0, 0, 0, .28);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.float-cta a:hover { transform: translateY(-4px) scale(1.06); color: #fff; box-shadow: 0 12px 28px rgba(0, 0, 0, .35); }
.float-cta .cta-wa { background: #25d366; }
.float-cta .cta-call { background: linear-gradient(135deg, var(--maroon), var(--maroon-dark)); border: 1px solid var(--gold); }
@media (min-width: 992px) { .float-cta a { width: 58px; height: 58px; font-size: 24px; } .float-cta { right: 26px; bottom: 26px; } }

/* ---------- Small-screen polish ---------- */
@media (max-width: 575px) {
  .container { padding-left: 18px; padding-right: 18px; }
  .form-search { padding: 28px 12px 8px; margin: -30px 12px 0; }
  .card-explore .card-body, .card-news .card-body { padding-left: 24px; padding-right: 20px; }
  .card-special { padding: 30px 24px; }
  .testi-carousel__item { padding: 26px 20px; }
  .home-banner-btn { padding: 11px 34px; }
  .footer-area { padding: 50px 0; }
}
@media (max-width: 399px) { .home-banner h4 { letter-spacing: .16em; } .header-top-info__icon i { font-size: 18px; } }

/* ---------- Accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
