/* =====================================================
   WOOCOMMERCE SINGLE PRODUCT
   Foto boven + informatie + beschrijving eronder
   Alles maximaal 850px breed en gecentreerd
   ===================================================== */


/* =====================================================
   1. FOTO EN PRODUCTINFO ONDER ELKAAR
   ===================================================== */

.single-product .product-entry-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
}


/* =====================================================
   2. PRODUCTGALERIJ
   ===================================================== */

.single-product .product-entry-wrapper .woocommerce-product-gallery {
    width: 850px !important;
    max-width: 850px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    box-sizing: border-box !important;
}


/* =====================================================
   3. PRODUCTFOTO
   ===================================================== */

.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}


/* =====================================================
   4. PRODUCTINFORMATIE ONDER DE FOTO
   ===========================
/* =====================================================
   FIX: BESCHRIJVING EVEN BREED ALS FOTO
   ===================================================== */

/* Hele sectie onder de productinfo beperken */
.single-product .product-entry-wrapper ~ * .woocommerce-tabs,
.single-product .product-entry-wrapper ~ .woocommerce-tabs,
.single-product .woocommerce-tabs {
    width: 850px !important;
    max-width: 850px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Tab-balk: Beschrijving / Beoordelingen */
.single-product .woocommerce-tabs .tabs,
.single-product .woocommerce-tabs ul.tabs {
    width: 850px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Het daadwerkelijke beschrijvingsvak */
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product #tab-description {
    width: 850px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Tekst binnen de beschrijving niet breder laten worden */
.single-product #tab-description > *,
.single-product .woocommerce-Tabs-panel--description > * {
    max-width: 100% !important;
}


/* MOBIEL */
@media (max-width: 900px) {

    .single-product .woocommerce-tabs,
    .single-product .woocommerce-tabs .tabs,
    .single-product .woocommerce-tabs ul.tabs,
    .single-product .woocommerce-tabs .panel,
    .single-product #tab-description {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* Producttitel op één regel houden */
.single-product .entry-summary .product_title {
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    text-align: center !important;
}
/* Verwijder dividers uit de productinformatie */
.single-product .product-entry-wrapper .entry-summary .ct-divider,
.single-product .product-entry-wrapper .entry-summary [class*="divider"] {
    display: none !important;
}
/* =====================================================
   PRODUCTINFO zoals voorbeeld
   Titel gecentreerd, rest links uitgelijnd
   ===================================================== */

/* Hele informatieblok dezelfde breedte als de foto */
.single-product .product-entry-wrapper .entry-summary {
    width: 850px !important;
    max-width: 850px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
}

/* Titel centraal */
.single-product .entry-summary .product_title {
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Prijs links uitlijnen */
.single-product .entry-summary .price {
    width: 100% !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Categorie links uitlijnen */
.single-product .entry-summary .product_meta {
    width: 100% !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Mobiel */
@media (max-width: 900px) {
    .single-product .product-entry-wrapper .entry-summary {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
    }

    .single-product .entry-summary .product_title {
        white-space: normal !important;
    }
}
/* =====================================================
   MOBIELE PRODUCTPAGINA
   ===================================================== */

@media (max-width: 900px) {

    /* Buitenste productgedeelte */
    .single-product .product-entry-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    /* Foto */
    .single-product .product-entry-wrapper .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .single-product .woocommerce-product-gallery__image,
    .single-product .woocommerce-product-gallery__image img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* Productinformatie */
    .single-product .product-entry-wrapper .entry-summary {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 32px 22px 10px !important;
        box-sizing: border-box !important;
    }

    /* Titel */
    .single-product .entry-summary .product_title {
        width: 100% !important;
        max-width: 100% !important;

        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;

        text-align: left !important;
        font-size: 22px !important;
        line-height: 1.4 !important;
        letter-spacing: 5px !important;

        margin: 0 0 22px 0 !important;
    }

    /* Prijs */
    .single-product .entry-summary .price {
        width: 100% !important;
        text-align: left !important;
        margin: 0 0 28px 0 !important;
    }

    /* Categorie */
    .single-product .entry-summary .product_meta {
        width: 100% !important;
        text-align: left !important;
        margin: 0 !important;
    }

    /* Tabs + beschrijving */
    .single-product .woocommerce-tabs,
    .single-product .woocommerce-tabs.wc-tabs-wrapper,
    .single-product .product > .woocommerce-tabs {
        width: calc(100% - 44px) !important;
        max-width: calc(100% - 44px) !important;
        margin: 35px auto 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Beschrijving / Beoordelingen balk */
    .single-product .woocommerce-tabs ul.tabs,
    .single-product .woocommerce-tabs .wc-tabs {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Beschrijving zelf */
    .single-product .woocommerce-tabs .panel,
    .single-product .woocommerce-tabs .woocommerce-Tabs-panel,
    .single-product #tab-description {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Tekst mag nooit buiten scherm lopen */
    .single-product #tab-description > *,
    .single-product .woocommerce-Tabs-panel--description > * {
        width: 100% !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
    }

    /* Related products */
    .single-product .related,
    .single-product .upsells {
        width: calc(100% - 44px) !important;
        max-width: calc(100% - 44px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =====================================================
   AANVULLENDE INFORMATIE ZONDER TABELKADER
   ===================================================== */

/* Tabel volledig transparant maken */
.single-product .woocommerce-product-attributes {
    width: 100% !important;
    margin: 20px 0 45px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

/* Alle tabelcellen zonder kader of achtergrond */
.single-product .woocommerce-product-attributes tr,
.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Elke eigenschap als afzonderlijk tekstgedeelte */
.single-product .woocommerce-product-attributes tr {
    display: block !important;
    width: 100% !important;
    margin: 0 0 28px !important;
}

/* Titels: Afmetingen en Aantal */
.single-product .woocommerce-product-attributes th {
    display: block !important;
    width: 100% !important;
    padding: 0 0 10px !important;
    text-align: left !important;
    font-style: normal !important;
    font-weight: 600 !important;
    vertical-align: top !important;
}

/* Waarden onder de titel */
.single-product .woocommerce-product-attributes td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
    vertical-align: top !important;
}

/* Standaardmarges van WooCommerce verwijderen */
.single-product .woocommerce-product-attributes td p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.9 !important;
}

/* Afmetingen op afzonderlijke regels */
.single-product .woocommerce-product-attributes-item--dimensions td p {
    white-space: normal !important;
}

/* Kop Aanvullende informatie */
.single-product
.woocommerce-Tabs-panel--additional_information
> h2 {
    margin: 0 0 25px !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
}

/* Extra witruimte tussen beschrijving en technische gegevens */
.single-product .woocommerce-Tabs-panel--additional_information {
    margin-top: 45px !important;
}
/* ===================================================== TITELS BESCHRIJVING EN AANVULLENDE INFORMATIE ===================================================== */ /* Desktop */ .single-product #tab-description > h2:first-of-type, .single-product #tab-additional_information > h2:first-of-type { --theme-font-size: 22px !important; font-size: 22px !important; line-height: 1.4 !important; font-weight: 600 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; text-align: left !important; margin: 0 0 25px 0 !important; padding: 0 !important; } /* Mobiel */ @media (max-width: 900px) { .single-product #tab-description > h2:first-of-type, .single-product #tab-additional_information > h2:first-of-type { --theme-font-size: 18px !important; font-size: 18px !important; line-height: 1.4 !important; letter-spacing: 1px !important; margin-bottom: 20px !important; } }
/* Verwijder beoordeling en beoordelingsformulier */
.single-product #tab-reviews,
.single-product .woocommerce-Tabs-panel--reviews,
.single-product .woocommerce-Reviews,
.single-product #reviews {
    display: none !important;
}
/* =====================================================
   PRODUCT HERO
   Foto over volledige schermbreedte met tekst erboven
   ===================================================== */

/* Productgedeelte wordt de positioneringscontainer */
.single-product .product-entry-wrapper {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    display: block !important;
}


/* Galerij over volledige schermbreedte */
.single-product
.product-entry-wrapper
.woocommerce-product-gallery {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    float: none !important;
}


/* Hoofdafbeelding als grote hero */
.single-product
.woocommerce-product-gallery
.flex-viewport,

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__wrapper,

.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image {
    width: 100% !important;
    max-width: 100% !important;
}


/* Productfoto groot maken */
.single-product
.woocommerce-product-gallery__image
img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: min(85vh, 900px) !important;
    object-fit: cover !important;
    object-position: center !important;
}


/* Donkere laag voor leesbaarheid van witte tekst */
.single-product
.product-entry-wrapper::after {
    content: "";
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.08) 25%,
        rgba(0, 0, 0, 0.58) 100%
    ) !important;
}


/* Titel en prijs boven op de afbeelding */
.single-product
.product-entry-wrapper
.entry-summary {
    position: absolute !important;
    left: 50% !important;
    bottom: 70px !important;
    z-index: 3 !important;

    width: calc(100% - 80px) !important;
    max-width: 900px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateX(-50%) !important;
    text-align: center !important;
    color: #ffffff !important;
}


/* Producttitel op de afbeelding */
.single-product
.product-entry-wrapper
.entry-summary
.product_title {
    width: 100% !important;
    margin: 0 0 20px !important;

    color: #ffffff !important;
    text-align: center !important;
    white-space: normal !important;

    font-size: clamp(28px, 4vw, 52px) !important;
    line-height: 1.25 !important;
    letter-spacing: 8px !important;
    text-transform: uppercase !important;

    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75) !important;
}


/* Prijs op de afbeelding */
.single-product
.product-entry-wrapper
.entry-summary
.price {
    width: 100% !important;
    margin: 0 !important;

    color: #ffffff !important;
    text-align: center !important;
    font-size: 20px !important;

    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75) !important;
}


/* Eventuele andere productinformatie in de hero verbergen */
.single-product
.product-entry-wrapper
.entry-summary
.product_meta,

.single-product
.product-entry-wrapper
.entry-summary
.woocommerce-product-details__short-description,

.single-product
.product-entry-wrapper
.entry-summary
.ct-divider {
    display: none !important;
}


/* Miniaturen onder de hero verbergen */
.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
    display: none !important;
}


/* Beschrijving na de hero voldoende ruimte geven */
.single-product .woocommerce-tabs {
    margin-top: 70px !important;
}


/* =====================================================
   MOBIELE WEERGAVE
   ===================================================== */

@media (max-width: 900px) {

    .single-product
    .woocommerce-product-gallery__image
    img {
        height: 55vh !important;
        min-height: 380px !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .single-product
    .product-entry-wrapper
    .entry-summary {
        bottom: 45px !important;
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
    }

    .single-product
    .product-entry-wrapper
    .entry-summary
    .product_title {
        margin-bottom: 16px !important;
        font-size: 26px !important;
        line-height: 1.35 !important;
        letter-spacing: 4px !important;
    }

    .single-product
    .product-entry-wrapper
    .entry-summary
    .price {
        font-size: 18px !important;
    }

    .single-product .woocommerce-tabs {
        margin-top: 45px !important;
    }
}
/* Hoofdfoto kleiner op desktop en volledig zichtbaar */
@media (min-width: 901px) {
    .single-product
    .woocommerce-product-gallery__image
    img {
        height: 650px !important;
        max-height: 650px !important;
        object-fit: contain !important;
        object-position: center !important;
        background-color: #111111 !important;
    }
}
/* =====================================================
   PRODUCTEN OP STARTPAGINA OVER VOLLEDIGE BREEDTE
   ===================================================== */

.home .homepage-producten {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
}

/* Productraster met drie gelijke kolommen */
.home .homepage-producten .wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Elke productkaart volledig laten vullen */
.home .homepage-producten .wc-block-product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* Afbeeldingen even groot maken */
.home .homepage-producten .wc-block-components-product-image,
.home .homepage-producten .wc-block-components-product-image a {
    display: block !important;
    width: 100% !important;
}

/* Gelijke beeldverhouding voor alle productfoto's */
.home .homepage-producten .wc-block-components-product-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
}

/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 900px) {

    .home .homepage-producten {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .home .homepage-producten .wc-block-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

/* =====================================================
   MOBIEL
   ===================================================== */

@media (max-width: 600px) {

    .home .homepage-producten {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .home .homepage-producten .wc-block-product-template {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}