/*
 * IXX central theme colors - 2026-07-11
 * Revert safely: remove/comment the theme-ixx.css link in sections/head.php.
 * Palette: steel blue / metallic Riviera blue.
 */
:root {
  --ixx-blue: #4682B4;
  --ixx-blue-light: #B0C4DE;
  --ixx-blue-accent: #87CEEB;
  --ixx-blue-dark: #24445C;
  --ixx-blue-deep: #003366;
  --ixx-blue-soft: #eef5fb;
  --ixx-blue-border: #c9d9e8;
  --ixx-admin-red: #c1121f;
}

html body a:not(.btn):not(.button):not(.nav-link):not(.dropdown-item):not(.gallery-programme-open):not(.thumbnail-minimal) {
  color: var(--ixx-blue);
}

html body a:not(.btn):not(.button):not(.nav-link):not(.dropdown-item):not(.gallery-programme-open):not(.thumbnail-minimal):hover,
html body a:not(.btn):not(.button):not(.nav-link):not(.dropdown-item):not(.gallery-programme-open):not(.thumbnail-minimal):focus {
  color: var(--ixx-blue-dark);
}

/* Main buttons */
.button.button-primary,
.button-primary,
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
.lot-contact-form__submit,
.lot-contact-confirm__box button {
  border-color: var(--ixx-blue) !important;
  background-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.button.button-primary:hover,
.button.button-primary:focus,
.button-primary:hover,
.button-primary:focus,
.btn-primary:hover,
.btn-primary:focus,
button.btn-primary:hover,
button.btn-primary:focus,
input[type="submit"].btn-primary:hover,
.lot-contact-form__submit:hover,
.lot-contact-form__submit:focus,
.lot-contact-confirm__box button:hover,
.lot-contact-confirm__box button:focus {
  border-color: var(--ixx-blue-dark) !important;
  background-color: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

.btn-outline-primary,
.navbar .btn-outline-primary {
  border-color: var(--ixx-blue) !important;
  color: var(--ixx-blue) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.active,
.navbar .btn-outline-primary:hover,
.navbar .btn-outline-primary:focus,
.navbar .btn-outline-primary.active {
  background-color: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

/* Back to top */
#backToTop,
.ui-to-top {
  background: var(--ixx-blue) !important;
  color: #fff !important;
}

#backToTop:hover,
#backToTop:focus,
.ui-to-top:hover,
.ui-to-top:focus {
  background: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

/* Program gallery filters, image buttons and pagination */
.awesome-portfolio-menu ul li {
  border-color: var(--ixx-blue-border) !important;
  color: var(--ixx-blue-dark) !important;
  background: #fff !important;
}

.awesome-portfolio-menu ul li.active,
.awesome-portfolio-menu ul li:hover,
.awesome-portfolio-menu ul li:focus {
  border-color: var(--ixx-blue) !important;
  background: var(--ixx-blue-soft) !important;
  color: var(--ixx-blue-dark) !important;
}

.gallery-reveal-toggle,
.single-awesome-portfolio a.gallery-programme-open,
.gallery-pagination button.active,
.gallery-pagination button:hover,
.home-programmes-nav,
.home-programmes-pagination .swiper-pagination-progressbar-fill {
  border-color: var(--ixx-blue) !important;
  background: var(--ixx-blue) !important;
  color: #fff !important;
}

.gallery-reveal-toggle:hover,
.gallery-reveal-toggle:focus-visible,
.single-awesome-portfolio a.gallery-programme-open:hover,
.single-awesome-portfolio a.gallery-programme-open:focus-visible,
.home-programmes-nav:hover,
.home-programmes-nav:focus {
  border-color: var(--ixx-blue-dark) !important;
  background: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

.gallery-pagination button {
  border-color: var(--ixx-blue-border) !important;
  color: var(--ixx-blue-dark) !important;
}

/* Lots search block: keep palette centralized even if block CSS evolves. */
.lots-search-block {
  --ls-accent: var(--ixx-blue) !important;
  --ls-accent-dark: var(--ixx-blue-dark) !important;
  --ls-soft: var(--ixx-blue-soft) !important;
  --ls-soft-2: #f7fafc !important;
}

.ls-sort button,
.ls-btn-reset {
  border-color: var(--ixx-blue-border) !important;
  color: var(--ixx-blue-dark) !important;
}

.ls-sort button:hover,
.ls-sort button:focus,
.ls-btn-reset:hover,
.ls-btn-reset:focus {
  border-color: var(--ixx-blue) !important;
  background: var(--ixx-blue-soft) !important;
  color: var(--ixx-blue-dark) !important;
}

.ls-btn-submit,
.ls-lot-link,
.ls-lot-open,
.ls-map-popup a,
.ls-popup-link {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.ls-btn-submit:hover,
.ls-btn-submit:focus,
.ls-lot-link:hover,
.ls-lot-link:focus,
.ls-lot-open:hover,
.ls-lot-open:focus,
.ls-map-popup a:hover,
.ls-map-popup a:focus,
.ls-popup-link:hover,
.ls-popup-link:focus {
  background: var(--ixx-blue-dark) !important;
  border-color: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

.ls-status,
.prgrm-seo-faq .faq-item,
.prgrm-seo-faq li,
.prgrm-text-accent,
.faq-item,
.quote-primary,
.blockquote-primary {
  border-left-color: var(--ixx-blue) !important;
}

/* Lot table and lot popup */
.programme-lots-table .lot-plan-button,
.lot-plan-details-toggle {
  border-color: var(--ixx-blue) !important;
  background: var(--ixx-blue) !important;
  color: #fff !important;
}

.programme-lots-table .lot-plan-button:hover,
.programme-lots-table .lot-plan-button:focus,
.lot-plan-details-toggle:hover,
.lot-plan-details-toggle:focus {
  border-color: var(--ixx-blue-dark) !important;
  background: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

.lot-plan-modal__tools button {
  border-color: var(--ixx-blue) !important;
  color: var(--ixx-blue) !important;
}

.lot-plan-modal__tools button.is-active {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.lot-plan-modal__tools button.lot-admin-tool,
.lot-plan-modal__tools button.lot-admin-tool.is-active {
  border-color: var(--ixx-admin-red) !important;
  background: var(--ixx-admin-red) !important;
  color: #fff !important;
}

.lot-plan-chip i,
.lot-plan-chip__symbol {
  color: var(--ixx-blue) !important;
}

.lot-plan-chip__parking-symbol {
  border-color: var(--ixx-blue) !important;
  color: var(--ixx-blue) !important;
}

.step-indicator .step {
  border-color: var(--ixx-blue) !important;
  color: var(--ixx-blue) !important;
}

.step-indicator .step.done {
  background: var(--ixx-blue) !important;
  color: #fff !important;
}

.branch-box {
  border-color: rgba(70, 130, 180, 0.22) !important;
}

.rd-range__pointer,
.rd-range__line,
.d3-chart .c3-tooltip,
.d3-chart-legend span:nth-child(1)::before {
  background-color: var(--ixx-blue) !important;
}

.rd-range.hasTooltip .rd-range__pointer:after {
  border-top-color: var(--ixx-blue) !important;
}

.slick-prev::before,
.slick-next::before,
.slick-dots li button:before,
.slick-dots li.slick-active button:before {
  color: var(--ixx-blue) !important;
}
/* === IXX theme corrections - 2026-07-11 === */
/* Footer keeps its original white links on dark background. */
.footer-advanced,
.footer-advanced p,
.footer-advanced span,
.footer-advanced li,
.footer-advanced .rights,
.footer-advanced .footer-advanced-text {
  color: rgba(255, 255, 255, 0.72) !important;
}

.footer-advanced h1,
.footer-advanced h2,
.footer-advanced h3,
.footer-advanced h4,
.footer-advanced h5,
.footer-advanced h6,
.footer-advanced .text-white {
  color: #fff !important;
}

.footer-advanced a,
.footer-advanced a.rd-nav-link,
.footer-advanced a.rd-dropdown-link,
.footer-advanced a.link-default,
.footer-advanced .list-nav a,
.footer-advanced .unit-left a,
.footer-advanced .foter-social-links a,
.footer-advanced .brand {
  color: #fff !important;
}

.footer-advanced a:hover,
.footer-advanced a:focus,
.footer-advanced a.rd-nav-link:hover,
.footer-advanced a.rd-dropdown-link:hover,
.footer-advanced a.link-default:hover,
.footer-advanced .unit-left a:hover {
  color: var(--ixx-blue-accent) !important;
}

.footer-advanced .icon,
.footer-advanced .mdi,
.footer-advanced .unit-left .icon {
  color: #fff !important;
}

/* Home slider delivery date. */
.home-programmes-slider .breadcrumbs-custom-subtitle mark,
.home-programmes-slide .breadcrumbs-custom-subtitle mark {
  background: var(--ixx-blue) !important;
  color: #fff !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 24px rgba(36, 68, 92, 0.28);
}

/* Programme hero delivery badge and hero dossier button. */
.programme-hero .breadcrumbs-custom-subtitle mark {
  background: var(--ixx-blue) !important;
  color: #fff !important;
  border-radius: 0 !important;
  box-shadow: 0 10px 24px rgba(36, 68, 92, 0.28);
}

.programme-hero .button.button-primary,
.programme-hero .button-primary,
.programme-hero a.button-primary {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.programme-hero .button.button-primary:hover,
.programme-hero .button-primary:hover,
.programme-hero a.button-primary:hover,
.programme-hero .button.button-primary:focus,
.programme-hero .button-primary:focus,
.programme-hero a.button-primary:focus {
  background: var(--ixx-blue-dark) !important;
  border-color: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

/* Programme project/progress galleries: clear steel-blue frame before the image opens. */
.thumbnail-minimal {
  border: 2px solid var(--ixx-blue) !important;
  background: var(--ixx-blue) !important;
  box-shadow: 0 8px 22px rgba(36, 68, 92, 0.18);
}

.thumbnail-minimal:hover,
.thumbnail-minimal:focus {
  border-color: var(--ixx-blue-dark) !important;
  background: var(--ixx-blue-dark) !important;
}

.thumbnail-minimal-caption {
  background: rgba(36, 68, 92, 0.72) !important;
}

/* Programme lots table buttons. */
#lotsTable .lot-plan-button,
.programme-lots-table .lot-plan-button {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

#lotsTable .lot-plan-button:hover,
#lotsTable .lot-plan-button:focus,
.programme-lots-table .lot-plan-button:hover,
.programme-lots-table .lot-plan-button:focus {
  background: var(--ixx-blue-dark) !important;
  border-color: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

#lotsTable .th-sort:hover,
#lotsTable .th-sort:focus,
#lotsTable th[data-dir="asc"] .th-sort,
#lotsTable th[data-dir="desc"] .th-sort {
  color: var(--ixx-blue-dark) !important;
}

#lotsTable th[data-dir="asc"] .sort-icons,
#lotsTable th[data-dir="desc"] .sort-icons {
  color: var(--ixx-blue) !important;
}

/* Lot popup buttons and icons. */
.lot-plan-modal .lot-plan-modal__close:hover,
.lot-plan-modal .lot-plan-modal__close:focus {
  border-color: var(--ixx-blue) !important;
  color: var(--ixx-blue-dark) !important;
}

.lot-plan-modal .lot-plan-modal__tools button:not(.lot-admin-tool),
.lot-plan-modal .lot-plan-zoom,
.lot-plan-modal .lot-plan-fullscreen,
.lot-plan-modal button[data-lot-contact-open] {
  border-color: var(--ixx-blue) !important;
  color: var(--ixx-blue) !important;
  background: #fff !important;
}

.lot-plan-modal .lot-plan-modal__tools button.is-active:not(.lot-admin-tool),
.lot-plan-modal .lot-plan-modal__tools button:not(.lot-admin-tool):hover,
.lot-plan-modal .lot-plan-modal__tools button:not(.lot-admin-tool):focus,
.lot-plan-modal button[data-lot-contact-open].is-active,
.lot-plan-modal button[data-lot-contact-open]:hover,
.lot-plan-modal button[data-lot-contact-open]:focus {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.lot-plan-modal .lot-plan-modal__tools button i,
.lot-plan-modal .lot-plan-modal__tools button.is-active i,
.lot-plan-modal .lot-plan-modal__tools button:hover i,
.lot-plan-modal .lot-plan-chip i,
.lot-plan-modal .lot-plan-chip__symbol,
.lot-plan-modal .bi {
  color: currentColor !important;
}

.lot-plan-modal .lot-plan-chip i,
.lot-plan-modal .lot-plan-chip__symbol {
  color: var(--ixx-blue) !important;
}

.lot-plan-modal .lot-plan-details-toggle,
.lot-plan-modal button.lot-plan-details-toggle {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.lot-plan-modal .lot-plan-details-toggle:hover,
.lot-plan-modal button.lot-plan-details-toggle:hover,
.lot-plan-modal .lot-plan-details-toggle:focus,
.lot-plan-modal button.lot-plan-details-toggle:focus {
  background: var(--ixx-blue-dark) !important;
  border-color: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

/* Promoter/contact icons on programme pages. */
.profile-creative-contacts .icon,
.profile-creative-contacts .mdi,
.profile-creative .icon,
.profile-creative .mdi,
.object-inline .icon,
.object-inline .mdi,
.icon-modern,
.icon-primary {
  color: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
}

.profile-creative-contacts a:hover,
.profile-creative-contacts a:focus,
.object-inline a:hover,
.object-inline a:focus {
  color: var(--ixx-blue-dark) !important;
}

/* Programme request form buttons and focus accents. */
.programme-lot-contact .button.button-primary,
.programme-lot-contact button.button-primary,
.programme-lot-contact button[type="submit"],
.rd-mailform .button.button-primary,
.rd-mailform button.button-primary,
.rd-mailform button[type="submit"] {
  background: var(--ixx-blue) !important;
  border-color: var(--ixx-blue) !important;
  color: #fff !important;
}

.programme-lot-contact .button.button-primary:hover,
.programme-lot-contact button.button-primary:hover,
.programme-lot-contact button[type="submit"]:hover,
.programme-lot-contact .button.button-primary:focus,
.programme-lot-contact button.button-primary:focus,
.programme-lot-contact button[type="submit"]:focus,
.rd-mailform .button.button-primary:hover,
.rd-mailform button.button-primary:hover,
.rd-mailform button[type="submit"]:hover,
.rd-mailform .button.button-primary:focus,
.rd-mailform button.button-primary:focus,
.rd-mailform button[type="submit"]:focus {
  background: var(--ixx-blue-dark) !important;
  border-color: var(--ixx-blue-dark) !important;
  color: #fff !important;
}

.form-input:focus,
.programme-lot-contact .form-input:focus,
.rd-mailform .form-input:focus,
.programme-lot-contact select:focus {
  border-color: var(--ixx-blue) !important;
  box-shadow: 0 0 0 2px rgba(70, 130, 180, 0.14) !important;
}
/* === IXX footer spacing and mobile lots table - 2026-07-11 === */
.footer-advanced .unit-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.footer-advanced .unit-left .icon,
.footer-advanced .unit-left .mdi {
  flex: 0 0 auto;
  margin-right: 0 !important;
}

@media (max-width: 767.98px) {
  #lotsTable.programme-lots-table,
  .programme-lots-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  #lotsTable.programme-lots-table thead,
  #lotsTable.programme-lots-table tbody,
  .programme-lots-table thead,
  .programme-lots-table tbody {
    min-width: 780px;
  }

  #lotsTable.programme-lots-table th,
  #lotsTable.programme-lots-table td,
  .programme-lots-table th,
  .programme-lots-table td {
    white-space: nowrap;
  }
}
/* === IXX force lots search block colors - 2026-07-11 === */
.lots-search-block {
  background: linear-gradient(135deg, var(--ixx-blue-dark) 0%, var(--ixx-blue) 52%, var(--ixx-blue-light) 100%) !important;
  border-color: rgba(176, 196, 222, .55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36), inset 0 -18px 42px rgba(36,68,92,.18), 0 18px 40px rgba(36, 68, 92, .24) !important;
}

.lots-search-block .ls-head h2,
.lots-search-block .ls-head p,
.lots-search-block .ls-note {
  color: #fff !important;
}

.lots-search-block .ls-head h2 {
  text-shadow: 0 1px 2px rgba(0,51,102,.28) !important;
}

.lots-search-block .ls-filter-panel,
.lots-search-block .ls-panel {
  border-color: var(--ixx-blue-border) !important;
}

.lots-search-block .ls-filter-panel {
  background: rgba(255,255,255,.96) !important;
}

.lots-search-block .ls-map {
  background: #dfeaf5 !important;
}
/* === IXX fixed navbar with internal spacer - 2026-07-12 === */
/* Revenir en arriere: restaurer theme-ixx.css.before-20260712-header-spacer-fix.bak */
:root {
  --ixx-fixed-menu-height: 72px;
}

body {
  padding-top: 0;
}

.site-header-fixed {
  position: relative;
  width: 100%;
  background: transparent;
  box-shadow: none;
}

.site-header-fixed::before {
  content: "";
  display: block;
  height: var(--ixx-fixed-menu-height);
}

.site-navbar,
.site-header-fixed .site-navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1060 !important;
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(36, 68, 92, 0.12);
  border-bottom: 1px solid rgba(70, 130, 180, 0.22) !important;
}

.site-navbar .navbar,
.site-header-fixed .site-navbar .navbar {
  background: transparent !important;
}

.site-topbar,
.site-header-fixed .site-topbar {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 30px;
  line-height: 1.35;
  overflow: visible;
  margin: 0;
  padding-top: 4px !important;
  padding-bottom: 6px !important;
  background: #f8f9fa;
}

html {
  scroll-padding-top: calc(var(--ixx-fixed-menu-height) + 20px);
}

@media (max-width: 991.98px) {
  :root {
    --ixx-fixed-menu-height: 64px;
  }

  .site-header-fixed::before {
    height: var(--ixx-fixed-menu-height);
  }

  .site-topbar,
  .site-header-fixed .site-topbar {
    display: none !important;
    min-height: 0;
    margin: 0;
    padding: 0 !important;
  }

  .site-navbar .navbar-collapse,
  .site-header-fixed .site-navbar .navbar-collapse {
    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid rgba(70, 130, 180, 0.16);
    box-shadow: 0 18px 30px rgba(36, 68, 92, 0.12);
    padding: 10px 0 12px;
  }
}
/* Home/programmes render SEO tags before .page; neutralize their visual line box. */
body > meta:first-child ~ .page {
  margin-top: -24px;
}