/*
  Datei:   assets/css/custom.css
  Theme:   Adventskalender Treffurt (Child-Theme von classic, PrestaShop 8)
  Projekt: shop.adventskalender-treffurt.de – Design wie adventskalender-treffurt.de
  Autor:   cover72 - Timo Biehl
  Version: 1.0.3 (2026-10-04)
  Einbau:  wird von PrestaShop automatisch nach classic/theme.css geladen
  Farben:  Weihnachtsrot / Gold – identisch mit custom.css + startseite.css der Website
*/

:root {
  --atk-red: #8e0e1c;
  --atk-red-dark: #6c000e;
  --atk-gold: #d4a93a;
  --atk-gold-light: #f0d27a;
  --atk-ink: #2a1a1a;
  --atk-muted: #6d5d5a;
  --atk-cream: #fbf6ee;
  --atk-line: #eadfcd;
  --atk-serif: Georgia, "Times New Roman", serif;
  --atk-sans: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --atk-radius: 16px;
  --atk-shadow: 0 18px 40px rgba(60, 0, 8, .12);
  --atk-shadow-sm: 0 8px 22px rgba(60, 0, 8, .08);
}

/* =========================================================
   GRUNDLAGEN
   ========================================================= */
html, body { overflow-x: clip; }
body {
  font-family: var(--atk-sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--atk-ink);
  background: #fff;
}
#wrapper {
  background: var(--atk-cream);
  box-shadow: none;
  padding-top: 1.75rem;
  padding-bottom: 2.5rem;
}
#index #wrapper { padding-top: 0; }

a { color: var(--atk-red); }
a:hover, a:focus { color: var(--atk-red-dark); text-decoration: none; }
::selection { background: var(--atk-gold-light); color: var(--atk-ink); }

h1, h2, h3, .h1, .h2, .h3 {
  font-family: var(--atk-serif);
  font-weight: 700;
  color: var(--atk-red-dark);
  text-transform: none;
  letter-spacing: 0;
}
h4, h5, h6, .h4, .h5, .h6 { font-family: var(--atk-sans); color: var(--atk-ink); }
p { color: var(--atk-ink); }
.text-muted { color: var(--atk-muted) !important; }

#main .page-header h1,
.page-header h1,
.block-category h1,
#product h1.h1 {
  font-family: var(--atk-serif);
  font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem);
  line-height: 1.15;
  color: var(--atk-red-dark);
  text-transform: none;
}

/* Fokus gut sichtbar (Barrierefreiheit) */
a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--atk-gold-light);
  outline-offset: 2px;
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn {
  border-radius: 999px;
  font-family: var(--atk-sans);
  font-weight: 700;
  text-transform: none;
  letter-spacing: .01em;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn-primary,
.btn-primary.disabled, .btn-primary:disabled {
  background: var(--atk-red);
  border: 2px solid var(--atk-red);
  color: #fff;
  padding: .7rem 1.5rem;
  box-shadow: 0 8px 22px rgba(142, 14, 28, .22);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active {
  background: var(--atk-red-dark);
  border-color: var(--atk-red-dark);
  color: #fff;
  transform: translateY(-1px);
}
.btn-primary.disabled, .btn-primary:disabled { opacity: .55; box-shadow: none; transform: none; }

.btn-secondary, .btn-tertiary {
  background: transparent;
  border: 2px solid var(--atk-red);
  color: var(--atk-red);
  box-shadow: none;
  padding: .6rem 1.3rem;
}
.btn-secondary:hover, .btn-secondary:focus, .btn-tertiary:hover, .btn-tertiary:focus {
  background: var(--atk-red);
  border-color: var(--atk-red);
  color: #fff;
}
.btn-tertiary .material-icons, .btn-secondary .material-icons { color: inherit; }

/* Warenkorb-Button auf Produktseite hervorheben */
.product-add-to-cart .add-to-cart {
  height: auto;
  min-height: 3rem;
  padding: .75rem 1.75rem;
  font-size: 1rem;
}
.product-add-to-cart .add-to-cart { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.product-add-to-cart .add-to-cart .material-icons { line-height: 1; margin: 0; }

/* =========================================================
   KOPFBEREICH
   ========================================================= */
#header {
  position: relative;
  z-index: 50;
  background: #fff;
  box-shadow: 0 6px 24px rgba(60, 0, 8, .08);
}

/* --- obere Leiste --- */
#header .header-nav {
  background: var(--atk-cream);
  border-bottom: 1px solid var(--atk-line);
  max-height: none;
  margin-bottom: 0;
  font-size: .875rem;
  color: var(--atk-muted);
}
#header .header-nav > .container > .row > .hidden-sm-down { display: flex; align-items: center; min-height: 56px; }
#header .header-nav > .container > .row > .hidden-sm-down > div { float: none; }
#header .header-nav #_desktop_contact_link #contact-link,
#header .header-nav #contact-link { margin-top: 0; }
#header .header-nav .right-nav .language-selector-wrapper,
#header .header-nav .right-nav .currency-selector,
#header .header-nav .right-nav .user-info { display: flex; align-items: center; }
#header .header-nav a,
#header .header-nav .material-icons { color: var(--atk-ink); }
#header .header-nav a:hover { color: var(--atk-red); }
#header .header-nav .right-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: .25rem;
}
#header .header-nav .right-nav > div { margin: 0; }
#header .header-nav .user-info,
#header .header-nav .language-selector,
#header .header-nav .currency-selector { margin-top: 0; margin-left: .9rem; }
#header .header-nav .user-info .material-icons { color: var(--atk-red); }


/* Warenkorb als roter Pill-Button */
#header .header-nav .blockcart {
  height: auto;
  margin-left: 1rem;
  padding: .55rem 1.1rem;
  border-radius: 999px;
  background: var(--atk-cream);
  border: 2px solid var(--atk-line);
  text-align: left;
  transition: background-color .25s ease, border-color .25s ease;
}
#header .header-nav .blockcart .header { display: flex; align-items: center; gap: .35rem; margin-top: 0; white-space: nowrap; }
#header .header-nav .blockcart .header > a { display: flex; align-items: center; gap: .35rem; }
#header .header-nav .blockcart a,
#header .header-nav .blockcart .material-icons,
#header .header-nav .blockcart .header span { color: var(--atk-ink); font-weight: 700; }
#header .header-nav .blockcart.active {
  background: var(--atk-red);
  border-color: var(--atk-red);
  box-shadow: 0 4px 14px rgba(142, 14, 28, .28);
}
#header .header-nav .blockcart.active a,
#header .header-nav .blockcart.active .material-icons,
#header .header-nav .blockcart.active span { color: #fff; }
#header .header-nav .blockcart.active:hover { background: var(--atk-red-dark); border-color: var(--atk-red-dark); }

/* Dropdowns (Sprache / Währung) */
#header .dropdown-menu {
  border: 0;
  border-top: 3px solid var(--atk-red);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}
.dropdown-item:hover, .dropdown-item:focus { background: var(--atk-cream); color: var(--atk-red); }

/* --- Logo- & Menüzeile --- */
#header .header-top {
  position: relative;
  padding: 0;
  background: #fff;
  border-bottom: 3px solid var(--atk-red);
}
#header .header-top::after {                /* feine Goldlinie unter dem Rot – wie auf der Website */
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--atk-gold) 20%, var(--atk-gold) 80%, transparent);
  opacity: .8;
  pointer-events: none;
}
#header .header-top > .container > .row:first-child { display: flex; align-items: center; min-height: 128px; }
#header .header-top > .container > .row:first-child > div { float: none; }
#header #_desktop_logo { padding-top: .5rem; padding-bottom: .5rem; }
#header #_desktop_logo h1 { margin: 0; line-height: 0; }
#header #_desktop_logo a { display: inline-block; line-height: 0; }
#header #_desktop_logo img,
#header .header-top .logo {
  width: auto;
  max-width: 100%;
  max-height: 112px;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .18));
}
#header .header-top-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5rem;
}

/* Hauptmenü (ps_mainmenu) */
#header .header-top .menu { flex: 1 1 auto; padding-left: 1rem; margin: 0; }
#header .header-top .menu > ul.top-menu { margin: 0; }
.top-menu[data-depth="0"] > li > a,
#header .top-menu a[data-depth="0"] {
  position: relative;
  padding: 1.1rem 1rem;
  font-family: var(--atk-sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--atk-ink);
  transition: color .25s ease;
}
#header .top-menu a[data-depth="0"]::after {
  content: "";
  position: absolute;
  left: 1rem; right: 1rem; bottom: .55rem;
  height: 3px;
  border-radius: 2px;
  background: var(--atk-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
#header .top-menu a[data-depth="0"]:hover,
#header .top-menu a[data-depth="0"]:focus-visible,
#header .top-menu .current > a[data-depth="0"] { color: var(--atk-red); }
#header .top-menu a[data-depth="0"]:hover::after,
#header .top-menu a[data-depth="0"]:focus-visible::after,
#header .top-menu .current > a[data-depth="0"]::after { transform: scaleX(1); }
#header .top-menu .sub-menu {
  border-top: 3px solid var(--atk-red);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}
#header .top-menu .sub-menu a { color: var(--atk-ink); }
#header .top-menu .sub-menu a:hover { color: var(--atk-red); }
#header .top-menu .sub-menu a[data-depth="1"] { font-weight: 700; }

/* Suche */
#search_widget { min-width: 15rem; margin-bottom: 0; }
#header .header-top #search_widget { float: none; }
#search_widget form input[type="text"] {
  height: 46px;
  padding: 10px 20px 10px 46px;
  border: 2px solid var(--atk-line);
  border-radius: 999px;
  background: var(--atk-cream);
  color: var(--atk-ink);
  outline: none;
  transition: border-color .25s ease, background-color .25s ease;
}
#search_widget form input[type="text"]:focus {
  border-color: var(--atk-gold);
  background: #fff;
  outline: 0;
}
#search_widget form i.search { top: 50%; left: 14px; padding: 0; transform: translateY(-50%); color: var(--atk-red); }
#search_widget form i.clear { top: 50%; right: 12px; padding: 0; transform: translateY(-50%); }
#search_widget form input[type="text"]:focus + i.clear { display: block; }
.ui-autocomplete.ui-menu { border-radius: 12px; border-top: 3px solid var(--atk-red); box-shadow: 0 12px 30px rgba(0, 0, 0, .12); }

/* =========================================================
   BREADCRUMB & SEITENSPALTEN
   ========================================================= */
.breadcrumb {
  padding: 0;
  margin-bottom: 1.25rem;
  background: transparent;
  font-size: .9rem;
}
.breadcrumb li a { color: var(--atk-muted); }
.breadcrumb li a:hover { color: var(--atk-red); }
.breadcrumb li:last-child, .breadcrumb li:last-child a, .breadcrumb li:last-child span { color: var(--atk-red); font-weight: 700; }
.breadcrumb li::after { color: var(--atk-gold); margin: 0 .5rem; }

.page-content.card,
.page-content.page-cms,
.card,
.block-category,
.block-categories,
#search_filters,
#search_filters_brands,
#search_filters_suppliers,
.contact-rich,
.cart-grid-body .card,
.cart-summary,
#js-product-list-header .block-category,
.page-my-account #content,
.page-customer-account #content,
.page-addresses .address,
.page-authentication #content {
  border: 1px solid var(--atk-line);
  border-radius: var(--atk-radius);
  box-shadow: var(--atk-shadow-sm);
  background: #fff;
}
.page-content.card, .page-content.page-cms { padding: 1.75rem; }
#search_filters, .block-categories { padding: 1.5rem 1.25rem; }

.block-categories .category-top-menu > li > a.h6,
.block-categories .category-top-menu > li > a,
#search_filters .h6.text-uppercase,
.block-categories .h6,
#search_filters > .h6,
#search_filters .facet .facet-title,
.contact-rich h4 {
  font-family: var(--atk-serif);
  font-size: 1.15rem;
  text-transform: none !important;
  color: var(--atk-red-dark);
}
.block-categories .category-sub-menu a { font-family: var(--atk-sans); color: var(--atk-ink); }
.block-categories a { color: var(--atk-ink); }
/* Preis-Schieberegler (Facettensuche) */
#search_filters .ui-slider .ui-slider-range { background: var(--atk-red); }
#search_filters .ui-slider .ui-slider-handle { border-color: var(--atk-red); border-radius: 50%; background: #fff; }
/* Unterkategorien */
#subcategories ul li .subcategory-image a { border-radius: 12px; border: 1px solid var(--atk-line); overflow: hidden; }
#subcategories ul li .subcategory-image a:hover { border: 3px solid var(--atk-gold); padding: 3px; }
#subcategories ul li .subcategory-name { color: var(--atk-red); text-transform: none; font-weight: 700; }
#subcategories .subcategory-heading { font-family: var(--atk-serif); color: var(--atk-red-dark); }
.block-categories a:hover, .block-categories .current > a { color: var(--atk-red); }
#search_filters .facet .facet-label a { color: var(--atk-ink); }
#search_filters .facet .facet-label.active a,
#search_filters .facet .facet-label a:hover { color: var(--atk-red); }
.custom-checkbox input[type="checkbox"] + span,
.custom-radio { border-color: var(--atk-gold); }
.custom-checkbox input[type="checkbox"] + span .checkbox-checked { color: var(--atk-red); }
.custom-radio input[type="radio"]:checked + span { background-color: var(--atk-red); }
.active_filters { background: var(--atk-cream); border-radius: 12px; }
.active_filters .filter-block { border-radius: 999px; background: #fff; border: 1px solid var(--atk-line); }

/* Kategorie-Kopf */
.block-category { padding: 1.75rem; min-height: 0; }
.block-category .block-category-inner #category-description { color: var(--atk-muted); }

/* =========================================================
   PRODUKTLISTEN / KACHELN
   ========================================================= */
#products .products-section-title,
.featured-products .products-section-title,
.product-accessories .products-section-title,
.products-section-title {
  position: relative;
  margin: 3.5rem 0 2.25rem;
  font-family: var(--atk-serif);
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem);
  font-weight: 700;
  text-transform: none !important;
  text-align: center;
  color: var(--atk-red-dark);
}
.products-section-title::after {
  content: "";
  display: block;
  width: 64px; height: 3px;
  margin: .9rem auto 0;
  border-radius: 2px;
  background: var(--atk-gold);
}

.product-miniature .thumbnail-container {
  overflow: hidden;
  border-radius: var(--atk-radius);
  background: #fff;
  border: 1px solid var(--atk-line);
  border-top: 4px solid var(--atk-gold);
  box-shadow: var(--atk-shadow-sm);
  transition: transform .35s ease, box-shadow .35s ease;
}
.product-miniature .thumbnail-container:hover,
.product-miniature .thumbnail-container:focus-within {
  transform: translateY(-4px);
  box-shadow: var(--atk-shadow);
}
.product-miniature .thumbnail-container .product-thumbnail img { transition: transform .6s ease; }
.product-miniature .thumbnail-container:hover .product-thumbnail img { transform: scale(1.03); }
.product-miniature .product-description {
  background: #fff;
  box-shadow: none;
}
.product-miniature .product-title { text-transform: none; }
.product-miniature .product-title a {
  font-family: var(--atk-sans);
  font-size: 1rem;
  font-weight: 700;
  color: var(--atk-ink);
}
.product-miniature .product-title a:hover { color: var(--atk-red); }
.product-miniature .product-price-and-shipping {
  font-family: var(--atk-serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--atk-red);
}
.product-miniature .regular-price { color: var(--atk-muted); font-size: .9rem; }
.product-miniature .highlighted-informations {
  box-shadow: none;
  background: rgba(255, 255, 255, .96);
  border-top: 1px solid var(--atk-line);
}
.product-miniature .highlighted-informations .quick-view { color: var(--atk-red); font-weight: 700; }
.product-miniature .highlighted-informations .quick-view:hover { color: var(--atk-red-dark); }

/* Produkt-Labels */
.product-flags li.product-flag {
  border-radius: 999px;
  padding: .3rem .8rem;
  font-family: var(--atk-sans);
  font-weight: 700;
  font-size: .8rem;
  text-transform: none;
  background: var(--atk-red);
  color: #fff;
  box-shadow: 0 4px 12px rgba(142, 14, 28, .25);
}
.product-flags li.product-flag.discount,
.product-flags li.product-flag.discount-percentage,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.on-sale { background: var(--atk-gold); color: #2a1a00; }
.product-flags li.product-flag.new { background: var(--atk-red); }
.product-flags li.product-flag.out_of_stock { background: var(--atk-muted); }

#products .all-product-link,
.featured-products .all-product-link,
.product-accessories .all-product-link,
.all-product-link {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  margin-top: 1.5rem;
  font-weight: 700;
  color: var(--atk-red);
}
.featured-products .all-product-link:hover,
#products .all-product-link:hover { color: var(--atk-red-dark); }

/* Textblock (ps_customtext) & Banner (ps_banner) */
#custom-text {
  padding: 2.5rem 2rem;
  border-radius: var(--atk-radius);
  border-top: 4px solid var(--atk-gold);
  box-shadow: var(--atk-shadow-sm);
  background: #fff;
}
#custom-text h2, #custom-text h3 { font-family: var(--atk-serif); text-transform: none; color: var(--atk-red-dark); }
#custom-text p { color: var(--atk-muted); }
.banner img { border-radius: var(--atk-radius); }

/* Sortierung / Seitenzahlen */
.products-selection .sort-by-row .select-title,
.products-sort-order .select-title {
  border: 2px solid var(--atk-line);
  border-radius: 999px;
  background: #fff;
}
.pagination .page-list { background: transparent; box-shadow: none; padding: 0; }
.pagination a { color: var(--atk-ink); font-weight: 700; }
.pagination .current a {
  display: inline-block;
  min-width: 2.2rem;
  padding: .2rem .7rem;
  border-radius: 999px;
  background: var(--atk-red);
  color: #fff;
  font-size: 1rem;
}

/* =========================================================
   PRODUKTSEITE
   ========================================================= */
#product #content { max-width: none; }
.product-cover img {
  border-radius: var(--atk-radius);
  box-shadow: var(--atk-shadow);
}
.product-cover .layer { border-radius: var(--atk-radius); background: rgba(108, 0, 14, .55); }
.product-images > li.thumb-container .thumb { border-radius: 10px; }
.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover { border: 3px solid var(--atk-gold); }

.product-prices .current-price-value {
  font-family: var(--atk-serif);
  font-size: 2rem;
  font-weight: 700;
  color: var(--atk-red);
}
.product-prices .tax-shipping-delivery-label { color: var(--atk-muted); }
.product-discount .regular-price { color: var(--atk-muted); }
.has-discount .discount,
.has-discount.product-price .discount {
  border-radius: 999px;
  background: var(--atk-gold);
  color: #2a1a00;
  font-weight: 700;
}
.product-information,
#product-description-short { color: var(--atk-ink); font-size: 1rem; }

.product-actions .control-label { font-weight: 700; color: var(--atk-ink); }
.product-variants > .product-variants-item select,
.form-control-select { border-radius: 10px; border: 2px solid var(--atk-line); }
.product-variants > .product-variants-item .color { border-radius: 50%; }
.input-color:checked + span, .input-color:hover + span,
.input-radio:checked + span, .input-radio:hover + span { border-color: var(--atk-red); }
.product-quantity #quantity_wanted { border-radius: 10px 0 0 10px; }
.bootstrap-touchspin .btn-touchspin { border-radius: 0; }
.bootstrap-touchspin .input-group-btn-vertical > .btn:first-child { border-top-right-radius: 10px; }
.bootstrap-touchspin .input-group-btn-vertical > .btn:last-child { border-bottom-right-radius: 10px; }
#product-availability .product-available { color: #2e7d32; }
#product-availability .product-unavailable { color: var(--atk-gold); }

/* Tabs */
.tabs {
  margin-top: 2rem;
  padding: 1.5rem 1.75rem;
  border: 1px solid var(--atk-line);
  border-radius: var(--atk-radius);
  box-shadow: var(--atk-shadow-sm);
  background: #fff;
}
.tabs .nav-tabs { border-bottom: 2px solid var(--atk-line); }
.tabs .nav-tabs .nav-link {
  border: 0;
  color: var(--atk-muted);
  font-weight: 700;
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  border: 0;
  border-bottom: 3px solid var(--atk-gold);
  color: var(--atk-red);
  background: transparent;
}

/* Vertrauens-Hinweise (blockreassurance) */
.blockreassurance_product,
#block-reassurance {
  border-radius: var(--atk-radius);
  background: var(--atk-cream);
  padding: .75rem 1rem;
}
#block-reassurance li .block-reassurance-item span { color: var(--atk-ink); }
.blockreassurance_product .item-product svg path,
#block-reassurance svg path { fill: var(--atk-red) !important; }

/* =========================================================
   WARENKORB, CHECKOUT, KUNDENKONTO
   ========================================================= */
.cart-grid-body .card-block h1 { font-size: 1.6rem; }
.cart-item { border-bottom-color: var(--atk-line); }
.cart-summary-line .value, .cart-total .value { color: var(--atk-red); font-weight: 700; }
.cart-summary-totals .cart-total { background: var(--atk-cream); border-radius: 0 0 var(--atk-radius) var(--atk-radius); }
.product-line-grid-body > .product-line-info > .label { color: var(--atk-ink); font-weight: 700; }
.cart-items .current-price .price, .product-line-info .current-price .price,
.cart-item .product-price strong, .product-line-grid-right .product-price { color: var(--atk-red); font-weight: 700; }
.block-promo .promo-input { border-radius: 999px 0 0 999px; border: 2px solid var(--atk-line); }
.block-promo .promo-input + button { border-radius: 0 999px 999px 0; }

/* Modal "In den Warenkorb gelegt" */
#blockcart-modal .modal-content { border: 0; border-radius: var(--atk-radius); overflow: hidden; }
#blockcart-modal .modal-header { background: var(--atk-red); }
#blockcart-modal .modal-title, #blockcart-modal .modal-header .close { color: #fff; font-family: var(--atk-serif); font-weight: 700; }
#blockcart-modal .modal-title i.material-icons { color: var(--atk-gold-light); }
#blockcart-modal .product-name { color: var(--atk-red-dark); font-family: var(--atk-serif); }
#blockcart-modal .cart-content-btn .btn { margin-bottom: .5rem; }

/* Checkout-Schritte */
body#checkout section.checkout-step {
  margin-bottom: 1rem;
  border: 1px solid var(--atk-line);
  border-radius: var(--atk-radius);
  box-shadow: var(--atk-shadow-sm);
  background: #fff;
}
body#checkout section.checkout-step .step-title {
  font-family: var(--atk-serif);
  font-size: 1.3rem;
  text-transform: none;
  color: var(--atk-red-dark);
}
body#checkout section.checkout-step .step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem; height: 2rem;
  margin-right: .5rem;
  border-radius: 50%;
  background: var(--atk-red);
  color: #fff;
  font-family: var(--atk-serif);
}
body#checkout section.checkout-step.-complete .step-number { background: var(--atk-gold); color: #2a1a00; }
body#checkout section.checkout-step.-unreachable .step-title { color: var(--atk-muted); }
body#checkout section.checkout-step .step-edit { color: var(--atk-red); }
body#checkout section.checkout-step .address-item.selected { border: 3px solid var(--atk-gold); border-radius: 12px; }
body#checkout section.checkout-step .delivery-option { background: var(--atk-cream); border-radius: 12px; }
body#checkout #header .header-nav { border-bottom: 3px solid var(--atk-red); }
body#checkout .nav-tabs .nav-link.active,
body#checkout .nav-separator { color: var(--atk-red); }

/* Formulare */
.form-control,
.form-control-select,
.input-group .form-control {
  border: 2px solid var(--atk-line);
  border-radius: 10px;
  background: #fff;
  color: var(--atk-ink);
}
.form-control:focus {
  border-color: var(--atk-gold);
  box-shadow: 0 0 0 3px rgba(240, 210, 122, .45);
  outline: 0;
  background: #fff;
  color: var(--atk-ink);
}
.input-group .input-group-btn > .btn[data-action="show-password"] {
  border-radius: 0 10px 10px 0;
  background: var(--atk-red);
  color: #fff;
}
.form-control-label { font-weight: 700; }
label .form-control-comment, .form-control-comment { color: var(--atk-muted); }

/* Kundenkonto-Kacheln */
.page-my-account #content .links a span.link-item {
  border-radius: var(--atk-radius);
  border: 1px solid var(--atk-line);
  box-shadow: var(--atk-shadow-sm);
  color: var(--atk-ink);
  font-weight: 700;
  transition: transform .3s ease, box-shadow .3s ease;
}
.page-my-account #content .links a:hover span.link-item { transform: translateY(-3px); box-shadow: var(--atk-shadow); color: var(--atk-red); }
.page-my-account #content .links a i { color: var(--atk-red); }

/* Hinweise */
.alert { border-radius: 12px; }
.alert-info { background: var(--atk-cream); border-color: var(--atk-gold); color: var(--atk-ink); }
.alert-success { background: #eef7ee; border-color: #6aa86a; color: #1e4d1e; }
.alert-danger { background: #fbecec; border-color: var(--atk-red); color: var(--atk-red-dark); }
.alert-warning { background: #fff7e3; border-color: var(--atk-gold); color: #5c4300; }

/* Wartungs-/Fehlerseiten */
#notifications .container { padding-top: 1rem; }

/* =========================================================
   FUSSBEREICH
   ========================================================= */
#footer {
  padding-top: 0;
  background: var(--atk-cream);
  color: var(--atk-ink);
}

/* Linklisten */
.footer-container {
  margin-top: 0;
  padding-top: 2.5rem;
  overflow: visible;
  background: var(--atk-cream);
  border-top: 4px solid var(--atk-gold);
  box-shadow: none;
}
.footer-container .h3,
.footer-container .h4,
.footer-container h3,
.footer-container h4,
.footer-container .block-contact-title,
.footer-container .myaccount-title,
.footer-container .myaccount-title a,
.footer-container .links .collapse-icons + .h3,
.footer-container .links .title .h3 {
  font-family: var(--atk-serif);
  font-size: 1.15rem;
  font-weight: 700;
  text-transform: none !important;
  color: var(--atk-red-dark);
}
#footer .footer-container .myaccount-title a,
#footer .footer-container .block-contact-title { color: var(--atk-red-dark); }
.footer-container li { margin-bottom: .45rem; }
.footer-container li a,
.footer-container .links li a,
#footer .block-contact,
#footer .block-contact a,
#footer .account-list a {
  color: var(--atk-ink);
  font-size: .95rem;
}
.footer-container li a:hover,
#footer .block-contact a:hover,
#footer .account-list a:hover { color: var(--atk-red); }
#footer .block-contact .block-contact-title { color: var(--atk-red-dark); }
#footer .material-icons { color: var(--atk-red); }

/* Unterste Zeile: Logo + Copyright + Links (wie Website) */
.atk-footer-bottom {
  margin-top: 1.5rem;
  border-top: 1px solid var(--atk-line);
}
.atk-footer-bottom-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 1.75rem 0;
}
.atk-copyright {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  color: var(--atk-muted);
  font-size: .95rem;
  line-height: 1.5;
}
.atk-copyright img { width: 64px; height: auto; flex: 0 0 auto; }
.atk-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.atk-footer-links li { display: flex; align-items: center; margin: 0; }
.atk-footer-links li + li::before {
  content: "";
  width: 5px; height: 5px;
  margin: 0 14px;
  border-radius: 50%;
  background: var(--atk-gold);
  opacity: .8;
}
.footer-container .atk-footer-links a,
.atk-footer-links a {
  position: relative;
  color: var(--atk-red);
  font-size: .95rem;
}
.atk-footer-links a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 2px;
  background: var(--atk-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.footer-container .atk-footer-links a:hover { color: var(--atk-red-dark); }
.atk-footer-links a:hover::after,
.atk-footer-links a:focus-visible::after { transform: scaleX(1); }

/* =========================================================
   STARTSEITE: HERO + VORTEILE (index.tpl)
   ========================================================= */
.atk-home {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  color: var(--atk-ink);
  font-size: 17px;
  line-height: 1.65;
}
.atk-home *, .atk-home *::before, .atk-home *::after { box-sizing: border-box; }
.atk-home img { max-width: 100%; display: block; }
.atk-home .atk-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }

.atk-home .atk-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.atk-home .atk-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  border-radius: 999px;
  border: 2px solid transparent;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.atk-home .atk-btn .material-icons { font-size: 20px; }
.atk-home .atk-btn:hover, .atk-home .atk-btn:focus-visible { transform: translateY(-2px); }
.atk-home .atk-btn-gold { background: var(--atk-gold); color: #2a1a00; box-shadow: 0 8px 22px rgba(212, 169, 58, .35); }
.atk-home .atk-btn-gold:hover, .atk-home .atk-btn-gold:focus-visible { background: var(--atk-gold-light); color: #2a1a00; }
.atk-home .atk-btn-ghost { border-color: rgba(255, 255, 255, .75); color: #fff; }
.atk-home .atk-btn-ghost:hover, .atk-home .atk-btn-ghost:focus-visible { background: #fff; border-color: #fff; color: var(--atk-red-dark); }

.atk-home .atk-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(380px, 55vh, 560px);
  display: flex;
  align-items: center;
  padding: 90px 0;
  color: #fff;
  background: #1b1b1b;
  overflow: hidden;
}
.atk-home .atk-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  z-index: -2;
  animation: atk-kenburns 14s ease-out both;
}
.atk-home .atk-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(100deg, rgba(15, 12, 12, .78) 0%, rgba(15, 12, 12, .55) 40%, rgba(0, 0, 0, .1) 75%, transparent 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .45) 0%, transparent 35%);
}
.atk-home .atk-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 48px;
  align-items: center;
}
.atk-home .atk-eyebrow {
  display: inline-block;
  margin: 0 0 18px;
  padding: 7px 16px;
  border: 1px solid rgba(240, 210, 122, .55);
  border-radius: 999px;
  color: var(--atk-gold-light);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.atk-home .atk-hero-title {
  margin: 0 0 28px;
  font-family: var(--atk-serif);
  font-size: clamp(2.4rem, 1.3rem + 4.2vw, 4.6rem);
  font-weight: 700;
  line-height: 1.02;
  color: #fff;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .35);
}
.atk-home .atk-hero-title span { display: block; color: var(--atk-gold-light); }
.atk-home .atk-lead {
  max-width: 560px;
  margin: 0 0 32px;
  font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem);
  color: rgba(255, 255, 255, .92);
}
.atk-home .atk-hero-text > * { animation: atk-fade-up .9s cubic-bezier(.2, .7, .2, 1) both; }
.atk-home .atk-hero-text > :nth-child(2) { animation-delay: .15s; }
.atk-home .atk-hero-text > :nth-child(3) { animation-delay: .3s; }
.atk-home .atk-hero-text > :nth-child(4) { animation-delay: .45s; }

/* Countdown */
.atk-home .atk-countdown {
  justify-self: end;
  width: 100%;
  max-width: 340px;
  padding: 28px 26px 24px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .28);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
  text-align: center;
  animation: atk-fade-up .9s .6s cubic-bezier(.2, .7, .2, 1) both;
}
.atk-home .atk-cd-label {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--atk-gold-light);
}
.atk-home .atk-cd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.atk-home .atk-cd-grid > div { padding: 12px 4px 10px; border-radius: 12px; background: rgba(255, 255, 255, .95); color: var(--atk-red); }
.atk-home .atk-cd-grid strong { display: block; font-family: var(--atk-serif); font-size: 2.1rem; line-height: 1; font-variant-numeric: tabular-nums; }
.atk-home .atk-cd-grid span { display: block; margin-top: 4px; font-size: 12px; font-weight: 700; color: var(--atk-muted); }
.atk-home .atk-cd-date { margin: 16px 0 0; font-size: 14px; color: rgba(255, 255, 255, .88); }
.atk-home .atk-cd-door { display: block; padding: 14px; border-radius: 12px; background: var(--atk-gold); color: #2a1a00; font-weight: 700; }
.atk-home .atk-cd-door strong { display: block; font-family: var(--atk-serif); font-size: 3rem; line-height: 1; }
.atk-home .atk-cd-door:hover { background: var(--atk-gold-light); color: #2a1a00; }
.atk-home .atk-cd-thanks { margin: 0; font-family: var(--atk-serif); font-size: 1.3rem; color: #fff; }

/* Schneefall (reines CSS) */
.atk-home .atk-snow {
  position: absolute;
  inset: -100% 0 0;
  z-index: -1;
  pointer-events: none;
  opacity: .7;
  background-image:
    radial-gradient(2px 2px at 20px 30px, #fff 50%, transparent 51%),
    radial-gradient(3px 3px at 90px 120px, rgba(255,255,255,.9) 50%, transparent 51%),
    radial-gradient(2px 2px at 160px 60px, #fff 50%, transparent 51%),
    radial-gradient(4px 4px at 230px 190px, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(2px 2px at 300px 90px, #fff 50%, transparent 51%),
    radial-gradient(3px 3px at 60px 220px, rgba(255,255,255,.85) 50%, transparent 51%);
  background-size: 320px 260px;
  animation: atk-snow 18s linear infinite;
}


#index #content.page-home { padding-top: 2.5rem; }
.atk-anchor { display: block; position: relative; top: -20px; }

@keyframes atk-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes atk-kenburns { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes atk-snow { to { transform: translateY(50%); } }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1199.98px) {
  #header .header-top-right { gap: 1rem; }
  #search_widget { min-width: 12rem; }
  #header .top-menu a[data-depth="0"] { padding: 1.1rem .7rem; }
  #header .top-menu a[data-depth="0"]::after { left: .7rem; right: .7rem; }
}

@media (max-width: 991.98px) {
  .atk-home .atk-hero { padding: 80px 0; min-height: 0; }
  .atk-home .atk-hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .atk-home .atk-countdown { justify-self: start; }
}

/* classic schaltet bei 767px auf das Mobil-Layout um */
@media (max-width: 767px) {
  #header .header-nav { background: #fff; border-bottom: 3px solid var(--atk-red); }
  #header .header-nav .mobile { display: flex; align-items: center; min-height: 76px; }
  #header .header-nav .mobile > .float-xs-left,
  #header .header-nav .mobile > .float-xs-right { float: none !important; }
  #header .header-nav .mobile #menu-icon { order: 1; margin: 0; }
  #header .header-nav .mobile .top-logo { order: 2; flex: 1 1 auto; display: flex; justify-content: center; padding: .4rem 0; }
  #header .header-nav .mobile .top-logo h1 { margin: 0; line-height: 0; }
  #header .header-nav .mobile #_mobile_user_info { order: 3; }
  #header .header-nav .mobile #_mobile_cart { order: 4; }
  #header .header-nav .mobile .clearfix { display: none; }
  #header .header-nav .top-logo img,
  #header .header-nav .top-logo .logo { max-height: 64px; width: auto; }
  #header .header-nav #menu-icon .material-icons { color: var(--atk-red); font-size: 2rem; }
  #header .header-nav .user-info { margin-left: 0; }
  #header .header-nav .blockcart { margin-left: .5rem; padding: .4rem .75rem; }
  #header .header-nav .blockcart .header { gap: .2rem; }
  #header .header-nav .blockcart .material-icons { line-height: 1; }
  #header .header-nav .cart-preview .cart-products-count,
  #header .header-nav .blockcart .cart-products-count {
    position: static;
    display: inline-block;
    width: auto; height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    font-size: .9rem;
    line-height: 1;
  }
  #header .header-top { border-bottom: 0; }
  #header .header-top::after { display: none; }
  #header .header-nav::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -6px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--atk-gold) 20%, var(--atk-gold) 80%, transparent);
    opacity: .8;
    pointer-events: none;
  }
  #header .header-nav { position: relative; }
  #header .header-top > .container > .row:first-child { min-height: 0; padding: .75rem 0; }
  #header .header-top-right { display: block; }
  #search_widget { min-width: 0; width: 100%; }
  #mobile_top_menu_wrapper { background: var(--atk-cream); border-left: 4px solid var(--atk-red); }
  #mobile_top_menu_wrapper .top-menu a[data-depth="0"] { padding: .9rem 1rem; font-size: 17px; border-bottom: 1px solid rgba(142, 14, 28, .12); }
  #mobile_top_menu_wrapper .top-menu a[data-depth="0"]::after { display: none; }
  #mobile_top_menu_wrapper .top-menu .sub-menu { box-shadow: none; border-top: 0; }

  .atk-footer-bottom-inner { flex-direction: column; text-align: center; }
  .atk-copyright { flex-direction: column; gap: .5rem; }
  .atk-footer-links { justify-content: center; gap: 10px 22px; }
  .atk-footer-links li + li::before { display: none; }
}

@media (max-width: 575.98px) {
  .atk-home { font-size: 16px; }
  .atk-home .atk-wrap { padding: 0 16px; }
  .atk-home .atk-hero { padding: 56px 0 64px; }
  .atk-home .atk-eyebrow { font-size: 11px; letter-spacing: .08em; }
  .atk-home .atk-actions { flex-direction: column; align-items: stretch; }
  .atk-home .atk-btn { justify-content: center; }
  .atk-home .atk-countdown { max-width: none; }
  .atk-home .atk-hero-bg { object-position: 40% 50%; }
  .page-content.card { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .atk-home .atk-snow,
  .atk-home .atk-hero-bg,
  .atk-home .atk-hero-text > *,
  .atk-home .atk-countdown { animation: none; }
  .atk-home *, .product-miniature .thumbnail-container, #header * { transition: none !important; }
}
