/* Custom overrides moved from style.css for maintainability */
/* Load this file after style.css */

/* Phone links refinement */
.phone-links {
  display: grid;
  gap: 8px;
  margin: 0;
}
.phone-entry {
  display: block;
}
.phone-links .phone-link {
  width: 100%;
}
.phone-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  font-weight: 500;
  letter-spacing: 0.2px;
  color: inherit;
  text-decoration: none;
  transition: 0.2s;
}
.phone-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}
.phone-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}
.phone-app-links {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 8px;
}
.phone-app-link {
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  text-decoration: none;
  transition: 0.2s;
}
.phone-app-link i {
  font-size: 18px;
}
.phone-app-label {
  font-size: 13px;
  line-height: 1.2;
}
.phone-app-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}
.phone-app-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}
.phone-app-link:visited,
.phone-app-link:active {
  color: inherit;
}
.phone-type {
  font-size: 12px;
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.phone-value {
  font-size: 15px;
}
@media (max-width: 767px) {
  .phone-link {
    padding: 10px 12px;
  }
  .phone-value {
    font-size: 14px;
  }
}

.footer-contact-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  margin-top: 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  text-decoration: none;
  letter-spacing: 0.2px;
  transition: 0.2s;
}
.footer-contact-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}
.footer-address-link {
  display: block;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  text-decoration: none;
  letter-spacing: 0.2px;
  line-height: 1.6;
  transition: 0.2s;
}
.footer-address-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}

.footer-contact-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}
.footer-address-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}

.footer-nav-links {
  display: grid;
  gap: 8px;
}
.footer-nav-links--right {
  justify-items: stretch;
}
.footer-nav-links--right .footer-nav-link {
  width: 100%;
  justify-content: flex-end;
  text-align: right;
}
.footer-nav-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  text-decoration: none;
  letter-spacing: 0.2px;
  transition: 0.2s;
}
.footer-nav-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}
.footer-nav-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}
.phone-link:visited,
.phone-link:active,
.footer-contact-link:visited,
.footer-contact-link:active,
.footer-address-link:visited,
.footer-address-link:active,
.footer-nav-link:visited,
.footer-nav-link:active {
  color: #cfe3f7;
}

.footer .footer-nav-link,
.footer .footer-contact-link,
.footer .footer-address-link,
.footer .phone-link,
.footer .phone-link:visited,
.footer .phone-link:active,
.footer .footer-contact-link:visited,
.footer .footer-contact-link:active,
.footer .footer-address-link:visited,
.footer .footer-address-link:active,
.footer .footer-nav-link:visited,
.footer .footer-nav-link:active {
  color: #c7c7c7;
}
.footer .footer-nav-link:hover,
.footer .footer-contact-link:hover,
.footer .footer-address-link:hover,
.footer .phone-link:hover {
  color: #009dff;
}

.forQuery .phone_num .phone-link,
.forQuery .phone_num .phone-link:visited,
.forQuery .phone_num .phone-link:active {
  color: #1f1f1f !important;
  border: 1px solid #1f1f1f !important;
  border-radius: 8px !important;
  background: rgba(31, 31, 31, 0.03) !important;
  box-shadow: none !important;
}
.forQuery .phone_num .phone-link:hover {
  color: #009dff !important;
  border-color: #009dff !important;
  background: rgba(0, 157, 255, 0.08) !important;
}
.forQuery .phone_num .phone-app-link,
.forQuery .phone_num .phone-app-link:visited,
.forQuery .phone_num .phone-app-link:active {
  color: #1f1f1f !important;
  border: 1px solid #1f1f1f !important;
  border-radius: 8px !important;
  background: rgba(31, 31, 31, 0.03) !important;
  box-shadow: none !important;
}
.forQuery .phone_num .phone-app-link:hover {
  color: #009dff !important;
  border-color: #009dff !important;
  background: rgba(0, 157, 255, 0.08) !important;
}

/* Header nav underline removed */
.header-area .main-header-area .main-menu ul li a::before {
  display: none !important;
}
.header-area .main-header-area .main-menu ul li a:hover::before {
  display: none !important;
}
.header-area .main-header-area .main-menu ul li a.active::before {
  display: none !important;
}

/* Header nav link text underline removed */
.header-area .main-header-area .main-menu ul li a,
.header-area .main-header-area .main-menu ul li a:hover,
.header-area .main-header-area .main-menu ul li a:focus,
.header-area .main-header-area .main-menu ul li a:active,
.header-area .main-header-area .main-menu ul li a.active {
  text-decoration: none !important;
}

/* Header nav hover feedback */
.header-area .main-header-area .main-menu ul li a {
  transition:
    color 0.2s ease,
    opacity 0.2s ease;
}
.header-area .main-header-area .main-menu ul li a:hover,
.header-area .main-header-area .main-menu ul li a:focus,
.header-area .main-header-area .main-menu ul li a.active {
  color: #009dff !important;
  opacity: 1;
}

.header-area .main-header-area .main-menu ul li a.active {
  color: #fff !important;
}

/* Force active nav color neutral */
.header-area .main-header-area .main-menu ul li a.active,
.slicknav_menu .slicknav_nav a.active {
  color: #fff !important;
}
.header-area .main-header-area .main-menu ul li a:hover,
.header-area .main-header-area .main-menu ul li a:focus,
.slicknav_menu .slicknav_nav a:hover,
.slicknav_menu .slicknav_nav a:focus {
  color: #009dff !important;
}

/* Social icon hover blue */
.header-area .main-header-area .book_room .socail_links ul li a:hover,
.header-area .main-header-area .book_room .socail_links ul li a:focus,
.footer .socail_links ul li a:hover,
.footer .socail_links ul li a:focus {
  color: #009dff !important;
}

/* Center phone text in query cards */
.forQuery .phone-link {
  justify-content: center !important;
  align-items: center !important;
  flex-direction: column;
  text-align: center;
  gap: 2px;
}
.forQuery .phone-link .phone-type,
.forQuery .phone-link .phone-value {
  text-align: center;
}
.forQuery .phone-app-links {
  justify-content: center;
}
.footer .phone-app-link,
.footer .phone-app-link:visited,
.footer .phone-app-link:active {
  color: #c7c7c7;
  gap: 8px;
  padding: 0 10px;
  min-width: 0;
}
.footer .phone-app-link:hover {
  color: #009dff;
}

/* Social icon links should never render text underline */
.header-area .main-header-area .book_room .socail_links ul li a,
.footer .socail_links ul li a {
  text-decoration: none !important;
}

/* Match header social icon base color to header menu links */
.header-area .main-header-area .book_room .socail_links ul li a,
.header-area .main-header-area .book_room .socail_links ul li a:visited,
.header-area .main-header-area .book_room .socail_links ul li a:active {
  color: #fff !important;
}

/* Minimum recommended mobile touch target for social icons on small screens only */
@media (max-width: 991px) {
  .header-area .main-header-area .book_room .socail_links ul li a,
  .footer .socail_links ul li a {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Keep original social icon sizing on larger screens */
@media (min-width: 992px) {
  .header-area .main-header-area .book_room .socail_links ul li a,
  .footer .socail_links ul li a {
    width: auto;
    height: auto;
    display: inline-block;
  }
}

/* Mobile header layout: hamburger left, logo center, empty spacer right */
@media (max-width: 991px) {
  .header-area .main-header-area {
    min-height: 84px;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .header-area .main-header-area .logo-img {
    text-align: center !important;
  }
  .header-area .main-header-area .logo-img img {
    width: 126px !important;
    max-width: 100%;
  }
  .header-area .main-header-area .mobile_menu--left {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 84px;
    padding-left: 0;
  }
  .header-area .main-header-area .mobile_menu.mobile_menu--left {
    position: relative !important;
    right: auto !important;
    width: auto !important;
    z-index: 99;
  }
  .header-area .main-header-area .mobile-header-spacer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 84px;
  }
  .header-area .main-header-area .mobile_menu--left .slicknav_menu {
    display: flex;
    align-items: center;
    height: 84px;
    margin: 0 !important;
    width: 100%;
    background: transparent;
    text-align: left;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    float: none !important;
    padding: 0 !important;
  }
  .header-area .main-header-area .mobile_menu--left .slicknav_btn {
    float: none !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    line-height: 1;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .header-area .main-header-area .mobile_menu--left .slicknav_btn .slicknav_icon {
    margin: 0 !important;
    top: 0 !important;
    right: 0 !important;
    position: relative;
    float: none !important;
    padding: 0 !important;
    width: 30px !important;
    height: auto !important;
  }
  .header-area .main-header-area .mobile_menu--left .slicknav_menu .slicknav_icon-bar {
    margin: 5px 0 !important;
  }
  .header-area .main-header-area .mobile_menu--left .slicknav_nav {
    top: 46px !important;
    left: 0 !important;
    right: auto !important;
    width: 260px !important;
    margin-top: 0 !important;
  }
}

/* Keep mobile header free of social icons; they remain in the footer */
@media (max-width: 991px) {
  .header-area .main-header-area .book_room--mobile {
    display: none !important;
  }
}

/* Mobile sticky header: slightly smaller logo and height while scrolling */
@media (max-width: 991px) {
  .header-area .main-header-area.sticky {
    min-height: 74px;
  }
  .header-area .main-header-area.sticky .logo-img img {
    width: 112px !important;
  }
  .header-area .main-header-area.sticky .mobile_menu--left,
  .header-area .main-header-area.sticky .mobile-header-spacer,
  .header-area .main-header-area.sticky .mobile_menu--left .slicknav_menu {
    min-height: 74px;
    height: 74px;
  }
}

/* Mobile nav panel: open below header row, not over logo/hamburger */
@media (max-width: 991px) {
  .header-area .main-header-area .mobile_menu--left .slicknav_menu {
    position: relative !important;
  }
  .header-area .main-header-area .mobile_menu--left .slicknav_nav {
    top: calc(100% + 4px) !important;
    left: 0 !important;
    right: auto !important;
    margin: 0 !important;
    width: 240px !important;
    max-width: calc(100vw - 20px) !important;
    z-index: 120;
  }
}
/* Unified typography system */
:root {
  --ls-trajan: 0.05em;
  --ls-raleway: 0.02em;
  --ls-nav: 0.05em;
}

/* Body copy */
body,
p,
li,
span,
label,
input,
textarea,
select,
.about_info p,
.about_main_info p,
.single_about_info p,
.offers_area p,
.footer p,
.footer .footer_text,
.footer .footer_widget p,
.footer .copy_right,
.footer .copy_right p {
  font-family: "Raleway", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: var(--ls-raleway) !important;
}

/* Big headers and key section titles -> Trajan brand accent */
h1,
h2,
.slider_area .single_slider .slider_text h3,
.bradcam_area h3,
.section_title h3,
.offers_area .single_offers h3,
.features_room .section_title h3,
.features_room .room_heading_inner h3,
.footer .footer_title {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}

/* Buttons remain clean and readable */
button,
.btn,
.boxed-btn,
.boxed-btn2,
.boxed-btn3,
.book_now,
.line-button,
input[type="button"],
input[type="submit"] {
  font-family: "Raleway", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-raleway) !important;
}

/* Header navigation -> Trajan */
.header-area,
.header-area a,
.header-area .book_room .socail_links a,
.header-area .main-header-area .main-menu ul li a,
.slicknav_menu .slicknav_nav a {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  letter-spacing: var(--ls-nav) !important;
}
.header-area .main-header-area .main-menu ul li a,
.slicknav_menu .slicknav_nav a {
  font-weight: 500 !important;
}

/* Footer text/nav -> Raleway */
.footer a,
.footer .footer-nav-link,
.footer .footer-contact-link,
.footer .footer-address-link,
.footer .phone-link,
.footer .footer_text,
.footer .copy_right,
.footer .copy_right p {
  font-family: "Raleway", sans-serif !important;
  letter-spacing: var(--ls-raleway) !important;
}

/* Contact/query card hierarchy */
.phone-type {
  font-family: "Raleway", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: var(--ls-raleway) !important;
  opacity: 0.85;
}
.phone-value {
  font-family: "Raleway", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: var(--ls-raleway) !important;
  opacity: 1;
}
.phone-type {
  font-weight: 500 !important;
}
.phone-value {
  font-weight: 400 !important;
}

/* H3 split: slider Trajan only */
h3,
.bradcam_area h3,
.section_title h3,
.offers_area .single_offers h3,
.features_room .section_title h3,
.features_room .room_heading_inner h3,
.footer .footer_title {
  font-family: "Raleway", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: var(--ls-raleway) !important;
}
.slider_area .single_slider .slider_text h3 {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}

/* Footer item size consistency */
.footer .footer-nav-link,
.footer .footer-contact-link,
.footer .footer-address-link,
.footer .phone-link {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 8px;
}
.footer .phone-links .phone-link {
  width: 100%;
}
.footer .footer-address-link {
  line-height: 1.45;
}

/* Footer and featured rooms final overrides */
.footer .footer_title {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}
.features_room .section_title h3,
.features_room .room_heading_inner h3 {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}
.footer .footer-nav-links li {
  display: flex;
}
.footer .footer-nav-links .footer-nav-link {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  font-size: 15px;
  font-weight: 500;
}

/* Single heading override: choose-room title in Raleway */
.features_room .section_title h3 {
  font-family: "Raleway", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: var(--ls-raleway) !important;
}

/* Featured Rooms label in Trajan */
.features_room .section_title span {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}

/* Trajan only for spans followed by h3 */
.section_title span.trajan-kicker {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}

/* Footer cards centered content */
.footer-nav-links--right .footer-nav-link {
  justify-content: center !important;
  text-align: center !important;
}
.footer .footer-nav-link,
.footer .footer-contact-link,
.footer .footer-address-link,
.footer .phone-link {
  justify-content: center !important;
  text-align: center !important;
}

/* Footer nav title left align */
.footer .footer_widget.text-end .footer_title {
  text-align: left !important;
}

/* Slider h3 tighter letter spacing */
.slider_area .single_slider .slider_text h3 {
  letter-spacing: 0.02em !important;
}

/* Mobile nav active color neutral */
@media (max-width: 991px) {
  .slicknav_menu .slicknav_nav {
    background: #000 !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }
  .slicknav_menu .slicknav_nav a {
    color: #fff !important;
  }
  .slicknav_menu .slicknav_nav a.active,
  .slicknav_menu .slicknav_nav a.active:hover,
  .slicknav_menu .slicknav_nav a.active:focus {
    color: #fff !important;
  }

  /* Safety guard: header/footer must remain visible on mobile */
  #site-header,
  #site-footer,
  #site-header header,
  #site-footer footer,
  .header-area,
  .footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Uniform section spacing across pages */
:root {
  --section-gap-mobile: 56px;
  --section-gap-desktop: 88px;
}

.about_area,
.offers_area,
.features_room,
.forQuery,
.instragram_area,
.about_main_info,
.contact-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--section-gap-mobile) !important;
  padding-bottom: var(--section-gap-mobile) !important;
}

@media (min-width: 992px) {
  .about_area,
  .offers_area,
  .features_room,
  .forQuery,
  .instragram_area,
  .about_main_info,
  .contact-section {
    padding-top: var(--section-gap-desktop) !important;
    padding-bottom: var(--section-gap-desktop) !important;
  }
}

/* Remove mobile gaps between stacked room images */
@media (max-width: 767px) {
  .features_room .rooms_here .single_rooms {
    margin-bottom: 0 !important;
  }
}

/* Instagram section should sit flush with footer */
.instragram_area {
  padding-bottom: 0 !important;
}

/* Normalize mixed Instagram image sizes */
.instragram_area .single_instagram {
  aspect-ratio: 1 / 1;
}

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

@media (max-width: 991px) {
  .instragram_area {
    display: none !important;
  }
}

/* Reliable spacing below BOOK DIRECTLY heading */
.footer .footer_direct_title {
  margin: 0 0 56px 0 !important;
  padding-bottom: 0 !important;
}

.footer .footer_direct_title_text {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: var(--ls-trajan) !important;
}

/* Pull footer column titles up closer to BOOK DIRECTLY */
.footer .footer_top .footer_widget .footer_title {
  margin-top: 0 !important;
}

/* Footer spacing tuning:
   - smaller gap from footer start to BOOK DIRECTLY
   - larger gap from BOOK DIRECTLY to the 3 columns
*/
.footer .footer_top {
  padding-top: 44px !important;
}

@media (max-width: 767px) {
  .footer .footer_top {
    padding-top: 28px !important;
  }
}

/* Featured rooms: normalize mixed source image ratios so cards align */
.features_room .rooms_here .single_rooms .room_thumb {
  aspect-ratio: 16 / 9;
}

.features_room .rooms_here .single_rooms .room_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Match breadcrumb page titles to slider hero typography */
.bradcam_area h3 {
  font-family: "Cinzel", "Trajan Pro", "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.015em !important;
}

/* Desktop header height tuning */
@media (min-width: 992px) {
  .header-area {
    padding-top: 16px !important;
  }
  .header-area .main-header-area .main-menu {
    padding: 6px 0 !important;
  }
  .header-area .main-header-area.sticky {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* Ensure hero slider backgrounds render full-width consistently */
.slider_area,
.slider_area .slider_active,
.slider_area .owl-stage-outer,
.slider_area .owl-stage,
.slider_area .owl-item,
.slider_area .single_slider {
  width: 100%;
}
.slider_area .single_slider {
  background-position: center center;
}

.about_bg_2 {
  background-image: url(../img/banner/about_banner2.jpg);
}

/* Home about images: keep consistent framing with mixed source sizes */
.about_area .about_thumb .img_1,
.about_area .about_thumb .img_2 {
  flex: 0 0 48%;
  max-width: 48%;
  aspect-ratio: 284 / 400;
  overflow: hidden;
}

.about_area .about_thumb .img_1 {
  transform: translateY(-10px);
}

.about_area .about_thumb .img_2 {
  margin-top: 0 !important;
  transform: translateY(10px);
}

.about_area .about_thumb .img_1 img,
.about_area .about_thumb .img_2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Improve white-text readability on bright bradcam images */
.bradcam_area {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.bradcam_area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.48),
    rgba(0, 0, 0, 0.28)
  );
  pointer-events: none;
  z-index: 0;
}

.bradcam_area > * {
  position: relative;
  z-index: 1;
}

.bradcam_area h3,
.header-area .main-header-area .main-menu ul li a {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

/* Improve white-text readability on home slider images */
.slider_area .single_slider {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.slider_area .single_slider::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.44),
    rgba(0, 0, 0, 0.24)
  );
  pointer-events: none;
  z-index: 0;
}

.slider_area .single_slider > * {
  position: relative;
  z-index: 1;
}

.slider_area .single_slider .slider_text h3,
.slider_area .single_slider .slider_text p {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

/* Improve white-text readability on feature room cards */
.features_room .rooms_here .single_rooms::before {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.08) 0%,
    rgba(0, 0, 0, 0.52) 78%
  );
  opacity: 1;
}

.features_room .rooms_here .single_rooms .room_thumb .room_heading span,
.features_room .rooms_here .single_rooms .room_thumb .room_heading h3,
.features_room .rooms_here .single_rooms .room_thumb .room_heading a {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

/* Very light balancing so non-hero images don't feel brighter than hero sections */
.about_area .about_thumb .img_1 img,
.about_area .about_thumb .img_2 img,
.offers_area .single_offers .about_thumb img,
.instragram_area .single_instagram img {
  filter: brightness(0.94);
}

.about_info_area .single_slider {
  position: relative;
  isolation: isolate;
}

.about_info_area .single_slider::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.08);
  pointer-events: none;
  z-index: 0;
}

/* Contact page: compact query card variant without inline styles */
.forQuery.forQuery--compact {
  padding: 0 !important;
}

/* Contact page: social media card */
.social-connect-card .social-card-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.social-connect-card .social-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  min-width: 170px;
  padding: 10px 14px;
  border: 1px solid #1f1f1f;
  border-radius: 8px;
  background: rgba(31, 31, 31, 0.03);
  color: #1f1f1f;
  text-decoration: none;
  font-family: "Raleway", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: 0.2s ease;
}

.social-connect-card .social-card-link i {
  font-size: 18px;
}

.social-connect-card .social-card-link:hover,
.social-connect-card .social-card-link:focus-visible {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}

.social-connect-card .social-card-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}

.social-connect-card .social-card-link--x i {
  color: #111111;
}

.social-connect-card .social-card-link--facebook i {
  color: #1877f2;
}

.social-connect-card .social-card-link--instagram i {
  background: linear-gradient(
    45deg,
    #f58529 0%,
    #feda77 25%,
    #dd2a7b 55%,
    #8134af 80%,
    #515bd4 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (max-width: 575px) {
  .social-connect-card .social-card-link {
    width: 100%;
    min-width: 0;
  }
}

/* Contact page: gentle spacing between stacked sections */
.contact-section .forQuery.forQuery--compact {
  margin-bottom: 2rem !important;
}

.contact-section .social-connect-card {
  margin-top: 0.5rem;
}

.contact-section .social-connect-card + .d-block {
  margin-top: 1rem !important;
}

/* About page: keep slider and text centered on extra-wide screens */
@media (min-width: 1501px) {
  .about_info_area {
    padding-left: 0 !important;
  }

  .about_info_area .about_active {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
  }

  .about_main_info .container {
    max-width: 1280px;
  }
}

/* About intro heading: natural wrap without hard line breaks */
.about_info .section_title h3 {
  max-width: 14ch;
}

/* Dedicated contact-card component (used on index query + contact page) */
.contact-boxes .contact-links {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0;
}

.contact-boxes .contact-entry {
  display: block;
  width: 100%;
}

.contact-boxes .contact-link {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid #1f1f1f;
  border-radius: 8px;
  background: rgba(31, 31, 31, 0.03);
  color: #1f1f1f;
  text-decoration: none;
}

.contact-boxes .contact-type {
  font-size: 12px;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.contact-boxes .contact-value {
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.contact-boxes .contact-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}

.contact-boxes .contact-link:focus-visible,
.contact-boxes .contact-app-link:focus-visible {
  outline: 2px solid #009dff;
  outline-offset: 2px;
}

.contact-boxes .contact-app-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin-top: 8px;
}

.contact-boxes .contact-app-link {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #1f1f1f;
  border-radius: 8px;
  background: rgba(31, 31, 31, 0.03);
  color: #1f1f1f;
  text-decoration: none;
}

.contact-boxes .contact-app-label {
  font-size: 14px;
  line-height: 1.2;
}

.contact-boxes .contact-app-link i {
  font-size: 18px;
}

.contact-boxes .contact-app-link--whatsapp i {
  color: #25d366;
}

.contact-boxes .contact-app-link--viber i {
  color: #7360f2;
}

.contact-boxes .contact-app-link:hover {
  color: #009dff;
  border-color: #009dff;
  background: rgba(0, 157, 255, 0.08);
}

@media (max-width: 400px) {
  .contact-boxes .contact-app-links {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 992px) {
  .contact-section .forQuery.forQuery--compact:not(.social-connect-card) .contact-boxes {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Override legacy .forQuery .phone_num a rule from style.css */
.forQuery .Query_border .phone_num.contact-boxes .contact-link,
.forQuery .Query_border .phone_num.contact-boxes .contact-link:visited,
.forQuery .Query_border .phone_num.contact-boxes .contact-link:active {
  background: rgba(31, 31, 31, 0.03) !important;
  color: #1f1f1f !important;
  border: 1px solid #1f1f1f !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  display: flex !important;
  font-size: 14px !important;
}

.forQuery .Query_border .phone_num.contact-boxes .contact-link:hover,
.forQuery .Query_border .phone_num.contact-boxes .contact-link:focus-visible {
  background: rgba(0, 157, 255, 0.08) !important;
  color: #009dff !important;
  border-color: #009dff !important;
}

.forQuery .Query_border .phone_num.contact-boxes .contact-app-link,
.forQuery .Query_border .phone_num.contact-boxes .contact-app-link:visited,
.forQuery .Query_border .phone_num.contact-boxes .contact-app-link:active {
  background: rgba(31, 31, 31, 0.03) !important;
  color: #1f1f1f !important;
  border: 1px solid #1f1f1f !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  min-width: 0 !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 14px !important;
}

.forQuery .Query_border .phone_num.contact-boxes .contact-app-link:hover,
.forQuery .Query_border .phone_num.contact-boxes .contact-app-link:focus-visible {
  background: rgba(0, 157, 255, 0.08) !important;
  color: #009dff !important;
  border-color: #009dff !important;
}
