/* Core 2.5.137 markup adapter. Original style.css is preserved verbatim. */
.language-panel .nx-core-language-switcher,
.language-panel .nx-language-switcher { display: contents; }
.language-panel .nx-language-switcher ul { display: flex; align-items: center; padding: 0; margin: 0; list-style: none; }
.language-panel .nx-language-switcher li { display: flex; position: relative; }
.language-panel .nx-language-switcher li + li::before { content: ""; position: absolute; inset-inline-start: 0; top: 9px; bottom: 9px; width: 1px; background: rgba(255,255,255,.35); }
.crasc-header-socials .nx-block-social-networks ul { display: flex; align-items: center; gap: 10px; padding: 0; margin: 0; list-style: none; }
.crasc-header-socials .nx-block-social-networks li { display: flex; }
.crasc-header-socials .nx-block-social-networks a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Interpret only the grid emitted by the Core, without a second layout engine. */
.nx-composition .nx-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.nx-composition .nx-column { min-width: 0; }
.nx-composition .nx-span-1 { grid-column: span 1; }
.nx-composition .nx-span-2 { grid-column: span 2; }
.nx-composition .nx-span-3 { grid-column: span 3; }
.nx-composition .nx-span-4 { grid-column: span 4; }
.nx-composition .nx-span-5 { grid-column: span 5; }
.nx-composition .nx-span-6 { grid-column: span 6; }
.nx-composition .nx-span-7 { grid-column: span 7; }
.nx-composition .nx-span-8 { grid-column: span 8; }
.nx-composition .nx-span-9 { grid-column: span 9; }
.nx-composition .nx-span-10 { grid-column: span 10; }
.nx-composition .nx-span-11 { grid-column: span 11; }
.nx-composition .nx-span-12 { grid-column: span 12; }
@media (max-width: 800px) { .nx-composition .nx-grid > .nx-column { grid-column: 1 / -1; } }

/* Menu CRASC: anchor panels to the actual parent control, in both directions. */
.site-menu-item > .site-menu-link,
.site-menu-item > .site-menu-parent { transition: color .18s ease, background-color .18s ease; }
.site-submenu .site-menu-link,
.site-submenu .site-menu-parent { min-width: 0; }
.site-submenu .site-menu-link > span:first-child,
.site-submenu .site-menu-parent > span:first-child { min-width: 0; overflow-wrap: anywhere; }
[dir="rtl"] .site-submenu .site-menu-link,
[dir="rtl"] .site-submenu .site-menu-parent { margin: 0; }
@media (min-width: 1041px) {
  :is(.site-menu, .crasc-menu-tree) > .site-menu-item > .site-submenu { left: 20px; right: auto; }
  :is(.site-menu, .crasc-menu-tree) > .site-menu-item:first-child > .site-submenu { left: 0; }
  [dir="rtl"] :is(.site-menu, .crasc-menu-tree) > .site-menu-item > .site-submenu { left: auto; right: 20px; }
  [dir="rtl"] :is(.site-menu, .crasc-menu-tree) > .site-menu-item:first-child > .site-submenu { right: 0; }
  .site-submenu { transform: translateY(7px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
  .site-submenu .site-submenu { left: 100%; right: auto; transform: translateX(7px); }
  [dir="rtl"] .site-submenu .site-submenu { left: auto; right: 100%; transform: translateX(-7px); }
  .site-menu-item:hover > .site-submenu,
  .site-menu-item:focus-within > .site-submenu { opacity: 1; visibility: visible; transform: none; }
}
@media (max-width: 1040px) {
  .language-panel .nx-language-switcher ul { flex-direction: column; align-items: stretch; }
  .language-panel .nx-language-switcher li { display: block; }
  .language-panel .nx-language-switcher li + li::before { display: none; }
  .site-submenu { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-submenu, .site-menu-link, .site-menu-parent { transition: none; }
}

#siteMenu [data-position="header-2"], #siteMenu .nx-menu-block { display: contents; }
.crasc-menu-tree { display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; list-style: none; }
.crasc-menu-tree .site-submenu { list-style: none; }
@media (max-width: 1040px) { .crasc-menu-tree { display: block; } }

/* Footer logo: preserve its complete proportions and center in LTR/RTL. */
.site-bottom-position[data-position="bottom-1"] img,
[dir="rtl"] .site-bottom-position[data-position="bottom-1"] img {
  display: block;
  width: 96px;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 18px auto 0;
  object-fit: contain;
  object-position: center;
}
/* Return-to-top stays available even on short pages. */
.crasc-back-to-top { opacity: 1; visibility: visible; transform: none; }
.crasc-back-to-top svg { display: block; width: 20px; height: 20px; }
.crasc-back-to-top:focus-visible { outline: 2px solid #8fc9f1; outline-offset: 3px; }
@media (max-width: 600px) { .crasc-back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; } }

/* Separate displayed content sections, without styling the Widgets themselves. */
main .nx-composition > .nx-section + .nx-section {
  margin-block-start: 32px;
}
.crasc-content-position + .crasc-content-position {
  margin-block-start: 32px;
}
@media (max-width: 600px) {
  main .nx-composition > .nx-section + .nx-section,
  .crasc-content-position + .crasc-content-position { margin-block-start: 24px; }
}

/* Generic Core pagination, presentation only. */
.site-shell .nx-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-block:32px 8px}
.site-shell .nx-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;color:var(--crasc-bordeaux);text-decoration:none;font-weight:700}
.site-shell .nx-pagination a:hover{background:#f8f3f3;border-color:var(--crasc-bordeaux)}
.site-shell .nx-pagination a[aria-current=page]{background:var(--crasc-bordeaux);border-color:var(--crasc-bordeaux);color:#fff}
.site-shell .nx-pagination a:focus-visible{outline:2px solid var(--crasc-bordeaux);outline-offset:3px}
.site-shell .nx-pagination .crasc-pagination-arrow{display:inline-block;font-size:1.25rem}
[dir=rtl] .site-shell .nx-pagination .crasc-pagination-arrow{transform:scaleX(-1)}
@media(max-width:480px){.site-shell .nx-pagination{gap:6px}.site-shell .nx-pagination a{padding-inline:10px}}
