﻿a, a:hover {
  text-decoration: none;
}

.navbar-header {
  max-width: 225px;
}
.navbar-header img {
  max-width: 100%;
}

i.material-icons, i.material-icons-outlined {
  vertical-align: middle;
}

.footer-column {
  margin-bottom: 20px;
}

#page {
  overflow: auto;
  padding-bottom: 15px;
}

html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
}

#page {
  flex: 1 0 auto;
  width: 100%;
}

#content {
  padding: 20px;
  background-color: var(--surface);
  margin-bottom: 100px;
}

/* Opt-in full-width mode (see _Layout.cshtml's own ViewData["FullWidthContent"]
   comment) - #content.container-fluid beats the plain #content rule above on
   specificity (id+class > id alone) regardless of source order, so no !important
   needed. Drops ALL padding, not just left/right - confirmed live against the real
   Spoho site that #content there has zero padding on every side (top/bottom
   included), and with the outer container gone anyway, a lingering top/bottom gap
   here isn't earning its keep either; individual sections already manage their own
   vertical spacing (hero carousel's own mb-4, the product grid/banner's own
   margins) same as the real site's per-section spacers. background/margin-bottom
   are unrelated to width and stay as-is. */
#content.container-fluid {
  padding: 0;
}

footer {
  flex-shrink: 0;
}

.carousel-control-next, .carousel-control-prev {
  opacity: 1;
}

.carousel-control-prev i, .carousel-control-next i {
  font-size: 80px;
  color: black;
}

.nav-link, .nav-link:hover, .nav-link:active {
  color: var(--accent);
}

.category-slider-container {
  border: 1px solid #dadae5;
  padding: 20px;
  border-radius: 4px;
}
.category-slider-container h2 {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dadae5;
}

.landing-slider-container {
  position: relative;
  margin-bottom: 20px;
}

.landing-slide {
  position: relative;
  padding: 10px;
  text-align: center;
  height: 200px;
}
.landing-slide .sliderImage {
  max-height: 70%;
  max-width: 100%;
  margin-bottom: 15px;
}
.landing-slide .landing-slide-title {
  margin: 0;
  font-weight: bold;
  color: var(--text-dark);
}
.landing-slide .landing-slide-title a {
  color: inherit;
  text-decoration: none;
}

button.landing-prev,
button.landing-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  border: none;
  border-radius: 4px;
  color: var(--surface);
  background: var(--accent);
}
button.landing-prev:hover, button.landing-prev:focus,
button.landing-next:hover,
button.landing-next:focus {
  background: var(--accent-hover);
}

button.landing-prev {
  left: -10px;
}

button.landing-next {
  right: -10px;
}

/* Real legacy .sliderContainer/.sliderImage (css/templates/2/style.scss) - used by
   _HomeFeaturedItemsCarousel.cshtml's larger product cards (image/name/description/
   "view details" button), a DIFFERENT markup shape from the small-tile
   .landing-slide/_ProductTileMini.cshtml carousel above, so it needs its own rule -
   .sliderImage has no .landing-slide ancestor there and was rendering at full native
   image resolution (e.g. 1400px wide) with no size constraint at all before this was
   added, breaking the homepage layout. Tenant-agnostic (var(--surface)/var(--accent)
   only), so lives here rather than any one tenant's stylesheet - same reasoning as the
   .landing-slide block above. */
.sliderContainer {
  background-color: var(--surface);
  border-radius: 4px;
  padding: 10px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.sliderImage {
  max-width: 100%;
  max-height: 220px;
  object-fit: contain;
  margin: 0 auto 15px;
  display: block;
}

.sliderCaption {
  margin: 0;
}

.sliderLink {
  margin-top: auto;
  align-self: center;
}

.news-ticker {
  width: 100%;
  overflow: hidden;
  position: relative;
  height: 25px;
}

.news-ticker p {
  position: absolute;
  left: 100%;
  white-space: nowrap;
  animation: ticker 15s linear infinite;
  display: inline-block;
  margin: 0;
  padding-right: 10em;
}

@keyframes ticker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-100vw - 100%));
  }
}
/* Generic default for the shared _HomeInfoBanner.cshtml partial (see
   HomepageSectionOptions' "InfoBanner" section type) - a plain bordered box in the
   tenant's own brand color, matching HNO's real legacy homepage box
   (`border: 2px solid #FE5000; border-radius: 4px; padding: 30px`) exactly. Template3
   tenants (e.g. Spoho) override this with their own solid-color-band look further down
   the cascade (Template3.scss @imports this file, then redeclares the same selector -
   later source order wins), so this stays the DefaultTemplate-tenant default only. */
.homepage-info-banner {
  border: 2px solid var(--brand-primary);
  border-radius: 4px;
  padding: 30px;
  margin-bottom: 20px;
}
