/* Extracted from includes/header.php during code cleanup. */

.amoria-friend-accepted-notice{
  position:relative;
  z-index:90;
  padding:10px 18px;
  background:#ecfbf3;
  border-bottom:1px solid #bde8cf;
  color:#174f34;
}
.amoria-friend-accepted-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:12px;
}
.amoria-friend-accepted-avatar,
.amoria-friend-accepted-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:50%;
}
.amoria-friend-accepted-avatar{object-fit:cover;object-position:center}
.amoria-friend-accepted-icon{
  display:grid;
  place-items:center;
  background:#168451;
  color:#fff;
  font-size:20px;
  font-weight:900;
}
.amoria-friend-accepted-copy{
  display:grid;
  gap:2px;
  min-width:0;
  flex:1;
}
.amoria-friend-accepted-copy strong{font-size:14px}
.amoria-friend-accepted-copy span{font-size:13px}
.amoria-friend-accepted-copy small{font-size:11px;opacity:.78}
.amoria-friend-accepted-view{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:10px;
  background:#168451;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.amoria-friend-accepted-dismiss-form{margin:0}
.amoria-friend-accepted-dismiss{
  appearance:none;
  width:36px;
  height:36px;
  border:1px solid #bde8cf;
  border-radius:50%;
  background:#fff;
  color:#174f34;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
@media(max-width:700px){
  .amoria-friend-accepted-inner{align-items:flex-start;flex-wrap:wrap}
  .amoria-friend-accepted-copy{flex:1 1 calc(100% - 60px)}
  .amoria-friend-accepted-view{margin-left:56px}
}

/* Keep all seven Connect entries visible on index.php and other pages. */
#amoriaConnectMenu.amoria-pro-connect-menu{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    min-height:0 !important;
}
.amoria-pro-connect.is-open #amoriaConnectMenu{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
}
#amoriaConnectMenu a[href="safe-campus.php"],
#amoriaConnectMenu a[href="admin/"]{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
}

.amoria-pro-connect.is-open #amoriaConnectMenu[hidden]{
    display:block !important;
}
#amoriaConnectMenu a[href="admin/"],
#amoriaConnectMenu a[href="safe-campus.php"]{
    display:grid !important;
}


/* =========================================================
   LOCUS-AMANTIUM NAVIGATION TEXT — SOFT EASE ANIMATION
   ========================================================= */
.amoria-pro-primary a,
.amoria-pro-actions > a,
.amoria-pro-actions button,
.amoria-pro-actions .amoria-language-toggle{
    position:relative;
    transition:
        color .34s cubic-bezier(.22,.61,.36,1),
        transform .34s cubic-bezier(.22,.61,.36,1),
        opacity .34s ease,
        background-color .34s ease,
        border-color .34s ease,
        box-shadow .34s ease !important;
    will-change:transform;
}

/* Soft entrance of the menu labels when a page opens. */
.amoria-pro-primary a{
    animation:amoriaMenuEaseIn .62s cubic-bezier(.22,.61,.36,1) both;
}
.amoria-pro-primary a:nth-child(1){animation-delay:.05s}
.amoria-pro-primary a:nth-child(2){animation-delay:.11s}
.amoria-pro-primary a:nth-child(3){animation-delay:.17s}
.amoria-pro-primary a:nth-child(4){animation-delay:.23s}

.amoria-pro-actions > *{
    animation:amoriaMenuEaseIn .62s cubic-bezier(.22,.61,.36,1) both;
}
.amoria-pro-actions > *:nth-child(1){animation-delay:.20s}
.amoria-pro-actions > *:nth-child(2){animation-delay:.26s}
.amoria-pro-actions > *:nth-child(3){animation-delay:.32s}
.amoria-pro-actions > *:nth-child(4){animation-delay:.38s}

@keyframes amoriaMenuEaseIn{
    from{
        opacity:0;
        transform:translateY(-9px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Smooth lift rather than a sharp hover jump. */
.amoria-pro-primary a:hover,
.amoria-pro-primary a:focus-visible{
    transform:translateY(-2px);
}

/* Animated underline for the menu text. */
.amoria-pro-primary a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-7px;
    width:0;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform:translateX(-50%);
    opacity:.78;
    transition:width .36s cubic-bezier(.22,.61,.36,1), opacity .36s ease;
}
.amoria-pro-primary a:hover::after,
.amoria-pro-primary a:focus-visible::after,
.amoria-pro-primary a.is-active::after{
    width:72%;
    opacity:1;
}

.amoria-pro-actions button:hover,
.amoria-pro-actions > a:hover{
    transform:translateY(-2px);
}

@media(prefers-reduced-motion:reduce){
    .amoria-pro-primary a,
    .amoria-pro-actions > *{
        animation:none!important;
        transition:none!important;
        transform:none!important;
    }
}


/* =========================================================
   LOCUS-AMANTIUM NAV ACTIVE UNDERLINE POSITION FIX
   ========================================================= */
.amoria-pro-primary a{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding-bottom:8px !important;
}

/* Reset the previous centered underline geometry */
.amoria-pro-primary a::after{
    content:"" !important;
    position:absolute !important;
    left:12% !important;
    right:12% !important;
    bottom:1px !important;
    width:auto !important;
    height:2px !important;
    border-radius:999px !important;
    background:currentColor !important;
    transform:none !important;
    opacity:0 !important;
    transition:
        opacity .28s ease,
        left .34s cubic-bezier(.22,.61,.36,1),
        right .34s cubic-bezier(.22,.61,.36,1) !important;
}

.amoria-pro-primary a:hover::after,
.amoria-pro-primary a:focus-visible::after,
.amoria-pro-primary a.is-active::after{
    left:12% !important;
    right:12% !important;
    width:auto !important;
    opacity:1 !important;
}

/* Keep Home underline aligned even when it is the active first item */
.amoria-pro-primary a:first-child::after{
    left:14% !important;
    right:14% !important;
}

/* Prevent underline from being displaced by nav container transforms */
.amoria-pro-primary{
    align-items:center !important;
}

@media(max-width:900px){
    .amoria-pro-primary a{
        justify-content:flex-start !important;
        padding-bottom:10px !important;
    }

    .amoria-pro-primary a::after,
    .amoria-pro-primary a:first-child::after{
        left:0 !important;
        right:auto !important;
        bottom:2px !important;
        width:32px !important;
    }
}


/* =========================================================
   LOCUS-AMANTIUM MAIN NAVBAR — UNIFIED WOW + EASE ANIMATION
   ========================================================= */

.amoria-pro-nav-inner{
    align-items:center !important;
}

/* Primary menu geometry */
.amoria-pro-primary{
    display:flex !important;
    align-items:center !important;
    gap:26px !important;
}

.amoria-pro-primary a{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:0 2px 8px !important;
    margin:0 !important;
    line-height:1 !important;
    text-decoration:none !important;
    transform:none;
    transition:
        color .34s cubic-bezier(.22,.61,.36,1),
        transform .34s cubic-bezier(.22,.61,.36,1),
        opacity .34s ease !important;
}

/* One underline system for Home, Members, Why and Safety */
.amoria-pro-primary a::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:1px !important;
    width:0 !important;
    height:2px !important;
    border-radius:999px !important;
    background:currentColor !important;
    transform:translateX(-50%) !important;
    opacity:0 !important;
    transition:
        width .36s cubic-bezier(.22,.61,.36,1),
        opacity .26s ease !important;
}

.amoria-pro-primary a:hover,
.amoria-pro-primary a:focus-visible{
    transform:translateY(-2px) !important;
}

.amoria-pro-primary a:hover::after,
.amoria-pro-primary a:focus-visible::after,
.amoria-pro-primary a.is-active::after{
    width:72% !important;
    opacity:1 !important;
}

/* Action area alignment */
.amoria-pro-actions{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.amoria-pro-actions > *,
.amoria-language-toggle{
    transition:
        color .34s cubic-bezier(.22,.61,.36,1),
        background-color .34s ease,
        border-color .34s ease,
        box-shadow .34s ease,
        transform .34s cubic-bezier(.22,.61,.36,1) !important;
}

.amoria-pro-actions > *:hover,
.amoria-language-toggle:hover{
    transform:translateY(-2px);
}

/* WOW menu animation: staggered, eased and consistent */
.amoria-nav-wow{
    animation-duration:.72s !important;
    animation-timing-function:cubic-bezier(.22,.61,.36,1) !important;
    animation-fill-mode:both !important;
    backface-visibility:hidden;
}

/* Fallback if WOW.js is unavailable: still animate once on page load */
@keyframes amoriaNavbarEaseDown{
    from{
        opacity:0;
        transform:translateY(-12px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

html:not(.wow-ready) .amoria-nav-wow{
    animation-name:amoriaNavbarEaseDown;
}

/* Preserve correct final position after WOW completes */
.amoria-nav-wow.animated,
.amoria-nav-wow.animate__animated{
    opacity:1;
}

/* Mobile navbar */
@media(max-width:900px){
    .amoria-pro-primary{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:4px !important;
    }

    .amoria-pro-primary a{
        justify-content:flex-start !important;
        min-height:44px !important;
        padding:0 0 10px !important;
    }

    .amoria-pro-primary a::after{
        left:0 !important;
        bottom:2px !important;
        width:0 !important;
        transform:none !important;
    }

    .amoria-pro-primary a:hover::after,
    .amoria-pro-primary a:focus-visible::after,
    .amoria-pro-primary a.is-active::after{
        width:34px !important;
    }

    .amoria-pro-actions{
        align-items:stretch !important;
        gap:8px !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .amoria-nav-wow,
    .amoria-pro-primary a,
    .amoria-pro-actions > *,
    .amoria-language-toggle{
        animation:none !important;
        transition:none !important;
        transform:none !important;
        opacity:1 !important;
    }
}


/* =========================================================
   LOCUS-AMANTIUM NAVBAR — PROPORTIONAL UNDERLINE FINAL FIX
   The underline follows each menu label's own text width.
   ========================================================= */
.amoria-pro-primary > a{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    padding-bottom:8px !important;
    margin-left:10px !important;
    margin-right:10px !important;
}

.amoria-pro-primary > a::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:2px !important;
    width:100% !important;
    height:2px !important;
    border-radius:999px !important;
    transform:scaleX(0) !important;
    transform-origin:center !important;
    transition:transform .28s cubic-bezier(.22,.61,.36,1) !important;
}

.amoria-pro-primary > a:hover::after,
.amoria-pro-primary > a:focus-visible::after,
.amoria-pro-primary > a.is-active::after{
    transform:scaleX(1) !important;
}

/* Remove the old special Home underline dimensions. */
.amoria-pro-primary > a:first-child::after{
    left:0 !important;
    right:0 !important;
    width:100% !important;
}

/* Mobile: same proportional rule, aligned naturally with each label. */
@media(max-width:900px){
    .amoria-pro-primary > a{
        align-self:flex-start !important;
        justify-content:flex-start !important;
        width:auto !important;
        margin-left:0 !important;
        margin-right:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .amoria-pro-primary > a::after,
    .amoria-pro-primary > a:first-child::after{
        left:0 !important;
        right:0 !important;
        width:100% !important;
        transform-origin:left center !important;
    }
}
