body {
  display: block !important;
}

body.mock-side-modal-open {
  overflow: hidden;
}

#modalCourrier {
  display: block;
}

#modalCourrier .mock-courrier-dialog {
  width: min(100vw, 960px);
  max-width: 960px;
  height: 100%;
  max-height: none;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  transform: translateX(48px);
  transition: opacity 0.2s ease, transform 0.3s ease;
  overflow: visible;
}

#modalCourrier .mock-courrier-dialog[open] {
  display: block;
}

#modalCourrier .mock-courrier-dialog::backdrop {
  background: rgba(15, 20, 56, 0.32);
}

#modalCourrier .mock-courrier-dialog.is-visible {
  opacity: 1;
  transform: translateX(0);
}

#modalCourrier .mock-courrier-panel {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background: #fff;
  box-shadow: 2px 4px 8px rgba(15, 20, 56, 0.3);
  overflow: hidden;
}

#modalCourrier .mock-courrier-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid #e4e4ea;
  background: #fff;
}

#modalCourrier .mock-courrier-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

#modalCourrier .mock-courrier-dialog__close {
  flex: 0 0 auto;
}

#modalCourrier .mock-courrier-dialog__content {
  flex: 1 1 auto;
  overflow: auto;
  padding: 1rem;
}

#modalCourrier .mock-courrier-dialog__content > app-volet-courrier,
#modalCourrier .mock-courrier-dialog__content .modal-content-container,
#modalCourrier .mock-courrier-dialog__content .modal-content {
  display: block;
  height: auto;
}

#modalCourrier .mock-courrier-dialog__content .modal-body > * + * {
  margin-top: 0 /* 1rem */;
}

#modalCourrier .mock-courrier-dialog__content .document-meta p {
  margin: 0;
  margin-bottom: 1rem;
}

#modalCourrier .mock-courrier-dialog__content .document-meta p + p {
  margin-top: 0.35rem;
}

#modalCourrier .mock-courrier-dialog__viewer {
  display: block;
  min-height: 62vh;
  /* border: 2px solid #d4d2e3; */
  /* border-radius: 0.75rem;  */
  background: #f7f8fc;
}

@media (min-width: 992px) {
  #modalCourrier .mock-courrier-dialog__header {
    padding: 1.25rem;
  }

  #modalCourrier .mock-courrier-dialog__content {
    padding: 1.25rem;
  }
}

@media (max-width: 991.98px) {
  #modalCourrier .mock-courrier-dialog {
    width: 100vw;
    max-width: 100vw;
  }
}

ft-header,
.header-ft {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

ft-footer {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

header.mock-site-header,
.mock-site-header {
  display: block !important;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 20, 56, 0.08);
  position: relative;
  z-index: 40;
}

.mock-site-header__skip-links {
  display: flex;
  gap: 1rem;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.75rem 1rem 0;
  font-size: 0.875rem;
  transform: translateY(-140%);
  z-index: 20;
}

.mock-site-header__skip-links:focus-within {
  transform: translateY(0);
}

.mock-header-ft .skip-link-group a {
  background: #fff;
  padding: 0.4rem 0.75rem;
  border-radius: 0.5rem;
  box-shadow: 0 3px 8px rgba(15, 20, 56, 0.12);
}

.mock-header-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 100px;
  padding: 1.25rem 2rem 1.5rem;
}

.mock-header-ft .header-left,
.mock-header-ft .header-right,
.mock-header-ft .header-right-menu,
.mock-header-ft .main-menu,
.mock-header-ft .logo-container,
.mock-header-ft .dropdown-main-menu,
.mock-header-ft .header-right-menu {
  display: flex;
  align-items: center;
}

.mock-header-ft .header-left {
  gap: 2rem;
  min-width: 0;
  flex: 1 1 auto;
}

.mock-header-ft .header-right {
  gap: 1rem;
  flex: 0 0 auto;
}

.mock-header-ft .logo-container {
  gap: 1rem;
  flex: 0 0 auto;
}

.mock-header-ft .main-menu,
.mock-header-ft .header-right-menu {
  gap: 0.75rem;
}

.mock-site-header__marianne {
  display: block !important;
  height: 48px;
  width: auto;
}

.mock-site-header__logo {
  display: block !important;
  height: 64px;
  width: auto;
  max-width: min(280px, 48vw);
}

.mock-header-ft .nav-brand,
.mock-header-ft .btn,
.mock-header-ft .btn-content,
.mock-header-ft .mock-site-header__home,
.mock-header-ft .mock-switch-profile,
.mock-site-header__mobile-menu {
  display: inline-flex !important;
  align-items: center;
}

.mock-header-ft .btn {
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.625rem 1rem;
  border: 1px solid #d4d2e3;
  border-radius: 999px;
  color: #283276;
  background: #fff;
  font-weight: 700;
  text-decoration: none;
  gap: 0.5rem;
  cursor: pointer;
}

.mock-header-ft .btn:hover,
.mock-header-ft .btn:focus-visible,
.mock-header-ft .nav-brand:hover,
.mock-header-ft .nav-brand:focus-visible,
.mock-header-ft .mock-switch-profile:hover,
.mock-header-ft .mock-switch-profile:focus-visible {
  color: #1b2256;
  background: #f5f5f8;
}

.mock-header-ft .btn-search {
  min-width: 3rem;
  padding: 0;
}

.mock-header-ft .btn-account {
  min-width: 9rem;
}

.mock-header-ft .btn-header-menu {
  min-width: 8.25rem;
}

.mock-header-ft .mock-switch-profile {
  gap: 0.4rem;
  min-height: 2.75rem;
  padding: 0.625rem 1rem;
  border-radius: 999px;
  border: 1px solid #d4d2e3;
  color: #283276;
  text-decoration: none;
  font-weight: 700;
}

.mock-header-ft .dot-pink {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: #ff4d8d;
}

.mock-header-ft .emphasis {
  font-weight: 700;
}

.mock-header-ft .mock-dropdown {
  position: relative;
}

.mock-header-ft .mock-dropdown-menu {
  display: none !important;
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 0;
  min-width: 22rem;
  padding: 0;
  border: 1px solid #e6e7ec;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 20, 56, 0.16);
  overflow: hidden;
  z-index: 80;
}

.mock-header-ft .mock-dropdown.is-open .mock-dropdown-menu {
  display: block !important;
}

.mock-header-ft .dropdown-menu-right {
  left: auto;
  right: 0;
}

.mock-header-ft .services-dropdown {
  width: min(1120px, calc(100vw - 4rem));
}

.mock-header-ft .mock-services-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 2rem;
  padding: 1.75rem;
}

.mock-header-ft .services {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
}

.mock-header-ft .services .group,
.mock-header-ft .body,
.mock-header-ft .service-list,
.mock-header-ft .advice-block,
.mock-header-ft .related-container {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.mock-header-ft .header-service-link {
  display: grid !important;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.875rem;
  align-items: flex-start;
  padding: 0.875rem;
  border-radius: 0.875rem;
  background: #f8f9fd;
}

.mock-header-ft .header-service-link .icon-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background: #edf1ff;
  color: #283276;
}

.mock-header-ft .header-service-link .icon-container img {
  max-width: 100%;
  max-height: 100%;
}

.mock-header-ft .header-service-link .title,
.mock-header-ft .section-title,
.mock-header-ft .login-modal-title,
.mock-actualites-panel h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #171717;
}

.mock-header-ft .header-service-link .content,
.mock-header-ft .subtitle,
.mock-search-panel p,
.mock-actualites-panel p {
  margin: 0;
  color: #44454b;
  font-size: 0.95rem;
  line-height: 1.4;
}

.mock-header-ft .text-link,
.mock-header-ft .block-link {
  color: #283276;
  text-decoration: none;
}

.mock-header-ft .text-link:hover,
.mock-header-ft .text-link:focus-visible,
.mock-header-ft .block-link:hover,
.mock-header-ft .block-link:focus-visible {
  text-decoration: underline;
}

.mock-header-ft .section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.mock-header-ft .advice-list,
.mock-header-ft .login-modal-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mock-header-ft .advice-list li + li,
.mock-header-ft .login-modal-item + .login-modal-item {
  margin-top: 0.625rem;
}

.mock-header-ft .login-modal-list,
.mock-header-ft .mock-search-panel,
.mock-header-ft .mock-actualites-panel,
.mock-header-ft .mock-login-panel {
  padding: 1.25rem;
}

.mock-header-ft .login-modal-card {
  justify-content: space-between;
  width: 100%;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  background: #f8f9fd;
  color: #283276;
  text-decoration: none;
}

.mock-header-ft .login-modal-card:hover,
.mock-header-ft .login-modal-card:focus-visible {
  text-decoration: none;
  background: #edf1ff;
}

.mock-site-header__mobile-menu {
  display: none !important;
}

.mock-site-header__mobile-burger {
  display: inline-flex !important;
  flex-direction: column;
  gap: 0.28rem;
  width: 1.25rem;
}

.mock-site-header__mobile-burger span {
  display: block !important;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
}

footer.mock-site-footer,
.mock-site-footer {
  display: block !important;
  background: #0f1438;
  color: #fff;
}

.mock-site-footer__main {
  padding: 2rem 2rem 0;
}

.mock-site-footer__brand {
  display: flex !important;
  align-items: center;
  gap: 1rem;
}

.mock-site-footer__brand-row {
  margin-bottom: 1.5rem;
}

.mock-site-footer__brand-home {
  display: inline-flex !important;
}

.mock-site-footer__marianne {
  display: block !important;
  height: 48px;
  width: auto;
}

.mock-site-footer__logo {
  display: block !important;
  height: 58px;
  width: auto;
}

.mock-site-footer__top-links {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 2rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.mock-site-footer__top-links a,
.mock-site-footer__list a,
.mock-site-footer__app-link {
  color: #fff;
  text-decoration: none;
}

.mock-site-footer__top-links a {
  display: inline-flex !important;
  font-size: 1.05rem;
  line-height: 1.35;
}

.mock-site-footer__top-links a:hover,
.mock-site-footer__top-links a:focus-visible,
.mock-site-footer__list a:hover,
.mock-site-footer__list a:focus-visible,
.mock-site-footer__app-link:hover,
.mock-site-footer__app-link:focus-visible {
  text-decoration: underline;
}

.mock-site-footer__columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 4rem;
  padding: 2rem 0 0;
}

.mock-site-footer__column h2 {
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

.mock-site-footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mock-site-footer__list li + li {
  margin-top: 1rem;
}

.mock-site-footer__list a {
  display: inline-flex !important;
  font-size: 1rem;
  line-height: 1.35;
}

.mock-site-footer__apps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 2rem;
  background: rgba(255, 255, 255, 0.08);
}

.mock-site-footer__app-link {
  display: flex !important;
  align-items: center;
  min-height: 104px;
  padding: 1.75rem 2rem;
  background: #27376f;
  font-size: 1rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .mock-site-header__skip-links,
  .mock-header-nav,
  .mock-site-footer__main,
  .mock-site-footer__app-link {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .mock-header-nav {
    min-height: 84px;
  }

  .mock-header-ft .main-menu,
  .mock-header-ft .header-right-menu,
  .mock-header-ft .mock-switch-profile {
    display: none !important;
  }

  .mock-header-ft .header-right {
    margin-left: auto;
  }

  .mock-site-header__mobile-menu {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border: 1px solid #d4d2e3;
    border-radius: 1.5rem;
    color: #283276;
    text-decoration: none;
    background: #fff;
  }

  .mock-header-ft .header-left {
    gap: 1rem;
  }

  .mock-site-header__logo {
    height: 52px;
    max-width: min(220px, 46vw);
  }

  .mock-site-header__marianne {
    height: 42px;
  }

  .mock-header-ft .services-dropdown,
  .mock-header-ft .mock-dropdown-menu {
    width: min(100vw - 2rem, 22rem);
    left: auto;
    right: 0;
  }

  .mock-site-footer__top-links,
  .mock-site-footer__columns,
  .mock-site-footer__apps {
    grid-template-columns: 1fr;
  }
}

#buttonfc.mock-fc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 56px;
  padding: 0.75rem 1.25rem;
  border-radius: 999px;
  background: #0a58ca;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

#buttonfc.mock-fc-button:hover,
#buttonfc.mock-fc-button:focus-visible {
  color: #fff;
  background: #0848a8;
}

.nav-tabs button.nav-link {
  cursor: pointer;
}