/* ArmbrusterBrennerei Design – ruhige, grossformatige Produktdarstellung */

:root {
  --armbruster-accent: #b80043;
  --armbruster-text: #171717;
  --armbruster-muted: #6b6b6b;
  --armbruster-surface: #ffffff;
  --armbruster-page-bg: #edc8a4;
  --armbruster-image-bg: #ffffff;
  --armbruster-line: #e7e7e4;
}

/* Startseite: exakt dasselbe dreispaltige Produktraster wie im Katalog. */
.template-index .armbruster-home-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px 34px;
  width: 100%;
  max-width: 1200px;
  margin: 30px auto 0;
}

.template-index .armbruster-home-products .astor-collection__item {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--armbruster-line);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.template-index .armbruster-home-products .astor-collection__item > a,
.template-index .armbruster-home-products .astor-product-media,
.template-index .armbruster-home-products .astor-collection-details {
  height: auto;
  background: #fff !important;
}

.template-index .armbruster-home-products .astor-product-media__image {
  height: clamp(390px, 35vw, 520px);
  padding-top: 0;
  align-items: center;
}

.template-index .armbruster-home-products .astor-product-media__image img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  padding: 28px;
  object-fit: contain;
  object-position: center;
  transition: transform 250ms ease;
}

.template-index .armbruster-home-products .astor-collection-details {
  min-height: 150px;
  padding: 22px 24px 25px;
  color: var(--armbruster-text);
  text-align: left;
}

.template-index .armbruster-home-products .astor-collection-details__title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .035em;
  text-align: left;
  text-transform: uppercase !important;
}

.template-index .armbruster-home-products .astor-collection-details__conditions,
.template-index .armbruster-home-products .astor-collection-details__meta {
  width: 100%;
  text-align: left;
  justify-content: flex-start;
}

.template-index .armbruster-home-products .astor-collection__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.template-index .armbruster-home-products .astor-collection__item:hover img {
  transform: scale(1.035);
}

/* Suchergebnisse im gleichen Raster und Kartenstil wie der Online-Shop. */
.template-search {
  background: var(--armbruster-page-bg);
}

.template-search .armbruster-search-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px 34px;
  width: 100%;
  max-width: 1200px;
  margin: 30px auto 0;
}

.template-search .armbruster-search-products .astor-collection__item {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--armbruster-line);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.template-search .armbruster-search-products .astor-collection__item > a,
.template-search .armbruster-search-products .astor-product-media,
.template-search .armbruster-search-products .astor-collection-details {
  height: auto;
  background: #fff !important;
}

.template-search .armbruster-search-products .astor-product-media__image {
  height: clamp(390px, 35vw, 520px);
  padding-top: 0;
  align-items: center;
}

.template-search .armbruster-search-products .astor-product-media__image img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  padding: 28px;
  object-fit: contain;
  object-position: center;
  transition: transform 250ms ease;
}

.template-search .armbruster-search-products .astor-collection-details {
  min-height: 150px;
  padding: 22px 24px 25px;
  color: var(--armbruster-text);
  text-align: left;
}

.template-search .armbruster-search-products .astor-collection-details__title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .035em;
  text-align: left;
  text-transform: uppercase !important;
}

.template-search .armbruster-search-products .astor-collection-details__conditions,
.template-search .armbruster-search-products .astor-collection-details__meta {
  width: 100%;
  text-align: left;
  justify-content: flex-start;
}

.template-search .armbruster-search-products .astor-collection__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.template-search .armbruster-search-products .astor-collection__item:hover img {
  transform: scale(1.035);
}

/* Kauf-CTA erscheint beim Überfahren der Kachel. */
.armbruster-card-buy {
  display: block;
  max-height: 0;
  margin-top: 0;
  padding: 0 18px;
  overflow: hidden;
  background: #624e42;
  color: #fff;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 44px;
  text-align: center;
  text-transform: uppercase;
  opacity: 0;
  transition: max-height 180ms ease, opacity 180ms ease, margin-top 180ms ease;
}

.astor-collection__item:hover .armbruster-card-buy,
.astor-collection__item:focus-within .armbruster-card-buy {
  max-height: 44px;
  margin-top: 14px;
  opacity: 1;
}

/* Footer und Newsletter. */
.astor-footer {
  background: #624e42 !important;
  color: #fff !important;
}

.astor-footer h1, .astor-footer h2, .astor-footer h3, .astor-footer h4,
.astor-footer p, .astor-footer li, .astor-footer label,
.astor-footer a, .astor-footer a:hover, .astor-footer a:focus {
  color: #fff !important;
}

.astor-footer a {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.astor-footer__newsletter,
.astor-footer__newsletter > div,
.astor-footer__newsletter form,
.template-index .index-section .input-group--center-max {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

/* Newsletter als eigene, volle Zeile unter der Fußnavigation. */
.astor-footer__content > .astor-columns {
  display: flex;
  flex-wrap: wrap;
}

.astor-footer__item--newsletter {
  order: 99;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 34px auto 0 !important;
  padding-top: 30px;
  border-top: 1px solid rgba(255,255,255,.28);
  text-align: center;
}

.astor-footer__item--newsletter h3,
.astor-footer__item--newsletter .astor-footer__newsletter {
  width: 100%;
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.astor-footer__item--newsletter .input-group {
  width: 100%;
  max-width: 620px;
  margin-right: auto;
  margin-left: auto;
}

.astor-footer__newsletter form,
.template-index .index-section .input-group--center-max {
  width: 100%;
  max-width: 620px;
}

/* Katalog: nur Navigation und Bedienung, ohne Titel oder Produktanzahl. */
.template-collection .astor-section-header__title,
.template-collection .filters-toolbar__item--count,
.template-collection .storefront-filter--sidebar details summary span:last-child {
  display: none !important;
}

.template-collection .astor-section-header__filter {
  margin-top: 0;
}

.template-collection .filters-toolbar__item-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.template-collection #label.filters-toolbar__label,
.template-collection .filters-toolbar__input-wrapper,
.armbruster-clear-filters {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid rgba(92,60,45,.34);
  background: #fff;
  color: #5c3c2d !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .045em;
  text-decoration: none;
  text-transform: uppercase;
}

.armbruster-clear-filters { margin-left: 10px; }

.armbruster-filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 14px;
  margin-bottom: 14px;
}

.armbruster-filter-actions .armbruster-clear-filters { margin-left: 0; }

/* Produktdetail: weiße Artikelfläche, keine hellbeigen Zwischenstreifen. */
.template-product,
.template-product .astor-container,
.template-product .product-single,
.template-product .product-single__meta,
.template-product .astor-product-gallery,
.template-product .astor-container--alternative {
  background: #fff !important;
}

.template-product .product-form__item--variant-select:not(.no-variants),
.template-product .product-form__variants {
  display: block !important;
  width: 100%;
}

.template-product .armbruster-product-top-label {
  position: static !important;
  display: inline-flex;
  margin: 0 0 16px;
  padding: 14px 22px;
  font-size: 24px !important;
  line-height: 1;
}

.template-product .astor-product__title h1 {
  text-transform: uppercase !important;
}

.armbruster-awards {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 20px;
}

.armbruster-award {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.armbruster-award--gold {
  border-color: #9b761d;
  background: linear-gradient(135deg, #f6e7a5 0%, #c99c2e 52%, #f0d77b 100%);
  color: #3e2d05;
}

.armbruster-award--silver {
  border-color: #8f9499;
  background: linear-gradient(135deg, #f5f6f7 0%, #b9bec3 52%, #e4e7e9 100%);
  color: #2e3235;
}

@media (max-width: 989px) {
  .template-index .armbruster-home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 22px; }
  .template-index .armbruster-home-products .astor-product-media__image { height: clamp(350px, 54vw, 470px); }
  .template-search .armbruster-search-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 22px; }
  .template-search .armbruster-search-products .astor-product-media__image { height: clamp(350px, 54vw, 470px); }
}

@media (max-width: 560px) {
  .template-index .armbruster-home-products { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .template-index .armbruster-home-products .astor-product-media__image { height: min(118vw, 500px); }
  .template-search .armbruster-search-products { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .template-search .armbruster-search-products .astor-product-media__image { height: min(118vw, 500px); }
  .armbruster-card-buy { max-height: 44px; margin-top: 14px; opacity: 1; }
}

/* Mehr Luft um Produktgruppen und ein grosses Raster wie bei WILD. */
.template-collection {
  background: var(--armbruster-page-bg);
}

.template-collection .astor-container {
  max-width: 1380px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.template-collection .main-collection-container {
  width: 100%;
  max-width: 1380px;
  margin-right: auto;
  margin-left: auto;
  justify-content: center;
}

.template-collection #Collection {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  flex: 1 1 auto;
}

.template-collection .astor-collection.astor-collection--grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px 34px;
  margin-top: 30px;
  justify-content: center;
  justify-items: stretch;
}

/* Grosse, gleich hohe und bewusst schlichte Produktkacheln. */
.template-collection .astor-collection__item {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: var(--armbruster-surface);
  border: 1px solid var(--armbruster-line);
  border-radius: 0;
  box-shadow: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.template-collection .astor-collection__item > a {
  height: 100%;
  background: #ffffff;
}

.template-collection .astor-collection__item:hover,
.template-collection .astor-collection__item:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}

/* Einheitliche Bildbuehne: Produkt vollstaendig sichtbar, nichts abgeschnitten. */
.template-collection .astor-product-media {
  background: #ffffff !important;
}

.template-collection .astor-product-media__image {
  height: clamp(390px, 35vw, 520px);
  padding-top: 0;
  align-items: center;
}

.template-collection .astor-product-media__image img,
.template-collection .astor-product-media__image svg {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  padding: 28px;
  object-fit: contain;
  object-position: center;
  transition: transform 250ms ease;
}

.template-collection .astor-collection__item:hover .astor-product-media__image,
.template-collection .astor-collection__item:focus .astor-product-media__image {
  opacity: 1;
}

.template-collection .astor-collection__item:hover .astor-product-media__image img,
.template-collection .astor-collection__item:focus-within .astor-product-media__image img {
  transform: scale(1.035);
}

/* Klare Produktinformationen unter dem Bild. */
.template-collection .astor-collection-details {
  min-height: 150px;
  padding: 22px 24px 25px;
  color: var(--armbruster-text);
  background: #ffffff;
  text-align: left;
}

.template-collection .astor-collection-details__group {
  min-height: 100%;
  gap: 12px;
  align-items: stretch;
}

.template-collection .astor-collection-details__info,
.template-collection .astor-collection-details__conditions {
  width: 100%;
  text-align: left;
}

.template-collection .astor-collection-details__title {
  max-width: 100%;
  border: 0;
  color: var(--armbruster-text);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  text-align: left;
}

/* Erzwingt Grossbuchstaben auch bei abweichenden Theme-Einstellungen. */
.template-collection .astor-collection-details__title,
.template-collection .astor-collection-details__title * {
  text-transform: uppercase !important;
}

.template-collection .astor-collection-details__meta {
  margin-top: 6px;
  color: var(--armbruster-muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.template-collection .astor-collection-details__conditions,
.template-collection .astor-collection-details__price,
.template-collection .astor-collection-details__price-on-sale-wrapper {
  color: var(--armbruster-text);
  font-size: 16px;
  font-weight: 600;
  text-align: left;
  justify-content: flex-start;
}

.template-collection .astor-collection-details__price-on-sale-wrapper--sale {
  color: var(--armbruster-accent);
}

.template-collection .astor-product-label {
  top: 16px;
  right: 16px;
  left: auto;
  padding: 7px 11px;
  background: var(--armbruster-accent);
  border-color: var(--armbruster-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Filter und Sortierung dezenter und hochwertiger. */
.template-collection .filters-toolbar {
  padding: 18px 0;
  border-top: 1px solid var(--armbruster-line);
  border-bottom: 1px solid var(--armbruster-line);
}

.template-collection .filters-toolbar__input,
.template-collection .select-group {
  border-color: var(--armbruster-line);
  background: #fff;
}

/* Typen als Filter und Unter-Navigation auf Produktseiten. */
.armbruster-type-nav {
  width: 100%;
  margin: 0 auto 28px;
  padding: 0 24px;
  background: #edc8a4;
}

.armbruster-type-nav__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 0;
  border-top: 1px solid rgba(92, 60, 45, 0.22);
  border-bottom: 1px solid rgba(92, 60, 45, 0.22);
}

.armbruster-type-nav__title {
  display: inline-flex;
  align-items: center;
  padding: 0 8px 0 0;
  color: #5c3c2d;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.armbruster-type-nav__link,
.armbruster-type-nav__item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid rgba(92, 60, 45, 0.34);
  background: #ffffff;
  color: #5c3c2d !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.045em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.armbruster-type-nav__link:hover,
.armbruster-type-nav__link:focus,
.armbruster-type-nav__item a:hover,
.armbruster-type-nav__item a:focus,
.armbruster-type-nav__link--active,
.armbruster-type-nav__item--active a {
  border-color: #5c3c2d;
  background: #5c3c2d;
  color: #ffffff !important;
}

.armbruster-type-nav__link--disabled,
.armbruster-type-nav__link--disabled:hover,
.armbruster-type-nav__link--disabled:focus {
  border-color: rgba(92, 60, 45, .18);
  background: rgba(255,255,255,.55);
  color: rgba(92, 60, 45, .48) !important;
  cursor: default;
}

@media (max-width: 749px) {
  .armbruster-type-nav {
    margin-bottom: 20px;
    padding: 0;
    overflow: hidden;
  }

  .armbruster-type-nav__inner {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    padding: 12px 16px 14px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .armbruster-type-nav__link,
  .armbruster-type-nav__title,
  .armbruster-type-nav__item,
  .armbruster-type-nav__item a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }
}

@media (max-width: 989px) {
  .template-collection .main-collection-container,
  .template-collection #Collection {
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .template-collection .astor-collection.astor-collection--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 22px;
  }

  .template-collection .astor-product-media__image {
    height: clamp(350px, 54vw, 470px);
  }
}

@media (max-width: 560px) {
  .template-collection .astor-container,
  .template-collection .main-collection-container,
  .template-collection #Collection {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .template-collection .astor-collection.astor-collection--grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .template-collection .astor-product-media__image {
    height: min(118vw, 500px);
  }

  .template-collection .astor-product-media__image img,
  .template-collection .astor-product-media__image svg {
    padding: 22px;
  }

  .template-collection .astor-collection-details {
    min-height: 135px;
    padding: 19px 20px 22px;
  }
}

/* Header: Logo mittig auf Beige, Navigation in eigener Zeile darunter. */
.astor-header,
.astor-header__inner,
.astor-header__bar,
.astor-nav {
  background-color: #edc8a4 !important;
}

.astor-header__bar {
  display: grid !important;
  grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  width: 100%;
  padding: 24px 36px 14px;
}

.astor-header__brand {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  margin: 0 0 18px !important;
  padding: 0 !important;
  line-height: 1;
  text-align: center;
}

.armbruster-header-logo {
  display: block;
  line-height: 0;
}

.astor-original-header-logo {
  display: none !important;
}

.armbruster-header-logo img {
  display: block;
  width: 190px !important;
  max-width: 190px !important;
  max-height: none !important;
  height: auto !important;
  margin: 0 auto !important;
}

.astor-header-actions {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
}

.astor-nav {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  justify-content: center !important;
  padding-top: 13px;
  border-top: 1px solid rgba(92, 60, 45, 0.24);
}

.astor-nav > ul,
.astor-nav .site-nav {
  justify-content: center !important;
  margin-right: auto;
  margin-left: auto;
}

.astor-nav a,
.astor-header-actions,
.astor-header-actions a,
.astor-header-actions button,
.astor-header-actions svg {
  color: #5c3c2d !important;
}

@media (max-width: 749px) {
  .astor-header__bar {
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    grid-template-rows: auto;
    min-height: 126px;
    padding: 12px 14px;
  }

  .astor-header__brand {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
  }

  .armbruster-header-logo img {
    width: 118px !important;
    max-width: 118px !important;
  }

  .astor-header-actions {
    grid-column: 3;
    grid-row: 1;
  }

  .astor-nav {
    display: none !important;
  }
}
