/* ========================================================================== */
/* BEGIN: LZG Productconfigurator - frontend                                  */
/* ========================================================================== */
.lzg-cake-options {
    margin: 20px 0 24px;
    padding: 18px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fff;
}

.lzg-cake-group {
    border: 0;
    padding: 0;
    margin: 0 0 18px;
}

.lzg-cake-group legend,
.lzg-cake-group > label {
    display: block;
    margin: 0 0 9px;
    font-weight: 700;
}

/* De echte WooCommerce-selects blijven in het formulier bestaan en worden
 * pas verborgen nadat JavaScript onze vervangende bediening heeft opgebouwd. */
table.variations.lzg-pc-native-variations-hidden {
    display: none !important;
}

.lzg-pc-wc-step-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(68px, 1fr));
    gap: 8px;
    max-width: 520px;
}

.lzg-pc-wc-choice {
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #c8c8c8;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: .15s ease;
}

.lzg-pc-wc-choice:hover:not(:disabled) {
    border-color: #83c946;
    background: #f7fcec;
}

/* ========================================================================== */
/* BEGIN: LZG lichtgroene geselecteerde keuze                                 */
/* ========================================================================== */
.lzg-pc-wc-choice.is-selected {
    border-color: #83c946;
    box-shadow: inset 0 0 0 2px #83c946;
    background: #eef9e6;
    color: #244319;
}
/* ========================================================================== */
/* END: LZG lichtgroene geselecteerde keuze                                   */
/* ========================================================================== */

.lzg-pc-wc-choice:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.lzg-pc-wc-choice:disabled {
    opacity: .38;
    cursor: not-allowed;
}

/* ========================================================================== */
/* BEGIN: Productgebonden extra keuze grid                                    */
/* ========================================================================== */
.lzg-pc-extra-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 180px));
    gap: 10px;
    max-width: 760px;
}
/* ========================================================================== */
/* END: Productgebonden extra keuze grid                                      */
/* ========================================================================== */

.lzg-choice {
    position: relative;
    display: block;
    cursor: pointer;
    margin: 0;
}

.lzg-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lzg-choice span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid #c8c8c8;
    border-radius: 8px;
    background: #fff;
    font-weight: 600;
    transition: .15s ease;
}

.lzg-choice input:checked + span {
    border-color: #83c946;
    box-shadow: inset 0 0 0 2px #83c946;
    background: #eef9e6;
    color: #244319;
}

.lzg-choice input:focus-visible + span {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.lzg-cake-options select,
.lzg-cake-options input[type="text"] {
    width: 100%;
    max-width: 520px;
    min-height: 44px;
}

/* ========================================================================== */
/* BEGIN: LZG lichtgroene geselecteerde themakeuze                            */
/* ========================================================================== */
.lzg-cake-options select.lzg-has-selection {
    border-color: #83c946;
    box-shadow: inset 0 0 0 2px #83c946;
    background-color: #eef9e6;
    color: #244319;
}
/* ========================================================================== */
/* END: LZG lichtgroene geselecteerde themakeuze                              */
/* ========================================================================== */

.lzg-cake-summary {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #f6f7f7;
}

.lzg-cake-summary strong {
    margin-right: 5px;
}

@media (max-width: 520px) {
    .lzg-pc-wc-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lzg-pc-extra-choice-grid {
        grid-template-columns: 1fr 1fr;
    }

    .lzg-cake-options {
        padding: 14px;
    }
}
/* ========================================================================== */
/* END: LZG Productconfigurator - frontend                                    */
/* ========================================================================== */

/* Native LZG Commerce configurator */
.lzg-pc-native-commerce-variant-hidden { display: none !important; }
.lzg-product-configurator--commerce { margin: 1rem 0; }
.lzg-pc-line-details { margin: .35rem 0 0; padding: 0; list-style: none; font-size: .9em; }
.lzg-pc-line-details li { margin: .12rem 0; }


/* 1.1.1 — native Commerce product-detail layout */
.lzg-product-configurator--commerce{margin:0;padding:0;border:0;border-radius:0;background:transparent;max-width:none;width:100%}
.lzg-product-configurator--commerce .lzg-cake-group{margin:0 0 18px}.lzg-product-configurator--commerce .lzg-cake-group:last-of-type{margin-bottom:0}
.lzg-product-configurator--commerce .lzg-cake-group legend,.lzg-product-configurator--commerce .lzg-cake-group>strong{display:block;margin:0 0 10px;font-size:1rem;font-weight:750}
.lzg-product-configurator--commerce .lzg-pc-wc-step-grid,.lzg-product-configurator--commerce .lzg-cake-radio-grid{display:flex;flex-wrap:wrap;gap:10px;max-width:none}
.lzg-product-configurator--commerce .lzg-pc-wc-choice{display:grid;gap:2px;align-content:center;justify-items:center;min-width:76px;max-width:180px;min-height:58px;padding:9px 14px;border:1px solid #d7ded9;border-radius:12px;background:#fff;font-weight:700;line-height:1.2}
.lzg-product-configurator--commerce .lzg-pc-choice__value{font-size:1rem}.lzg-product-configurator--commerce .lzg-pc-choice__meta{font-size:.77rem;color:#68736c;font-weight:600}.lzg-product-configurator--commerce .lzg-pc-wc-choice.is-selected .lzg-pc-choice__meta{color:inherit}
.lzg-product-configurator--commerce .lzg-cake-radio-grid label{position:relative;margin:0;cursor:pointer}.lzg-product-configurator--commerce .lzg-cake-radio-grid input{position:absolute;opacity:0;pointer-events:none}.lzg-product-configurator--commerce .lzg-cake-radio-grid span{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:90px;padding:9px 14px;border:1px solid #d7ded9;border-radius:12px;background:#fff;font-weight:700}.lzg-product-configurator--commerce .lzg-cake-radio-grid input:checked+span{border-color:#83c946;box-shadow:inset 0 0 0 2px #83c946;background:#eef9e6;color:#244319}
.lzg-product-configurator--commerce select,.lzg-product-configurator--commerce input[type=text]{width:100%;max-width:none;min-height:48px;border-radius:12px}.lzg-product-configurator--commerce .lzg-cake-summary{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin:18px 0 0;padding:12px 14px;border:1px solid #e2e8e4;border-radius:12px;background:#f7f9f7}.lzg-product-configurator--commerce .lzg-cake-summary strong{margin:0}.lzg-product-configurator--commerce .lzg-cake-summary span{color:#5f6a63}
@media(max-width:620px){.lzg-product-configurator--commerce .lzg-pc-wc-step-grid,.lzg-product-configurator--commerce .lzg-cake-radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lzg-product-configurator--commerce .lzg-pc-wc-choice,.lzg-product-configurator--commerce .lzg-cake-radio-grid span{width:100%;max-width:none}}

/* 1.1.2 — native Commerce uses one clean dropdown for variants */
.lzg-product-configurator--commerce .lzg-pc-commerce-variant-step:empty{display:none}
.lzg-pc-native-variant-dropdown{display:grid!important;gap:9px;width:100%;margin:0}
.lzg-pc-native-variant-dropdown>span,.lzg-product-configurator--commerce .lzg-cake-group legend,.lzg-product-configurator--commerce .lzg-cake-group>strong{font-size:1rem!important;font-weight:750!important;line-height:1.3}
.lzg-pc-native-variant-dropdown select,.lzg-product-configurator--commerce select,.lzg-product-configurator--commerce input[type=text]{width:100%;max-width:none;min-height:48px;border-radius:12px}
.lzg-product-configurator--commerce .lzg-cake-summary{display:none!important}
