:root {
    --bs-primary: #fdad06;
    --bs-primary-rgb: 253, 173, 6; /* gleiche Farbe als RGB */
    --gallery-bg: #0f0f0f;
    --thumb-size: 100px;
    --thumb-gap: 16px;
    --accent: #e8c97a;
    --nav-btn-size: 44px;
    --es-select-gray: #a8a8a8;
    --es-select-orange: #fdad06;
}

.text-primary { color: #fdad06 !important; }
.bg-primary { background-color: #fdad06 !important; }
.border-primary { border-color: #fdad06 !important; }
.btn-primary { --bs-btn-bg: #fdad06; --bs-btn-border-color: #fdad06; }

.btn-primary {
    background-color: #fdad06 !important;
    border-color: #fdad06 !important;
}
.btn-primary:hover {
    background-color: #fdad06 !important;
    border-color: #fdad06 !important;
}


.portrait-square {
    aspect-ratio: 1 / 1;   /* Quadrat */
    object-fit: cover;    /* Bild füllt das Quadrat */
    object-position: top; /* oberer Teil bleibt sichtbar */
}



.avatar-switcher-side {
    z-index: 5;
    max-width: 100px;
    position: fixed;
    bottom: 60px;
    right: 0px;
}
.avatar-switcher-side ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: 0;
    padding: 0;
}
.avatar-switcher-side ul li {
    max-width: 95px !important;
    max-height: 95px !important;
    padding: 5px;
    box-shadow: 0px 2px 5px #ccc;
    margin-bottom:20px;
    list-style-type: none;
    background-color: white;
    text-align: center;
    width: 6em;
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
}
.avatar-switcher-side ul li a {
    display: block;
}
.avatar-switcher-side ul li:not(.active) a {
    text-decoration: none;
}
.avatar-switcher-side ul li img {
    margin: auto;
}

.avatar-switcher-side ul li:not(.active) img {
    max-width: 56px;
}

.avatar-switcher-side ul li.active {
    max-width: 110px !important;
    max-height: 110px !important;
    border-color: #fdad06;
    background-color: #eaeaea;
    border-style: solid;
    border-width: 3px 0 3px 3px;
    width: 7em;
}

.esecom-slider-top .swiper {
    width: 100%;
    padding-bottom: 50px;
    max-height: 600px;
    height: 40vh;
    position: relative;
}

.esecom-highlight-slider .swiper, .esecom-highlight-offer-slider .swiper {
    width: 100%;
    max-height: 250px;
    height: 250px;
    position: relative;
}

.swiper-slide {
    background-position: center;
    background-size: cover;
    width: auto;
    height: 100%;
    display: flex;
    align-items: stretch;
}

.swiper-slide img {
    display: block;
    height: 100%;
    width: auto;
    object-fit: contain;   /* oder: contain */
}

.swiper-button-next {
    background: black;
    border-radius: 5px;
    height: 40px;
    width: 30px;
    opacity: .75;
    padding: 10px 5px;
    color: white;
}
.swiper-button-prev {
    background: black;
    border-radius: 5px;
    height: 40px;
    width: 30px;
    opacity: .5;
    padding: 10px 5px;
    color: white;
}

.swiper-button-next:hover  {
    opacity: 1;
}
.swiper-button-prev:hover  {
    opacity: 1;
}
.swiper-pagination-bullet {
    height: 12px;
    width: 12px;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: black;
}

.swiper-slide {
    overflow: hidden;
}

.es-product-info {
    background: #eaeaea;
    border-radius: 20px;
    padding: 20px;
}

.es-image-wrapper {
    /*width: 100%;*/
    aspect-ratio: 18 / 25;
    overflow: hidden;
    position: relative;
}

#esecom-geschenkideen .es-image-wrapper {
    aspect-ratio: 2 / 1;
}

/* sitzt AUF dem Bild */
/*.es-image-switcher {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 10px;
    font-size: 12px;
    line-height: 1.2;
    border-radius: 8px;
    color: black;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #ccc;
    z-index: 2;
}*/

.es-image-switch {

}

.es-product-cart .es-counter input {
    max-width: 30px;
    padding: 2px;
}

.es-product-col {
    display: flex;
}

/* Produkt-Box füllt die Spalte in der Höhe */
.es-product {
    display: flex;
    flex-direction: column;
/*    width: 100%;
    height: 100%;*/
}

/* Info-Bereich nimmt den verfügbaren Platz ein */
.es-product-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.es-price {
    margin-top: auto;
}

/* Warenkorb bleibt unten */
.es-product-cart {
    margin-top: 0.5em;
}
.qty-group {
    display: inline-flex;
    align-items: center;
    border: 2px solid #8a9ab5;     /* Farbe anpassen */
    border-radius: 14px;
    overflow: hidden;
    height: 44px;
    background: #fff;

}

.qty-group button {
    appearance: none;
    border: 0;
    background: transparent;
    color: black;
    padding: 0 8px;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    border-radius: 12px !important;
}
.es-tocart,.es-cart-trash {
    border-radius: 12px !important;
}

.es-cart-trash {
    /*color: var(--es-select-gray);*/
}

.qty-group input {
    width: 40px;
    border: 0 !important;
    text-align: center;
    font-size: 16px;
    outline: none;
    background: transparent !important;
}

/* Warenkorb-Sidebar */
#es-warenkorb-sidebar .qty-group {border: 1px solid black; height: 20px;}
#es-warenkorb-sidebar .qty-group button, #es-warenkorb-sidebar .qty-group input {padding: 0 1px;}
#es-warenkorb-sidebar > div.es-wrnkrb-sdbr-header.d-flex > button:hover {background: none; box-shadow: none !important;}
.btn.yellow-bg:hover {var(--global-palette2) !important;}


/* Warenkorn-Button */
#es-warenkorb-button-container a:hover {text-decoration: none;}

/* Spinners im Number-Input entfernen */
.qty-group input::-webkit-outer-spin-button,
.qty-group input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.qty-group input[type=number] {
    -moz-appearance: textfield;
}

.es-image-frame {
    position: absolute;
    overflow: hidden;
    /* background: #f5f5f5; */
}

.es-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ratio-18x25 {
    aspect-ratio: 18 / 25;   /* Wunschverhältnis hier */
}
.ratio-18x25.landscape {
    aspect-ratio: 25 / 18;   /* Wunschverhältnis hier */
}
.ratio-30x45.landscape {
    aspect-ratio: 45 / 30;
}
.ratio-13x18.landscape {
    aspect-ratio: 18 / 13;   /* Wunschverhältnis hier */
}
.ratio-10x15.landscape {
    aspect-ratio: 15 / 10;
}
.ratio-5x7.landscape {
    aspect-ratio: 7 / 5;
}
.ratio-5x6.landscape {
    aspect-ratio: 6 / 5;
}
.ratio-9x13.landscape {
    aspect-ratio: 13 / 9;
}
.ratio-7x5.landscape {
    aspect-ratio: 5 / 7;
}
.ratio-30x45 {
    aspect-ratio: 30 / 45;
}
.ratio-13x18 {
    aspect-ratio: 13 / 18;   /* Wunschverhältnis hier */
}
.ratio-10x15 {
    aspect-ratio: 10 / 15;
}
.ratio-5x7 {
    aspect-ratio: 5 / 7;
}
.ratio-9x13 {
    aspect-ratio: 9 / 13;
}
.ratio-7x5 {
    aspect-ratio: 7 / 5;
}
.ratio-25x18 {
    aspect-ratio: 25 / 18;
}
.ratio-3x1 {
    aspect-ratio: 3 / 1;
}
.ratio-2x1 {
    aspect-ratio: 2 / 1;
}
.ratio-3x2 {
    aspect-ratio: 3 / 2;
}

.es-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;     /* zuschneiden */
    object-position: center;
    display: block;
}

.es-image--double .es-image-frame:first-of-type {
    width: 70%;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.es-image--double .es-image-frame:last-of-type {
    width: 70%;
    top: 0;
    right: 0;
    z-index: 1;
}

.es-image--2x2 .es-image-frame:first-of-type {
    width: 47.5%;
    top: 0;
    left: 0;
}

.es-image--2x2 .es-image-frame:nth-of-type(2) {
    width: 47.5%;
    top: 0;
    right: 0;
}

.es-image--2x2 .es-image-frame:nth-of-type(3) {
    width: 47.5%;
    bottom: 0;
    left: 0;
}

.es-image--2x2 .es-image-frame:last-of-type {
    width: 47.5%;
    bottom: 0;
    right: 0;
}

.es-image-frame {
    cursor: pointer;
}
    /*
    .es-image--4x4 .es-image-frame { position:absolute; width: 24.5% !*23%*!; }
    .es-image--4x4 .es-image-frame:nth-of-type(4n + 1) { left: 0%; }
    .es-image--4x4 .es-image-frame:nth-of-type(4n + 2) { left: 25%; }
    .es-image--4x4 .es-image-frame:nth-of-type(4n + 3) { left: 50%; }
    .es-image--4x4 .es-image-frame:nth-of-type(4n + 4) { left: 75%; }

    .es-image--4x4 .es-image-frame:nth-of-type(-n + 4) { top: 0%; }
    .es-image--4x4 .es-image-frame:nth-of-type(n + 5):nth-of-type(-n + 8) { top: 25%; }
    .es-image--4x4 .es-image-frame:nth-of-type(n + 9):nth-of-type(-n + 12) { top: 50%; }
    .es-image--4x4 .es-image-frame:nth-of-type(n + 13):nth-of-type(-n + 16) { top: 75%; }*/
.es-image-wrapper.es-image--4x4 .es-image-frame,
.es-image-wrapper.es-image--2x6 .es-image-frame,
.esecom-container-8 .es-image-frame {
    position:inherit;
}

/*.es-image--2x6 .es-image-frame:first-of-type {
    width: 45%;
    top: 0;
    left: 0;
}*/

.es-image--2x6 .es-image-frame:nth-of-type(2) {
    width: 45%;
    top: 0;
    right: 0;
}

.es-image--2x6 .es-image-frame:nth-of-type(3) {
    width: 30%;
    top: 50%;
    right: 62%;
    z-index: 1;
}
.es-image--2x6 .es-image-frame:nth-of-type(4) {
    width: 30%;
    top: 50%;
    right: 31%;
    z-index: 1;
}
.es-image--2x6 .es-image-frame:nth-of-type(5) {
    width: 30%;
    top: 50%;
    right: 0;
    z-index: 1;
}

.es-image--2x6 .es-image-frame:nth-of-type(6) {
    width: 30%;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.es-image--2x6 .es-image-frame:nth-of-type(7) {
    width: 30%;
    bottom: 0;
    left: 31%;
    z-index: 2;
}
.es-image--2x6 .es-image-frame:nth-of-type(8) {
    width: 30%;
    bottom: 0;
    left: 62%;
    z-index: 2;
}

.swiper-free-mode > .swiper-wrapper {
    transition-timing-function: linear;
}

.img-icon-24 {
    width: 24px;
    height: 24px;
    object-fit: cover; /* Behält Proportionen bei und schneidet Ränder ab */
    display: inline-block;
}

.es-color-select {
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;   /* oder flex, wenn Block-Element */
    align-items: center;    /* vertikal mittig */
    gap: 3px;               /* Abstand zwischen Icon und Text */
    font-size:0.8em;
    color: black;
}

.es-color-select.active {
    font-weight: bold;
}

.es-color-select.active img {
    border: 2px solid black;
}

button.btn-close:hover {
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    color: black;
}
.btn-close {
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
}
.es-image-preview-wrapper {
    max-width: 150px;
    max-height: 150px;
    height: 150px;
    width: fit-content;
}
.es-image-preview-wrapper img {
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;  /* WICHTIG: Beschneidet das Bild statt es zu verzerren */
    object-position: center; /* Zentriert den Ausschnitt (optional) */
    border-radius: 8px; /* Optional: Hübsche Ecken */
}

#modalImage {
    max-height: 50vh;
}

#menu-item-541 {
    position: relative;
    z-index: 20;
}

.fly-img {
    position: fixed;
    z-index: 99999;
    pointer-events: none;
    will-change: transform, opacity;
    border-radius: 12px;
    transform-origin: center center;
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .fly-img { transition: none !important; }
}

.user-switch {
    position: relative;
    display: inline-block;
}

.logout-btn {
    position: absolute;
    top: 3px;
    right: 0px;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;

    color: #dc3545; /* optional rot */
    font-size: 1.2rem;
    z-index: 10;
}

/* Beim Hover über den gesamten Block anzeigen */
.user-switch:hover .logout-btn {
    opacity: 1;
    visibility: visible;
}




/* Tassendesigner Modal */
#es-tassendesign-modal .inactive, .es-tssndsgn-mdl-design-choice.inactive > button, .es-tssndsgn-mdl-design-choice-mobile.inactive > button, .es-tssndsgn-mdl-color-mode.inactive > button {border: 0px !important;}
.es-tssndsgn-mdl-image-select.active .es-tssndsgn-mdl-image-select-icon {display: block !important;}
#es-tassendesign-modal .border-secondary {border-color: var(--global-palette6) !important;}
.es-tssndsgn-mdl-color-name .inactive {font-weight: 400 !important;}

/* Gratisprodukt Modal */
#es-free-modal-container .inactive, .es-free-mdl-product-choice.inactive > button, .es-free-mdl-product-choice-mobile.inactive > button, .es-free-mdl-color-mode.inactive > button {border: 0px !important;}
.es-free-mdl-image-select.active .es-free-mdl-image-select-icon {display: block !important;}
#es-free-modal-container .border-secondary {border-color: var(--global-palette6) !important;}
.es-free-mdl-color-name .inactive {font-weight: 400 !important;}
.es-free-mdl-product-choice img {aspect-ratio: 2 / 1; object-fit: cover; object-position: center;}
.es-free-mdl-preview-main .es-image-wrapper {aspect-ratio: 4 / 3 !important;}
.es-free-mdl-preview-main img {aspect-ratio: 4 / 3; object-fit: cover; object-position: center;}

/* Mobile Anpassungen */
@media (max-width: 576px) {
    #selectedName, .es-tssndsgn-mdl-design-select, .es-free-mdl-product-select, .es-tssndsgn-mdl-cart-container {display: none;}
}
@media (min-width: 576px) {
    .es-tssndsgn-mdl-design-select-mobile, .es-free-mdl-product-select-mobile, .es-tssndsgn-mdl-cart-container-mobile {display: none};
}


.deepl-switcher__menu a {
    text-decoration: none !important;
}

.es-product-description {
    min-height: 60px;
}

/* Overlay – in jede globale CSS-Datei */
#es-ajax-overlay {
    display: none;
    position: fixed;
    inset: 0;                    /* top/right/bottom/left: 0 */
    background: rgba(0, 0, 0, 0.45);
    z-index: 9999;
    cursor: not-allowed;

    /* Spinner zentrieren */
    align-items: center;
    justify-content: center;
}

#es-ajax-overlay.active {
    display: flex;
}

/* Optionaler Lade-Spinner */
.es-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.es-wrnkrb-main-product-image {
    max-height: 70px;
}

#item-added-to-cart-notification {
    max-width: 230px;
    font-size: 14px;
    position: fixed;
    top: 115px;
    right: -300px;
    z-index: 20;
}

body {
    background: var(--gallery-bg);
    color: #f0ece4;
    font-family: 'Georgia', serif;
}

/* ── Preview Area ── */
.gallery-preview-wrap {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    /*aspect-ratio: 16 / 9;*/
}

.gallery-slide {
    display: none;
    width: 100%;
    height: 100%;
    /*position: absolute;*/
    inset: 0;
    opacity: 0;
    transition: opacity .35s ease;
}

.gallery-slide.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}



.gallery-slide.html-slide {
    padding: 2rem;
    flex-direction: column;
    text-align: center;
    background: linear-gradient(135deg, #1c1c2e 0%, #2a1a2e 100%);
}

/* ── Navigation Arrows ── */
.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255,255,255,.55);
    border: 1px solid rgba(0,0,0,.90);
    width: var(--nav-btn-size);
    height: var(--nav-btn-size);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s;
    font-size: 1.1rem;
    backdrop-filter: blur(4px);
}

.gallery-nav:hover {
    background: rgba(232,201,122,.85);
    border-color: var(--accent);
    color: #000;
}

.gallery-nav.prev { left: 12px; }
.gallery-nav.next { right: 12px; }

/* ── Thumbnail Strip (Standard: unten, horizontal) ── */
.gallery-thumbs {
    display: flex;
    gap: var(--thumb-gap);
    overflow-x: auto;
    padding: 10px 2px 4px;
    scrollbar-width: thin;
    scrollbar-color: #444 transparent;
}

.gallery-thumbs::-webkit-scrollbar       { height: 4px; }
.gallery-thumbs::-webkit-scrollbar-track { background: transparent; }
.gallery-thumbs::-webkit-scrollbar-thumb { background: #444; border-radius: 2px; }

.gallery-thumb-item {
    flex: 0 0 var(--thumb-size);
    /*width: var(--thumb-size);*/
    /*max-height: var(--thumb-size);*/
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: var(--thumb-gap);
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color .2s, transform .2s, opacity .2s;
    /*opacity: .6;*/
    position: relative;
    background: #ccc;
}

.gallery-thumb-item:hover        { opacity: .9; transform: translateY(-2px); }
/*.gallery-thumb-item.active       { border-color: var(--accent); opacity: 1; }*/

.gallery-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    pointer-events: none;
}

.gallery-thumb-item .thumb-html-label {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: .6rem;
    color: #ccc;
    gap: 4px;
    background: #1e1e2e;
    padding: 4px;
    text-align: center;
    line-height: 1.2;
}

.gallery-thumb-item .thumb-html-label i {
    font-size: 1.2rem;
    color: var(--accent);
}

/* ── Slide Counter ── */
.gallery-counter {
    font-size: .75rem;
    letter-spacing: .12em;
    color: #888;
    text-transform: uppercase;
}

.gallery-counter span { color: var(--accent); font-weight: 600; }

/* ── Demo HTML-Slide ── */
.html-slide h2 {
    font-size: clamp(1.2rem, 4vw, 2.2rem);
    color: var(--accent);
    margin-bottom: .75rem;
}

.html-slide p {
    color: #bbb;
    max-width: 480px;
    font-size: .95rem;
    line-height: 1.7;
}

.html-slide .badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 1.25rem;
}

.html-slide .badge-row span {
    border: 1px solid var(--accent);
    color: var(--accent);
    font-size: .72rem;
    letter-spacing: .1em;
    padding: 4px 12px;
    border-radius: 2px;
    text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════
   THUMBS RECHTS  –  Modifier: .gallery--thumbs-right
   Auf .gallery-wrap  →  Thumbs rechts neben dem Preview
   Entfernen = zurück zum Standard (Thumbs unten)
═══════════════════════════════════════════════════════ */

.gallery--thumbs-right {
    display: flex;
    gap: var(--thumb-gap);
    align-items: flex-start;
}

/* Preview füllt den restlichen Platz */
.gallery--thumbs-right .gallery-preview-wrap {
    /*flex: 1 1 0;*/
    min-width: 0;
    margin-bottom: 0 !important;
}

/* Thumbs: vertikal, scrollbar, Höhe = Preview (per JS) */
.gallery--thumbs-right .gallery-thumbs {
    flex-direction: column;
    overflow-x: visible;
    overflow-y: auto;
    padding: 0;
    scrollbar-width: thin;
}

.gallery--thumbs-right .gallery-thumbs::-webkit-scrollbar       { width: 4px; }
.gallery--thumbs-right .gallery-thumbs::-webkit-scrollbar-track { background: transparent; }
.gallery--thumbs-right .gallery-thumbs::-webkit-scrollbar-thumb { background: #444; border-radius: 2px; }

/* Hover horizontal */
.gallery--thumbs-right .gallery-thumb-item:hover { transform: translateX(3px); }

/* Unter 480 px: Thumbs wieder unten */
@media (max-width: 479px) {
    .gallery--thumbs-right                            { flex-direction: column; }
    .gallery--thumbs-right .gallery-preview-wrap      { margin-bottom: .5rem !important; }
    .gallery--thumbs-right .gallery-thumbs            { flex-direction: row; overflow-x: auto; overflow-y: visible; max-height: none !important; padding: 10px 2px 4px; }
    .gallery--thumbs-right .gallery-thumb-item:hover  { transform: translateY(-2px); }
}

.gallery-slide .layout-canvas>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.layout-canvas {
    position: relative;
}

.layout-item {
    position: absolute;
}

.layout-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.layout-canvas>img{
    position: relative;
    z-index: 4;
    width: 100%;
    height: 100%;
}


.es-image-preview-wrapper.active img {
    border: solid 2px var(--global-palette6);
}

.modal-fullscreen-margin .modal-dialog {
    margin: 2rem 0.5rem 0.5rem 0.5rem;
    max-width: calc(100% - 1rem);
    width: calc(100% - 1rem);
}
.modal-fullscreen-margin .modal-content {
    height: calc(100vh - 1rem);
    border-radius: 8px;
    overflow: hidden;
}

@media (min-width: 768px) {
    .modal-fullscreen-margin .modal-dialog {
        margin: 1.5rem;
        max-width: calc(100% - 3rem);
        width: calc(100% - 3rem);
    }
    .modal-fullscreen-margin .modal-content {
        height: calc(100vh - 3rem);
        border-radius: 12px;
    }
}

.modal-fullscreen-margin .modal-body {
    overflow-y: auto;
}

.modalArticlePreview {
    width: 190px;
    display: inline-block;
    margin: 0 10px 10px 0;
}


.es-image-preview-wrapper {
    position: relative;
    display: inline-block; /* oder block, je nach Layout */
}
.es-zoom-btn {
    position: absolute;
    top: 5px;           /* halb rausgucken lassen */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--bs-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s, background .15s;
}
.es-image-preview-wrapper:hover .es-zoom-btn {
    opacity: 1;
    pointer-events: auto;
    background: var(--bs-primary);
}

.grouped-content img {
    height: auto;
    object-fit: inherit !important;
}

.es-required {
    border: 6px solid red;
    border-radius: 25px;
}

.es-required {
    border: 6px solid #bd0a0a;
    border-radius: 25px;
}

.es-required::before {
    content: "Wähle Dein Gratisprodukt";
    position: absolute;
    top: 0px; /* über dem Element */
    left: 0;
    z-index: 10;
    text-align: center;
    background: #bd0a0a;
    color: #fff;
    width: 100%;
    padding: 4px 8px;
    border-radius: 25px;
    white-space: nowrap;
}
