/** Shopify CDN: Minification failed

Line 455:0 Expected "}" to go with "{"

**/

/* Reveal mobile contact actions beneath the sticky header when scrolling upward. */
.mobile-call-slot { display: contents; }
@media (max-width: 768px) {
  .mobile-call-slot { display: block; position: relative; }
  .mobile-call-slot > .mobile-call-bar {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
  }
  .mobile-call-slot > .mobile-call-bar.is-scroll-visible {
    position: fixed;
    top: var(--mobile-call-top, 0px);
    right: 0;
    left: 0;
    z-index: 29;
  }
}


/* Keep booking visible on mobile without crowding the logo and shopping controls. */
.mobile-call-bar { display: none; }
.mobile-menu-call {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid currentColor;
  border-radius: 6px;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}
.mobile-call-bar__link:focus-visible,
.mobile-menu-call:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 768px) {
  .mobile-call-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    gap: 0;
    padding: 0 12px;
    background: #fff5eb;
    color: #242424;
    border-bottom: 1px solid #f0dcc8;
    font-size: 12px;
    line-height: 1.3;
  }
  .mobile-call-bar__link {
    display: inline-flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    gap: 6px;
    color: #9c3e00;
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
  }
  .mobile-call-bar__link + .mobile-call-bar__link {
    border-inline-start: 1px solid #f0dcc8;
  }
}

.industry-grid-mega-menu {
  gap: calc(2 * var(--space-unit));
}

.industry-grid-mega-menu__link {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 180px;
  padding: calc(2.5 * var(--space-unit));
  padding-bottom: calc(5 * var(--space-unit));
  position: relative;
}

.industry-grid-mega-menu__icon {
  width: 45px;
  height: 45px;
}

.industry-grid-mega-menu__icon-wrap {
  flex-shrink: 0;
}

.industry-grid-mega-menu__title {
  font-weight: 600;
  margin-bottom: calc(0.5 * var(--space-unit));
  flex-shrink: 0;
}

.industry-grid-mega-menu__desc {
  font-size: 1.3rem !important;
  color: #444444;
  padding-right: calc(5 * var(--space-unit));
  flex-shrink: 0;
}

.industry-grid-mega-menu__cta {
  position: absolute;
  bottom: calc(2.5 * var(--space-unit));
  right: calc(2.5 * var(--space-unit));
  width: unset;
  height: unset;
  background-color: transparent;
  border-radius: 0;
  margin-bottom: calc(5 * var(--space-unit));
}

.industry-grid-links .industry-grid-mega-menu {
  max-width: var(--page-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter-lg);
  padding-right: var(--gutter-lg);
}

.industry-grid-links__mobile {
  display: block;
}

.industry-grid-links__desktop {
  display: none;
}
.header__logo .logo__link > span {
  width: 180px !important;
  max-width: 180px !important;
}

.header__logo .logo__link > span img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Narrow phones (e.g. Galaxy Z Fold cover screen): keep burger, logo and icons on one line */
@media (max-width: 480px) {
  .header__grid {
    flex-wrap: nowrap !important;
    gap: 4px !important;
  }

  .header__grid .header__logo {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .header__logo .logo__link {
    display: block;
    min-width: 0;
  }

  .header__logo .logo__link > span {
    width: 100% !important;
    max-width: 170px !important;
  }

  .header__icons {
    flex: 0 0 auto !important;
    flex-wrap: nowrap !important;
  }

  .header__icon {
    width: 36px !important;
    height: 36px !important;
    padding: 4px !important;
  }

  .header__icon svg {
    width: 28px !important;
    height: 28px !important;
  }

  .header__icon + .header__icon {
    margin-inline-start: 2px !important;
  }

  .header__catalogues {
    margin-left: 2px !important;
    display: flex !important;
  }
}

/* Narrow phones: keep the announcement bar (message, Track my order, country flag) on one line */
@media (max-width: 450px) {
  .announcement .container {
    padding-inline: 8px !important;
  }

  .announcement__text p {
    font-size: clamp(9.5px, 3.2vw, 11.2px) !important;
    white-space: nowrap;
  }

  .announcement__text p > span {
    display: none;
  }

  .announcement__col--left {
    min-width: 0;
  }

  .announcement__localization .custom-select__btn::before {
    content: none !important;
  }

  .announcement__localization .custom-select__btn {
    margin-inline-end: 0 !important;
  }

  .announcement__col--right {
    padding-inline-start: 6px !important;
  }
}
@media (min-width: 769px) {
  .industry-grid-links__mobile {
    display: none !important;
  }

  .industry-grid-links__desktop {
    display: grid !important;
  }
}

/* ==========================================================================
   Announcement bar: region selector vs phone number
   The region arrow stuck 5px out of its button into the phone link, and the "|" divider (with 12px padding either
   side) was part of the link, so a click just right of the arrow dialled the phone. Now:
   - the arrow sits inside the button
   - the divider and its spacing sit outside every link's clickable box (margin, not padding) and ignore clicks
   - from 769px up, where a link follows the selector, the region button's click area reaches 14px past the arrow
     and 5px above and below (inside the bar), and the remaining gap before the next link is dead space
   The extra click area never extends past the right edge of the screen, so phones are unaffected.
   (".announcement" prefix: this file loads before announcement.css, so equal-specificity rules there would win.)
   ========================================================================== */
.announcement .announcement__localization .custom-select__btn > .icon {
  margin-inline-end: 0;
}
.announcement .announcement__col--right > a:not(.no-spacer) {
  position: relative;
  margin-inline-start: 28px;
}
.announcement .announcement__col--right > a:not(.no-spacer)::before {
  position: absolute;
  top: 50%;
  inset-inline-start: -28px;
  width: 28px;
  padding: 0;
  text-align: center;
  transform: translateY(-50%);
  pointer-events: none;
}
@media (min-width: 769px) {
  .announcement .announcement__localization .custom-select__btn::after {
    content: "";
    position: absolute;
    top: -5px;
    bottom: -5px;
    inset-inline-start: 0;
    inset-inline-end: -14px;
    z-index: 1;
  }
}

@media (max-width: 768px) {
  .industry-grid-links .industry-grid-mega-menu {
    grid-template-columns: repeat(2, 1fr) !important;
    padding-left: var(--gutter-sm);
    padding-right: var(--gutter-sm);
  }

  .industry-grid-links .industry-grid-mobile-menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  
}

.custom-mega-menu {
  gap: 12px;
}

.custom-mega-menu li p.h6 {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 4px;
}

.custom-mega-menu li p:not(.h6) {
  font-size: 13px;
  color: #444444;
  display: flex;
  align-items: center;
  gap: 8px;
}

.custom-mega-menu li {
  background-color: #f2f2f2;
  border-radius: 18px;
  padding: 16px;
  position: relative;
}

.custom-mega-menu li .image-holder {
  margin-bottom: 8px;
}

.mega-nav--custom .contact-us .image,
.mega-nav--custom .blog .image {
  width: 85px;
  height: auto;
  object-fit: contain;
  min-height: unset;
}

.mega-nav--custom .custom-mega-menu {
  align-items: start;
}

.mega-nav--custom {
  padding-bottom: 24px !important;
}

.custom-mega-menu li .image {
  width: 160px;
  min-height: unset;
}
.image-holder.recipes .image {
  width: 60px; 
  height: auto;
}
.custom-menu-subtitle {
  margin-bottom: 0;
  padding-bottom: 0;
}

.catalogues-list {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.catalogues-list::after {
  display: none !important;
}

.catalogues-list li {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.catalogues-list li::after {
  display: none !important;
}

tolstoy-carousel {
  display: block;
  
  margin-bottom: -50px;
}
/* Variant picker: tighter spacing */
.product-options {
  margin-bottom: 16px;
}

.product-options .option-selector {
  margin-bottom: 12px;
}

.product-options .option-selector:last-child {
  margin-bottom: 0;
}
/* ==========================================================================
   Homepage "Why Premium Dehydrators?" section (media with text), classes set in templates/index.json:
   section optional class "mwt-compact", button class "shop-all-lg".
   The section has no padding of its own: its height came from the tall portrait photo (aspect ratio box), and the text
   was centred in it with blank bands above and below. From 900px up (side by side) the text now sets the height, the
   photo fills the column and crops to fit, and the text keeps a fixed 48px above and below (the theme gave it about 70px, with its own rules that need the extra selector weight and !important). Stacked layouts are unchanged.
   The Shop All button is larger.
   ========================================================================== */
@media (min-width: 900px) {
  .mwt-compact.media-flushed .media-with-text { align-items: stretch !important; }
  .mwt-compact.media-flushed .media-with-text__media .media { padding-top: 0 !important; }
  .mwt-compact.media-flushed .media-with-text__text { padding-block: 48px !important; }
}
.btn.shop-all-lg { padding: 20px 48px; font-size: 17px; }

/* Reviews: only show stars when a product has reviews (all markets, all placements).
   Judge.me renders empty stars + "No reviews" for 0-review products; its badge carries data-number-of-reviews.
   Kept above the unclosed .option-selector rule below, or it would not apply. */
.jdgm-prev-badge[data-number-of-reviews="0"],
.jdgm-preview-badge:has(.jdgm-prev-badge[data-number-of-reviews="0"]) { display: none !important; }
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__summary-stars,
.jdgm-rev-widg[data-number-of-reviews="0"] .jdgm-rev-widg__summary-text { display: none !important; }

.option-selector:not(:last-child) {
    margin-bottom: 2rem!important;

.product-options .option-selector .label,
.product-options legend {
  margin-bottom: 6px;
}

.product-options .option-selector__btns {
  gap: 6px;
}

.product-options .opt-label {
  margin: 0;
  padding: 8px 14px;
}
.justify-between .label {
    margin-bottom: .0em!important;
}
/* Industrial spec tables */
table.dcf-table {
  --spec-row-alt: #f4f4f4;
  --spec-cell-pad-y: 6px;
  --spec-cell-pad-x: 12px;
  width: 100% !important;
  border-collapse: collapse !important;
}

table.dcf-table th,
table.dcf-table td {
  padding: var(--spec-cell-pad-y) var(--spec-cell-pad-x) !important;
  line-height: 1.35 !important;
  vertical-align: top;
}

table.dcf-table tbody td:first-child {
  font-weight: 700 !important;
}

table.dcf-table tbody tr:nth-child(even) td {
  background-color: var(--spec-row-alt) !important;
}
