/* v3.0.0 */
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/jostlatinext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/jostlatinext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/jostlatin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/jostlatin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html,body {
	font-family: 'Jost', sans-serif;
	color:#111;
	background: linear-gradient(132deg, rgba(244,244,244,1) 0%, rgba(235,235,235,1) 72%, rgba(219,219,219,1) 100%);
}


h1,h2,h3,h4 {
	font-weight:600!important;
	font-family: 'Jost', sans-serif!important;
	color:#111;
	letter-spacing: -1px;
}

/* Navbar */
#ec-navbar {
	background-color:rgba(255, 255, 255, 1);
	color: #222!important;
	height:74px;
	font-weight:300!important;
}
#ec-navbar svg {
	color: #222!important;
}
#ecaupo-desktopmenu {
	gap:0;
}
#ecaupo-desktopmenu li > a {
	font-size:1rem!important;
	min-height:20px;
	padding:5px 20px 5px 20px;
	margin:20px 0 20px 0;
	color:#222;
	font-weight:300;
	text-align:center;
}
#ecaupo-desktopmenu > li > a > .uk-nav-parent-icon > svg {
	width:15px;height:15px;
}
#ecaupo-desktopmenu > li > a > .uk-nav-parent-icon {
	margin-left:0;
}
#ecaupo-desktopmenu > li > ul {
	background:#fff;
	border:1px solid rgba(188, 155, 93, 0.85);
	margin-top:-20px;
	padding:0!important;
}
#ecaupo-desktopmenu > li > ul > li a:hover {
	background:rgba(188, 155, 93, 0.85);
	color:#fff;
}


#ecaupo-desktopmenu li > a:hover, #ecaupo-desktopmenu li > a:hover svg {
	background:#222;
	color:#fff!important;
}
#ec-navbar .nav-icon-6 span, #ec-navbar .uk-badge {
	background-color: #222!important;
}
#ecaupo-logo {
	height:68px;
	padding-top:4px;
	float:left;
	margin-right:20px;
}
#shopFooter {
	background:#fff;
	margin-bottom:30px;
}
@media (max-width: 960px) {
	#ecaupo-logo {
		height:68px;
		padding-top:4px;
		float:left;
		margin-left:40%;
	}
	.nav-icon-6 {
		float:left;
		margin-top:30px;
	}
	.ec-link-minicart {
		margin-top:25px!important;
	}
}
.ecaupo-mainlogo {
	max-width:40%;
	margin-top:100px;
}

/* backgrounds */
.ec-category-header, .ec-order-header {
	height: 30vh;
}
.ec-bg {
	background: #fff; 
}
.ec-bg-reverse:not(li) {
	background-image: radial-gradient( circle 1259px at 2.8% 48.8%, rgb(255, 243, 110) 0%, rgb(119, 194, 85) 45.6%);
	color:#222;
}
.ec-bg-reverse:not(div) {
	background-image: radial-gradient( circle 1259px at 2.8% 48.8%, rgb(255, 243, 110) 0%, rgb(119, 194, 85) 45.6%);
	color: #222;
	border-radius: 8px;
	padding: 8px 8px 4px 8px;
	border: none;
}
.ec-bg-reverse:not(li) .ec-product-img-circle {
	box-shadow: 10px 10px 30px #84a626;
}
.ec-bg-reverse:not(div) .uk-text-muted {
	color:#fff!important;
}

.uk-label-success,.orderSuccess {
	background-color: #32d296!important;
	color: #fff!important;
}
.uk-label-danger,.orderRemove {
	background-color: #DE3B3D !important;
	color: #fff!important;
}
.ec-cms-container {
	background: #fff;
}

/* minicart */
.ec-minicart {
	box-shadow: 0px 10px 40px #999;
}
.ec-minicart-products-list li {
  	border-bottom: 1px solid #ccc;
}
.ec-minicart>.uk-heading-line > ::after, .ec-minicart>.uk-heading-line > ::before {
  border-bottom: 1px solid #ccc;
}

/* category tree */
.ec-categoryModal {
	background:#fff;
}
.ec-categoryModal, .ec-categoryModal a:not(.uk-button), .ec-categoryModal h1 {
	color:#333!important;
}
.ec-categoryModal .uk-icon-button {
	background-color: rgba(255, 255, 255,1)!important;
	color: rgba(34, 30, 30, 0.5)!important;
}
.ec-categoryModal .uk-nav-divider {
	border-top-color: rgba(193, 193, 193,1)!important;
}
.ec-categoryModal-inner {
	background:rgba(255,255,255,0.6);border-radius:16px;
}
.ec-categoryModal-footer .uk-navbar-container {
	background:#fff;
}

/* Buttons */
.ec-link-btn, .ec-link-btn-small, .ec-link-btn-large {
  background-color: #222;
  color: #fff;
  border: 1px solid transparent;
  border-radius:0px!important;
}
.ec-link-btn:hover, .ec-link-btn-small:hover, .ec-link-btn-large:hover {
  background-color: #151515;
  color: #fff;
}

/* add to cart */
.ec-product-addtocart {
	background:rgba(255,255,255,1);
	box-shadow: 0px 10px 40px #999;
}
.ec-product-addtocart .ec-product-img-square {
	box-shadow: 0px 0px 30px #e3e0e0;
}
.ec-product-img-circle {
  box-shadow: 10px 10px 30px #fff;
}
.ec-kat-artikelliste .ec-product-img-circle {
  box-shadow: 10px 10px 30px #ccc;
}
.ec-kat-artikelliste {
	background:#fff;
}
.ec-product-addtocart-bottom, .ec-order-bottom {
	background:linear-gradient(132deg, rgba(244,244,244,1) 0%, rgba(235,235,235,1) 72%, rgba(219,219,219,1) 100%);
}


/* Product Listing */

.ec-product-price {
	background: #fff;
}

.ec-label-std {
	color:#8e8e8e;
	padding: 4px 16px;
	border-radius:16px;
	font-size: .775rem;
}
.ec-label-std:not(.uk-label-warning) {
	background:#fff!important;
}
.ec-label-reverse {
	background:#8e8e8e!important;
	color:#fff!important;
	padding: 4px 16px;
	border-radius:16px;
	font-size: .775rem;
}
h2 sup {
	line-height: 20px;
	font-weight:normal;
}

/* forms */
.ec-clickableInput .uk-input {
	background: rgb(236, 236, 236) !important;
	border-radius:8px;
	color: rgba(40, 40, 40, 0.7)!important;
}
.ec-clickableInput .uk-input::placeholder {
	color: #999!important;
}


/* footer */
#ec-footer-inner {
	background:#fff;
}
#ec-footer-logo {
	-webkit-filter: saturate(0) brightness(50%);
	filter: saturate(0) brightness(50%);
	max-width:150px;
}

/* loader */
.loader {
   width: 50.4px;
   height: 44.8px;
   --c: linear-gradient(#adb8cf 0 0);
   background: var(--c) 0%   50%,
          var(--c) 50%  50%,
          var(--c) 100% 50%;
   background-size: 10.1px 100%;
   background-repeat: no-repeat;
   animation: loader 1s infinite linear;
}

@keyframes loader {
   33% {
      background-size: 10.1px 10% ,10.1px 100%,10.1px 100%;
   }

   50% {
      background-size: 10.1px 100%,10.1px 10% ,10.1px 100%;
   }

   66% {
      background-size: 10.1px 100%,10.1px 100%,10.1px 10%;
   }
}

/* Cookie Banner */
.ecaupo-cookie {
	background: #fff;
	color:#222;
}

/* Autocomplete */
.autocomplete-suggestions {
	background: #dfdddd;
	color: #646464;
	padding: 4px;
	cursor:pointer;
}

.ec-categoryModal-inner > ul > li {
    font-weight:300!important;
    text-transform:uppercase;
    font-size:1.2rem;
}

/* Slider */
.uk-dotnav > .uk-active > * {
  background-color: rgb(255, 255, 255);
}
.uk-dotnav > * > * {
	border: 1px solid rgb(255, 255, 255);
}

/* Festpreis Menü modern View */
.loadPaketArtikelAddon>div{ 
    color:#222!important;
}

.plusminus input {
  color: #222;
}
.ec-tab-paymethods > * > a {
    border: 1px solid #cfcfcf !important;
    border-radius: 8px!important;
    background: #f8f8f8!important;
}
.ec-tab-paymethods > .uk-active > a {
	color: #222!important;
}

/* Warenkorb Geschenk */
.ec-geschenk {
    display: flex;
    border:2px solid #ccc;
    border-radius:32px!important;
    padding: 4px;
    padding-right: 12px;
}
.ec-geschenk > div {
    padding: 8px;
}
.ec-geschenk img {
    width:100%;
    height:auto;
}
.ec-geschenk > div:nth-child(1){
    max-width:90px;
    max-height:100px;
}
.ec-geschenk > div:nth-child(2){
    flex: 1;
}
.ec-geschenk > div:nth-child(3){
    width:150px;
}
.ec-geschenk > div:nth-child(2) > span:nth-child(1){
    font-size:1.2rem;
    font-weight:600;
}

/* --- Mobile Breakpoint --- */
@media (max-width: 768px) {
    .ec-geschenk {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "col1 col2"
            "col1 col3";
        align-items: start;
    }
    .ec-geschenk > div:nth-child(1){ grid-area: col1; }
    .ec-geschenk > div:nth-child(2){ grid-area: col2; width:100%; }
    .ec-geschenk > div:nth-child(3){ grid-area: col3; width:100%; }
}

/* 
    addToCartModern 
    ------------------------------
*/
    .addToCartModalModern {
        background: rgba(255, 255, 255, 0.4); 
        backdrop-filter: blur(10px);
    }
    .addToCartModalModern>div, .addToCartModalModern>div {
        overflow-y:auto;
        margin-top:70px;
        border-radius:32px;
        max-height:calc(100dvh - 70px)!important;
        position:relative;
    }
    .addToCartModalModernInner {
        background: rgba(255,255,255,1);
    }
    @media (min-width: 768px) {
        .addToCartModalModern>div {
            left: calc(50% - 250px);
        }	
        .addToCartModalModern img {
            max-width: 90%;
        }

        .addToCartModalModern>div {
            max-width: 700px;
            margin-top:70px;
        }
        .addToCartModalModern img {
            max-width: 55%;
        }
    }
    .lumos-form-title {
      font-weight: bold;
      margin-bottom: 2px;
    }
    .atcm-form-input {
        margin-top: 0px;
    }
/*
	Plus- und Minus Icons
	--------------------------------------------------------
*/
    .lumos-plus-icon {
        width: 16px;
        height: 16px;
        display: inline-block;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23000" viewBox="0 0 16 16"><path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>');
        background-repeat: no-repeat;
        background-size: contain;
    }
    .lumos-minus-icon {
        width: 16px;
        height: 16px;
        display: inline-block;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23000" viewBox="0 0 16 16"><path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/></svg>');
        background-repeat: no-repeat;
        background-size: contain;
    }
    .lumos-ico-input {
        background:none;
        color:#222;
        border:none;
        width:22px;
        text-align: center;
    }

    select.uk-input {
        color:#222!important;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23000" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708"/></svg>');
      background-position: center right 10px;
      background-repeat: no-repeat;

    }
    select.uk-input:focus {
        color: #000 !important;
        background-color: #fff !important;
    }

    .lumos-btn-add {
        padding: 2px 4px;
        border-radius: 20px;
        display: block;
        text-align: center;
        color: #222;
        font-size: 0.8rem;
    }
    .lumos-btn-add.remove-mode {
        background: #a92330;
        color:#fff;
    }
    .lumos-btn-add.add-mode {
        background:#37ac60;
        color:#fff;
    }
/* uikit modal animation */
    .uk-modal {
        transform: translateY(100%);
        transition: transform 0.5s ease-out; /* Dauer und Art der Animation */
    }
    .uk-modal.uk-open {
        transform: translateY(0);
    }

/* Icons */
    .lumos-ico {
        cursor:pointer;
        display:inline-block;
        width:18px;
        height:18px;
        padding:4px;
        font-size: .875rem;
        line-height: 1.25rem;
        border-radius:.375rem;
        text-align: center;
        background: #ccc;
        background-size: contain;
        vertical-align: bottom;
    }
    .lumos-ico:hover {
        background: #999;
    }
    @media (max-width: 960px) {
        .lumos-ico, #submitOrder {
            transform: scale(0.9);
        }
    }
    .lumos-ico-large {
        width:32px;
        height:32px;
        padding:4px;
        font-size: 1rem;
        line-height: 1.5rem;
        border-radius:.375rem;
        text-align: center;
        background: #ccc;
    }
/*
	Plus- und Minus Icons
	--------------------------------------------------------
*/
    .plus-icon {
        width: 16px;
        height: 16px;
        display: inline-block;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"/></svg>');
        background-repeat: no-repeat;
        background-size: contain;
    }
    .minus-icon {
        width: 16px;
        height: 16px;
        display: inline-block;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23000" viewBox="0 0 16 16"><path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8"/></svg>');
        background-repeat: no-repeat;
        background-size: contain;
    }	
    .atcm-basket-options-count {
      margin: 0;
      color: #3a3a3a;
    }
    .atcm-basket-options-count:not(.uk-text-small){
        line-height:40px;
        line-height: 40px;
        border: none;
        background: none;
        width: 25px;
        text-align: center;
        font-size: 1rem;
    }
    @media (max-width: 960px) {
        .atcm-mobile-artikel-footer #orderAnzahl {
            margin-top:-7px;
        }
    }

/* ATCM Footer */
    .atcm-mobile-artikel-footer {
        position: sticky;
        bottom: 0;
        max-width:100%;
        padding: 24px;
        background: #fff;
    }
    .justify-between {
        display:flex;
        justify-content: space-between;		
    }

/* Basket anmiation */
    .particle {
          position: absolute;
          font-size: 20px;
          opacity: 1;
          animation: explode 0.6s ease-out forwards;
    }
    @keyframes explode {
      0% { transform: translate(0, 0) scale(1); opacity: 1; }
      50% { opacity: 1; }
      100% { transform: translate(var(--x), var(--y)) scale(0.5); opacity: 0; }
    }