/* Sunshine Inn eye-friendly palette override.
   Purpose: softer blue/green palette, no orange/yellow UI accents, no gradients. */
:root{
  --sinn-navy:#123C69 !important;
  --sinn-primary:#2563EB !important;
  --sinn-primary-2:#38BDF8 !important;
  --sinn-sky:#38BDF8 !important;
  --sinn-sage:#8ABF69 !important;
  --sinn-forest:#0F6B4A !important;
  --sinn-bg:#F8FAFC !important;
  --sinn-surface:#FFFFFF !important;
  --sinn-soft-blue:#EAF3FF !important;
  --sinn-soft-green:#EDF8E9 !important;
  --sinn-border:#D7E3F4 !important;
  --sinn-ink:#111827 !important;
  --sinn-muted:#64748B !important;

  --bs-blue:#2563EB !important;
  --bs-indigo:#123C69 !important;
  --bs-purple:#123C69 !important;
  --bs-pink:#38BDF8 !important;
  --bs-red:#B91C1C !important;
  --bs-orange:#8ABF69 !important;
  --bs-yellow:#8ABF69 !important;
  --bs-green:#0F6B4A !important;
  --bs-teal:#0F6B4A !important;
  --bs-cyan:#38BDF8 !important;
  --bs-primary:#2563EB !important;
  --bs-primary-rgb:37, 99, 235 !important;
  --bs-secondary:#64748B !important;
  --bs-secondary-rgb:100, 116, 139 !important;
  --bs-success:#0F6B4A !important;
  --bs-success-rgb:15, 107, 74 !important;
  --bs-info:#38BDF8 !important;
  --bs-info-rgb:56, 189, 248 !important;
  --bs-warning:#8ABF69 !important;
  --bs-warning-rgb:138, 191, 105 !important;
  --bs-light:#F8FAFC !important;
  --bs-light-rgb:248, 250, 252 !important;
  --bs-dark:#111827 !important;
  --bs-dark-rgb:17, 24, 39 !important;
  --bs-link-color:#2563EB !important;
  --bs-link-hover-color:#123C69 !important;
  --bs-body-color:#111827 !important;
  --bs-body-bg:#F8FAFC !important;
  --bs-border-color:#D7E3F4 !important;
  --bs-gradient:none !important;
}

html,body{
  background:#F8FAFC !important;
  color:#111827 !important;
}

body,
.main,
#main,
.content,
.page-wrapper,
.dashboard,
.section-bg{
  background-color:#F8FAFC !important;
}

.card,
.modal-content,
.dropdown-menu,
.offcanvas,
.sinn-card,
.premium-card,
.table-card,
.auth-card,
.booking-card,
.summary-card{
  background:#FFFFFF !important;
  background-image:none !important;
  border-color:#D7E3F4 !important;
  color:#111827 !important;
}

.header,
.sidebar,
#sidebar,
.navbar,
.sinn-sidebar,
.admin-sidebar,
.staff-sidebar{
  background:#123C69 !important;
  background-image:none !important;
}

.sidebar a,
#sidebar a,
.navbar a,
.sinn-sidebar a,
.admin-sidebar a,
.staff-sidebar a{
  color:#FFFFFF !important;
}

.sidebar a:hover,
.sidebar .active,
#sidebar a:hover,
#sidebar .active,
.sinn-sidebar a:hover,
.sinn-sidebar .active,
.admin-sidebar a:hover,
.admin-sidebar .active,
.staff-sidebar a:hover,
.staff-sidebar .active{
  background:#2563EB !important;
  background-image:none !important;
  color:#FFFFFF !important;
}

a{ color:#2563EB !important; }
a:hover{ color:#123C69 !important; }

.btn,
button,
input[type="submit"],
input[type="button"]{
  background-image:none !important;
}

.btn-primary,
.btn-info,
.btn-book,
.btn-premium,
.btn-sinn,
.btn-add,
.action-primary,
.bg-primary{
  background:#2563EB !important;
  background-image:none !important;
  border-color:#2563EB !important;
  color:#FFFFFF !important;
}
.btn-primary:hover,
.btn-info:hover,
.btn-book:hover,
.btn-premium:hover,
.btn-sinn:hover,
.btn-add:hover,
.action-primary:hover{
  background:#123C69 !important;
  border-color:#123C69 !important;
  color:#FFFFFF !important;
}

.btn-success,
.bg-success,
.badge.bg-success,
.text-bg-success{
  background:#0F6B4A !important;
  background-image:none !important;
  border-color:#0F6B4A !important;
  color:#FFFFFF !important;
}

.btn-warning,
.bg-warning,
.text-bg-warning,
.badge.bg-warning,
.badge.text-bg-warning,
.progress-bar.bg-warning{
  background:#8ABF69 !important;
  background-image:none !important;
  border-color:#8ABF69 !important;
  color:#FFFFFF !important;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active{
  background:#0F6B4A !important;
  border-color:#0F6B4A !important;
  color:#FFFFFF !important;
}

.text-primary{ color:#2563EB !important; }
.text-info{ color:#38BDF8 !important; }
.text-success{ color:#0F6B4A !important; }
.text-warning,.link-warning,.bi-star-fill.text-warning,.bi-star-half.text-warning{ color:#8ABF69 !important; }
.text-dark{ color:#111827 !important; }
.text-muted{ color:#64748B !important; }

.border-primary{ border-color:#2563EB !important; }
.border-info{ border-color:#38BDF8 !important; }
.border-success{ border-color:#0F6B4A !important; }
.border-warning{ border-color:#8ABF69 !important; }

.alert-primary,.table-primary{
  background:#EAF3FF !important;
  background-image:none !important;
  border-color:#D7E3F4 !important;
  color:#123C69 !important;
}
.alert-success,.table-success{
  background:#EDF8E9 !important;
  background-image:none !important;
  border-color:#CFE7C6 !important;
  color:#0F6B4A !important;
}
.alert-warning,.table-warning{
  background:#EDF8E9 !important;
  background-image:none !important;
  border-color:#CFE7C6 !important;
  color:#0F6B4A !important;
}

.table,
.table-responsive,
.dataTable-wrapper{
  color:#111827 !important;
}
.table thead th,
.table .table-header,
thead th{
  background:#123C69 !important;
  background-image:none !important;
  color:#FFFFFF !important;
  border-color:#123C69 !important;
}
.table tbody tr:hover{ background:#EAF3FF !important; }

.form-control:focus,
.form-select:focus,
.premium-input:focus{
  border-color:#38BDF8 !important;
  box-shadow:0 0 0 .18rem rgba(56, 189, 248, .22) !important;
}

.badge,
.status-badge,
.pill,
.chip{
  background-image:none !important;
}

.apexcharts-canvas text,
.apexcharts-text,
.apexcharts-legend-text{
  fill:#111827 !important;
  color:#111827 !important;
}

/* Visibility fix: preserve photo backgrounds while keeping the eye-friendly palette. */
.hero-section,
.about-hero,
.activities-hero,
.rooms-hero,
.contact-hero,
.login-hero,
.register-hero,
.auth-hero,
.page-hero,
.landing-hero{
  position:relative !important;
  isolation:isolate !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center !important;
  background-color:#123C69 !important;
}

.hero-section::before,
.about-hero::before,
.activities-hero::before,
.rooms-hero::before,
.contact-hero::before,
.login-hero::before,
.register-hero::before,
.auth-hero::before,
.page-hero::before,
.landing-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:rgba(18,60,105,.66) !important;
}

.hero-content,
.about-hero-content,
.activities-hero-content,
.rooms-hero-content,
.contact-hero-content,
.auth-hero-content,
.page-hero-content,
.landing-hero-content,
.hero-section .container,
.about-hero .container,
.activities-hero .container,
.rooms-hero .container,
.contact-hero .container{
  position:relative !important;
  z-index:2 !important;
}

.hero-section h1,.hero-section h2,.hero-section h3,.hero-section p,.hero-section span:not(.badge),
.about-hero h1,.about-hero h2,.about-hero h3,.about-hero p,.about-hero span:not(.badge),
.activities-hero h1,.activities-hero h2,.activities-hero h3,.activities-hero p,.activities-hero span:not(.badge),
.rooms-hero h1,.rooms-hero h2,.rooms-hero h3,.rooms-hero p,.rooms-hero span:not(.badge),
.contact-hero h1,.contact-hero h2,.contact-hero h3,.contact-hero p,.contact-hero span:not(.badge),
.auth-hero h1,.auth-hero h2,.auth-hero h3,.auth-hero p,.auth-hero span:not(.badge),
.page-hero h1,.page-hero h2,.page-hero h3,.page-hero p,.page-hero span:not(.badge){
  color:#FFFFFF !important;
  text-shadow:0 3px 14px rgba(0,0,0,.42) !important;
}

.hero-badge,
.hero-section .section-eyebrow,
.about-hero .section-eyebrow,
.activities-hero .section-eyebrow,
.rooms-hero .section-eyebrow,
.contact-hero .section-eyebrow,
.page-hero .section-eyebrow{
  background:rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.38) !important;
  color:#FFFFFF !important;
  box-shadow:0 10px 26px rgba(0,0,0,.16) !important;
}

.hero-badge i,
.hero-section i,
.about-hero i,
.activities-hero i,
.rooms-hero i,
.contact-hero i,
.page-hero i{
  color:currentColor !important;
}

/* Guest navbar: visible light bar, high-contrast active links and hamburger. */
.premium-navbar{
  background:rgba(255,255,255,.97) !important;
  background-image:none !important;
  border-bottom:1px solid rgba(18,60,105,.18) !important;
  box-shadow:0 14px 42px rgba(18,60,105,.16) !important;
}
.premium-navbar .navbar-brand,
.premium-navbar .brand-text span,
.premium-navbar .navbar-nav .nav-link{
  color:#123C69 !important;
  text-shadow:none !important;
}
.premium-navbar .brand-text span:last-child{
  color:rgba(18,60,105,.72) !important;
}
.premium-navbar .navbar-nav .nav-link i{
  color:#2563EB !important;
}
.premium-navbar .navbar-nav .nav-link:hover{
  color:#123C69 !important;
  background:#EAF3FF !important;
}
.premium-navbar .navbar-nav .nav-link.active{
  color:#FFFFFF !important;
  background:#2563EB !important;
  box-shadow:0 10px 24px rgba(37,99,235,.24) !important;
}
.premium-navbar .navbar-nav .nav-link.active i{
  color:#FFFFFF !important;
}
.premium-navbar .navbar-nav .nav-link.active::after{
  background:#FFFFFF !important;
}
.mobile-menu-btn{
  background:#123C69 !important;
  border:1px solid rgba(18,60,105,.25) !important;
  color:#FFFFFF !important;
  box-shadow:0 10px 24px rgba(18,60,105,.22) !important;
}
.mobile-menu-btn i{
  color:#FFFFFF !important;
}
.mobile-menu-btn:hover,
.mobile-menu-btn.active{
  background:#2563EB !important;
  color:#FFFFFF !important;
}
.mobile-landscape-menu{
  background:#FFFFFF !important;
  border:1px solid #D7E3F4 !important;
  box-shadow:0 24px 70px rgba(18,60,105,.26) !important;
}
.mobile-menu-title,
.mobile-card-title,
.mobile-user-name{
  color:#123C69 !important;
  text-shadow:none !important;
}
.mobile-menu-subtitle,
.mobile-user-role{
  color:#64748B !important;
}
.mobile-menu-card{
  background:#FFFFFF !important;
  color:#123C69 !important;
  border-color:#D7E3F4 !important;
}
.mobile-menu-card:hover,
.mobile-menu-card.active{
  background:#EAF3FF !important;
  color:#123C69 !important;
  border-color:rgba(37,99,235,.42) !important;
}
.mobile-card-icon{
  background:#2563EB !important;
  color:#FFFFFF !important;
}
.mobile-action-btn.mobile-action-secondary{
  background:#F8FAFC !important;
  border:1px solid #D7E3F4 !important;
  color:#123C69 !important;
}
.mobile-action-btn.mobile-action-secondary i{
  color:#123C69 !important;
}

/* Admin/staff header and sidebar visibility. */
#header.header,
.header.fixed-top{
  background:rgba(255,255,255,.97) !important;
  background-image:none !important;
  border:1px solid rgba(18,60,105,.16) !important;
  box-shadow:0 14px 42px rgba(18,60,105,.16) !important;
  color:#123C69 !important;
}
#header.header a,
#header.header i,
#header.header span,
#header.header .toggle-sidebar-btn,
.header.fixed-top a,
.header.fixed-top i,
.header.fixed-top span,
.header.fixed-top .toggle-sidebar-btn{
  color:#123C69 !important;
  text-shadow:none !important;
}
#header.header .toggle-sidebar-btn,
.header.fixed-top .toggle-sidebar-btn{
  background:#EAF3FF !important;
  border:1px solid #D7E3F4 !important;
  box-shadow:0 8px 18px rgba(18,60,105,.10) !important;
}
#header.header .toggle-sidebar-btn:hover,
.header.fixed-top .toggle-sidebar-btn:hover{
  background:#2563EB !important;
  color:#FFFFFF !important;
}
#header.header .toggle-sidebar-btn:hover i,
.header.fixed-top .toggle-sidebar-btn:hover i{
  color:#FFFFFF !important;
}

#sidebar.sidebar,
.sidebar{
  background:#FFFFFF !important;
  background-image:none !important;
  border-right:1px solid rgba(18,60,105,.14) !important;
  box-shadow:18px 0 44px rgba(18,60,105,.10) !important;
  color:#123C69 !important;
}
.sidebar-nav .nav-heading{
  color:rgba(18,60,105,.70) !important;
}
.sidebar-nav .nav-link,
#sidebar .nav-link{
  color:#123C69 !important;
  background:#F8FAFC !important;
  border:1px solid rgba(18,60,105,.08) !important;
}
.sidebar-nav .nav-link span,
.sidebar-nav .nav-link i,
#sidebar .nav-link span,
#sidebar .nav-link i{
  color:inherit !important;
}
.sidebar-nav .nav-link i,
#sidebar .nav-link i{
  color:#2563EB !important;
}
.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link.active,
.sidebar-nav .nav-link:not(.collapsed),
#sidebar .nav-link:hover,
#sidebar .nav-link.active,
#sidebar .nav-link:not(.collapsed){
  background:#2563EB !important;
  color:#FFFFFF !important;
  border-color:#2563EB !important;
}
.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link.active i,
.sidebar-nav .nav-link:not(.collapsed) i,
.sidebar-nav .nav-link:hover span,
.sidebar-nav .nav-link.active span,
.sidebar-nav .nav-link:not(.collapsed) span,
#sidebar .nav-link:hover i,
#sidebar .nav-link.active i,
#sidebar .nav-link:not(.collapsed) i,
#sidebar .nav-link:hover span,
#sidebar .nav-link.active span,
#sidebar .nav-link:not(.collapsed) span{
  color:#FFFFFF !important;
}
.sidebar-nav .nav-content a,
#sidebar .nav-content a{
  color:#123C69 !important;
  background:transparent !important;
}
.sidebar-nav .nav-content a i,
#sidebar .nav-content a i{
  color:#0F6B4A !important;
}
.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active,
#sidebar .nav-content a:hover,
#sidebar .nav-content a.active{
  color:#0F6B4A !important;
  background:#EDF8E9 !important;
}

/* Keep icons readable on solid buttons, badges, and dark panels. */
.btn i,
.badge i,
.nav-login-btn i,
.nav-user-btn i,
.mobile-action-btn i{
  color:currentColor !important;
}
.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger,.btn-secondary,
.nav-login-btn,.nav-user-btn,.mobile-action-btn{
  color:#FFFFFF !important;
  text-shadow:none !important;
}

/* Do not hide photo/image backgrounds. Only gradients are neutralized when they are a standalone decorative background. */
[class*="gradient"]{
  background-image:none !important;
}


/* FINAL CALENDAR TEXT VISIBILITY FIX */
.booking-calendar-panel,
.walkin-calendar-card,
.flatpickr-calendar,
.datepicker,
.ui-datepicker,
.calendar,
.calendar-card{
  background:#FFFFFF !important;
  background-image:none !important;
  color:#111827 !important;
  border-color:#D7E3F4 !important;
}

.booking-calendar-title,
.walkin-calendar-title,
.flatpickr-current-month,
.flatpickr-current-month .cur-month,
.flatpickr-current-month input.cur-year,
.datepicker .datepicker-switch,
.datepicker th,
.ui-datepicker-title,
.calendar-title,
.calendar-header{
  color:#123C69 !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:900 !important;
}

.booking-calendar-subtitle,
.walkin-calendar-subtitle,
.booking-calendar-days span,
.walkin-calendar-weekdays span,
.flatpickr-weekday,
.datepicker .dow,
.ui-datepicker th,
.calendar-weekday{
  color:#475569 !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:900 !important;
}

.booking-cal-day,
.walkin-cal-day,
.flatpickr-day,
.datepicker table tr td.day,
.ui-datepicker-calendar td a,
.ui-datepicker-calendar td span,
.calendar-day{
  color:#123C69 !important;
  background:#FFFFFF !important;
  background-image:none !important;
  border:1px solid rgba(18, 60, 105,.12) !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:900 !important;
}

.booking-cal-day:hover:not(:disabled),
.walkin-cal-day:hover:not(:disabled),
.flatpickr-day:hover,
.datepicker table tr td.day:hover,
.ui-datepicker-calendar td a:hover,
.calendar-day:hover{
  background:#2563EB !important;
  color:#FFFFFF !important;
  border-color:#2563EB !important;
}

.booking-cal-day.selected,
.walkin-cal-day.selected,
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.ui-datepicker-calendar td .ui-state-active,
.calendar-day.selected,
.calendar-day.active{
  background:#2563EB !important;
  color:#FFFFFF !important;
  border-color:#2563EB !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.booking-cal-day.today:not(.selected):not(:disabled),
.walkin-cal-day.today:not(.selected),
.flatpickr-day.today,
.datepicker table tr td.today,
.ui-datepicker-calendar td .ui-state-highlight,
.calendar-day.today{
  background:#EAF3FF !important;
  color:#123C69 !important;
  border:2px solid #2563EB !important;
  opacity:1 !important;
}

.booking-cal-day:disabled,
.booking-cal-day.blocked,
.booking-cal-day.past,
.walkin-cal-day:disabled,
.walkin-cal-day.past,
.walkin-cal-day.booked,
.flatpickr-day.disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.datepicker table tr td.disabled,
.ui-datepicker-unselectable span,
.calendar-day.disabled,
.calendar-day.blocked,
.calendar-day.past{
  background:#F8FAFC !important;
  color:#64748B !important;
  border-color:#D7E3F4 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.walkin-cal-day.booked,
.booking-cal-day.blocked{
  color:#0F6B4A !important;
  background:#EDF8E9 !important;
  border-color:#0F6B4A !important;
}

.booking-cal-badge,
.walkin-cal-badge,
.booking-calendar-legend,
.walkin-calendar-help,
.booking-calendar-legend *,
.walkin-calendar-help *,
.calendar-legend,
.calendar-legend *{
  color:#111827 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.walkin-cal-day.booked .walkin-cal-badge,
.booking-cal-day.blocked .booking-cal-badge{
  color:#0F6B4A !important;
}

.booking-cal-day:hover:not(:disabled) .booking-cal-badge,
.walkin-cal-day:hover:not(:disabled) .walkin-cal-badge,
.booking-cal-day.selected .booking-cal-badge,
.walkin-cal-day.selected .walkin-cal-badge{
  color:#FFFFFF !important;
}

.booking-calendar-nav,
.walkin-calendar-nav,
.flatpickr-prev-month,
.flatpickr-next-month,
.datepicker .prev,
.datepicker .next,
.ui-datepicker-prev,
.ui-datepicker-next,
.calendar-nav,
.calendar-prev,
.calendar-next{
  color:#2563EB !important;
  background:#EAF3FF !important;
  background-image:none !important;
  border:1px solid #D7E3F4 !important;
  opacity:1 !important;
}

.booking-calendar-nav i,
.walkin-calendar-nav i,
.flatpickr-prev-month svg,
.flatpickr-next-month svg,
.ui-datepicker-prev span,
.ui-datepicker-next span{
  color:#2563EB !important;
  fill:#2563EB !important;
}

.booking-calendar-nav:hover,
.walkin-calendar-nav:hover,
.flatpickr-prev-month:hover,
.flatpickr-next-month:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.ui-datepicker-prev:hover,
.ui-datepicker-next:hover,
.calendar-nav:hover,
.calendar-prev:hover,
.calendar-next:hover{
  background:#2563EB !important;
  color:#FFFFFF !important;
  border-color:#2563EB !important;
}

.booking-calendar-nav:hover i,
.walkin-calendar-nav:hover i,
.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg{
  color:#FFFFFF !important;
  fill:#FFFFFF !important;
}

input[type="date"],
input[type="datetime-local"],
.booking-date-field,
.booking-date-input,
.walkin-date-field,
.calendar-input,
.date-input{
  background:#FFFFFF !important;
  color:#123C69 !important;
  border-color:#D7E3F4 !important;
  font-weight:800 !important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  filter:none !important;
}
