/* =========================================================
   Log Burners Product Layout - v1.5.0
   Strong defaults, still fully overrideable in Elementor.
   ========================================================= */

.lbd-component,
.lbd-component *{box-sizing:border-box}

.lbd-component{
    color:var(--lbd-text);
    font-size:var(--lbd-body-size);
    line-height:1.55;
}

.lbd-component img{display:block;max-width:100%;height:auto}
.lbd-component a{text-decoration:none}

/* Remove theme/widget spacing from our modular components. */
.elementor-widget[class*="elementor-widget-lbd-"]{margin-bottom:0!important;min-width:0}
.elementor-widget[class*="elementor-widget-lbd-"]>.elementor-widget-container{min-width:0}

/* =========================================================
   STARTER TEMPLATE / CONTAINER STRUCTURE
   Elementor owns the geometry. These classes are written into the saved
   starter template so the layout is predictable in both editor and frontend.
   ========================================================= */
.lbd-template-shell{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:none!important;
    gap:0!important;
}

.lbd-template-breadcrumbs,
.lbd-template-main,
.lbd-template-details,
.lbd-template-related{
    width:min(calc(100% - 60px),var(--lbd-content))!important;
    max-width:var(--lbd-content)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    min-width:0!important;
}

.lbd-template-breadcrumbs{
    display:flex!important;
    flex-direction:column!important;
    padding:20px 0 14px!important;
}

.lbd-template-main{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:60px!important;
    padding:0 0 64px!important;
}

.lbd-template-gallery-col{
    display:flex!important;
    flex:0 0 calc(55% - 30px)!important;
    width:calc(55% - 30px)!important;
    max-width:calc(55% - 30px)!important;
    min-width:0!important;
}

.lbd-template-info-col{
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 calc(45% - 30px)!important;
    width:calc(45% - 30px)!important;
    max-width:calc(45% - 30px)!important;
    min-width:0!important;
    gap:0!important;
    position:relative;
}

.lbd-template-details{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:70px!important;
    padding:54px 0 18px!important;
    border-top:1px solid var(--lbd-border);
}

.lbd-template-description-col{
    display:flex!important;
    flex:0 0 calc(68% - 35px)!important;
    width:calc(68% - 35px)!important;
    max-width:calc(68% - 35px)!important;
    min-width:0!important;
}

.lbd-template-spec-col{
    display:flex!important;
    flex:0 0 calc(32% - 35px)!important;
    width:calc(32% - 35px)!important;
    max-width:calc(32% - 35px)!important;
    min-width:0!important;
}

.lbd-template-related{
    display:flex!important;
    flex-direction:column!important;
    padding:54px 0 72px!important;
    border-top:1px solid var(--lbd-border);
}

.lbd-template-gallery-col > .elementor-element,
.lbd-template-info-col > .elementor-element,
.lbd-template-description-col > .elementor-element,
.lbd-template-spec-col > .elementor-element,
.lbd-template-related > .elementor-element{
    width:100%!important;
    max-width:100%!important;
}

/* =========================================================
   BREADCRUMBS
   ========================================================= */
.lbd-breadcrumbs{color:var(--lbd-grey);font-size:11px;line-height:1.4}
.lbd-breadcrumbs .woocommerce-breadcrumb{margin:0!important;padding:0!important;color:inherit!important;font-size:inherit!important}
.lbd-breadcrumbs a{color:var(--lbd-grey)!important;transition:color .2s ease}
.lbd-breadcrumbs a:hover{color:var(--lbd-green)!important}

/* =========================================================
   GALLERY
   ========================================================= */
.lbd-gallery-main{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:var(--lbd-gallery-h);
    padding:28px;
    background:var(--lbd-light);
    overflow:hidden;
}

.lbd-gallery-main img{
    width:100%;
    height:calc(var(--lbd-gallery-h) - 56px);
    object-fit:contain;
}

.lbd-gallery-thumbs{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%;
    margin-top:12px;
}

.lbd-gallery-thumb{
    appearance:none;
    height:94px;
    margin:0;
    padding:5px;
    border:1px solid var(--lbd-border);
    border-radius:0;
    background:#fff;
    cursor:pointer;
    transition:border-color .2s ease;
}
.lbd-gallery-thumb:hover{border-color:#adb3a8}
.lbd-gallery-thumb.active{border-color:var(--lbd-green)}
.lbd-gallery-thumb img{width:100%;height:100%;object-fit:cover}

/* =========================================================
   PRODUCT SUMMARY
   ========================================================= */
.lbd-brand{
    margin:0 0 9px;
    color:var(--lbd-green);
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.lbd-title h1{
    margin:0 0 13px!important;
    color:var(--lbd-dark)!important;
    font-size:var(--lbd-title-size)!important;
    line-height:1.07!important;
    font-weight:600!important;
    letter-spacing:-.025em!important;
}

.lbd-reviews{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    padding:0 0 18px;
    border-bottom:1px solid var(--lbd-border);
    color:var(--lbd-grey);
    font-size:11px;
}
.lbd-reviews .star-rating{margin:0!important;color:var(--lbd-green)}
.lbd-reviews a{color:var(--lbd-grey)}

/* =========================================================
   PRICE
   ========================================================= */
.lbd-price-area{
    margin:0;
    padding:21px 0 22px;
    border-bottom:1px solid var(--lbd-border);
}

.lbd-price-current,
.lbd-price-current .price{
    margin:0!important;
    color:var(--lbd-dark)!important;
    font-size:31px!important;
    line-height:1.2!important;
    font-weight:700!important;
}

.lbd-price-current .amount{color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
.lbd-price-current del{margin-right:7px;color:#9b9b9b!important;opacity:1!important;font-size:15px!important;font-weight:400!important}
.lbd-price-current del .amount{color:#9b9b9b!important;font-size:15px!important;font-weight:400!important}
.lbd-price-current ins{text-decoration:none!important}

.lbd-rrp{margin-bottom:4px;color:#989898;font-size:11px}
.lbd-saving{
    display:inline-block;
    margin-top:9px;
    padding:5px 8px;
    border:1px solid #b8c8b2;
    background:#fff;
    color:var(--lbd-green-dark);
    font-size:10px;
    line-height:1.2;
    font-weight:700;
}

/* =========================================================
   PRICE PROMISE + AVAILABILITY
   ========================================================= */
.lbd-price-promise,
.lbd-availability{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    padding:14px 0;
    border-bottom:1px solid var(--lbd-border);
}


.lbd-price-promise-link{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    color:inherit!important;
    text-decoration:none!important;
    cursor:pointer;
}
.lbd-price-promise-link:hover strong{color:var(--lbd-green-dark)!important}

.lbd-price-promise strong,
.lbd-availability strong{
    display:block;
    margin:0 0 2px;
    color:var(--lbd-dark);
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}

.lbd-price-promise span,
.lbd-availability span{
    display:block;
    color:var(--lbd-grey);
    font-size:11px;
    line-height:1.45;
}

.lbd-round-icon{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:50%;
    background:var(--lbd-dark);
    color:#fff!important;
    font-size:13px!important;
    font-weight:700;
}

.lbd-status-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--lbd-green)}
.is-out-of-stock .lbd-status-dot{background:#9b9b9b}
.lbd-availability .stock{margin:0!important;padding:0!important;background:none!important;color:var(--lbd-grey)!important}

/* =========================================================
   WOOCOMMERCE + PEWC BUY AREA
   ========================================================= */
.lbd-buy-area{width:100%;padding:21px 0 18px}
.lbd-buy-area form.cart{width:100%;margin:0!important;padding:0!important}

/* Variable product rows */
.lbd-buy-area table.variations{display:block;width:100%!important;margin:0 0 18px!important;border:0!important}
.lbd-buy-area table.variations tbody{display:block;width:100%}
.lbd-buy-area table.variations tr{display:block;width:100%;margin:0 0 14px}
.lbd-buy-area table.variations th,
.lbd-buy-area table.variations td{display:block;width:100%!important;padding:0!important;border:0!important;text-align:left!important}
.lbd-buy-area table.variations label{display:block;margin:0 0 6px!important;color:var(--lbd-dark)!important;font-size:12px!important;font-weight:700!important}
.lbd-buy-area .reset_variations{display:inline-block;margin-top:6px;color:var(--lbd-grey)!important;font-size:10px!important}
.lbd-buy-area .woocommerce-variation-description{margin:0 0 12px;color:var(--lbd-grey);font-size:12px}
.lbd-buy-area .woocommerce-variation-price{margin:0 0 12px;color:var(--lbd-dark)}

/* PEWC groups */
.lbd-buy-area .pewc-product-extra-groups-wrap,
.lbd-buy-area .pewc-product-extra-groups,
.lbd-buy-area .pewc-group-wrap{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

.lbd-buy-area .pewc-group-heading-wrapper,
.lbd-buy-area .pewc-group-heading{
    margin:0 0 13px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

.lbd-buy-area .pewc-group-heading,
.lbd-buy-area .pewc-group-heading-wrapper h3,
.lbd-buy-area .pewc-group-heading-wrapper h4{
    margin:0!important;
    color:var(--lbd-dark)!important;
    font-size:16px!important;
    line-height:1.35!important;
    font-weight:600!important;
    text-transform:none!important;
    letter-spacing:0!important;
}

.lbd-buy-area .pewc-item{
    display:block!important;
    width:100%!important;
    margin:0 0 15px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

.lbd-buy-area .pewc-item>label,
.lbd-buy-area .pewc-item label,
.lbd-buy-area .pewc-field-label{
    display:block!important;
    margin:0 0 6px!important;
    color:var(--lbd-dark)!important;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:700!important;
}

.lbd-buy-area .pewc-item-description{
    margin:-1px 0 8px!important;
    color:var(--lbd-grey)!important;
    font-size:11px!important;
    line-height:1.5!important;
}

.lbd-buy-area select,
.lbd-buy-area select.pewc-form-field,
.lbd-buy-area .pewc-item input[type="text"],
.lbd-buy-area .pewc-item input[type="number"],
.lbd-buy-area .pewc-item input[type="email"],
.lbd-buy-area .pewc-item input[type="url"],
.lbd-buy-area .pewc-item textarea{
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    padding:10px 13px!important;
    border:1px solid #d2d5ce!important;
    border-radius:var(--lbd-radius)!important;
    background:#fff!important;
    color:var(--lbd-dark)!important;
    font-size:13px!important;
    line-height:1.4!important;
    box-shadow:none!important;
    outline:none!important;
}

.lbd-buy-area select:focus,
.lbd-buy-area .pewc-item input:focus,
.lbd-buy-area .pewc-item textarea:focus{border-color:var(--lbd-green)!important}
.lbd-buy-area .pewc-item textarea{min-height:105px!important;resize:vertical}
.lbd-buy-area .pewc-item input[type="checkbox"],
.lbd-buy-area .pewc-item input[type="radio"]{width:auto!important;min-height:0!important;margin-right:7px!important;accent-color:var(--lbd-green)}
.lbd-buy-area .pewc-field-price,
.lbd-buy-area .pewc-option-price{color:var(--lbd-grey)!important;font-size:11px!important;font-weight:400!important}

/* PEWC totals */
.lbd-buy-area #pewc-product-price,
.lbd-buy-area .pewc-product-price,
.lbd-buy-area .pewc-total-field-wrapper,
.lbd-buy-area .pewc-product-total-wrapper,
.lbd-buy-area .pewc-total-only{
    width:100%!important;
    margin:18px 0!important;
    padding:12px 0!important;
    border-top:1px solid var(--lbd-border)!important;
    border-bottom:1px solid var(--lbd-border)!important;
    background:transparent!important;
}

.lbd-buy-area #pewc-product-price p,
.lbd-buy-area .pewc-product-price p,
.lbd-buy-area .pewc-product-total-wrapper p,
.lbd-buy-area .pewc-total-field-wrapper p{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    width:100%!important;
    margin:0!important;
    padding:5px 0!important;
    border:0!important;
    color:var(--lbd-grey)!important;
    font-size:12px!important;
}

.lbd-buy-area #pewc-product-price .amount,
.lbd-buy-area .pewc-product-price .amount,
.lbd-buy-area .pewc-total-field-wrapper .amount,
.lbd-buy-area .pewc-product-total-wrapper .amount{color:var(--lbd-dark)!important;font-size:12px!important;font-weight:700!important}
.lbd-buy-area .pewc-grand-total{margin-top:5px!important;padding-top:9px!important;border-top:1px solid #ccd0c8!important;color:var(--lbd-dark)!important;font-weight:700!important}
.lbd-buy-area .pewc-grand-total .amount{font-size:16px!important;font-weight:700!important}

/* Quantity + basket */
.lbd-buy-area .quantity{display:inline-block!important;margin:0 9px 0 0!important;vertical-align:top!important}
.lbd-buy-area .qty{
    width:70px!important;
    height:var(--lbd-button-h)!important;
    min-height:var(--lbd-button-h)!important;
    padding:8px!important;
    border:1px solid #c9cdc4!important;
    border-radius:var(--lbd-radius)!important;
    background:#fff!important;
    color:var(--lbd-dark)!important;
    font-size:14px!important;
    text-align:center!important;
    box-shadow:none!important;
}

.lbd-buy-area button.single_add_to_cart_button,
.lbd-buy-area .single_add_to_cart_button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100% - 84px)!important;
    min-height:var(--lbd-button-h)!important;
    margin:0!important;
    padding:13px 22px!important;
    border:1px solid var(--lbd-green)!important;
    border-radius:var(--lbd-radius)!important;
    background:var(--lbd-green)!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:700!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
    box-shadow:none!important;
    opacity:1!important;
}
.lbd-buy-area button.single_add_to_cart_button:hover,
.lbd-buy-area .single_add_to_cart_button:hover{border-color:var(--lbd-green-dark)!important;background:var(--lbd-green-dark)!important;color:#fff!important}
.lbd-buy-area .single_add_to_cart_button.disabled{opacity:.55!important}

.lbd-finance{clear:both;padding:9px 0 0;color:var(--lbd-grey);font-size:10px;line-height:1.5}
.lbd-buy-area .ppcp-messages,
.lbd-buy-area .paypal-buttons,
.lbd-buy-area .paypal-button-container,
.lbd-buy-area .wc-stripe-payment-request-wrapper{clear:both;width:100%;margin-top:12px!important}

/* =========================================================
   BENEFITS
   ========================================================= */
.lbd-benefits-component{margin-top:2px}
.lbd-benefits{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%;
    border:1px solid var(--lbd-border);
    background:var(--lbd-border);
    gap:1px;
}

.lbd-benefit{
    display:flex;
    align-items:flex-start;
    gap:9px;
    min-width:0;
    padding:14px 15px;
    border:0!important;
    background:#fff;
}
.lbd-benefit-icon{display:block!important;color:var(--lbd-green)!important;font-size:12px;font-weight:700;visibility:visible!important;opacity:1!important}
.lbd-benefit-copy{display:block!important;min-width:0!important;visibility:visible!important;opacity:1!important;color:var(--lbd-dark)!important}
.lbd-benefit-title{display:block!important;margin:0 0 3px!important;color:var(--lbd-dark)!important;font-size:11px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:.025em!important;text-transform:uppercase!important;visibility:visible!important;opacity:1!important;white-space:normal!important}
.lbd-benefit-copy .lbd-benefit-text{display:block!important;color:var(--lbd-grey)!important;font-size:10.5px!important;line-height:1.45!important;visibility:visible!important;opacity:1!important;white-space:normal!important} 

/* =========================================================
   ADVICE CTA
   ========================================================= */
.lbd-advice-component{margin-top:22px}
.lbd-advice-box{
    width:100%;
    padding:24px 26px;
    border-left:3px solid var(--lbd-green);
    background:var(--lbd-light);
}
.lbd-eyebrow,
.lbd-section-heading>span{display:block;margin:0 0 6px;color:var(--lbd-green);font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.lbd-advice-box h3{margin:0 0 7px!important;color:var(--lbd-dark)!important;font-size:20px!important;line-height:1.25!important;font-weight:600!important}
.lbd-advice-box p{margin:0 0 17px!important;color:var(--lbd-grey)!important;font-size:12px!important;line-height:1.6!important}
.lbd-advice-actions{display:flex;flex-wrap:wrap;gap:8px}
.lbd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:10px 16px;font-size:10px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;transition:.2s ease}
.lbd-btn-dark{border:1px solid var(--lbd-dark);background:var(--lbd-dark);color:#fff!important}
.lbd-btn-dark:hover{background:#151515;border-color:#151515;color:#fff!important}
.lbd-btn-outline{border:1px solid #b8bcb3;background:transparent;color:var(--lbd-dark)!important}
.lbd-btn-outline:hover{border-color:var(--lbd-dark);color:var(--lbd-dark)!important}

/* =========================================================
   DESCRIPTION
   ========================================================= */
.lbd-description{
    max-width:860px;
    color:#5d5d5d;
    font-size:14px;
    line-height:1.82;
}
.lbd-description p{margin:0 0 17px!important}
.lbd-description h2,
.lbd-description h3,
.lbd-description h4{margin:28px 0 10px!important;color:var(--lbd-dark)!important;line-height:1.3!important;font-weight:600!important}
.lbd-description h2{font-size:24px!important}.lbd-description h3{font-size:19px!important}.lbd-description h4{font-size:16px!important}
.lbd-description ul,.lbd-description ol{margin:0 0 18px!important;padding-left:20px!important}
.lbd-description li{margin-bottom:4px}
.lbd-description img{margin:24px 0}
.lbd-description table{width:100%;margin:20px 0;border-collapse:collapse;font-size:12px}
.lbd-description td,.lbd-description th{padding:9px 10px;border:1px solid var(--lbd-border)}

/* =========================================================
   SPECIFICATIONS
   ========================================================= */
.lbd-specifications{
    width:100%;
    padding:27px 28px;
    background:var(--lbd-light);
}
.lbd-specifications h3{margin:0 0 17px!important;color:var(--lbd-dark)!important;font-size:18px!important;line-height:1.3!important;font-weight:600!important}
.lbd-spec-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #daddd6;font-size:12px;line-height:1.45}
.lbd-spec-row:last-child{border-bottom:0}
.lbd-spec-row span{color:var(--lbd-grey)}
.lbd-spec-row strong{max-width:62%;color:var(--lbd-dark);text-align:right;font-weight:600}

/* =========================================================
   RELATED PRODUCTS
   ========================================================= */
.lbd-related-products{width:100%;padding-top:7px}
.lbd-section-heading{margin:0 0 27px}
.lbd-section-heading h2{margin:0!important;color:var(--lbd-dark)!important;font-size:var(--lbd-heading-size)!important;line-height:1.25!important;font-weight:600!important}

/* Important is intentional here. Older theme product CSS was forcing cards to full width. */
.elementor .lbd-related-grid,
.lbd-related-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:24px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}

.elementor .lbd-related-card,
.lbd-related-card{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important}

.lbd-related-image{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:100%;
    height:255px;
    padding:14px;
    overflow:hidden;
    background:var(--lbd-light);
}
.lbd-related-image img{width:100%!important;height:100%!important;margin:0!important;object-fit:contain;transition:transform .25s ease}
.lbd-related-card:hover .lbd-related-image img{transform:scale(1.025)}
.lbd-related-content{padding:14px 2px 0}
.lbd-related-brand{display:block;margin:0 0 5px;color:var(--lbd-green);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.lbd-related-card h3{min-height:42px;margin:0 0 7px!important;font-size:14px!important;line-height:1.45!important;font-weight:600!important}
.lbd-related-card h3 a{color:var(--lbd-dark)!important}
.lbd-related-price{margin:0 0 10px;color:var(--lbd-green-dark);font-size:15px;line-height:1.35;font-weight:700}
.lbd-related-price .amount{color:inherit!important;font-weight:inherit!important}
.lbd-related-price del{color:#9b9b9b!important;font-size:11px;font-weight:400}
.lbd-related-price ins{text-decoration:none}
.lbd-related-link{display:inline-block;padding-bottom:2px;border-bottom:1px solid var(--lbd-dark);color:var(--lbd-dark)!important;font-size:9px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}

/* Misc */
.lbd-short-description,.lbd-meta{color:var(--lbd-grey)}
.lbd-meta .product_meta{font-size:11px}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1024px){
    .lbd-gallery-main{min-height:min(var(--lbd-gallery-h),480px)}
    .lbd-gallery-main img{height:420px}
    .elementor .lbd-related-grid,.lbd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .lbd-related-image{height:240px}
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:767px){
    .lbd-template-main,.lbd-template-details{flex-direction:column!important}
    .lbd-template-gallery-col,.lbd-template-info-col,.lbd-template-description-col,.lbd-template-spec-col{width:100%!important;max-width:100%!important}
    .lbd-template-info-col{margin-top:28px}

    .lbd-gallery-main{min-height:385px;padding:15px}
    .lbd-gallery-main img{height:350px}
    .lbd-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    .lbd-gallery-thumb{height:72px}

    .lbd-title h1{font-size:30px!important}
    .lbd-price-current,.lbd-price-current .price{font-size:28px!important}

    .lbd-buy-area .quantity{width:70px}
    .lbd-buy-area .qty{width:70px!important}
    .lbd-buy-area .single_add_to_cart_button{width:calc(100% - 84px)!important}

    .lbd-benefits{grid-template-columns:1fr!important}
    .lbd-advice-actions{flex-direction:column}
    .lbd-advice-actions .lbd-btn{width:100%}

    .lbd-specifications{margin-top:24px}

    .elementor .lbd-related-grid,.lbd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important}
    .lbd-related-image{height:185px;padding:8px}
    .lbd-related-card h3{min-height:0;font-size:13px!important}
}

@media(max-width:420px){
    .lbd-gallery-main{min-height:330px}
    .lbd-gallery-main img{height:300px}
    .lbd-related-image{height:155px}
}

/* =========================================================
   ELEMENTOR WRAPPER SAFETY
   ========================================================= */
.lbd-template-shell .elementor-widget[class*="elementor-widget-lbd-"]{
    width:100%!important;
    max-width:100%!important;
    flex:0 0 auto!important;
}
.lbd-template-shell .elementor-widget[class*="elementor-widget-lbd-"] > .elementor-widget-container{
    width:100%!important;
    max-width:100%!important;
}

@media(max-width:1024px){
    .lbd-template-breadcrumbs,.lbd-template-main,.lbd-template-details,.lbd-template-related{
        width:min(calc(100% - 40px),var(--lbd-content))!important;
    }
    .lbd-template-main{gap:36px!important}
    .lbd-template-gallery-col{flex-basis:calc(52% - 18px)!important;width:calc(52% - 18px)!important;max-width:calc(52% - 18px)!important}
    .lbd-template-info-col{flex-basis:calc(48% - 18px)!important;width:calc(48% - 18px)!important;max-width:calc(48% - 18px)!important}
    .lbd-template-details{gap:36px!important}
    .lbd-template-description-col{flex-basis:calc(64% - 18px)!important;width:calc(64% - 18px)!important;max-width:calc(64% - 18px)!important}
    .lbd-template-spec-col{flex-basis:calc(36% - 18px)!important;width:calc(36% - 18px)!important;max-width:calc(36% - 18px)!important}
    .elementor .lbd-related-grid,.lbd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:767px){
    .lbd-template-breadcrumbs,.lbd-template-main,.lbd-template-details,.lbd-template-related{
        width:calc(100% - 32px)!important;
    }
    .lbd-template-main,.lbd-template-details{display:flex!important;flex-direction:column!important;gap:0!important}
    .lbd-template-gallery-col,.lbd-template-info-col,.lbd-template-description-col,.lbd-template-spec-col{
        flex:0 0 100%!important;width:100%!important;max-width:100%!important;
    }
    .lbd-template-main{padding-bottom:48px!important}
    .lbd-template-info-col{padding-top:28px!important}
    .lbd-template-details{padding-top:40px!important}
    .lbd-template-spec-col{padding-top:28px!important}
    .lbd-template-related{padding-top:40px!important;padding-bottom:52px!important}
    .elementor .lbd-related-grid,.lbd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important}
}

@media(max-width:420px){
    .elementor .lbd-related-grid,.lbd-related-grid{grid-template-columns:1fr!important}
}


/* v1.6.1 interaction / content hardening */
.lbd-price-promise-link{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;color:inherit!important;text-decoration:none!important;cursor:pointer!important}
.lbd-price-promise-link:hover .lbd-price-promise-copy strong{text-decoration:underline;text-underline-offset:2px}
.lbd-availability-copy strong,.lbd-availability-copy span{display:block!important;visibility:visible!important;opacity:1!important}


/* v1.6.2 dynamic-widget hardening */
.lbd-benefit-copy{flex:1 1 auto!important;width:auto!important;max-width:none!important;overflow:visible!important;}
.lbd-benefit-title,.lbd-benefit-text{white-space:normal!important;}
.lbd-price-promise-link{position:relative;}
.lbd-price-promise-link:after{content:none!important;display:none!important;}

/* v1.6.3 interaction hardening */
.lbd-price-promise-link{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;color:inherit!important;text-decoration:none!important;cursor:pointer!important;}
.lbd-price-promise-link:hover .lbd-price-promise-copy strong{text-decoration:underline!important;}
.lbd-promise-arrow{margin-left:auto!important;color:var(--lbd-green)!important;font-size:22px!important;line-height:1!important;font-weight:400!important;}


/* =========================================================
   v1.7.0 PREMIUM RETAIL PASS
   Keeps Elementor geometry editable while giving the default template a
   stronger showroom / high-value retail finish.
   ========================================================= */

/* More deliberate vertical rhythm */
.lbd-template-breadcrumbs{padding-top:24px!important;padding-bottom:18px!important}
.lbd-template-main{gap:72px!important;padding-bottom:78px!important}
.lbd-template-details{padding-top:66px!important;padding-bottom:34px!important;gap:82px!important}
.lbd-template-related{padding-top:62px!important;padding-bottom:84px!important}

/* Gallery becomes a framed product stage rather than a flat grey block */
.lbd-gallery-main{
    position:relative;
    padding:34px;
    border:1px solid #e7e9e4;
    background:#f7f8f5;
}
.lbd-gallery-main:after{
    content:'';
    position:absolute;
    inset:12px;
    border:1px solid rgba(38,38,38,.035);
    pointer-events:none;
}
.lbd-gallery-thumb{
    border-color:#e1e4de;
    background:#fff;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.lbd-gallery-thumb:hover{border-color:#aeb7a8;transform:translateY(-1px)}
.lbd-gallery-thumb.active{border-color:var(--lbd-green);box-shadow:0 0 0 1px var(--lbd-green)}

/* Summary hierarchy */
.lbd-brand{margin-bottom:11px;font-size:10px;letter-spacing:.16em}
.lbd-title h1{margin-bottom:18px!important;max-width:760px;font-weight:650!important;letter-spacing:-.03em!important}
.lbd-reviews{padding-bottom:20px}

.lbd-price-area{
    padding:24px 0 25px;
    border-bottom:1px solid #e5e7e2;
}
.lbd-price-current,.lbd-price-current .price{font-size:34px!important;letter-spacing:-.02em}
.lbd-rrp{font-size:11px;letter-spacing:.015em}
.lbd-saving{
    margin-top:11px;
    padding:6px 9px;
    border:1px solid #bdd2b6;
    background:#f6faf4;
    color:#2d6e1f;
    font-size:9px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

/* Reassurance rows */
.lbd-price-promise,.lbd-availability{
    min-height:62px;
    padding:14px 2px;
    border-bottom:1px solid #e5e7e2;
}
.lbd-price-promise-link{min-height:34px}
.lbd-price-promise-copy,.lbd-availability-copy{min-width:0;flex:1 1 auto}
.lbd-price-promise strong,.lbd-availability strong{font-size:11px;letter-spacing:.015em}
.lbd-price-promise span,.lbd-availability span{font-size:11px}
.lbd-promise-arrow{font-size:24px!important;transition:transform .2s ease}
.lbd-price-promise-link:hover .lbd-promise-arrow{transform:translateX(3px)}
.lbd-round-icon{background:#30322f}

/* Purchase form */
.lbd-buy-area{padding-top:24px;padding-bottom:19px}
.lbd-buy-area .qty{border-color:#cfd4ca!important;background:#fff!important}
.lbd-buy-area .single_add_to_cart_button{
    min-height:56px!important;
    height:56px!important;
    border-color:var(--lbd-green)!important;
    background:var(--lbd-green)!important;
    font-size:11px!important;
    letter-spacing:.065em!important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.lbd-buy-area .single_add_to_cart_button:hover{background:var(--lbd-green-dark)!important;border-color:var(--lbd-green-dark)!important;transform:translateY(-1px)}
.lbd-finance{margin-top:10px!important;color:#7a7d77!important;font-size:10px!important}

/* PEWC / variations should feel like part of the same design */
.lbd-buy-area select,
.lbd-buy-area .pewc-item select,
.lbd-buy-area input[type="text"],
.lbd-buy-area input[type="number"],
.lbd-buy-area textarea{
    border-color:#d6dad2!important;
    background:#fff!important;
}
.lbd-buy-area select:focus,
.lbd-buy-area .pewc-item select:focus,
.lbd-buy-area input:focus,
.lbd-buy-area textarea:focus{border-color:#778371!important;box-shadow:0 0 0 1px #778371!important;outline:0!important}

/* Benefits are cards, not table cells */
.lbd-benefits{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
.lbd-benefit{
    min-height:76px;
    padding:15px 16px!important;
    border:1px solid #e3e6df!important;
    background:#fafbf8!important;
    align-items:flex-start!important;
}
.lbd-benefit-icon{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin-top:1px;
    border-radius:50%;
    background:#eef5ea;
    color:var(--lbd-green)!important;
    font-size:11px!important;
}
.lbd-benefit-title{margin-bottom:3px!important;color:#2b2d29!important;font-size:10px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:.035em!important;text-transform:uppercase!important}
.lbd-benefit-text{color:#7a7d77!important;font-size:10px!important;line-height:1.45!important}

/* Advice panel */
.lbd-advice-box{
    margin-top:20px!important;
    padding:26px 28px!important;
    border-left:0!important;
    border-top:3px solid var(--lbd-green)!important;
    background:#f4f5f2!important;
}
.lbd-eyebrow{margin-bottom:8px!important;font-size:9px!important;letter-spacing:.16em!important}
.lbd-advice-box h3{font-size:20px!important;letter-spacing:-.015em!important}
.lbd-advice-box p{max-width:440px;margin-bottom:19px!important}
.lbd-btn{min-height:43px!important;padding-left:18px!important;padding-right:18px!important}

/* Product information section */
.lbd-description{max-width:820px;color:#555955;font-size:14px;line-height:1.9}
.lbd-description>p:first-child{font-size:15px;line-height:1.85;color:#3f433f}
.lbd-description h2,.lbd-description h3,.lbd-description h4{letter-spacing:-.015em!important}
.lbd-specifications{
    padding:30px 30px 26px;
    border:1px solid #e4e7e0;
    background:#f7f8f5;
}
.lbd-specifications h3{padding-bottom:14px!important;border-bottom:1px solid #dde1d9;font-size:17px!important}
.lbd-spec-row{padding:12px 0;border-color:#e1e4de}
.lbd-spec-row span{font-size:11px}
.lbd-spec-row strong{font-size:11px;line-height:1.5}

/* Related cards now read as a coherent premium product grid */
.lbd-section-heading>span{display:block;margin-bottom:7px;color:var(--lbd-green);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.lbd-related-grid{gap:22px!important}
.lbd-related-card{
    border:1px solid #e5e8e1!important;
    background:#fff!important;
    transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease;
}
.lbd-related-card:hover{transform:translateY(-3px);border-color:#d8ddd3!important;box-shadow:0 12px 30px rgba(28,39,25,.08)}
.lbd-related-image{height:270px;padding:18px;background:#f6f7f4}
.lbd-related-content{padding:17px 17px 18px}
.lbd-related-brand{font-size:8px;letter-spacing:.14em}
.lbd-related-card h3{min-height:43px;font-size:13px!important;line-height:1.45!important}
.lbd-related-price{margin-top:12px;font-size:15px}
.lbd-related-link{margin-top:3px;border-bottom-color:#7f837d;font-size:8px;letter-spacing:.075em}

@media(max-width:1024px){
    .lbd-template-main{gap:42px!important}
    .lbd-template-details{gap:42px!important}
    .lbd-related-image{height:245px}
}
@media(max-width:767px){
    .lbd-template-main{padding-bottom:58px!important}
    .lbd-benefits{grid-template-columns:1fr!important}
    .lbd-benefit{min-height:0}
    .lbd-advice-box{padding:23px 22px!important}
    .lbd-related-card h3{font-size:13px!important}
}

/* v1.8 - richer middle section, tighter vertical rhythm */
.lbd-template-main{padding-bottom:38px!important}
.lbd-template-product-info{width:100%!important;max-width:var(--lbd-content)!important;margin:0 auto!important;padding:34px 30px 42px!important;border-top:1px solid #e5e8e1}
.lbd-template-related{padding-top:42px!important}

.lbd-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 4px;border:1px solid #e3e6df;background:#fafbf8}
.lbd-highlight{padding:15px 12px;text-align:center;border-right:1px solid #e3e6df}
.lbd-highlight:last-child{border-right:0}
.lbd-highlight-label{margin-bottom:5px;color:var(--lbd-grey);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.lbd-highlight-value{color:var(--lbd-dark);font-size:15px;font-weight:700;line-height:1.25}

.lbd-product-information{width:100%;border-top:1px solid #e5e5e5;padding-top:34px}
.lbd-info-heading{margin-bottom:24px}
.lbd-info-heading>span{display:block;margin-bottom:7px;color:var(--lbd-green);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.lbd-info-heading h2{margin:0;color:var(--lbd-dark);font-size:30px;line-height:1.15;font-weight:700;letter-spacing:-.025em}
.lbd-info-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #dcdcdc;margin-bottom:30px}
.lbd-info-tab{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;padding:13px 18px;color:#707070;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.lbd-info-tab:hover{color:var(--lbd-dark)}
.lbd-info-tab.active{border-bottom-color:var(--lbd-green);color:var(--lbd-dark)}
.lbd-info-panels{padding-top:0}
.lbd-info-panel{display:none;color:#5d5d5d;font-size:14px;line-height:1.8}
.lbd-info-panel.active{display:block}
.lbd-info-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:42px;align-items:start}
.lbd-info-copy{color:#5d5d5d;font-size:14px;line-height:1.8}
.lbd-info-copy p:first-child{margin-top:0}
.lbd-info-copy h2,.lbd-info-copy h3,.lbd-info-copy h4{color:var(--lbd-dark);line-height:1.3}
.lbd-info-copy h2{font-size:21px;margin:28px 0 10px}
.lbd-info-copy h3{font-size:18px;margin:26px 0 9px}
.lbd-info-copy h4{font-size:16px;margin:22px 0 8px}
.lbd-info-copy ul,.lbd-info-copy ol{margin:15px 0 0;padding-left:20px}
.lbd-info-copy li{margin-bottom:7px}
.lbd-info-card{background:#f7f7f5;border:1px solid #e2e2df;padding:24px}
.lbd-info-card h3{margin:0 0 18px;color:var(--lbd-dark);font-size:17px;font-weight:700}
.lbd-info-card--wide{max-width:1000px}
.lbd-info-specs{margin:0}
.lbd-info-spec{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:11px 0;border-bottom:1px solid #dfdfdc}
.lbd-info-spec:last-child{border-bottom:0}
.lbd-info-spec dt{margin:0;color:#7b7b7b;font-size:12px}
.lbd-info-spec dd{margin:0;color:var(--lbd-dark);font-size:12px;font-weight:600;text-align:right}
.lbd-info-specs--columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
.lbd-info-specs--columns .lbd-info-spec:nth-last-child(-n+2){border-bottom:0}
.lbd-info-features{max-width:980px}
.lbd-info-delivery{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:28px;align-items:start}
.lbd-info-delivery-box{border-left:4px solid var(--lbd-green);background:#f7f7f5;padding:20px 22px}
.lbd-info-delivery-box strong{display:block;margin-bottom:5px;color:var(--lbd-dark);font-size:14px}
.lbd-info-delivery-box span{color:#6f6f6f;font-size:13px;line-height:1.55}
.lbd-info-documents{display:grid;gap:12px;max-width:900px}
.lbd-info-document{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #e1e1df;background:#fff;color:var(--lbd-dark);text-decoration:none}
.lbd-info-document:hover{border-color:#c8cec4}
.lbd-info-document strong{font-size:13px}
.lbd-info-document span{color:var(--lbd-green);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:767px){
  .lbd-template-main{padding-bottom:28px!important}
  .lbd-template-product-info{padding:28px 20px 34px!important}
  .lbd-template-related{padding-top:34px!important}
  .lbd-highlights{grid-template-columns:1fr}
  .lbd-highlight{border-right:0;border-bottom:1px solid #e3e6df}
  .lbd-highlight:last-child{border-bottom:0}
  .lbd-info-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .lbd-info-tab{white-space:nowrap;padding-left:14px;padding-right:14px}
  .lbd-info-spec-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
  .lbd-product-information{padding-top:28px}
  .lbd-info-layout,.lbd-info-delivery{grid-template-columns:1fr;gap:24px}
  .lbd-info-heading h2{font-size:26px}
  .lbd-info-specs--columns{grid-template-columns:1fr}
  .lbd-info-specs--columns .lbd-info-spec{border-bottom:1px solid #dfdfdc}
  .lbd-info-specs--columns .lbd-info-spec:last-child{border-bottom:0}
}
@media (max-width:640px){
  .lbd-info-tabs{gap:0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .lbd-info-tab{white-space:nowrap;padding:12px 13px;font-size:12px}
  .lbd-info-spec{grid-template-columns:1fr;gap:4px}
  .lbd-info-spec dd{text-align:left}
  .lbd-info-card{padding:20px}
}
\n\n/* =========================================================
   v1.8.5 FINAL PRODUCT PAGE PASS
   ========================================================= */

/* Compact, single-source pricing. Desktop runs horizontally; mobile stacks. */
.lbd-price-area{
    padding:20px 0 21px!important;
}
.lbd-price-row{
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    gap:24px;
    width:100%;
}
.lbd-price-row--sale{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:end;
    gap:22px;
}
.lbd-price-label{
    display:block;
    margin-bottom:4px;
    color:#7b7b7b;
    font-size:10px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.lbd-rrp{
    margin:0!important;
    padding:0!important;
    color:#8e8e8e;
    font-size:13px!important;
    line-height:1.25;
    white-space:nowrap;
}
.lbd-rrp del{
    color:#8e8e8e!important;
    opacity:1!important;
    font-size:13px!important;
    font-weight:400!important;
}
.lbd-rrp .amount{
    color:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
}
.lbd-price-current{
    min-width:0;
}
.lbd-price-current,
.lbd-price-current .price{
    margin:0!important;
}
.lbd-price-value{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px;
    color:var(--lbd-green-dark)!important;
    font-size:30px!important;
    line-height:1.05!important;
    font-weight:750!important;
    letter-spacing:-.025em;
}
.lbd-price-value > .amount,
.lbd-price-value .price > .amount,
.lbd-price-value ins .amount{
    color:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
}
.lbd-price-value ins{text-decoration:none!important}
.lbd-price-value del{display:none!important}
.lbd-price-value .woocommerce-price-suffix{
    color:#4f534d!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:0;
    white-space:nowrap;
}
.lbd-saving{
    display:flex!important;
    align-items:baseline;
    gap:4px;
    margin:0!important;
    padding:7px 10px!important;
    border:1px solid #24719b!important;
    border-radius:3px;
    background:#fff!important;
    color:#1d526f!important;
    font-size:9px!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase;
    white-space:nowrap;
}
.lbd-saving strong{
    color:inherit;
    font-size:12px;
    font-weight:800;
    letter-spacing:0;
}

/* Final information-section rhythm. The current Elementor template uses the
   original lbd-template-details container for the new full-width widget. */
.lbd-template-main{padding-bottom:24px!important}
.lbd-template-details{
    flex-direction:column!important;
    gap:0!important;
    padding-top:24px!important;
    padding-bottom:24px!important;
}
.lbd-template-details > .elementor-element{
    width:100%!important;
    max-width:100%!important;
}
.lbd-product-information{
    border-top:0!important;
    padding-top:0!important;
}
.lbd-info-heading{margin-bottom:20px}
.lbd-info-tabs{
    gap:2px;
    margin-bottom:26px;
    border-bottom:1px solid #d9ddd6;
}
.lbd-info-tab{
    padding:12px 16px;
    border-bottom-width:3px;
    font-size:13px;
    font-weight:650;
    transition:color .18s ease,background .18s ease,border-color .18s ease;
}
.lbd-info-tab:hover{background:#f7f9f5}
.lbd-info-tab.active{background:#f4f7f1}
.lbd-info-layout{gap:36px}
.lbd-info-copy{font-size:14px;line-height:1.72}
.lbd-info-copy p{margin-top:0;margin-bottom:13px}
.lbd-info-card{padding:22px}
.lbd-info-spec{padding:10px 0}
.lbd-template-related{padding-top:34px!important}

@media(max-width:900px){
    .lbd-price-row--sale{
        grid-template-columns:auto minmax(0,1fr);
        gap:14px 20px;
    }
    .lbd-saving{grid-column:1 / -1;justify-self:start}
}

@media(max-width:767px){
    .lbd-template-main{padding-bottom:18px!important}
    .lbd-template-details{padding-top:20px!important;padding-bottom:20px!important}
    .lbd-price-row,
    .lbd-price-row--sale{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }
    .lbd-price-value{font-size:28px!important}
    .lbd-saving{align-self:flex-start}
    .lbd-info-heading{margin-bottom:18px}
    .lbd-info-tabs{margin-bottom:22px}
    .lbd-template-related{padding-top:28px!important}
}
\n\n/* =========================================================
   v1.8.6 PRICE ALIGNMENT + PRICE BEATER FIX
   ========================================================= */
@media (min-width:901px){
    .lbd-price-row--sale{
        grid-template-columns:auto auto auto!important;
        justify-content:start!important;
        column-gap:22px!important;
    }
    .lbd-saving{
        justify-self:start!important;
        margin-left:0!important;
    }
}


/* =========================================================
   v1.8.7 POPUP + COMPACT PRICE ROW
   ========================================================= */
@media (min-width:901px){
    .lbd-price-row--sale{
        display:flex!important;
        align-items:flex-end!important;
        justify-content:flex-start!important;
        flex-wrap:wrap!important;
        gap:18px!important;
    }
    .lbd-price-row--sale .lbd-rrp,
    .lbd-price-row--sale .lbd-price-current,
    .lbd-price-row--sale .lbd-saving{
        flex:0 0 auto!important;
        width:auto!important;
        max-width:none!important;
    }
    .lbd-price-row--sale .lbd-saving{
        margin-left:0!important;
        justify-self:auto!important;
    }
}

/* =========================================================
   v2.0.1 - compact responsive product purchase experience
   ========================================================= */
/* Tablet portrait: stack the primary product area before it becomes cramped. */
@media (min-width:768px) and (max-width:900px){
  .lbd-template-main{display:flex!important;flex-direction:column!important;gap:0!important}
  .lbd-template-gallery-col,.lbd-template-info-col{flex:0 0 100%!important;width:100%!important;max-width:100%!important}
  .lbd-template-info-col{padding-top:30px!important}
  .lbd-gallery-main{min-height:460px!important}
  .lbd-gallery-main img{height:430px!important}
  .lbd-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:767px){
  /* Reduce the vertical cost of the purchase column. */
  .lbd-template-info-col{padding-top:20px!important;margin-top:0!important}
  .lbd-price-promise,.lbd-availability{min-height:50px!important;padding:9px 2px!important}
  .lbd-buy-area{padding-top:15px!important;padding-bottom:12px!important}
  .lbd-finance{margin-top:7px!important;padding-top:0!important}

  /* Key product facts become one swipeable line. */
  .lbd-highlights{
    display:flex!important;
    grid-template-columns:none!important;
    gap:0!important;
    margin:12px 0 2px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .lbd-highlights::-webkit-scrollbar{display:none}
  .lbd-highlight{
    flex:0 0 auto!important;
    min-width:118px!important;
    padding:10px 13px!important;
    border-right:1px solid #e3e6df!important;
    scroll-snap-align:start;
    white-space:nowrap!important;
  }
  .lbd-highlight:last-child{border-right:0!important}
  .lbd-highlight-label{margin-bottom:2px!important;font-size:8px!important}
  .lbd-highlight-value{font-size:12px!important;white-space:nowrap!important}

  /* Purchase reassurance becomes a compact swipe strip rather than four cards. */
  .lbd-benefits-component{margin-top:4px!important;overflow:hidden!important}
  .lbd-benefits{
    display:flex!important;
    grid-template-columns:none!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 0 5px!important;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .lbd-benefits::-webkit-scrollbar{display:none}
  .lbd-benefit{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    min-height:44px!important;
    padding:9px 12px!important;
    align-items:center!important;
    gap:8px!important;
    scroll-snap-align:start;
  }
  .lbd-benefit-icon{width:19px!important;height:19px!important;flex-basis:19px!important;margin:0!important;font-size:9px!important}
  .lbd-benefit-copy{flex:0 0 auto!important}
  .lbd-benefit-title{margin:0!important;font-size:9px!important;white-space:nowrap!important}
  .lbd-benefit-text{display:none!important}

  .lbd-advice-box{margin-top:12px!important;padding:20px 18px!important}
}

/* =========================================================
   v2.0.2 - PEWC price clarity + compact mobile At a glance
   ========================================================= */
.lbd-buy-area .pewc-field-price,
.lbd-buy-area .pewc-option-price,
.lbd-buy-area .pewc-field-price .amount,
.lbd-buy-area .pewc-option-price .amount{
  color:var(--lbd-green)!important;
  font-weight:700!important;
}

@media (max-width:767px){
  /* Keep add-on controls comfortably tappable without wasting vertical space. */
  .lbd-buy-area .pewc-item{margin-bottom:10px!important}
  .lbd-buy-area .pewc-item label{margin-bottom:4px!important}
  .lbd-buy-area .pewc-item select,
  .lbd-buy-area .pewc-item input[type="text"],
  .lbd-buy-area .pewc-item input[type="number"]{min-height:42px!important;height:42px!important;padding-top:7px!important;padding-bottom:7px!important}

  /* Four key facts fit naturally as a compact 2 x 2 panel on phones. */
  .lbd-info-card{padding:16px!important}
  .lbd-info-card h3{margin:0 0 12px!important;font-size:15px!important}
  .lbd-info-card .lbd-info-specs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    border-top:1px solid #dfdfdc;
  }
  .lbd-info-card .lbd-info-spec{
    display:block!important;
    min-width:0!important;
    padding:11px 10px!important;
    border-bottom:1px solid #dfdfdc!important;
  }
  .lbd-info-card .lbd-info-spec:nth-child(odd){padding-left:0!important;border-right:1px solid #dfdfdc!important}
  .lbd-info-card .lbd-info-spec:nth-child(even){padding-right:0!important}
  .lbd-info-card .lbd-info-spec:nth-last-child(-n+2){border-bottom:0!important}
  .lbd-info-card .lbd-info-spec dt{margin:0 0 4px!important;font-size:9px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.045em}
  .lbd-info-card .lbd-info-spec dd{margin:0!important;font-size:11px!important;line-height:1.35!important;text-align:left!important;overflow-wrap:anywhere}
}

/* v2.8.1 - variation / PEWC price consistency */
.lbd-buy-area .woocommerce-variation-price,
.lbd-buy-area .woocommerce-variation-price .price{
    color:var(--lbd-green)!important;
    font-weight:700!important;
}
.lbd-buy-area .woocommerce-variation-price .price ins,
.lbd-buy-area .woocommerce-variation-price .price ins .amount{
    color:var(--lbd-green)!important;
    text-decoration:none!important;
    font-weight:700!important;
}
.lbd-buy-area .woocommerce-variation-price .price del,
.lbd-buy-area .woocommerce-variation-price .price del .amount{
    color:var(--lbd-grey)!important;
    opacity:.72!important;
    font-weight:500!important;
}
.lbd-buy-area .woocommerce-variation-price .price > .amount{
    color:var(--lbd-green)!important;
}
.lbd-buy-area .pewc-grand-total .amount,
.lbd-buy-area .pewc-total-only .amount{
    color:var(--lbd-green)!important;
}

/* Price Beater - lightweight native modal (2.8.11) */
.lbd-price-promise-link.lbd-price-promise-trigger{
  -webkit-appearance:none!important;appearance:none!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;font:inherit!important;text-align:left!important;
}
.lbd-price-promise-link.lbd-price-promise-trigger:hover,
.lbd-price-promise-link.lbd-price-promise-trigger:focus,
.lbd-price-promise-link.lbd-price-promise-trigger:active{background:transparent!important;color:inherit!important;border-color:transparent!important;box-shadow:none!important;outline:none!important}
.lbd-price-promise-link.lbd-price-promise-trigger:focus-visible{outline:2px solid var(--lbd-green,#2f8125)!important;outline-offset:4px!important}

.lbd-price-beater-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}
.lbd-price-beater-modal.is-open{display:flex}
.lbd-price-beater-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(17,17,17,.68)!important;cursor:default!important}
.lbd-price-beater-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:2px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:38px 40px 32px}
.lbd-price-beater-close{position:absolute!important;top:13px!important;right:15px!important;width:36px!important;height:36px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#222!important;font-size:28px!important;font-weight:300!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important}
.lbd-price-beater-close:hover,.lbd-price-beater-close:focus{background:#f4f4f2!important;color:#222!important}
.lbd-price-beater-kicker{display:block;margin:0 0 7px;color:var(--lbd-green,#2f8125);font-size:11px;font-weight:700;letter-spacing:.14em}
.lbd-price-beater-heading h2{margin:0 0 10px!important;color:#222!important;font-size:30px!important;line-height:1.12!important;font-weight:700!important}
.lbd-price-beater-heading p{margin:0 0 25px!important;color:#555!important;font-size:14px!important;line-height:1.6!important;max-width:540px}
.lbd-price-beater-form{display:grid;gap:15px}
.lbd-price-beater-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.lbd-price-beater-form label{display:grid;gap:6px;margin:0;color:#2c2c2c;font-size:12px;font-weight:650}
.lbd-price-beater-form input{width:100%;height:46px!important;margin:0!important;padding:0 13px!important;border:1px solid #d5d8d2!important;border-radius:0!important;background:#fff!important;color:#222!important;font:inherit!important;font-size:14px!important;box-shadow:none!important;outline:none!important}
.lbd-price-beater-form input:focus{border-color:var(--lbd-green,#2f8125)!important;box-shadow:0 0 0 1px var(--lbd-green,#2f8125)!important}
.lbd-price-beater-price-field{display:grid;grid-template-columns:42px 1fr;border:1px solid #d5d8d2;background:#fff}
.lbd-price-beater-price-field:focus-within{border-color:var(--lbd-green,#2f8125);box-shadow:0 0 0 1px var(--lbd-green,#2f8125)}
.lbd-price-beater-price-field>span{display:grid;place-items:center;border-right:1px solid #e3e5e1;color:#555;font-size:15px}
.lbd-price-beater-price-field input{border:0!important;box-shadow:none!important}
.lbd-price-beater-price-field input:focus{border:0!important;box-shadow:none!important}
.lbd-price-beater-submit{width:100%!important;min-height:48px!important;margin:2px 0 0!important;padding:12px 18px!important;border:0!important;border-radius:0!important;background:var(--lbd-green,#2f8125)!important;color:#fff!important;font-size:13px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.025em!important;cursor:pointer!important;box-shadow:none!important}
.lbd-price-beater-submit:hover,.lbd-price-beater-submit:focus{background:var(--lbd-green-dark,#23661c)!important;color:#fff!important}
.lbd-price-beater-note{margin:0!important;color:#777!important;font-size:11px!important;line-height:1.5!important;text-align:center}
.lbd-price-beater-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lbd-price-beater-error{margin:0 0 16px;padding:10px 12px;border-left:3px solid #b42318;background:#fff4f2;color:#7a271a;font-size:13px}
.lbd-price-beater-success{text-align:center;padding:14px 4px 4px}
.lbd-price-beater-success-icon{display:grid;width:52px;height:52px;margin:0 auto 17px;place-items:center;border-radius:50%;background:#eef6eb;color:var(--lbd-green,#2f8125);font-size:24px;font-weight:700}
.lbd-price-beater-success h2{margin:0 0 10px!important;color:#222!important;font-size:28px!important}
.lbd-price-beater-success p{margin:0 0 22px!important;color:#555!important;font-size:14px!important;line-height:1.55!important}
body.lbd-price-beater-open{overflow:hidden!important}
@media(max-width:640px){
  .lbd-price-beater-modal{padding:14px}
  .lbd-price-beater-dialog{max-height:calc(100vh - 28px);padding:32px 20px 22px}
  .lbd-price-beater-grid{grid-template-columns:1fr}
  .lbd-price-beater-heading h2{font-size:25px!important}
  .lbd-price-beater-heading p{font-size:13px!important}
}
