/* ============================================================
   BLUE THEME OVERRIDE
   Replaces the default pink/coral palette with a rich
   blue colour scheme throughout the entire site.
   Primary   : #1a6fc4  (deep royal blue)
   Secondary : #0d47a1  (darker navy)
   Accent    : #42a5f5  (sky / highlight blue)
   Dark BG   : #0a1628  (deep navy for footer / wrap)
   ============================================================ */

/* ── CSS custom properties ─────────────────────────────── */
:root {
  --blue-primary   : #1a6fc4;
  --blue-dark      : #0d47a1;
  --blue-deep      : #0a1628;
  --blue-accent    : #42a5f5;
  --blue-light     : #e3f2fd;
  --blue-medium    : #1565c0;
  --blue-hover     : #1558a8;
  --blue-muted     : rgba(26, 111, 196, 0.15);
}

/* ── Body / base link ───────────────────────────────────── */
body {
  background: #f0f4f8;
  color: #2c3e50;
}

a {
  color: var(--blue-primary);
  transition: color 0.3s ease, background 0.3s ease;
}
a:hover,
a:focus {
  color: var(--blue-dark);
  text-decoration: none;
  outline: none !important;
}

/* ── Top info bar (wrap) ────────────────────────────────── */
.wrap {
  background: linear-gradient(135deg, #0d47a1 0%, #1a6fc4 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.wrap .phone a           { color: #fff; }
.wrap .phone .fa         { color: rgba(255,255,255,0.8); }
.wrap .phone .mailus     { color: rgba(255,255,255,0.6); }
.social-media p a span   { color: #fff; }
.social-media p a:hover span { color: var(--blue-accent); }

/* ── Navbar ─────────────────────────────────────────────── */
.ftco-navbar-light {
  background: #fff !important;
  box-shadow: 0 4px 20px rgba(13, 71, 161, 0.12) !important;
}
.ftco-navbar-light .navbar-brand {
  color: var(--blue-dark) !important;
  font-weight: 700;
}
.ftco-navbar-light .navbar-brand span {
  color: var(--blue-primary) !important;
}
.ftco-navbar-light .navbar-brand:hover,
.ftco-navbar-light .navbar-brand:focus {
  color: var(--blue-dark) !important;
}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
  color: #2c3e50;
}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:before {
  background-color: var(--blue-primary) !important;
}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover {
  color: var(--blue-primary) !important;
}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover:before {
  background-color: var(--blue-primary) !important;
  visibility: visible;
  transform: scaleX(1);
}
.ftco-navbar-light .navbar-nav > .nav-item.active > a {
  color: var(--blue-primary) !important;
}
.ftco-navbar-light .navbar-nav > .nav-item.active > a:before {
  background-color: var(--blue-primary) !important;
  visibility: visible;
  transform: scaleX(1);
}
@media (max-width: 991.98px) {
  .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
    color: rgba(0,0,0,0.7);
  }
  .ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover {
    color: var(--blue-primary) !important;
  }
  .ftco-navbar-light .navbar-nav > .nav-item.active > a {
    color: #000 !important;
  }
}
/* Dropdown */
.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item:hover,
.ftco-navbar-light .navbar-nav > .nav-item .dropdown-menu .dropdown-item:focus {
  background: var(--blue-primary) !important;
  color: #fff !important;
}
.ftco-navbar-light .navbar-nav > .nav-item.cta > a,
.ftco-navbar-light .navbar-nav > .nav-item.cta > a:hover {
  color: #fff !important;
  background: var(--blue-primary) !important;
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn.btn-primary {
  background: var(--blue-primary) !important;
  border: 1px solid var(--blue-primary) !important;
  color: #fff !important;
  transition: background 0.3s, border-color 0.3s, color 0.3s;
}
.btn.btn-primary:hover {
  background: var(--blue-dark) !important;
  border-color: var(--blue-dark) !important;
  color: #fff !important;
}
.btn.btn-primary.btn-outline-primary {
  border: 1px solid var(--blue-primary) !important;
  background: transparent !important;
  color: var(--blue-primary) !important;
}
.btn.btn-primary.btn-outline-primary:hover {
  background: var(--blue-primary) !important;
  color: #fff !important;
}
.btn.btn-white {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: var(--blue-dark) !important;
}
.btn.btn-white:hover {
  background: var(--blue-primary) !important;
  border-color: var(--blue-primary) !important;
  color: #fff !important;
}

/* ── Background utilities ───────────────────────────────── */
.bg-primary {
  background: var(--blue-primary) !important;
}
.bg-secondary {
  background: var(--blue-medium) !important;
}
.bg-light {
  background: #eaf2fb !important;
}

/* ── Hero / sections ────────────────────────────────────── */
.hero-wrap .overlay {
  background: var(--blue-deep) !important;
  opacity: 0.4;
}
.hero-wrap.hero-wrap-2 .overlay {
  opacity: 0.5;
}
.hero-wrap .slider-text .breadcrumbs span a:hover,
.hero-wrap .slider-text .breadcrumbs span a:focus {
  color: var(--blue-accent) !important;
}

/* CTA / intro section overlay */
.ftco-intro .overlay {
  background: var(--blue-dark) !important;
  opacity: 0.55;
}

/* ── Services ───────────────────────────────────────────── */
.services .icon {
  background: var(--blue-primary) !important;
}
.services-2 .icon {
  background: var(--blue-primary) !important;
}
.services-2 .icon span {
  color: #fff;
}

/* Services card hover accent */
.services .services-wrap {
  border-top: 3px solid transparent;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.services .services-wrap:hover {
  border-top-color: var(--blue-primary);
  box-shadow: 0 12px 40px rgba(26, 111, 196, 0.18) !important;
}

/* ── Room cards ─────────────────────────────────────────── */
.room-wrap:hover,
.room-wrap:focus {
  background: var(--blue-primary) !important;
}
.room-wrap:hover .half.left-arrow:after,
.room-wrap:focus .half.left-arrow:after {
  border-color: transparent var(--blue-primary) transparent transparent !important;
}
.room-wrap:hover .half.right-arrow:after,
.room-wrap:focus .half.right-arrow:after {
  border-color: transparent transparent transparent var(--blue-primary) !important;
}
.room-wrap:hover .text .star span,
.room-wrap:focus .text .star span {
  color: #fff !important;
}
.room-wrap:hover .text h3 a,
.room-wrap:focus .text h3 a {
  color: #fff !important;
}
.room-wrap:hover .text span.price,
.room-wrap:focus .text span.price {
  color: #fff !important;
}
.room-wrap:hover .text .btn-custom,
.room-wrap:focus .text .btn-custom {
  color: var(--blue-dark) !important;
  background: #fff !important;
  border-color: #fff !important;
}

/* Star / price colours */
.room-wrap .text .star span {
  color: var(--blue-primary) !important;
}
.room-wrap .text span.price {
  color: var(--blue-primary) !important;
}

/* ── Headings / subheadings ─────────────────────────────── */
.heading-section .subheading {
  color: var(--blue-primary) !important;
}

/* ── Aside stretch ──────────────────────────────────────── */
.aside-stretch-right,
.aside-stretch-right:after {
  background: var(--blue-primary) !important;
}

/* ── Owl carousel ───────────────────────────────────────── */
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  color: var(--blue-primary) !important;
}
.owl-carousel .owl-dots .owl-dot.active {
  background: var(--blue-primary) !important;
}

.testimony-section .owl-dots .owl-dot.active {
  background: var(--blue-primary) !important;
}
.testimony-wrap .quote i {
  color: var(--blue-primary) !important;
}

/* ── Footer ─────────────────────────────────────────────── */
.footer {
  background: var(--blue-deep) !important;
}
.footer .border-top {
  border-color: rgba(255,255,255,0.06) !important;
  background: #080f1c !important;
}
.footer .footer-heading {
  color: #fff !important;
}
.footer .footer-heading .logo {
  color: var(--blue-accent) !important;
}
.footer p {
  color: rgba(255,255,255,0.5) !important;
}
.footer a {
  color: var(--blue-accent) !important;
}
.footer a:hover {
  color: #fff !important;
}
.footer .ftco-footer-social li a {
  color: #fff !important;
  border-color: rgba(255,255,255,0.15) !important;
}
.footer .ftco-footer-social li a:hover {
  background: var(--blue-primary) !important;
  border-color: var(--blue-primary) !important;
}
.footer .tagcloud a {
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: rgba(255,255,255,0.8) !important;
}
.footer .tagcloud a:hover {
  background: var(--blue-primary) !important;
  color: #fff !important;
  border-color: var(--blue-primary) !important;
}
.footer .list-unstyled li a,
.footer .list-unstyled a {
  color: rgba(255,255,255,0.65) !important;
}
.footer .list-unstyled li a:hover,
.footer .list-unstyled a:hover {
  color: var(--blue-accent) !important;
}
.footer .copyright a {
  color: rgba(255,255,255,0.5) !important;
}
.footer .subscribe-form .form-group .submit {
  background: var(--blue-primary) !important;
  color: #fff !important;
}
.footer .subscribe-form .form-group .submit:hover {
  background: var(--blue-dark) !important;
}
.footer-small-nav > li a:hover,
.footer-small-nav > li a:focus {
  color: var(--blue-accent) !important;
}

/* ── Tags / sidebar ─────────────────────────────────────── */
.tagcloud a:hover {
  border-color: var(--blue-primary) !important;
  color: var(--blue-primary) !important;
}
.categories li a:hover,
.categories li a:focus,
.sidelink li a:hover,
.sidelink li a:focus {
  color: var(--blue-primary) !important;
}
.categories li.active a,
.sidelink li.active a,
.categories li.active a span,
.sidelink li.active a span {
  color: var(--blue-primary) !important;
}

/* ── Blog entries ───────────────────────────────────────── */
.blog-entry .text .heading a:hover,
.blog-entry .text .heading a:focus,
.blog-entry .text .heading a:active {
  color: var(--blue-primary) !important;
}
.blog-entry .text .meta-chat {
  color: var(--blue-primary) !important;
}
.blog-entry .meta > div a {
  color: var(--blue-primary) !important;
}
.blog-entry .btn-custom {
  color: var(--blue-medium) !important;
}
.block-21 .text .heading a:hover,
.block-21 .text .heading a:active,
.block-21 .text .heading a:focus {
  color: var(--blue-primary) !important;
}

/* ── Pagination ─────────────────────────────────────────── */
.block-27 ul li.active a,
.block-27 ul li.active span {
  background: var(--blue-primary) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* ── Subscribe form (main) ──────────────────────────────── */
.subscribe-form .form-group .submit {
  background: var(--blue-primary) !important;
  color: #fff !important;
}
.subscribe-form .form-group .submit:hover {
  background: var(--blue-dark) !important;
}

/* ── Form controls ──────────────────────────────────────── */
.form-control:focus,
.form-control:active {
  border-color: var(--blue-primary) !important;
  box-shadow: 0 0 0 3px rgba(26, 111, 196, 0.15) !important;
}

/* ── Loader circle ──────────────────────────────────────── */
#ftco-loader .path {
  stroke: var(--blue-primary) !important;
}

/* ── Pulse animation ────────────────────────────────────── */
@-webkit-keyframes pulse {
  0%   { -webkit-box-shadow: 0 0 0 0 rgba(26, 111, 196, 0.4); }
  70%  { -webkit-box-shadow: 0 0 0 30px rgba(26, 111, 196, 0); }
  100% { -webkit-box-shadow: 0 0 0 0 rgba(26, 111, 196, 0); }
}
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(26, 111, 196, 0.4); }
  70%  { box-shadow: 0 0 0 30px rgba(26, 111, 196, 0); }
  100% { box-shadow: 0 0 0 0 rgba(26, 111, 196, 0); }
}

/* ── Misc accent overrides ──────────────────────────────── */
.text-primary { color: var(--blue-primary) !important; }
a.text-primary:hover,
a.text-primary:focus { color: var(--blue-dark) !important; }

/* Section headings underline accent */
.heading-section h2 {
  position: relative;
  padding-bottom: 16px;
}
.heading-section h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 3px;
  background: linear-gradient(90deg, var(--blue-primary), var(--blue-accent));
  border-radius: 2px;
}
.heading-section.text-center h2::after {
  left: 50%;
  transform: translateX(-50%);
}

/* Room / service "btn-custom" accent */
.room-wrap .text .btn-custom {
  color: var(--blue-primary) !important;
  border-color: var(--blue-primary) !important;
  transition: background 0.3s ease, color 0.3s ease;
}
.room-wrap .text .btn-custom:hover {
  background: var(--blue-primary) !important;
  color: #fff !important;
}

/* ── Info wrap (contact page) ───────────────────────────── */
.info-wrap {
  background: var(--blue-dark) !important;
}
.info-wrap .dbox .icon {
  border-color: rgba(255,255,255,0.25) !important;
}

/* ── Extra micro-animations ─────────────────────────────── */
.services .services-wrap,
.room-wrap,
.blog-entry {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.services .services-wrap:hover,
.room-wrap:hover,
.blog-entry:hover {
  transform: translateY(-4px);
}

/* ── Scrollbar accent ───────────────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #e3f2fd; }
::-webkit-scrollbar-thumb {
  background: var(--blue-primary);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--blue-dark);
}
