@font-face {
    font-family: "Inter";
    src: url("fonts/inter/Inter-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "Inter";
    src: url("fonts/inter/Inter-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "Inter";
    src: url("fonts/inter/Inter-ExtraBold.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: block;
}

.mas-gl {
    padding: 0;
    margin: .5rem 0 0;
    display: flex;
    justify-content: center;
}

.mas-gl-legal-badge {
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: none;
    box-shadow: none;
    background: transparent;
    padding: 0;
}

.mas-gl-legal-badge__image {
    width: 100%;
}

.mas-gl-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


.mas-gl-legal__assets {
    position: relative;
    display: grid;
    gap: 1rem;
    max-width: 540px;
    width: 100%;
}

.mas-gl-legal--mini-cart {
    margin: 0 0 1rem;
}

.mas-gl-legal--mini-cart .mas-gl-legal__assets {
    max-width: 100%;
}

/* NOVA/MAS: Checkout-fähige Mini-Warenkörbe scrollen als Ganzes, damit kein Flex-Kind Inhalte verdrängt. */
.mas-gl-mini-cart--legal--nova,
.mas-gl-mini-cart--legal--mas5,
.mas-gl-mini-cart--legal--custom {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

#slideInCart.mas-gl-mini-cart--legal--nova,
#slideInCart.mas-gl-mini-cart--legal--mas5,
#slideInCart.mas-gl-mini-cart--legal--custom {
    max-height: 100vh !important;
    max-height: 100dvh !important;
}

.mas-gl-mini-cart--legal--nova > .d-flex.h-100,
.mas-gl-mini-cart--legal--mas5 > .d-flex.h-100,
.mas-gl-mini-cart--legal--custom > .d-flex.h-100 {
    height: auto !important;
    min-height: 100%;
}

.mas-gl-mini-cart--legal--nova .table-responsive,
.mas-gl-mini-cart--legal--nova .dropdown-body,
.mas-gl-mini-cart--legal--mas5 .table-responsive,
.mas-gl-mini-cart--legal--mas5 .dropdown-body,
.mas-gl-mini-cart--legal--custom .table-responsive,
.mas-gl-mini-cart--legal--custom .dropdown-body {
    flex-shrink: 0;
}

.mas-gl-mini-cart--legal--nova .table-responsive,
.mas-gl-mini-cart--legal--mas5 .table-responsive,
.mas-gl-mini-cart--legal--custom .table-responsive {
    max-height: none !important;
}

.mas-gl-legal__image,
.mas-gl-guarantee__image,
.mas-gl-guarantee__nested {
    display: block;
    max-width: 100%;
    height: auto;

    min-height: 2rem;
    background-color: #fff;
}



.mas-gl-guarantee__summary {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}

.mas-gl-guarantee__nested-wrap {
    position: relative;
    display: inline-block;
    /*width: min(12rem, 100%);
    max-width: 12rem;*/
    width: 100%;
}




.mas-gl-guarantee {
    max-width: 12rem;
}

.product-detail .mas-gl-guarantee {
    max-width: 15rem;
    display: block;
}

.mas-gl-profile--snackys.mas-gl-guarantee:not(.mas-gl-guarantee--productbox),
.mas-gl-profile--snackys.mas-gl-guarantee--productbox[data-mas-gl-context-preferred="box"] {
    margin-bottom: .75rem;
}

.mas-gl-guarantee--productbox.mas-gl-label-absolute {
    position: absolute;
    top: auto;
    bottom: .35rem;
    left: .25rem;
    /*transform-origin: bottom left;
    transform: scale(.75);
    max-width: 10rem;*/
    z-index: 9;
}

.mas-gl-guarantee--mini-cart {
    max-width: 11rem;
    margin-top: .35rem;
}

.mas-gl-mini-cart-label {
    display: contents;
}


.mas-gl-guarantee__nested-wrap .mas-gl-guarantee__nested {
    width: 100%;
    border: 1px solid var(--gray-light, #dee2e6);
    border-radius: .125rem;
}

.mas-gl-guarantee__nested-years {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    color: #000000;
    pointer-events: none;
}

.mas-gl-guarantee__nested-years text {
    fill: currentColor;
    font-family: "Inter";
    font-size: 138px;
    font-weight: 800;
    line-height: 1;
}

.mas-gl-guarantee__nested-years .mas-gl-guarantee__nested-years-fraction {
    font-size: 70px;
}

.mas-gl-guarantee__label-wrap {
    position: relative;
    display: inline-block;
    width: min(32rem, 100%);
}

.mas-gl-guarantee__label-wrap .mas-gl-guarantee__image {
    width: 100%;
}

.mas-gl-guarantee__label-values {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    color: #000000;
    pointer-events: none;
}

.mas-gl-guarantee__label-values text {
    fill: currentColor;
    font-family: "Inter";
    line-height: 1;
}

.mas-gl-guarantee__label-brand {
    font-size: 31px;
    font-weight: 400;
}

.mas-gl-guarantee__label-model {
    font-size: 31px;
    font-weight: 600;
}

.mas-gl-guarantee__label-years {
    font-size: 220px;
    font-weight: 800;
}

.mas-gl-guarantee__label-values .mas-gl-guarantee__label-years-fraction {
    font-size: 120px;
    font-weight: 800;
}

.mas-gl-guarantee__toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    padding: .15rem 0;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;

    position: absolute;
    opacity: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: var(--white, #fff);
    transition: background-color .12s linear;
}

.mas-gl-guarantee--productbox .mas-gl-guarantee__toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 0;
    border-bottom: 0px solid currentColor;
    padding: 0 1rem;
    font-size: .82rem;
    text-align: left;
    cursor: pointer;
    position: absolute;
    opacity: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: var(--white, #fff);
    transition: opacity .12s linear;
}

.mas-gl-guarantee__toggle::after {
    content: "";
    width: .45rem;
    height: .45rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-.1rem) rotate(45deg);
    transition: transform .16s ease;
}

.mas-gl-guarantee__toggle[aria-expanded="true"]::after {
    transform: translateY(.1rem) rotate(225deg);
}
.mas-gl-guarantee__toggle:hover,
.mas-gl-guarantee__toggle:focus,
.mas-gl-guarantee__toggle:active {
    opacity: 0;
}

.mas-gl-guarantee__toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: .25rem;
}

.mas-gl-guarantee__full {
    margin-top: 1rem;
}

.mas-gl-js .mas-gl-guarantee__full[hidden] {
    display: none;
}

/* Modal-Modus: Label-Bild füllt den Dialog, kein horizontales Scrollen */
.mas-gl-modal .mas-gl-guarantee__label-wrap {
    width: 100%;
    max-width: 100%;
    max-width: 640px;
}

.mas-gl-modal .modal-body {
    display: flex;
    justify-content: center;
}

/* Snackys begrenzt den Modal-Body auf 65vh; eine höhenabhängige Breite reduziert dort inneres Scrollen. */
.mas-gl-modal--snackys .mas-gl-guarantee__label-wrap {
    width: min(32rem, 100%, calc(61.75vh - 4rem));
}
