/* Homepage-specific overrides. Loaded after the original site styles. */
.sf-page{max-width:1400px}
.sf-header{padding:0 20px!important}
.sf-social{height:52px;min-height:52px;display:flex;justify-content:flex-end;align-items:flex-start;padding:8px 8px 0!important}
.sf-social a{font-size:0!important;margin-left:12px!important;color:#aaa!important}
.sf-social a[href*="facebook"]::after{content:"f";font:bold 24px Arial,sans-serif}
.sf-social a[href*="instagram"]::after{content:"◎";font:26px Arial,sans-serif}
.sf-bar{display:grid!important;grid-template-columns:220px 1fr auto!important;grid-template-rows:70px 74px!important;gap:0 16px!important;align-items:start!important;padding:0!important;border-bottom:0!important}
.sf-logo{grid-column:1!important;grid-row:1!important;align-self:start!important}
.sf-logo img{width:210px!important;max-height:72px!important;object-fit:contain;object-position:left top}
.sf-login{grid-column:3!important;grid-row:1!important;align-self:start!important;color:#e10c4a!important;font-size:16px!important;font-weight:400!important;white-space:nowrap}
.sf-nav{grid-column:1/-1!important;grid-row:2!important;display:flex!important;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:27px!important;padding:0 10px 0 0!important;flex-wrap:wrap!important}
.sf-nav a,.sf-nav-label{font-size:17px!important;font-weight:400!important;color:#df0b49!important;letter-spacing:0!important;white-space:nowrap}
.sf-nav a:hover{color:#80c341!important}
.sf-hero{height:auto!important;aspect-ratio:2.86/1;min-height:0!important;margin:0 20px 25px!important}
.sf-hero .sf-prev,.sf-hero .sf-next{font-size:29px;padding:7px 13px;border-radius:3px;background:#26394c}
.sf-home-columns{display:grid;grid-template-columns:2.08fr 1fr 1fr;gap:12px;padding:0 20px 36px;background:#fff;align-items:start}
.sf-home-panel{min-width:0;overflow:hidden;border-right:2px solid #e2e2e2;padding-right:10px}
.sf-home-panel:last-child{border-right:0;padding-right:0}
.sf-home-panel-heading{height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#fff;background:#606060}
.sf-home-panel-heading h2{font-size:20px;font-weight:800;line-height:1.1;margin:0;color:#fff}
.sf-home-recipes .sf-home-panel-heading{background:#80c341}
.sf-home-events .sf-home-panel-heading{background:#d70e51}
.sf-home-panel-controls{display:flex;gap:2px}
.sf-home-panel-controls button{background:transparent;border:0;color:#ddd;font-size:18px;cursor:pointer;padding:4px 2px}
.sf-home-panel-viewport{overflow:hidden;margin-top:15px}
.sf-home-panel-track{display:flex;transition:transform .3s ease;align-items:stretch}
.sf-home-product-card,.sf-home-recipe-card{min-width:0;flex:0 0 50%;padding:0 15px;box-sizing:border-box}
.sf-home-product-card+.sf-home-product-card{border-left:1px solid #ddd}
.sf-home-recipe-card{flex-basis:100%;padding:0 5px}
.sf-home-product-card img,.sf-home-recipe-card img{display:block;width:100%;height:220px;object-fit:contain;object-position:center;background:#fff}
.sf-home-recipe-card img{height:210px;object-fit:cover}
.sf-home-product-card h3,.sf-home-recipe-card h3{font-size:20px;color:#737373;line-height:1.3;margin:18px 0 12px}
.sf-home-read-more{font-size:15px;color:#55a627;text-decoration:none;display:inline-block;margin:4px 0 15px}
.sf-home-empty-events{font-size:17px;color:#777;margin:18px 15px}
@media(max-width:1050px){.sf-nav{gap:14px!important}.sf-nav a,.sf-nav-label{font-size:14px!important}.sf-home-columns{grid-template-columns:1.7fr 1fr}.sf-home-events{grid-column:1/-1}.sf-home-product-card img{height:190px}}
@media(max-width:700px){.sf-header{padding:0 12px!important}.sf-social{height:28px;min-height:28px}.sf-bar{grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;gap:8px!important;padding-bottom:12px!important}.sf-logo{grid-column:1!important}.sf-logo img{width:150px!important}.sf-login{grid-column:2!important;grid-row:1!important;font-size:12px!important}.sf-menu-btn{display:block!important;grid-column:2;grid-row:2}.sf-nav{grid-column:1/-1!important;grid-row:3!important;display:none!important;flex-direction:column!important;align-items:flex-start!important;padding:12px!important}.sf-nav.open{display:flex!important}.sf-hero{margin:0 12px 15px!important;aspect-ratio:2/1}.sf-home-columns{display:block;padding:0 12px 20px}.sf-home-panel{border:0;padding:0;margin-bottom:20px}.sf-home-product-card img{height:160px}}

/* Header social icons and login alignment (v3). */
.sf-header .sf-social{height:56px!important;min-height:56px!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:17px!important;padding:10px 16px 0!important}
.sf-header .sf-social .sf-social-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:25px;height:28px;margin:0!important;padding:0!important;color:#a8a8a8!important;font-size:initial!important;text-decoration:none}
.sf-header .sf-social .sf-social-icon::after{content:none!important;display:none!important}
.sf-header .sf-social .sf-social-icon svg{display:block;width:23px;height:23px}
.sf-header .sf-social .sf-social-icon:hover{color:#d90c50!important}
.sf-header .sf-social .sf-login{display:inline-block!important;position:static!important;grid-column:auto!important;grid-row:auto!important;align-self:center!important;margin:0 0 0 24px!important;font-size:16px!important;line-height:28px!important;font-weight:400!important;color:#df0b49!important;white-space:nowrap!important;text-decoration:none}
.sf-header .sf-bar{grid-template-columns:220px 1fr!important}
@media(max-width:700px){.sf-header .sf-social{height:auto!important;min-height:40px!important;gap:11px!important;padding:7px 2px 0!important;flex-wrap:wrap!important}.sf-header .sf-social .sf-login{font-size:12px!important;margin-left:9px!important}.sf-header .sf-bar{grid-template-columns:1fr auto!important}}

/* About page only: tighten gap from navigation to green title banner.
   Keep homepage, product and recipe spacing unchanged. */
@media (min-width:701px) {
  body:has(.sf-about-page) .sf-header .sf-bar { grid-template-rows:70px 48px!important; }
  body:has(.sf-about-page) .sf-about-page { padding-top:0!important; margin-top:0!important; }
  body:has(.sf-about-page) .sf-about-heading { margin-top:14px!important; }
}
@media (max-width:700px) {
  body:has(.sf-about-page) .sf-about-heading { margin-top:12px!important; }
}

/* Section pages: minimize the empty space below navigation.
   Applies to About, Products, Recipes, News and article pages; not homepage. */
@media (min-width:701px) {
  body:has(.sf-about-page, .content-list, .article) .sf-header .sf-bar {
    grid-template-rows:70px 34px!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  body:has(.sf-about-page, .content-list, .article) .sf-header .sf-nav {
    align-items:center!important;
    min-height:0!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  body:has(.sf-about-page) .sf-about-page {margin-top:0!important;padding-top:0!important;}
  body:has(.sf-about-page) .sf-about-heading {margin-top:5px!important;}
}

/* Match the About page: compact menu-to-banner gap and pink top rule.
   Applies to the shared green banners on Products, Recipes, News, etc. */
@media (min-width:701px) {
  body:has(.sf-shared-section-banner) .sf-header .sf-bar {
    grid-template-rows:70px 34px!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  body:has(.sf-shared-section-banner) .sf-header .sf-nav {
    min-height:0!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
}
.sf-shared-section-banner {
  margin-top:5px!important;
  border-top:6px solid #e51255!important;
  box-sizing:border-box;
}
/* Keep the existing About spacing and its pink line unchanged. */

/* Full-width, exactly 4px white gap immediately BELOW the pink border.
   Absolute positioning avoids inserting a strip inside the banner's text area. */
.sf-shared-section-banner,
.sf-about-heading {
  position: relative !important;
}
.sf-shared-section-banner::before,
.sf-about-heading::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 4px !important;
  display: block !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none;
  box-sizing: border-box !important;
}
/* The green area begins after the white gap; retain the existing heading layout. */
.sf-shared-section-banner,
.sf-about-heading {
  padding-top: 4px !important;
}

/* Fresh Innovations: match the original WordPress editorial layout. */
.sf-innovation-page {
  max-width:100%;
  padding:32px 2.2% 50px;
  background:#fff;
}
.sf-innovation-body {
  color:#737373;
  font-size:18px;
  line-height:1.8;
  overflow-wrap:break-word;
  display:flow-root;
}
.sf-innovation-body h1,
.sf-innovation-body h2,
.sf-innovation-body h3,
.sf-innovation-body h4 {
  color:#80c341 !important;
  font-weight:400 !important;
  line-height:1.25;
  margin:30px 0 20px;
  clear:both;
}
.sf-innovation-body h1:first-child,
.sf-innovation-body h2:first-child {margin-top:0;}
.sf-innovation-body h2 {font-size:36px;}
.sf-innovation-body h3 {font-size:29px;}
.sf-innovation-body p {margin:0 0 24px;}
/* Imported WordPress images are in the article flow. Float them to the right
   so the Facility and Sustainability text wraps to the left as in the source. */
.sf-innovation-body img {
  display:block;
  float:right;
  width:30%;
  max-width:370px;
  height:auto;
  margin:0 0 22px 32px;
  object-fit:contain;
}
.sf-innovation-body img.alignleft {float:left;margin:0 32px 22px 0;}
.sf-innovation-body img.aligncenter {float:none;width:auto;max-width:100%;margin:20px auto;}
.sf-innovation-body iframe,.sf-innovation-body video {max-width:100%;}
.sf-innovation-body a {color:#27b7d8;}
.sf-innovation-empty {color:#666;font-size:17px;}
@media(max-width:700px) {
  .sf-innovation-page {padding:20px 4% 32px;}
  .sf-innovation-body {font-size:16px;line-height:1.65;}
  .sf-innovation-body h2 {font-size:29px;}
  .sf-innovation-body h3 {font-size:24px;}
  .sf-innovation-body img {float:none;width:100%;max-width:100%;margin:12px auto 24px;}
}
