/*
 * Widgets.BrandStyling - Leaves with Hugs brand layer on top of the Emporium theme.
 * Loaded from the head_html_tag widget zone, i.e. after the theme's bundled CSS, so
 * same-specificity rules here win without touching any theme file.
 *
 * Sections:
 *   1. Tokens + self-hosted Lora (headings)
 *   2. Theme accent remap (generated from Emporium's theme.custom-1.css selector lists:
 *      every #75d561 green / #eebc08 gold rule re-pointed at the brand olive)
 *   3. Text contrast, prices, typography
 *   4. Buttons, cards, surfaces
 *   5. Product page layout
 *   6. Reassurance bar + product trust list + misc
 */

/* ---------- 1. Tokens ---------- */
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('fonts/lora-latin-var.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('fonts/lora-latin-ext-var.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --lwh-olive: #4a5d23;       /* primary actions, links, badges (7.3:1 with white) */
  --lwh-olive-dark: #3a4a1b;  /* hover */
  --lwh-price: #33421e;       /* prices (10.8:1 on white) */
  --lwh-leaf: #7aaa3d;        /* logo green - decorative only */
  --lwh-gold: #b8893b;        /* decorative accents (rules, icons) */
  --lwh-gold-text: #8a6a2b;   /* gold when used as text (4.7:1 on cream) */
  --lwh-cream: #faf6ee;       /* warm section background */
  --lwh-cream-2: #f3ede0;
  --lwh-line: #e7ddc8;
  --lwh-ink: #2b2b2b;         /* headings, product names */
  --lwh-text: #474747;        /* body copy */
  --lwh-muted: #666666;       /* secondary text (5.3:1 on cream) */
  --lwh-serif: 'Lora', Georgia, 'Times New Roman', serif;
}

/* ---------- 2. Theme accent remap (generated) ---------- */
.item-box .btn-wrapper button:hover,
input[type="radio"]:checked + label:before,
input[type="checkbox"]:checked + label:before,
.select input[type="checkbox"]:checked + label,
.select-boxes input[type="checkbox"]:checked + label,
.two-row-carousels .slick-arrow:hover,
.home-page-polls .answer input[type="radio"]:checked + label:before,
.answer input[type="radio"]:checked + label:before,
.pager li a:hover,
.pager li span,
.pager li.previous-page a:hover,
.pager li.next-page a:hover,
.pager li.first-page a:hover,
.pager li.last-page a:hover,
.ui-datepicker-header,
.ui-datepicker-calendar a.ui-state-active:hover,
.ui-datepicker-calendar a.ui-state-active,
.order-progress .active-step:not(.last) a:hover:before,
.opc .selector input[type="checkbox"]:checked ~ label:before,
.forum-search-box.search-box .search-box-button:hover,
.ico-wishlist .wishlist-qty,
.ico-cart .cart-qty,
.shopping-cart-link .cart-qty,
.selected-options-list > li span,
.header-menu .close-menu,
.close-side-menu,
.mobile-flyout-wrapper .close-side-menu,
.header-menu ul li.back-button,
.avatar-page .upload-image.valid + label,
.ui-slider-range,
.filters-button,
.quick-view-button a:hover,
.jCarouselMainWrapper .slick-next:hover,
.jCarouselMainWrapper .slick-prev:hover,
.blog-search-box .search-box-button:hover,
.sale-of-the-day-offer .timer-info-box,
.spc-products .slick-arrow:hover,
.nivo-directionNav a:hover,
.anywhere-slider .slick-arrow:hover,
.theme-roller .open-button,
.product-filters .ui-slider-range,
.buttons .k-button {
  background-color: var(--lwh-olive);
}
.selected-options-list > li span:hover,
.theme-roller .open-button:hover,
.avatar-page .upload-image.valid + label:hover,
.buttons .k-button:hover {
  background-color: var(--lwh-olive-dark);
}
.link-rss:hover:before,
.field-validation-valid,
.username-available-status,
.cart a,
.data-table a,
.compare-products-table a,
.forums-table-section a,
.cart .product a:hover,
.data-table .product a:hover,
.compare-products-table .product a:hover,
.forums-table-section .product a:hover,
.cart .edit-item a,
.data-table .edit-item a,
.compare-products-table .edit-item a,
.forums-table-section .edit-item a,
.mini-shopping-cart .count a:hover,
.mini-shopping-cart .price,
.mini-shopping-cart .totals strong,
.login-form-in-header .in-header-register .register-button:hover,
.login-form-in-header .inputs input:focus + .inputs-icons,
.footer-block a:hover,
.social-sharing a:hover:before,
.footer-block .title:before,
.footer-block .title:after,
.block .title:before,
.block .list li.active > a,
.block .list a:hover,
.block .view-all a,
.block .tags li a:hover,
.product-tags-all-page li a:hover,
.poll > strong,
.block .answer label:hover,
.breadcrumb a:hover,
.breadcrumb a:hover span,
.item-box .actual-price,
.item-box .tax-shipping-info a,
.vendor-item:hover .title a,
.manufacturer-item:hover .title a,
.category-grid .item-box:hover .title a,
.product-name .manufacturers .value,
.overview .manufacturers .value,
.product-review-links a:hover,
.product-no-reviews a:hover,
.compare-products .add-to-compare-list-button:hover,
.compare-products .add-to-compare-list-button:hover:before,
.back-in-stock-subscription:hover:before,
.overview .additional-details div .value a,
.variant-overview .additional-details div .value a,
.download-sample a,
.product-social-sharing li a:hover:before,
.email-a-friend:hover:before,
.overview .product-price,
.variant-overview .product-price,
.tier-prices .item-price,
.product-tags-list a,
.ui-tabs .ui-tabs-nav li a:hover,
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
.ui-tabs .ui-state-active.ui-tabs-active a,
.ui-tabs .submitReviewResult,
.product-review-helpfulness .vote:hover:before,
.wishlist-page .share-info a,
.compare-products-mobile .price .item span,
.email-a-friend-page .title a,
.accept-privacy-policy .read,
.account-page .button-2.return-items-button:hover,
.account-page .button-2.return-items-button:hover:before,
.order-total td label,
.order-total td span,
.cart-total .order-total,
.terms-of-service .read,
.cart-collaterals > div > .title:hover,
.cart-collaterals > div > .title:before,
.cart-collaterals .message-success,
.checkout-page .add-button .btn-holder.open:before,
.order-completed .order-number,
.opc > li.allow:not(.active) .step-title:after,
.opc > li.active .step-title .number,
.opc > li.active .step-title .title,
.order-details-page .order-overview .order-number,
.sitemap-page a,
.post-date,
.news-date,
.post-navigation a:before,
.post-navigation a:after,
.back-to-all-button:hover,
.back-to-all-button:hover:before,
.blog-page .tags li,
.blogpost-page .tags a,
.read-comments:hover,
.read-comments:hover:before,
.new-comment .result,
.news-list-homepage .view-all a,
.news-list-homepage .view-all a:after,
.current-time,
.forum-search-box .advanced > a:hover,
.forum-table a:hover,
.topic-post .pm-button:before,
.topic-post .post-vote > .vote.up:hover:before,
.topic-post .post-vote > .vote.down:hover:before,
.compare-products-table .product-price td,
.order-progress .active-step.last a span,
.category-navigation-list-wrapper ul li:hover > a,
.category-navigation-list-wrapper ul li:hover > span,
.category-navigation-list-wrapper ul li:hover > a:after,
.header-links a:hover,
.header-links a:hover:before,
.block.block-recently-viewed-products .list a:hover,
.block-account-navigation.block .list a:hover,
.block-account-navigation.block .list a:hover:after,
.block-account-navigation.block .list a.active,
.block-account-navigation.block .list a.active:after,
.header-selectors-wrapper > div input[type="radio"]:checked + label,
.ajaxCart .k-window-titlebar.k-header .k-window-actions .k-icon:hover:before,
.productAddedToCartWindowDescription strong,
.clearFilterOptionsAll:hover,
.filter-block .toggleControl:before,
.filter-block a.clearFilterOptions:hover:before,
.filter-block a.clearPriceRangeFilter:hover:before,
.picture-thumbs .slick-prev:hover:before,
.picture-thumbs .slick-next:hover:before,
.instant-search-item .detail .price,
.home-page .jCarouselMainWrapper.small-products .nop-jcarousel .carousel-title:before,
.mega-menu .sublist li:hover > a,
.category-navigation-list .dropdown .box .title a,
.category-navigation-list .dropdown .box .subcategory-item a:hover,
.mega-menu .manufacturers .box:hover .title,
.mega-menu .vendors .box:hover .title,
.previous-product a:before,
.next-product a:before,
.quickView .k-window-titlebar.k-header .k-window-actions a:hover:before,
.quickViewWindow #accordion > h3 span:before,
.quickViewWindow .product-variant .product-price,
.ropc .section .title:after,
.ropc .coupon-box-panel .message-success,
.ropc .giftcard-box-panel .message-success,
.ropc .cart-total .cart-total-row span,
.sale-of-the-day-offer .product-name a:hover,
.sale-of-the-day-offer .price.actual-price,
.sale-of-the-day-offer .slick-arrow:hover:before,
.rich-blog-homepage .view-all a,
.rich-blog-homepage .view-all a:after,
.blog-search-results .search-term-highlighter,
.share-post li a:hover:before,
.post-relations li a,
.spc-products .spc-header li:hover,
.spc-categories .navigation li:hover,
.spc-header li.active,
.spc-categories .navigation li.active,
.spc-categories .category-title,
.spc-categories .category-sublist a:hover,
.spc-categories .slick-prev:hover:before,
.spc-categories .slick-next:hover:before,
.advantages-item .title a:hover,
.scroll-back-button:before,
.inputs.accept-consent .read,
.product-filters .selected-price-range {
  color: var(--lwh-olive);
}
.product-name .manufacturers .value:hover,
.product-tags-list a:hover:hover,
.overview .additional-details div .value a:hover,
.variant-overview .additional-details div .value a:hover,
.terms-of-service .read:hover,
.download-sample a:hover,
.sitemap-page a:hover,
.blog-page .tags a:hover,
.blogpost-page .tags a:hover,
.product-tags-list a:hover,
.cart .edit-item a:hover,
.news-list-homepage .view-all a:hover,
.news-list-homepage .view-all a:hover:after,
.manufacturers .value:hover,
.block .view-all a:hover,
.data-table a:hover,
.forums-table-section a:hover,
.category-navigation-list .dropdown .box .title a:hover,
.rich-blog-homepage .view-all a:hover,
.rich-blog-homepage .view-all a:hover:after,
.post-relations li a:hover,
.spc-categories .category-title a:hover {
  color: var(--lwh-olive-dark);
}
.ajax-loading-block-window:before,
.ajax-loading-block-window:after,
.two-row-carousels .slick-arrow:hover,
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
.ui-tabs .ui-state-active.ui-tabs-active a,
.order-progress .active-step.last a:before,
.block-account-navigation.block .list a.active,
.nopAjaxCartPanelAjaxBusy:before,
.nopAjaxCartPanelAjaxBusy:after,
.miniProductDetailsPanelAjaxBusy:before,
.miniProductDetailsPanelAjaxBusy:after,
.ui-slider-handle,
.product-filters .ui-slider-handle,
.productPanelAjaxBusy:before,
.productPanelAjaxBusy:after,
.infinite-scroll-loader:before,
.infinite-scroll-loader:after,
.cloudzoom-ajax-loader:before,
.cloudzoom-ajax-loader:after,
.jCarouselMainWrapper .slick-next:hover,
.jCarouselMainWrapper .slick-prev:hover,
.quickView .k-loading-image:before,
.quickView .k-loading-image:after,
.quickView .cloudzoom-ajax-loader:before,
.quickView .cloudzoom-ajax-loader:after,
.panel-loader-effect .spinner:before,
.panel-loader-effect .spinner:after,
.spc-categories .loading-overlay:before,
.spc-categories .loading-overlay:after,
.spc-body .loading-overlay:before,
.spc-body .loading-overlay:after,
.spc-products .slick-arrow:hover,
.scroll-back-button,
.nivoSlider:before,
.nivoSlider:after,
.anywhere-slider:before,
.anywhere-slider:after,
.jCarouselMainWrapper .loading-overlay:before,
.jCarouselMainWrapper .loading-overlay:after {
  border-color: var(--lwh-olive);
}
.pager li a:hover,
.pager li span {
  border-color: var(--lwh-olive) !important;
}
.button-1,
.eu-cookie-bar-notification button,
.login-form-in-header .login-button,
.category-navigation-list-wrapper:hover .category-navigation-title,
.category-navigation-list-wrapper.menuItemsAreClickable.opened .category-navigation-title,
.newsletter-email .newsletter-subscribe-button,
.home-page-polls .poll button,
.contact-vendor-button,
.swiper-pagination-bullet-active,
.item-box .buttons .button-2:hover,
.grouped-btn:hover,
.write-review .title strong,
.comment-form-btn strong,
.mfp-container .apply-shipping-button,
.write-review .button-1,
.qq-uploader .qq-upload-button,
.blog-posts .read-more,
.news-items .read-more,
.forums-table-section .view-all a,
.topic-post .post-actions .quote-post-button,
.ropc .complete-button button,
.spc-categories .category-picture .spc-to-all-products,
.jCarouselMainWrapper .slick-dots .slick-active button,
.sale-of-the-day-offer li.slick-active button,
.spc .slick-dots .slick-active button {
  background-color: var(--lwh-olive);
}
.button-1:hover,
.eu-cookie-bar-notification button:hover,
.mini-shopping-cart .buttons button:hover,
.login-form-in-header .login-button:hover,
.search-box .search-box-button:hover,
.newsletter-email .newsletter-subscribe-button:hover,
.poll .buttons button:hover,
.contact-vendor-button:hover,
.product-reviews-page .title .write-review-title:hover,
.mfp-container .apply-shipping-button:hover,
.write-review .button-1:hover,
.qq-uploader .qq-upload-button:hover,
.blog-posts .read-more:hover,
.news-items .read-more:hover,
.open-comment-form:hover,
.forums-table-section .view-all a:hover,
.topic-post .post-actions .quote-post-button:hover,
.ropc .complete-button button:hover {
  background-color: var(--lwh-olive-dark);
}
@media all and (min-width: 1025px) {
  .search-box .search-box-button,
  .center-2 .product-list .item-box .buttons .button-2 {
    background-color: var(--lwh-olive);
  }
  .center-2 .product-list .item-box .buttons .button-2:hover {
    background-color: var(--lwh-olive-dark);
  }
  .block-account-navigation.block .list .active a,
  .block-account-navigation.block .list .active a:after {
    color: var(--lwh-olive);
  }
  .block-account-navigation.block .list .active a {
    border-color: var(--lwh-olive);
  }
}

/* ---------- 3. Text contrast, prices, typography ---------- */

/* Prices: calm dark olive instead of bright "discount" green */
.item-box .actual-price,
.item-box .price.actual-price,
.overview .product-price,
.variant-overview .product-price,
.quickViewWindow .product-variant .product-price,
.sale-of-the-day-offer .price.actual-price,
.tier-prices .item-price,
.instant-search-item .detail .price,
.mini-shopping-cart .price,
.compare-products-table .product-price td {
  color: var(--lwh-price);
}
.item-box .actual-price {
  font-weight: 600;
  letter-spacing: 0.01em;
}
.overview .product-price {
  font-weight: 600;
  font-size: 28px;
}
.item-box .old-price,
.overview .old-product-price,
.variant-overview .old-product-price {
  color: #767676;
}

/* Body copy: was #8c8c8c / #717171 (3.1-4.4:1 on the grey panels) */
.full-description,
.short-description,
.overview .short-description,
.category-description,
.category-description p,
.manufacturer-description,
.manufacturer-description p,
.full-description p,
.topic-html-content p,
.topic-page p,
.post-body p,
.news-body p,
.custom-tab p,
.ui-dialog-content p {
  color: var(--lwh-text);
}
.full-description h2,
.full-description h3,
.category-description h2,
.category-description h3,
.topic-page h2,
.post-body h2 {
  color: var(--lwh-ink);
}
.full-description a,
.category-description a,
.blogpost-page a {
  color: var(--lwh-olive);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.full-description a:hover,
.category-description a:hover,
.blogpost-page a:hover {
  color: var(--lwh-olive-dark);
}

/* Serif headings (matches the brand styling mockup) */
.page-title h1,
.product-name h1,
.category-description h1,
.carousel-title strong,
.jCarouselMainWrapper .title strong,
.rich-blog-homepage > .title strong,
.latest-youtube-videos > .title strong,
.product-grid > .title strong,
.blog-posts .post-title,
.post-title,
.full-description h2,
.category-description h2,
.topic-page h2,
.topic-page .page-title h1 {
  font-family: var(--lwh-serif);
  font-weight: 600;
  color: var(--lwh-ink);
  letter-spacing: -0.005em;
}

/* Product cards: name dark and prominent, subtitle secondary, max 2 lines */
.item-box .product-title,
.item-box .product-title a {
  color: var(--lwh-ink);
  font-weight: 500;
}
.item-box .description {
  color: var(--lwh-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-rating-box .rating-total {
  color: var(--lwh-muted) !important; /* overrides the inline colour set by Widgets.ReviewsTabCount */
}

/* ---------- 4. Buttons, cards, surfaces ---------- */

/* Card "Add to cart": was grey-on-grey (looked disabled) -> outlined olive */
.item-box .product-box-add-to-cart-button,
.item-box .buttons .button-2.product-box-add-to-cart-button {
  background-color: #fff;
  color: var(--lwh-olive);
  box-shadow: inset 0 0 0 1px var(--lwh-olive);
  transition: background-color .15s, color .15s;
}
.item-box .product-box-add-to-cart-button:hover,
.item-box .buttons .button-2.product-box-add-to-cart-button:hover,
.center-2 .product-list .item-box .buttons .button-2.product-box-add-to-cart-button {
  background-color: var(--lwh-olive);
  color: #fff;
}
.overview .add-to-cart-button,
.variant-overview .add-to-cart-button {
  background-color: var(--lwh-olive);
  color: #fff;
}
.overview .add-to-cart-button:hover,
.variant-overview .add-to-cart-button:hover {
  background-color: var(--lwh-olive-dark);
}

/* Visible keyboard focus on the primary actions */
.button-1:focus-visible,
.add-to-cart-button:focus-visible,
.product-box-add-to-cart-button:focus-visible,
.search-box-button:focus-visible {
  outline: 2px solid var(--lwh-gold);
  outline-offset: 2px;
}

/* Warm surfaces instead of cold #f6f6f6 grey */
.header-menu.categories-in-side-panel,
.home-page .category-grid .item-box,
.carousel-item .item-box,
.productTabs-body .ui-tabs-panel,
.productTabs-body .full-description {
  background-color: var(--lwh-cream);
}
.productTabs .ui-tabs-nav li a {
  color: var(--lwh-muted);
}

/* Cookie bar: lighter footprint, readable text */
.eu-cookie-bar-notification {
  padding: 14px 24px;
  box-shadow: 0 -4px 16px rgba(43, 43, 43, .08);
  border-top: 1px solid var(--lwh-line);
}
.eu-cookie-bar-notification .text {
  color: var(--lwh-text);
}
.eu-cookie-bar-notification .learn-more {
  color: var(--lwh-olive);
}

/* Header badges: hidden while the count is zero (toggled by brandstyling.js) */
.wishlist-qty.lwh-empty,
.cart-qty.lwh-empty {
  display: none !important;
}

/* ---------- 5. Product page layout ---------- */

/* Title had min-height:100px with the stars floated far right -> big empty gap */
.product-details-page .overview .product-name {
  min-height: 0;
  margin-bottom: 6px;
}
.product-details-page .overview .reviews-and-compare {
  float: none;
  width: auto;
  margin: 0 0 14px;
  text-align: left;
}
.product-details-page .overview .product-reviews-overview {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.product-details-page .overview .product-review-box {
  margin: 0;
}
.product-details-page .overview .product-review-links {
  display: block;
  font-size: 13px;
  color: var(--lwh-muted);
}
.product-details-page .overview .product-review-links a {
  color: var(--lwh-olive);
}
.product-details-page .overview .product-review-links .separator,
.product-details-page .overview .product-review-links a + .separator + a {
  display: none; /* keep only "7 review(s)" next to the stars */
}
.product-details-page .overview .short-description {
  margin-top: 0;
}

/* Mobile: price copied up under the title (brandstyling.js) so it's above the fold */
.lwh-mobile-price {
  display: none;
}
@media all and (max-width: 768px) {
  .lwh-mobile-price {
    display: block;
    margin: 4px 0 10px;
    font-size: 22px;
    font-weight: 600;
    color: var(--lwh-price);
    text-align: center;
  }
}

/* ---------- 6. Reassurance bar, product trust list, payments ---------- */

.lwh-usp-bar {
  background-color: var(--lwh-cream);
  border-top: 1px solid var(--lwh-line);
  border-bottom: 1px solid var(--lwh-line);
  color: var(--lwh-text);
  font-size: 13px;
  line-height: 1.3;
}
.lwh-usp-bar ul {
  max-width: 1300px;
  margin: 0 auto;
  padding: 9px 16px;
  display: flex;
  justify-content: center;
  gap: 8px 36px;
  flex-wrap: wrap;
  list-style: none;
}
.lwh-usp-bar li,
.lwh-trust li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.lwh-usp-bar a,
.lwh-trust a {
  color: inherit;
  text-decoration: none;
}
.lwh-usp-bar a:hover,
.lwh-trust a:hover {
  color: var(--lwh-olive);
  text-decoration: underline;
}
.lwh-check {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  color: var(--lwh-olive);
}
.lwh-pay-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 18px;
}
@media all and (max-width: 768px) {
  /* One swipeable line instead of four wrapped rows */
  .lwh-usp-bar ul {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 24px;
    font-size: 12px;
  }
  .lwh-usp-bar ul::-webkit-scrollbar {
    display: none;
  }
  .lwh-usp-bar li {
    scroll-snap-align: start;
    white-space: nowrap;
  }
}

.lwh-trust {
  margin: 14px 0 4px;
  padding: 12px 14px;
  list-style: none;
  background-color: var(--lwh-cream);
  border: 1px solid var(--lwh-line);
  border-radius: 4px;
  color: var(--lwh-text);
  font-size: 13px;
  line-height: 1.35;
  text-align: left;
}
.lwh-trust li + li {
  margin-top: 7px;
}

/* Widgets.YouTubeVideos ships its own inline <style> (rendered after this file) with the old
   green, so these need the extra "body" specificity to win. */
body .latest-youtube-videos .view-all a,
body .latest-youtube-videos .view-all a:after {
  color: var(--lwh-olive);
}
body .latest-youtube-videos .view-all a:hover,
body .latest-youtube-videos .view-all a:hover:after {
  color: var(--lwh-olive-dark);
}
body .latest-youtube-videos .post-date {
  color: var(--lwh-gold-text) !important;
}
body .latest-youtube-videos .title strong {
  color: var(--lwh-ink);
}

/* Cream text cards like the product cards and "Tea of the month", instead of plain white:
   the latest-video cards (YouTube's inline style sets #fff on .post-details from 1281px) and the
   homepage "Tea guides" cards (homepagelayout.css, loaded after this file, so .home-page is needed).
   The video description's #8c8c8c is too light on cream (~3.1:1), so it gets the muted grey. */
body .latest-youtube-videos .blog-post,
body .latest-youtube-videos .post-details,
.home-page .lwh-guide a {
  background-color: var(--lwh-cream);
}
body .latest-youtube-videos .post-description {
  color: var(--lwh-muted);
}

/* Same 30x19 box and baseline as the theme's 48x30 card icons (scaled to 30px wide). The iDEAL icon is 4:3,
   so it's contained in that box on its own yellow card colour instead of standing taller and lower. */
.pay-options .lwh-pay-ideal {
  width: 30px;
  height: 18.75px;
  max-width: 30px;
  margin: 0 2px;
  object-fit: contain;
  background: #fff48d;
  border-radius: 2px;
}

/* ---------------------------------------------------------------------------
   Centre an incomplete last row in product grids (e.g. a category with 3 teas, or 4 "customers also
   bought" items in a 5-wide row). Emporium floats the items, so a short row sticks to the left. As a
   flex row the items keep the theme's widths and 1-2% gutters per breakpoint (the first item of each row
   already has margin-left: 0 there), so full rows are unchanged. Carousels (slick) are left alone.
   --------------------------------------------------------------------------- */
.products-wrapper .product-grid > .item-grid:not(.slick-carousel),
.product-details-page .also-purchased-products-grid > .item-grid:not(.slick-carousel),
.product-details-page .related-products-grid > .item-grid:not(.slick-carousel) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

/* The theme's clearfix pseudo-element would become a flex item. */
.products-wrapper .product-grid > .item-grid:not(.slick-carousel)::after,
.product-details-page .also-purchased-products-grid > .item-grid:not(.slick-carousel)::after,
.product-details-page .related-products-grid > .item-grid:not(.slick-carousel)::after {
  content: none;
}

/* ---------------------------------------------------------------------------
   No wishlist heart on product boxes. Emporium shows it in the middle of the picture on hover; the grey hover
   shade stays. The wishlist button on the product page is unchanged.
   --------------------------------------------------------------------------- */
.item-box .btn-wrapper button.add-to-wishlist-button {
  display: none;
}
