/* ==========================
   Sticky Header
========================== */
header,
.site-header,
.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff; /* match header background */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); /* optional shadow */
}

/* ==========================
   Header Buttons Container
========================== */
.wp-block-buttons {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
}

.wp-block-buttons > div:first-child {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* ==========================
   Header Search Container
========================== */
.header-search {
    margin-left: auto;
    display: flex;
    align-items: center;
}

/* ==========================
   Search Form Layout
========================== */
.search-form {
    display: flex;
    align-items: center;
    position: relative;
}

/* ==========================
   Search Input Field
   Hidden by default, expands on hover/focus
========================== */
.search-field {
    width: 0;
    max-width: 0;
    opacity: 0;
    padding: 6px 8px;
    margin-left: 6px;
    border: 1px solid transparent;
    border-radius: 3px;
    transition: 
        width 0.28s ease, 
        max-width 0.28s ease, 
        opacity 0.2s ease, 
        border-color 0.2s ease, 
        background 0.2s ease;
    background: transparent;
    color: inherit;
    outline: none;
    box-sizing: border-box;
}

/* Expand input on hover or focus */
.search-form:hover .search-field,
.search-form:focus-within .search-field,
.header-search:focus-within .search-field {
    width: 170px;
    max-width: 220px;
    opacity: 1;
    border-color: #d0d0d0;
    background: #ffffff; /* change if you want themed background */
}

/* ==========================
   Search Submit Button
========================== */
.search-submit {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    padding: 6px;
    display: inline-flex;
    align-items: center;
}

/* Align buttons visually */
.wp-block-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
}

/* ==========================
   Mobile Responsive
========================== */
@media (max-width: 768px) {
    .search-field {
        display: none !important;
        width: auto !important;
        max-width: none !important;
        opacity: 1 !important;
    }

    /* Adjust spacing for mobile */
    .header-search {
        margin-left: 8px;
    }
}

.product-gallery-enhanced .wc-block-product-gallery__thumbnails {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    gap: 12px;
}
.product-gallery-enhanced .wc-block-product-gallery__thumbnails {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    gap: 12px;
}
.single-product .product_meta {
    display: none !important;
}

/* Fully edge-to-edge homepage, safe for images */
body.home,
body.home .site,
body.home .site-content,
body.home .entry-content {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden; /* prevents horizontal scroll */
    box-sizing: border-box;
}

/* Full-width blocks inside homepage */
body.home .wp-block-group.alignfull,
body.home .wp-block-image.alignfull,
body.home .wp-block-columns.alignfull {
    width: 100% !important;  /* use 100% instead of 100vw */
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

/* Headings inside full-width blocks */
body.home .wp-block-heading.alignwide,
body.home .wp-block-heading.has-text-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1200px; /* keeps headings readable */
    box-sizing: border-box;
}

/* Images and iframes fill container */
body.home .wp-block-image img,
body.home .wp-block-group iframe {
    width: 100% !important;
    display: block;
	/* remove max-width override */
}

/* Flex columns inside homepage */
body.home .wp-block-columns {
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

body.home .wp-block-column {
    box-sizing: border-box;
}

.swag-product-variations {
    border: 1px solid #ddd;
    padding: 15px;
    margin-bottom: 20px;
    background: #f9f9f9;
    border-radius: 5px;
}

.swag-product-variations h3 {
    margin-bottom: 10px;
}

.swag-variation-options {
    list-style: none;
    padding-left: 0;
    display: flex;
    gap: 10px;
}

.swag-option {
    background: #eee;
    padding: 5px 12px;
    border-radius: 4px;
    cursor: default;
}
/* Keep variation form functional, but hide purchase bits */
.single-product form.cart .quantity,
.single-product form.cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart {
  display: none !important;
}

/* Keep Woo variation selects in the DOM and measurable */
.single-product form.variations_form,
.single-product form.variations_form .variations,
.single-product form.variations_form .single_variation_wrap {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
}

/* WHOLESALE MODE (Blocks): keep variations, hide buying */

/* Hide price (backup - your PHP already hides it) */
.wc-block-components-product-price,
.price {
  display: none !important;
}

/* Keep the variation selectors visible */
.wc-block-components-product-variation-selector,
.wc-block-components-product-variation-picker {
  display: block !important;
}

/* Hide purchase controls only */
.wp-block-woocommerce-add-to-cart-form button[type="submit"],
.wp-block-woocommerce-add-to-cart-form .wc-block-components-quantity-selector,
.wp-block-woocommerce-add-to-cart-form .stock {
  display: none !important;
}

/* Optional: make the selectors look a bit cleaner */
.wc-block-components-product-variation-selector select {
  border-radius: 10px;
}

;


/* Make main image full width */
.wp-block-woocommerce-product-image-gallery
.wc-block-product-gallery {
  grid-template-columns: 1fr !important;
}

/* === Classic Woo gallery (FlexSlider): make thumbnails horizontal below main image === */
.single-product .woocommerce-product-gallery {
  display: flex !important;
  flex-direction: column !important;
}

/* ensure main image stays on top */
.single-product .woocommerce-product-gallery .flex-viewport {
  order: 1 !important;
}

/* thumbnails underneath */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  order: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  margin-top: 12px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 auto !important;
  width: 110px !important;
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 110px !important;
  height: 110px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 1px solid #e6e6e6 !important;
}

/* === Bigger, more user-friendly thumbnail strip (FlexSlider) === */

/* Give the strip a bit more breathing room */
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  margin-top: 16px !important;
  padding: 10px 6px 14px 6px !important;
  gap: 14px !important;
}

/* Make thumbs larger */
.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  width: 140px !important;     /* was 110 */
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width: 140px !important;
  height: 140px !important;    /* square thumbs */
  object-fit: contain !important; /* nicer for product cut-outs */
  background: #fff;
  border-radius: 12px !important;
  border: 1px solid #e6e6e6 !important;
}

/* Make the scrollbar less “tiny” */
.single-product .woocommerce-product-gallery .flex-control-thumbs{
  scrollbar-width: auto; /* Firefox */
}

/* Optional: show a clearer active state */
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{
  border: 2px solid #000 !important;
}

/* Make thumbnail strip match main image width */
.single-product .woocommerce-product-gallery {
  display: flex;
  flex-direction: column;
}

/* Force thumbs to span full image width */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  width: 100% !important;
  max-width: 100% !important;
  justify-content: flex-start;
}

/* Make thumbs visually fill the width better */
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  width: 150px !important;   /* adjust if needed */
}

/* Optional: center strip if only 1–2 images */
.single-product .woocommerce-product-gallery .flex-control-thumbs:only-child,
.single-product .woocommerce-product-gallery .flex-control-thumbs:not(:has(li:nth-child(3))) {
  justify-content: center;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  object-fit: contain !important;
  padding: 8px;
  background: #fff;
}

/* Increase main product image size */
.single-product .woocommerce-product-gallery {
  max-width: 100%;
}

.single-product .woocommerce-product-gallery .flex-viewport {
  max-height: none !important;
}

.single-product .woocommerce-product-gallery img {
  width: 100% !important;
  max-width: 720px;   /* 👈 increase/decrease this value */
  height: auto !important;
  object-fit: contain;
}

@media (min-width: 1024px) {
  .single-product .woocommerce-product-gallery img {
    max-width: 780px;
  }
}

/* =========================
   Mobile homepage fixes
   ========================= */

/* Stop any sideways scrolling caused by full-width blocks + images/iframes */
html, body {
  overflow-x: hidden;
}

.wp-site-blocks,
.entry-content,
.wp-block-group.alignfull,
.wp-block-image.alignfull {
  max-width: 100%;
}

/* Make sure images/embeds never overflow */
.entry-content img,
.entry-content iframe {
  max-width: 100% !important;
}

/* Mobile layout fixes */
@media (max-width: 782px) {

  /* Reduce “alignfull” padding so sections don’t feel huge */
  .wp-block-group.alignfull {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Your custom flex column wrappers: force stacking */
  .entry-content .wp-block-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .entry-content .wp-block-column {
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* Buttons: make them easy to tap */
  .entry-content .wp-block-buttons {
    justify-content: center !important;
    gap: 12px !important;
  }
  .entry-content .wp-block-button__link {
    width: 100%;
    text-align: center;
    padding: 14px 16px;
  }

  /* Headings scale better on small screens */
  .entry-content h2.wp-block-heading {
    font-size: clamp(24px, 6vw, 34px);
    line-height: 1.15;
  }

  /* Flipbook iframe: don’t force 800px height on mobile */
  .entry-content iframe[src*="fliphtml5.com"] {
    width: 100% !important;
    height: min(70vh, 600px) !important;
    border: 0 !important;
    display: block;
  }
}

/* =========================
   Mobile: vertical single-column menu
   ========================= */

/* Ensure the search icon shows (your button is empty) */
.header-search .search-toggle::before {
  content: "🔍";
  font-size: 20px;
  line-height: 1;
}

@media (max-width: 782px) {

  /* Outer wrapper becomes a vertical stack */
  .wp-block-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  /* Button list becomes a vertical menu */
  .wp-block-buttons > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;

    /* kill horizontal scroll behaviour */
    overflow: visible !important;
    white-space: normal !important;
    padding-bottom: 0 !important;
  }

  /* Make each button full-width */
  .wp-block-buttons .wp-block-button {
    width: 100% !important;
  }

  .wp-block-buttons .wp-block-button__link {
    width: 100% !important;
    display: block;
    text-align: left;         /* change to center if you prefer */
    padding: 14px 16px !important;
    font-size: 15px;
  }

  /* Search section sits below menu, full width */
  .wp-block-buttons .header-search {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  .header-search .search-form {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    position: static !important;
  }

  /* Make search usable on mobile (not hidden/absolute) */
  .header-search .search-field {
    position: static !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 10px 12px !important;
    border-radius: 999px !important;
  }
}

/* =========================
   Mobile footer cleanup
   Hide "Join the community" block only
   ========================= */

@media (max-width: 782px) {

  /* Hide the left footer content column */
  .wc-blocks-footer-pattern 
  .wp-block-columns 
  > .wp-block-column:first-child {
    display: none !important;
  }

  /* Let remaining footer columns use full width */
  .wc-blocks-footer-pattern 
  .wp-block-columns {
    flex-direction: column !important;
  }

  .wc-blocks-footer-pattern 
  .wp-block-column {
    flex-basis: 100% !important;
    padding-right: 0 !important;
  }
}

/* Mobile only: make hero/header image shorter */
@media (max-width: 782px) {

  /* Most common: Cover/hero block */
  body.home .wp-block-cover {
    min-height: 52vh !important;   /* adjust: 45vh (shorter) to 65vh (taller) */
  }

  body.home .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 20% !important; /* keeps faces higher */
  }

  /* If the hero is an Image block inside a group instead */
  body.home .wp-block-image.alignfull img {
    max-height: 52vh !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
  }
}

@media (max-width: 782px) {

  /* Hero image crop: move focus UP so heads aren’t cut off */
  body.home .wp-block-cover__image-background,
  body.home .wp-block-image.alignfull img {
    object-fit: cover !important;
    object-position: center 8% !important; /* try 0%–20% */
  }

  /* Keep your shorter hero height */
  body.home .wp-block-cover {
    min-height: 52vh !important; /* adjust if needed */
  }
}

@media (max-width: 782px) {

  /* Make hero overlay content sit lower with breathing room */
  body.home .wp-block-cover .wp-block-cover__inner-container {
    padding: 18px 16px 22px !important;
  }

  /* Button styling inside hero */
  body.home .wp-block-cover .wp-block-buttons {
    justify-content: flex-start !important; /* or center */
    margin-top: 12px !important;
  }

  body.home .wp-block-cover .wp-block-button__link {
    width: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px !important;
    border-radius: 999px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 782px) {

  /* Hero image: prioritise faces, sacrifice bottom */
  body.home .wp-block-cover__image-background,
  body.home .wp-block-image.alignfull img {
    object-fit: cover !important;
    object-position: center 0% !important; /* TOP priority */
  }

  /* Keep controlled hero height */
  body.home .wp-block-cover {
    min-height: 50vh !important; /* reduce to 45vh if you want even less crop */
  }
}

/* Add breathing room so the logo isn’t flush to the left edge */
header .wp-block-site-logo {
  padding-left: 16px;
}

/* If your theme uses a direct image without the site-logo block */
header .custom-logo-link,
header .custom-logo {
  margin-left: 16px;
}

/* Optional: slightly reduce the padding on very small screens */
@media (max-width: 390px) {
  header .wp-block-site-logo {
    padding-left: 12px;
  }
  header .custom-logo-link,
  header .custom-logo {
    margin-left: 12px;
  }
}

@media (max-width: 782px) {
  body.page-about {
    overflow-x: hidden;
  }
  body.page-about .wp-site-blocks,
  body.page-about main,
  body.page-about .wp-block-post-content {
    max-width: 100%;
  }
  body.page-about img,
  body.page-about video,
  body.page-about iframe {
    max-width: 100%;
    height: auto;
  }
}

/* Mobile portrait: force full-width layout (fix ultra-narrow stacked text) */
@media (max-width: 782px) {

  /* Make the overall canvas full width */
  .wp-site-blocks,
  main,
  .wp-block-post-content,
  .entry-content {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Then keep readable padding INSIDE (safe-area aware for iPhone) */
  .wp-block-post-content,
  .entry-content {
    padding-left: max(14px, env(safe-area-inset-left)) !important;
    padding-right: max(14px, env(safe-area-inset-right)) !important;
  }

  /* Remove any “content size” caps that create narrow columns */
  .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Media should never push layout wider or trigger weird wrapping */
  img, video, iframe {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Safety: stop any accidental sideways clipping */
  html, body { overflow-x: hidden !important; }
}

@media (max-width: 782px) {
  .wp-block-post-content,
  .entry-content,
  main {
    padding-left: max(18px, env(safe-area-inset-left)) !important;
    padding-right: max(18px, env(safe-area-inset-right)) !important;
  }
}

@media (max-width: 782px) {

  /* Force equal mobile gutters on the outer page wrappers */
  body,
  .wp-site-blocks,
  .wp-block-post-content,
  .entry-content {
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Some themes add padding on "constrained" layouts instead */
  .is-layout-constrained {
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
  }
}

@media (max-width: 782px) {
  .wp-block-post-title,
  .woocommerce-breadcrumb,
  .wp-block-woocommerce-breadcrumbs {
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
  }
}

/* Mobile: keep NON-home pages centred + prevent right-side clipping */
@media (max-width: 782px) {
  body:not(.home) .wp-site-blocks,
  body:not(.home) main,
  body:not(.home) .wp-block-post-content,
  body:not(.home) .entry-content {
    width: 100% !important;        /* ✅ not 100vw */
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }

  /* Sustainability tables: don’t clip, scroll instead */
  body:not(.home) .wp-block-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  body:not(.home) .wp-block-table table {
    width: 100% !important;
  }
}

@media (max-width: 782px) {

  /* Keep homepage truly centred/edge-to-edge */
  body.home .wp-site-blocks,
  body.home main,
  body.home .wp-block-post-content,
  body.home .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Remove the global alignfull padding ONLY on the homepage */
  body.home .wp-block-group.alignfull,
  body.home .wp-block-image.alignfull,
  body.home .wp-block-columns.alignfull {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Prevent tiny horizontal shifts without clipping content */
  html, body { overflow-x: clip !important; }
}

@media (max-width: 782px) {

  /* Add breathing room to the whole footer on mobile */
  .wc-blocks-footer-pattern {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* Extra safety: if the links are inside a nav block */
  .wc-blocks-footer-pattern .wp-block-navigation,
  .wc-blocks-footer-pattern .wp-block-navigation__container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Make sure footer links don’t look “stuck” to the edge */
  .wc-blocks-footer-pattern a {
    display: inline-block;
    padding: 8px 0; /* vertical touch target only */
  }
}

@media (max-width: 782px) {
  .wc-blocks-footer-pattern .wp-block-navigation__container {
    margin-left: 6px !important;
  }
}

@media (max-width: 782px) {

  /* Add breathing room to the mobile hamburger menu */
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close {
    margin-right: 16px !important;
  }

}

@media (max-width: 782px) {

  /* Sustainability: force the hero cover to full width */
  body.page-sustainability .wp-block-cover {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 782px) {

  body.page-sustainability .sustainability-page {
    max-width: 100% !important;
    padding: 28px 16px !important;
  }

  body.page-sustainability .sustainability-page h1 {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  body.page-sustainability .sustainability-page h2 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  body.page-sustainability .sustainability-page p {
    font-size: 16px !important;
  }
}

@media (max-width: 782px) {

  /* ✅ Sustainability hero: force true edge-to-edge without affecting homepage */
  .sustainability-hero {
    width: 100vw !important;
    max-width: 100vw !important;

    /* classic “break out of constrained container” trick */
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Keep the image behaving nicely */
  .sustainability-hero .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* ✅ Sustainability content: full width + nice mobile padding */
  .sustainability-page {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 28px 16px !important;
    box-sizing: border-box !important;
  }

  /* Stop headings looking squashed */
  .sustainability-page h1 {
    font-size: clamp(28px, 7vw, 36px) !important;
    line-height: 1.1 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .sustainability-page h2 {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.2 !important;
  }

  /* ✅ Table: prevent right-side cut-off (scroll instead of squish) */
  .sustainability-page .certifications {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .sustainability-page .certifications table {
    min-width: 680px !important;
    width: 100% !important;
    border-collapse: collapse;
  }
}

@media (max-width: 782px) {

  /* Sustainability: force the FIRST cover block to break out of constrained width */
  body.page-sustainability .wp-block-post-content > .wp-block-cover:first-of-type,
  body.page-sustainability .entry-content > .wp-block-cover:first-of-type {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
  }

  /* Make sure the cover image truly fills the full-width hero */
  body.page-sustainability .wp-block-post-content > .wp-block-cover:first-of-type .wp-block-cover__image-background,
  body.page-sustainability .entry-content > .wp-block-cover:first-of-type .wp-block-cover__image-background {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

@media (max-width: 782px) {
  body.page-sustainability .sustainability-page {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 28px 16px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 782px) {
  body.page-sustainability .certifications {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  body.page-sustainability .certifications table {
    min-width: 680px !important;
  }
}

@media (max-width: 782px) {

  /* Sustainability hero: make the cover shorter on mobile */
  body.page-sustainability .wp-block-post-content > .wp-block-cover:first-of-type,
  body.page-sustainability .entry-content > .wp-block-cover:first-of-type {
    min-height: 32vh !important;   /* try 30vh–45vh */
    height: auto !important;
  }

  /* Keep the title centered and not floating too low */
  body.page-sustainability .wp-block-post-content > .wp-block-cover:first-of-type .wp-block-cover__inner-container,
  body.page-sustainability .entry-content > .wp-block-cover:first-of-type .wp-block-cover__inner-container {
    padding: 18px 16px !important;
  }

  body.page-sustainability .wp-block-post-content > .wp-block-cover:first-of-type .wp-block-cover__inner-container p,
  body.page-sustainability .entry-content > .wp-block-cover:first-of-type .wp-block-cover__inner-container p {
    margin: 0 !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.1 !important;
  }

  /* Make sure the image fills the shortened hero */
  body.page-sustainability .wp-block-post-content > .wp-block-cover:first-of-type .wp-block-cover__image-background,
  body.page-sustainability .entry-content > .wp-block-cover:first-of-type .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 30% !important; /* move focus up/down */
  }
}

@media (max-width: 782px) {

  /* Make the sustainability hero less tall on mobile */
  .wp-block-cover.sustainability-hero {
    min-height: 34vh !important;   /* try 30–40vh */
    height: auto !important;
  }

  /* Make the overlay/title area feel tighter */
  .wp-block-cover.sustainability-hero .wp-block-cover__inner-container {
    padding: 14px 16px !important;
  }

  .wp-block-cover.sustainability-hero .wp-block-cover__inner-container p {
    margin: 0 !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.1 !important;
  }

  /* Make the photo fill the shortened hero nicely */
  .wp-block-cover.sustainability-hero .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 30% !important; /* move up/down if needed */
  }
}

@media (max-width: 782px) {

  /* Make the sustainability hero less tall on mobile */
  .wp-block-cover.sustainability-hero {
    min-height: 34vh !important;   /* try 30–40vh */
    height: auto !important;
  }

  /* Make the overlay/title area feel tighter */
  .wp-block-cover.sustainability-hero .wp-block-cover__inner-container {
    padding: 14px 16px !important;
  }

  .wp-block-cover.sustainability-hero .wp-block-cover__inner-container p {
    margin: 0 !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.1 !important;
  }

  /* Make the photo fill the shortened hero nicely */
  .wp-block-cover.sustainability-hero .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 30% !important; /* move up/down if needed */
  }
}

@media (max-width: 782px) {
  .wp-block-post-content > .wp-block-cover:first-of-type {
    outline: 6px solid red !important;
  }
}

/* =========================
   Mobile: make videos full width
   ========================= */
@media (max-width: 782px) {

  /* Target videos inside content */
  .wp-block-post-content video,
  .entry-content video {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    display: block;
    border-radius: 0 !important; /* remove rounded corners on mobile */
  }

}

/* =========================
   Fix mobile scroll “sticking” (sticky header over-applied)
   ========================= */
@media (max-width: 782px) {

  /* Disable sticky on broad wrappers that can cause scroll jank */
  .wp-block-template-part,
  .site-header {
    position: static !important;
    top: auto !important;
  }

  /* Keep ONLY the actual header sticky */
  header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #fff !important;
  }

}

@media (max-width: 782px) {

  body.home .wp-block-image.alignfull img {
    height: 60vh !important;     /* try 55vh–70vh */
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    display: block;
  }
}

@media (max-width: 782px) {

  /* Mobile hero height */
  .home-hero.wp-block-cover {
    min-height: 68vh !important;   /* try 60–75vh */
  }

  /* Make the background image actually fill the hero */
  .home-hero.wp-block-cover .wp-block-cover__image-background {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important; /* move up/down to keep faces */
  }

  /* Remove the white gap under the hero */
  .home-hero.wp-block-cover + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 782px) {

  /* Home hero: first cover anywhere inside the main content area */
  body.home main .wp-block-cover:first-of-type,
  body.home .wp-site-blocks main .wp-block-cover:first-of-type,
  body.home .wp-block-post-content .wp-block-cover:first-of-type {
    min-height: 65vh !important;     /* try 55–75vh */
  }

  body.home main .wp-block-cover:first-of-type .wp-block-cover__image-background,
  body.home .wp-site-blocks main .wp-block-cover:first-of-type .wp-block-cover__image-background,
  body.home .wp-block-post-content .wp-block-cover:first-of-type .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 18% !important; /* try 0%–30% */
  }

  /* Remove extra gap under the hero */
  body.home main .wp-block-cover:first-of-type + *,
  body.home .wp-site-blocks main .wp-block-cover:first-of-type + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Mobile-only: make the header hero taller + crop from bottom instead of cutting heads */
@media (max-width: 782px) {

  /* Target only the cover you tagged */
  .site-hero-cover.wp-block-cover {
    min-height: clamp(360px, 62vh, 520px) !important;
  }

  /* Make sure the image fills the taller cover */
  .site-hero-cover.wp-block-cover .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 12% !important; /* move focus UP (try 0%–25%) */
  }

  /* Optional: keep the text/button nicely placed */
  .site-hero-cover.wp-block-cover .wp-block-cover__inner-container {
    padding: 18px 16px 22px !important;
  }
}

/* MOBILE: only the hero cover inside the Large Header template */
@media (max-width: 782px) {

  /* This targets the cover that appears in your "Header (Large)" area */
  .wp-block-template-part .wp-block-cover {
    min-height: 68vh !important;      /* adjust 60–80vh */
  }

  .wp-block-template-part .wp-block-cover .wp-block-cover__image-background {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 15% !important; /* tweak 0%–30% */
  }
}

/* Mobile: make homepage hero taller */
@media (max-width: 782px) {

  body.home .wp-block-cover {
    min-height: 70vh !important;   /* ← increase/decrease this */
  }

  body.home .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center 20% !important; /* keeps faces visible */
  }

}

/* =========================
   DESKTOP HEADER MENU = full width + evenly spaced
   ========================= */
@media (min-width: 783px) {

  /* Make the header inner row use the full width */
  .wideheader .default-header {
    width: 100%;
  }

  /* Make the Navigation block stretch */
  .wideheader .wp-block-navigation {
    flex: 1 1 auto;     /* takes the available space */
    width: 100%;
    min-width: 0;
  }

  /* Spread menu items across the whole row */
  .wideheader .wp-block-navigation__container {
    display: flex !important;
    justify-content: space-between !important; /* ← this is the “stretch across top” */
    align-items: center !important;
    width: 100% !important;
    gap: 0 !important; /* prevents bunching */
  }

  /* Make links clearer / more “button-like” without boxes */
  .wideheader .wp-block-navigation-item__content {
    display: inline-block;
    padding: 10px 14px;
    font-weight: 600;
    text-transform: uppercase; /* remove if you don’t want caps */
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  /* Keep right-side icons/search from crushing the menu */
  .wideheader .headerright {
    flex: 0 0 auto;
    margin-left: 18px;
  }
}

/* =========================
   DESKTOP HEADER MENU STYLE FIX
   ========================= */
@media (min-width: 783px) {

  /* Make the menu bar white */
  .wideheader .wp-block-navigation__container {
    background: #ffffff !important;
  }

  /* Menu links: black, bigger, clearer */
  .wideheader .wp-block-navigation-item__content {
    color: #000000 !important;
    font-size: 15px !important;      /* increase size (try 16px if you want bolder) */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 12px 16px !important;
  }

  /* Remove the dark background blocks if any exist */
  .wideheader .wp-block-navigation-item {
    background: transparent !important;
  }

  /* Hover state (nice subtle effect) */
  .wideheader .wp-block-navigation-item__content:hover {
    color: #000000 !important;
    opacity: 0.7;
  }
}

/* =========================
   DESKTOP MENU: white background + black text + stretched evenly
   Targets BOTH your custom header + the header-large template part
   ========================= */
@media (min-width: 783px) {

  /* Make sure the header area is white */
  header,
  .wideheader,
  .wp-block-template-part {
    background: #fff !important;
  }

  /* Target nav container wherever it lives */
  header .wp-block-navigation__container,
  .wideheader .wp-block-navigation__container,
  .wp-block-template-part .wp-block-navigation__container {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    justify-content: space-evenly !important; /* spreads across the top */
    gap: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Make each menu item share space evenly */
  header .wp-block-navigation__container > li,
  .wideheader .wp-block-navigation__container > li,
  .wp-block-template-part .wp-block-navigation__container > li {
    flex: 1 1 0 !important;
    text-align: center !important;
    background: transparent !important;
  }

  /* Link styles */
  header .wp-block-navigation-item__content,
  .wideheader .wp-block-navigation-item__content,
  .wp-block-template-part .wp-block-navigation-item__content {
    color: #000 !important;
    font-size: 16px !important;      /* bump size */
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 12px 10px !important;
    background: transparent !important;
    white-space: nowrap;
  }

  /* Kill any dark “pill/button” backgrounds added by theme */
  header .wp-block-navigation-item,
  .wideheader .wp-block-navigation-item,
  .wp-block-template-part .wp-block-navigation-item {
    background: transparent !important;
  }
}

/* Restore WP buttons to a clean light style */
.wp-block-button__link,
.wp-element-button {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
}

/* Optional: hover */
.wp-block-button__link:hover,
.wp-element-button:hover {
  opacity: 0.8;
}

/* Remove the “boxed” outline around buttons */
.wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border: none !important;
  box-shadow: none !important;
}

/* =========================
   Bigger header menu font (DESKTOP ONLY)
   ========================= */
@media (min-width: 783px) {
  header .wp-block-button__link {
    font-size: 17px !important;   /* try 18px if you want even bigger */
    font-weight: 600;
    letter-spacing: 0.04em;
  }
}

/* =========================
   Bigger header menu font (DESKTOP ONLY, not bold)
   ========================= */
@media (min-width: 783px) {
  header .wp-block-button__link {
    font-size: 17px !important;   /* adjust size if needed */
    font-weight: 400 !important;  /* 400 = normal */
    letter-spacing: 0.04em;
  }
}

@media (min-width: 783px) {
  /* WP Search block in your header/menu row */
  .wideheader .wp-block-search {
    margin-right: 36px !important;  /* increase to move it further left */
  }
}

/* Centre the FlipHTML5 catalogue on desktop */
body.home iframe[src*="fliphtml5.com"]{
  display: block !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Homepage catalogue: keep centered + capped width */
body.home iframe[src*="fliphtml5.com"]{
  max-width: 1200px !important;
  width: 100% !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Centre the FlipHTML5 catalogue on desktop */
body.home .catalogue-embed__frame{
  width: min(1200px, 100%);
  margin: 0 auto;
}

body.home .catalogue-embed__frame iframe{
  width: 100%;
  height: 800px;
  border: 0;
  display: block;
}

/* Mobile: don’t force 800px height */
@media (max-width: 782px){
  body.home .catalogue-embed__frame iframe{
    height: min(70vh, 600px);
  }
}

/* Center the "Become a stockist" form on mobile */
@media (max-width: 782px) {

  body.page-become-a-stockist form,
  body.page-become-a-stockist .wp-block-group,
  body.page-become-a-stockist .wp-block-post-content > * {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* If the form has a max-width, enforce centering */
  body.page-become-a-stockist form {
    max-width: 420px;
    width: 100%;
  }
}

/* Become a Stockist – force perfect centering */
.stockist-page{
  background: #f9f9f9;
  padding: 24px 16px;
}

.stockist-container{
  width: min(600px, 100%);
  margin: 0 auto !important;
  padding: 40px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  box-sizing: border-box;
  display: block;
}

.stockist-container h1,
.stockist-container h2,
.stockist-container h4{
  text-align: center;
}

.stockist-container form{
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 20px;
}

.stockist-container input[type="text"],
.stockist-container input[type="email"],
.stockist-container select,
.stockist-container textarea{
  padding: 12px 15px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
}

.stockist-container textarea{
  resize: vertical;
  min-height: 100px;
}

.stockist-container button{
  padding: 15px;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
}

.stockist-container button:hover{
  background: #333;
}

.stockist-container .note{
  font-size: 12px;
  text-align: center;
  color: #666;
  margin-top: 10px;
}

/* Keep the HEADER search visible */
.wideheader .wp-block-search,
header .wp-block-search {
  display: block !important;
}

/* Hide the EXTRA search bar that appears in the HOMEPAGE content */
body.home main .wp-block-search,
body.home .wp-block-post-content .wp-block-search,
body.home .entry-content .wp-block-search {
  display: none !important;
}

/* If the extra one is a WooCommerce product search block, hide that too */
body.home main .wp-block-woocommerce-product-search,
body.home .wp-block-post-content .wp-block-woocommerce-product-search,
body.home main .wc-block-product-search,
body.home .wp-block-post-content .wc-block-product-search {
  display: none !important;
}

/* MOBILE: Large Header hero (video) taller — does NOT affect desktop */
@media (max-width: 782px) {

  /* Make the Large Header hero area taller */
  .wp-block-template-part .wp-block-cover {
    min-height: 80vh !important;   /* try 75vh–90vh */
  }

  /* Ensure the background (image OR video) fills the taller cover */
  .wp-block-template-part .wp-block-cover__image-background,
  .wp-block-template-part .wp-block-cover__video-background,
  .wp-block-template-part video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 20% !important; /* tweak 0%–40% */
  }
}

/* Base: do NOTHING special on mobile/tablet */
.home-gallery-track{
  overflow: visible;
}

/* Desktop only */
@media (min-width: 1024px){

  .home-gallery-wrap{
    position:relative;
    max-width:1400px;
    margin:0 auto;
  }

  .home-gallery-track{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
    padding: 6px 42px;
  }

  /* Force single row for scrolling */
  .home-gallery-track .wp-block-columns{
    flex-wrap:nowrap !important;
  }

  .home-gallery-track .wp-block-column{
    flex: 0 0 360px; /* card width */
  }

  /* arrows */
  .home-gallery-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:38px;
    height:38px;
    border:0;
    border-radius:999px;
    background:#fff;
    box-shadow:0 6px 20px rgba(0,0,0,.12);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    z-index:5;
  }

  .home-gallery-arrow--left{ left:8px; }
  .home-gallery-arrow--right{ right:8px; }
}

/* Hide arrows completely below desktop */
@media (max-width: 1023px){
  .home-gallery-arrow{ display:none !important; }
}

/* Desktop only — scope the custom search styling to the fixed header */
@media (min-width: 768px) {
  .wideheader .search-form {
    display: flex;
    align-items: center;
    position: relative;
  }

  .wideheader .search-field {
    width: 0;
    max-width: 0;
    opacity: 0;
    padding: 6px 8px;
    margin-left: 6px;
    border: 1px solid transparent;
    border-radius: 3px;
    transition: 
      width 0.28s ease, 
      max-width 0.28s ease, 
      opacity 0.2s ease, 
      border-color 0.2s ease, 
      background 0.2s ease;
    background: transparent;
    color: inherit;
    outline: none;
    box-sizing: border-box;
  }

  .wideheader .search-form:hover .search-field,
  .wideheader .search-form:focus-within .search-field,
  .wideheader .header-search:focus-within .search-field {
    width: 170px;
    max-width: 220px;
    opacity: 1;
    border-color: #d0d0d0;
    background: #ffffff;
  }

  .wideheader .search-submit {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    padding: 6px;
    display: inline-flex;
    align-items: center;
  }
}

.pw-contact-wrap { max-width: 760px; margin: 0 auto; }
.pw-contact-form p { margin: 0 0 14px; }
.pw-contact-form label { display:block; margin: 0 0 6px; font-weight: 600; }
.pw-contact-form input, .pw-contact-form textarea{
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 12px;
}
.pw-contact-btn{
  border: 0;
  border-radius: 10px;
  padding: 12px 16px;
  background: #000;
  color: #fff;
  cursor: pointer;
}
.pw-contact-success{
  padding: 14px 16px; border: 1px solid #cde8d6; background: #f2fbf5; border-radius: 10px;
}
.pw-contact-error{
  padding: 14px 16px; border: 1px solid #f1b6b6; background: #fff5f5; border-radius: 10px; margin-bottom: 14px;
}
.pw-contact-error ul{ margin: 10px 0 0 18px; }
.pw-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.pw-join-wrap { max-width: 760px; margin: 0 auto; }
.pw-join-form p { margin: 0 0 14px; }
.pw-join-form label { display:block; margin: 0 0 6px; font-weight: 600; }

.pw-join-form input[type="email"]{
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 12px;
}

.pw-consent label{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 400;
}

.pw-join-btn{
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: #000;
  color: #fff;
  cursor: pointer;
}

.pw-join-success{ padding:14px 16px; border:1px solid #cde8d6; background:#f2fbf5; border-radius:10px; margin-bottom:14px; }
.pw-join-info{ padding:14px 16px; border:1px solid #d6e2ff; background:#f3f7ff; border-radius:10px; margin-bottom:14px; }
.pw-join-error{ padding:14px 16px; border:1px solid #f1b6b6; background:#fff5f5; border-radius:10px; margin-bottom:14px; }

.pw-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.wp-block-button__link {
  padding: 12px 22px;
}

@media (max-width: 768px) {

  /* Make header container align cleanly */
  header,
  .site-header,
  .wp-site-blocks > header {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Ensure header inner row uses full width and aligns items */
  header .wp-block-group,
  .site-header .wp-block-group {
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }

  /* Hamburger / menu toggle: remove weird margins and force to right */
  .wp-block-navigation__responsive-container-open,
  .wp-block-navigation__responsive-container-open button,
  button.menu-toggle,
  .menu-toggle {
    margin-left: auto !important;
    margin-right: 0 !important;
    left: auto !important;
    right: 0 !important;
    position: relative;
  }
}

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden;
  }

  .wp-site-blocks,
  .site,
  .site-content {
    overflow-x: hidden;
  }
}

@media (max-width: 768px) {

  /* Add horizontal padding so centered CTAs don’t hug the edge */
  body.home .wp-block-buttons {
    padding-left: 16px;
    padding-right: 16px;
  }

}

@media (max-width: 768px) {

  /* Widen the main content area a bit on mobile */
  body.page main,
  body.page .site-main,
  body.page .entry-content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* The "card" wrapper around the form is usually a Group/Column/container */
  body.page .entry-content .wp-block-group,
  body.page .entry-content .wp-block-column,
  body.page .entry-content .wp-block-cover__inner-container,
  body.page .entry-content .container {
    max-width: 100% !important;
  }

  /* If your form sits inside a white card with lots of padding */
  body.page .entry-content .wp-block-group:has(form),
  body.page .entry-content .wp-block-column:has(form) {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Form wrapper full width (common plugins) */
  body.page .wpforms-container,
  body.page .gform_wrapper,
  body.page .wpcf7,
  body.page .fluentform,
  body.page .nf-form-cont,
  body.page form {
    max-width: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 768px) {
  body.page .stockist-form-card{
    box-shadow: none !important;
    border: none !important;
  }
}

.stockist-container h5 {
    text-align: center;
}

/* Footer base font */
.wc-blocks-pattern-footer-large {
    font-family: 'Inter', sans-serif;
}

/* Make all footer text consistent */
.wc-blocks-pattern-footer-large h1,
.wc-blocks-pattern-footer-large h2,
.wc-blocks-pattern-footer-large h3,
.wc-blocks-pattern-footer-large h4,
.wc-blocks-pattern-footer-large h5,
.wc-blocks-pattern-footer-large h6,
.wc-blocks-pattern-footer-large p,
.wc-blocks-pattern-footer-large a,
.wc-blocks-pattern-footer-large .wp-block-navigation-item__label {
    font-family: inherit;
}

/* Hide only Additional Information content and title if possible */
.woocommerce-tabs ul.tabs li#tab-title-additional_information,
.woocommerce-tabs #tab-additional_information {
    display: none !important;
}

.product-tabs .tab-description,
.product-tabs .tab-description.accordion {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
}
.product-tabs .tab-description .accordion-toggle {
    display: none !important; /* hides the expand/collapse arrow */
}

.count {
    display: none !important;
}

/* Force all WooCommerce product description panels to show */
.woocommerce-Tabs-panel,
.accordion-content,
.product-description-collapse,
.product .product-description,
.woocommerce-Tabs-panel--description {
    display: block !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    visibility: visible !important;
}

/* Remove any "Read More" or toggle buttons */
.read-more,
.toggle-description,
.accordion-toggle,
.more-link,
.woocommerce-tabs .wc-tabs li a {
    display: none !important;
}

/* Ensure description text is fully readable */
.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li {
    visibility: visible !important;
}
.recycled-icon {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 40px; /* adjust size as needed */
    height: 40px;
    z-index: 10;
    pointer-events: none; /* doesn’t block clicks */
}
.recycled-icon img {
    border: none;
    outline: none;
    box-shadow: none;
    opacity: 0.85;       /* slightly transparent for premium look */
}
/* Make the icon appear fully transparent over product */
.recycled-icon img {
    background: none !important;   /* remove any background color */
    border: none !important;       /* remove border if present */
    outline: none !important;      /* remove focus outline */
    box-shadow: none !important;   /* remove shadow if present */
    display: block;                /* remove any inline spacing */
}