/*
 * Ingolstadt erleben - Hummingbird child theme 1.0.2
 * Only site styling; Hummingbird 2.x core assets remain inherited.
 * Color references: legacy PrestaShop Classic custom.css.
 */
:root {
  --ie-blue: #1c3768;
  --ie-blue-deep: #182d55;
  --ie-footer: #334;
  --ie-gold: #d3b04c;
  --ie-gold-hover: #e3c05c;
  --ie-teal: #00789f;
  --ie-ink: #131a27;
  --ie-text: #eef2f8;
  --ie-muted: #cdd7e7;
  --ie-width: 1180px;
}

/* Base colors. Keep light-background form controls readable. */
body { background-color: var(--ie-footer); }
#wrapper, #main { background-color: var(--ie-blue); }
#wrapper { color: var(--ie-text); }
#wrapper a:not(.btn), #footer a:not(.btn) { color: #f0dfb0; }
#wrapper a:not(.btn):hover, #footer a:not(.btn):hover { color: #fff; }
#wrapper .breadcrumb, #wrapper .breadcrumb a { color: var(--ie-muted); }
#wrapper h1, #wrapper h2, #wrapper h3, #wrapper .h1, #wrapper .h2, #wrapper .h3 { color: #fff; }

/* Header: blue field, a slim contact strip, the bigger centered brand image. */
#header, .header-top, .header-bottom, .header-nav-full-width { background-color: var(--ie-blue); color: var(--ie-text); }
#header { box-shadow: none; }
.ie-header-top { background: var(--ie-blue-deep); border-bottom: 1px solid rgba(255,255,255,.13); font-size: .77rem; line-height: 1.35; }
.ie-header-top .row { min-height: 31px; }
.ie-header-top .header-top__left { padding-block: 5px; }
.ie-header-phone { color: #fff; white-space: nowrap; }
.ie-header-top .header-top__right { align-items: center; gap: .5rem; }
.ie-header-top a { color: var(--ie-text); }
.ie-header-top a:hover { color: var(--ie-gold-hover); }

/* Unlike the old Classic customization, only this flex row is changed. */
.header-bottom__container { padding-top: 16px; padding-bottom: 12px; }
.header-bottom__row { justify-content: center; align-items: center; row-gap: 0 !important; }
.header-bottom__row > .header-bottom__logo {
  flex: 0 0 100%; width: 100%; max-width: 100%;
  margin: 0 !important; justify-content: center !important;
  text-align: center; padding: 0 0 14px;
}
.header-bottom__logo a, .header-bottom__logo h1 { display: inline-flex; justify-content: center; align-items: center; }
.header-bottom__logo img { display: block; width: 350px !important; max-width: min(80vw, 350px) !important; height: auto !important; }

/* Main menu is still delivered by ps_mainmenu / displayTop. */
.header-bottom__row > #_desktop_top_menu,
.header-bottom__row > .menu,
.header-bottom__row > nav,
.header-bottom__row > .top-menu,
.header-bottom__row > .js-top-menu,
.header-bottom__row > .header-top-menu,
.header-bottom__row > .header-bottom__menu { flex: 0 1 auto; max-width: 100%; margin-inline: auto; }
#header .top-menu { justify-content: center; }
#header .top-menu a, #header .menu a { color: #e6d4bb; text-decoration: none; }
#header .top-menu a:hover, #header .menu a:hover { color: #fff; }
#header .top-menu > li > a, #header .top-menu a[data-depth="0"] {
  border-top: 1px solid #d8cdc6; padding-top: 8px;
}
#header a:focus-visible, #header button:focus-visible { outline: 2px solid var(--ie-gold); outline-offset: 3px; }
#header .header-block__action-btn, #header .header-block__icon { color: var(--ie-text); }
#header .header-block__badge { background-color: var(--ie-gold); color: var(--ie-ink); }

/* Home slider. The imported images stay where ps_imageslider already loads them. */
#index .ps-imageslider, body.page-index .ps-imageslider {
  width: calc(100% - 28px); max-width: var(--ie-width);
  margin: 16px auto 24px; overflow: hidden;
}
#index #ps_imageslider, body.page-index #ps_imageslider { overflow: hidden; }
#index #ps_imageslider .ps-imageslider__figure,
body.page-index #ps_imageslider .ps-imageslider__figure { margin: 0; }
#index #ps_imageslider .carousel-item img,
body.page-index #ps_imageslider .carousel-item img {
  display: block; width: 100% !important;
  height: clamp(220px, 29vw, 365px) !important;
  object-fit: cover; object-position: center center;
}
#index #ps_imageslider .carousel-indicators { margin-bottom: 8px; }
#index #ps_imageslider .carousel-control-prev,
#index #ps_imageslider .carousel-control-next { width: 8%; }

/* Yellow homepage information block, as in the original shop. */
#index #custom-text, #index .ps-customtext, #index .custom-text,
body.page-index #custom-text, body.page-index .ps-customtext {
  width: calc(100% - 28px); max-width: var(--ie-width);
  margin: 0 auto 30px; padding: 38px 24px;
  background: var(--ie-gold); color: var(--ie-ink);
  text-align: center; border-radius: 2px; box-shadow: none;
}
#index #custom-text p, #index .ps-customtext p, #index .custom-text p,
body.page-index #custom-text p, body.page-index .ps-customtext p {
  color: var(--ie-ink); margin-bottom: .85rem;
}
#index #custom-text p:last-child, #index .ps-customtext p:last-child,
body.page-index #custom-text p:last-child, body.page-index .ps-customtext p:last-child { margin-bottom: 0; }
#index #custom-text h1, #index #custom-text h2,
#index .ps-customtext h1, #index .ps-customtext h2 { color: var(--ie-ink); }

/* Footer based on the old dark gray, not the new default white. */
#footer, .footer-container, .footer-before, .footer-after { background: var(--ie-footer); color: var(--ie-text); }
#footer h2, #footer h3, #footer h4, #footer .h3, #footer .h4, #footer .block-contact-title { color: #fff; }
#footer p, #footer li, #footer .block-contact, #footer .text-muted { color: var(--ie-muted) !important; }
#footer a { text-decoration: none; }
#footer a:hover { text-decoration: underline; }

/* Restrained brand accents, leaving Bootstrap inputs and dialogs readable. */
.btn-primary, .btn-primary:not(:disabled):not(.disabled) {
  background-color: var(--ie-gold); color: var(--ie-ink); border-color: var(--ie-gold);
}
.btn-primary:hover, .btn-primary:focus-visible {
  background-color: var(--ie-gold-hover); color: var(--ie-ink); border-color: var(--ie-gold-hover);
}
@media (max-width: 767.98px) {
  .ie-header-top .header-top__left { text-align: center; padding-block: 6px; font-size: .72rem; }
  .header-bottom__container { padding-top: 12px; padding-bottom: 8px; }
  .header-bottom__row > .header-bottom__logo { padding-bottom: 8px; }
  .header-bottom__logo img { width: 270px !important; max-width: 73vw !important; }
  /* Preserve Hummingbird's mobile menu and cart controls. */
  #_mobile_ps_shoppingcart, #_mobile_ps_customersignin { margin-inline: 0; }
  #index .ps-imageslider, body.page-index .ps-imageslider { width: calc(100% - 20px); margin: 10px auto 16px; }
  #index #ps_imageslider .carousel-item img, body.page-index #ps_imageslider .carousel-item img {
    height: clamp(170px, 50vw, 280px) !important;
  }
  #index #custom-text, #index .ps-customtext, #index .custom-text,
  body.page-index #custom-text, body.page-index .ps-customtext {
    width: calc(100% - 20px); padding: 26px 16px; margin-bottom: 20px;
  }
}
@media (max-width: 370px) {
  .ie-header-phone { white-space: normal; }
  .header-bottom__logo img { max-width: 66vw !important; }
}

/* Target Hummingbird 2.x's actual ps_imageslider markup. */
body#index .ps-imageslider,
body.page-index .ps-imageslider {
  max-width: 1180px;
  width: calc(100% - 28px);
  margin: 16px auto 24px;
}
body#index .ps-imageslider .ps-imageslider__figure,
body.page-index .ps-imageslider .ps-imageslider__figure { margin: 0; }
body#index .ps-imageslider .carousel-item img,
body.page-index .ps-imageslider .carousel-item img {
  width: 100%;
  height: clamp(220px, 29vw, 365px) !important;
  object-fit: cover;
  object-position: center;
}
/* Don't let the dark site background bleed into product forms. */
#wrapper .card, #wrapper .product-information, #wrapper .checkout-step,
#wrapper .modal-content, #wrapper .dropdown-menu, #wrapper input,
#wrapper select, #wrapper textarea { color: var(--ie-ink); }
@media (max-width: 767.98px) {
  body#index .ps-imageslider .carousel-item img,
  body.page-index .ps-imageslider .carousel-item img {
    height: clamp(165px, 50vw, 280px) !important;
  }
}

/* INGOLSTADT SHELL FIX 104 */

/* Logo: richtige Proportionen */
#header .header-bottom__logo img {
    display: block;
    width: 350px !important;
    max-width: 80vw !important;
    height: 88px !important;
    max-height: none !important;
    object-fit: fill !important;
}

/* Hauptnavigation: helle Schrift */
#header #_desktop_top_menu .top-menu a,
#header .header-bottom__menu .top-menu a {
    color: #f4e8cf !important;
    opacity: 1 !important;
}

/* Hover */
#header #_desktop_top_menu .top-menu a:hover,
#header .header-bottom__menu .top-menu a:hover {
    color: #f5cc63 !important;
}

/* Untermenues: dunkle Schrift auf hellem Grund */
#header #_desktop_top_menu .sub-menu a {
    color: #182d55 !important;
}

/* Desktop: Logo oben, Menue darunter mittig */
@media (min-width: 1200px) {
    #header .header-bottom__row {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
    }

    #header .header-bottom__row > .header-bottom__logo {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: center;
    }

    #header .header-bottom__row > #_desktop_top_menu {
        grid-column: 2;
        grid-row: 2;
        justify-self: center;
    }
}

/* Mobile Logo */
@media (max-width: 767px) {
    #header .header-bottom__logo img {
        width: 270px !important;
        max-width: 73vw !important;
        height: 68px !important;
    }
}


/* INGOLSTADT MENU FIX 105 */

/* Helle Links auf dunkelblauem Hintergrund */
#header .header-bottom__row a:not(.header-block__action-btn) {
  color: #f4e8cf !important;
  opacity: 1 !important;
}

#header .header-bottom__row a:not(.header-block__action-btn):hover,
#header .header-bottom__row a:not(.header-block__action-btn):focus-visible {
  color: #f5cc63 !important;
}

/* Untermenues: dunkle Schrift auf hellem Hintergrund */
#header .header-bottom__row :is(.sub-menu, .dropdown-menu, .popover) a {
  color: #182d55 !important;
}

#header .header-bottom__row :is(.sub-menu, .dropdown-menu, .popover) a:hover {
  color: #00789f !important;
}

@media (min-width: 768px) {

  /* Header bekommt unter dem Logo eine eigene Menuezeile */
  #header .header-bottom__row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    align-items: center !important;
    row-gap: 8px !important;
  }

  #header .header-bottom__row > .header-bottom__logo {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    width: 100% !important;
  }

  /* Hauptnavigation unabhaengig von der Wrapper-Klasse */
  #header .header-bottom__row > :is(
    #_desktop_top_menu,
    .menu,
    nav,
    [class*="mainmenu"],
    :has(ul)
  ) {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    margin-inline: auto !important;
    width: max-content !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  #header .header-bottom__row > :is(
    #_desktop_top_menu,
    .menu,
    nav,
    [class*="mainmenu"],
    :has(ul)
  ) ul[data-depth="0"] {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  /* Suche getrennt vom Menue positionieren */
  #header .header-bottom__row > :is(
    #search_widget,
    .search-widget,
    .js-search-widget,
    [class*="searchbar"],
    [class*="search-widget"]
  ) {
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-self: end !important;
    margin-left: auto !important;
  }
}

@media (min-width: 1200px) {

  /* Suche rechts neben dem Logo, Menue darunter */
  #header .header-bottom__row > :is(
    #search_widget,
    .search-widget,
    .js-search-widget,
    [class*="searchbar"],
    [class*="search-widget"]
  ) {
    grid-column: auto !important;
    grid-row: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 16px !important;
  }
}



/* IE FOOTER CSS 106 */

#footer,
#footer .footer__main {
    background-color: #334 !important;
}

#footer .footer__main {
    padding-top: 26px;
    padding-bottom: 14px;
}

#footer .footer__main-top {
    margin-bottom: 12px;
    row-gap: 12px;
}

#footer .footer-block__title {
    font-size: .9rem;
    font-weight: 700;
    color: #fff;
}

#footer .footer-block__content,
#footer .footer-block__content address,
#footer .footer-block__content a,
#footer .ie-footer-phone {
    font-size: .85rem;
    line-height: 1.45;
}

#footer .footer-block__content address {
    margin-bottom: .5rem;
}

#footer .ps-contactinfo {
    border-left: 1px solid rgba(255,255,255,.6);
    padding-left: 22px;
}

#footer .ie-vat-note {
    text-align: center;
    color: #fff;
    font-size: .79rem;
    margin: 14px 0 4px;
}

#footer .copyright {
    text-align: center;
    margin: 0;
    padding: 0;
}

#footer .copyright a {
    font-size: .8rem;
}

@media (max-width: 767.98px) {
    #footer .ps-contactinfo {
        border-left: none;
        padding-left: 12px;
    }

    #footer .footer__main {
        padding-top: 18px;
    }
}

/* IE CATEGORY 107: Kategorie & Produktkacheln */

/* Breadcrumbs nur in Kategorien verstecken */
body:is(#category,.page-category) .breadcrumb__wrapper {
  display:none !important;
}

/* Sortierung ausblenden, Filter bleiben erhalten */
body:is(#category,.page-category) #js-product-list-top .products__sort-label,
body:is(#category,.page-category) #js-product-list-top .products__sort-dropdown {
  display:none !important;
}

body:is(#category,.page-category) #js-product-list-top .products__count {
  color:#e8edf7;
}

/* Tuerkiser Hintergrund fuer das Kategoriebild */
body:is(#category,.page-category) .category__cover {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  padding:14px;
  background:#00789f;
  border-radius:2px;
  overflow:hidden;
  box-shadow:0 2px 7px #0004;
}

body:is(#category,.page-category) .category__cover-image {
  display:block;
  width:auto;
  height:auto;
  max-height:280px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}

/* Vier Produktkacheln auf Desktop */
body:is(#category,.page-category) #js-product-list .products {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

/* Dunkle Produktkarten */
body:is(#category,.page-category) #js-product-list .product-miniature {
  display:block;
  min-width:0;
  width:100%;
  margin:0;
  position:relative;
  background:#222;
  border:0;
  border-radius:2px;
  overflow:hidden;
  box-shadow:2px 3px 8px #0005;
}

body:is(#category,.page-category) #js-product-list .product-miniature__inner {
  display:flex;
  flex-direction:column;
  height:100%;
  background:#222;
}

/* Quadratischer Bildbereich */
body:is(#category,.page-category) #js-product-list .product-miniature__top {
  aspect-ratio:1;
  position:relative;
  overflow:hidden;
  flex:none;
  background:#222;
}

body:is(#category,.page-category) #js-product-list :is(
  .product-miniature__image-container,
  .product-miniature__image-link,
  .product-miniature__image-link picture
) {
  display:block;
  width:100%;
  height:100%;
  background:#222;
}

body:is(#category,.page-category) #js-product-list .product-miniature__image {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Gelber Titel- und Preisbereich */
body:is(#category,.page-category) #js-product-list .product-miniature__bottom {
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:center;
  min-height:82px;
  padding:11px 8px;
  text-align:center;
  background:#d3b04c;
  color:#101010;
}

body:is(#category,.page-category) #js-product-list .product-miniature__infos {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  width:100%;
  padding:0;
  margin:0;
}

body:is(#category,.page-category) #js-product-list .product-miniature__title {
  position:static;
  display:block;
  margin:0;
  text-align:center;
  color:#101010 !important;
  font-size:.82rem;
  line-height:1.35;
  font-weight:500;
  text-decoration:none;
}

body:is(#category,.page-category) #js-product-list :is(
  .product-miniature__prices,
  .product-miniature__price
) {
  color:#101010 !important;
  font-size:.84rem;
  font-weight:700;
  line-height:1.35;
  margin:0;
  padding:0;
}

/* Ganze Produktkachel anklickbar */
body:is(#category,.page-category) #js-product-list .product-miniature__title::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
}

/* Alte Kacheln ohne Schnellkauf-Buttons */
body:is(#category,.page-category) #js-product-list :is(
  .product-miniature__actions,
  .product-miniature__quickview,
  .product-miniature__variants
) {
  display:none !important;
}

/* Lagerhinweise bleiben sichtbar */
body:is(#category,.page-category) #js-product-list .product-flags {
  z-index:3;
}

/* Tablets */
@media(max-width:1050px) {
  body:is(#category,.page-category) #js-product-list .products {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Kleine Tablets und Smartphones */
@media(max-width:760px) {
  body:is(#category,.page-category) #js-product-list .products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  body:is(#category,.page-category) .category__cover {
    padding:8px;
  }
}

/* Sehr schmale Smartphones */
@media(max-width:420px) {
  body:is(#category,.page-category) #js-product-list .products {
    grid-template-columns:minmax(0,1fr);
  }
}


/* IE CATEGORY FIX 108 */

/* Kategoriebild ohne Rahmen, linksbuendig */
body:is(#category,.page-category) .category__cover {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body:is(#category,.page-category) .category__cover picture {
    display: block !important;
    flex: 0 1 auto !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body:is(#category,.page-category) .category__cover-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 280px !important;
    object-fit: contain !important;
    object-position: left top !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Oberen Produktzaehler entfernen */
body:is(#category,.page-category)
#js-product-list-top .products__count {
    display: none !important;
}

/* Unteren Produktzaehler lesbar machen */
body:is(#category,.page-category)
#js-product-list .pagination__number {
    color: #f4e8cf !important;
    opacity: 1 !important;
    font-size: .85rem;
}

/* Etwas weniger Abstand nach der Kategoriegrafik */
body:is(#category,.page-category) .category__header {
    margin-bottom: 20px;
}



/* IE PRODUCT PAGE 109 -- nur Produktdetailseiten */
body#product .breadcrumb__wrapper { display: none !important; }

@media (min-width: 992px) {
  body#product .product__container {
    display: grid !important;
    grid-template-columns: minmax(0, 41%) minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 40px !important;
  }
  body#product .product__container > .product__left,
  body#product .product__container > .product__right {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body#product .product__container > .product__left {
    max-width: 420px !important;
    justify-self: start;
  }
}

/* Galerie nicht kuenstlich auf volle Breite ziehen */
body#product .product__images,
body#product .product__carousel,
body#product .product__no-image { max-width: 100%; }
body#product .product__carousel .carousel-item picture,
body#product .product__carousel .carousel-item img {
  display: block;
  width: 100% !important;
  height: auto !important;
}
body#product .product__carousel .carousel-item img,
body#product .product__no-image img {
  max-height: 450px;
  object-fit: contain;
}
body#product .product__thumbnails { margin-top: 12px; }
body#product .product__thumbnail {
  border: 1px solid #00789f;
  border-radius: 0;
}

/* Titel, Preis, Beschreibung und Kaufen wie beim alten Shop */
body#product .product__name {
  color: #fff !important;
  font-size: clamp(1.25rem, 2vw, 1.6rem) !important;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 16px;
}
body#product .product__price {
  color: #17b5d6 !important;
  font-weight: 700;
}
body#product .product__tax-infos,
body#product .product__tax-label,
body#product .product__description-short,
body#product .product__description-short p,
body#product .product-variant__legend,
body#product .product-variant__selected {
  color: #f1f4fb !important;
}
body#product .product__description-short { line-height: 1.5; margin-top: 16px; }
body#product .product__description-short p { margin-bottom: 12px; }
body#product .product__right a:not(.btn) { color: #f2d780; }

/* Varianten gut lesbar und kompakt */
body#product .product__variants { margin-block: 18px 14px; }
body#product .product-variant__radios { gap: 7px; }
body#product .product-variant__radio .btn {
  background: #00789f;
  border: 1px solid #0b99bf;
  border-radius: 0;
  color: #fff;
  font-size: .86rem;
}
body#product .product-variant__radio input:checked + .btn,
body#product .product-variant__radio .btn:hover {
  background: #d3b04c;
  border-color: #d3b04c;
  color: #101010;
}
body#product .product__actions-qty-add { gap: 10px; flex-wrap: wrap; }
body#product .product__add-to-cart-button {
  background: #d3b04c;
  border-color: #d3b04c;
  color: #101010;
  font-weight: 700;
}
body#product .product__add-to-cart-button:hover { background: #e3c05c; }

/* Beschreibung aus Hummingbird unveraendert in die rechte Spalte versetzt */
body#product .ie-product-extra {
  margin-top: 26px;
  background: #00789f;
  padding: 16px 20px;
  color: #fff;
}
body#product .ie-product-extra .product__bottom-left {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body#product .ie-product-extra .product__accordion,
body#product .ie-product-extra .accordion-item,
body#product .ie-product-extra .js-product-details,
body#product .ie-product-extra .accordion-collapse,
body#product .ie-product-extra .accordion-body {
  background: transparent !important;
  border-color: rgba(255,255,255,.25) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body#product .ie-product-extra .accordion-button {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: .91rem;
  font-weight: 700;
  padding: 12px 8px;
}
body#product .ie-product-extra .accordion-button:not(.collapsed) {
  background: #fff !important;
  color: #00789f !important;
}
body#product .ie-product-extra .accordion-button::after { filter: grayscale(1) brightness(3); }
body#product .ie-product-extra .accordion-button:not(.collapsed)::after { filter: none; }
body#product .ie-product-extra .accordion-body { padding: 14px 6px; line-height: 1.5; }
body#product .ie-product-extra :is(p, li, span, strong, .details__title) { color: inherit; }
body#product .ie-product-extra a { color: #fff !important; text-decoration: underline; }

/* Freigewordener Reassurance-Block bleibt unterhalb, falls ein Modul ihn benutzt */
body#product .product__bottom { margin-top: 15px; }
body#product .product__bottom:not(:has(.product__bottom-right > *)) { display: none; }

/* Alte Produktseite hatte keine Share-Buttons */
body#product .social-sharing { display: none !important; }

@media (max-width: 991.98px) {
  body#product .product__container {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  body#product .product__left,
  body#product .product__right {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
  body#product .product__images { max-width: 560px; margin-inline: auto; }
  body#product .ie-product-extra { margin-top: 22px; }
}
@media (max-width: 575.98px) {
  body#product .product__name { font-size: 1.24rem !important; }
  body#product .ie-product-extra { padding: 10px 12px; }
}

/* IE PRODUCT 110: Menge und Tabs */
body#product .product__actions-qty-add .quantity-button__group {
  border: 1px solid #0a94b7 !important; border-radius: 2px;
  background: #fff; overflow: hidden; box-shadow: none !important;
}
body#product .product__actions-qty-add .quantity-button__group > button.btn {
  background: #00789f !important; color: #fff !important;
  border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; min-width: 38px;
}
body#product .product__actions-qty-add .quantity-button__group > button.btn:hover:not(:disabled) {
  background: #089fc1 !important;
}
body#product .product__actions-qty-add .quantity-button__group > button.btn .material-icons {
  color: #fff !important;
}
body#product .product__actions-qty-add .quantity-button__group > .form-control {
  width: 54px; min-width: 50px; background: #fff !important;
  color: #161616 !important; text-align: center;
  border: 0 !important; box-shadow: none !important;
}
body#product .ie-product-extra .ie-tabs__nav {
  display: flex; flex-wrap: wrap; gap: 5px;
  border-bottom: 1px solid #fff; margin-bottom: 12px;
}
body#product .ie-product-extra .ie-tabs__button {
  padding: 10px 12px; border: 0; border-radius: 0;
  background: transparent; color: #fff; font-size: .9rem;
  font-weight: 700; cursor: pointer;
}
body#product .ie-product-extra .ie-tabs__button[aria-selected="true"] {
  background: #fff; color: #00789f;
}
body#product .ie-product-extra .ie-tabs__button:hover,
body#product .ie-product-extra .ie-tabs__button:focus-visible {
  background: #f1d582; color: #19365d;
}
body#product .ie-product-extra .ie-tabs__button:focus-visible {
  outline: 2px solid #fff; outline-offset: -2px;
}
body#product .ie-product-extra #product_accordion.ie-tabs-ready .accordion-header {
  display: none !important;
}
body#product .ie-product-extra #product_accordion.ie-tabs-ready .accordion-item {
  background: transparent !important; border: 0 !important;
}
body#product .ie-product-extra #product_accordion.ie-tabs-ready .accordion-item[hidden] {
  display: none !important;
}
body#product .ie-product-extra #product_accordion.ie-tabs-ready .accordion-collapse {
  display: block !important; height: auto !important; visibility: visible !important;
}
body#product .ie-product-extra #product_accordion.ie-tabs-ready .accordion-body {
  padding: 4px 2px 12px;
}

/* IE PRODUCT FIX 111 */

/* Thumbnails nur bei einem einzigen Produktbild entfernen */
body#product .product__thumbnails:has(
  .product__thumbnails-item:only-child
) {
  display: none !important;
}

/* Artikeldetails: weisse Hintergruende beseitigen */
body#product .ie-product-extra .js-product-details,
body#product .ie-product-extra .details__list,
body#product .ie-product-extra .details__item,
body#product .ie-product-extra .details__left,
body#product .ie-product-extra .details__right {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.2) !important;
}

/* Alle Bezeichnungen und Werte lesbar machen */
body#product .ie-product-extra .details__list
:is(span, strong, small, p, .details__title) {
  color: #fff !important;
  background: transparent !important;
}

/* Links in Artikeldetails */
body#product .ie-product-extra .details__list a {
  color: #ffe39a !important;
}

/* Dezente Trennlinien zwischen Artikelmerkmalen */
body#product .ie-product-extra .details__item {
  padding: 8px 4px;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
}

/* Letzter Eintrag ohne Trennlinie */
body#product .ie-product-extra .details__item:last-child {
  border-bottom: 0 !important;
}


/* IE CART FIX 112 */

/* Breadcrumbs im Warenkorb ausblenden */
body#cart .breadcrumb__wrapper,
body#cart .breadcrumb-container,
body#cart nav.breadcrumb,
body#cart nav[aria-label="breadcrumb"],
body#cart .breadcrumb {
    display: none !important;
}

/* Gutscheinbereich */
body#cart .cart-summary__voucher.cart-voucher,
body#cart .cart-voucher__accordion,
body#cart .cart-voucher__accordion-item,
body#cart .cart-voucher__accordion-collapse,
body#cart .cart-voucher__accordion-collapse .accordion-body {
    background: #00789f !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.2) !important;
    box-shadow: none !important;
}

body#cart .cart-summary__voucher.cart-voucher {
    padding: 12px;
    border-radius: 3px;
}

/* Promo-Code aufklappen */
body#cart .cart-voucher__accordion-button,
body#cart .cart-voucher__accordion-button:not(.collapsed) {
    background: #00789f !important;
    color: #fff !important;
    box-shadow: none !important;
}

body#cart .cart-voucher__accordion-button:hover {
    background: #006b90 !important;
}

body#cart .cart-voucher__accordion-button::after {
    filter: brightness(0) invert(1);
}

/* Promo-Code-Eingabefeld */
body#cart .cart-voucher__form .form-control {
    background: #1c3768 !important;
    color: #fff !important;
    border: 1px solid #8acbdb !important;
    box-shadow: none !important;
}

body#cart .cart-voucher__form .form-control::placeholder {
    color: #d8e8ef !important;
    opacity: 1;
}

body#cart .cart-voucher__form .form-control:focus {
    border-color: #d3b04c !important;
    outline: 2px solid #d3b04c;
    outline-offset: 1px;
}

/* Gutschein-Einloesebutton */
body#cart .cart-voucher__form .btn-primary {
    background: #d3b04c !important;
    color: #111 !important;
    border-color: #d3b04c !important;
}

/* Bereits eingeloeste Gutscheine */
body#cart .cart-voucher__list,
body#cart .cart-voucher__list .cart-summary__label,
body#cart .cart-voucher__list .cart-summary__value {
    color: #fff !important;
}

/* ===================================
   WARENKORB-POPUP
   =================================== */

/* Grundflaeche */
#blockcart-modal .modal-content {
    background: #1c3768 !important;
    color: #f4e8cf !important;
    border: 1px solid #547096 !important;
    box-shadow: 0 15px 45px rgba(0,0,0,.45);
}

/* Gelber Kopfbereich wie im alten Shop */
#blockcart-modal .modal-header {
    background: #d3b04c !important;
    color: #151515 !important;
    border: 0 !important;
}

#blockcart-modal .modal-header .modal-title,
#blockcart-modal .modal-header .blockcart-modal__title,
#blockcart-modal .modal-header .blockcart-modal__title-icon {
    color: #151515 !important;
}

#blockcart-modal .modal-header .btn-close {
    opacity: .85;
    filter: none;
}

/* Dunkelblauer Inhalt und Fussbereich */
#blockcart-modal .modal-body,
#blockcart-modal .modal-footer {
    background: #1c3768 !important;
    color: #f4e8cf !important;
}

#blockcart-modal .modal-footer {
    border-top: 1px solid rgba(255,255,255,.18) !important;
}

/* Produktdaten, Zusammenfassung und Summen */
#blockcart-modal .modal-body .blockcart-modal__name,
#blockcart-modal .modal-body .blockcart-modal__quantity,
#blockcart-modal .modal-body .blockcart-modal__property,
#blockcart-modal .modal-body .blockcart-modal__nb-products,
#blockcart-modal .modal-body .blockcart-modal__total,
#blockcart-modal .modal-body .blockcart-modal__total span,
#blockcart-modal .modal-body .blockcart-modal__total .label,
#blockcart-modal .modal-body .blockcart-modal__total .value {
    color: #f4e8cf !important;
}

#blockcart-modal .blockcart-modal__price {
    color: #f4d16d !important;
}

/* Einkauf fortsetzen */
#blockcart-modal .modal-footer .btn-outline-primary {
    background: transparent !important;
    color: #fff !important;
    border-color: #d3b04c !important;
}

#blockcart-modal .modal-footer .btn-outline-primary:hover {
    background: #00789f !important;
    color: #fff !important;
}

/* Zur Kasse */
#blockcart-modal .modal-footer .btn-primary {
    background: #d3b04c !important;
    color: #151515 !important;
    border-color: #d3b04c !important;
}

#blockcart-modal .modal-footer .btn-primary:hover {
    background: #ebc860 !important;
    border-color: #ebc860 !important;
}


/* IE CART FIX 113 */

/* Einkauf fortsetzen: gelber Rahmen, helle Schrift */
body#cart a.cart__continue-shopping.btn {
    color: #ffffff !important;
    background: transparent !important;
    border: 1px solid #d3b04c !important;
    font-weight: 500;
    opacity: 1 !important;
}

body#cart a.cart__continue-shopping.btn:hover,
body#cart a.cart__continue-shopping.btn:focus-visible {
    color: #151515 !important;
    background: #d3b04c !important;
    border-color: #d3b04c !important;
}

/* Pfeil im Button */
body#cart a.cart__continue-shopping.btn .material-icons {
    color: inherit !important;
}

/* Erfolgsmeldung beim Entfernen */
body#cart .js-cart-update-alert .alert-success {
    background: #d3e9df !important;
    color: #163b2d !important;
    border: 1px solid #8bbca5 !important;
}

/* Alle Texte innerhalb der Erfolgsmeldung */
body#cart .js-cart-update-alert .alert-success
:is(span, p, strong) {
    color: #163b2d !important;
}

/* Produktlink deutlich hervorheben */
body#cart .js-cart-update-alert .alert-success a,
body#cart .js-cart-update-alert .alert-success a:visited {
    color: #124d39 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

body#cart .js-cart-update-alert .alert-success a:hover {
    color: #092e20 !important;
}

/* Schliessen-Button sichtbar lassen */
body#cart .js-cart-update-alert .alert-success .btn-close {
    opacity: .75 !important;
}


/* IE OPC DESIGN 114 */

body#checkout .breadcrumb__wrapper {
    display:none!important;
}

/* Formularbereiche */
body#checkout :is(
    .one-page-checkout__section,
    .js-opc-payment-section,
    .one-page-checkout__footer
) {
    background:#00789f!important;
    color:#fff!important;
    padding:1.2rem!important;
    margin-bottom:1rem;
    border:0!important;
    border-radius:3px;
}

body#checkout :is(
    .one-page-checkout__section,
    .js-opc-payment-section,
    .one-page-checkout__footer
) :is(h2,h3,label,legend,p,.form-text) {
    color:#fff!important;
}

/* Links */
body#checkout :is(
    .one-page-checkout__section,
    .js-opc-payment-section,
    .one-page-checkout__footer
) a {
    color:#ffe39b!important;
}

body#checkout :is(
    .one-page-checkout__section,
    .js-opc-payment-section,
    .one-page-checkout__footer
) a:hover {
    color:#fff!important;
}

/* Eingabefelder */
body#checkout .one-page-checkout :is(.form-control,.form-select),
body#checkout :is(#modal-delivery,#modal-invoice)
:is(.form-control,.form-select) {
    background:#fff!important;
    color:#182c46!important;
    border:1px solid #aab9c7!important;
}

body#checkout .one-page-checkout
:is(.form-control,.form-select):focus {
    border-color:#d3b04c!important;
    outline:2px solid #d3b04c;
}

/* Versand- und Zahlungsoptionen */
body#checkout .one-page-checkout
:is(.opc-address-item,.delivery-option__item),
body#checkout .js-opc-payment-section .payment-option {
    background:#1c3768!important;
    color:#fff!important;
    border:1px solid #6985a5!important;
    padding:.7rem;
    margin-bottom:.5rem;
}

body#checkout :is(
    .delivery-option__label,
    .delivery-option__price,
    .payment-option__label
) {
    color:#fff!important;
}

/* Bestellbuttons */
body#checkout :is(
    #opc-pay-button,
    .one-page-checkout__section .btn-primary
) {
    background:#d3b04c!important;
    color:#151515!important;
    border-color:#d3b04c!important;
}

body#checkout #opc-pay-button:disabled {
    opacity:.65;
}

/* Adress-Popups */
body#checkout :is(#modal-delivery,#modal-invoice) .modal-content {
    background:#00789f!important;
    color:#fff!important;
}

body#checkout :is(#modal-delivery,#modal-invoice) .modal-header {
    background:#d3b04c!important;
    color:#151515!important;
}

body#checkout :is(#modal-delivery,#modal-invoice) .modal-body label {
    color:#fff!important;
}

/* Bestellzusammenfassung */
body#checkout .checkout-grid__aside
:is(.cart-summary,.accordion-item,.accordion-button) {
    background:#1c3768!important;
    color:#fff!important;
    border-color:#6985a5!important;
}

/* Mobil */
@media(max-width:767px) {
    body#checkout :is(
        .one-page-checkout__section,
        .js-opc-payment-section,
        .one-page-checkout__footer
    ) {
        padding:.8rem!important;
    }
}

/* IE OPC CONTRAST 115 */

/* Varianten und Zusatzinformationen in der Bestelluebersicht */
body#checkout :is(
    .cart-summary,
    .order-summary,
    .one-page-checkout__summary
) :is(
    .product-attributes,
    .product-line-info,
    [class*="product-attribute"],
    [class*="product-variant"],
    .text-muted,
    .text-body-secondary
),
body#checkout :is(
    .cart-summary,
    .order-summary,
    .one-page-checkout__summary
) :is(
    .product-attributes,
    .product-line-info,
    [class*="product-attribute"],
    [class*="product-variant"]
) * {
    color: #f1f5fa !important;
    opacity: 1 !important;
}

/* Beschreibung der Versandart */
body#checkout .one-page-checkout :is(
    .delivery-option,
    .carrier,
    .opc-carrier,
    .one-page-checkout__carrier
) :is(
    .carrier-delay,
    .carrier-description,
    .carrier-info,
    [class*="description"],
    .text-muted,
    .text-body-secondary
) {
    color: #f1f5fa !important;
    opacity: 1 !important;
}


/* IE OPC CONTRAST 116 */

/* Versandbeschreibung */
body#checkout .delivery-option__content,
body#checkout .delivery-option__content * {
    color: #f1f5fa !important;
    opacity: 1 !important;
}

/* Artikelvarianten in der Bestellzusammenfassung */
body#checkout .cart-summary-product__attributes,
body#checkout .cart-summary-product__attribute,
body#checkout .cart-summary-product__attribute .label,
body#checkout .cart-summary-product__attribute .value {
    color: #f1f5fa !important;
    opacity: 1 !important;
}


/* IE CONFIRMATION COLORS 117 */

/* Breadcrumb sicherheitshalber ausblenden */
body#order-confirmation .breadcrumb__wrapper {
    display: none !important;
}

/* Erfolgreiche Bestellung */
body#order-confirmation .alert-success {
    background: #d4ede2 !important;
    border: 1px solid #a4d3bd !important;
    color: #174936 !important;
    border-radius: 5px;
}

body#order-confirmation .alert-success :is(
    h1, h2, h3, h4, h5, h6,
    .page-title-section__title,
    p, a, strong
) {
    color: #174936 !important;
}

/* Bankueberweisungs-Informationen */
body#order-confirmation .alert-info {
    background: #d1eff9 !important;
    border: 1px solid #85cadf !important;
    color: #12435b !important;
    border-radius: 5px;
}

body#order-confirmation .alert-info :is(
    h1, h2, h3, h4, h5, h6,
    p, span, strong, small, a, li
) {
    color: #12435b !important;
}

/* Bestelldetails: weisse Karte, dunkelblaue Schrift */
body#order-confirmation .order-confirmation__details {
    background: #ffffff !important;
    color: #203957 !important;
    border-radius: 5px;
}

body#order-confirmation .order-confirmation__details h2,
body#order-confirmation .order-confirmation__details h3 {
    color: #00789f !important;
}

body#order-confirmation .order-confirmation__details :is(
    .order-confirmation__details-list,
    .order-confirmation__product-content,
    .order-confirmation__product-details,
    .order-confirmation__product-total,
    .order-confirmation__line-label,
    .order-confirmation__line-value,
    .order-confirmation__product-link
) {
    color: #203957 !important;
}

/* Trennlinien */
body#order-confirmation .order-confirmation__details hr {
    border-color: #b7c8d5 !important;
    opacity: 1;
}



/* IE CONFIRMATION COLORS 118: Originalfarben des Classic-Shops 1.7.3.2 */
body#order-confirmation {
    --ie-old-navy: #1c3768;
    --ie-old-turquoise: #00789f;
    --ie-old-gold: #d3b04c;
    --ie-old-text: #d9e0ec;
}

/* Erfolg, Zahlungsanweisung und Bestellkarte: alte tuerkise Karten */
body#order-confirmation :is(.alert-success, .alert-info.dbxbankwire-instructions,
                             .order-confirmation__details.card) {
    background: var(--ie-old-turquoise) !important;
    border: 1px solid #188eae !important;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, .28) !important;
    color: #fff !important;
    border-radius: 4px;
}
body#order-confirmation :is(.alert-success, .dbxbankwire-instructions,
                             .order-confirmation__details) :is(
    h1, h2, h3, h4, h5, h6, p, span, strong, small, li,
    .order-confirmation__line, .order-confirmation__line-label,
    .order-confirmation__line-value, .order-confirmation__product,
    .order-confirmation__product-attribute, .order-confirmation__product-details,
    .order-confirmation__product-total, .order-confirmation__subtotals,
    .order-confirmation__totals, .order-details) {
    color: #fff !important;
    opacity: 1 !important;
}
body#order-confirmation :is(.alert-success, .dbxbankwire-instructions,
                             .order-confirmation__details) a {
    color: #fff !important;
    text-decoration: underline;
}
body#order-confirmation :is(.alert-success, .dbxbankwire-instructions,
                             .order-confirmation__details) a:hover {
    color: var(--ie-old-gold) !important;
}
body#order-confirmation .dbxbankwire-account {
    background: var(--ie-old-navy) !important;
    border: 1px solid var(--ie-old-gold) !important;
    border-radius: 3px;
}
body#order-confirmation .dbxbankwire-account h4 {
    color: var(--ie-old-gold) !important;
}
body#order-confirmation .order-confirmation__details :is(hr, .alert-divider) {
    border-color: #b5d8e3 !important;
    opacity: .65 !important;
}
/* No guest account upsell and no breadcrumb on confirmation. */
body#order-confirmation :is(.breadcrumb__wrapper,
                             .order-confirmation__account-transformation) {
    display: none !important;
}
