/* The native Woo price and accessible descriptions are preserved. Every tile
 * reserves two lines, even without a sale: no extra row can push the CTA out. */
body .product-grid-item .product-wrapper > .price {
    display:flex !important;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    gap:3px;
    box-sizing:border-box;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    flex:0 0 52px !important;
    padding:0 !important;
    line-height:1.15 !important;
    font-size:20px !important;
    font-weight:750 !important;
    letter-spacing:-.025em;
    white-space:nowrap;
    overflow:visible;
}
body .product-grid-item .product-wrapper > .price :is(ins,del) {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    background:none !important;
    line-height:1.15 !important;
}
body .product-grid-item .product-wrapper > .price del {
    color:#716c66 !important;
    opacity:1 !important;
    font-size:13px !important;
    font-weight:500 !important;
    letter-spacing:0;
}
body .product-grid-item .product-wrapper > .price del :is(.amount,bdi,.woocommerce-Price-currencySymbol) {
    color:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
}
body .product-grid-item .product-wrapper > .price ins {
    color:#c51d28 !important;
    font-size:20px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}
body .product-grid-item .product-wrapper > .price > .amount,
body .product-grid-item .product-wrapper > .price ins :is(.amount,bdi) {
    font-size:20px !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}
body .product-grid-item .product-wrapper > .price > .amount .woocommerce-Price-currencySymbol,
body .product-grid-item .product-wrapper > .price ins .woocommerce-Price-currencySymbol {
    font-size:11px !important;
    font-weight:650 !important;
    letter-spacing:0;
}
:is(body .gbb-home-products__grid,body.woodmart-archive-shop:not(.gbb-shop-list-view),body.single-product .related-products) .product-grid-item .product-wrapper {
    gap:6px !important;
}
:is(body .gbb-home-products__grid,body.woodmart-archive-shop:not(.gbb-shop-list-view),body.single-product .related-products) .product-grid-item .wd-add-btn {
    margin:8px 3px 0 !important;
}
body .product-grid-item .wd-add-btn > a {
    min-height:44px !important;
}
/* Gift tiles have a deliberately smaller footprint: fit the same price/CTA
 * slots by compacting the image and metadata, not clipping their content. */
body.term-gifts .wd-products .product-grid-item {
    --gbb-tile-image-height:174px;
}
body.term-gifts .wd-products .product-grid-item .product-wrapper {
    gap:4px !important;
}
body.term-gifts .wd-products .product-grid-item .wd-product-cats {
    margin:6px 3px 4px !important;
}
body.term-gifts .wd-products .product-grid-item .wd-add-btn {
    margin-top:6px !important;
}
/* Percentages come from WooCommerce; this rule changes only the native badge. */
body :is(.product-grid-item,.woocommerce-product-gallery,.product-quick-view) .product-label.onsale {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto !important;
    min-width:52px !important;
    height:30px !important;
    min-height:30px !important;
    padding:5px 10px !important;
    border:0 !important;
    border-radius:8px !important;
    background:#c51d28 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:750 !important;
    line-height:20px !important;
    letter-spacing:0 !important;
    box-shadow:none !important;
}
/* Variable-height product summaries are not forced into a tile-sized slot. */
body :is(.single-product .summary-inner,.product-quick-view .summary-inner) > .price:has(del) {
    display:flex !important;
    flex-wrap:wrap;
    align-items:baseline;
    gap:6px 12px;
}
body :is(.single-product .summary-inner,.product-quick-view .summary-inner) > .price del {
    color:#716c66 !important;
    opacity:1 !important;
    font-size:16px !important;
    font-weight:500 !important;
}
body :is(.single-product .summary-inner,.product-quick-view .summary-inner) > .price del :is(.amount,bdi,.woocommerce-Price-currencySymbol) {
    color:inherit !important;
    font-size:inherit !important;
    font-weight:inherit !important;
}
@media (max-width:767px) {
    body.term-gifts .wd-products .product-grid-item { --gbb-tile-image-height:112px; }
}
/* Logo stays outside the scrolling results and never takes over keyboard focus. */
@media (max-width:1366px) {
    .gbb-mobile-search-dialog__top { flex:0 0 auto; gap:12px; }
    .gbb-search-brand {
        display:grid;
        flex:0 0 56px;
        width:56px;
        height:56px;
        place-items:center;
        overflow:hidden;
        border-radius:12px;
        background:#302e2a;
    }
    .gbb-search-brand img { display:block; width:56px; height:56px; margin:0; padding:0; object-fit:contain; }
    .gbb-mobile-search-dialog__top h2 { flex:1; min-width:0; font-size:22px; }
    .gbb-mobile-search-dialog__close { margin-left:auto; }
    .gbb-mobile-search-results__copy small { font-size:15px; font-weight:650; color:#45413c; }
}
@media (max-width:360px) {
    .gbb-search-brand { flex-basis:48px; width:48px; height:48px; }
    .gbb-search-brand img { width:48px; height:48px; }
    .gbb-mobile-search-dialog__top h2 { font-size:20px; }
}
