/* MARIANNA_BLUE_CONTROLS_FOOTER_20261021_B6
   Apply after the legacy and booking-specific styles on ALL public and booking pages.
   Contrast: white on #245779; slate on ice-blue cards. */
:root {
  --marianna-primary: #245779;
  --marianna-primary-dark: #193F56;
  --marianna-primary-light: #3B87AC;
  --eli-primary: #245779;
  --eli-dark: #193F56;
}

/* Primary actions, including the separate booking / management templates. */
body .btn-primary,
body .btn-secondary,
body .bsv-search-button,
body .bsv-rate-price button,
body .bsv-year-rates-open,
body .bsv-stay-foot-actions button.primary,
body .bsv-contact-submit,
body .mari-captcha-enable,
body .eli-cookie-actions button.primary,
body .bsv-review-read,
body.booking-surface .wh-booking-page .button:not(.secondary),
body.booking-surface .wh-booking-page .button.submit,
body.booking-surface .wh-manage-page .manage-modify,
body.booking-surface .wh-manage-page .manage-cancel-bubble {
  background: #245779 !important;
  background-color: #245779 !important;
  border-color: #245779 !important;
  color: #fff !important;
}
body .btn-primary:hover:not(:disabled),
body .btn-secondary:hover:not(:disabled),
body .bsv-search-button:hover:not(:disabled),
body .bsv-rate-price button:hover:not(:disabled),
body .bsv-year-rates-open:hover:not(:disabled),
body .bsv-stay-foot-actions button.primary:hover:not(:disabled),
body .bsv-contact-submit:hover:not(:disabled),
body .mari-captcha-enable:hover:not(:disabled),
body .eli-cookie-actions button.primary:hover:not(:disabled),
body .bsv-review-read:hover:not(:disabled),
body.booking-surface .wh-booking-page .button:not(.secondary):hover:not(:disabled),
body.booking-surface .wh-booking-page .button.submit:hover:not(:disabled),
body.booking-surface .wh-manage-page .manage-modify:hover:not(:disabled) {
  background: #193F56 !important;
  background-color: #193F56 !important;
  border-color: #193F56 !important;
  color: #fff !important;
}
body.booking-surface .wh-booking-page #booking-save.button.submit,
body.booking-surface .wh-manage-page #wh-manage-lookup-submit.button.submit {
  background: #245779 !important;
  background-color: #245779 !important;
  border-color: #245779 !important;
  color: #fff !important;
}
body.booking-surface .wh-booking-page #booking-save.button.submit:hover:not(:disabled),
body.booking-surface .wh-manage-page #wh-manage-lookup-submit.button.submit:hover:not(:disabled) {
  background: #193F56 !important;
  background-color: #193F56 !important;
  border-color: #193F56 !important;
  color: #fff !important;
}
body.booking-surface .wh-booking-page #booking-save.button.submit:disabled,
body.booking-surface .wh-manage-page #wh-manage-lookup-submit.button.submit:disabled {
  background: #8EAAB9 !important;
  border-color: #8EAAB9 !important;
  color: #fff !important;
  cursor: not-allowed;
}

/* Secondary and cancellation actions stay outlined, not green. */
body.booking-surface .wh-booking-page .button.secondary,
body.booking-surface .wh-manage-page .manage-cancel,
body.booking-surface .wh-manage-page .manage-lookup-protection .button.secondary {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid #245779 !important;
  color: #245779 !important;
}
body.booking-surface .wh-booking-page .button.secondary:hover:not(:disabled),
body.booking-surface .wh-manage-page .manage-cancel:hover:not(:disabled) {
  background: #e7f2f5 !important;
  background-color: #e7f2f5 !important;
  border-color: #245779 !important;
  color: #193F56 !important;
}

/* Selected accommodation, confirmation badges and controls in Manage Booking. */
body.booking-surface .wh-manage-page .manage-status.confirmed {
  background: #245779 !important;
  color: #fff !important;
}
body.booking-surface .wh-manage-page .manage-room-select,
body.booking-surface .wh-manage-page .manage-select-all {
  color: #245779 !important;
}
body.booking-surface .wh-manage-page .manage-room-select input[type="checkbox"],
body.booking-surface .wh-manage-page .manage-select-all input[type="checkbox"],
body.booking-surface .wh-booking-page input[type="checkbox"] {
  accent-color: #245779 !important;
}
body.booking-surface .wh-manage-page .manage-room:has(.manage-room-checkbox:checked) {
  background: #f5fafc !important;
  box-shadow: inset 0 0 0 2px #245779 !important;
}
body.booking-surface .wh-manage-page .manage-room-select:has(input:checked) {
  background: #e7f2f5 !important;
  border-color: #245779 !important;
}
body.booking-surface .wh-manage-page .manage-cancel-bubble-icon {
  background: #91C9DD !important;
  color: #193F56 !important;
}
body.booking-surface .wh-manage-page .manage-cancel-bubble small,
body.booking-surface .wh-manage-page .manage-cancel-bubble > i {
  color: #e7f2f5 !important;
}
body.booking-surface .wh-booking-page .success-mark,
body.booking-surface .wh-booking-page .saved-id {
  background: #245779 !important;
  color: #fff !important;
}

/* Selected rate and gallery states in the rest of the villa website. */
body .bsv-room-tab.active,
body .bsv-stay-day.selected-start,
body .bsv-stay-day.selected-end,
body .bsv-rate-day.selected-start,
body .bsv-rate-day.selected-end,
body .bsv-stay-foot-actions button.primary,
body .mari-gallery-filter-bar button.is-active,
body .mari-gallery-filter button.is-active,
body .mari-gallery-filter button:hover,
body .bsv-review-dots button.is-active {
  background: #245779 !important;
  background-color: #245779 !important;
  border-color: #245779 !important;
  color: #fff !important;
}
body .bsv-rate-card.is-selected { border-color: #245779 !important; }
body .bsv-room-tab.active small { color: #e7f2f5 !important; }
body .bsv-room-quantity button,
body .bsv-room-guest-stepper button,
body .bsv-stepper button { color: #245779 !important; }
body .nav-menu a.btn-outline { background-color: #245779 !important; color: #fff !important; }
@media (max-width: 768px) {
  body .nav-menu a.btn-outline { background-color: #fff !important; color: #245779 !important; }
}

/* "Booking technology powered by" is neutral charcoal everywhere, not teal/blue.
   Its supplied white-on-teal logo has been converted to charcoal on transparent. */
body .booking-powered-lockup,
body .wh-booking-page .booking-powered-lockup {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border-color: #d2d2d2 !important;
  color: #383838 !important;
}
body .booking-powered-lockup span,
body .booking-powered-lockup:visited span,
body .booking-powered-mini,
body .booking-powered-mini a {
  color: #383838 !important;
}
body .booking-powered-lockup img,
body .wh-booking-page .booking-powered-lockup img,
body .booking-powered-footer img {
  display: block !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  filter: none !important;
  padding: 0 !important;
  object-fit: contain !important;
}
body .booking-powered-lockup:hover { border-color: #777 !important; }

/* Uniform blue footer on BOTH full pages and booking/management pages. */
body .site-footer,
body .site-footer .footer-top,
body .site-footer .footer-content,
body .site-footer .footer-bottom {
  background: #245779 !important;
  background-color: #245779 !important;
  background-image: none !important;
  color: #fff !important;
}
body .site-footer .footer-section h3,
body .site-footer .footer-section h4,
body .site-footer .footer-section p,
body .site-footer .footer-tagline,
body .site-footer .footer-location,
body .site-footer .footer-bottom p,
body .site-footer .footer-content a,
body .site-footer .footer-content a:visited,
body .site-footer .footer-links a,
body .site-footer .footer-links a:visited,
body .site-footer .mari-managed-by a,
body .site-footer .footer-section a[href^="mailto:"],
body .site-footer .footer-section a[href^="tel:"],
body .site-footer .footer-villa-name,
body .site-footer .mari-cookie-settings-link {
  color: #fff !important;
  opacity: 1 !important;
  text-decoration-color: rgba(255,255,255,.6);
}
body .site-footer .footer-section a:hover,
body .site-footer .footer-links a:hover,
body .site-footer .footer-content a:hover,
body .site-footer .mari-cookie-settings-link:hover {
  color: #e7f2f5 !important;
}
body .site-footer .footer-location i,
body .site-footer .footer-section p i { color: #fff !important; }
body .site-footer .footer-bottom { border-top: 1px solid rgba(255,255,255,.24) !important; }
body .site-footer .footer-villa-name {
  display: block !important;
  flex-flow: unset !important;
  gap: 0 !important;
  margin: 0 0 18px !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(29px, 5.4vw, 42px) !important;
  letter-spacing: .015em !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-transform: none !important;
}
body .site-footer #managed { opacity: 1 !important; }
body .site-footer .hv_logo {
  display: inline-block !important;
  width: 100px !important;
  height: 50px !important;
  background-image: url('../../images/logo_hotels_crop.png') !important;
  background-position: left center !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  filter: none !important;
  opacity: 1 !important;
}
/* The four supplied original platform logo PNGs are already white and transparent. */
body .site-footer #mari-eliopetra-logo-wrap .logo-slide img,
body .site-footer .logo-slider-wrap .logo-slide img {
  filter: none !important;
  opacity: 1 !important;
}
body .site-footer .mari-eliopetra-footer-top { background: #245779 !important; }
@media (max-width: 340px) {
  body .site-footer .footer-villa-name { font-size: 28px !important; }
}
/* The legacy marquee wrapper has its own beige background: cover that too. */
body .site-footer .logo-slider-wrap,
body .site-footer .logo-slider,
body .site-footer #mari-eliopetra-logo-wrap,
body .site-footer #mari-eliopetra-logo-slider,
body .site-footer .logo-slide,
body .site-footer .logo-slide a,
body .site-footer .logo-slide span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
