/* Skip-Links (.btn-skip-to) standardmäßig unsichtbar machen, außer sie werden mit der Tastatur fokussiert */
.btn-skip-to:not(:focus):not(:active) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}



body {
  font-family: "Roboto",sans-serif;
  font-size: 1.0875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212121;
  text-align: left;
  
}

.btn-primary {
    color: #fff;
    background-color: #212121;
    border-color: #212121;
    box-shadow: none;
}

/* #e23c2b */

.h1 {
  font-size: 2.175rem;
}

h2, .h2, .product-matrix .product-matrix-title {
  font-size: 1.975rem;
}


.btn-primary:hover {
  color: #fff;
  background-color: #e23c2b;
  border-color: #d33928;
}
.btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background-color: #e23c2b;
  border-color: #d33928;
  box-shadow: 0 0 0 0 rgba(208, 168, 57, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: #212121;
  background-color: #e23c2b;
  border-color: #e23c2b;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle, .show > .btn-primary[data-toggle=collapse]:not(.navbar-toggler) {
  color: #212121;
  background-color: #d33928;
  border-color: #e23c2b;
}


.btn-outline-primary {
  color: #e23c2b;
  border-color: #e23c2b;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #e23c2b;
  border-color: #e23c2b;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0 rgba(226, 60, 43, 0.3);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #e23c2b;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle, .show > .btn-outline-primary[data-toggle=collapse]:not(.navbar-toggler) {
  color: #fff;
  background-color: #d33928;
  border-color: #d33928;
}


/* Header-Menü Hoverfarbe überschreiben */
#shop-nav .nav-link:hover,
#shop-nav .nav-link:focus,
#shop-nav .navbar-nav > .nav-item:hover > .nav-link,
#shop-nav .navbar-nav > .nav-item > .nav-link:hover,
header #shop-nav a:hover,
header #shop-nav a:focus {
    color: #e23c2b !important;
}

/* Alle Header-Links (Kontakt, Sitemap, Icons, Warenkorb) */
header a:hover,
header a:focus,
.top-bar a:hover,
.top-bar a:focus,
#header a:hover,
#header a:focus {
    color: #e23c2b !important;
}


#shop-nav .dropdown-menu a:hover,
#shop-nav .dropdown-menu a:focus,
#shop-nav .dropdown-menu .dropdown-item:hover,
#shop-nav .dropdown-menu .dropdown-item:focus {
    color: #e23c2b !important;
}


.page-link:hover {
  z-index: 2;
  color: #e23c2b;
  text-decoration: none;
  background-color: transparent;
  border-color: #dee2e6;
}

#footer a:not(.btn):hover {
  color: #e23c2b;
}



@media (min-width: 992px) {
    header .navbar-nav > .nav-item > .nav-link {
        color: #fff !important;
        position: relative;
        background: transparent !important;
    }

    header .navbar-nav > .nav-item > .nav-link:hover,
    header .navbar-nav > .nav-item > .nav-link:focus,
    header .navbar-nav > .nav-item:hover > .nav-link {
        color: #fff !important;
        background: transparent !important;
    }

    header .navbar-nav > .nav-item > .nav-link::before {
        content: "";
        border-color: transparent !important;
        border-style: solid;
        border-width: 0 0 0.375rem;
        width: 0;
        transition: width 0.2s ease;
    }

    header .navbar-nav > .nav-item > .nav-link:hover::before,
    header .navbar-nav > .nav-item > .nav-link:focus::before,
    header .navbar-nav > .nav-item:hover > .nav-link::before,
    header .navbar-nav > .nav-item.active > .nav-link::before {
        width: 100% !important;
        border-color: #e23c2b !important;
    }
}


.product-videos {
    width: 100%;
}

.product-video {
    width: 100%;
}

.video-frame {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.video-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.feuerwerkabholung-hinweis {
    background: #f7f7f7;
    border: 1px solid #ebebeb;
    padding: 1rem 1.25rem;
    border-radius: 0.375rem;
    color: #212121;
    line-height: 1.5;
    margin-bottom: 1rem;
}


/* ===========================================
   XT-Sports Feuerwerk - Fresh Look Upgrade
   =========================================== */

/* --- Typografie: schärfer + moderner --- */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
    letter-spacing: -0.02em;
    line-height: 1.2;
    font-weight: 800;
}

p {
    line-height: 1.7;
}

/* --- Buttons: Hover-Lift (nicht auf Sortierung/Filter) --- */
.btn {
    transition: all 0.25s ease !important;
}

.btn:not(.btn-sorting):not(.productlist-filter-button):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important;
}

.btn:active {
    transform: translateY(0) !important;
}

/* --- Sortierung/Filter-Buttons: schwarz, kein rot --- */
.productlist-filter-button,
.btn-sorting,
.sorting .btn,
.productlist-header .btn,
.productlist-header .btn-primary,
.productlist-header .btn-outline-primary {
    background-color: #212121 !important;
    border-color: #212121 !important;
    color: #fff !important;
    border-radius: 4px !important;
    transform: none !important;
    box-shadow: none !important;
}

.productlist-header .btn:hover,
.productlist-header .btn-primary:hover,
.productlist-header .btn-outline-primary:hover,
.productlist-filter-button:hover,
.sorting .btn:hover {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Artikel-pro-Seite & Ansicht-Buttons: schwarzer Rahmen statt rot */
.productlist-header .btn-outline-primary,
.productlist-header .dropdown-toggle {
    background-color: #fff !important;
    border-color: #212121 !important;
    color: #212121 !important;
}

.productlist-header .btn-outline-primary:hover,
.productlist-header .dropdown-toggle:hover {
    background-color: #212121 !important;
    border-color: #212121 !important;
    color: #fff !important;
}

/* --- Produktkarten: cleaner Look --- */
.productbox {
    border: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    border-radius: 12px !important;
    transition: box-shadow 0.3s ease !important;
}

.productbox-inner,
.product-wrapper {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.productbox:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

/* --- Badges / Labels frischer --- */
.badge, .label,
.product-badge {
    border-radius: 20px !important;
    padding: 4px 12px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* --- Preise hervorheben --- */
.price, .product-price,
.price_wrapper .price {
    font-weight: 700 !important;
    color: #e23c2b !important;
}

.price-old, .old-price {
    color: #999 !important;
    text-decoration: line-through !important;
}

/* --- Eingabefelder modernisieren (nur Formulare: Checkout, Kontakt, Login, Register) --- */
.checkout-shipping-form input[type="text"],
.checkout-shipping-form input[type="email"],
.checkout-shipping-form input[type="tel"],
.checkout-shipping-form select,
.checkout-shipping-form textarea,
#login input[type="text"],
#login input[type="email"],
#login input[type="password"],
#register input[type="text"],
#register input[type="email"],
#register input[type="password"],
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
    border-radius: 8px !important;
    border: 2px solid #e9ecef !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.checkout-shipping-form input:focus,
.checkout-shipping-form select:focus,
.checkout-shipping-form textarea:focus,
#login input:focus,
#register input:focus,
.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #e23c2b !important;
    box-shadow: 0 0 0 3px rgba(226,60,43,0.15) !important;
    outline: none !important;
}

/* --- Breadcrumb dezenter --- */
.breadcrumb {
    background: transparent !important;
    padding: 12px 0 !important;
    font-size: 13px !important;
}

.breadcrumb a {
    color: #999 !important;
}

.breadcrumb a:hover {
    color: #e23c2b !important;
}

/* --- Smooth Scroll --- */
html {
    scroll-behavior: smooth;
}

/* --- OPC Container mit background #f0f0f0: leichter Verlauf --- */
.opc-Container[style*="background-color: #f0f0f0"],
.opc-Container[style*="background-color:#f0f0f0"] {
    background: linear-gradient(180deg, #f5f5f5 0%, #e8e8e8 100%) !important;
}

.opc-Container[style*="background-color: #f8f9fa"],
.opc-Container[style*="background-color:#f8f9fa"] {
    background: linear-gradient(180deg, #fcfcfc 0%, #f0f0f0 100%) !important;
}

/* --- Footer Akzentlinie + Raketen-Deko --- */
#footer, .footer-wrapper {
    border-top: 3px solid #e23c2b !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 969.945 969.945' fill='rgba(255,255,255,0.07)'%3E%3Cg%3E%3Cpolygon points='319.5,470.672 424.4,510.672 485.9,534.072 590.8,574.072 680.101,484.672 408.9,381.373'/%3E%3Cpolygon points='447.601,342.572 718.9,445.972 780.601,384.172 593.3,196.873'/%3E%3Cpath d='M385.7,549.373l-104.9-40l-25,25c-14.5,14.5-17,36.398-7.6,53.5c-4.6,2.6-9.2,5-14.1,7.199c-0.7,0.301-1.5,0.6-2.2,0.9c-2.5,1-5.1,1.9-7.7,2.699c-4.6,1.5-9.4,2.801-14.2,3.9c-2.1,0.5-4.3,0.9-6.4,1.301c-1.1,0.199-2.1,0.398-3.2,0.5c-0.3,0-0.5,0.1-0.7,0.1c-4.8,0.6-9.6,0.9-14.4,1c-4.9,0.1-9.8,0-14.7-0.301c-1.9-0.1-3.9-0.299-5.8-0.5c1.3,0.1-4.8-0.799-6-1c-21.8-4.1-42-13.699-63.5-18.699c-23.7-5.5-48.5-7.201-72.8-4.9c-12.2,1.199-22.5,9.301-22.5,22.5c0,11.4,10.3,23.699,22.5,22.5c11.2-1.1,22.4-1.301,33.6-0.6c2.5,0.1,5,0.4,7.4,0.6c1.2,0.1,2.5,0.301,3.7,0.4c0.3,0,0.5,0.1,0.7,0.1c0.2,0,0.4,0.1,0.7,0.1c6.2,0.9,12.3,2.201,18.3,3.6c22.4,5.4,43.4,15.4,66.3,18.9c43.5,6.701,89.1-2.1,125.9-26.6l17.1,17.1l-272.3,272.5c-11.7,11.701-11.7,30.701,0,42.4c5.9,5.9,13.5,8.801,21.2,8.801c7.7,0,15.4-2.9,21.2-8.801l272.5-272.5l40.601,40.6c17.6,17.6,46.1,17.6,63.6,0l108.9-108.9l-104.9-40L385.7,549.373z'/%3E%3Cpath d='M940.101,7.572c-1.7,0-3.4,0.1-5.2,0.4l-341.3,58.7c-24,4.1-33.301,33.6-16.101,50.8l61.4,61.4l159.7,159.7l61.399,61.4c6,6,13.601,8.8,21.101,8.8c13.699,0,27-9.399,29.699-24.899l58.7-341.3C972.7,23.972,958.2,7.572,940.101,7.572z'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right calc(25% - 50px) center !important;
    background-size: 500px !important;
}

/* --- Header Schatten + Raketen-Spitze --- */
.navbar, #header, .top-bar {
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

.jtl-nav-wrapper {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='500 0 470 410' fill='rgba(255,255,255,0.05)'%3E%3Cg%3E%3Cpolygon points='447.601,342.572 718.9,445.972 780.601,384.172 593.3,196.873'/%3E%3Cpath d='M940.101,7.572c-1.7,0-3.4,0.1-5.2,0.4l-341.3,58.7c-24,4.1-33.301,33.6-16.101,50.8l61.4,61.4l159.7,159.7l61.399,61.4c6,6,13.601,8.8,21.101,8.8c13.699,0,27-9.399,29.699-24.899l58.7-341.3C972.7,23.972,958.2,7.572,940.101,7.572z'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 40px center !important;
    background-size: 300px !important;
}

/* --- Text-Selektion --- */
::selection {
    background: #e23c2b;
    color: #fff;
}

/* --- Scrollbar (Webkit) --- */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #e23c2b;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #c1121f;
}