/* Custom Primary Color Override - #FAE311 */

/* Background Colors */
.bg-primary {
  background-color: #FAE311 !important;
  border: 1px solid #FAE311 !important;
  color: #000;
}

/* Override for specific rule that was missed */
.bg-primary {
  background-color: #FAE311 !important;
  border: 1px solid #FAE311 !important;
  color: #000;
}

.bg-primary.bg-opacity-10 {
  background-color: rgba(255, 198, 0, 0.1) !important;
}

.bg-primary.bg-opacity-25 {
  background-color: rgba(255, 198, 0, 0.25) !important;
}

.bg-primary.bg-opacity-50 {
  background-color: rgba(255, 198, 0, 0.5) !important;
}

.bg-primary.bg-opacity-75 {
  background-color: rgba(255, 198, 0, 0.75) !important;
}

.bg-primary.bg-opacity-100 {
  background-color: #FAE311 !important;
}

.bg-soft-primary {
  background-color: #fff4cc;
  color: #b8941f;
}

.bg-outline-primary {
  background-color: #FFF;
  border: 1px solid #FAE311;
  color: #FAE311;
}

.bg-primary-transparent {
  background-color: #fff4cc !important;
  color: #b8941f !important;
}

.bg-primary-transparent:hover {
  background-color: #fff4cc !important;
  color: #b8941f !important;
}

/* Buttons */
.btn-primary {
  color: #000;
  background-color: #FAE311;
  border-color: #FAE311;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active {
  background-color: #e0cc14;
  border-color: #e0cc14;
  color: #000;
}

.btn.btn-primary {
  background-color: #FAE311;
  border: 1px solid #FAE311;
  color: #000;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary.focus,
.btn.btn-primary:active,
.btn.btn-primary.active {
  background-color: #e0cc14;
  border: 1px solid #e0cc14;
  color: #000;
}

.btn-outline-primary {
  border: 1px solid #FAE311 !important;
  color: #FAE311 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
  background-color: #FAE311 !important;
  border: 1px solid #FAE311 !important;
  color: #000 !important;
  box-shadow: 0 3px 10px rgba(255, 198, 0, 0.5);
}

.btn.btn-primary-light {
  background-color: rgba(255, 198, 0, 0.1);
  color: #b8941f;
}

.btn.btn-primary-light:hover,
.btn.btn-primary-light:focus,
.btn.btn-primary-light:active {
  background-color: #FAE311;
  color: #000;
  border-color: #FAE311;
}

.btn.btn-primary-ghost {
  background-color: transparent;
  color: #FAE311;
  border: 1px solid #FAE311;
}

.btn.btn-primary-ghost:active {
  color: #FAE311;
  border: 1px solid #FAE311;
  background-color: transparent;
}

.btn-soft-primary {
  background-color: #fff4cc !important;
  color: #b8941f !important;
}

.btn-soft-primary:hover,
.btn-soft-primary:focus,
.btn-soft-primary.focus,
.btn-soft-primary:active,
.btn-soft-primary.active {
  box-shadow: 0 3px 12px rgba(255, 198, 0, 0.2);
  border-color: #FAE311;
}

/* Badges */
.badge.badge-primary {
  background: #FAE311;
  color: #000;
}

.badge.badge-soft-primary {
  background: rgba(255, 198, 0, 0.1);
  color: #b8941f;
}

.badge-primary-hover:hover {
  background: #FAE311 !important;
  border-color: #FAE311 !important;
  color: #000 !important;
}

/* Borders */
.border.border-primary {
  border: 1px solid #FAE311 !important;
  opacity: 1;
}

.border.border-primary.border-opacity-10 {
  border-color: rgba(255, 198, 0, 0.1) !important;
}

.border.border-primary.border-opacity-25 {
  border-color: rgba(255, 198, 0, 0.25) !important;
}

.border.border-primary.border-opacity-50 {
  border-color: rgba(255, 198, 0, 0.5) !important;
}

.border.border-primary.border-opacity-75 {
  border-color: rgba(255, 198, 0, 0.75) !important;
}

.border.border-primary.border-opacity-100 {
  border-color: #FAE311 !important;
}

.border-top.border-primary {
  border-color: #FAE311 !important;
}

.border-end.border-primary {
  border-color: #FAE311 !important;
}

.border-bottom.border-primary {
  border-color: #FAE311 !important;
}

.border-start.border-primary {
  border-color: #FAE311 !important;
}

.border-primary {
  border-color: #FAE311 !important;
}

/* Alerts */
.alert-primary {
  background-color: rgba(255, 198, 0, 0.1);
  color: #b8941f;
  border-color: rgba(255, 198, 0, 0.1);
}

.alert-primary .alert-link {
  color: #b8941f;
}

.alert-primary .custom-alert-icon {
  color: #b8941f;
}

.alert-primary .btn-close {
  color: #b8941f;
}

.alert-primary .btn-close.custom-close {
  background-color: #FAE311;
  color: #000;
  opacity: 1;
}

.alert-solid-primary {
  background-color: #FAE311;
  color: #000;
  border-color: #FAE311;
}

.alert-solid-primary .btn-close {
  color: #000;
}

.alert-outline-primary {
  background-color: #FFF;
  color: #FAE311;
  border-color: #FAE311;
}

.alert-outline-primary .btn-close {
  color: #FAE311;
}

.alert-primary.custom-alert-icon {
  border-inline-start: 0.313rem solid #FAE311 !important;
  color: #677788;
  background-color: #FFF;
  border: 1px solid #E4EBF1;
  font-size: 0.813rem;
}

.alert-primary.custom-alert-icon .btn-close {
  color: #4E5561;
}

.alert-primary.custom-alert-icon > i {
  color: #FAE311;
}

.custom-alert1.alert-primary {
  border-block-start: 0.313rem solid #FAE311;
}

.custom-alert1.alert-primary .custom-alert-icon {
  color: #FAE311;
}

/* Dropdown */
.dropdown-menu.dropdown-menu-primary {
  background-color: #FAE311;
}

.dropdown-menu.dropdown-menu-primary li a {
  color: rgba(0, 0, 0, 0.9);
}

/* SVG */
.svg-primary {
  fill: #FAE311;
}

/* Text Colors */
.text-primary {
  color: #FAE311 !important;
}

/* Links */
a.text-primary:hover,
a.text-primary:focus {
  color: #e0cc14 !important;
}

/* Form Controls */
.form-control:focus {
  border-color: #FAE311;
  box-shadow: 0 0 0 0.2rem rgba(255, 198, 0, 0.25);
}

.form-check-input:checked {
  background-color: #FAE311;
  border-color: #FAE311;
}

/* Progress Bars */
.progress-bar {
  background-color: #FAE311;
}

/* Pagination */
.page-link {
  color: #FAE311;
}

.page-link:hover {
  color: #e0cc14;
}

.page-item.active .page-link {
  background-color: #FAE311;
  border-color: #FAE311;
}

/* Nav Tabs */
.nav-tabs .nav-link.active {
  color: #FAE311;
  border-color: #FAE311;
}

.nav-tabs .nav-link:hover {
  color: #e0cc14;
  border-color: #e0cc14;
}

/* List Group */
.list-group-item.active {
  background-color: #FAE311;
  border-color: #FAE311;
  color: #000;
}

/* Custom Components */
.highlight-box {
  background-color: rgba(255, 198, 0, 0.05);
  border-left: 4px solid #FAE311;
}

/* Rating Stars */
.rating-stars .star.active {
  color: #FAE311;
}

/* Custom Overrides for specific elements */
.btn-success {
  background-color: #FAE311;
  border-color: #FAE311;
  color: #000;
}

.btn-success:hover {
  background-color: #e0cc14;
  border-color: #e0cc14;
  color: #000;
}

/* Logo HD containment */
.header-logo img,
.navbar-logo img,
.footer-logo-light img,
.footer-logo-dark img,
.black-logo-responsive img,
.white-logo-responsive img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Specific header logo sizing */
.header-logo img {
  max-height: 50px;
}

/* Footer logo sizing */
.footer-logo-light img,
.footer-logo-dark img {
  max-height: 40px;
}

/* Responsive logo sizing */
.black-logo-responsive img,
.white-logo-responsive img {
  max-height: 45px;
}

/* Breadcrumb bar padding override */
.breadcrumb-bar {
  padding: 80px 0 40px !important;
}

/* Form control font size */
.banner-form .form-info .form-item .form-control {
  font-size: 16px !important;
}

/* Secondary button styling */
.btn-secondary {
  background-color: #fff !important;
  border-color: #000 !important;
  color: #000 !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.focus,
.btn-secondary:active,
.btn-secondary.active {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* Prevent text links from turning red on hover */
a:not(.btn):not(.btn-primary):not(.btn-secondary):not(.btn-outline-primary):not(.btn-soft-primary):not(.btn-success):not(.btn-dark):not(.btn-light):not(.btn-link):not(.text-primary):not(.text-secondary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-light):not(.text-dark):not(.text-muted):not(.text-white):not(.text-black-50):not(.text-white-50) {
  color: inherit !important;
}

a:not(.btn):not(.btn-primary):not(.btn-secondary):not(.btn-outline-primary):not(.btn-soft-primary):not(.btn-success):not(.btn-dark):not(.btn-light):not(.btn-link):not(.text-primary):not(.text-secondary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-light):not(.text-dark):not(.text-muted):not(.text-white):not(.text-black-50):not(.text-white-50):hover {
  color: inherit !important;
  text-decoration: none !important;
}

/* Specific overrides for common link patterns */
a.text-decoration-underline:hover {
  color: inherit !important;
}

a.link-primary:hover {
  color: #FAE311 !important;
}

/* Override default link colors */
a {
  color: inherit;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

/* Header styling - White background with black text */
.main-header {
  background-color: #fff !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* Header topbar */
.header-topbar {
  background-color: #f8f9fa !important;
  border-bottom: 1px solid #e9ecef !important;
  padding: 10px 0 !important;
}

.header-topbar p,
.header-topbar a {
  color: #000 !important;
}

/* Main header navigation */
.header-nav {
  background-color: #ffffff !important;
}

/* Navigation menu items */
.main-nav > li > a {
  color: #000 !important;
  font-weight: 500;
}

.main-nav > li > a:hover,
.main-nav > li > a:focus {
  color: #FAE311 !important;
}

/* Dropdown menus */
.submenu a {
  color: #000 !important;
}

.submenu a:hover {
  color: #FAE311 !important;
}

/* Header buttons and profile */
.header-btn a {
  color: #000 !important;
}

.header-btn .btn-primary {
  background-color: #FAE311 !important;
  border-color: #FAE311 !important;
  color: #000 !important;
}

/* Profile dropdown */
.profile-dropdown .dropdown-toggle {
  color: #000 !important;
}

/* Theme toggle buttons */
.theme-toggle {
  color: #000 !important;
}

.theme-toggle:hover {
  color: #FAE311 !important;
}

/* Mobile menu toggle */
.header__hamburger {
  color: #000 !important;
}

/* Logo visibility - ensure logos are visible on white background */
.header-logo img,
.navbar-logo img {
  filter: none !important;
}

/* Override any dark theme styles for header */
.main-header * {
  color: #000 !important;
}

/* Specific overrides for header elements that should remain colored */
.main-header .btn-primary {
  background-color: #FAE311 !important;
  border-color: #FAE311 !important;
  color: #000 !important;
}

.main-header .text-primary {
  color: #FAE311 !important;
}

/* Ensure dropdown flags and currency remain visible */
.flag-dropdown img,
.dropdown img {
  opacity: 1 !important;
}

/* Sticky booking form */
.theiaStickySidebar .card.shadow-none {
  position: sticky !important;
  top: 120px !important;
  z-index: 100 !important;
  transition: all 0.3s ease !important;
}

/* Alternative selector for booking form */
.col-xl-4 .card.shadow-none {
  position: sticky !important;
  top: 120px !important;
  z-index: 100 !important;
  transition: all 0.3s ease !important;
}

/* Responsive sticky positioning */
@media (max-width: 1199.98px) {
  .theiaStickySidebar .card.shadow-none,
  .col-xl-4 .card.shadow-none {
    position: relative !important;
    /*top: auto !important;*/
  }
}

/* Style pour les inputs date */
input[type="date"] {
    cursor: pointer;
}

/* Accordion text color - black instead of red */
.policy-wrap .policy-title {
    color: #000 !important;
}

.policy-wrap .policy-title:hover {
    color: #000 !important;
}

.policy-wrap .policy-title:focus {
    color: #000 !important;
}

/* FAQ Accordion text color - black instead of red */
.faq-accordion .accordion-item .accordion-button:not(.collapsed) {
    color: #000 !important;
}

.faq-accordion .accordion-item .accordion-button {
    color: #000 !important;
}

.faq-accordion .accordion-item .accordion-button:hover {
    color: #000 !important;
}

.faq-accordion .accordion-item .accordion-button:focus {
    color: #000 !important;
}

/* FAQ Accordion pseudo-element :after color - black instead of red */
.faq-accordion .accordion-item .accordion-button:not(.collapsed):after {
    color: #000 !important;
}

.faq-accordion .accordion-item .accordion-button:after {
    color: #000 !important;
    font-size: 14px !important;
}

/* Neighborhood menu images styling */
.megamenu-wrapper .single-demo {
    width: 150px !important;
    max-width: 150px !important;
    text-align: center !important;
    margin: 0 auto !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.megamenu-wrapper .demo-info {
    margin-bottom: 8px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.megamenu-wrapper .demo-info a {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #000 !important;
    text-decoration: none !important;
}

.megamenu-wrapper .demo-img {
    width: 150px !important;
    height: 100px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    margin: 0 auto !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.megamenu-wrapper .demo-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

/* Remove red border from submenu */
.mega-submenu {
    border: none !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
}
