@charset 'utf-8';

/* header */
header {
  box-shadow: 0 0 2rem 0 color-mix(in srgb, var(--colorGreyscale1) 10%, transparent);

  &:not(.dialogHeader) .screen .row2 .leftElement {
    justify-content: flex-end;
  }
  @media (prefers-color-scheme: dark) {
    .headerLogo img {
      filter: invert(1) hue-rotate(180deg) brightness(0.8);
    }
  }
  @media screen and (min-width: 1025px), print and (min-width: 300px) {
    .userActions {
      justify-content: center;

      .headerButton:not(.headerSidemenu) {
        width: 4.8rem;
      }
      .headerAccount {
        order: -1;
      }
    }
    .preview [class*='icon-'] {
      font-size: 0;
    }
    .preview .hoverDropdownTrigger .shortName {
      opacity: 0;
    }
    .preview.basket .icon-basket > span .totalQuantity, .preview.basket .icon-createInvoice > span .totalQuantity {
      right: 0;
    }
  }
  .flyoutNavigation menu {
    justify-content: space-between;

    > li {

      &:hover,
      &.open {
        box-shadow: none;

        > a {
          background-image: linear-gradient(to bottom, transparent 88%, var(--colorDefault3) 88%, var(--colorDefault3));
          background-position: 0.6rem 0;
          background-repeat: no-repeat;
        }
      }
      &:first-child {
        margin-left: 25.2rem;
      }
      &:last-child {
        margin-right: 30rem;
      }
      button.icon-next {
        opacity: 0;
      }
    }
  }
}

/* flyout */
.flyout.fullsize {
  left: 0 !important;
  max-width: 100vw !important;
  width: 100vw !important;
  box-shadow: none;

  &::before {
    display: none;
  }
  > .dialogContent {
    max-width: 160rem;
    width: 100%;
    margin: 0 auto 0 auto;
    border-bottom: 0.1rem solid var(--colorDefault4);
    padding: 1.6rem 0.4rem 1.6rem 0.4rem;

    .columnHeading {
      border-bottom: 0.1rem solid var(--colorDefault4);
      margin-bottom: 1.6rem;

      h5:only-child {
        margin-bottom: 1.2rem;
        color: var(--headingColor5);
      }
    }
    .column.links .actions {
      a {
        color: var(--headingColor5);

        &:hover {
          color: var(--colorDefault3);
        }
        &:focus:not(:hover) {
          color: var(--colorDefault0);
        }
      }
      span[title=line] {
        display: block;
        height: 0.8lh;
        margin-top: 0.8lh;
        border-top: 0.1rem solid var(--colorDefault4);

        span {
          display: none;
        }
      }
    }
  }
  &:hover a:focus {
    transition: outline-color 0.4s ease-out 0.8s;
    outline-color: transparent;
  }
}

/* teaser */
.teaser .animation .presentationView .header {
  margin: 0;
}
main .articleItem.teaserItem:not(.teaserColoredStripe) .sectionTexts {
  max-width: clamp(32rem, 67%, 106rem);
  margin: 0 0 0 auto;
  padding: 0 3.2rem 0 1.6rem;
  background-color: color-mix(in srgb, var(--colorBackground), transparent 25%);
  backdrop-filter: blur(0.8rem);
  color: var(--colorGreyscale1);

  .sectionHeading .articleHeading {
    color: var(--headingColor2);
    font-weight: var(--fontWeight3);
  }
  .sectionHtmlText {
    display: none;
  }
}

/* section */
main > .breadcrumb + div ~ div:not(.biblioList):not(.articleList),
main > div:not(.breadcrumb) ~ div:not(.biblioList):not(.articleList) {
  margin-top: 6rem;
  border-top: 0.1rem solid var(--headingColor2);
  padding-top: 1.2rem;
}

/* animation */
.animation .alternativeItem,
.animation .coverItem:not(.coverItemPlus) {
  background-color: var(--colorDefault5);

  &.biblioItem {
    height: 30.2rem;
    padding: 1.6rem 0;
  }
}

/* article animation with cover plus detail image */
.articleAnimation .panel:has(.coverItemPlus) {
  padding: 0 3.2rem 3.2rem 3.2rem;
  background-image: linear-gradient(var(--colorDefault5));
  background-position: 0 3.2rem;
  background-repeat: no-repeat;
}

/* list */
main .listHeader,
dialog .listHeader {
  > div + div:not(.paginationContainer) {
    border-left: 0.1rem solid var(--colorDefault5);
    padding-left: 0.8rem;
  }
  .viewContainer .tabsDropdown .selectedOption {
    border-color: transparent;
  }
  .select2-container.select2-container--default .select2-selection--single {
    border-color: transparent;
  }
}
.checkSelect .action {
  border-color: transparent;
  border-right-color: var(--colorDefault5);
}

/* cover badge */
.biblioCover .coverBadge.xdibi::after {
  content: 'Judocu';
  background-color: var(--colorDefault1);
}
.biblioCover .coverBadge.xps::after {
  content: 'PrintPlu§';
  background-color: var(--colorDefault1);
}
.biblioCover .coverBadge.xsdf::after {
  content: 'Digital';
  background-color: var(--colorDefault1);
}

/* buttons */
button.large:not(.continue),
button.additionalPriceInfo,
.basket.verify form button:not(.continue):not(:has(svg)) {
  border-color: var(--colorGreyscale5);
  background-color: color-mix(in srgb, var(--colorGreyscale5), transparent 75%);

  &:hover,
  &:focus,
  &:active {
    border-color: var(--colorButton2BorderActiveColor);
    background-color: var(--colorGreyscale5);
  }
}
button.large:not(.continue) {
  font-weight: 600;
}

/* small list in left */
.left .articleItem.listItemSmall > a .articleDateTime, .articleItem.listItemSmall > div .articleDateTime {
  white-space: nowrap;
}

/* text item */
.articleDetail.text > div .articleMain .articleText:last-child {
  margin-bottom: 0;
}

/* headings */
.biblioItem {
  .biblioTitle a {
    color: var(--headingColor3);

    &:hover,
    &:focus {
      color: var(--colorDefault0);
    }
  }
  .biblioSubTitle {
    color: var(--colorDefault2);
  }
}
.biblio.detail .columnInfo .sectionTitles {
  .biblioTitle {
    line-height: 1.25;
  }
  .biblioSubTitle {
    margin-bottom: 0.8rem;
    line-height: 1.25;
    color: var(--colorDefault2);
    font-weight: 600;
  }
}
.articleItem .articleHeading a {
  color: var(--headingColor3);

  &:hover,
  &:focus {
    color: var(--colorDefault0);
  }
}

/* colored price */
.priceValid {
  color: var(--colorDefault1);
}
.biblio.detail .columnInfo .sectionPrice .priceValid {
  font-weight: 600;
}

/* more media */
.biblio.detail .columnCover .sectionCover .actions {
  right: auto;
  left: 0;

  .top {
    align-self: start;
  }
}

/* delemitors */
.authors .biblioAuthor + .biblioAuthor::before {
  content: ';';
  margin-left: 0;
}
.biblioProductInformation {
  .biblioPages,
  .biblioDuration,
  .biblioLanguage,
  .biblioId {
    margin-left: 0;

    &::before {
      content: ',';
    }
  }
}
.biblioPublishing > span + span:not(:empty)::before {
  content: ',';
  margin-left: 0;
}
.biblioPublishing > span:empty + span:not(:empty)::before {
  content: '';
  margin: 0;
}

/* header search */
.biblioSearch .formSearch form > div {
  .field-select {
    background-color: var(--colorGreyscale5);
  }
  button.confirm {
    background-color: var(--colorDefault2);

    &:hover,
    &:focus {
      background-color: var(--colorDefault1);
    }
    svg path {
      fill: var(--colorBackground);
    }
  }
}

/* alternative formats */
.alternativeFormats .formats > .active span,
.alternativeFormats .formats > .active .tile .product .biblioPriceRange .biblioPrice .priceValid > span {
  font-weight: 600;
}

/* animation item height */
@media screen and (min-width: 769px), print and (min-width: 300px) {
  .animation.biblioAnimation .biblioItem.listItem.presentationItem {
    height: 28rem;
  }
  .animation.biblioAnimation .biblioItem.listItem.blurbItem {
    height: 46rem;
  }
  .biblioItem.listItem.blurbItem > div .biblioTitle:not(h1) a {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
  }
}

/* biblio item article */
.biblioItem .biblioArticle {
  display: flex;
  flex-direction: column;

  .authors {
    margin: 0.4rem 0 0.4rem 0;
  }
  .biblioProductInformation {
    order: 1;
  }
}
.biblioItem.coverItem.coverItemPlus {
  height: 50rem;

  .gridArticle {
    height: 22.4rem;
  }
  .authors,
  .biblioPublishing {
    height: 2lh;
    min-width: 100%;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .authors .biblioAuthor + .biblioAuthor::before {
    content: '; ';
    margin: 0;
  }
}
.animation .panel > .positions .viewport:has(.biblioItem.coverItem.coverItemPlus) {
  gap: 3.2rem;
}

/* biblio detail highlights */
.biblio.detail .columnHighlights {
  .sectionGroups a {
    display: inline-block;
    padding-top: 0.4rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-color: var(--colorGreyscale5);
    background-color: color-mix(in srgb, var(--colorGreyscale5), transparent 75%);

    &:hover,
    &:focus,
    &:active {
      border-color: var(--colorButton2BorderActiveColor);
      background-color: var(--colorGreyscale5);
    }
  }
  .sectionStoreAvailability:has(.storeAvailability > div:empty) {
    display: none;
  }
}

/* biblio list item with empty store availabilty fix */
.biblioItem.listItem > div .sectionStoreAvailability:empty {
  display: none;
}

/* -------------------------- */
/* SJM Customizing            */
/* -------------------------- */

/* agb/dataproctection: the link itself more visible / mha 10.02.2026 */
.basketFooter .infoTermsAndPrivacy a,
.register .infoTermsAndPrivacy a {
	font-weight: bolder;
	border-bottom: 1px solid lightgray;
}

/* sidebar: wider if they contain a segmentation (search) or a menu. only for desktop view / mha 10.02.2026 */
@media screen and (min-width: 1400px) {
    div.main aside.left:has(search.boxSegmentation),
	div.main aside.left:has(menu)	{
        width: 32rem;
    }
}

/* event: disable teaser text (Anrisstext) on detail page / mha 10.02.2026 */
div.event section.overview .articleText {
	display: none;
}

/* search result: without "konditionen" button / mha 10.02.2026 */
div.biblioList .containerBasketRelated .biblioAdditionalPriceInfo button.additionalPriceInfo {
	display: none;
}

/* author list: remove images */
main.authorImageRemover .authorArticle span.articlePicture {
	display:none;
}

/* remove hover over author name */
main.authorImageRemover .articleItem.listItemSmall.authorArticle>div:hover {
	border-radius: 0;
    transition: none;
	background-color: transparent;
}
