.floba-offer-prices, .floba-offer-standard, .floba-offer-special { display: block; }
.floba-offer-options { display: inline; margin-left: .2em; }
.floba-offer-badge-host { position: relative !important; }
.single-product .woocommerce-product-gallery, .single-product div.images, .single-product .images { position: relative !important; }
.woocommerce .floba-date-offer-badge, .floba-date-offer-badge {
    position: absolute !important; z-index: 4; top: 10px !important; left: 10px !important; right: auto !important;
    display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box;
    width: 60px !important; height: 60px !important; min-width: 60px !important; min-height: 60px !important;
    margin: 0 !important; padding: 8px !important; border: 0 !important; border-radius: 50% !important;
    background: #2f7d55 !important; color: #fff !important; font-family: inherit; font-size: 12px !important;
    font-weight: 700 !important; line-height: 1.2 !important; text-align: center !important; text-transform: none !important;
    white-space: normal !important; box-shadow: 0 1px 4px rgba(0,0,0,.18);
}
.floba-date-offer-badge::before, .floba-date-offer-badge::after { content: none !important; }
.floba-offer-native-badge { display: none !important; }
body .premium-woocommerce .premium-woo-ribbon-container .premium-woo-product-sale-wrap .premium-woo-product-onsale.floba-offer-native-badge { display: none !important; visibility: hidden !important; }
.floba-offer-standard del { text-decoration: line-through !important; opacity: .8; }
.floba-offer-special ins { text-decoration: none !important; background: transparent; font-weight: 700; }
.floba-offer-standard small, .floba-offer-options { font-size: 13px; line-height: 1.5; font-weight: 400; color: #515151; }
.floba-variation-offer-price, .floba-variation-offer-price .floba-offer-standard, .floba-variation-offer-price .floba-offer-special { display: block; }
.floba-variation-offer-price .floba-offer-special { margin-top: .2em; }
.floba-offer-special { margin-top: .35em; color: #256044; font-size: 1em; font-weight: 600; }
.floba-offer-terms {
    display: block; box-sizing: border-box; max-width: 44em; margin: 10px auto 0; padding: 9px 10px;
    border: 1px solid #ccdcd0; border-radius: 5px; background: #f3f7f3; color: #304a38;
    font-size: 14px !important; line-height: 1.55 !important; font-weight: 400;
    letter-spacing: normal; text-transform: none;
}
.floba-offer-terms > span { display: block; }
.floba-offer-terms > span:first-child strong { display: inline; font-size: inherit; font-weight: 700; }
.single-product .summary > .price .floba-offer-terms {
    width: 100% !important; max-width: none; margin: 12px 0 0 !important; padding: 11px 14px;
    border-color: rgba(47,125,85,.28); background: rgba(47,125,85,.07);
    color: #2f5b42; font-size: 16px !important; line-height: 1.5 !important;
}
.single-product .summary > .price .floba-offer-terms > span { display: block !important; }
.single-product .summary > .price .floba-offer-terms > span + span { margin-top: 2px; }
.single-product .summary > .price .floba-offer-terms > span:first-child strong { display: inline !important; }
@media (min-width: 769px) {
    /* Scope these readability fixes to the single-product summary. Shop
       cards keep their existing compact typography and spacing. */
    /* Some Elementor/Astra product templates put the single-product class on
       a wrapper rather than on <body>. Scope to that ancestor so the notice
       does not depend on WooCommerce's body class. */
    .single-product .summary > p.price,
    .single-product .summary > .price,
    .single-product div.product div.summary > p.price,
    .single-product div.product div.summary > .price {
        display: block !important; float: none !important; clear: both !important;
        width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important;
        box-sizing: border-box !important; text-align: left !important;
    }
    .single-product .summary .floba-offer-prices,
    .single-product div.product div.summary .floba-offer-prices {
        display: block !important; float: none !important; clear: both !important;
        width: 100% !important; max-width: 100% !important; text-align: left !important;
    }
    .single-product .summary .floba-offer-price-lines,
    .single-product div.product div.summary .floba-offer-price-lines {
        display: block !important; width: 100% !important; text-align: left !important;
    }
    .single-product .summary .floba-offer-terms,
    .single-product div.product div.summary .floba-offer-terms {
        display: block !important; float: none !important; clear: both !important;
        width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important;
        box-sizing: border-box !important; text-align: left !important;
        font-size: 20px !important; line-height: 1.5 !important;
    }
    .single-product .summary .floba-offer-terms > span,
    .single-product .summary .floba-offer-terms > span strong,
    .single-product div.product div.summary .floba-offer-terms > span,
    .single-product div.product div.summary .floba-offer-terms > span strong { font-size: 20px !important; line-height: 1.5 !important; }
    .single-product .summary .floba-offer-price-lines { font-size: 1.08em; }
    .single-product .summary .floba-offer-standard small,
    .single-product .summary .floba-offer-options { font-size: 14px !important; }
}
.floba-offer-panel { box-sizing: border-box; clear: both; width: 100%; padding: 16px 18px; margin: 12px 0 20px; border: 1px solid #c4d7cb; border-radius: 6px; background: #f4f8f5; color: #254533; font-size: 14px; line-height: 1.65; }
.floba-offer-panel ul { margin: 8px 0 0; padding-left: 20px; }
.floba-offer-panel li + li { margin-top: 10px; }
.floba-offer-panel[hidden], .floba-offer-updating[hidden] { display: none !important; }
.floba-offer-updating { display: block; margin-top: 8px; }
.floba-offer-quote td { padding: 8px 0 !important; font-size: 12px; line-height: 1.5; font-weight: 400; }
@media (max-width: 480px) {
    .woocommerce .floba-date-offer-badge, .floba-date-offer-badge { top: 7px !important; left: 7px !important; width: 52px !important; height: 52px !important; min-width: 52px !important; min-height: 52px !important; font-size: 11px !important; }
    .floba-offer-terms { padding: 8px; }
    .floba-offer-panel { padding: 12px; font-size: 14px; }
}
