/* ==========================================================
   Custom Auth Suite™ Site — Navigation
   ========================================================== */

.cas-site #header,
.cas-site [data-header],
.cas-site .ct-header {
  z-index: 80;
}

.cas-site .ct-header,
.cas-site .ct-sticky-container {
  backdrop-filter: blur(20px);
}


/* ==========================================================
   CAS Header Premium Polish v0.9.1
   Lean brand/menu color layer.
   Header surface/shadow is handled by CAS Sticky Header Shadow.
   CTA/language controls are handled by CAS Navigation Final Controls.
   Typography family/weight is handled by CAS Brand Typography.
   ========================================================== */

:root {
  --cas-brand-purple: #7f45e8;
  --cas-brand-purple-dark: #6130c9;
  --cas-brand-orange: #ff8500;
  --cas-brand-orange-soft: #ffb24a;
  --cas-brand-ink: #18243c;
}

/* Brand lockup */
.cas-site .ct-header [data-id="logo"] {
  position: relative;
}

.cas-site .ct-header [data-id="logo"] .site-title,
.cas-site .ct-header [data-id="logo"] a {
  display: inline-block;
  color: transparent !important;

  background:
    linear-gradient(
      135deg,
      #6d35da 0%,
      #8c4ff0 42%,
      #a164ff 66%,
      #ff9a1f 118%
    );

  -webkit-background-clip: text;
  background-clip: text;

  line-height: .96 !important;

  text-shadow:
    0 18px 48px rgba(100, 48, 201, .12);
}

.cas-site .ct-header .sub-menu,
.cas-site .ct-header .children,
.cas-site .cas-nav .sub-menu {
  background:
    radial-gradient(circle at 92% 8%, rgba(255,171,61,.12), transparent 36%),
    radial-gradient(circle at 8% 100%, rgba(127,69,232,.08), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(248,250,255,.955)) !important;
  border: 1px solid rgba(127,69,232,.12) !important;
  border-radius: 14px !important;
  box-shadow:
    0 24px 64px rgba(24,36,60,.12),
    0 10px 26px rgba(127,69,232,.08),
    0 1px 0 rgba(255,255,255,.82) inset !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.04) !important;
}

/* Technical payoff under brand */
.cas-site .ct-header [data-id="logo"] .site-title::after {
  content: "The intelligent authentication layer for WordPress." !important;
  display: block !important;

  margin-top: .42rem !important;
  padding-left: .1rem !important;

  color: #ff8500 !important;
  background:
    linear-gradient(
      90deg,
      #ff8500,
      #ffab3d 68%,
      rgba(255,171,61,.72)
    );

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  font-size: clamp(.82rem, .82vw, .94rem) !important;
  line-height: 1.12 !important;
  text-shadow: none !important;
}

body:lang(it).cas-site .ct-header [data-id="logo"] .site-title::after {
  content: "Il layer di autenticazione intelligente per WordPress." !important;
}

/* Desktop menu links */
.cas-site .ct-header .ct-menu > li > a,
.cas-site .ct-header .menu > li > a {
  color: #7a42e6 !important;
  letter-spacing: -0.018em !important;
}

.cas-site .ct-header .ct-menu > li > a:hover,
.cas-site .ct-header .menu > li > a:hover {
  color: var(--cas-brand-orange) !important;
}

/* ==========================================================
   CAS Sticky Header Shadow v1.0.5
   Floating sticky header + true full-width curved surface.
   Desktop sticky header only.
   ========================================================== */

@media (min-width: 1000px) {
  .cas-site .ct-header,
  .cas-site #header,
  .cas-site [data-header] {
    position: sticky !important;
    top: 0 !important;
    z-index: 99990 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body.admin-bar.cas-site .ct-header,
  body.admin-bar.cas-site #header,
  body.admin-bar.cas-site [data-header] {
    top: 32px !important;
  }

  /*
   * Header outer shell:
   * sticky glass + floating shadow.
   */
  .cas-site .ct-header {
    background: transparent !important;

    box-shadow:
      0 24px 56px rgba(24, 36, 60, .135),
      0 12px 30px rgba(100, 48, 201, .080),
      0 1px 0 rgba(127, 69, 232, .16) !important;

    backdrop-filter: blur(22px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.08) !important;
  }

  /*
   * Questo è il vero wrapper full-width desktop di Blocksy.
   * Qui va disegnata la pelle dell'header, non sul container.
   */
  .cas-site .ct-header > [data-device="desktop"] {
    position: relative !important;
    isolation: isolate;
    overflow: visible !important;
    background: transparent !important;
  }

  /*
   * Superficie visibile full-width.
   * Non dipende dalla larghezza .ct-container.
   */
  .cas-site .ct-header > [data-device="desktop"]::before {
    content: "";
    position: absolute;
    inset: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 0;

    background:
      linear-gradient(
        90deg,
        rgba(127, 69, 232, .155) 0%,
        rgba(255, 133, 0, .050) 12%,
        rgba(255,255,255,.020) 34%,
        transparent 50%
      ),
      linear-gradient(
        270deg,
        rgba(127, 69, 232, .155) 0%,
        rgba(116, 203, 187, .042) 13%,
        rgba(255,255,255,.020) 34%,
        transparent 50%
      ),
      radial-gradient(
        ellipse 580px 160px at 0% 50%,
        rgba(24, 36, 60, .040) 0%,
        rgba(100, 48, 201, .032) 34%,
        transparent 74%
      ),
      radial-gradient(
        ellipse 580px 160px at 100% 50%,
        rgba(24, 36, 60, .040) 0%,
        rgba(100, 48, 201, .032) 34%,
        transparent 74%
      ),
      linear-gradient(
        180deg,
        rgba(255,255,255,.998) 0%,
        rgba(255,255,255,.990) 52%,
        rgba(252,250,255,.972) 100%
      );
  }

  /*
   * Row/container sopra la pelle full-width.
   * Nessun background proprio, così non compaiono rettangoli laterali.
   */
  .cas-site .ct-header [data-row],
  .cas-site .ct-header [data-row] > div,
  .cas-site .ct-header .ct-container,
  .cas-site .ct-header .ct-header-row,
  .cas-site .ct-header [data-column],
  .cas-site .ct-header [data-items],
  .cas-site .ct-header [data-id] {
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /*
   * Ombra esterna curva sotto header:
   * centro + lati speculari.
   */
  .cas-site .ct-header::before {
    content: "";
    position: absolute;
    left: -8vw;
    right: -8vw;
    bottom: -58px;
    height: 68px;

    pointer-events: none;
    z-index: -1;

    background:
      radial-gradient(
        ellipse 390px 100px at 8% 0%,
        rgba(24, 36, 60, .130) 0%,
        rgba(100, 48, 201, .076) 34%,
        rgba(100, 48, 201, .032) 56%,
        transparent 76%
      ),
      radial-gradient(
        ellipse 390px 100px at 92% 0%,
        rgba(24, 36, 60, .130) 0%,
        rgba(100, 48, 201, .076) 34%,
        rgba(100, 48, 201, .032) 56%,
        transparent 76%
      ),
      radial-gradient(
        ellipse 72% 76px at 50% 0%,
        rgba(24, 36, 60, .094) 0%,
        rgba(100, 48, 201, .056) 38%,
        rgba(255, 133, 0, .022) 62%,
        transparent 82%
      );

    filter: blur(12px);
    opacity: .98;

    -webkit-mask-image:
      linear-gradient(
        180deg,
        rgba(0,0,0,.98) 0%,
        rgba(0,0,0,.74) 42%,
        transparent 100%
      );
    mask-image:
      linear-gradient(
        180deg,
        rgba(0,0,0,.98) 0%,
        rgba(0,0,0,.74) 42%,
        transparent 100%
      );
  }

  /*
   * Bordo inferiore luminoso non rigido.
   */
  .cas-site .ct-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 20px;

    pointer-events: none;
    z-index: 0;

    background:
      linear-gradient(
        90deg,
        rgba(127, 69, 232, .20),
        rgba(255, 133, 0, .12),
        rgba(116, 203, 187, .11),
        rgba(127, 69, 232, .18)
      );

    filter: blur(14px);
    opacity: .56;
  }
}


/* ==========================================================
   CAS Header / Drawer Emblem v1.2.0
   Desktop brand emblem + mobile drawer decorative emblem.
   Mobile drawer geometry is handled by CAS Mobile Navigation Canonical.
   ========================================================== */

:root {
  --cas-header-emblem-url: url("/wp-content/uploads/2026/06/cas-mobile-menu.webp");

  /* Mobile drawer decorative emblem controls */
  --cas-drawer-emblem-top: 68px;
  --cas-drawer-emblem-right: -250px;
  --cas-drawer-emblem-size: 550px;
  --cas-drawer-emblem-opacity: .22;
}

/* Desktop/tablet header: piccolo logo a sinistra del brand */
@media (min-width: 1000px) {
  .cas-site .ct-header [data-id="logo"] {
    position: relative !important;
    padding-left: 92px !important;
    min-height: 86px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .cas-site .ct-header [data-id="logo"]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;

    width: 72px;
    height: 72px;

    transform: translateY(-50%);

    background-image: var(--cas-header-emblem-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: .98;
    pointer-events: none;

    filter:
      drop-shadow(0 14px 30px rgba(100,48,201,.14))
      drop-shadow(0 2px 12px rgba(255,133,0,.10));
  }

  .cas-site .ct-header [data-id="logo"] > * {
    position: relative;
    z-index: 1;
  }
}

/* Mobile header: niente logo piccolo, non c'è spazio */
@media (max-width: 999px) {
  .cas-site .ct-header [data-id="logo"] {
    padding-left: 0 !important;
  }

  .cas-site .ct-header [data-id="logo"]::before {
    content: none !important;
    display: none !important;
  }
}


/* ==========================================================
   CAS Brand Typography v1.1.0
   Prompt Medium for brand, Prompt Light for payoff and mobile menu.
   Slightly more open brand letter spacing.
   Uses self-hosted CAS Prompt first, then system fallback.
   ========================================================== */

:root {
  --cas-font-brand: var(--cas-prompt-web);
  --cas-font-brand-light: var(--cas-prompt-web-light);
}

/* Header brand: desktop + drawer/mobile */
.cas-site .ct-header .site-title,
.cas-site .ct-panel .site-title,
.cas-site .ct-drawer-content .site-title {
  font-family: var(--cas-font-brand) !important;
  font-weight: 500 !important;

  /*
   * Prima era circa -0.052em.
   * Lo apriamo leggermente: più respiro, meno “compresso”.
   */
  letter-spacing: -0.028em !important;
}

/* Payoff sotto il marchio */
.cas-site .ct-header .site-title::after,
.cas-site .ct-panel .site-title::after,
.cas-site .ct-drawer-content .site-title::after {
  font-family: var(--cas-font-brand-light) !important;
  font-weight: 300 !important;
  letter-spacing: -0.024em !important;
}

/* Mobile menu list: Prompt Light, elegante e meno gommoso */
@media (max-width: 999px) {
  .cas-site .ct-panel .menu a,
  .cas-site .ct-panel .ct-menu a,
  .cas-site .ct-panel .mobile-menu a,
  .cas-site .ct-panel .ct-mobile-menu a {
    font-family: var(--cas-font-brand-light) !important;
    font-weight: 300 !important;
    letter-spacing: -0.034em !important;
  }

  /*
   * Language switcher e CTA restano più solidi:
   * qui Light sarebbe troppo fragile.
   */
  .cas-site .ct-panel .cas-lang-switcher a,
  .cas-site .ct-panel .cas-header-cta {
    font-family: var(--cas-font-brand) !important;
    font-weight: 500 !important;
    letter-spacing: -0.032em !important;
  }
}

/* ==========================================================
   CAS Navigation Final Controls Polish v1.0.1
   Canonical desktop language switcher + header CTA.
   Mobile drawer layout is handled by CAS Mobile Drawer Layout Controls.
   ========================================================== */

@media (min-width: 1000px) {
  /*
   * Desktop language switcher.
   */
  .cas-site .ct-header .cas-lang-switcher {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 142px !important;
    height: 54px !important;

    padding: 4px !important;

    border-radius: 999px !important;

    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,.94) 0%,
        rgba(250,247,255,.92) 52%,
        rgba(255,242,230,.84) 100%
      ) !important;

    border: 1px solid rgba(127, 69, 232, .18) !important;

    box-shadow:
      0 16px 34px rgba(24, 36, 60, .08),
      0 12px 30px rgba(100, 48, 201, .10),
      inset 0 1px 0 rgba(255,255,255,.72) !important;

    overflow: hidden !important;
  }

  .cas-site .ct-header .cas-lang-switcher__item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 64px !important;
    min-width: 64px !important;
    height: 46px !important;

    border-radius: 999px !important;

    color: #5f6778 !important;
    -webkit-text-fill-color: #5f6778 !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.018em !important;
    text-decoration: none !important;

    background: transparent !important;

    transition:
      color .18s ease,
      background .18s ease,
      box-shadow .18s ease,
      transform .18s ease !important;
  }

  .cas-site .ct-header .cas-lang-switcher__item.is-active,
  .cas-site .ct-header .cas-lang-switcher__item[aria-current="true"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background:
      linear-gradient(135deg, #8c4ff0 0%, #7f45e8 46%, #6430c9 100%) !important;

    box-shadow:
      0 12px 26px rgba(100, 48, 201, .26),
      inset 0 1px 0 rgba(255,255,255,.28) !important;
  }

  .cas-site .ct-header .cas-lang-switcher__item:not(.is-active):hover {
    color: #ff8500 !important;
    -webkit-text-fill-color: #ff8500 !important;
    background: rgba(255, 133, 0, .08) !important;
  }

  /*
   * Desktop header CTA.
   */
  .cas-site .ct-header .cas-header-cta,
  .cas-site .ct-header a.cas-header-cta,
  .cas-site .ct-header [data-id] .cas-header-cta {
    width: auto !important;
    min-width: 160px !important;
    max-width: none !important;

    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;

    padding: 0 30px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
    text-align: center !important;
    text-decoration: none !important;

    background:
      linear-gradient(135deg, #8c4ff0 0%, #7f45e8 48%, #6430c9 100%) !important;

    box-shadow:
      0 18px 38px rgba(100, 48, 201, .24),
      inset 0 1px 0 rgba(255,255,255,.26) !important;

    transition:
      transform .18s ease,
      background .18s ease,
      box-shadow .18s ease,
      color .18s ease !important;
  }

  .cas-site .ct-header .cas-header-cta:hover,
  .cas-site .ct-header a.cas-header-cta:hover {
    color: #211431 !important;
    -webkit-text-fill-color: #211431 !important;

    background:
      linear-gradient(135deg, #ffd7a6 0%, #ffab3d 46%, #ff8500 100%) !important;

    box-shadow:
      0 18px 40px rgba(255, 133, 0, .24),
      inset 0 1px 0 rgba(255,255,255,.34) !important;

    transform: translateY(-1px) !important;
  }
}



/* ==========================================================
   CAS Mobile Navigation Canonical v2.0.0
   Owner: cas-navigation.css

   Single source of truth for:
   - mobile sticky header;
   - logged-in WP admin bar compatibility;
   - mobile drawer placement;
   - drawer typography/spacing;
   - hamburger to X animation;
   - smooth drawer entrance.

   Desktop header/menu rules above remain untouched.
   ========================================================== */

@media (max-width: 999px) {
  body.cas-site {
    --cas-mobile-header-h: 70px;
    --cas-wp-adminbar-h: 0px;
    --cas-mobile-vh: 100vh;
    --cas-mobile-drawer-top: calc(var(--cas-wp-adminbar-h) + var(--cas-mobile-header-h));
    --cas-mobile-drawer-h: calc(var(--cas-mobile-vh) - var(--cas-mobile-drawer-top));

    --cas-mobile-nav-purple: #7f45e8;
    --cas-mobile-nav-purple-link: #7a42e6;
    --cas-mobile-nav-purple-dark: #6430c9;
    --cas-mobile-nav-orange: #ff8500;
    --cas-mobile-nav-ink: #211431;

    --cas-mobile-trigger-size: 48px;
    --cas-mobile-trigger-line-w: 32px;
    --cas-mobile-trigger-line-h: 4px;
    --cas-mobile-trigger-line-gap: 10px;
  }

  @supports (height: 100dvh) {
    body.cas-site {
      --cas-mobile-vh: 100dvh;
    }
  }

  body.cas-site.admin-bar {
    --cas-wp-adminbar-h: 46px;
  }

  body.cas-site.admin-bar #wpadminbar {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    height: var(--cas-wp-adminbar-h) !important;
    min-height: var(--cas-wp-adminbar-h) !important;

    z-index: 920000 !important;
    transform: none !important;
  }

  body.cas-site #header,
  body.cas-site [data-header],
  body.cas-site .ct-header {
    position: sticky !important;
    top: var(--cas-wp-adminbar-h) !important;
    z-index: 910000 !important;
    overflow: visible !important;
  }

  body.cas-site .ct-header {
    background: transparent !important;
  }

  body.cas-site .ct-header > [data-device="mobile"] {
    height: var(--cas-mobile-header-h) !important;
    min-height: var(--cas-mobile-header-h) !important;

    background:
      linear-gradient(
        90deg,
        rgba(127, 69, 232, .22),
        rgba(255, 133, 0, .13),
        rgba(116, 203, 187, .10),
        rgba(127, 69, 232, .18)
      ) left bottom / 100% 1px no-repeat,
      linear-gradient(
        180deg,
        rgba(255,255,255,.998) 0%,
        rgba(255,255,255,.990) 58%,
        rgba(252,250,255,.970) 100%
      ) !important;

    box-shadow:
      0 14px 34px rgba(24, 36, 60, .115),
      0 7px 18px rgba(100, 48, 201, .060),
      0 1px 0 rgba(127, 69, 232, .12) !important;

    backdrop-filter: blur(18px) saturate(1.06) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.06) !important;
  }

  body.cas-site .ct-header [data-row],
  body.cas-site .ct-header [data-row*="middle"],
  body.cas-site .ct-header .ct-container {
    height: var(--cas-mobile-header-h) !important;
    min-height: var(--cas-mobile-header-h) !important;
  }

  body.cas-site .ct-header [data-row*="middle"] {
    --height: var(--cas-mobile-header-h) !important;
  }

  body.cas-site #header [data-device="mobile"] .ct-header-trigger,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger,
  body.cas-site #header .mobile-toggle {
    --cas-mobile-trigger-color: var(--cas-mobile-nav-purple);

    position: relative !important;

    width: var(--cas-mobile-trigger-size) !important;
    height: var(--cas-mobile-trigger-size) !important;
    min-width: var(--cas-mobile-trigger-size) !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: var(--cas-mobile-trigger-color) !important;
    -webkit-text-fill-color: var(--cas-mobile-trigger-color) !important;

    background:
      linear-gradient(
        var(--cas-mobile-trigger-color),
        var(--cas-mobile-trigger-color)
      ) center / var(--cas-mobile-trigger-line-w) var(--cas-mobile-trigger-line-h) no-repeat !important;

    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    outline: none !important;

    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;

    transition:
      color .18s ease,
      background-size .15s cubic-bezier(.22, .61, .36, 1),
      transform .18s ease !important;
  }

  body.cas-site #header [data-device="mobile"] .ct-header-trigger:hover,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger:hover,
  body.cas-site #header .mobile-toggle:hover {
    --cas-mobile-trigger-color: var(--cas-mobile-nav-orange);
  }

  body.cas-site #header [data-device="mobile"] .ct-header-trigger > *,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger > *,
  body.cas-site #header .mobile-toggle > * {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.cas-site #header [data-device="mobile"] .ct-header-trigger::before,
  body.cas-site #header [data-device="mobile"] .ct-header-trigger::after,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger::before,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger::after,
  body.cas-site #header .mobile-toggle::before,
  body.cas-site #header .mobile-toggle::after {
    content: "" !important;
    position: absolute !important;

    left: 50% !important;
    top: 50% !important;

    width: var(--cas-mobile-trigger-line-w) !important;
    height: var(--cas-mobile-trigger-line-h) !important;

    border-radius: 999px !important;
    background: var(--cas-mobile-trigger-color) !important;

    pointer-events: none !important;
    transform-origin: center !important;

    transition:
      transform .15s cubic-bezier(.22, .61, .36, 1),
      width .15s cubic-bezier(.22, .61, .36, 1),
      background-color .18s ease !important;
  }

  body.cas-site #header [data-device="mobile"] .ct-header-trigger::before,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger::before,
  body.cas-site #header .mobile-toggle::before {
    transform: translate(-50%, calc(-50% - var(--cas-mobile-trigger-line-gap))) rotate(0deg) !important;
  }

  body.cas-site #header [data-device="mobile"] .ct-header-trigger::after,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger::after,
  body.cas-site #header .mobile-toggle::after {
    transform: translate(-50%, calc(-50% + var(--cas-mobile-trigger-line-gap))) rotate(0deg) !important;
  }

  html.cas-mobile-drawer-open body.cas-site #header [data-device="mobile"] .ct-header-trigger,
  html.cas-mobile-drawer-open body.cas-site #header [data-id="trigger"] .ct-header-trigger,
  html.cas-mobile-drawer-open body.cas-site #header .mobile-toggle,
  body.cas-site #header [data-device="mobile"] .ct-header-trigger[aria-expanded="true"],
  body.cas-site #header [data-id="trigger"] .ct-header-trigger[aria-expanded="true"],
  body.cas-site #header .mobile-toggle[aria-expanded="true"] {
    background-size: 0 var(--cas-mobile-trigger-line-h) !important;
  }

  html.cas-mobile-drawer-open body.cas-site #header [data-device="mobile"] .ct-header-trigger::before,
  html.cas-mobile-drawer-open body.cas-site #header [data-id="trigger"] .ct-header-trigger::before,
  html.cas-mobile-drawer-open body.cas-site #header .mobile-toggle::before,
  body.cas-site #header [data-device="mobile"] .ct-header-trigger[aria-expanded="true"]::before,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger[aria-expanded="true"]::before,
  body.cas-site #header .mobile-toggle[aria-expanded="true"]::before {
    width: 34px !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  html.cas-mobile-drawer-open body.cas-site #header [data-device="mobile"] .ct-header-trigger::after,
  html.cas-mobile-drawer-open body.cas-site #header [data-id="trigger"] .ct-header-trigger::after,
  html.cas-mobile-drawer-open body.cas-site #header .mobile-toggle::after,
  body.cas-site #header [data-device="mobile"] .ct-header-trigger[aria-expanded="true"]::after,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger[aria-expanded="true"]::after,
  body.cas-site #header .mobile-toggle[aria-expanded="true"]::after {
    width: 34px !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  body.cas-site #offcanvas.ct-panel.active,
  body.cas-site .ct-panel.active {
    position: fixed !important;

    top: var(--cas-mobile-drawer-top) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    inset: var(--cas-mobile-drawer-top) 0 auto 0 !important;

    width: 100vw !important;
    max-width: none !important;

    height: var(--cas-mobile-drawer-h) !important;
    min-height: var(--cas-mobile-drawer-h) !important;
    max-height: var(--cas-mobile-drawer-h) !important;

    z-index: 900000 !important;

    overflow: hidden !important;
    pointer-events: auto !important;
    transform: none !important;

    background: transparent !important;
  }

  body.cas-site #offcanvas.ct-panel.active .ct-panel-inner,
  body.cas-site .ct-panel.active .ct-panel-inner {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 100% !important;

    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background:
      radial-gradient(circle at 8% 10%, rgba(106,168,255,.22), transparent 24rem),
      radial-gradient(circle at 90% 12%, rgba(138,75,234,.20), transparent 24rem),
      radial-gradient(circle at 70% 88%, rgba(255,133,0,.10), transparent 24rem),
      linear-gradient(180deg, #f7faff 0%, #eef4fb 56%, #f8f5ff 100%) !important;

    box-shadow: none !important;

    animation: casMobileDrawerIn .105s cubic-bezier(.22, .61, .36, 1) both;

    will-change: transform !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform: translateZ(0) !important;
  }

  html.cas-mobile-drawer-closing body.cas-site #offcanvas.ct-panel.active .ct-panel-inner,
  html.cas-mobile-drawer-closing body.cas-site .ct-panel.active .ct-panel-inner,
  body.cas-site.cas-mobile-drawer-closing #offcanvas.ct-panel.active .ct-panel-inner,
  body.cas-site.cas-mobile-drawer-closing .ct-panel.active .ct-panel-inner {
    animation: casMobileDrawerOut .095s cubic-bezier(.55, .06, .68, .19) both !important;
  }

  body.cas-site .ct-panel.active .ct-panel-inner::before {
    content: "";
    position: absolute;

    top: var(--cas-drawer-emblem-top);
    right: var(--cas-drawer-emblem-right);

    width: var(--cas-drawer-emblem-size);
    height: var(--cas-drawer-emblem-size);

    background-image: var(--cas-header-emblem-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    opacity: var(--cas-drawer-emblem-opacity);
    pointer-events: none;
    z-index: 0;

    transform:
      perspective(1000px)
      rotateY(-12deg)
      rotateZ(2deg);

    filter:
      drop-shadow(0 28px 70px rgba(100,48,201,.12))
      drop-shadow(0 0 34px rgba(255,133,0,.08))
      saturate(1.05);
  }

  body.cas-site .ct-panel.active .ct-panel-inner::after {
    content: "";
    position: absolute;

    top: 148px;
    right: -148px;

    width: 340px;
    height: 340px;

    border-radius: 999px;
    pointer-events: none;
    z-index: 0;

    background:
      radial-gradient(circle at 52% 46%, rgba(138,75,234,.15), transparent 58%),
      radial-gradient(circle at 70% 64%, rgba(255,133,0,.10), transparent 62%),
      radial-gradient(circle at 30% 74%, rgba(116,203,187,.09), transparent 62%);

    filter: blur(30px);
    opacity: .58;
  }

  body.cas-site #offcanvas.ct-panel.active .ct-panel-content,
  body.cas-site .ct-panel.active .ct-panel-content,
  body.cas-site #offcanvas.ct-panel.active .ct-drawer-content,
  body.cas-site .ct-panel.active .ct-drawer-content,
  body.cas-site #offcanvas.ct-panel.active .ct-panel-content-inner,
  body.cas-site .ct-panel.active .ct-panel-content-inner {
    position: relative !important;
    z-index: 2 !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 100% !important;
    min-height: 100% !important;

    margin: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    box-sizing: border-box !important;
    background: transparent !important;
  }

  body.cas-site #offcanvas.ct-panel.active .ct-panel-content-inner,
  body.cas-site .ct-panel.active .ct-panel-content-inner {
    padding: clamp(18px, 3vh, 28px) 0 max(26px, env(safe-area-inset-bottom)) !important;
  }

  body.cas-site .ct-panel.active .ct-panel-content-inner::before,
  body.cas-site .ct-panel.active .ct-panel-content-inner::after {
    content: none !important;
    display: none !important;
  }

  body.cas-site .ct-panel.active [data-id="logo"],
  body.cas-site .ct-panel.active .site-title {
    display: inline-block !important;
  }

  body.cas-site .ct-panel.active .site-title,
  body.cas-site .ct-drawer-content .site-title,
  body.cas-site .ct-panel.active [data-id="logo"] .site-title {
    color: transparent !important;

    background:
      linear-gradient(
        135deg,
        #6d35da 0%,
        #8c4ff0 58%,
        #ff9a1f 128%
      ) !important;

    -webkit-background-clip: text !important;
    background-clip: text !important;

    font-family: var(--cas-font-brand) !important;
    font-weight: 500 !important;
    font-size: clamp(2rem, 7.4vw, 2.78rem) !important;
    line-height: .96 !important;
    letter-spacing: -0.028em !important;
  }

  body.cas-site .ct-panel.active .site-title::after,
  body.cas-site .ct-drawer-content .site-title::after,
  body.cas-site .ct-panel.active [data-id="logo"] .site-title::after {
    display: block !important;
    content: "The intelligent authentication layer for WordPress." !important;

    margin-top: .5rem !important;
    max-width: 21rem !important;

    color: #ff8500 !important;
    background: linear-gradient(90deg, #ff8500, #ffab3d 76%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;

    font-family: var(--cas-font-brand-light) !important;
    font-weight: 300 !important;
    font-size: clamp(1rem, 4vw, 1.28rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.024em !important;
  }

  body:lang(it).cas-site .ct-panel.active .site-title::after,
  body:lang(it).cas-site .ct-drawer-content .site-title::after,
  body:lang(it).cas-site .ct-panel.active [data-id="logo"] .site-title::after {
    content: "Il layer di autenticazione intelligente per WordPress." !important;
  }

  body.cas-site .ct-panel.active nav.mobile-menu,
  body.cas-site .ct-panel.active nav.mobile-menu.menu-container,
  body.cas-site .ct-panel.active [data-id="mobile-menu"] {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.cas-site .ct-panel.active nav.mobile-menu > ul,
  body.cas-site .ct-panel.active [data-id="mobile-menu"] > ul,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    row-gap: clamp(3px, .65vh, 7px) !important;

    list-style: none !important;
    box-sizing: border-box !important;
  }

  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item),
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) {
    width: auto !important;
    max-width: calc(100% - 48px) !important;

    margin-left: clamp(54px, 19vw, 120px) !important;
    margin-right: 24px !important;
    padding: 0 !important;

    align-self: flex-start !important;
    box-sizing: border-box !important;
  }

  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > a,
  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > .ct-menu-link,
  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > .ct-sub-menu-parent > a,
  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > .ct-sub-menu-parent > .ct-menu-link,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > a,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > .ct-menu-link,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > .ct-sub-menu-parent > a,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > .ct-sub-menu-parent > .ct-menu-link {
    color: var(--cas-mobile-nav-purple-link) !important;
    -webkit-text-fill-color: var(--cas-mobile-nav-purple-link) !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    padding: 0 !important;
    min-height: 0 !important;

    font-family: var(--cas-font-brand-light) !important;
    font-weight: 300 !important;
    font-size: clamp(1.55rem, 6.2vw, 2.28rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.034em !important;

    text-decoration: none !important;
    transform: none !important;

    transition:
      color .18s ease,
      -webkit-text-fill-color .18s ease,
      transform .18s ease !important;
  }

  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > a:hover,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) > a:hover {
    color: var(--cas-mobile-nav-orange) !important;
    -webkit-text-fill-color: var(--cas-mobile-nav-orange) !important;
  }

  body.cas-site .ct-panel.active li.cas-menu-lang-item,
  body.cas-site .ct-panel.active li.cas-menu-lang-item--mobile,
  body.cas-site .ct-panel.active li.cas-menu-cta-item,
  body.cas-site .ct-panel.active li.cas-menu-cta-item--mobile {
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    align-self: center !important;
    background: transparent !important;
  }

  body.cas-site .ct-panel.active li.cas-menu-lang-item,
  body.cas-site .ct-panel.active li.cas-menu-lang-item--mobile {
    margin-top: 24px !important;
  }

  body.cas-site .ct-panel.active li.cas-menu-cta-item,
  body.cas-site .ct-panel.active li.cas-menu-cta-item--mobile {
    margin-top: 20px !important;
  }

  body.cas-site .ct-panel.active .cas-lang-switcher {
    width: 176px !important;
    min-width: 176px !important;
    max-width: 176px !important;

    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;

    margin: 0 auto !important;
    padding: 4px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;
    border: 1px solid rgba(127, 69, 232, .16) !important;

    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,.92) 0%,
        rgba(250,247,255,.90) 56%,
        rgba(255,242,230,.82) 100%
      ) !important;

    box-shadow:
      0 10px 24px rgba(24, 36, 60, .08),
      0 12px 24px rgba(100, 48, 201, .08),
      inset 0 1px 0 rgba(255,255,255,.72) !important;

    box-sizing: border-box !important;
  }

  body.cas-site .ct-panel.active .cas-lang-switcher__item {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    padding: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #677084 !important;
    -webkit-text-fill-color: #677084 !important;

    background: transparent !important;
    box-shadow: none !important;

    font-family: var(--cas-font-brand) !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: -0.032em !important;

    text-decoration: none !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;

    transition:
      color .18s ease,
      background .18s ease,
      box-shadow .18s ease !important;
  }

  body.cas-site .ct-panel.active .cas-lang-switcher__item.is-active,
  body.cas-site .ct-panel.active .cas-lang-switcher__item[aria-current="true"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background:
      linear-gradient(135deg, #8c4ff0 0%, #7f45e8 48%, #6430c9 100%) !important;

    box-shadow:
      0 10px 20px rgba(100, 48, 201, .22),
      inset 0 1px 0 rgba(255,255,255,.24) !important;
  }

  body.cas-site .ct-panel.active .cas-header-cta {
    width: 232px !important;
    min-width: 232px !important;
    max-width: 232px !important;

    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;

    margin: 0 auto !important;
    padding: 0 20px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: var(--cas-font-brand) !important;
    font-weight: 500 !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.032em !important;

    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;

    border: 1px solid rgba(255,255,255,.24) !important;

    background:
      linear-gradient(135deg, #8c4ff0 0%, #7f45e8 48%, #6430c9 100%) !important;

    box-shadow:
      0 18px 42px rgba(100, 48, 201, .26),
      0 1px 0 rgba(255,255,255,.26) inset !important;

    box-sizing: border-box !important;

    transition:
      transform .18s ease,
      background .18s ease,
      box-shadow .18s ease !important;
  }

  body.cas-site .ct-panel.active .cas-header-cta:hover {
    color: var(--cas-mobile-nav-ink) !important;
    -webkit-text-fill-color: var(--cas-mobile-nav-ink) !important;

    background:
      linear-gradient(135deg, #ffd7a6 0%, #ffab3d 46%, #ff8500 100%) !important;

    box-shadow:
      0 18px 42px rgba(255, 133, 0, .22),
      0 1px 0 rgba(255,255,255,.34) inset !important;
  }

  body.cas-site .ct-panel.active .sub-menu,
  body.cas-site .ct-panel.active .children {
    margin: 6px 0 2px clamp(24px, 5.5vw, 42px) !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    list-style: none !important;
  }

  body.cas-site .ct-panel.active .sub-menu a,
  body.cas-site .ct-panel.active .children a {
    color: var(--cas-mobile-nav-purple-link) !important;
    -webkit-text-fill-color: var(--cas-mobile-nav-purple-link) !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    padding: 0 !important;

    font-family: var(--cas-font-brand-light) !important;
    font-weight: 300 !important;
    font-size: clamp(1.34rem, 5.4vw, 1.95rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.034em !important;

    text-decoration: none !important;
  }

  body.cas-site #offcanvas.ct-panel.active .ct-toggle-close,
  body.cas-site .ct-panel.active .ct-toggle-close,
  body.cas-site #offcanvas.ct-panel.active .close-button,
  body.cas-site .ct-panel.active .close-button,
  body.cas-site #offcanvas.ct-panel.active [aria-label*="Close"],
  body.cas-site .ct-panel.active [aria-label*="Close"],
  body.cas-site #offcanvas.ct-panel.active [aria-label*="Chiudi"],
  body.cas-site .ct-panel.active [aria-label*="Chiudi"] {
    display: none !important;
  }
}

@media (min-width: 783px) and (max-width: 999px) {
  body.cas-site.admin-bar {
    --cas-wp-adminbar-h: 32px;
  }
}

@media (max-width: 430px) {
  body.cas-site .ct-panel.active nav.mobile-menu > ul,
  body.cas-site .ct-panel.active [data-id="mobile-menu"] > ul,
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] {
    row-gap: 3px !important;
  }

  body.cas-site .ct-panel.active nav.mobile-menu > ul > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item),
  body.cas-site .ct-panel.active ul[id^="menu-cas-mobile-menu"] > li:not(.cas-menu-lang-item):not(.cas-menu-cta-item) {
    margin-left: clamp(50px, 17vw, 92px) !important;
    margin-right: 18px !important;
  }

  body.cas-site .ct-panel.active .cas-lang-switcher {
    width: 168px !important;
    min-width: 168px !important;
    max-width: 168px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  body.cas-site .ct-panel.active .cas-lang-switcher__item {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    font-size: 15px !important;
  }

  body.cas-site .ct-panel.active .cas-header-cta {
    width: 218px !important;
    min-width: 218px !important;
    max-width: 218px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    font-size: 17px !important;
  }
}

@keyframes casMobileDrawerIn {
  from {
    transform: translateX(-16px);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes casMobileDrawerOut {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(20px);
  }
}

@media (max-width: 999px) and (prefers-reduced-motion: reduce) {
  body.cas-site #header [data-device="mobile"] .ct-header-trigger,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger,
  body.cas-site #header .mobile-toggle,
  body.cas-site #header [data-device="mobile"] .ct-header-trigger::before,
  body.cas-site #header [data-device="mobile"] .ct-header-trigger::after,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger::before,
  body.cas-site #header [data-id="trigger"] .ct-header-trigger::after,
  body.cas-site #header .mobile-toggle::before,
  body.cas-site #header .mobile-toggle::after,
  body.cas-site .ct-panel.active .ct-panel-inner {
    transition: none !important;
    animation: none !important;
  }
}

/* /CAS Mobile Navigation Canonical v2.0.0 */

/* ==========================================================
   CAS Firefox Mobile Drawer Safe Mode v2.0.3
   Owner: cas-navigation.css

   Firefox / Firefox Focus on Android can repaint fixed drawer layers
   slowly when transitions, gradients and the sticky admin/header stack
   are combined. Chrome keeps the normal motion. Firefox mobile gets a
   clean instant drawer: no fade, no slide, no synthetic close delay.
   ========================================================== */

@media (max-width: 999px) {
  html.cas-firefox-mobile body.cas-site #offcanvas.ct-panel,
  html.cas-firefox-mobile body.cas-site .ct-panel,
  html.cas-firefox-mobile body.cas-site #offcanvas.ct-panel.active,
  html.cas-firefox-mobile body.cas-site .ct-panel.active,
  html.cas-firefox-mobile body.cas-site #offcanvas.ct-panel .ct-panel-inner,
  html.cas-firefox-mobile body.cas-site .ct-panel .ct-panel-inner,
  html.cas-firefox-mobile body.cas-site #offcanvas.ct-panel.active .ct-panel-inner,
  html.cas-firefox-mobile body.cas-site .ct-panel.active .ct-panel-inner,
  body.cas-site.cas-firefox-mobile #offcanvas.ct-panel,
  body.cas-site.cas-firefox-mobile .ct-panel,
  body.cas-site.cas-firefox-mobile #offcanvas.ct-panel.active,
  body.cas-site.cas-firefox-mobile .ct-panel.active,
  body.cas-site.cas-firefox-mobile #offcanvas.ct-panel .ct-panel-inner,
  body.cas-site.cas-firefox-mobile .ct-panel .ct-panel-inner,
  body.cas-site.cas-firefox-mobile #offcanvas.ct-panel.active .ct-panel-inner,
  body.cas-site.cas-firefox-mobile .ct-panel.active .ct-panel-inner {
    transition: none !important;
    animation: none !important;

    opacity: 1 !important;
    transform: none !important;

    will-change: auto !important;
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
  }

  html.cas-firefox-mobile body.cas-site #header [data-device="mobile"] .ct-header-trigger,
  html.cas-firefox-mobile body.cas-site #header [data-id="trigger"] .ct-header-trigger,
  html.cas-firefox-mobile body.cas-site #header .mobile-toggle,
  html.cas-firefox-mobile body.cas-site #header [data-device="mobile"] .ct-header-trigger::before,
  html.cas-firefox-mobile body.cas-site #header [data-device="mobile"] .ct-header-trigger::after,
  html.cas-firefox-mobile body.cas-site #header [data-id="trigger"] .ct-header-trigger::before,
  html.cas-firefox-mobile body.cas-site #header [data-id="trigger"] .ct-header-trigger::after,
  html.cas-firefox-mobile body.cas-site #header .mobile-toggle::before,
  html.cas-firefox-mobile body.cas-site #header .mobile-toggle::after,
  body.cas-site.cas-firefox-mobile #header [data-device="mobile"] .ct-header-trigger,
  body.cas-site.cas-firefox-mobile #header [data-id="trigger"] .ct-header-trigger,
  body.cas-site.cas-firefox-mobile #header .mobile-toggle,
  body.cas-site.cas-firefox-mobile #header [data-device="mobile"] .ct-header-trigger::before,
  body.cas-site.cas-firefox-mobile #header [data-device="mobile"] .ct-header-trigger::after,
  body.cas-site.cas-firefox-mobile #header [data-id="trigger"] .ct-header-trigger::before,
  body.cas-site.cas-firefox-mobile #header [data-id="trigger"] .ct-header-trigger::after,
  body.cas-site.cas-firefox-mobile #header .mobile-toggle::before,
  body.cas-site.cas-firefox-mobile #header .mobile-toggle::after {
    transition: none !important;
  }

  html.cas-firefox-mobile.cas-mobile-drawer-closing body.cas-site #offcanvas.ct-panel.active .ct-panel-inner,
  html.cas-firefox-mobile.cas-mobile-drawer-closing body.cas-site .ct-panel.active .ct-panel-inner,
  body.cas-site.cas-firefox-mobile.cas-mobile-drawer-closing #offcanvas.ct-panel.active .ct-panel-inner,
  body.cas-site.cas-firefox-mobile.cas-mobile-drawer-closing .ct-panel.active .ct-panel-inner {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* /CAS Firefox Mobile Drawer Safe Mode v2.0.3 */
