/** Shopify CDN: Minification failed

Line 119:19 Expected identifier but found whitespace
Line 119:25 Unexpected ";"
Line 165:2 Unexpected "0%"
Line 168:2 Unexpected "50%"
Line 171:2 Unexpected "100%"
Line 185:0 Unexpected "}"
Line 216:16 Expected identifier but found whitespace
Line 216:17 Unexpected "var("

**/
/* Add German flag icon before product info text 
.product-info__text:before {
  content: "";
  display: inline-block;
  height: 2ch;
  width: 2ch;
  background-size: contain;
  background-image: url("/cdn/shop/files/DE_Badge.svg?v=1714378362");
  margin-right: .6ch;
  vertical-align: inherit;
  margin-bottom: -0.15rem;
  background-repeat: no-repeat;
}*/

/* Ensure .prose inside .product-info__text displays inline */
.product-info__text > .prose {
  display: inline-block !important;
}

/* Add German flag icon before second paragraph in announcement bar */
.announcement-bar__item p:nth-of-type(2):before {
  content: "";
  display: inline-block;
  height: 2ch;
  width: 2ch;
  background-size: contain;
  background-image: url("/cdn/shop/files/DE_Badge.svg?v=1714378362");
  margin-right: 0.6ch;
  vertical-align: middle;
  background-repeat: no-repeat;
}

/* Style the accept button in Shopify cookie banner */
#shopify-pc__banner__btn-accept {
  font-weight: bold;
  order: 2;
  border-radius: 420px;
  padding: 1rem 0 1rem 0;
}

/* Style the decline button in Shopify cookie banner */
#shopify-pc__banner__btn-decline {
  background: none;
  font-weight: bold;
  color: rgb(26, 26, 26);
}

/* Add rounded corners to Shopify cookie banner */
#shopify-pc__banner {
  border-radius: 0.66rem 0.66rem 0 0;
  z-index: 1000;
}

/* Ensure Shopify Chat appears on top */
#ShopifyChat {
  z-index: 900 !important;
}

/* Add cookie icon before the banner title in the Shopify cookie banner */
#shopify-pc__banner__body-title::before {
  content: '';
  display: block;
  color: white;
  width: 3ch;
  height: 3ch;
  background-image: url("/cdn/shop/files/cookie_icon_6d24244e-492c-4e6c-930c-76d53c0f7ac9.svg?v=1729007064");
  background-repeat: no-repeat;
  stroke: #121212;
  margin: 0 0 .5em 0;
}

/* Round the edges of accept, decline, and save buttons in preferences */
#shopify-pc__prefs__header-accept,
#shopify-pc__prefs__header-decline, 
#shopify-pc__prefs__header-save {
  border-radius: 420px !important;
}

/* Style adjustments for the first item in the header link list */

/*.header__link-list > .contents > li:nth-of-type(2) > button  {
  color: black;
  box-sizing: content-box;
  padding: 0.5rem 1rem;
  border-radius: 420px;
  margin-top: -0.5rem;
  border: 2px solid black;

}*/

/*'
.is-filled 

.header__link-list > .contents > li:nth-of-type(2) > button  {
  color: black; /* Preserve original text color
  box-sizing: content-box;
  padding: 0.5rem 1rem;
  border-radius: 420px;
  margin-top: -0.5rem; 
  border: 2px solid black;

}*/


/*.header__link-list > .contents > li:nth-of-type(1) {
  background-color: #008eaa; /* Preserve original background color */
  background-color: black; /* Preserve original background color */
  color: white; /* Preserve original text color */
  box-sizing: content-box; /* Preserve original box-sizing */
  padding: 0.5rem 1rem; /* Preserve original padding */
  border-radius: 420px; /* Preserve original border-radius */
  margin-top: -0.5rem; /* Preserve original margin-top */
  
  /* Additional styling */
  display: inline-block;
  position: relative;
  cursor: pointer;
}

/* Glowing border effect for button */
/*.header__link-list > .contents > li:nth-of-type(1)::before {
  content: "";
  background: linear-gradient(45deg, #B3E1E9, #4CC0D1, #006A7C, #004550, #B3E1E9);
  background: linear-gradient(45deg, #D1D1D1, #A3A3A3, #6A6A6A, #454545, #D1D1D1);
  position: absolute;
  top: -2px;
  left: -2px;
  background-size: 400%;
  z-index: -1;
  filter: blur(5px);
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  animation: glowing-button-85 20s linear infinite;
  transition: opacity 0.3s ease-in-out;
  border-radius: 420px;
}

/* Background overlay */
/*.header__link-list > .contents > li:nth-of-type(1)::after {
  z-index: -1;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #008EAA;
  left: 0;
  top: 0;
  border-radius: 420px;
}

/* Glowing animation keyframes */
@keyframes glowing-button-85 {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 400% 0;
  }
  100% {
    background-position: 0 0;
  }
}



/* Style third item in marquee text (currently not active) */
/*marquee-text p:nth-of-type(3) {
  padding: 0.2rem 1rem;
  border-radius: 420px;
  color: #FFF44A;
  background-color: none;
      border: solid 2px;*/
}

/* Additional marquee styling for second item if needed */
marquee-text p:nth-of-type(2) {
}

/* Mobile styling for first panel link item, applying custom color and rounded corners */
@media (max-width: 1150px) {
  .panel__scroller > ul > li:nth-of-type(1) > a > span:nth-of-type(1) {
    /* color: white;*/
    /* background-color: #008eaa;
    /*border-radius: 420px;  Retains the rounded, pill-like look */
    /*padding: 0.3rem 1rem; Padding around the text */
  }
}

/* custom global product styling */

product-card[handle="ueberwachungskamera"] .product-card__price {
  font-weight: bold;         /* Make the price bold */
}


.product-card__badge-list {
  display: inline-flex !important;
}

/*.product-card[handle="ueberwachungskamera"] .product-card__badge-list::after,
.product-card[handle="tuerklingel"] .product-card__badge-list::after{

  --badge-background: var(--primary-badge-background); /* Use primary badge background */
  --badge-color: var(--primary-badge-text); /* Use primary badge text color */
  align-items: center;
  gap: var(--spacing-1-5);
  padding: 3px var(--spacing-2);
  background: rgb(var(--badge-background));
  color: rgb(var(--badge-color));
  border-radius: var(--rounded-button);
  width: max-content;
  font-size: 12px;
  font-weight: bold;
  display: flex;
  /*margin-left: var(--spacing-1);  Space between existing badges and the new badge */
}

/*.product-card[handle="ueberwachungskamera"] .product-card__badge-list::after {
  content: "Beliebt";
  
}

.product-card[handle="tuerklingel"] .product-card__badge-list::after {
  content: "Beliebt";
  
}/*



.customer-form--single { grid-template-columns: 1fr; }
.customer-form--single .customer-form__box { grid-column: 1 / -1; }
.customer-form--single .customer-form__box-inner { max-width: 980px; margin-inline: auto; }


/* ==========================================================================
   CART DISCOUNT — backported from Impact 7.1.0
   Lives here rather than in theme.css so theme.css stays stock-replaceable.
   Paired with snippets/cart-discount.liquid and assets/cart-discount.js.
   ========================================================================== */

/* 4.7.1 has no `spin` keyframes; 7.1.0 relies on one for the busy indicator. */
@keyframes spin {
  to { transform: rotate(360deg); }
}

.cart-discount-field--error { --input-text-color: var(--error-text); }

.cart-discount-field--error .input {
  box-shadow: inset 0 0 0 1px rgb(var(--input-text-color));
  border: 1px solid rgb(var(--input-text-color));
}

.cart-discount-field__loader {
  display: none;
  position: absolute;
  top: calc(50% - .375rem);
}

/* Upstream spells these out as long :lang() lists; this theme is DE-only front of house,
   so logical properties give the same result in both directions with far less noise. */
.cart-discount-field__loader { inset-inline-end: 1rem; }

.cart-discount-field[aria-busy="true"] .cart-discount-field__loader {
  display: block;
  animation: 1s linear infinite spin;
}


/* ==========================================================================
   FOOTER POLICY LINKS — backported from Impact 7.1.0
   Paired with the "Show policy links" setting in sections/footer.liquid.
   ========================================================================== */

.footer__policy-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.footer__policy-links li + li:before {
  content: "•";
  margin-inline-start: .5rem;
  margin-inline-end: .5rem;
  font-size: .75rem;
}



/* ==========================================================================
   RECLAIMED FROM THEME-EDITOR CUSTOM LIQUID
   Each block below was pasted identically into several templates as an inline
   <style> tag. Hoisted here so it exists once and is version-controlled.
   Every selector was verified to appear nowhere in theme.css or any .liquid,
   so these rules can only match markup the original blocks themselves create.
   ========================================================================== */


/* --- was inline in 2 place(s): page.dienstleistung.json › image_with_text_overlay_jC9U3Q › liquid_aM4ER9; page.uberwachungskameras-seo.json › image_with_text_overlay_jC9U3Q › liquid_aM4ER9 --- */
.blflagge {
    width: 2000px;
    height: 100px;
    justify-content: center;
    align-items: center;
}


/* --- was inline in 5 place(s): product.big-product.json › main › liquid_VrzwBg; product.json › main › liquid_xAAwjL; product.product-camera.json › main › liquid_VrzwBg; product.product-new.json › main › liquid_X8FM9H; product.product-nvr.json › main › liquid_VrzwBg --- */
.badge-wrapper {

display: flex;
justify-content: space-between;
align-items: center;
gap: 2ch;
}


/* --- was inline in 5 place(s): product.big-product.json › main › liquid_FAwnbQ; product.json › main › liquid_kPTWKb; product.product-camera.json › main › liquid_FAwnbQ; product.product-new.json › main › liquid_kPTWKb; product.product-nvr.json › main › liquid_FAwnbQ --- */
#productbox-other-categories {
        background-color: whitesmoke;
        border-radius: 0.3rem;
        padding: 1.33rem;
    }
    
    #productbox-other-categories p {
        margin-bottom: 1ch;
    }
    
    .category-list {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
        gap: 1rem;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    
    .category-list li {
        position: relative;
        border-radius: 1rem;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        color: white;
        height: 20ch; /* Set fixed height */
        overflow: hidden;
    }

    /* Optional: Add an overlay for better text readability */
    .category-list li::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 33%);
    border-radius: 1rem;
    z-index: 0;
}

    /* Assign individual background images via CSS using the existing classes */
    .item-kamera {
        background-image: url('/cdn/shop/files/kategoriebuttons_1.webp?v=1732805661');
    }

    .item-klingel {
        background-image: url('/cdn/shop/files/kategoriebuttons_2.webp?v=1732805660');
    }

    .item-alarm {
        background-image: url('/cdn/shop/files/kategoriebuttons_3.webp?v=1732805660');
    }
    
    .category-list li a {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: inherit;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
        white-space: normal; 
        overflow-wrap: break-word; 
        word-wrap: break-word; 
        hyphens: auto;
        z-index: 1;
        padding: 1rem;
        border-radius: 1rem; /* Ensure the clickable area matches the container's shape */
    }
    
    .category-list li a p {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .item-hidden {
        display: none;
    }


/* --- was inline in 2 place(s): product.json › main › liquid_TtrFQQ; product.product-new.json › main › liquid_TtrFQQ --- */
.set-sale-container {

display: flex;
flex-direction: row;
height: 10rem;



gap: 1rem;
}

  .set-sale-container > div {
    background-color: lightgrey;
padding: 0.6rem;
flex-grow: 1;
flex-direction: 2rem;
border-radius: 1em;
  }

/* ------------------------------------------------------------------
   Country flags (inline SVG)
   Replaces the .country-flags PNG sprite, which cost 169 KB at 1x and
   468 KB at 2x to render six flags. See snippets/country-flag.liquid.
   Sizing and drop-shadow are carried over from the old sprite rule so
   the selector looks unchanged; the hairline border keeps the white
   bands of the Austrian, Dutch and Swiss flags visible on light
   backgrounds, which the sprite handled with baked-in edges.
   ------------------------------------------------------------------ */
.country-flag {
  width: 20px;
  height: auto;
  flex-shrink: 0;
  border-radius: 2px;
  box-shadow: 0 0 0 0.5px rgb(0 0 0 / 0.12);
  filter: drop-shadow(0px 2px 3px rgb(0 0 0 / 0.1));
}
