/*
Theme Name:   Divi Child
Theme URI:    http://www.elegantthemes.com/gallery/divi/
Description:  A Divi Child Theme
Author:       Tramsen Media
Author URI:   https://tramsen.de
Template:     Divi
Version:      1.2.3
*/

/*  Custom CSS Voreinstellungen  */
/*body { font-size: 18px !important; line-height: 1.6; }*/
/*h1 { font-size: 2.1rem !important; line-height: 1.3;}*/
/*h2 { font-size: 1.9rem !important; line-height: 1.3;}*/
/*h3 { font-size: 1.7rem !important; line-height: 1.3;}*/
/*h4 { font-size: 1.4rem !important; line-height: 1.3;}*/
/*p { font-size: 1.2rem !important; line-height: 1.6; }*/


body { letter-spacing: 0.1rem; }
.et_pb_row { width: 90%; }

/* Top Menubar ausblenden */
#top-header {
    display: none !important;
}

/* Custom Menü */
.dd-pre-header {
    display: flex;
    flex-wrap: wrap;
    /*padding: 5px 15px;*/
    justify-content: space-between;
}
.dd-pre-header > div i {
    margin-right: 10px;
    font-size: 1.1rem;
}
.dd-pre-header > div a {
    display: flex;
    align-items: center;
    padding: 5px 15px;
}
.dd-pre-header .dd-ph-tel,
.dd-pre-header .dd-ph-email {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}
.dd-pre-header .dd-ph-tel > a,
.dd-pre-header .dd-ph-email > a {
    font-size: 16px;
}

.dd-pre-header .dd-ph-tel > a {
    margin-right: 55px;
}

#main-header {
    /*top: 0 !important;*/
}
body.admin-bar.et_fixed_nav.et_secondary_nav_enabled #main-header,
body.et_fixed_nav.et_secondary_nav_enabled #main-header {
    top: 0;
}
#main-header .et_pb_menu__logo img {
    max-width: 175px;
    padding: 10px;
}

/*#main-header .current_page_item a {*/
/*    color: #005dab;*/
/*}*/

a.et_pb_menu__icon, button.et_pb_menu__icon {
    margin-left: 30px;
}

.et_pb_fullwidth_menu_0_tb_header.et_pb_fullwidth_menu ul li a {
    opacity: 1;
    color: #444;
}
.et_pb_fullwidth_menu_0_tb_header .mobile_nav .mobile_menu_bar:before,
.et_pb_fullwidth_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button,
.et_pb_fullwidth_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button,
.et_pb_fullwidth_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button,
.et-menu a:hover {
    opacity: 1;
    color: #BE041C !important;
}
.products > .product img {
    transition: -webkit-transform .15s linear;
    transition: transform .15s linear;
    transition: transform .15s linear, -webkit-transform .15s linear;
}

.products > .product:focus img, .products > .product:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.woocommerce-page ul.products li.product a img, .bike-ajax ul.products li.product a img {
    margin: 0 !important;
}

.products > .product .et_shop_image {
    overflow: hidden;
    display: flex;
}

.products .product .et_overlay {
    display: none;
}

.bike-ajax .products ul, .bike-ajax ul.products {
    display: flex;
    flex-wrap: wrap;
}

.bike-ajax ul.products li.product, .woocommerce-page ul.products li.product {
    position: relative;
    background-color: #fff;
    border-radius: 0;
    box-shadow: 0 0 12px 2px rgba(77, 77, 77, .2);
    margin: 0 10px 1.25em;
}

.bike-ajax ul.products li.product .bike-ajax,
.bike-ajax ul.products li.product .woocommerce-loop-product__title,
.bike-ajax ul.products li.product h3 {
    min-height: 4em;
    padding: 15px 15px 0;
}

.woocommerce-page ul.products li.product .price,
.bike-ajax ul.products li.product .price,
.product p.wc-gzd-additional-info {
    padding: 0 15px;
}

.woocommerce-page ul.products li.product .price del,
.bike-ajax ul.products li.product .price del {
    padding: 0 15px 0 0;
}

.product p.wc-gzd-additional-info.shipping-costs-info {
    display: none;
}

/* Custom Hyphen */
.hyphen, .trennung {
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.hyphen-manual, .trennung-manual {
    -ms-hyphens: manual;
    -webkit-hyphens: manual;
    hyphens: manual;
}

body.login {
    background-color: #005dab !important;
}

.login a {
    color: #c1c1c1 !important;
}

.s-service-bild-text .et_pb_main_blurb_image {
    width: 100%;
}

/*  Copyright  */
.s-service-bild-text .et_pb_image_wrap {
    position: relative;
}

.s-service-bild-text .et_pb_image_wrap > img {
    max-height: 16em;
    height: 16em;
    object-fit: cover;
    width: 100%;
}

.img-copyright::after {
    color: #fff;
    font-size: 11px;
    text-align: right;
    right: 8px;
    position: absolute;
    top: 5px;
    background-color: #7c0115;
    padding: 10px 15px;
    line-height: 0;
    clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
}

/* Bike FILTER */
.bike-ajax {
    display: grid;
    grid-template-columns: 20% 1fr;
    gap: 24px;
    align-items: start;
}

.bike-filter-form {
    display: grid;
    gap: 10px;
    position: sticky;
    top: 45px;
    padding: 16px;
    border: 1px solid #eee;
    border-radius: 12px;
}

.bike-filter-form select, .bike-filter-form input {
    padding: 10px;
    width: 100%;
}

.bike-meta {
    grid-column: 2;
}

.bike-results {
    width: 100%;
    /*grid-column: 2;*/
}
.bike-results > ul {
    list-style-type: none;
    padding: 0;
    line-height: unset;
}

.bike-pagination {
    grid-column: 2;
    margin-top: 12px;
}

.bike-pager-links a {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-right: 6px;
    text-decoration: none;
}

.bike-pager-links a.current {
    font-weight: 700;
}

.bike-pager-links a.disabled {
    opacity: .4;
    pointer-events: none;
}

.bike-range {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

/* Titel weniger riesig */
.woocommerce ul.products li.product.bike-card .bike-card__title{
    font-size: 20px;
    line-height: 1.2;
    margin: 10px 0 6px;
}

/* Meta-Block */
.woocommerce ul.products li.product.bike-card .bike-card__meta{
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.3;
    opacity: .85;
}

.woocommerce ul.products li.product.bike-card .bike-card__line--main{
    font-weight: 600;
    opacity: .95;
}

.woocommerce ul.products li.product.bike-card .bike-card__line--specs{
    margin-top: 4px;
}

/* Preis etwas kompakter */
.woocommerce ul.products li.product.bike-card .price{
    font-size: 16px;
}
.bike-card.product {
    list-style: none;
}
@media (min-width: 1400px) {
    .bike-card.product {
        width: 31.3%;
    }
}
@media (min-width: 1130px) and (max-width: 1399px) {
    .bike-card.product {
        width: 30.8%;
    }
}
@media (min-width: 992px) and (max-width: 1129px) {
    .bike-card.product {
        width: 30.4%;
    }
}
@media (min-width: 981px) and (max-width: 991px) {
    .bike-card.product {
        width: 47%;
    }
}

.bike-card.product img {
    width: 100%;
}
.bike-card.product > a {
    height: 100%;
    display: block;
}
.bike-card.product > a > h2 {
    font-size: 22px;
    margin: 15px;
    border-bottom: 2px solid #b40202;
}
.bike-card.product > a > .bike-card__meta {
    font-size: 15px;
    padding: 0 15px 15px;
    color: #333;
}
.woocommerce-page ul.products li.product a img, .bike-ajax ul.products li.product a .onsale,
.bike-card.product > a .baujahr {
    position: absolute;
    z-index: 2;
    color: white;
    font-size: 1rem;
    padding: 2px 10px;
    /*box-shadow: 0 -1px 5px 1px #ffffff;*/
}
.woocommerce-page ul.products li.product a img, .bike-ajax ul.products li.product a .onsale {
    right: 0;
    top: 0;
    background-color: #be041c;
}
.bike-card.product > a .baujahr {
    top: 0;
    background-color: #686868;
}
.bike-card.product > a table,
.bike-card.product > a tr,
.bike-card.product > a tr td {
    border: 0;
    padding: 0;
}
.bike-card.product .bike-card__price {
    padding: 0 15px 15px 15px;
}
.bike-card.product .bike-card__price-inner {
    text-align: end;
}
.bike-card.product .bike-card__price-inner ins,
.bike-card.product .bike-card__price-inner bdi {
    font-weight: 600;
    color: #b40202;
    padding-left: 5px;
}
.bike-card.product .bike-card__price-inner del {
    text-decoration: none;
}
.bike-card.product .bike-card__price-inner del > span > bdi {
    font-size: 0.8rem;
    color: #777;
    text-decoration: line-through;
}

.footer-copyright {
    position: absolute;
    z-index: 9999;
    bottom: 8px;
    width: 100%;
}
.footer-copyright a {
    font-size: 0.85rem !important;
}

.socialHubInnerDiv > span {
    /* color: #BE041C; */
    margin-right: 0.5rem;
}

.socialHubInnerDiv > a > i {
    font-size: 1.2rem;
    margin-left: 0.5rem;
}
#cookie-law-info-bar > h5 {
    text-transform: uppercase;
    color: #7c0115;
    font-size: 1.1rem;
}
#cookie-law-info-bar > span > div {
    padding: 15px 30px 0;
}
#cookie-law-info-bar > span .cli-bar-btn_container {
    display: flex;
    justify-content: space-around;
}
#cookie-law-info-again {
    background-color: transparent !important;
    /* bottom: 15px !important; */
    border-radius: 50%;
    box-shadow: none;
}
#cookie-law-info-again span#cookie_hdr_showagain {
    display: none;
}
#cookie-law-info-again::after {
    content: "\f21b";
    font-family: "Font Awesome 5 Free", sans-serif;
    font-size: 50px;
    color: #737373;
    font-weight: 600;
}

/* Kontakt FORM */
/* Container-Styling */
.cf7-custom-form {
    margin: 0 auto;
    font-family: sans-serif;
}

/* Zweispaltigkeit auf Desktops */
.form-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.form-group {
    flex: 1;
    margin-bottom: 15px;
}

/* Mobile Anpassung: Felder untereinander */
@media (max-width: 600px) {
    .form-row { flex-direction: column; gap: 0; }
}

/* Eingabefelder Styling */
.cf7-custom-form input[type="text"],
.cf7-custom-form input[type="email"],
.cf7-custom-form input[type="tel"],
.cf7-custom-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    font-size: 16px;
    background: #f9f9f9;
    box-sizing: border-box;
}
.wpcf7-spinner {
    background-color: #000000;
    position: absolute;
    left: auto;
    right: 0;
    margin-top: 11px;
}

/* Fokus-Effekt */
.cf7-custom-form input:focus,
.cf7-custom-form textarea:focus {
    border-color: #be041c;
    outline: none;
    background: #fff;
}

/* Datei-Upload Bereich */
.file-upload-section {
    background: #f1f1f1;
    padding: 15px;
    border: 1px dashed #ccc;
    margin-bottom: 20px;
}

.file-info {
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
}

/* Senden-Button */
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0 1em;
    border: 2px solid #00a0d2;
}
.cf7-custom-form input[type="submit"] {
    background-color: #be041c;
    color: white;
    padding: 15px 30px;
    border: none;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s;
    width: 100%;
    font-size: 20px;
    letter-spacing: 4px;
}
.wpcf7-not-valid-tip {
    font-size: 0.9rem;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #be041c;
}

.cf7-custom-form input[type="submit"]:hover {
    background-color: #8c0012;
}


@media (max-width: 980px) {
    .bike-ajax {
        grid-template-columns: 1fr;
    }

    .bike-meta, .bike-results, .bike-pagination {
        grid-column: 1;
    }

    .bike-filter-form {
        position: relative;
        top: auto;
    }
}


@media all and (min-width: 1405px) {
}

@media all and (min-width: 981px) and (max-width: 1405px) {
}

@media all and (min-width: 1100px) and (max-width: 1405px) {
}

@media all and (min-width: 981px) and (max-width: 1100px) {
    .et_pb_fullwidth_menu_0_tb_header.et_pb_fullwidth_menu ul li a {
        font-size: 19px !important;
    }
}

@media all and (min-width: 768px) and (max-width: 980px) {
    body, .et_pb_column_1_2 .et_quote_content blockquote cite, .et_pb_column_1_2 .et_link_content a.et_link_main_url, .et_pb_column_1_3 .et_quote_content blockquote cite, .et_pb_column_3_8 .et_quote_content blockquote cite, .et_pb_column_1_4 .et_quote_content blockquote cite, .et_pb_blog_grid .et_quote_content blockquote cite, .et_pb_column_1_3 .et_link_content a.et_link_main_url, .et_pb_column_3_8 .et_link_content a.et_link_main_url, .et_pb_column_1_4 .et_link_content a.et_link_main_url, .et_pb_blog_grid .et_link_content a.et_link_main_url, body .et_pb_bg_layout_light .et_pb_post p, body .et_pb_bg_layout_dark .et_pb_post p {
        font-size: 19px;
    }
}

@media all and (min-width: 981px) {

    #main-header .current_page_item a::after {
        content: "";
        position: absolute;
        margin-top: 22px;
        width: 100%;
        height: 2px;
        display: block;
        background-color: #BE041C;
    }
}

@media only screen and (max-width: 980px) {

    .et_fixed_nav #main-header {
        position: fixed;
    }

    #main-header .et_pb_menu__logo img {
        max-width: 130px;
    }
    .et_pb_fullwidth_menu .et_pb_row,
    .et_pb_row_0_tb_header.et_pb_row {
        width: 100%;
    }
    .et_pb_post_extra.el_dbe_box_extended .post-content {
        padding: 30px 0;
    }
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container.center .header-content {
        width: 100%;
    }
}

@media screen and (max-width: 782px) {
}

@media all and (max-width: 768px) {
    .custom-flex {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
    }

    .custom-flex > * {
        flex: 1 100%;
    }

    .custom-one {
        order: 1;
        flex: 1 100%;
    }

    .custom-two {
        order: 2;
        flex: 1 100%;
    }

    .custom-three {
        order: 3;
        flex: 1 100%;
    }

    .custom-four {
        order: 4;
        flex: 1 100%;
    }

    .custom-five {
        order: 5;
        flex: 1 100%;
    }

    body, .et_pb_column_1_2 .et_quote_content blockquote cite, .et_pb_column_1_2 .et_link_content a.et_link_main_url, .et_pb_column_1_3 .et_quote_content blockquote cite, .et_pb_column_3_8 .et_quote_content blockquote cite, .et_pb_column_1_4 .et_quote_content blockquote cite, .et_pb_blog_grid .et_quote_content blockquote cite, .et_pb_column_1_3 .et_link_content a.et_link_main_url, .et_pb_column_3_8 .et_link_content a.et_link_main_url, .et_pb_column_1_4 .et_link_content a.et_link_main_url, .et_pb_blog_grid .et_link_content a.et_link_main_url, body .et_pb_bg_layout_light .et_pb_post p, body .et_pb_bg_layout_dark .et_pb_post p {
        font-size: 18px;
    }
}

@media all and (max-width: 767px) {
}

@media all and (max-width: 600px) {
    .dd-pre-header .dd-ph-email i {
        margin-right: 0;
    }
    .dd-pre-header .dd-ph-home i {
        margin-right: 0;
        margin-left: 10px;
    }
    .dd-pre-header .dd-ph-home > a span {
        display: none;
    }
}
@media all and (max-width: 540px) {
    .dd-pre-header .dd-ph-email > a span {
        display: none;
    }
}

@media all and (max-width: 500px) {
    .tmgr-footer .tmgr-route {
        position: relative;
        text-align: right;
    }
    .tmgr-route a {
        padding: 0 16px;
    }
}

 