/* ==========================================
   BASIS: Layout Utilities & Grid
========================================== */

.hofa-grid {
    display: grid !important;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
    .hofa-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .hofa-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

.hofa-grid-4 {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
    .hofa-grid-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .hofa-grid-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}

.hofa-grid-item {

    flex-direction: column;
}


/* ==========================================
   Selection Canvas
========================================== */

.hofa-img-selection-canvas {
    flex-flow: row;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 5px;
    padding-bottom: 20px;
}

@media (min-width: 768px) {
    .hofa-img-selection-canvas {
        gap: 10px;
    }
}

@media (min-width: 1024px) {
    .hofa-img-selection-canvas {
        gap: 25px;
    }
}

.hofa-img-selection-canvas label {
    padding: 0.5em;
}

.hofa-img-selection-canvas [type=radio] {
    position: absolute;
    width: 0;
    height: 0;
}

.hofa-img-selection-canvas [type=radio] + img {
    width: 250px;
}

.hofa-img-selection-canvas label {
    transition: filter 0.2s ease-in-out;
    filter: opacity(0.4);
    cursor: pointer;
}

.hofa-img-selection-canvas label:hover {
    filter: opacity(1);
}


.hofa-img-selected {
    border: 1px solid #111 !important;
    filter: opacity(1) !important;
}


/* ==========================================
   Motif Tile Layout
========================================== */

.akustikbild-inner {
    flex-direction: column;
    gap: 0.5rem;
}

.akustikbild-image {
    width: 100%;
}

.akustikbild-footer {

    justify-content: space-between;
    align-items: center;
}

.akustikbild-label {
    font-size: 1.2em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    text-align: center;
}

.akustikbild-cart {
    text-align: center;
}

@media (min-width: 768px) {
    .akustikbild-footer {
        display: flex;
        padding-top: 0.5em;
    }

    .akustikbild-label {
        text-align: left;
        font-size: 1em;
        padding-top: 0;
        padding-bottom: 0;
    }

    .akustikbild-cart {
        text-align: right;
    }
}

/*Elementor override img 100% width*/
.akustikbild-image.hofa-akustikbild-image-thumb img {
    width: 100%;
}

/* ==========================================
   Info Box / Summary
========================================== */

.hofa-info-canvas {
    background-color: #ebebeb;
    border: 1px solid black;
    padding: 25px;
}

@media (max-width: 767px) {
    .hofa-info-canvas {
        padding: 15px;
    }
}

.price-line {
    font-weight: bold;
    font-size: 1.2em;
}

.price {
    font-weight: bold;
    color: #ee7f00;
    font-size: 1em;
}

.hofa-link-summary-box-override {
    color: #ee7f00 !important;
    text-decoration: underline !important;
}

.hofa-akustikbild-motifset-hint {

}

.hofa-akustikbild-summary-box {
    min-height: 230px;
}

.hofa-akustikbild-summary-box .padding-bottom-group {
    padding-bottom: 1em;
}

.hofa-akustikbild-summary-box .padding-top-group {
    padding-top: 1em;
}

/* inner summary box */

/* Standard (ab 768px): Inhalte nebeneinander */
.hofa-akustikbild-summary-inner-wrapper {
    display: flex;
    flex-direction: row;
}

.hofa-akustikbild-summary-infofields {
    flex: 1;
}

.hofa-akustikbild-summary-thumb {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    padding: 0;
}

.hofa-akustikbild-summary-thumb img {
    display: block;
    width: 100%;
}

/* Mobile Layout (unter 768px): Bild oben, Text unten */
@media (max-width: 767px) {
    .hofa-akustikbild-summary-inner-wrapper {
        flex-direction: column-reverse; /* Bild oben, Text unten */
        align-items: stretch; /* volle Breite */
    }

    .hofa-akustikbild-summary-infofields {
        text-align: left;
        align-items: flex-start;
    }

    .hofa-akustikbild-summary-thumb {
        justify-content: center;
        align-items: center;
    }

    .hofa-akustikbild-summary-thumb img {
        width: 100%
    }
}


/* ==========================================
   Theme Header
========================================== */

.header-separator {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1em 0;
    background: linear-gradient(to right, #f0f0f0 0%, #ffffff 60%);
    padding: 0.5em 0 0.5em 0.5em;
}

.header-separator .theme {
    margin: 0 !important;
}

.theme-title {
    font-weight: bold;
}


/* ==========================================
   Cart Button V2 (Akustikbild only)
========================================== */

.cart-ad-v2 {
    display: inline-block;
    width: 54px;
    height: 44px;
    font-size: 1em;
    background-color: #f0f0f0;
    color: #EE7F00;
    text-decoration: none;
    border: none !important;
    cursor: pointer;
    vertical-align: middle;
}

.cart-ad-v2:hover,
.cart-ad-v2:active {
    box-shadow: 0 0 0 1px #ee7f00 inset;
}

.cart-btt-v2-loading {
    background-color: var(--e-global-color-primary) !important;
}

.cart-ad-v2 .hofa-shortcode-button-inside-loading {
    padding-left: 10%;
}

.cart-btt-v2-img {
    background-image: none !important;
}

.akustikbild .hofa-product-blog-button {
    padding-top: 0 !important;
    margin-left: 0 !important;
}

@media (min-width: 768px) {
    .cart-ad-v2 {
        width: 51px;
        height: 42px;

    }
}

@media (min-width: 1024px) {
    .cart-ad-v2 {
        width: 44px;
        height: 37px;
    }
}


/* ==========================================
   Bildrahmen Style
========================================== */

.hofa-akustikbild-frame {
    border: 1px solid #eee;
    text-align: center;
}


/* ==========================================
   OVERRIDES general styles
========================================== */

@media (max-width: 992px) {
    .col-full {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

/* ==========================================
   OVERRIDES HOFA styles
========================================== */

/**/
.hs-product-blog-button {
    padding-top: 0 !important;
    margin-left: 0 !important;
}

.button-disabled {
    pointer-events: none !important; /* verhindert Klicks */
    opacity: 0.3 !important; /* macht den Button "ausgegraut" */
    cursor: not-allowed !important; /* zeigt den typischen "verboten"-Cursor */
}
