/* ============================================================================= */
/* COURTIOUS - SITE CHROME (HEADER / FOOTER) CSS                                 */
/*                                                                               */
/* FILE LOCATION:  /public/assets/cms/css/chrome.css                             */
/*                                                                               */
/* FILE PURPOSE:                                                                 */
/*   Styles for the global header, top bar, mobile menu and footer rendered by   */
/*   ChromeRenderer. Token-driven (tokens.css), dark-mode aware, reduced-motion  */
/*   safe. The mobile switch-over rules are emitted per header by the renderer.  */
/*                                                                               */
/* CHANGE LOG:                                                                   */
/*   - 21-10-2026 | Initial creation | Courtious.com                             */
/*                                                                               */
/* OWNERSHIP:                                                                  */
/*   - Team: Courtious.com                                                   */
/*   - Contact: contact@courtious.com                           */
/*                                                                             */
/* ============================================================================= */

/* ---------- Theme variables (shared by header, top bar, footer, panel) ---------- */
.cs-theme-surface,.cs-panel-root{--cs-bg:var(--color-bg-surface);--cs-fg:var(--color-text-primary);--cs-fg-muted:var(--color-text-secondary);--cs-accent:var(--color-brand);--cs-line:var(--border-color-default)}
.cs-theme-subtle{--cs-bg:var(--color-bg-muted);--cs-fg:var(--color-text-primary);--cs-fg-muted:var(--color-text-secondary);--cs-accent:var(--color-brand);--cs-line:var(--border-color-default)}
.cs-theme-inverse{--cs-bg:var(--color-bg-inverse);--cs-fg:var(--color-text-inverse);--cs-fg-muted:var(--color-text-inverse);--cs-accent:var(--color-text-inverse);--cs-line:rgba(127,127,127,.35)}
.cs-theme-brand{--cs-bg:var(--color-brand);--cs-fg:var(--color-text-inverse);--cs-fg-muted:var(--color-text-inverse);--cs-accent:var(--color-text-inverse);--cs-line:rgba(127,127,127,.4)}
@supports (color:color-mix(in srgb,red,blue)){
  .cs-theme-inverse,.cs-theme-brand{--cs-fg-muted:color-mix(in srgb,var(--color-text-inverse) 76%,transparent);--cs-line:color-mix(in srgb,var(--color-text-inverse) 22%,transparent)}
}
.cs-theme-glass{--cs-bg:var(--color-bg-surface);--cs-fg:var(--color-text-primary);--cs-fg-muted:var(--color-text-secondary);--cs-accent:var(--color-brand);--cs-line:var(--border-color-default)}
@supports (color:color-mix(in srgb,red,blue)){
  .cs-theme-glass{--cs-bg:color-mix(in srgb,var(--color-bg-surface) 78%,transparent)}
  .cs-theme-glass{-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
}
.cs-theme-transparent{--cs-bg:transparent;--cs-fg:#fff;--cs-fg-muted:rgba(255,255,255,.85);--cs-accent:#fff;--cs-line:rgba(255,255,255,.3)}
.cs-theme-transparent.cs-text-dark{--cs-fg:var(--color-text-primary);--cs-fg-muted:var(--color-text-secondary);--cs-accent:var(--color-brand);--cs-line:var(--border-color-default)}
.cs-theme-transparent.is-scrolled{--cs-bg:var(--color-bg-surface);--cs-fg:var(--color-text-primary);--cs-fg-muted:var(--color-text-secondary);--cs-accent:var(--color-brand);--cs-line:var(--border-color-default)}

/* ---------- Resets inside chrome (base.css adds list padding / li spacing / 44px buttons) ---------- */
.cs-header ul,.cs-footer ul,.cs-panel ul{list-style:none;margin:0;padding:0}
.cs-header li+li,.cs-footer li+li,.cs-panel li+li{margin-top:0}
.cs-header p,.cs-footer p{margin:0}

/* ---------- Header shell ---------- */
.cs-header{--cs-h:72px;position:relative;z-index:var(--z-sticky);width:100%;background:var(--cs-bg);color:var(--cs-fg);transition:background-color .25s ease,box-shadow .25s ease,transform .3s ease}
.cs-h-compact{--cs-h:56px}
.cs-h-tall{--cs-h:96px}
.cs-border-line{border-bottom:1px solid var(--cs-line)}
.cs-border-shadow{box-shadow:var(--shadow-sm)}
.cs-theme-transparent:not(.is-scrolled){border-bottom-color:transparent;box-shadow:none}
.cs-sticky-sticky,.cs-sticky-shrink,.cs-sticky-smart{position:sticky;top:calc(var(--cs-topbar-h,0px)*-1)}
.cs-floating{position:absolute;top:0;left:0;right:0}
.cs-floating.cs-sticky-sticky,.cs-floating.cs-sticky-shrink,.cs-floating.cs-sticky-smart{position:fixed;top:0}
.cs-sticky-shrink.is-scrolled{--cs-h:56px}
.cs-sticky-shrink.is-scrolled .cs-logo{height:calc(var(--cs-logo-h)*.8)}
.cs-sticky-sticky.is-scrolled.cs-border-none,.cs-sticky-shrink.is-scrolled.cs-border-none,.cs-sticky-smart.is-scrolled.cs-border-none{box-shadow:var(--shadow-sm)}
.cs-header.is-hidden{transform:translateY(-100%)}
.cs-header[data-cs-preview]{position:relative!important;top:auto!important;transform:none!important}

.cs-bar__inner{display:flex;align-items:center;gap:var(--space-6);min-height:var(--cs-h);transition:min-height .25s ease}
.cs-grid3{display:grid;grid-template-columns:1fr auto 1fr}
.cs-grid3>.cs-brand{margin-inline:var(--space-6)}
.cs-side{display:flex;align-items:center;min-width:44px}
.cs-side--right{justify-content:flex-end}
.cs-row-nav{border-top:1px solid var(--cs-line)}
.cs-row-nav .cs-nav{display:flex;justify-content:center;min-height:48px;align-items:center}

/* ---------- Brand ---------- */
.cs-brand,a.cs-brand,a.cs-brand:visited,a.cs-brand:hover{display:inline-flex;align-items:center;gap:var(--space-3);flex-shrink:0;color:var(--cs-fg);text-decoration:none}
.cs-logo{display:block;height:var(--cs-logo-h,44px);width:auto;max-width:min(240px,50vw);object-fit:contain;transition:height .25s ease}
.cs-logo--scrolled{display:none}
.is-scrolled .cs-logo--scrolled{display:block}
.is-scrolled .cs-logo--top{display:none}
.cs-brand__name{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);font-size:var(--font-xl);letter-spacing:var(--letter-spacing-tight);line-height:1.1}

/* ---------- Navigation ---------- */
.cs-nav{display:flex;align-items:center;min-width:0}
.cs-menu{display:flex;align-items:center;gap:var(--space-1)}
.cs-item{position:relative;display:flex;align-items:center}
a.cs-link,a.cs-link:visited{position:relative;display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);font-size:var(--font-sm);font-weight:var(--font-weight-medium);line-height:1.2;color:var(--cs-fg);text-decoration:none;border-radius:var(--radius-md);transition:color .2s ease,background-color .2s ease,opacity .2s ease}
a.cs-link:hover{color:var(--cs-fg)}
.cs-navstyle-underline a.cs-link::after{content:'';position:absolute;left:var(--space-3);right:var(--space-3);bottom:2px;height:2px;border-radius:2px;background:var(--cs-accent);transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}
.cs-navstyle-underline a.cs-link:hover::after,.cs-navstyle-underline .is-active>a.cs-link::after{transform:scaleX(1)}
.cs-navstyle-pill a.cs-link:hover,.cs-navstyle-pill .is-active>a.cs-link{background:rgba(127,127,127,.18)}
.cs-navstyle-plain a.cs-link:hover{opacity:.7}
.cs-navstyle-plain .is-active>a.cs-link{font-weight:var(--font-weight-bold)}

/* Layout positioning */
.cs-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}
.cs-layout-left.cs-has-nav.cs-navpos-next_to_logo .cs-nav{margin-left:var(--space-4)}
.cs-layout-left.cs-has-nav.cs-navpos-center .cs-nav{flex:1;justify-content:center}
.cs-layout-left.cs-has-nav.cs-navpos-right .cs-nav{margin-left:auto}
.cs-layout-left.cs-has-nav.cs-navpos-right .cs-actions{margin-left:0}
.cs-layout-right .cs-nav{margin-right:0}
.cs-layout-right .cs-actions{margin-left:auto;margin-right:var(--space-6)}
.cs-nav-wrap{display:flex;align-items:center;min-width:0}
.cs-nav-wrap--left{justify-content:flex-end}
.cs-nav-wrap--right{justify-content:flex-start;gap:var(--space-4)}
.cs-nav-wrap--right .cs-actions{margin-left:auto}
.cs-grid3 .cs-side--right .cs-actions{margin-left:0}

/* Buttons on coloured / dark bars */
.cs-theme-brand .btn--primary,.cs-theme-transparent.cs-text-light:not(.is-scrolled) .btn--primary{background:var(--color-text-inverse);color:var(--color-brand);border-color:transparent}
.cs-theme-brand .btn--secondary,.cs-theme-inverse .btn--secondary,.cs-theme-transparent.cs-text-light:not(.is-scrolled) .btn--secondary,
.cs-theme-brand .btn--ghost,.cs-theme-inverse .btn--ghost,.cs-theme-transparent.cs-text-light:not(.is-scrolled) .btn--ghost{background:transparent;color:var(--cs-fg);border-color:currentColor}
.cs-theme-brand .btn--ghost,.cs-theme-inverse .btn--ghost,.cs-theme-transparent.cs-text-light:not(.is-scrolled) .btn--ghost{border-color:transparent}
.cs-btn--block{width:100%;justify-content:center;text-align:center}

/* Dropdown submenus (desktop) */
.cs-sub-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:24px;height:24px;margin-left:-6px;padding:0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--cs-fg);cursor:pointer}
.cs-sub-toggle .cs-icon{transition:transform .2s ease}
.cs-has-sub.is-open>.cs-sub-toggle .cs-icon{transform:rotate(180deg)}
.cs-sub{position:absolute;top:100%;left:0;z-index:var(--z-dropdown);min-width:220px;padding:var(--space-2);background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--border-color-default);border-radius:var(--radius-md);box-shadow:var(--shadow-floating);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.cs-has-sub:hover>.cs-sub,.cs-has-sub:focus-within>.cs-sub,.cs-has-sub.is-open>.cs-sub{opacity:1;visibility:visible;transform:none}
.cs-sub .cs-item{display:block}
.cs-sub a.cs-link,.cs-sub a.cs-link:visited{display:flex;width:100%;color:var(--color-text-primary);font-weight:var(--font-weight-regular)}
.cs-sub a.cs-link:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}
.cs-sub a.cs-link::after{display:none}
.cs-sub .cs-sub{top:0;left:100%}

/* ---------- Burger ---------- */
.cs-burger{display:none;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;margin-left:auto;padding:0;background:transparent;border:0;border-radius:var(--radius-md);color:var(--cs-fg);cursor:pointer}
.cs-layout-hamburger .cs-burger{display:inline-flex}
.cs-burger__bar,.cs-burger__bar::before,.cs-burger__bar::after{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,background-color .25s ease,top .25s ease}
.cs-burger__bar{position:relative}
.cs-burger__bar::before,.cs-burger__bar::after{content:'';position:absolute;left:0}
.cs-burger__bar::before{top:-7px}
.cs-burger__bar::after{top:7px}
.cs-burger[aria-expanded="true"] .cs-burger__bar{background:transparent}
.cs-burger[aria-expanded="true"] .cs-burger__bar::before{top:0;transform:rotate(45deg)}
.cs-burger[aria-expanded="true"] .cs-burger__bar::after{top:0;transform:rotate(-45deg)}
.cs-actions+.cs-burger{margin-left:var(--space-2)}

/* ---------- Top bar ---------- */
.cs-topbar{background:var(--cs-bg);color:var(--cs-fg);font-size:var(--font-xs)}
.cs-topbar__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-4);min-height:36px;padding-block:var(--space-1)}
.cs-topbar--center .cs-topbar__inner{justify-content:center;text-align:center}
.cs-topbar__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4)}
.cs-topbar__msg{font-weight:var(--font-weight-medium)}
.cs-meta,a.cs-meta,a.cs-meta:visited,a.cs-topbar__link,a.cs-topbar__link:visited{display:inline-flex;align-items:center;gap:6px;color:var(--cs-fg);text-decoration:none}
a.cs-meta:hover,a.cs-topbar__link:hover{color:var(--cs-fg);text-decoration:underline}
.cs-topbar__close{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:28px;height:28px;margin-left:auto;padding:0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--cs-fg);cursor:pointer}
.cs-topbar--center .cs-topbar__close{margin-left:0}

/* ---------- Mobile panel ---------- */
.cs-panel-root{position:fixed;inset:0;z-index:calc(var(--z-sticky) + 20);visibility:hidden;pointer-events:none;transition:visibility 0s linear .3s}
.cs-panel-root.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}
.cs-backdrop{position:absolute;inset:0;background:var(--color-bg-overlay);opacity:0;transition:opacity .3s ease}
.cs-panel-root.is-open .cs-backdrop{opacity:1}
.cs-panel{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-bg-surface);color:var(--color-text-primary);padding:var(--space-4) var(--space-5) var(--space-6);overflow-y:auto;overscroll-behavior:contain}
.cs-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.cs-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:0;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer}
.cs-pm-drawer .cs-panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,380px);transform:translateX(100%);transition:transform .3s ease;box-shadow:var(--shadow-overlay)}
.cs-pm-drawer.is-open .cs-panel{transform:none}
.cs-pm-fullscreen .cs-panel{position:absolute;inset:0;opacity:0;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease}
.cs-pm-fullscreen.is-open .cs-panel{opacity:1;transform:none}
.cs-pm-fullscreen .cs-panel__nav,.cs-pm-fullscreen .cs-panel__actions,.cs-pm-fullscreen .cs-panel__meta{text-align:center}
.cs-pm-fullscreen .cs-menu--m a.cs-link{justify-content:center;font-size:var(--font-2xl)}
.cs-pm-dropdown{position:absolute;inset:auto;top:100%;left:0;right:0;bottom:auto;z-index:var(--z-dropdown)}
.cs-pm-dropdown .cs-panel{max-height:calc(100vh - 96px);border-bottom:1px solid var(--border-color-default);box-shadow:var(--shadow-floating);opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}
.cs-pm-dropdown.is-open .cs-panel{opacity:1;transform:none}
.cs-menu--m{flex-direction:column;align-items:stretch;gap:2px}
.cs-menu--m .cs-item{flex-wrap:wrap}
.cs-menu--m a.cs-link,.cs-menu--m a.cs-link:visited{flex:1;padding:var(--space-3) var(--space-2);font-size:var(--font-md);color:var(--color-text-primary)}
.cs-menu--m .is-active>a.cs-link{color:var(--color-brand);font-weight:var(--font-weight-semibold)}
.cs-menu--m .cs-sub-toggle{width:44px;height:44px;margin:0;color:var(--color-text-primary)}
.cs-panel .cs-sub{position:static;flex:0 0 100%;display:none;opacity:1;visibility:visible;transform:none;min-width:0;padding:0 0 var(--space-2) var(--space-4);background:transparent;border:0;box-shadow:none}
.cs-panel .cs-has-sub.is-open>.cs-sub{display:block}
.cs-panel .cs-sub a.cs-link{width:auto}
.cs-panel__actions{display:flex;flex-direction:column;gap:var(--space-2)}
.cs-panel__meta{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-color-default);font-size:var(--font-sm)}
.cs-panel .cs-meta,.cs-panel a.cs-meta,.cs-panel a.cs-meta:visited{color:var(--color-text-primary)}
.cs-panel__head .cs-brand{color:var(--color-text-primary)}
html.cs-lock{overflow:hidden}

/* ---------- Social ---------- */
.cs-social{display:flex;flex-wrap:wrap;gap:var(--space-2)}
a.cs-social__link,a.cs-social__link:visited{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--cs-fg);text-decoration:none;border-radius:var(--radius-full);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.cs-social--circle a.cs-social__link{border:1px solid var(--cs-line)}
.cs-social--circle a.cs-social__link:hover{background:var(--cs-fg);color:var(--cs-bg);border-color:var(--cs-fg)}
.cs-social--rounded a.cs-social__link{border-radius:var(--radius-md);background:rgba(127,127,127,.16)}
.cs-social--rounded a.cs-social__link:hover{background:var(--cs-fg);color:var(--cs-bg)}
.cs-social--plain a.cs-social__link:hover{opacity:.7}
.cs-social--bar{gap:var(--space-1)}
.cs-social--bar a.cs-social__link{width:28px;height:28px}
.cs-social--panel a.cs-social__link,.cs-social--panel a.cs-social__link:visited{color:var(--color-text-primary);border:1px solid var(--border-color-default)}

/* ---------- Footer ---------- */
.cs-footer{--cs-fpad:var(--space-12);background:var(--cs-bg);color:var(--cs-fg);font-size:var(--font-sm)}
.cs-fs-compact{--cs-fpad:var(--space-8)}
.cs-fs-spacious{--cs-fpad:var(--space-20)}
.cs-footer__main{padding-block:var(--cs-fpad)}
.cs-footer__grid{display:grid;gap:var(--space-8) var(--space-6);grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.cs-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){.cs-fcol--brand{grid-column:1/-1}}
@media (min-width:1024px){
  .cs-footer__grid{grid-template-columns:repeat(var(--cs-fn,4),minmax(0,1fr))}
  .cs-footer__grid.cs-fgrid--brand{grid-template-columns:minmax(0,1.7fr) repeat(var(--cs-fn,4),minmax(0,1fr))}
}
.cs-footer__top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid var(--cs-line)}
.cs-footer__top .cs-footer__social{margin-top:0}
.cs-footer__brand{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.cs-footer__about{max-width:42ch;color:var(--cs-fg-muted);line-height:var(--line-height-relaxed)}
.cs-footer__social{margin-top:var(--space-4)}
.cs-footer__title{margin-bottom:var(--space-3);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--cs-fg)}
.cs-footer a.cs-link,.cs-footer a.cs-link:visited{padding:var(--space-1) 0;font-weight:var(--font-weight-regular);color:var(--cs-fg-muted);border-radius:var(--radius-sm)}
.cs-footer a.cs-link:hover{color:var(--cs-fg);text-decoration:underline}
.cs-footer .is-active>a.cs-link{color:var(--cs-fg)}
.cs-menu--v{flex-direction:column;align-items:flex-start;gap:var(--space-1)}
.cs-menu--row{flex-wrap:wrap;gap:var(--space-1) var(--space-5)}
.cs-footer a.cs-brand,.cs-footer a.cs-brand:visited{color:var(--cs-fg)}
.cs-contact{display:flex;flex-direction:column;gap:var(--space-3)}
.cs-contact li{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--cs-fg-muted)}
.cs-contact .cs-icon{flex-shrink:0;margin-top:2px}
.cs-contact a,.cs-contact a:visited{color:var(--cs-fg-muted);text-decoration:none}
.cs-contact a:hover{color:var(--cs-fg);text-decoration:underline}
.cs-footer__custom{margin-block:var(--space-6);color:var(--cs-fg-muted)}
.cs-footer__custom:first-child{margin-top:0}
.cs-footer__custom:last-child{margin-bottom:0}
.cs-footer__custom a,.cs-footer__custom a:visited{color:var(--cs-fg);text-decoration:underline}
.cs-footer__custom p{color:inherit}

/* Layout: simple (centered) */
.cs-footer__stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);text-align:center}
.cs-footer__stack .cs-footer__brand{align-items:center}
.cs-footer__stack .cs-menu--row{justify-content:center}
.cs-footer__stack .cs-social{justify-content:center}
.cs-footer__stack .cs-footer__social{margin-top:0}
.cs-footer__stack .cs-contact{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-6)}

/* Layout: split */
.cs-footer__split{display:flex;flex-direction:column;gap:var(--space-8)}
.cs-footer__split-right{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}
.cs-footer__split .cs-footer__social{margin-top:0}
.cs-footer__contact-row{margin-top:var(--space-8)}
@media (min-width:768px){
  .cs-footer__split{flex-direction:row;justify-content:space-between;align-items:flex-start}
  .cs-footer__split-right{align-items:flex-end;text-align:right}
  .cs-footer__split-right .cs-menu--row{justify-content:flex-end}
  .cs-footer__split-right .cs-social{justify-content:flex-end}
}

/* Layout: minimal */
.cs-footer__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-8)}
.cs-fs-compact .cs-footer__main,.cs-f-minimal .cs-footer__main{padding-block:var(--space-6)}

/* Copyright bar */
.cs-footer__bar{padding-block:var(--space-4);font-size:var(--font-xs);color:var(--cs-fg-muted)}
.cs-footer__bar--divider{border-top:1px solid var(--cs-line)}
.cs-footer__bar--solid{background:rgba(0,0,0,.16)}
@supports (color:color-mix(in srgb,red,blue)){.cs-footer__bar--solid{background:color-mix(in srgb,var(--cs-bg) 86%,black)}}
.cs-footer__bar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6)}
.cs-bar-split .cs-footer__bar-inner{justify-content:space-between}
.cs-bar-center .cs-footer__bar-inner{flex-direction:column;justify-content:center;text-align:center}
.cs-bar-left .cs-footer__bar-inner{justify-content:flex-start}
.cs-bar-right .cs-footer__bar-inner{justify-content:flex-end}
.cs-copy{color:var(--cs-fg-muted)}
.cs-fnav--legal a.cs-link,.cs-fnav--legal a.cs-link:visited{font-size:var(--font-xs)}

/* Back to top */
.cs-totop{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:var(--z-raised);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--border-color-default);border-radius:var(--radius-full);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.cs-totop[hidden]{display:none}
.cs-totop:hover{transform:translateY(-2px)}

/* ---------- Flush edges: no stray space between header, page content and footer ---------- */
.cs-header,.cs-footer{margin:0}
main:has(.cms-page-wrapper){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}
.cms-page-wrapper{display:block;margin:0;padding:0}
:has(> .cs-header),:has(> .cs-footer){row-gap:0}

/* ---------- Menu icons and mega menus ---------- */
.cs-link__icon{display:inline-flex;margin-right:6px;flex-shrink:0}
.cs-header .container{position:relative}
.cs-item.cs-has-mega{position:static}
.cs-sub.cs-mega{display:grid;grid-template-columns:repeat(var(--cs-mc,3),minmax(0,1fr));gap:var(--space-4) var(--space-6);left:0;right:0;min-width:0;padding:var(--space-6)}
.cs-sub.cs-mega::before{content:'';position:absolute;left:0;right:0;top:-40px;height:40px}
.cs-mega--2{--cs-mc:2}.cs-mega--3{--cs-mc:3}.cs-mega--4{--cs-mc:4}
.cs-mega__col{display:block}
.cs-sub a.cs-mega__title,.cs-sub a.cs-mega__title:visited{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding-inline:0}
.cs-mega__list{margin-top:var(--space-1)}
.cs-mega__list a.cs-link,.cs-mega__list a.cs-link:visited{padding-inline:0;color:var(--color-text-secondary)}
.cs-panel .cs-sub.cs-mega{display:none;padding:0 0 var(--space-2) var(--space-4)}
.cs-panel .cs-sub.cs-mega::before{display:none}
.cs-panel .cs-has-sub.is-open>.cs-sub.cs-mega{display:block}
.cs-panel .cs-item.cs-has-mega{position:relative}
.cs-panel a.cs-mega__title{padding-block:var(--space-2)}
.cs-panel .cs-mega__col{margin-bottom:var(--space-2)}

/* ---------- Motion & print ---------- */
@media (prefers-reduced-motion:reduce){
  .cs-header,.cs-panel,.cs-panel-root,.cs-backdrop,.cs-sub,.cs-logo,.cs-burger__bar,.cs-burger__bar::before,.cs-burger__bar::after,.cs-totop,a.cs-link,a.cs-link::after{transition:none!important}
}
@media print{.cs-panel-root,.cs-totop,.cs-burger{display:none!important}.cs-header{position:static!important}}

/* ============================================================================= */
/* END SITE CHROME CSS   /public/assets/cms/css/chrome.css                       */
/* ============================================================================= */