/* FE-TARIFF-RESULTS BUILD 2026.07.21-r9 | Responsive results, filters and comparison */
/* FE-TARIFF-RESULTS BUILD 2026.09.29-r56 | Hinweis zur ODER-Filterung */
/* FE-TARIFF-RESULTS BUILD 2026.09.29-r57 | Eindeutige Filter- und Preishinweise */
/* FE-TARIFF-RESULTS BUILD 2026.09.29-r58 | Preisschutz nach Art und Dauer */

/* FE-TARIFF-RESULTS BUILD 2026.07.21-r10 | Amazon-Gutschein-Hinweis */
.tariff-card__coupon-note {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: .35rem;
    margin: .35rem 0 .15rem 1.55rem;
    color: #4f5d72;
    font-size: .78rem;
    line-height: 1.4;
}

/* Kompakte Tarifsortierung mit vorhandenem System-Tooltip. */
.fe-sort-control {
    width: min(100%, 520px);
}

.fe-sort-control__field {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.fe-sort-control__sort-icon {
    flex: 0 0 auto;
    color: #10284a;
    font-size: 1.5rem;
}

.fe-sort-select {
    flex: 1 1 auto;
    min-width: 0;
    color: #10284a;
    font-weight: 600;
}

.fe-sort-control__tooltip {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: .25rem;
    cursor: pointer;
}

.fe-sort-control__tooltip[hidden] {
    display: none;
}

.fe-sort-control__tooltip:focus {
    outline: 2px solid #10284a;
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .fe-sort-control {
        width: 100%;
    }

    .fe-sort-control__field {
        gap: .35rem;
    }
}

/* EXTRA LOGO CARDS 2026.09.01-v6 | Eigenes Plus und gleicher Schatten je Extra */
.tariff-card__extra-logo-item.tariff-card__extra-logo-item {
    background: #fff;
    box-shadow: 0 5px 14px rgba(16, 40, 74, .18);
}

.tariff-card__extra-logo-item.tariff-card__extra-logo-item--treemer {
    width: 100%;
    min-height: 0;
    padding: .65rem .55rem .55rem;
    border-top: 4px solid #78b82a;
    background: #fff;
    box-shadow: 0 5px 14px rgba(16, 40, 74, .18);
}

.tariff-card__extra-logo-item--treemer .tariff-card__treemer {
    display: block;
    width: 100%;
    max-width: 142px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.tariff-card__extra-logo-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    margin: .15rem 0;
    color: #29720d;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
}

/* WAIPU BONUS 2026.09.01-v2 | Schlichtes Plus innerhalb des Fließtexts */
.tariff-card__bonus-plus {
    color: #29720d;
    font-size: 1.05em;
    font-weight: 800;
}

.tariff-card__bonus-text {
    min-width: 0;
}

@media (max-width: 991.98px) {
    .tariff-card__extra-logo-item.tariff-card__extra-logo-item--treemer {
        padding: .5rem .4rem .45rem;
    }

    .tariff-card__extra-logo-item--treemer .tariff-card__treemer {
        width: 100%;
        max-width: 112px;
        height: auto;
    }

    .tariff-card__extra-logo-separator {
        min-height: 24px;
        margin: .1rem 0;
        font-size: 1.25rem;
    }
}

/* Verivox-Demotarif: ausschließlich additive Regeln; bestehende Tarifkarten bleiben unverändert. */
.verivox-offer {
    overflow: hidden;
    border: 2px solid #1f3156;
    background: #fff;
}

.verivox-offer__label {
    padding: .55rem 1.25rem;
    background: #ff5a00;
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .01em;
}

.verivox-offer__main {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(210px, 1.25fr) minmax(180px, .9fr);
    grid-template-areas:
        "identity components price"
        "identity components actions";
    gap: 1rem 1.5rem;
    padding: 1.25rem;
}

.verivox-offer__identity { grid-area: identity; }
.verivox-offer__title { margin: 0; color: #10284a; font-size: 1.2rem; }
.verivox-offer__provider { margin-top: .25rem; font-size: .9rem; }
.verivox-offer__provider-logo {
    display: block;
    max-width: 160px;
    max-height: 64px;
    width: auto;
    height: auto;
    margin-top: 1rem;
    object-fit: contain;
}

.verivox-offer__price { grid-area: price; text-align: right; }
.verivox-offer__price > strong { display: block; color: #10284a; font-size: 1.35rem; }
.verivox-offer__saving { margin-top: .4rem; color: #29720d; font-weight: 600; }

.verivox-offer__components { grid-area: components; margin: 0; }
.verivox-offer__components > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem 0;
    border-bottom: 1px solid #dfe3e8;
}
.verivox-offer__components dt { font-weight: 400; }
.verivox-offer__components dd { margin: 0; text-align: right; font-weight: 600; }

.verivox-offer__actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    align-self: end;
}
.verivox-offer__details-button { padding: .35rem; color: #10284a; background: transparent; }
.verivox-offer__signup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    width: 100%;
    min-height: 48px;
    padding-right: .6rem;
    padding-left: .6rem;
    border: 0;
    background: linear-gradient(
        145deg,
        #ff7a1a 0%,
        #ff5a00 58%,
        #d94700 100%
    );
    color: #fff;
    font-size: .95rem;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .24),
        0 4px 9px rgba(217, 71, 0, .25);
    white-space: nowrap;
    transition: filter .18s ease, box-shadow .18s ease, transform .18s ease;
}

.verivox-offer__signup i {
    flex: 0 0 auto;
}

.verivox-offer__signup:hover,
.verivox-offer__signup:focus {
    color: #fff;
    filter: brightness(1.08);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .3),
        0 6px 13px rgba(217, 71, 0, .32);
}

.verivox-offer__signup:active {
    color: #fff;
    filter: brightness(.96);
    transform: translateY(1px);
}

.verivox-offer__details { padding: 1.25rem; border-top: 1px solid #dfe3e8; }
.verivox-offer__details h3 { margin: 0 0 1rem; font-size: 1.1rem; }
.verivox-offer__savings-details table { width: 100%; margin: 1rem 0; }
.verivox-offer__savings-details td { padding: .35rem .5rem; vertical-align: top; }
.verivox-offer__savings-details td:nth-child(2) { white-space: nowrap; font-weight: 600; }
.verivox-offer__origin { margin: 1rem 0 0; }

@media (max-width: 991.98px) {
    .verivox-offer__main {
        grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr);
        grid-template-areas:
            "identity price"
            "components components"
            "actions actions";
    }
    .verivox-offer__actions { flex-direction: row; }
    .verivox-offer__actions > * { flex: 1 1 50%; }
}

@media (max-width: 575.98px) {
    .verivox-offer__main {
        grid-template-columns: 1fr;
        grid-template-areas: "identity" "price" "components" "actions";
    }
    .verivox-offer__price { text-align: left; }
    .verivox-offer__actions { flex-direction: column; }
    .verivox-offer__savings-details { overflow-x: auto; }
}

/* FE-TARIFF-RESULTS BUILD 2026.08.03-r30-final | Verbindliche mobile Darstellung */
@media (max-width: 767.98px) {
    .masterhead {
        min-height: 72px;
        height: 72px;
        padding: 0 1rem;
    }

    .masterhead > .row {
        align-items: center;
        height: 72px;
        margin: 0 auto;
    }

    .masterhead > .row > .col {
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0;
    }

    .masterhead > .row > .col:last-child { justify-content: flex-end; }
    .logo_link {
        display: inline-flex;
        align-items: center;
        height: 100%;
        margin: 0;
        padding: .35rem 0;
    }
    .logo {
        display: block;
        width: 145px;
        max-width: 45vw;
        height: auto !important;
        max-height: 48px;
        object-fit: contain;
        object-position: left center;
    }
    .menu_pos,
    .menu_pos .conatiner-fluid,
    .menu_pos .row,
    .menu_pos .col {
        margin: 0;
        padding: 0 !important;
    }
    .mobile-menu-toggle {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .12rem;
        min-width: 52px;
        min-height: 52px;
        margin: 0;
        padding: .35rem .45rem;
        border: 0;
        color: #fff;
        background: transparent;
    }
    .mobile-menu-toggle .hamburger-box { width: 34px; height: 24px; }
    .mobile-menu-toggle .hamburger-inner,
    .mobile-menu-toggle .hamburger-inner::before,
    .mobile-menu-toggle .hamburger-inner::after {
        width: 34px;
        height: 4px;
    }
    .mobile-menu-label {
        color: #fff;
        font-size: .72rem;
        font-weight: 600;
        line-height: 1;
    }
    #navbarMenupoints {
        position: absolute;
        top: 72px;
        max-height: calc(100vh - 72px);
        max-height: calc(100dvh - 72px);
        overflow-y: auto;
        box-shadow: 0 8px 18px rgba(16, 40, 74, .2);
    }

    .mobile-results-tools {
        position: sticky !important;
        top: 0 !important;
        z-index: 1025;
        margin: 0 -.15rem .65rem;
        padding: .4rem .15rem;
        border-bottom: 1px solid #d8dde5;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 3px 8px rgba(16, 40, 74, .08);
    }
    .mobile-filter-open,
    .mobile-results-tools__sort #sort_by {
        min-height: 46px;
        height: 46px;
        border: 1px solid #9fa9b5;
        background-color: #fff;
        font-size: .9rem;
    }

    .tariff-card { margin-bottom: 1rem; border-color: #8f9aa7; }
    .tariff-card__main {
        column-gap: .65rem !important;
        row-gap: .75rem !important;
        padding: .9rem !important;
    }
    .tariff-card__title { font-size: 1.05rem; line-height: 1.2; }
    .tariff-card__logo { max-width: 125px; max-height: 48px; margin-top: .6rem; }
    .tariff-card__annual-price { font-size: 1.25rem; }
    .tariff-card__saving {
        max-width: 145px;
        margin-left: auto;
        font-size: .82rem;
    }
    .tariff-card__extras {
        width: 128px;
        margin-top: .75rem;
        border-width: 1px;
        box-shadow: 0 2px 5px rgba(16, 40, 74, .12);
    }
    .tariff-card__extra-label {
        min-height: 22px;
        padding: .05rem .4rem .1rem;
        font-size: 1.35rem;
    }
    .tariff-card__extra-logos { padding: 0 .4rem .35rem; }
    .tariff-card__extra-logo-item { min-height: 42px; padding: .2rem 0; }
    .tariff-card__extra-logo-item + .tariff-card__extra-logo-item {
        margin-top: .3rem;
        padding-top: .7rem;
    }
    .tariff-card__extra-logo-item + .tariff-card__extra-logo-item::before {
        top: -.35rem;
        font-size: 1.1rem;
    }
    .tariff-card__amazon.willkomensgutschein {
        margin: -8px 0;
        transform: scale(.7);
        transform-origin: center center;
    }
    .tariff-card__treemer { width: 50px; height: 44px; }
    .tariff-card__waipu { width: 92px; }
    .tariff-card__benefits { gap: .38rem; padding-top: .7rem; }
    .tariff-card__bonus-highlights { gap: .3rem; }
    .tariff-card__bonus-chip { padding: .24rem .4rem; font-size: .86rem; }
    .tariff-card__actions {
        display: flex !important;
        flex-direction: column;
        gap: .35rem;
        padding-top: .7rem;
    }
    .tariff-card__choose-form,
    .tariff-card__choose-button { width: 100%; }
    .tariff-card__choose-form { order: 1; }
    .tariff-card__details-button { order: 2; min-height: 40px; }
    .tariff-card__choose-button {
        min-height: 50px;
        font-size: 1rem;
        font-weight: 700;
    }
}

@media (max-width: 374.98px) {
    .masterhead { padding-right: .6rem; padding-left: .6rem; }
    .logo { width: 132px; }
    .tariff-card__extras { width: 116px; }
}

.tariff-card__coupon-note .fe_icon {
    margin-top: .12rem;
    font-size: .85rem;
}

.tariff-card__coupon-note a {
    color: #21314d;
    font-weight: 600;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .tariff-card__coupon-note {
        margin-left: 0;
        font-size: .76rem;
    }
}

/* FE-TARIFF-RESULTS BUILD 2026.08.03-r30 | Mobile Header und Ergebniskarten */
@media (max-width: 767.98px) {
    .masterhead {
        min-height: 72px;
        height: 72px;
        padding: 0 1rem;
    }

    .masterhead > .row {
        align-items: center;
        height: 72px;
        margin: 0 auto;
    }

    .masterhead > .row > .col {
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0;
    }

    .masterhead > .row > .col:last-child {
        justify-content: flex-end;
    }

    .logo_link {
        display: inline-flex;
        align-items: center;
        height: 100%;
        margin: 0;
        padding: .35rem 0;
    }

    .logo {
        display: block;
        width: 145px;
        max-width: 45vw;
        height: auto !important;
        max-height: 48px;
        object-fit: contain;
        object-position: left center;
    }

    .menu_pos,
    .menu_pos .conatiner-fluid,
    .menu_pos .row,
    .menu_pos .col {
        margin: 0;
        padding: 0 !important;
    }

    .mobile-menu-toggle {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .12rem;
        min-width: 52px;
        min-height: 52px;
        margin: 0;
        padding: .35rem .45rem;
        border: 0;
        color: #fff;
        background: transparent;
    }

    .mobile-menu-toggle .hamburger-box {
        width: 34px;
        height: 24px;
    }

    .mobile-menu-toggle .hamburger-inner,
    .mobile-menu-toggle .hamburger-inner::before,
    .mobile-menu-toggle .hamburger-inner::after {
        width: 34px;
        height: 4px;
    }

    .mobile-menu-label {
        color: #fff;
        font-size: .72rem;
        font-weight: 600;
        line-height: 1;
    }

    #navbarMenupoints {
        position: absolute;
        top: 72px;
        max-height: calc(100vh - 72px);
        max-height: calc(100dvh - 72px);
        overflow-y: auto;
        box-shadow: 0 8px 18px rgba(16, 40, 74, .2);
    }

    .mobile-results-tools {
        position: sticky !important;
        top: 0 !important;
        z-index: 1025;
        margin-right: -.15rem;
        margin-left: -.15rem;
        padding: .4rem .15rem;
        border-bottom: 1px solid #d8dde5;
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 3px 8px rgba(16, 40, 74, .08);
    }

    .mobile-filter-open,
    .mobile-results-tools__sort #sort_by {
        min-height: 46px;
        height: 46px;
        border: 1px solid #9fa9b5;
        background-color: #fff;
        font-size: .9rem;
    }

    .tariff-card {
        margin-bottom: 1rem;
        border-color: #8f9aa7;
    }

    .tariff-card__main {
        column-gap: .65rem !important;
        row-gap: .75rem !important;
        padding: .9rem !important;
    }

    .tariff-card__title {
        font-size: 1.05rem;
        line-height: 1.2;
    }

    .tariff-card__logo {
        max-width: 125px;
        max-height: 48px;
        margin-top: .6rem;
    }

    .tariff-card__annual-price {
        font-size: 1.25rem;
    }

    .tariff-card__saving {
        max-width: 145px;
        margin-left: auto;
        font-size: .82rem;
    }

    .tariff-card__extras {
        width: 128px;
        margin-top: .75rem;
        border-width: 1px;
        box-shadow: 0 2px 5px rgba(16, 40, 74, .12);
    }

    .tariff-card__extra-label {
        min-height: 22px;
        padding: .05rem .4rem .1rem;
        font-size: 1.35rem;
    }

    .tariff-card__extra-logos {
        padding: 0 .4rem .35rem;
    }

    .tariff-card__extra-logo-item {
        min-height: 42px;
        padding: .2rem 0;
    }

    .tariff-card__extra-logo-item + .tariff-card__extra-logo-item {
        margin-top: .3rem;
        padding-top: .7rem;
    }

    .tariff-card__extra-logo-item + .tariff-card__extra-logo-item::before {
        top: -.35rem;
        font-size: 1.1rem;
    }

    .tariff-card__amazon.willkomensgutschein {
        margin: -8px 0;
        transform: scale(.7);
        transform-origin: center center;
    }

    .tariff-card__treemer {
        width: 50px;
        height: 44px;
    }

    .tariff-card__waipu {
        width: 92px;
    }

    .tariff-card__benefits {
        gap: .38rem;
        padding-top: .7rem;
    }

    .tariff-card__bonus-highlights {
        gap: .3rem;
    }

    .tariff-card__bonus-chip {
        padding: .24rem .4rem;
        font-size: .86rem;
    }

    .tariff-card__actions {
        display: flex !important;
        flex-direction: column;
        gap: .35rem;
        padding-top: .7rem;
    }

    .tariff-card__choose-form,
    .tariff-card__choose-button {
        width: 100%;
    }

    .tariff-card__choose-form {
        order: 1;
    }

    .tariff-card__details-button {
        order: 2;
        min-height: 40px;
    }

    .tariff-card__choose-button {
        min-height: 50px;
        font-size: 1rem;
        font-weight: 700;
    }
}

@media (max-width: 374.98px) {
    .masterhead {
        padding-right: .6rem;
        padding-left: .6rem;
    }

    .logo {
        width: 132px;
    }

    .tariff-card__extras {
        width: 116px;
    }
}
@import "test.css";

/* FE-TYPOGRAPHY BUILD 2026.08.04-c38 | Einheitliche Schrift in Whitelabel und Checkout */
body {
  border-radius: 0px;
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  
}


button, input, optgroup, select, textarea, option{
  font-family: inherit;
  
}

.font_condensned{
	font-family: 'Open Sans Condensed', sans-serif;
}

.max_content_width{
  max-width: 1110px;
}

.fe_zeilenabstand{
  margin-top: 15px;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    -moz-appearance:textfield; /* Firefox */
    height: 55px;
}

input[type=text] {
   max-width: 759px;
   height: 55px;
}

select {
   
   height: 55px;
}


input[type=checkbox] {
   width: 15px;
   height: 15px;
}

input[type=email] {
    -moz-appearance:textfield; /* Firefox */
    height: 55px;
}

input[type=tel] {
    -moz-appearance:textfield; /* Firefox */
    height: 55px;
}


.select-wrapper{
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
   -o-appearance: none;
    appearance: none;
    background-image: url(../images/icon_pfeil_down.svg);
    background-position-x: 95%;
    background-position-y: center;
    background-repeat: no-repeat;
    padding-right: 12%;
}

.select-wrapper > option:hover{
   background-color: rgb(33,49,77);
  color: #FFFFFF;
}


.select-wrapper > option {
  width: 80%;
}

select.form-control {
   /* margin: 0 30px;*/
}

.versteckt{
  display: none  !important;
}

.form-control{
  border-radius: 0px;
}

.masterhead{
  background-color: #21314d;
  color: #FFFFFF;
  /*height: 60px;*/
}

@media(min-width: 768px){
  
  .masterhead{
	  background-color: #21314d;
	  color: #FFFFFF;
	  height: 80px;
	}
}


.navbar{
  z-index: 1000;
  float: right;
  /*margin-top: 5px;*/
}



@media(min-width: 768px){
  
  .navbar{
	  z-index: 1000;
	  float: right;
	  /*margin-top: 15px;*/
	}
}


.navbar-collapse{
  z-index: 1000;
  
}

#navbarMenupoints{
  /*opacity: 0.8;*/
  /*filter: alpha(opacity=80);*/
  /*float: left;*/
  z-index: 1000;
  position: absolute; 
  width: 100%; 
  background-color: white;
  left: 0;
}

.fe_menu_container{
  margin-top: 5px;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: 10px;
}


@media(min-width: 535px){
  
  .fe_menu_container{
    margin-top: 25px;
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 25px;
  }
}

.fe_menu_item{
  color: rgb(33, 49, 77);
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0px;
  line-height: 33px;
  text-decoration: none;
}

.fe_menu_item:hover{
  /*font-weight: bold;*/
  text-decoration: underline;
  color: rgb(33, 49, 77);
  font-size: 16px;
  letter-spacing: 0px;
}

@media(min-width: 535px){
  
  .fe_menu_container{
    margin-top: 25px;
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 25px;
  }
}


.footer{
  background-color: rgb(33,49,77);

}

.fe_footer_col{
  margin-top: 35px;
  /*border: 1px solid white;*/
}

.fe_footer_link_list{
  list-style-type:none;
  list-style-image:none;
  list-style-position: outside;
  color: rgb(255, 255, 255);
  font-size: 13px;
  letter-spacing: 0px;
  line-height: 26px;
  margin-left: 0px;
}

.fe_link_list_sm{
  margin-top: 20px;
  color: #FFFFFF;
}

.fe_link_list_sm > a{
	margin: 8px;
}

.footer_link{
  color: rgb(255, 255, 255);
  font-size: 12px;
  text-decoration: none;
  
}

.facebook_link{
	margin-top: -4px; max-width: 160px; padding: 15px 14px; background: rgb(77, 90, 113); border-radius: 5px 5px 0px 0px;
}

.facebook_link:hover{
	background: rgb(122, 131, 148);
}

.footer_link:hover{
  color: rgb(255, 255, 255);
  text-decoration: none;
}

.footer_link_neu{
	color: rgb(255, 255, 255);
	font-size: 12px;
	text-decoration: none;
}

.footer_link_neu:hover{
  color: rgb(255, 255, 255);
  text-decoration: underline;
}

.table_footer {
  margin-bottom: 0px;
}

.table_footer td, .table_footer th {
  padding: 0;
  padding-left: .75rem;
  padding-right: .75rem;
  vertical-align: middle;
  border-top: 0px;
  
}

.table_nav td, .table_nav th{
	border-top: 0px;
	line-height: 33px;
	padding: 0;
  border: 0px;
}

.table_treemer_mobil td, .table_treemer_mobil th{
	border-top: 0px;
  line-height: 20px;
  padding: 0;

  border: 0px;
  margin-top: 7px;
  margin-bottom: 7px;
}

.table_nav_sm_td_first{
  padding-bottom: .5rem !important;
  border: 0px solid red !important;
}

.table_nav_sm_td{
	padding-top: .25rem !important;
  padding-bottom: .75rem !important;
  border: 0px solid red !important;
}

.abstand_menu_link_extern{
	margin-top: 10px;
}

.link_other_brands{
	color: rgb(140, 149, 164); font-size: 16px; font-weight: 700; font-stretch: condensed;
}

@media(min-width: 768px){
	.table_nav_sm_td{
	  padding-top: 0 !important;
	  padding-bottom: 0 !important;
	}
			
		.abstand_menu_link_extern{
	  margin-top: 0px;
	}
	
	.link_other_brands{
	 font-size: 17px;
	}
	
}


.table_sm td{
	margin: 0px;
	padding: 0px;
	border-top: 0px;
}

.masterhead-nav-item{
  position:relative;
 
  padding: 10px;
  color: #FFFFFF;
  font-weight: 300;
  text-decoration: none;
  float: left;
}

.masterhead-nav-item:hover {
  text-decoration: none;
  color: #FFFFFF;
  font-weight: bold;
}



.logo{
  width: 121px;
  /*height: 55px;*/
}

.logo_link{
  /*width: 111px;*/
  /*height: 55px;*/
  margin-top: 16px;

  /*position: relative;*/
  display: inline-block;
  color: #FFFFFF;
  font-weight: 300;
  text-decoration: none;
  /*border: 1px solid white;*/
}

.menu_pos {
	padding-top: 0rem;
}


@media(min-width: 768px){
  .logo{
	  width: 161px;
	  /*height: 38px;*/
	}
	
	.logo_link{

	  margin-top: 21px;
	  margin-left: -15px;
	}
	
	.menu_pos {
	  padding-top: .6rem;
	}
	
}



.IconBurgerMenu{
  width: 26px;
  height: 20px;
  display: inline-block;
  background-image: url(../images/Icon-BurgerMenueMobile.svg);
}

.navbar-toggler[aria-expanded="true"] > .IconBurgerMenu {
    background-image: url(../images/Icon-Close-BurgerMenue-Mobile.svg); 
    background-repeat: no-repeat;
}

@media(min-width: 768px){
  .IconBurgerMenu{
	  width: 34px;
	  height: 20px;
	  display: inline-block;
	  background-image: url(../images/Icon-BurgerMenueDesktop.svg);
	}
	
	.navbar-toggler[aria-expanded="true"] > .IconBurgerMenu {
    background-image: url(../images/Icon-Close-BurgerMenue-Desktop.svg); 
    background-repeat: no-repeat;
  }

}

.slider_startseite{
  height: 300px;
  width: auto; 
}


.background_start_slider_item{
	max-width: 100%; 
	height: 100%;
}

.background_start_slider_page_1{
    background-image: url(../images/bg_startslider_pic_1_mobil.png);
    background-repeat: no-repeat;
    background-position: center ; 
    background-size: contain;
  }
  
.background_start_slider_page_2{
    background-image: url(../images/bg_startslider_pic_2_mobil.png);
    background-repeat: no-repeat;
    background-position: center ; 
    background-size: contain;
  }
  
.background_start_slider_page_3{
    background-image: url(../images/bg_startslider_pic_3_mobil.png);
    background-repeat: no-repeat;
    background-position: center ;
    background-size: contain;
  }

.background_start_slider_page_5{
    background-image: url(../images/bg_startslider_pic_5_mobil.png);
    background-repeat: no-repeat;
    background-position: center 38%;
    background-size: cover;
  }

/* waipu.tv-Startseitenaktion: ein gemeinsamer Slide für Mobil und Desktop. */
.fe-waipu-slider__branding {
    position: absolute;
    left: 50%;
    bottom: 35%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48%;
    max-width: 190px;
    transform: translateX(-50%);
}

.fe-waipu-slider__prefix {
    display: none;
}

.fe-waipu-slider__logo {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.55));
}
  
.background_start_slider_page_6{
    background-image: url(../images/bg_startslider_pic_6_mobil.png);
    background-repeat: no-repeat;
    background-position: center ;
    background-size: auto ;
  }
  
.background_start_slider_page_IR{
    background-image: url(../images/bg_startslider_pic_IR_mobil.png);
    background-repeat: no-repeat;
    background-position: center ;
    background-size: auto ;
  }



.background_start_slider_page_4{
    background-image: url(../images/bg_startslider_pic_4_mobil.png);
    background-repeat: no-repeat;
    background-position: center ;
    background-size: contain;
  }
  
/**
.background_start_slider_page_7{
    background-image: url(../images/Priwatt_Aktion-Slider_Pic_mobil.png);
    background-repeat: no-repeat;
    background-position: center ;
    background-size: contain;
  }
  *//
  
.background_start_mobil{
    background-image: url(../images/bg_startslider__mobil2.jpg);
    background-repeat: no-repeat;
    background-position: top ;
    background-size: contain;
  }
  
.background_start_slider_christmas{
    background-image: url(../images/weihnachtskarte_online_2_small.png);
    background-repeat: no-repeat;
    background-position: center ;
    background-size: contain;
  }
  
@media(min-width: 500px){
	 .slider_startseite{
    width: auto; 
    height: 300px;
  }
}

@media(min-width: 768px){
	
	.background_start_mobil{
    background-image: url(../images/bg_startslider__mobil2.jpg);
    background-repeat: no-repeat;
    background-position: top ;
    background-size: cover;
    height: 200px;
  }
	
	
  .slider_startseite{
	  width: auto; 
	  height: 500px;
	}

  .background_start_slider_page_1{
	  background-image: url(../images/bg_startslider_pic_1.png);
	  background-repeat: no-repeat;
	  background-position: top; 
	}
	
	.background_start_slider_page_2{
	  background-image: url(../images/bg_startslider_pic_2.jpg);
	  background-repeat: no-repeat;
	  background-position: top ; 
	}
	
	.background_start_slider_page_3{
	  background-image: url(../images/bg_startslider_pic_3.png);
	  background-repeat: no-repeat;
	  background-position: top ; 
	}
	
	 .background_start_slider_page_4{
    background-image: url(../images/bg_startslider_pic_4.png);
    background-repeat: no-repeat;
    background-position: top ; 
  }
  
  .background_start_slider_page_5{
    background-image: url(../images/bg_startslider_pic_5.png);
    background-repeat: no-repeat;
    background-position: top ;
    background-size: contain;
  }

  .fe-waipu-slider__branding {
    left: 70%;
    bottom: 25%;
    width: min(42%, 460px);
    max-width: 460px;
  }

  .fe-waipu-slider__prefix {
    display: inline-block;
    flex: 0 0 auto;
    margin-right: clamp(8px, 1vw, 14px);
    color: #fff;
    font-size: clamp(1.5rem, 2.6vw, 2.8rem);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.55);
  }

  .fe-waipu-slider__logo {
    flex: 0 1 280px;
    width: min(62%, 280px);
    max-width: 280px;
  }
  
  .background_start_slider_page_6{
    background-image: url(../images/bg_startslider_pic_6.png);
    background-repeat: no-repeat;
    background-position: top ;
  }
  
  .background_start_slider_page_IR{
    background-image: url(../images/bg_startslider_pic_IR.png);
    background-repeat: no-repeat;
    background-position: top ;
  }
  
  .background_start_slider_christmas{
   background-image: url(../images/weihnachtskarte_online_2_lg.png);
    background-repeat: no-repeat;
    background-position: top ;
  }
  
}


a.background_start_slider_item {
	text-decoration: none;
	color: #FFFFFF;
}

.background_start_slider_item > a:hover{
  text-decoration: none;
  color: #FFFFFF;
}


.slider_startseite_indicators{
	bottom: 89px;
	height: 12px;
}

.fe-nav-tabs_tr{
	border-bottom: 1px solid rgba(220,160,140,0.0);
}


.tabs_startseite_default{
	max-width: 165px;
	min-height: 70px;
	background: rgb(229, 229, 229);
	border-radius: 0px 2px 0px 0px;
	border-left: 1px solid rgb(33, 49, 77); 
	border-top: 1px solid rgb(33, 49, 77); 

}

.tabs_startseite_default:last-child {
   border-right: 1px solid rgb(33, 49, 77)
}

;


.tab_startseite_tab1{	
	width: 293px;
	height: 108px;
	color: rgb(255, 255, 255);
	font-size: 26px;
	font-weight: 800;
	text-transform: uppercase;

}

@media(min-width: 768px){
	
  .tabs_startseite_default{
  max-width: 269px;
  min-height: 69px;
  background: rgb(229, 229, 229);
  border-radius: 0px 2px 0px 0px;
  
}




.tab_startseite_tab1{ 
  line-height: normal;  color: rgb(255, 255, 255); font-size: 42px; font-weight: 800;

  }
}




.tabs_startseite_default > div {
	width: 100%; height: 100%; 
	/* padding-left: 73px; padding-right: 73px;*/
}

.tabs_startseite_default > div > table > tbody > tr > td, .tabs_startseite_default > a > div > table > tbody > tr > td {
  font-size: 2.25rem; 
  color: rgb(128, 128, 128);
}

.tabs_startseite_default > div > table > tbody > tr > td > p, .tabs_startseite_default > a > div > table > tbody > tr > td > p{
  color: rgb(128, 128, 128);
  font-size: 20px; 
  font-weight: bold; 
  letter-spacing: 0px; 
}

.tabs_startseite_default > div > table > tbody > tr > td > span, .tabs_startseite_default > a > div > table > tbody > tr > td > span{
  color: rgb(128, 128, 128);
  font-size: 20px; 
  font-weight: bold; 
  letter-spacing: 0px; 
}



.tabs_startseite_default > a:hover{
  text-decoration: none;
}



.tab_startseite_tab_active{
	background: rgb(225, 241, 203); 
	border-radius: 2px 0px 0px;
	border-bottom: 3px solid rgb(33, 49, 77);
}

.tab_startseite_tab_active > div > table > tbody > tr > td {

	color: rgb(132, 188, 52);
}

.tab_startseite_tab_active > div > table > tbody > tr > td > p{
  color: rgb(33, 49, 77); 

}

.tab_startseite_tab_active > div > table > tbody > tr > td > span{
  color: rgb(33, 49, 77); 

}

.IconStrom{
 
  /*margin-top: 5px;*/
  width: 30px;
  height: 42px;
  display: inline-block;
  background-image: url(../images/icon_strom.svg);
}

.IconGas{
  margin-left: 0px;
  /*margin-top: 5px;*/
  width: 30px;
  height: 42px;
  display: inline-block;
  background-image: url(../images/icon_gas.svg);
}



.fe_IconPfeilDown{
  width: 17px;
  height: 11px;
  display: inline-block;
  background-image: url(../images/icon_pfeil_down.svg);
}

.fe_IconPfeilUp{
  width: 17px;
  height: 11px;
  display: inline-block;
  background-image: url(../images/icon_pfeil_up.svg);
}

.icon_pfeil_checkout{
  display: inline-block;
  background-image: url(../images/pfeil_weiter.svg);
}

.icon_pfeil_weiter{
  width: 32px;
  height: 60px;
  background-image: url(../images/icon_pfeil_weiter.svg);
}

.icon_pfeil_weiter_down{
  width: 60px;
  height: 32px;
  display: inline-block;
  background-image: url(../images/icon_pfeil_weiter_down.png);
}

.body_tr_main{

  color: #FFFFFF;
  
}

.body_strom{
  /*background-color: rgba(33, 49, 77, 0.06);*/
}

.body_gas{
  /*background-color: rgba(33, 49, 77, 0.06);*/
}


@media(min-width: 768px){
  .body_strom{
	  background-image: url(../images/main_backgroud_strom.jpg);
	  background-repeat: no-repeat;
  background-position: center ; 
	}
	
	.body_gas{
	  background-image: url(../images/main_backgroud_gas.jpg);
	  background-repeat: no-repeat;
	  background-position: center ; 
	  background-color: rgba(33, 49, 77, 0.06);
	}
	

}


.body_input_mask{
  padding: 10px;
  /*background-color: #21314d;*/
  /*opacity: 0.7;*/
  /*filter: alpha(opacity=70);*/
  max-width: 100%;
  /*margin-left: 15px;*/
  /*margin-right: 15px;*/
}

.body_input_mask_type_btn{
	padding: 10px;
	max-width: 100%x;
  margin-left: 0px;
  /*margin-right: 15px;*/
  
	margin-top: 20px;
}

.body_input_mask_background{
	 background-color: rgba(33, 49, 77,0.7);
}

.body_input_mask_background2{
   background-color: #21314d;
  
}


@media(min-width: 535px){
  
  .body_input_mask{
    padding: 31px;
    /*margin-left: 50px;*/
    /*margin-top: 68px;*/
    max-width: 390px;
  }
  
  .body_input_mask_type_btn{
  
   margin-top: 20px;
   padding: 10px;
   padding-left: 31px;
  }
}

@media(min-width: 768px){
  .body_input_mask{
    padding: 31px;
    /*margin-left: 50px;*/
    margin-top: 68px;
    max-width: 390px;
  }
  
  .body_input_mask_type_btn{
  
   margin-top: 20px;
   padding: 10px;
   padding-left: 31px;
  }

}

.body_input_mask_header_text, .body_input_mask_button_text{
  height: 24px;
  font-size: 20px;
  letter-spacing: 0px;
  margin: 10px;
}

.body_input_mask_header_text > a{
  color: #FFFFFF;
  text-decoration: none;
}

.btn{
  border-radius: 0px;
}

.fe_button {
  background-color: rgb(132, 188, 52);
  min-height: 50px;
  color: #FFFFFF;
  width: 100%;
  font-size: 1.2rem;
}

.fe_button_neu {
 

  font-size: 16px;
  width: 100%;
  color: rgb(33, 49, 77);
	height: 50px;
	background: rgb(255, 255, 255);
	border: 1px solid rgb(33, 49, 77);
	border-radius: 2px;
	font-size: 16px;
	font-weight: 600;

	line-height: 12px;
}


.fe_vorteile_button_div{
  width: 100%;
  height: 100px;
  background: rgba(33, 49, 77,0.7);
  border-radius: 0px;  

  color: #FFFFFF; 
  /*border: 1px solid white;*/
}

@media(min-width: 576px){
  
  .fe_vorteile_button_div{
   /* min-height: 140px;*/
  }

}



.fe_vorteile_button{
  width: 100%;
  padding: 15px; 
/*  height: 44px;*/
  color: rgb(255, 255, 255);
  font-size: 16px;
  text-align: center;
  letter-spacing: 0px;
 
}

@media(min-width: 768px){
  
  .fe_vorteile_button{
   
    color: #FFFFFF; 
    padding: 15px; 
    height: 100%;
    width: 100%;
    /*font-size: 20px;*/
    text-align: center;
    letter-spacing: 0px;
    box-shadow: ;
  }

}

@media(min-width: 1046px){
  
  .fe_vorteile_button{
    
    font-size: 20px;
   
  }

}


.fe_vorteile_button:hover{
  color: #FFFFFF;
}

.fe_why_body{
  padding: 15px;
  margin-left: 0px;
  margin-right: 0px;
}

@media(min-width: 535px){
  
  .fe_why_body{
    margin-left: 15px;
    margin-right:15px;
  }
}

@media(min-width: 1280px){
  
  .fe_why_body{
    margin-left: 50px;
    margin-right: 50px;
  }
}





.fe_why_fe_header{
  color: #21314d;
  font-size: 24px;
}


.fe_why_fe_text{  
  font-size: 18px;
  text-align: center;
  letter-spacing: 0px;
}

@media(min-width: 768px){
	
	.fe_why_fe_header{
	  color: #21314d;
	  font-size: 32px;
	}
  
 .fe_why_fe_text{  
	  font-size: 20px;
	  text-align: center;
	  letter-spacing: 0px;
	}
}



.fe_text_container{
  background-color: #F2F2F2;
  border-radius: 0px;
}

.fe_why_container{
  padding: 0px;
  margin-top: 20px;
}

.fe_why_card_body{
  border: 0px solid #ffffff;
  color: #FFFFFF;
  font-size: 15px;
  /*width: 301px;*/
  /*height: 110px;*/
  text-align: center;
  letter-spacing: 0px;
  background: rgb(33, 49, 77);
  border-radius: 0px;  
  padding-left: 5px;
  padding-right: 5px;
}


@media(min-width: 768px){
  
  .fe_why_card_body{
    width: 100%;
  }

}


.fe_why_list_pic{
  min-height: 258px;
  border: 1px solid green;
  width: 100%
}

.fe_why_list_header_text{
  font-size: 20px;
  letter-spacing: 0px;
  color: #FFFFFF;
}

@media(min-width: 20px){
  
.fe_why_list_header_text{
  font-size: 18px;
}
}


@media(min-width: 768px){
  
  .collapse.dont_collapse_lg {
    display: block;
    height: auto !important;
    visibility: visible;
  }
  .collapse_button{
    display: none;
  }
  
  .fe_why_card_body{
    /*height: 260px;*/
  }
}


.fe_number{
  background-color: #84bc34;
  width: 55px;
  height: 55px;
  text-align: center;
  padding: 15px;
  border-radius: 27px;
  color: #FFFFFF;
  font-size: 26;
  font-weight: bold;
  margin: auto;
}

.fe_text_proz{
  /*font-size: 20px;*/
  letter-spacing: 0px;
  
}

@media(min-width: 768px){
  
  .fe_text_proz{
	  /*font-size: 20px;*/
	  letter-spacing: 0px;
	  /*margin-left: 31px;*/
	}
}


.tr_content{
  background-color:  rgba(33, 49, 77, 0.06);
  color: rgb(33, 49, 77);
  padding: 15px 19px 15px 19px;
}

.tr_container{
  color: rgb(33, 49, 77);
  padding-left: 19px;
  padding-top: 15px;
}


.tarifrechner_container{
	
	
}


.tr_left_col, .tr_right_col{
  margin-top: 15px;
  /*margin-left: 15px;*/
  /*margin-right: 15px;*/
}

@media(min-width: 768px){

  
}


@media(min-width: 1170px){
	.tarifrechner_container{
	  padding-left: 35px;
	  padding-right: 35px;
	  
	}
}





.tr_left_col_header{
  font-size: 24px;
  background-color: #FFFFFF;
  text-align: left;
  /*border: 1px solid red;*/
  color: rgb(33, 49, 77);
  letter-spacing: 0px;
}

.tr_left_col_header_2{
  font-size: 16px;
  /*border: 1px solid red;*/
  /*min-width: 115px !important;*/
}

.edit_link{
  color: rgb(33, 49, 77);
  text-decoration: underline;
  font-size: 14px;
  /*border: 1px solid green;*/
  
}

.edit_link:hover{
  cursor: pointer;
}

.simple_link{
	color: #FFFFFF;
	text-decoration: none;
}
.simple_link:hover{
  color: #FFFFFF;
  text-decoration: none;
}

.fe_icon {
  color: #2f5d1f;
  font-family: FontAwesome5Pro-Light;
  font-size: 16px;
  font-weight: 300;
}

.tb-provider{
  color: #444444;
  font-size: 14px;
}


.fe_btn_group{
  margin: 0;
  padding: 0;
  /*border: 1px solid green;*/
}

.fe_finish_header_1{
  color: rgb(33, 49, 77);
  font-size: 24px;
  text-align: center;
  letter-spacing: 0px;
}

.fe_finish_header_2{
  color: rgb(33, 56, 88);
  font-size: 20px;
  letter-spacing: 0px;
  
}

.tr_left_col_parameter_text, .tr_right_col_parameter_text{
  font-size: 16px;
}

.tr_right_col_header{
  font-size: 16px;
  color: #21314d;
  line-height: 36px;
}

@media(min-width: 750px){
  
  .tr_right_col_header{
    font-size: 20px;
    height: 36px;
  }
}



.tr_left_col_parameter_text > span, .tr_right_col_parameter_text > span, .fe_finish_header_2 > span{
  font-weight: bold;
  
}

.fe_tr_content_left_col_header_text{
  font-size: 16px;
  /*border: 1px solid red;*/
  padding: 0;
  text-align: left;
}

.fe_filter_checkbox{
  background-color: rgba(33, 49, 77, 0.06);
  border: 1px solid rgb(151, 151, 151);
  border-radius: 0px;
}

.fe_tr_filter_body{
  border-radius: 0px;
  border: 0px;
  
  color: #21314d;
  font-size: 16px;
  /*border: 1px solid red;*/
  padding: 0;
  
}

.fe_tr_green_text{
  /* color: rgb(78, 125, 52); */
  color: #2f5d1f;
  font-size: 18x;
  font-weight: bold;
  letter-spacing: 0px;
  
}

.fe_tr_provider_info_text{

  color: rgb(33, 49, 77);
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0px;
}

.collapse_button.fe_left_btn{
  max-width: 220px;
}


@media(min-width: 400px){
  
  .collapse_button.fe_left_btn{
    max-width: 350px;
    
  }
}


.fe_get_tarif_btn{
  width: 195px;
  height: 40px;
  background: rgb(33, 49, 77);
  border-radius: 0px;
  font-size: 16px;
  font-weight: 600;
  height: 22px;
  text-align: center;
  text-transform: uppercase;
}


.tr_tarif_result_block{
  border: 1px solid rgb(151, 151, 151);
}

.fe_tr_tr_block{
  /*width: 292px;*/
  /*height: 440px;*/
  background: rgb(255, 255, 255);

  border-radius: 0px;
  padding: 20px;
}

.fe_tr_tr_first_block{
  background: rgb(255, 255, 255);
  border-radius: 0px;
  padding: 20px;
}

.fe_tr_tr_second_block{
  background: rgb(255, 255, 255);

  border-radius: 0px;
  
}

.fe_tarifname_checkout{
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0px;
  
}

@media(min-width: 768px){
  
  .fe_tarifname_checkout{
	  font-size: 20px;
	  font-weight: bold;
	  letter-spacing: 0px;
	  
	}
}



.fe_tarifname{
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0px;
}

.fe_tarif_logo{
  
 
  max-width: 100%;
  /*min-height: 51px;*/
  /*border: 1px solid black;*/
}

.fe_tarif_logo_img{
	margin-top: 17px;
	width: 100%;
	max-width: 99px;
	height: auto;
}


@media(min-width: 768px){
  
  .fe_tarif_logo_img{
	 
	  width: 100%;
	  height: auto;
	  margin-top: 37px;
	  max-width: 160px;
	  /*border: 1px solid black;*/
	
	}

}

.fe_tarif_logo_checkcout{
	min-width: 61px;
  max-width: 100%;
}

.fe_total_price{
  font-size: 14px;
  letter-spacing: 0px;
}

.fe_total_price > span{
  font-size: 25px;
  font-weight: bold;
}

.fe_total_ersparnis_text{
  font-size: 16px;
  font-weight: bold;
}

.fe_total_bonus_text{
  font-size: 18px;
  font-weight: bold;
}

.fe_text_14{
  font-size: 14px;
  letter-spacing: 0px;
}

.fe_text_16{
  font-size: 16px;
  letter-spacing: 0px;
}

.fe_color_white{
  color: rgb(255, 255, 255);
}

.fe_btn{
  background-color: #21314d;
  color: rgb(255, 255, 255);
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  padding: 8px;
}

.fe_btn:hover{
  color: rgb(255, 255, 255);
}


.fe_btn_small{

  width: 100%;
  min-height: 35px;
  background-color: #21314d;
  color: rgb(255, 255, 255);
  font-size: 16px;
  
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  padding: 12px;
}

.fe_btn_small:hover{
  color: rgb(255, 255, 255);
}


@media(min-width: 768px){
  
  
  .fe_btn_small{
    max-width: 252px;
    font-size: 17px;
    /*height: 50px;*/
  }
    

}

.fe_btn_normal{
  width: 374px;
  height: 50px;
  background: rgb(33, 49, 77);
  border-radius: 0px;
   color: rgb(255, 255, 255);
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}

.fe_btn_normal:hover{
  color: rgb(255, 255, 255);
}

.sign_in_form > input{
  height: 50px;
}

.sign_in_form > button{
  height: 50px;
  margin-left: 5px;
  margin-right: 5px;
}


.fe_center_content{
  width: 100%;
  /*border: 1px solid red;*/
  padding-left: 18px;
  padding-right: 18px;
}

.fe_card{
  border: 0px;
}

.tarif_details{
   border-radius: 0px;
  border: 0px;
  
  color: #21314d;
  font-size: 14px;
  /*border: 1px solid red;*/
  padding: 16px;
  padding-left: 16px;
  padding-right: 16px;
}

.tarif_details_right_col{
  border: 0px;
}

.tarif_details_trenner {
  border-bottom: 1px solid rgb(151, 151, 151);
  height: 10px;
  margin-left: 0px;
  margin-right: 0px;
   margin-bottom: 10px;
}

@media(min-width: 768px){
  
  .tarif_details_right_col{
   border-left: 1px solid rgb(151, 151, 151);
   padding-left: 40px;
  }
  

}


/*
 * Progress bar
 */

.progressBar-container, .fe_container{
  padding: 50px;
  padding-left: 50px;
  padding-right: 50px;
}

.fe_container{
  padding: 15px;
  padding-left: 15px;
  padding-right: 15px;
}

@media(min-width: 768px){
  
  .fe_container{
  padding: 50px;
  padding-left: 50px;
  padding-right: 50px;
}
  

}


.progress-bar { 
  color: rgb(33, 49, 77);
  background-color: #FFFFFF;
  border: 1px solid rgba(151, 151, 151, 0.5);
  text-align: center;
  height: 77px;

  /*padding: 0.5rem;*/
  /*padding-left: 50px;*/
  /*padding-right: 50px;*/
}


.fe_max_spalten_breite{
  max-width: 790px;
}
.fe_input_height{
  height: 55px;
  
}

.fe_input_small{
  height: 55px;
  
}

.fe_input_long{
  height: 55px;
   max-width: 759px;
}

@media (min-width: 1000px) {

  
  .fe_input_small{
    max-width: 240px;
    
  }
  
  .fe_input_long{
    max-width: 759px;
  }
}


.bg-accent {
  color: rgb(33, 49, 77);
  background-color: rgba(33, 49, 77, 0.06);
}

.required label::after {
  content: '*';
  color: #84bc34; 
} 

input.required_input::after, .required_input input::after, .required_input span::after {
  content: '*';
  color: #84bc34;
} 

.form-block{
  
}

.personal_content{
  /*border: 1px solid blue;*/
  
}


.form-block-content {
  padding-top: 10px;
  margin-left: 0px;
  margin-right: 0px;
}

.form-block-content-review {
   padding: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-left: 0px;
    margin-right: 0px
}


@media(min-width: 768px){
  
  .form-block-content{
    margin-left: 81px;
    margin-right: 121px;
    padding: 15px;
    padding-bottom: 10px;
    padding-left: 10px;
  }
  
  .form-block-content-review {
   padding: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-left: 81px;
    margin-right: 81px
}
  
}




.form-block-head-text{
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0px;  
}

.intl-tel-input {
    width: 100%;
}

.line_height_sm{
  height: 18px
}


@media(min-width: 768px){
  
  
  .line_height_sm{
    height: 27px;
  }
    

}


/*
 * Autocomplete
 */
.autocomplete-suggestions { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border: 1px solid #999; background: #FFF; cursor: default; overflow: auto; -webkit-box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); -moz-box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); }
.autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-no-suggestion { padding: 2px 5px;}
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: bold; color: #000; }
.autocomplete-group { padding: 2px 5px; font-weight: bold; font-size: 16px; color: #000; display: block; border-bottom: 1px solid #000; }

.errors {
    color: #df002e;
    font-size: 14px;
}

input.invalid {
    border-left: 5px solid #DF002E !important;
    padding-left: 8px;
}

.priceinfo_checkout_header_text{
  font-size: 18px; 
  font-weight: bold; 
  letter-spacing: 0px;
  color: rgb(33, 49, 77);
  
  
}

@media(min-width: 768px){
  
  .priceinfo_checkout_header_text{
    font-size: 26px;
    font-weight: normal; 

  }
  

}


#content{
  /*padding-left: 0px;*/
  /*padding-right: 0px;*/
}


.fe_input_field{
  border: 0px;
}


.make-me-sticky {
  
}



@media(min-width: 768px){
  
  .make-me-sticky {
	  position: -webkit-sticky;
	  position: sticky;
	  top: 0;
	}

}

.fe-tab-content{
  /*background-color: #F2F2F2;*/
}

.fe-nav-tabs{
  color: #F2F2F2;
  border: 0px;
  border-radius: 0px;
}

.fe-nav-link, .fe-nav-link:hover{
  border-radius: 0px;
  color: rgb(33,49,77);
}



.nav-tabs .fe-nav-link.active {
  background-color: #FCFCFC;
  border: 1px solid #F2F2F2;
  color: rgb(33,49,77);
  font-weight: bold;
}


.fe-tab-content_bgc{
  background-color: #F2F2F2;
  
}

.fe-submenu-li{
	color: #FFFFFF !important;
	font-weight: 600;
}

.fe-submenu-li:hover{

  color: #21314d !important;
  background-color:#FFFFFF;
}

.fe-submenu-li[aria-expanded=true] {
	background-color: #FFFFFF;
	color: rgb(33,49,77) !important;
}

.fe_dropdown_menu{
	margin: 0;
	border-radius: 0;
	border: 0;
	color: rgb(33,49,77) !important;
}

.carousel-indicators > li {
  
  width: 12px; 
  height: 12px; 
  background-color: rgba(204, 204, 204, 0.0);
 
}

.carousel-indicators > li > div{
  
  background-color: rgb(204, 204, 204);
  width: 12px; 
  height: 12px; 
    
}

.carousel-indicators .active > div{
  
  background-color: rgb(132, 188, 52) !important;
  width: 12px; 
  height: 12px; 
    
}

.nav-tabs .nav-link {
  border: 1px solid transparent;
  border-top-left-radius: 0rem;
  border-top-right-radius: 0rem;
}


@media(min-width: 768px){
  
  .fe-nav-tabs{
  margin-left: 30px;
}
  
 .fe-tab-content{

    padding-left: 15px;
    margin-left: 50px;
    margin-right: 50px;
    margin-bottom: 15px;
  }
  
  .fe-nav-tabs{
    margin-left: 50px;
  }
    

}


.qtip_tooltiptext_header{
  font-size: 20px;
  letter-spacing: 0px;
}

.qtip-close {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 11;
  border: 1px;
  color: #21314d;
  font-size: 20px;
  font-weight: bold;
}

.qtip-close .qtip-icon{
  
}

.qtip_tooltiptext{
    display: none;
}

.fe_tooltip_style{
  font-size: 12px;
  background-color: #FFFFFF;
  z-index: 1000;
  color: #21314d;
  border: 1px solid #21314d;
  min-width: 75%;
  /*position: fixed;*/ /* Sit on top of the page content */
  /*width: 80%;*/ /* Full width (cover the whole page) */
  /*height: 80%;*/ /* Full height (cover the whole page) */
  /*top: 10px !important;*/
  /*left: 10px !important;*/
  /*right: 10px !important;*/
  margin-left: 15px !important;
  margin-right: 15px !important;
}


@media(min-width: 500px){
  
  .fe_tooltip_style{
  position: fixed; /* Sit on top of the page content */
   min-width: 75%;
  margin-left: 10px;
}

}

@media(min-width: 768px){
  
  .fe_tooltip_style{
  position: fixed; /* Sit on top of the page content */
  min-width: 600px;
  /*left: auto;*/
  
  right: auto !important;
}
}
.testbreite{
  width: 800px;
}

.fe_tooltip_style .qtip-content{
  font-size: 12px;
}

.fe_meter_date_card{
  border: 0px;
  background-color: inherit;
}

.fe_readonly_input{
  border: 0px;
  background: inherit;
}

.fe_progressbar_link{
  
  color: rgb(33, 49, 77);
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0px;
}

.fe_progressbar_link:hover{
  color: rgb(33, 49, 77);
}

.stoerer_gutschein_main{
  font-weight: bold; 
  position: relative; 
  left: 320px; 
  top: -25px; 
  width: 174px; 
  height: 174px; 
  background-color: #84bc34; 
  border: 1px solid red;; 
  border-radius: 87px; 
  color: #21314d;
}

.stoerer_gutschein_text{
  margin-top: 11px; 
  position: absolute; 
  width: 174px;
  font-size: 18px;
  line-height: 23px;
}

.amazon_gift_symbol{
  width: 103px;
  height: 66px;
  position: absolute; 
  left: 150px; 
  top: 50px; 
  border-radius: 5px;
}

.treemer_symbol{
  width: 103px;
  height: 91px;
  position: absolute; 
  left: 150px; 
  top: 128px; 
  border-radius: 5px;
}



.fe_vorteile_container{
  background-image: url(../images/bg_vorteile.png);
  width: 100%;
  
  height: 360px;
  color:#FFFFFF;
}

.fe_vorteile_energie{
  background-image: url(../images/Bild-Energieversorger.png);
}

.fe_vorteile_service{
  background-image: url(../images/bg_service.jpg);
}

.fe_vorteile_produkte{
  background-image: url(../images/bg_produkte.jpg);
}

.fe_vorteile_container_sm{
  width: 100%;
  color:#FFFFFF;
  margin-top: 15px;
  height: 100%;
}

.fe_easy_change_step_container{
  height: 196px;  
  
}


@media(min-width: 768px){
  
  .fe_easy_change_step_container{
	  width: 260px;
	  
	}
}


.fe_easy_change_green_circle{
  width: 100px; height: 100px; background: rgb(132, 188, 52); box-shadow:; background-color: #84bc34;
                border-radius: 50px; padding: 29px;
}

.fe_easy_change_step_left_col{
   padding-left: auto; 
   padding-right: auto; 
  
   height: 100%
}

@media(min-width: 768px){
  
	.fe_easy_change_step_left_col{
	   padding-left: auto; 
	   padding-right: auto; 
	   width: 240px; 
	   height: 100%
	}
}


.fe_easy_change_step_left_col_text{
  font-size: 16px;
  text-align: center; 
  
}

@media(min-width: 768px){
  
	.fe_easy_change_step_left_col_text{
	  font-size: 16px;
	  text-align: center; 
	  width: 200px;
	  
	}
}


.fe_so_gehts_header{
  font-size: 24px;

}

.fe_so_gehts_text{
  width: 283px;
  
  font-size: 18px;
  text-align: center;
  line-height: 22px;
    
}


.impressum{

  width: 1121px;
  color: rgb(33, 56, 88);
  font-size: 20px;
}

.impressum > span{
  font-weight: bold;
}




.back-to-top {
 background-color: #21314d;
 border-radius: 40px;
 color: #FFFFFF;
 position: fixed;
 bottom:20px;
 right:20px;
 padding: 15px;
 opacity: 0.5;
 filter: alpha(opacity=50);
}

.back-to-top:hover{
	color: #FFFFFF;
	text-decoration: none;
}

.pic_mobil_gutscheinbeding{
	margin-right: -30px;
  margin-left: -30px;
	
}

@media(min-width: 321px){
  
	.pic_mobil_gutscheinbeding{
	  margin-right: -15px;
	margin-left: -15px;
	
	  
	}
}


.gutschein_ueberschrift{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0px;
	line-height: 30px;
}

@media(min-width: 768px){
  
	.gutschein_ueberschrift{
	
		font-size: 32px;
		letter-spacing: 0px;
		line-height: 32px;
	} 
}


.review_block{
	margin-top: 30px;
}



.verzeiniss_liste{
	margin-top: 30px; 
	font-size: 16px;
	font-weight: bold;
	margin-right: 49px;
}

.verzeiniss_liste li{
	margin-bottom: 12px;
}

.verzeichnis_link{
	text-align: justify;
	color: #FFFFFF;
	text-decoration: underline;
	font-weight: normal;
}

.verzeichnis_link:hover{
	color: #FFFFFF;
  text-decoration: underline;
  font-weight: normal;
}

.inhaltsverzeichnis_container{
	/*border: 1px solid red; */
	background: rgb(33, 49, 77); 
	color: #FFFFFF; 
	margin-top: 25px;
}

.inhaltsverzeichnis_container > button{
  color: #FFFFFF; 
  font-size: 20px;

}

.inhaltsverzeichnis_container > button:hover{
  color: #FFFFFF; 
}


.verzeiniss_liste > span{
	font-weight: bold;
}

.absatz{
	margin-top: 30px;
}

.absatz > .absatz_section > .section_header, .absatz_section > .section_header{
	color: rgb(33, 56, 88);
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0px;
	/*border: 1px solid red;*/
}

.absatz > .absatz_content > .section_body, .absatz_content > .section_body{

	color: rgb(33, 49, 77);
	font-size: 16px;
	letter-spacing: 0px;
  /*border: 1px solid red;*/
  padding-left: 0px;
  padding-right: 0px;
  margin-top: 25px;
}

.landing_page_img{
	margin-left: -30px;
	margin-right: -30px;
	width: auto;
	max-width: 434px;
	margin-top: 25px;
}

@media(min-width:434px){
	.landing_page_img{
	  margin-left: 0px;
	  margin-right: 0px;
	}
	
	.absatz{
	  margin-left: 0px;
	}
	

}


@media(min-width: 768px){
	
	.collapse.inhaltsverzeichnis_dont_collapse_lg {
    display: block;
    height: auto !important;
    visibility: visible;
    background-color: inherit;
    
  }
  
  .inhaltsverzeichnis_container{
	  /*border: 1px solid red; */
	  background: inherit;
	  color: rgb(33, 49, 77);
	  margin-top: 25px;
	}
	.inhaltsverzeichnis_container > button{
	   color: rgb(33, 49, 77);
	}
	
	.verzeichnis_link{
	  /*text-align: justify;*/
	  color: rgb(33, 49, 77);
	  text-decoration: underline;
	  font-weight: normal;
	}
	.verzeichnis_link:hover{
	  color: rgb(33, 49, 77);
	  text-decoration: underline;
	  font-weight: normal;
	}
	
}



.einfach_w_header{
	margin-top: 25px;

color: rgb(33, 56, 88);
font-size: 20px;

font-weight: bold;
text-align: center;
letter-spacing: 0px;
line-height: 30px;
}

.einfach_w_section_header{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0px;
	line-height: 32px;
	margin-top: 40px;
	
}

.einfach_w_section_body{
	font-size: 20px;letter-spacing: 0px;line-height: 32px;
}

@media(min-width: 768px){
	.einfach_w_header{
	  margin-top: 50px;
		height: 32px;
		color: rgb(33, 56, 88);
		font-size: 32px;
		font-weight: bold;
		letter-spacing: 0px;
		line-height: 32px;
	}
	
	.einfach_w_section_header{
    margin-top: 0px;
  
  }
}

.willkomensgutschein{
	width:87px;
	height: 56px;
	background-color: #FFFFFF;
	border: 1px solid #FFFFFF;
	font-weight: bold;
	font-size: 10px;
	line-height: 10px;
	/*margin-top: 5px;*/

	background-image: url(../images/amazongrafik_listingpage.png);
  background-position-x: left;
  background-position-y: top;
  background-repeat: no-repeat;
  /*background-size: cover;*/
   background-size: contain;
}


.willkomensgutschein > p{
	color: rgb(256, 256, 256);
	font-size: 18px;
	margin-left: 10px;
  margin-top: 35px;
  margin-bottom: 3px;
}

.willkomensgutschein > div{
  color: rgb(256, 256, 256);
  margin-left: 22px;
  
  
}



@media(min-width: 768px){
  .willkomensgutschein{
    font-size: 20px;
	  background-color: #FFFFFF;
	  border: 1px solid #FFFFFF;
	  font-weight: bold;
	  /*background-size: 80%;*/
	  margin-left: 0px;
	  margin-top: 10px;
	  width: 103px;
	  height: 66px;
	  background-image: url(../images/amazongrafik_listingpage.png);
	  background-position-x: left;
	  background-position-y: top;
	  background-repeat: no-repeat;
	  
	}
	
	
	.willkomensgutschein > p{
	  color: rgb(256, 256, 256);
	  font-size: 20px;
	  margin-top: 40px;
	  margin-left: 10px;
	  margin-bottom: 8px;
	}
	
	.willkomensgutschein > span{
	  color: rgb(256, 256, 256);
	  font-size: 11px;
	  margin-left: 35px;
	  
	}
	
}





.fe_container_inf_link, .fe_container_inf_link_sm{
	 background-repeat: no-repeat; 
	 background-position: center; 
	 background-size: cover; 
	 min-height: 300px;
}

.fe_container_inf_link_sm{
	
	margin-top: 20px;
}

.fe_container_inf_text{
	width: 200px; 
	height: 100%; 
	background-color: rgba(33, 49, 77, 0.8); 
	border-radius: 0px; 
	color: #FFFFFF; 
	font-size: 16px; 
	padding: 16px; 
	padding-top: 40px;
}

.fe_container_inf_text_sm{
	width: 100%; 
  height: 75px; 
  background: rgba(33, 49, 77, 0.8); 
  border-radius: 0px; 
  color: #FFFFFF; 
  font-size: 16px; 
  padding: 15px; 
  padding-top: 14px;
  position: absolute;
bottom: 0;
}


.fe_container_inf_link_btn{
  background-color: #21314d;
  color: rgb(255, 255, 255);
  /*font-size: 14px;*/
  padding: 10px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}


.working { 
	border: 1px solid red;
	background: url(../images/loader.gif) no-repeat right center;

}

.title_header_text{
	margin-left: 15px;
}

.max_content_with_landing{
	
}

@media(min-width: 768px){
  .title_header_text{
    margin-left: 50px;
  }
  
  .max_content_with_landing{
     padding-left: 80px;
     padding-right: 197px;
	}
  
}


.isTooltip:hover{
	cursor: pointer;
}


.fe_popover{
	font-size: 12px;
}

.fe_tr_provider_body_lg{
	padding-left: 30px;
}

.fe_backgroud_color_for_tr{
	background-color: #f7f8f9;
}

.card{
	background-color: inherit;
}

.priceionfo_overview_mark_row{
	background-color: rgba(33, 49, 77, 0.06);
	
}

.fe_bankname{
	font-size: 13px
}

@media(min-width: 768px){
	.fe_bankname{
	  font-size: 16px
	}

  
}


.head_line_landing{
	margin-top: 15px;
	color: rgb(33, 49, 77);
	font-size: 24px;
	text-align: center;
	letter-spacing: 0px;
}

.head_line_landing_container{
	height: 96px;
}

@media(min-width: 768px){
  .head_line_landing{
  
	  margin-left: 50px;
	  color: rgb(33, 56, 88); font-size: 30px; letter-spacing: 0px; margin-top: 108px;
	  text-align: left;
	}
	
	.head_line_landing_container{
  height: 194px;
}
	

  
}

.fe_why_card_body_bg{
	background-color: rgba(33, 49, 77,1);
}

.cookie_overlay {
	border-radius: 0px;
}

.footnote{
	color: rgba(33, 49, 77, 0.7);
	font-size: 12px;
}

.recommended_background {
	background-color: rgb(241, 249, 231);
}

.tr_recommended_result_block{
	border: 2px solid rgb(132, 188, 52);
	background-color: rgb(241, 249, 231);
}

.lug {
	width: 177px; 
	height: 38px; 
	background: rgb(132, 188, 52);
	border-radius: 0px; 
	color: #FFFFFF; 
	padding: 8px;
}


.loader_modal{
	background-color: rgba(33, 49, 77,0.0);
	border-radius: 0px;
	border: 0px;
}

.loader_modal_closer{
	width: 16px;
  height: 16px;
   margin-top: 20px;
    margin-right: 14px;
}

.loader_modal_header{
  /*width: 290px; */
  height: 56px; 
  background-color: rgb(33, 49, 77);
  border-radius: 0px;
}

.loader_modal_body{
  /*width: 290px; */
  height: 162px;
  background-color: rgb(256, 256, 256);
  border-radius: 0px;
}

.loader_modal_body_body{
  /*width: 290px; */
  /*height: 56px; */
  background-color: rgb(256, 256, 256);
  border-radius: 0px;
   padding-top: 20px;
   padding-left: 3px;
   padding-right: 3px;
}

.loader_modal_body_text{
  max-width: 176px;
	height: 66px;
	color: rgb(33, 49, 77);
	font-size: 13px;
	
	letter-spacing: 0px;
	line-height: 22px;
}


@media(min-width: 535px){
		
	.loader_modal_header{
	  width: 373px; 
	  height: 56px; 
	  background-color: rgb(33, 49, 77);
	  border-radius: 0px;
	}
	
	.loader_modal_body{
	  width: 373px; 
	  height: 140px;
	  background-color: rgb(256, 256, 256);
	  border-radius: 0px;
	 
	}
	
	.loader_modal_body_body{
	 width: 373px; 
    /*height: 56px; */
    background-color: rgb(256, 256, 256);
    border-radius: 0px;
     padding-top: 20px;
        padding-left: 3px;
   padding-right: 5px;
   z-index: 1000;
	}

  .loader_modal_body_text{
	  max-width: 258px; 
	  height: 44px; 
	  color: rgb(33, 49, 77); 
	  font-size: 16px; 
	  letter-spacing: 0px; 
	  line-height: 22px;
	}
	
	.loader_modal_closer{
	  width: 16px;
	  height: 16px;
	  margin-top: 20px;
	  margin-right: 14px;
	}
}

.isTooltipPrice:hover, .isTooltipPreisbremse:hover{
	cursor: pointer;
}

.isClickable:hover{
	cursor: pointer;
}


.hamburger--spring.is-active .hamburger-inner{
	background-color: #84bc34;
	height: 3px;
}

.hamburger--spring.is-active .hamburger-inner::before{
  background-color: #84bc34;
  height: 3px;
}

.hamburger--spring.is-active .hamburger-inner::after{
  background-color: #84bc34;
  height: 3px;
}


/*Breite für MObil*/
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: #84bc34;
  width: 25px;
  height: 3px;
}

.hamburger--spring .hamburger-inner {
  height: 3px;
}

.hamburger--spring .hamburger-inner::before {
  top: 9px;
  height: 3px;
}

.hamburger--spring .hamburger-inner::after {
  top: 19px;
  height: 3px;
}

@media ( min-width : 768px) {
	/*Breite für Desktop*/
	.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
		
		width: 35px;
		height: 3px;
	}
	.hamburger--spring .hamburger-inner::before {
		/*top: -18px;*/
		height: 3px;
	}
	.hamburger--spring .hamburger-inner::after {
		/*top: -9px !important;*/
		height: 3px;
	}
}

.popup_tooltip{
	padding: .5rem .75rem;
}

.popover-body{
	padding: 0;
}

.left_carousel_control_fe{
	width: 56px;
height: 56px;
background: rgb(132, 188, 52);
border-radius: 0px;
font-size: 32px;
vertical-align: middle;
align-content: center;
}

.kuedigungslink:hover{
	border: 1px solid rgb(33, 49, 77);
}

.flexxx { 
    display: flex; 
    justify-content: center; 
    align-items: center;
    border: rgba(33, 49, 77, 0.06);
    float: left;
    margin: 5px;
    padding: 5px;
    width: 150px;
    height: 150px;
    background-color: #FFFFFF;
}

.table_artikeleigenschaften td{ 
	border: 0;
	padding: 0.1rem;
	font-size: 12px;
}

.table_basket td{
	border-top: 0;
}

.shop-kachel{
	width: 100%; 
	height: auto;
	margin-left: auto;
	margin-right: auto;
}



@media ( min-width : 768px) {
	
	.shop-kachel{
	  width: 250px; 
	 
	
	}
	
	.shop-kachel-footer{
	 min-height: 100px;
	}
}

.faq_btn[aria-expanded=true]  .fa-chevron-down {
   display: none;
}
.faq_btn[aria-expanded=false]  .fa-chevron-up {
   display: none;
}

.card-link-fe{
	max-height: 250px;
}

@media ( min-width : 768px) {
  
  .card-link-fe{
    height: 248px; 
   
  
  }

}


.shop-kachel-pic{
  max-height: 245px;
  width: auto;
  max-width: 250px;
  
}


 .spinner {
            border: 4px solid rgba(0, 0, 0, 0.1);
            border-top: 4px solid #007bff;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            animation: spin 1s linear infinite;
            margin: 20px auto;
        }

/* Gemeinsamer Vergleichstarif-Bereich für Mobilgeräte und Desktop */
.tariff-comparison__title {
    margin-bottom: 1rem;
    font-size: 1.25rem;
}

.tariff-comparison__modes {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
}

.tariff-comparison [hidden] {
    display: none !important;
}

.tariff-comparison__summary,
.tariff-comparison__current,
.tariff-comparison__saving {
    margin-top: .75rem;
}

.tariff-comparison__submit {
    margin-top: 1rem;
}

.tariff-comparison__mobile-toggle {
    width: 100%;
}

/* Vergleich und Sortierung bilden optisch einen zusammenhängenden Bereich. */
.tariff-comparison {
    margin-bottom: 0;
    padding-bottom: .5rem;
}

.tariff-sort-bar {
    margin-top: 0;
    padding-top: .5rem;
    padding-bottom: .75rem;
    background-color: rgba(33, 49, 77, 0.06);
}

.tariff-sort-bar .row {
    align-items: center;
}

.tariff-filter-panel .form-control {
    width: 100%;
}

.tariff-filter-panel__search {
    margin-bottom: 1.25rem;
}

.tariff-filter-panel__section {
    padding: 1rem 0;
    border-top: 1px solid #d8dde5;
}

.tariff-filter-panel__section .custom-control + .custom-control {
    margin-top: .65rem;
}

.tariff-filter-panel__heading-with-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .5rem;
    font-size: 1rem;
    font-weight: 600;
}

.tariff-filter-panel__heading-with-info .isTooltip {
    flex: 0 0 auto;
    line-height: 1;
}

.tariff-filter-panel__subheading {
    margin: 0 0 .75rem;
    font-size: 1rem;
    font-weight: 600;
}

.tariff-filter-panel__subheading--nested {
    margin-top: 1rem;
    margin-bottom: .5rem;
}

.tariff-filter-panel__filter-label {
    margin: 0 0 .6rem;
    color: #34445d;
    font-size: .875rem;
    font-weight: 600;
}

/* Die allgemeinere Filterlabel-Regel darf den Abstand der Untergruppe nicht überschreiben. */
.tariff-filter-panel__filter-label.tariff-filter-panel__subheading--nested {
    margin-top: 1rem;
}

.tariff-filter-panel__recommendation {
    display: inline-block;
    margin-left: .25rem;
    padding: .08rem .3rem;
    color: #2f641f;
    background: #e5f3d7;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.2;
    vertical-align: .08rem;
}

.tariff-filter-panel__section .custom-control > .isTooltip {
    display: inline-block;
    margin-left: .25rem;
    line-height: 1;
    vertical-align: middle;
}

.tariff-filter-panel__logic-hint {
    margin: .85rem 0 0;
    color: #68778b;
    font-size: .78rem;
    line-height: 1.4;
}

.tariff-filter-panel__logic-hint--before {
    margin: 0 0 .75rem;
}

.tariff-card__price-note {
    margin-top: .2rem;
    color: #68778b;
    font-size: .72rem;
    line-height: 1.35;
}

.tariff-filter-panel__footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    padding-top: 1rem;
    border-top: 1px solid #d8dde5;
}

.tariff-filter-panel__counter {
    font-size: .875rem;
}

@media (max-width: 767.98px) {
    .tariff-comparison__modes {
        display: block;
    }

    .tariff-comparison__modes .custom-control + .custom-control {
        margin-top: .5rem;
    }

    .tariff-comparison__submit {
        width: 100%;
    }

    .tariff-comparison {
        padding: 0;
        background: #fff;
    }

    .tariff-comparison > .card {
        padding: .85rem;
    }

    .tariff-comparison__title {
        display: none;
    }

    .tariff-comparison__mobile-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: .75rem;
        padding: 0;
        border: 0;
        color: #10284a;
        background: transparent;
        text-align: left;
    }

    .tariff-comparison__mobile-summary {
        display: flex;
        min-width: 0;
        flex-direction: column;
        gap: .1rem;
        font-size: .85rem;
        line-height: 1.3;
    }

    .tariff-comparison__mobile-label {
        color: #68778b;
        font-size: .75rem;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .tariff-comparison__mobile-provider,
    .tariff-comparison__mobile-summary strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .tariff-comparison__mobile-change {
        color: #5f8f22;
        font-size: .85rem;
        text-decoration: underline;
    }

    .tariff-comparison__edit {
        display: none;
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid #d8dde5;
    }

    .tariff-comparison__edit.is-open {
        display: block;
    }

    .tariff-comparison__current {
        display: none;
    }

    .tariff-comparison__saving {
        margin-top: .65rem;
        font-size: .9rem;
    }
}

/* FE-CHECKOUT BUILD 2026.07.21-c13 | Unified tariff summary and personal form */
.checkout-tariff-summary {
    border: 1px solid #9da3aa;
    background: #fff;
    color: #10284a;
}

.checkout-tariff-summary__label {
    padding: .85rem 1rem 0;
    font-size: 1rem;
    font-weight: 700;
}

.checkout-tariff-summary__main {
    display: grid;
    grid-template-areas:
        "identity price"
        "bonuses bonuses";
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: .75rem 1rem;
    padding: .7rem 1rem .85rem;
}

.checkout-tariff-summary__identity { grid-area: identity; min-width: 0; }
.checkout-tariff-summary__price { grid-area: price; min-width: 0; text-align: right; }
.checkout-tariff-summary__bonuses { grid-area: bonuses; }

.checkout-tariff-summary__name {
    margin: 0;
    color: #101820;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.25;
}

.checkout-tariff-summary__logo {
    display: block;
    width: auto;
    max-width: 135px;
    height: auto;
    max-height: 64px;
    margin-top: .65rem;
    object-fit: contain;
    object-position: left center;
}

.checkout-tariff-summary__annual-price {
    color: #101820;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.checkout-tariff-summary__period,
.checkout-tariff-summary__coupon-note {
    display: block;
    margin-top: .15rem;
    font-size: .75rem;
}

.checkout-tariff-summary__saving {
    margin-top: .45rem;
    color: #8a2d20;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.25;
}

.checkout-tariff-summary__saving--positive { color: #29720d; }

.checkout-tariff-summary__bonuses {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    padding-top: .65rem;
    border-top: 1px solid #e3e6ea;
    color: #29720d;
    font-size: .9rem;
    font-weight: 700;
}

.checkout-tariff-summary__details-toggle {
    display: block;
    width: 100%;
    padding: .55rem 1rem;
    border-top: 1px solid #e3e6ea;
    color: #10284a;
    background: #fff;
    text-align: center;
}

.checkout-tariff-summary__details {
    border-top: 1px solid #e3e6ea;
    background: #fff;
}

.checkout-tariff-summary__details dl {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin: 0;
    padding: .75rem 1rem 1rem;
}

.checkout-tariff-summary__details dl > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    padding: .45rem 0;
    border-bottom: 1px solid #e3e6ea;
}

.checkout-tariff-summary__details dt { font-weight: 600; }
.checkout-tariff-summary__details dd { margin: 0; text-align: right; }

.checkout-action-label--mobile { display: none; }

.checkout-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: .75rem;
}

.checkout-form-actions .checkout-form-action {
    width: auto;
    max-width: none;
}

.checkout-provider-search {
    margin-bottom: .5rem;
    background-color: #fff;
}

.checkout-provider-combobox {
    position: relative;
}

.checkout-provider-results {
    position: absolute;
    z-index: 1045;
    top: calc(55px + .5rem);
    right: 0;
    left: 0;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #9da3aa;
    background: #fff;
    box-shadow: 0 .4rem 1rem rgba(16, 40, 74, .16);
}

.checkout-provider-results[hidden] { display: none !important; }

.checkout-provider-results [role="option"] {
    display: block;
    width: 100%;
    padding: .65rem .75rem;
    border: 0;
    border-bottom: 1px solid #e3e6ea;
    color: #10284a;
    background: #fff;
    text-align: left;
}

.checkout-provider-results [role="option"]:hover,
.checkout-provider-results [role="option"]:focus,
.checkout-provider-results [role="option"].is-active {
    background: #eef5e6;
}

.checkout-provider-results__empty {
    padding: .75rem;
    color: #68778b;
}

.checkout-provider-combobox.is-enhanced .checkout-provider-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.checkout-progress-container {
    padding: 1.25rem 3rem;
}

.checkout-progress {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    color: #10284a;
    background: #fff;
}

.checkout-progress__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    border: 1px solid #d1d6dc;
    list-style: none;
}

.checkout-progress__item {
    position: relative;
    min-width: 0;
}

.checkout-progress__item:not(:last-child)::after {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: -.42rem;
    width: .8rem;
    height: .8rem;
    border-top: 2px solid #aeb5bd;
    border-right: 2px solid #aeb5bd;
    background: #fff;
    content: "";
    transform: translateY(-50%) rotate(45deg);
}

.checkout-progress__content {
    display: flex;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .65rem .85rem;
    color: inherit;
    text-align: center;
    text-decoration: none;
}

a.checkout-progress__content:hover,
a.checkout-progress__content:focus {
    color: #10284a;
    text-decoration: underline;
}

.checkout-progress__number {
    display: inline-flex;
    flex: 0 0 auto;
    width: 1.65rem;
    height: 1.65rem;
    align-items: center;
    justify-content: center;
    border: 1px solid #aeb5bd;
    border-radius: 50%;
    background: #fff;
    font-size: .82rem;
    font-weight: 700;
}

.checkout-progress__label {
    min-width: 0;
    font-size: .9rem;
    line-height: 1.2;
}

.checkout-progress__item.is-current .checkout-progress__content {
    font-weight: 700;
}

.checkout-progress__item.is-current .checkout-progress__number {
    border-color: #84bc34;
    color: #fff;
    background: #84bc34;
}

.checkout-progress__item.is-complete .checkout-progress__number {
    border-color: #5f8f22;
    color: #5f8f22;
}

.checkout-progress__item.is-upcoming {
    color: #68778b;
}

@media (min-width: 992px) and (max-width: 1099.98px) {
    .checkout-progress-container {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }

    .checkout-progress__content {
        gap: .35rem;
        padding-right: .5rem;
        padding-left: .5rem;
    }

    .checkout-progress__label { font-size: .82rem; }
}

@media (min-width: 768px) {
    .checkout-tariff-summary__label {
        padding: 1rem 1.25rem 0;
        font-size: 1.15rem;
    }

    .checkout-tariff-summary__main {
        grid-template-areas: "identity bonuses price";
        grid-template-columns: minmax(210px, 1fr) minmax(180px, 1fr) minmax(180px, auto);
        align-items: center;
        padding: .85rem 1.25rem 1rem;
    }

    .checkout-tariff-summary__bonuses {
        align-content: center;
        border-top: 0;
        padding-top: 0;
    }

    .checkout-tariff-summary__details dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 2rem;
    }
}

@media (max-width: 767.98px) {
    .checkout-tariff-container {
        margin-top: 1rem !important;
        margin-bottom: .65rem !important;
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .checkout-mobile-progress {
        margin: 0;
        padding: 0 .75rem;
    }

    .checkout-mobile-progress .container-fluid {
        height: auto !important;
        margin: 0 !important;
        padding: .55rem .75rem;
        background: rgba(33, 49, 77, .05);
        font-size: .88rem !important;
    }

    .checkout-form-page {
        padding: 0 .75rem .75rem;
        background: #fff;
    }

    .checkout-form .form-block-content {
        margin: 0;
        padding: .85rem 0;
        border-top: 1px solid #e3e6ea;
    }

    .checkout-form .form-block-content:first-child { border-top: 0; }

    .checkout-form .form-block-head-text {
        padding: 0 .75rem .35rem;
        font-size: 1rem;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .checkout-form .form-block-content > .row:not(:first-child) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 28px;
        margin: .65rem 0 0;
    }

    .checkout-form .form-block-content > .row:not(:first-child) > .col-md-3:first-child,
    .checkout-form .form-block-content > .row:not(:first-child) > .col-md-3.required:first-child {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .checkout-form .form-block-content > .row:not(:first-child) > .col:nth-child(2),
    .checkout-form .form-block-content > .row:not(:first-child) > .col.fe_max_spalten_breite:nth-child(2) {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .checkout-form .form-block-content > .row:not(:first-child) > .col-xs-2:last-child {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        width: 28px;
        padding: 0;
        text-align: right;
    }

    .checkout-form .line_height_sm {
        height: auto;
        margin-bottom: .35rem;
    }

    .checkout-form label { margin-bottom: 0; }

    .checkout-form .form-control:not([type="checkbox"]) {
        min-height: 48px;
    }

    .checkout-form .row.fe_max_spalten_breite {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(105px, 32%);
        gap: .5rem;
        margin-right: 0;
        margin-left: 0;
    }

    .checkout-form .row.fe_max_spalten_breite > [class*="col"] {
        width: auto;
        max-width: none;
        padding: 0;
    }

    .checkout-form .form-text { font-size: .75rem; }

    .checkout-form .errors {
        margin-top: .35rem;
        font-size: .82rem;
    }

    .checkout-form .checkout-form-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem;
        margin-top: .75rem;
    }

    .checkout-form-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 44px;
        padding: .45rem .6rem;
        font-size: .82rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .checkout-action-label--desktop { display: none; }
    .checkout-action-label--mobile { display: inline; }

    .checkout-provider-results {
        top: calc(48px + .5rem);
    }

    .checkout-meter-form #block-switch > .row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 28px;
        margin: .8rem 0 0 !important;
    }

    .checkout-meter-form #block-switch > .row > .col-md-3:first-child {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .checkout-meter-form #block-switch > .row > .col:nth-child(2) {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .checkout-meter-form #block-switch > .row > .col-xs-2:last-child,
    .checkout-meter-form #block-switch > .row > .isTooltip:last-child {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        width: 28px;
        padding: 0;
        text-align: right;
    }

    .checkout-meter-mode {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .5rem;
    }

    .checkout-meter-mode > .col {
        grid-column: auto !important;
        grid-row: 1 !important;
        width: auto;
        padding: 0;
    }

    .checkout-meter-mode > .col > .row {
        height: 100%;
        margin: 0;
        padding: .65rem;
        border: 1px solid #d8dde5;
        background: #fff;
    }

    .checkout-meter-mode .col-1 {
        flex: 0 0 28px;
        max-width: 28px;
        padding: .15rem 0 0 !important;
    }

    .checkout-meter-mode .col {
        padding: 0 .25rem;
    }

    .checkout-meter-form input[type="checkbox"].form-control {
        width: 18px;
        min-height: 18px;
        height: 18px;
        padding: 0;
    }

    .checkout-meter-form .fe_meter_date_card {
        padding: .65rem 0 0;
    }

    .checkout-form .checkout-form-footer > .row:first-child > .col {
        width: 100%;
        padding: 0;
        text-align: right !important;
    }

    .checkout-form .checkout-form-footer .checkout-form-actions {
        margin-top: .65rem;
    }

    .checkout-payment-account-choice > .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem;
        margin: 0;
    }

    .checkout-payment-account-choice > .row > .col {
        width: auto;
        padding: .65rem;
        border: 1px solid #d8dde5;
        background: #fff;
    }

    .checkout-payment-account-choice input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin-right: .35rem;
        vertical-align: middle;
    }

    .checkout-payment-account-choice label {
        display: inline;
        line-height: 1.35;
    }

    .checkout-payment-form #sepa_text {
        padding: .75rem;
        border: 1px solid #d8dde5;
        background: rgba(33, 49, 77, .035);
        font-size: .82rem;
        line-height: 1.45;
    }

    .checkout-payment-form .iban {
        text-transform: uppercase;
        letter-spacing: .035em;
    }
}

@media (max-width: 419.98px) {
    .checkout-meter-mode {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .checkout-meter-mode > .col {
        grid-row: auto !important;
    }

    .checkout-payment-account-choice > .row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 374.98px) {
    .checkout-tariff-summary__main {
        grid-template-areas:
            "identity price"
            "bonuses bonuses";
        grid-template-columns: minmax(0, 1fr) minmax(118px, auto);
        column-gap: .5rem;
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .checkout-tariff-summary__logo { max-width: 105px; }
    .checkout-tariff-summary__annual-price { font-size: 1.05rem; }

    .checkout-form .row.fe_max_spalten_breite {
        grid-template-columns: minmax(0, 1fr);
    }
}

        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }

/* Einheitliche responsive Ergebniskarte */
.tariff-card {
    margin-bottom: .75rem;
    border: 1px solid #9da3aa;
    background: #fff;
    color: #10284a;
}

.tariff-card__main {
    display: grid;
    grid-template-areas:
        "identity"
        "price"
        "benefits"
        "actions";
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem;
}

.tariff-card__identity { grid-area: identity; min-width: 0; }
.tariff-card__price { grid-area: price; min-width: 0; }
.tariff-card__benefits { grid-area: benefits; min-width: 0; }
.tariff-card__actions { grid-area: actions; min-width: 0; }

.tariff-card__title {
    margin: 0 0 .2rem;
    color: #101820;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
}

.tariff-card__provider,
.tariff-card__network {
    overflow-wrap: anywhere;
    font-size: .875rem;
    line-height: 1.35;
}

.tariff-card__network { margin-top: .1rem; }

.tariff-card--recommended {
    border: 2px solid #84bc34;
    background: #f1f9e7;
}

.tariff-card__recommendation-label {
    display: inline-block;
    padding: .55rem 1rem;
    color: #fff;
    background: #84bc34;
    font-weight: 700;
}

.tariff-card__logo {
    display: block;
    width: auto;
    max-width: 190px;
    height: auto;
    max-height: 82px;
    margin-top: 1rem;
    object-fit: contain;
    object-position: left center;
}

.tariff-card__extras {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 190px;
    max-width: 100%;
    margin-top: 1.5rem;
    overflow: hidden;
    border: 2px solid #10284a;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 3px 8px rgba(16, 40, 74, .16);
}

.tariff-card__extra-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: .15rem .7rem .25rem;
    color: #fff;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.tariff-card__extra-label > span:first-child {
    color: #29720d;
}

.tariff-card__extra-logos {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0 .7rem .55rem;
}

.tariff-card__extra-logo-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding: .45rem 0;
}

.tariff-card__extra-logo-item + .tariff-card__extra-logo-item {
    margin-top: .55rem;
    padding-top: 1rem;
}

.tariff-card__extra-logo-item + .tariff-card__extra-logo-item::before {
    position: absolute;
    top: -.55rem;
    left: 50%;
    color: #29720d;
    content: "+";
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    transform: translateX(-50%);
}

.tariff-card__amazon.willkomensgutschein {
    flex: 0 0 auto;
    margin: 0;
    border: 0;
    background-color: transparent;
}

.tariff-card__treemer {
    display: block;
    flex: 0 0 auto;
    width: 120px;
    height: 67px;
    margin: 0;
    object-fit: contain;
}

.tariff-card__waipu {
    display: block;
    width: 124px;
    height: auto;
    object-fit: contain;
}

.tariff-card__annual-price {
    color: #101820;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.15;
    white-space: nowrap;
}

.tariff-card__price-period {
    margin-top: .2rem;
    font-size: .8rem;
}

.tariff-card__saving {
    margin-top: .75rem;
    color: #8a2d20;
    font-weight: 700;
    line-height: 1.3;
}

.tariff-card__saving--positive { color: #29720d; }

.tariff-card__saving small {
    display: block;
    margin-top: .15rem;
    color: #10284a;
    font-size: .75rem;
    font-weight: 400;
}

.tariff-card__benefits {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.tariff-card__bonus-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: .15rem;
}

.tariff-card__bonus-chip {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .3rem;
    align-items: baseline;
    width: fit-content;
    padding: .28rem .48rem;
    border-radius: .2rem;
    color: #173b13;
    background: #e4f3df;
    line-height: 1.2;
}

.tariff-card__bonus-chip strong {
    white-space: nowrap;
}

/* Betrag und Info-Icon bleiben beim natuerlichen Textumbruch zusammen. */
.tariff-card__bonus-value {
    display: inline-block;
    white-space: nowrap;
}

.tariff-card__benefit {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    color: #101820;
    line-height: 1.3;
}

.tariff-card__benefit > i {
    flex: 0 0 auto;
    margin-top: .18rem;
    color: #29720d;
}

.tariff-card__actions {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.tariff-card__details-button,
.tariff-card__choose-button,
.tariff-card__choose-form {
    width: 100%;
}

.tariff-card__details-button {
    color: #10284a;
    background: transparent;
    text-align: center;
}

.tariff-card__details-button:hover,
.tariff-card__details-button:focus { color: #10284a; }

.tariff-card__choose-button {
    min-height: 48px;
    border: 0;
    background: linear-gradient(
        145deg,
        #1c4778 0%,
        #10284a 58%,
        #0b1d36 100%
    );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 4px 9px rgba(16, 40, 74, .20);
    white-space: nowrap;
    transition: filter .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tariff-card__choose-button:hover,
.tariff-card__choose-button:focus {
    color: #fff;
    filter: brightness(1.1);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        0 6px 13px rgba(16, 40, 74, .27);
}

.tariff-card__choose-button:active {
    filter: brightness(.96);
    transform: translateY(1px);
}

.tariff-card__details {
    border-top: 1px solid #d8dde5;
    background: #fff;
}

.tariff-card__details .tab-content { padding: 1.25rem; }

.tariff-card__facts {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin: 0 0 1rem;
}

.tariff-card__facts > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    padding: .55rem 0;
    border-bottom: 1px solid #e3e6ea;
}

.tariff-card__facts dt { font-weight: 600; }
.tariff-card__facts dd { margin: 0; text-align: right; }
.tariff-card__installment {
    margin: .9rem 0 1rem;
    padding: .75rem 1rem;
    background-color: rgba(33, 49, 77, 0.06);
}
.tariff-card__installment-value {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 1.05rem;
}
.tariff-card__installment-value span { white-space: nowrap; }
.tariff-card__installment-note {
    margin-top: .25rem;
    font-size: .875rem;
}
.tariff-card__gross-note { margin-top: 1rem; }
.tariff-card__price-summary {
    margin: .75rem 0;
    line-height: 1.45;
}
.tariff-card__fine-print { font-size: .875rem; }

.tariff-card__close-button {
    display: block;
    margin: 0 auto 1rem;
    color: #10284a;
}

/* Breite Desktopansicht: drei Spalten nur bei wirklich genügend Platz. */
@media (min-width: 1200px) {
    .tariff-card__main {
        grid-template-areas:
            "identity benefits price"
            "identity benefits actions";
        grid-template-columns: minmax(180px, 28%) minmax(220px, 1fr) minmax(185px, 26%);
        grid-template-rows: auto 1fr;
        column-gap: 1.5rem;
        row-gap: 1rem;
        padding: 1.75rem 2.2rem;
    }

    .tariff-card__price { text-align: right; }
    .tariff-card__saving small { text-align: right; }
    .tariff-card__actions { align-self: end; }
    .tariff-card__details-button { order: 2; }
    .tariff-card__choose-form { order: 1; }

    .tariff-card__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 2rem;
    }
}

/* Zwischenansicht mit sichtbarer Filterspalte: kein horizontales Überlaufen. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .tariff-card__main {
        grid-template-areas:
            "identity price"
            "benefits benefits"
            "actions actions";
        grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr);
        grid-template-rows: auto;
        column-gap: 1.5rem;
        row-gap: 1.25rem;
        padding: 1.5rem;
    }

    .tariff-card__price {
        min-width: 0;
        text-align: right;
    }

    .tariff-card__saving small { text-align: right; }

    .tariff-card__benefits {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.5rem;
        row-gap: .55rem;
        padding-top: 1rem;
        border-top: 1px solid #e3e6ea;
    }

    .tariff-card__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
        align-items: center;
        gap: 1rem;
    }

    .tariff-card__choose-form { width: auto; }

    .tariff-card__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 2rem;
    }
}

/* Schmale Tabletansicht mit sichtbarer Filterspalte: Details einspaltig. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .tariff-card__details .tab-content {
        padding: 1rem;
    }

    .tariff-card__facts {
        grid-template-columns: minmax(0, 1fr);
        column-gap: 0;
    }

    .tariff-card__facts > div {
        grid-template-columns: minmax(0, 1fr) minmax(90px, auto);
        gap: .75rem;
    }

    .tariff-card__facts dt,
    .tariff-card__facts dd {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 767.98px) {
    /* Abschlag auf kleinen Displays bewusst einspaltig darstellen. */
    .tariff-card__installment-value {
        display: block;
    }

    .tariff-card__installment-value strong,
    .tariff-card__installment-value span {
        display: block;
    }

    .tariff-card__installment-value span {
        margin-top: .2rem;
        white-space: normal;
    }

    .tariff-card__main {
        grid-template-areas:
            "identity price"
            "benefits benefits"
            "actions actions";
        grid-template-columns: minmax(0, 1fr) max-content;
        column-gap: .85rem;
        row-gap: 1rem;
        padding: 1rem;
    }

    .tariff-card__identity { min-width: 0; }
    .tariff-card__title { font-size: 1.1rem; }
    .tariff-card__provider,
    .tariff-card__network { font-size: .78rem; }
    .tariff-card__logo { max-width: 145px; max-height: 58px; margin-top: .7rem; }
    .tariff-card__price {
        align-self: start;
        min-width: 0;
        padding: 0;
        border: 0;
        text-align: right;
    }
    .tariff-card__annual-price { font-size: 1.35rem; }
    .tariff-card__saving { margin-top: .55rem; font-size: .9rem; }
    .tariff-card__saving small { text-align: right; }
    .tariff-card__extras { width: 170px; margin-top: 1rem; }
    .tariff-card__extra-label { min-height: 30px; padding: .1rem .6rem .2rem; font-size: 1.8rem; }
    .tariff-card__extra-logos { padding: 0 .6rem .45rem; }
    .tariff-card__extra-logo-item { min-height: 55px; padding: .35rem 0; }
    .tariff-card__amazon.willkomensgutschein { transform: scale(.88); transform-origin: center center; margin: -4px 0; }
    .tariff-card__treemer { width: 62px; height: 55px; }
    .tariff-card__waipu { width: 112px; }

    .tariff-card__benefits {
        padding-top: .85rem;
        border-top: 1px solid #e3e6ea;
    }

    .tariff-card__benefit { font-size: .9rem; }

    .tariff-card__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(145px, auto);
        align-items: center;
        gap: .65rem;
        padding-top: .85rem;
        border-top: 1px solid #e3e6ea;
    }

    .tariff-card__choose-form { width: auto; }
    .tariff-card__choose-button { min-height: 44px; padding-left: .75rem; padding-right: .75rem; }
    .tariff-card__details-button { padding-left: .25rem; padding-right: .25rem; }

    body.mobile-filter-is-open {
        overflow: hidden;
    }

    .tr_left_col_header { display: none; }

    .tr_right_col {
        display: flex;
        flex-direction: column;
    }

    .tr_right_col > .tr_right_col_header {
        order: -30;
        margin: .15rem 0 .6rem;
        padding: 0;
        font-size: 1rem;
        line-height: 1.35;
    }

    .mobile-results-tools {
        display: contents;
    }

    .mobile-filter-open {
        order: -40;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .45rem;
        width: 100%;
        min-height: 40px;
        margin: .35rem 0 .75rem;
        padding: .45rem .75rem;
        border: 1px solid #84bc34;
        color: #5f8f22;
        background: #fff;
        font-size: .9rem;
        font-weight: 500;
    }

    .mobile-filter-count {
        min-width: 1.45rem;
        padding: .08rem .38rem;
        border-radius: 1rem;
        color: #fff;
        background: #29720d;
        font-size: .75rem;
        line-height: 1.3;
        text-align: center;
    }

    .mobile-results-tools__sort {
        order: -20;
        min-width: 0;
        margin-bottom: .75rem;
        padding: .7rem .8rem .8rem;
        border: 1px solid #e1e5ea;
        background: rgba(33, 49, 77, .035);
    }

    .mobile-results-tools__sort::before {
        display: none;
        margin-bottom: .35rem;
        color: #68778b;
        content: "Sortieren nach";
        font-size: .78rem;
    }

    .mobile-results-tools__sort .tariff-sort-bar {
        height: 100%;
        margin: 0;
        padding: 0;
        background: transparent;
    }

    .mobile-results-tools__sort .container-fluid,
    .mobile-results-tools__sort .row,
    .mobile-results-tools__sort .col,
    .mobile-results-tools__sort .float-right {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        float: none !important;
    }

    .mobile-results-tools__sort .col-xs-2 {
        display: none;
    }

    .mobile-results-tools__sort #sort_by {
        width: 100%;
        height: 44px;
        padding-right: 2rem;
        border-color: #cbd2da;
        color: #10284a;
        background-color: #fff;
        font-size: .875rem;
    }

    .tr_right_col > .tariff-comparison {
        order: -10;
    }

    .mobile-filter-drawer {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 1052;
        width: min(88vw, 360px);
        max-width: 360px;
        height: 100vh;
        height: 100dvh;
        margin: 0 !important;
        overflow-y: auto;
        overscroll-behavior: contain;
        border: 0;
        background: #fff;
        box-shadow: 6px 0 24px rgba(0, 0, 0, .22);
        transform: translateX(-105%);
        transition: transform .25s ease;
        visibility: hidden;
    }

    .mobile-filter-drawer.is-open {
        transform: translateX(0);
        visibility: visible;
    }

    .mobile-filter-drawer > .btn-toolbar {
        position: sticky;
        top: 0;
        z-index: 2;
        min-height: 56px;
        padding: .45rem .75rem;
        border-bottom: 1px solid #d8dde5;
        background: #fff;
    }

    .mobile-filter-drawer .collapse.dont_collapse_lg {
        display: block !important;
        height: auto !important;
    }

    .mobile-filter-drawer .fe_tr_filter_body {
        padding: 1rem;
        border: 0;
    }

    .mobile-filter-drawer .mobile-search-summary {
        margin: 0 !important;
        padding: .9rem 1rem;
        border: 0;
        border-bottom: 1px solid #d8dde5;
        background: rgba(33, 49, 77, .035);
    }

    .mobile-filter-drawer .mobile-search-summary .tr_left_col_header_2 {
        font-size: .82rem;
        font-weight: 600;
        letter-spacing: .04em;
    }

    .mobile-filter-drawer .mobile-search-summary .tr_left_col_parameter_text {
        margin-top: .35rem !important;
        font-size: .9rem;
        line-height: 1.4;
    }

    .mobile-filter-drawer .mobile-search-summary .btn {
        padding: .25rem .4rem;
        font-size: .85rem;
    }

    .mobile-filter-close__icon {
        display: block;
        font-size: 2rem;
        font-weight: 300;
        line-height: 1;
    }

    .mobile-filter-overlay {
        position: fixed;
        inset: 0;
        z-index: 1051;
        background: rgba(10, 25, 45, .58);
    }

    .mobile-filter-overlay[hidden] {
        display: none !important;
    }

    .mobile-filter-apply {
        width: 100%;
        min-height: 48px;
        order: -1;
    }

    .back-to-top {
        right: 8px;
        bottom: 12px;
        z-index: 1040;
        padding: 10px 12px;
        opacity: .55;
    }
}

@media (max-width: 374.98px) {
    .tariff-card__main {
        grid-template-columns: minmax(0, 1fr) minmax(105px, auto);
        column-gap: .55rem;
        padding: .85rem;
    }

    .tariff-card__annual-price { font-size: 1.2rem; }
    .tariff-card__saving { font-size: .82rem; }
    .tariff-card__logo { max-width: 125px; }
    .tariff-card__actions { grid-template-columns: minmax(0, 1fr) minmax(132px, auto); }
}

/*
 * Mobile Ergebnisansicht – abschließende Layoutregeln.
 * Die expliziten Regeln am Dateiende verhindern, dass ältere Toolbar- oder
 * Kartenregeln aus den Whitelabel-Styles die mobile Anordnung überschreiben.
 */
@media (max-width: 767.98px) {
    .mobile-results-tools,
    .mobile-results-tools__sort,
    .mobile-results-tools__sort .tariff-sort-bar {
        position: static !important;
        top: auto !important;
    }

    .mobile-results-tools {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: stretch;
        gap: .5rem;
        order: -20;
        margin: 0 0 .65rem;
        padding: 0;
    }

    .mobile-filter-open {
        width: auto;
        min-width: 88px;
        min-height: 42px;
        margin: 0;
        border-color: #cbd2da;
        color: #10284a;
    }

    .mobile-results-tools__sort {
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .mobile-results-tools__sort::before {
        display: none;
    }

    .mobile-results-tools__sort #sort_by {
        height: 42px;
    }

    .tr_right_col > .tr_right_col_header {
        order: -30;
        margin-bottom: .65rem;
    }

    .tr_right_col > .tariff-comparison {
        order: -10;
        margin: 0 0 .65rem !important;
    }

    .tariff-comparison__title,
    .tariff-comparison__edit:not(.is-open),
    .tariff-comparison__current {
        display: none !important;
    }

    .tariff-comparison__mobile-toggle {
        display: grid !important;
    }

    .tariff-card__main {
        display: grid !important;
        grid-template-areas:
            "identity price"
            "benefits benefits"
            "actions actions" !important;
        grid-template-columns: minmax(0, 1fr) max-content !important;
        align-items: start;
    }

    .tariff-card__identity { grid-area: identity !important; }
    .tariff-card__price {
        grid-area: price !important;
        align-self: start !important;
        text-align: right !important;
    }
    .tariff-card__benefits { grid-area: benefits !important; }
    .tariff-card__actions { grid-area: actions !important; }
}


/* FE-CHECKOUT BUILD 2026.07.21-c16 | Prüf- und Bestätigungsseite */
.checkout-review-page .checkout-review-content {
    padding-top: 1rem;
    padding-bottom: 1.5rem;
}

.checkout-review-page .checkout-review-content > .row:nth-of-type(2) {
    row-gap: 1rem;
}

.checkout-review-card > .form-block {
    height: 100%;
    margin: 0;
    padding: 1rem;
    border: 1px solid #d4dae1;
    background: #fff;
}

.checkout-review-card .row { align-items: baseline; }
.checkout-review-card .form-group { margin-bottom: .45rem; }
.checkout-review-section-title { margin-top: 1.25rem; }

.checkout-review-terms {
    margin-left: 0 !important;
    padding: 1rem;
    border: 1px solid #d4dae1;
    background: #fff;
}

.checkout-review-terms > .row {
    margin-left: 0;
    margin-right: 0;
}

.checkout-review-terms > .row > .col-xs-2 {
    display: flex;
    flex: 0 0 48px;
    max-width: 48px;
    align-items: flex-start;
    gap: .2rem;
    padding-left: .25rem;
    padding-right: .35rem;
}

.checkout-review-terms > .row > .col-xs-2 input[type="checkbox"] {
    float: none !important;
    flex: 0 0 18px;
    margin-left: 0;
}

.checkout-review-terms > .row > .col-xs-2 > span {
    float: none !important;
    margin: 0 !important;
    line-height: 1;
}

.checkout-review-terms input[type="checkbox"] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    padding: 0;
}

.checkout-review-terms .row > .col-xs-2 {
    flex-basis: 48px;
    max-width: 48px;
}

.checkout-review-terms ul { padding-left: 0; }
.checkout-review-submit { margin-top: 1rem; }

.checkout-review-actions {
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    gap: .65rem;
}

.checkout-review-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #21314d;
    color: #21314d;
    background: #fff;
}

@media (max-width: 991.98px) {
    .checkout-review-page .max_content_width { max-width: 760px; }
    .checkout-review-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .checkout-review-page,
    .checkout-review-page .max_content_width,
    .checkout-review-content {
        padding-left: .5rem;
        padding-right: .5rem;
    }

    .checkout-review-content > .row:first-child .form-block-head-text,
    .checkout-review-section-title .form-block-head-text {
        padding-left: .75rem;
    }

    .checkout-review-card {
        padding-left: 0;
        padding-right: 0;
    }

    .checkout-review-card > .form-block,
    .checkout-review-terms { padding: .85rem .75rem; }

    .checkout-review-card .row > [class*="col-md-3"],
    .checkout-review-card .row > [class*="col-sm-3"] {
        flex: 0 0 42%;
        max-width: 42%;
    }

    .checkout-review-card .row > .col {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .checkout-review-terms .row {
        margin-left: 0;
        margin-right: 0;
    }

    .checkout-review-terms .row > .col {
        min-width: 0;
        padding-right: 0;
        font-size: .95rem !important;
        overflow-wrap: anywhere;
    }

    .checkout-review-actions {
        display: grid;
        grid-template-columns: minmax(92px, .65fr) minmax(0, 1.35fr);
        gap: .5rem;
    }

    .checkout-review-actions .btn {
        width: 100%;
        min-width: 0;
        padding: .7rem .45rem;
        font-size: .78rem;
        white-space: normal;
    }
}

@media (max-width: 390px) {
    .checkout-review-back { font-size: 0 !important; }
    .checkout-review-back i {
        margin: 0 !important;
        font-size: 1rem;
    }
}

/* FE-CHECKOUT BUILD 2026.07.21-c19 | Abschlussseite und Mailstatus */
.checkout-finish-header .head_line_landing {
    margin-bottom: .75rem;
}

/* FE-CHECKOUT BUILD 2026.07.21-c20 | Benutzerfreundliche Fehlerseiten */
.checkout-error-page {
    min-height: 430px;
    padding: 3rem 1rem;
}

.checkout-error-content {
    width: 100%;
}

.checkout-error-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 1.25rem;
    max-width: 880px;
    margin: 0 auto;
    padding: 2rem;
    border-top: 5px solid #84bc34;
    background: #fff;
    box-shadow: 0 2px 8px rgba(21, 40, 70, .12);
}

.checkout-error-icon {
    color: #84bc34;
    font-size: 3rem;
    line-height: 1;
}

.checkout-error-code {
    margin: 0 0 .35rem;
    color: #68758a;
    font-size: .95rem;
    font-weight: 600;
    text-transform: uppercase;
}

.checkout-error-body h1 {
    margin: 0 0 .75rem;
    color: #21314d;
    font-size: 1.75rem;
    line-height: 1.3;
}

.checkout-error-body > p:not(.checkout-error-code) {
    max-width: 680px;
    margin-bottom: 1.25rem;
    font-size: 1.05rem;
    line-height: 1.55;
}

.checkout-error-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35rem .75rem;
    margin-bottom: 1.25rem;
}

.checkout-error-contact span {
    font-weight: 700;
}

.checkout-error-contact a {
    color: #21314d;
    font-size: 1.25rem;
    font-weight: 700;
    text-decoration: underline;
}

.checkout-error-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.checkout-error-actions .btn {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: .7rem 1.25rem;
}

.checkout-error-home {
    border: 1px solid #21314d;
    color: #21314d;
    background: #fff;
}

@media (max-width: 767.98px) {
    .checkout-error-page {
        min-height: 0;
        padding: 1rem .75rem 1.5rem;
    }

    .checkout-error-card {
        grid-template-columns: 1fr;
        gap: .5rem;
        padding: 1.25rem 1rem;
    }

    .checkout-error-icon {
        font-size: 2.25rem;
    }

    .checkout-error-body h1 {
        font-size: 1.4rem;
    }

    .checkout-error-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .checkout-error-actions .btn {
        width: 100%;
    }
}

.checkout-finish-page {
    min-height: 420px;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.checkout-finish-content {
    width: 100%;
}

.checkout-finish-summary,
.checkout-finish-card-row {
    margin-left: 0;
    margin-right: 0;
}

.checkout-finish-summary {
    padding: 1rem 1.25rem;
    border-left: 4px solid #84bc34;
    background: #fff;
}

.checkout-finish-email {
    overflow-wrap: anywhere;
}

.checkout-finish-card-row {
    margin-top: 1rem;
}

.checkout-finish-card-row > .col {
    padding-left: 0;
    padding-right: 0;
}

.checkout-finish-card {
    margin-top: 0;
    padding: 1.5rem !important;
    border: 1px solid #d4dae1;
    background: #fff !important;
}

.checkout-finish-lead,
.checkout-finish-subheading {
    color: #21314d !important;
    font-weight: 700 !important;
    line-height: 1.4;
}

.checkout-finish-text {
    color: #21314d !important;
    line-height: 1.55;
}

/* FE-CROSS-SELL BUILD 2026.08.04-c30 | Abschlussseiten-CTA */
.checkout-finish-cross-sell-row {
    margin: 1rem 0 0;
}

.checkout-finish-cross-sell-row > .col {
    padding: 0;
}

.checkout-finish-cross-sell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.35rem 1.5rem;
    border: 2px solid #21314d;
    background: #fff;
    box-shadow: 0 3px 10px rgba(33, 49, 77, .1);
}

.checkout-finish-cross-sell h2 {
    margin: 0 0 .4rem;
    color: #21314d;
    font-size: 1.3rem;
    font-weight: 700;
}

.checkout-finish-cross-sell p {
    margin: 0;
    color: #21314d;
    line-height: 1.45;
}

.checkout-finish-cross-sell-note {
    margin-top: .35rem !important;
    font-size: .9rem;
}

.checkout-finish-cross-sell-form {
    flex: 0 0 auto;
    margin: 0;
}

.checkout-finish-cross-sell-button {
    min-height: 48px;
    padding: .7rem 1.15rem;
    border: 2px solid #21314d;
    border-radius: 0;
    background: linear-gradient(135deg, #21314d 0%, #29466f 100%);
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}

.checkout-finish-cross-sell-button:hover,
.checkout-finish-cross-sell-button:focus {
    border-color: #15243b;
    background: #fff;
    color: #15243b;
}

.checkout-finish-cross-sell-button span {
    margin-left: .45rem;
    font-size: 1.4em;
    line-height: 0;
}

/* FE-WHITELABEL BUILD 2026.08.04-c33 | Hero auf 1130px begrenzt */
.fe-freenet-entry {
    max-width: 1130px;
    margin: 0 auto;
    padding: 1.5rem 1rem 3rem;
    color: #21314d;
}

.fe-freenet-entry-hero {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background-position: center;
    background-size: cover;
}

.fe-freenet-entry-hero::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.72) 42%, rgba(255,255,255,0) 68%);
}

.fe-freenet-entry-hero-overlay {
    position: relative;
    z-index: 1;
    max-width: 580px;
    padding: 3rem 2.5rem;
}

.fe-freenet-entry-hero h1 {
    margin: 0;
    color: #21314d;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    line-height: 1.08;
}

.fe-freenet-entry-hero p {
    max-width: 460px;
    margin: 1rem 0 0;
    font-size: 1.15rem;
    line-height: 1.5;
}

.fe-freenet-entry-panel {
    position: relative;
    z-index: 2;
    max-width: 1040px;
    margin: -32px auto 0;
}

.fe-freenet-product-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr .78fr;
    gap: .65rem;
    margin: 0 1.25rem;
    border: 0;
}

.fe-freenet-product-tabs .nav-item {
    max-width: none;
    min-height: 0;
    border: 0;
    background: transparent;
}

.fe-freenet-product-choice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    width: 100%;
    min-height: 64px;
    padding: .75rem 1rem;
    border: 2px solid #21314d;
    border-radius: 0;
    background: #e5e5e5;
    color: #21314d;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.fe-freenet-product-choice .fe-product-choice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    line-height: 1;
}

.fe-freenet-product-choice .fe-product-choice-label {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
}

.fe-freenet-product-choice small {
    color: #56647a;
    font-size: .75rem;
    font-weight: 400;
}

.fe-freenet-product-tabs .tab_startseite_tab_active .fe-freenet-product-choice {
    border-color: #21314d;
    background: #e1f1cb;
    color: #21314d;
    box-shadow: inset 0 -3px 0 #21314d;
}

.fe-freenet-product-extra .fe-freenet-product-choice {
    border-color: #aab3bf;
    color: #4f5b6c;
}

.fe-freenet-product-choice:hover,
.fe-freenet-product-choice:focus {
    border-color: #29720d;
    color: #1e5709;
    text-decoration: none;
    outline: 3px solid rgba(41,114,13,.2);
    outline-offset: 2px;
}

.fe-freenet-search-card {
    padding: 1.5rem 1.75rem 1.75rem;
    border: 1px solid #cbd2da;
    background: #fff;
    box-shadow: 0 8px 24px rgba(33,49,77,.14);
}

.fe-freenet-search-intro h2 {
    margin: 0;
    color: #21314d;
    font-size: 1.35rem;
    font-weight: 700;
}

.fe-freenet-search-intro p {
    margin: .25rem 0 1.25rem;
    color: #4f5b6c;
}

.fe-freenet-search-form {
    display: grid;
    grid-template-columns: 1fr 1fr minmax(220px, .85fr);
    align-items: start;
    gap: 1rem;
}

.fe-freenet-search-field label {
    display: block;
    margin-bottom: .4rem;
    color: #21314d;
    font-weight: 600;
}

.fe-freenet-search-field .form-control,
.fe-freenet-search-action .btn {
    min-height: 52px;
    border-radius: 0;
}

.fe-freenet-search-field .form-control {
    border: 1px solid #9aa5b3;
    color: #21314d;
}

.fe-freenet-search-field .form-control:focus {
    border-color: #21314d;
    box-shadow: 0 0 0 3px rgba(33,49,77,.15);
}

.fe-freenet-search-action {
    padding-top: 1.9rem;
}

.fe-freenet-search-action .fe_button_neu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 2px solid #21314d;
    background: linear-gradient(135deg, #21314d 0%, #29466f 100%);
    color: #fff;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.fe-freenet-search-action .fe_button_neu:hover,
.fe-freenet-search-action .fe_button_neu:focus {
    background: #fff;
    color: #21314d;
    box-shadow: 0 0 0 3px rgba(33,49,77,.15);
}

/* FE-INPUT BUILD 2026.08.04-c35 | Suchbutton pixelgenau ausgerichtet */
.fe-standard-search-action {
    padding-top: 2rem;
}

.fe-standard-search-action .fe_button_neu {
    min-height: 50px;
}

.fe-freenet-custom-usage {
    margin: 0;
}

@media (max-width: 991.98px) {
    .fe-freenet-entry-hero {
        min-height: 280px;
    }

    .fe-freenet-entry-panel {
        margin-top: -28px;
    }

    .fe-freenet-search-form {
        grid-template-columns: 1fr 1fr;
    }

    .fe-freenet-search-action {
        grid-column: 1 / -1;
        padding-top: 0;
    }

    .fe-standard-search-action {
        margin-top: 1rem;
        padding-top: 0;
    }
}

@media (max-width: 767.98px) {
    .fe-freenet-entry {
        padding: 0 0 1.5rem;
    }

    .fe-freenet-entry-hero {
        min-height: 230px;
        background-position: 62% center;
    }

    .fe-freenet-entry-hero::after {
        background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 58%, rgba(255,255,255,.2) 100%);
    }

    .fe-freenet-entry-hero-overlay {
        max-width: 85%;
        padding: 2rem 1rem;
    }

    .fe-freenet-entry-hero h1 {
        font-size: 2rem;
    }

    .fe-freenet-entry-hero p {
        font-size: 1rem;
    }

    .fe-freenet-entry-panel {
        margin: -18px .75rem 0;
    }

    .fe-freenet-product-tabs {
        grid-template-columns: 1fr 1fr;
        margin: 0;
        gap: .45rem;
    }

    .fe-freenet-product-extra {
        grid-column: 1 / -1;
    }

    .fe-freenet-product-extra .fe-freenet-product-choice {
        min-height: 48px;
    }

    .fe-freenet-search-card {
        padding: 1.15rem 1rem 1rem;
    }

    .fe-freenet-search-intro h2 {
        font-size: 1.2rem;
    }

    .fe-freenet-search-intro p {
        font-size: .92rem;
    }

    .fe-freenet-search-form {
        grid-template-columns: 1fr;
        gap: .85rem;
    }

    .fe-freenet-search-action {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .checkout-finish-header {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .checkout-finish-header .head_line_landing {
        font-size: 1.45rem;
        line-height: 1.3;
    }

    .checkout-finish-page {
        padding: .75rem .75rem 1.5rem;
    }

    .checkout-finish-summary {
        padding: .85rem .9rem;
    }

    .checkout-finish-summary .fe_finish_header_2 {
        padding-left: .25rem;
        padding-right: .25rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .checkout-finish-card {
        padding: 1rem !important;
    }

    .checkout-finish-card .row {
        margin-left: 0;
        margin-right: 0;
    }

    .checkout-finish-card .col {
        padding-left: 0;
        padding-right: 0;
    }

    .checkout-finish-lead,
    .checkout-finish-subheading {
        font-size: 1.08rem !important;
    }

    .checkout-finish-text {
        font-size: .96rem !important;
    }

    .checkout-finish-cross-sell {
        display: block;
        padding: 1rem;
    }

    .checkout-finish-cross-sell h2 {
        font-size: 1.15rem;
    }

    .checkout-finish-cross-sell-form {
        margin-top: 1rem;
    }

    .checkout-finish-cross-sell-button {
        width: 100%;
        white-space: normal;
    }
}
