
:root{--fix-text:#183020;--fix-muted:#4f6355;--fix-line:rgba(24,48,32,.12)}

/* White/light panels: force readable dark text */
:where(
  .header_top,
  .header_menu,
  .footer_area,
  .footer_copyright_area,
  .gb-topbar,
  .gb-card,
  .gb-contact-card,
  .gb-comment-card,
  .gb-comment-form-wrap,
  .gb-trust-panel,
  .single-room-area,
  .room_item,
  .client_area .item .media,
  .f_widget,
  .panel,
  .panel-body,
  .panel-heading,
  .about_widget,
  .contact_widget,
  .link_widget,
  .title_widget,
  .resort_story_area,
  .choose_resot_area,
  .special_offer_area,
  .our_room_area,
  .latest_blog_area,
  .contact_us_area,
  .booking_area,
  .book_now_area,
  .breadcrumb_area,
  .comment_list_area,
  .main_w_title,
  .middle_title,
  .section_title,
  .room_details_area,
  .our_resort_facilities_area,
  .restaurant_menu_area,
  .our_gallery_area,
  .news_area,
  .service_area,
  .welcome_area,
  .container .well,
  .container .thumbnail
) :is(h1,h2,h3,h4,h5,h6,p,span,li,a,label,small,strong,em,b,td,th){
  color:var(--fix-text)!important;
}

:where(
  .header_top,
  .header_menu,
  .footer_area,
  .footer_copyright_area,
  .gb-topbar,
  .gb-card,
  .gb-contact-card,
  .gb-comment-card,
  .gb-comment-form-wrap,
  .single-room-area,
  .room_item,
  .client_area .item .media,
  .f_widget,
  .panel,
  .panel-body,
  .panel-heading,
  .about_widget,
  .contact_widget,
  .link_widget,
  .title_widget,
  .resort_story_area,
  .choose_resot_area,
  .special_offer_area,
  .our_room_area,
  .latest_blog_area,
  .contact_us_area,
  .booking_area,
  .book_now_area,
  .breadcrumb_area,
  .comment_list_area,
  .main_w_title,
  .middle_title,
  .section_title,
  .room_details_area,
  .our_resort_facilities_area,
  .restaurant_menu_area,
  .our_gallery_area,
  .news_area,
  .service_area,
  .welcome_area
) :is(.text-muted,.small,.meta,.post-date,.date,.sub_title,.middle_title p,.section_title p,.f_widget p,.gb-mini){
  color:var(--fix-muted)!important;
}

/* Keep CTA/button text white */
:is(.book_now_btn,.gb-btn,.gb-btn-outline,.btn,.btn-default,.btn-primary,.btn-success,.button,a.book_now_btn,a.gb-btn,a.btn),
:is(.book_now_btn,.gb-btn,.gb-btn-outline,.btn,.btn-default,.btn-primary,.btn-success,.button,a.book_now_btn,a.gb-btn,a.btn) *{
  color:#fff!important;
}

/* Nav & footer readability */
.navbar-default .navbar-nav>li>a,
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover,
.header_top_inner a,
.footer_area a,
.footer_area p,
.footer_copyright_area,
.footer_copyright_area a{
  color:var(--fix-text)!important;
}

/* Inputs */
input,textarea,select,.form-control{
  color:var(--fix-text)!important;
  background:#fff!important;
  border-color:var(--fix-line)!important;
}
input::placeholder,textarea::placeholder{color:#7b8c80!important;opacity:1}

/* Borders on white background */
.panel,.panel-default,.f_widget,.gb-card,.gb-contact-card,.gb-comment-card,.single-room-area,.room_item,.client_area .item .media{
  border-color:var(--fix-line)!important;
}

/* Icons and accent links */
.fa,.lnr,.flaticon{color:#2f6f48}
a:hover{color:#2f6f48!important}

/* Preserve white text in hero/slider overlays */
.main_slider_area :is(h1,h2,h3,h4,h5,h6,p,span,a,li),
.rev_slider_wrapper :is(h1,h2,h3,h4,h5,h6,p,span,a,li),
.tp-caption,
.tp-caption *{
  color:#fff!important;
}


/* Dark trust panel readability fix */
.gb-trust-panel :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,em,b){
  color:#ffffff !important;
}
.gb-trust-panel .gb-badge{
  color:#f8fafc !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
.gb-trust-panel .gb-badge i,
.gb-trust-panel .fa{
  color:#facc15 !important;
}
.gb-trust-panel .gb-btn,
.gb-trust-panel .gb-btn *{
  color:#ffffff !important;
}
.gb-trust-panel .gb-btn-outline,
.gb-trust-panel .gb-btn-outline *{
  color:#ffffff !important;
  border-color:rgba(255,255,255,.45) !important;
}


/* Dark header/footer and mobile menu readability */
.footer_area,
.footer_area :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,em,b),
.footer_copyright_area,
.footer_copyright_area :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,em,b),
.header_top,
.header_top :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,em,b),
.header_menu .navbar-collapse,
.header_menu .navbar-collapse :is(a,span,li),
.header_menu .dropdown-menu,
.header_menu .dropdown-menu :is(a,span,li),
.menu_area,
.menu_area :is(a,span,li){
  color:#ffffff !important;
}
.header_menu .navbar-collapse,
.header_menu .dropdown-menu{
  background:#111827 !important;
}
.header_menu .navbar-nav>li>a,
.header_menu .dropdown-menu>li>a,
.header_menu .navbar-toggle .icon-bar{
  color:#ffffff !important;
  border-color:#ffffff !important;
}
.footer_area a:hover,
.header_top a:hover,
.header_menu .navbar-nav>li>a:hover,
.header_menu .dropdown-menu>li>a:hover{
  color:#fbbf24 !important;
}

/* Comment list readability */
.gb-comment-card,
.gb-comment-card :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,em,b){
  color:#183020 !important;
}
.gb-comment-card .gb-stars{color:#d4a63a !important;}

/* ===== Global readability rescue v4 ===== */
/* Header/top bar on light background */
.header_top,
.header_top .header_top_inner,
.header_top .header_top_inner :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b,small),
.main_header_area .header_top,
.main_header_area .header_top :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b,small),
.main_header_area.white_menu .header_top,
.main_header_area.white_menu .header_top :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b,small){
  color:#183020 !important;
}

/* Mobile / collapsed menu on light panel */
.header_menu,
.header_menu .navbar,
.header_menu .navbar.navbar-default,
.header_menu .navbar-collapse,
.header_menu .dropdown-menu,
.header_menu .navbar-nav,
.header_menu .navbar-nav > li,
.header_menu .navbar-nav > li > a,
.header_menu .dropdown-menu > li > a,
.header_menu .navbar-collapse :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b),
.menu_area,
.menu_area :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b){
  background:#ffffff !important;
  color:#183020 !important;
}
.header_menu .navbar-nav>li>a:hover,
.header_menu .dropdown-menu>li>a:hover,
.header_menu .navbar-nav>.open>a,
.header_menu .navbar-nav>.open>a:focus,
.header_menu .navbar-nav>.open>a:hover,
.header_menu .navbar-nav>.active>a,
.header_menu .navbar-nav>.active>a:focus,
.header_menu .navbar-nav>.active>a:hover{
  color:#2f6f48 !important;
  background:#f6fbf4 !important;
}
.header_menu .navbar-toggle .icon-bar,
.navbar-default .navbar-toggle .icon-bar{background:#d7a723 !important;}
.navbar-default .navbar-toggle{border-color:rgba(24,48,32,.15)!important;}

/* Footer dark panels */
.footer_widget_area,
.footer_widget_area :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,b,small),
.footer_widget_area .media-body h4,
.footer_widget_area .about_widget .ab_wd_list .media .media-body h4,
.footer_widget_area .link_widget ul li a,
.footer_widget_area .f_title h3,
.footer_copyright_area,
.footer_copyright_area :is(h1,h2,h3,h4,h5,h6,p,span,li,a,strong,b,small){
  color:#ffffff !important;
}
.footer_widget_area .about_widget .ab_wd_list .media .media-left i,
.footer_widget_area .fa,
.footer_widget_area .f_title h3:before,
.footer_copyright_area .fa{
  color:#fbbf24 !important;
  background-color:transparent !important;
}
.footer_widget_area a:hover,
.footer_copyright_area a:hover{color:#fbbf24 !important;}

/* Buttons must stay readable */
a.book_now_btn,
.book_now_btn,
.book_now_btn:link,
.book_now_btn:visited,
.book_now_btn:hover,
.book_now_btn:focus,
.book_now_btn:active,
.book_now_btn span,
.book_now_btn i,
.book_now_area .book_now_btn,
.header_menu .book_btn .book_now_btn,
.about_widget .book_now_area .book_now_btn{
  color:#ffffff !important;
  text-shadow:none !important;
}

/* Generic dark-background rescue */
[style*="background: #2a292b"],
[style*="background:#2a292b"],
[style*="background: #222122"],
[style*="background:#222122"],
[class*="dark"],
[class*="footer"] .overlay,
.footer_widget_area,
.footer_copyright_area{
  color:#ffffff !important;
}

/* ===== Emergency readability rescue v5 ===== */
/* Kill low-opacity text everywhere in header/menu/footer/topbar */
.gb-topbar,
.gb-topbar *,
.header_top,
.header_top *,
.header_menu,
.header_menu *,
.footer_area,
.footer_area *,
.footer_widget_area,
.footer_widget_area *,
.footer_copyright_area,
.footer_copyright_area *,
.main_header_area,
.main_header_area *{
  opacity:1 !important;
}

/* Top information strip must be dark on light background */
.gb-topbar,
.gb-topbar .gb-topbar-inner,
.gb-topbar .gb-topbar-badges,
.gb-topbar .gb-badge,
.gb-topbar :is(div,span,a,p,strong,b,small){
  color:#183020 !important;
}
.gb-topbar{
  background:#f7faf5 !important;
  border-bottom:1px solid rgba(24,48,32,.10) !important;
}
.gb-topbar .gb-badge{
  background:#ffffff !important;
  border:1px solid rgba(24,48,32,.12) !important;
}
.gb-topbar .gb-badge i{color:#d7a723 !important;}

/* Contact line below logo */
.header_top,
.main_header_area .header_top{
  background:#ffffff !important;
  border-bottom:1px solid rgba(24,48,32,.08) !important;
}
.header_top .header_top_inner,
.header_top .header_top_inner .pull-left,
.header_top .header_top_inner .pull-right,
.header_top .header_top_inner .pull-left a,
.header_top .header_top_inner .pull-right a,
.header_top .header_top_inner .header_social li a,
.main_header_area .header_top :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b,small){
  color:#183020 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.header_top .header_top_inner .pull-left a i,
.header_top .header_top_inner .pull-right a i,
.header_top .header_top_inner .header_social li a i,
.header_social li a i{
  color:#d7a723 !important;
  opacity:1 !important;
}

/* Main nav readability on white background */
.header_menu,
.header_menu .navbar,
.header_menu .navbar.navbar-default,
.header_menu .navbar.navbar-default .navbar-collapse,
.header_menu .navbar.navbar-default .dropdown-menu,
.main_header_area .header_menu,
.main_header_area .header_menu.affix{
  background:#ffffff !important;
}
.header_menu .navbar.navbar-default .nav.navbar-nav > li > a,
.header_menu .navbar.navbar-default .nav.navbar-nav > li.submenu > a,
.header_menu .navbar.navbar-default .dropdown-menu > li > a,
.header_menu .navbar.navbar-default .dropdown-menu > li > a span,
.header_menu .navbar.navbar-default .nav.navbar-nav > li > a span,
.header_menu .navbar-collapse :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b),
.menu_area :is(a,p,span,li,h1,h2,h3,h4,h5,h6,strong,b){
  color:#183020 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.header_menu .navbar.navbar-default .nav.navbar-nav > li > a:hover,
.header_menu .navbar.navbar-default .nav.navbar-nav > li.active > a,
.header_menu .navbar.navbar-default .nav.navbar-nav > li.open > a,
.header_menu .navbar.navbar-default .dropdown-menu > li > a:hover{
  color:#2f6f48 !important;
}
.header_menu .navbar-toggle .icon-bar,
.navbar-default .navbar-toggle .icon-bar,
.header_menu .navbar-default .navbar-toggle .icon-bar{
  background:#d7a723 !important;
}

/* Reservation buttons always readable */
.book_now_btn,
.book_now_btn *,
.gb-btn,
.gb-btn *,
.gb-btn-outline,
.gb-btn-outline *,
.header_menu .book_btn .book_now_btn,
.header_menu .book_btn .book_now_btn *,
.navbar-nav.navbar-right .book_btn .book_now_btn,
.navbar-nav.navbar-right .book_btn .book_now_btn *{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Dark trust block must be white */
.gb-trust-panel,
.gb-trust-panel *{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35) !important;
}
.gb-trust-panel .gb-badge{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.gb-trust-panel .gb-badge i,
.gb-trust-panel .fa{color:#fbbf24 !important;}

/* Image hero / image cards text */
.single_b_title,
.single_b_title *,
.middle_title,
.middle_title *,
.resort_g_hover,
.resort_g_hover *,
.welcome_area,
.welcome_area *,
.main_slider_area,
.main_slider_area *,
[class*="overlay"],
[class*="overlay"] *{
  opacity:1 !important;
}
.main_slider_area :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b),
.single_b_title :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b),
.resort_g_hover :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b),
.middle_title :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b){
  color:#ffffff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.45) !important;
}

/* Footer dark section */
.footer_widget_area,
.footer_widget_area :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b,small),
.footer_area,
.footer_area :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b,small),
.footer_copyright_area,
.footer_copyright_area :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b,small){
  color:#ffffff !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.footer_widget_area,
.footer_area,
.footer_copyright_area{
  background:#171717 !important;
}
.footer_widget_area .fa,
.footer_area .fa,
.footer_copyright_area .fa,
.footer_widget_area .f_title h3:before{
  color:#fbbf24 !important;
  background-color:transparent !important;
}
.footer_widget_area a:hover,
.footer_area a:hover,
.footer_copyright_area a:hover{
  color:#fbbf24 !important;
}

/* Generic rescue for too-light text on white panels */
body :is(.gb-card,.gb-comment-card,.gb-comment-form-wrap,.gb-surface,.panel,.panel-body,.panel-heading,.client_area,.f_widget,.about_widget,.link_widget,.contact_widget,.title_widget,.booking_area,.book_now_area,.special_offer_area,.our_room_area,.latest_blog_area,.contact_us_area,.resort_story_area,.choose_resot_area,.welcome_area,.our_resort_facilities_area,.restaurant_menu_area,.news_area,.service_area,.room_item,.single-room-area,.section_title,.main_w_title,.middle_title,.gb-premium-room,.gb-room-body) :is(h1,h2,h3,h4,h5,h6,p,span,a,li,strong,b,label,small){
  color:#183020 !important;
  opacity:1 !important;
}

/* Form placeholders */
input::placeholder, textarea::placeholder{
  color:#7a857d !important;
  opacity:1 !important;
}
