:root{
  --nn-accent:#a60022;
}
body{font-feature-settings:"liga" 1,"kern" 1;}
.site-header .navbar .nav-link{padding:.5rem 1rem;}
.site-header .site-title{font-weight:700;}
.topbar .input-group .form-control{border-color:rgba(255,255,255,.25);}
.topbar .btn{border-color:rgba(255,255,255,.25);}

.entry-single .featured img{border-radius:.35rem;}
.entry-meta a{color:inherit;}
.entry-meta a:hover{color:var(--nn-accent);}

.btn-outline-primary{--bs-btn-color:var(--nn-accent);--bs-btn-border-color:var(--nn-accent);--bs-btn-hover-bg:var(--nn-accent);--bs-btn-hover-border-color:var(--nn-accent);}
.text-accent{color:var(--nn-accent)!important;}
.border-accent{border-color:var(--nn-accent)!important;}
.bg-accent{background-color:var(--nn-accent)!important;}

.widget .widget-title{font-weight:600;}

.breadcrumb{--bs-breadcrumb-divider: '›';}
.breadcrumb a{text-decoration:none;}

.object-fit-cover{object-fit:cover;}


/* Dropdown submenu positioning for Bootstrap 5 */
@media (min-width: 992px){
  .dropdown-submenu{ position: relative; }
  .dropdown-submenu > .dropdown-menu{
    top: 0;
    left: 100%;
    margin-top: -0.125rem;
  }
  .dropdown-submenu:hover > .dropdown-menu{
    display: block;
  }
}
/* Better focus styles for accessibility */
.navbar .nav-link:focus,
.dropdown-item:focus{ outline: 2px solid rgba(166,0,34,.5); outline-offset: 2px; }


/* ---------- Fancy navbar hover effects ---------- */
.navbar .nav-link{
  position: relative;
  transition: color .2s ease;
}
/* Animated underline on top-level links */
@media (min-width: 992px){
  .navbar .navbar-nav > .nav-item > .nav-link::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: .35rem;
    height: 2px;
    background: linear-gradient(90deg, var(--nn-accent), rgba(166,0,34,.2));
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s ease;
  }
  .navbar .navbar-nav > .nav-item:hover > .nav-link::after,
  .navbar .navbar-nav > .nav-item:focus-within > .nav-link::after{
    transform: scaleX(1);
  }
}

/* Dropdown animation: fade+slide, glass effect */
.dropdown-menu{
  --nn-menu-radius: .65rem;
  --nn-menu-shadow: 0 10px 30px rgba(0,0,0,.15);
  border-radius: var(--nn-menu-radius);
  box-shadow: var(--nn-menu-shadow);
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(140%) blur(8px);
  transform-origin: top left;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(.98);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  will-change: transform, opacity;
}
.dropdown.show > .dropdown-menu,
.dropdown:hover > .dropdown-menu{
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  transition: opacity .18s ease, transform .18s ease, visibility 0s;
}

/* Submenu positioning and animation */
@media (min-width: 992px){
  .dropdown-submenu{ position: relative; }
  .dropdown-submenu > .dropdown-menu{
    top: 0;
    left: 100%;
    margin-top: -0.125rem;
    transform-origin: top left;
  }
  .dropdown-submenu:hover > .dropdown-menu{
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }
}

/* Rotate caret on open */
.dropdown .dropdown-toggle::after{
  transition: transform .18s ease;
}
.dropdown.show > a.dropdown-toggle::after,
.dropdown:hover > a.dropdown-toggle::after{
  transform: rotate(180deg);
}

/* Menu items spacing */
.dropdown-item{
  padding: .5rem 1rem;
  border-radius: .4rem;
  transition: background-color .15s ease, color .15s ease;
}
.dropdown-item:hover,
.dropdown-item:focus{
  background: rgba(166,0,34,.08);
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce){
  .dropdown-menu,
  .navbar .navbar-nav > .nav-item > .nav-link::after{
    transition: none !important;
  }
}

/* Keep previous submenu desktop rule (already included above) and focus outline */
.navbar .nav-link:focus,
.dropdown-item:focus{ outline: 2px solid rgba(166,0,34,.5); outline-offset: 2px; }


/* Topbar menu spacing */
.topbar .topbar-menu > li > a{ font-weight: 500; }
.topbar .topbar-menu > li + li{ margin-left: .75rem; }


/* Single full-width adjustments */
.entry-single .entry-content.container{
  max-width: 1000px; /* keeps text comfortable while image is full-bleed */
}
.entry-single header.container,
.entry-single footer.container{
  max-width: 1100px;
}
.ratio-21x9{ --bs-aspect-ratio: calc(9 / 21 * 100%); }
