@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --color-primary: #d40000;
  --color-primary-hover: #ff1f1f;

  --fmz-bg: #0b0b0c;
  --fmz-bg-soft: #111113;
  --fmz-card: rgba(20, 20, 22, 0.92);
  --fmz-card-hover: rgba(28, 28, 31, 0.96);
  --fmz-border: rgba(255, 255, 255, 0.08);
  --fmz-border-red: rgba(212, 0, 0, 0.35);
  --fmz-text: #f4f4f5;
  --fmz-muted: rgba(244, 244, 245, 0.68);

  --bg-image: url("https://template-assets.tebex.io/images/page-bg.jpg");
}

html {
  background: var(--fmz-bg);
}

body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  color: var(--fmz-text);
  background:
    radial-gradient(circle at 50% 0%, rgba(160, 0, 0, 0.18), transparent 36rem),
    linear-gradient(180deg, #161010 0%, #0b0b0c 34rem, #0b0b0c 100%);
}

/* Default Tebex background cleaner machen */
body::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  width: 100%;
  height: 430px;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(10, 10, 11, 0.18) 0%, rgba(10, 10, 11, 0.82) 72%, #0b0b0c 100%),
    var(--bg-image) center center / cover no-repeat;
  opacity: 0.72;
  filter: saturate(0.75) contrast(1.05);
  pointer-events: none;
}

/* Layout-Hilfen aus layout.html */
.fmz-site {
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

.fmz-page-shell {
  min-height: 100vh;
  position: relative;
  z-index: 1;
}

.fmz-main {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

/* Hintergrund-Layer */
.fmz-bg-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 0%, rgba(212, 0, 0, 0.12), transparent 28rem),
    radial-gradient(circle at 85% 10%, rgba(255, 255, 255, 0.035), transparent 22rem);
}

.fmz-noise-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.035;
  background-image:
    linear-gradient(45deg, rgba(255,255,255,0.35) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255,255,255,0.25) 25%, transparent 25%);
  background-size: 4px 4px;
}

/* Grundtypografie */
h1, h2, h3, h4, h5, h6,
.widget-title,
.store-product-title,
.navigation-horizontal,
.site-navigation,
.btn-primary,
.btn-secondary,
.btn-tertiary {
  letter-spacing: -0.02em;
}

p {
  color: var(--fmz-muted);
  line-height: 1.65;
}

/* Buttons cleaner */
.btn-primary,
.btn-secondary,
.btn-tertiary {
  border-radius: 3px;
  min-height: 38px;
  padding: 10px 16px;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    opacity 0.18s ease;
}

.btn-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  box-shadow: none;
  transform: translateY(-1px);
}

.btn-secondary,
.btn-tertiary {
  background: rgba(255,255,255,0.055);
  border-color: rgba(255,255,255,0.1);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-tertiary:hover,
.btn-tertiary:focus {
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.16);
  box-shadow: none;
}

/* Inputs / Quantity */
.quantity-field {
  border-radius: 3px;
  background: rgba(255,255,255,0.055);
  border: 1px solid var(--fmz-border);
}

.store-product .quantity-field {
  border-radius: 3px;
  background: rgba(255,255,255,0.055);
}

.store-product .quantity-field input[type=number] {
  border: none;
}

/* Header / Logo */
.site-header-inner .info .image {
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 50px rgba(0,0,0,0.35);
}

/* Sale Banner */
.site-sale-banner {
  border-radius: 6px;
  background: rgba(212,0,0,0.92);
  border: 1px solid rgba(255,255,255,0.09);
}

/* Allgemeine Boxen */
.category-description,
.store-text,
.widget,
.no-products,
.store-product-full,
.store-category-tiered,
.store-products-list .store-product,
.store-products-images .store-product {
  border-radius: 8px;
  background: var(--fmz-card);
  border: 1px solid var(--fmz-border);
  box-shadow: 0 18px 70px rgba(0,0,0,0.26);
}

.category-description,
.store-text {
  padding: 22px;
}

.store-text h1,
.store-text h2,
.store-text h3,
.store-text h4,
.store-text h5,
.store-text h6,
.store-category-tiered-header h1,
.store-category-tiered-header h2,
.store-category-tiered-header h3,
.store-category-tiered-header h4,
.store-category-tiered-header h5,
.store-category-tiered-header h6 {
  text-align: left;
}

/* Home Kategorien */
.site-home-categories .category {
  border-radius: 8px;
  padding: 18px var(--widget-padding);
  background: var(--fmz-card);
  border: 1px solid var(--fmz-border);
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out,
    transform 0.15s ease-in-out;
}

.site-home-categories .category:hover {
  color: var(--color-primary-hover);
  background: var(--fmz-card-hover);
  border-color: var(--fmz-border-red);
  transform: translateY(-2px);
}

/* Produktkarten */
.store-products-images .store-product {
  text-align: left;
  overflow: hidden;
  transition:
    background-color 0.16s ease,
    border-color 0.16s ease,
    transform 0.16s ease;
}

.store-products-images .store-product:hover {
  background: var(--fmz-card-hover);
  border-color: var(--fmz-border-red);
  transform: translateY(-2px);
}

.store-products-list .store-product {
  min-height: 74px;
  padding: 12px 14px;
  transition:
    background-color 0.16s ease,
    border-color 0.16s ease,
    transform 0.16s ease;
}

.store-products-list .store-product:hover {
  background: var(--fmz-card-hover);
  border-color: var(--fmz-border-red);
  transform: translateY(-1px);
}

.widget-title {
  text-align: left;
  font-size: 13px;
  font-weight: 800;
  color: var(--fmz-text);
  text-transform: uppercase;
}

.widget .store-product {
  text-align: left;
}

/* Navigation */
@media (width > 960px) {
  .navigation-horizontal > ul {
    border-radius: 8px;
    background: rgba(14,14,16,0.72);
    border: 1px solid var(--fmz-border);
    backdrop-filter: blur(14px);
  }
}

.navigation-horizontal .has-children > ul {
  border-radius: 8px;
  background: #151517;
  border: 1px solid var(--fmz-border);
}

@media (width <= 960px) {
  .widget.site-navigation {
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }
}

/* Widgets */
.widget {
  padding: 18px;
}

.widget-gift-card .gift-card-input {
  border-radius: 3px;
}

.widget-top-donator .avatar {
  border-radius: 50%;
}

.widget-community-goal .progress,
.widget-goal .progress {
  border-radius: 99px;
  background: rgba(255,255,255,0.08);
}

.widget-community-goal .progress-bar,
.widget-goal .progress-bar {
  border-radius: 99px;
  background: var(--color-primary);
}

/* Popups */
.popup-content {
  border-radius: 10px;
  background: #151517;
  border: 1px solid var(--fmz-border);
  box-shadow: 0 30px 120px rgba(0,0,0,0.72);
}

.popup-close {
  border-radius: 0 10px 0 8px;
}

.basket-popup-content,
.basket-popup-content .popup-close {
  border-radius: 0;
}

/* Basket */
.basket-items {
  padding: var(--widget-padding) calc(var(--content-padding) - var(--widget-padding));
}

.basket-item {
  border-radius: 7px;
  background: rgba(255,255,255,0.045);
  border: 1px solid var(--fmz-border);
}

.basket-item .quantity {
  border-radius: 3px;
}

/* Toast */
.toast {
  border-radius: 8px;
  background: #151517;
  border: 1px solid var(--fmz-border);
}

.toast-close {
  border-radius: 3px;
}

/* Tiered */
.store-product-tiered {
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--fmz-border);
}

/* Media */
.media-slider .slider,
.media-slider .thumb,
.popup.popup-media-slider .thumb {
  border-radius: 8px;
}

.media-slider .open-lightbox {
  border-radius: 3px;
}

.popup.popup-media-slider .popup-close {
  border-radius: 8px;
}

/* Kleine Responsive-Korrektur */
@media (width <= 720px) {
  .fmz-main {
    width: min(100% - 24px, 1120px);
  }

  .category-description,
  .store-text,
  .widget {
    padding: 16px;
  }

  .btn-primary,
  
  
  .btn-secondary,
  .btn-tertiary {
    min-height: 36px;
