/** Shopify CDN: Minification failed

Line 69:2 All "@import" rules must come first

**/
/* --- The Magic Sticky & Jiggle Fix --- */
  
  /* 1. We must force all Shopify wrappers to be visible on desktop, or sticky fails */
  @media (min-width: 800px) {
    body, html, main, .main-content, #MainContent, .shopify-section, #PageContainer {
      overflow: visible !important;
      overflow-x: visible !important;
    }
    
    .native-sticky-row {
      display: flex;
      align-items: flex-start !important;
      gap: 30px;
      margin-bottom: 20px;
    }
    .native-sticky-text {
      flex: 1 1 50%;
    }
    .native-sticky-media {
      flex: 1 1 50%;
      position: -webkit-sticky !important;
      position: sticky !important;
      top: 20px !important;
      height: fit-content !important;
    }
  }

  /* 2. Mobile jiggle fix: Apply hidden overflow ONLY to mobile, so desktop sticky isn't killed */
  @media (max-width: 799px) {
    html, body {
      max-width: 100vw;
      overflow-x: hidden;
      margin: 0;
      padding: 0;
    }
    .native-sticky-row {
      display: flex;
      flex-direction: column;
    }
    .native-sticky-media {
      order: -1; /* Puts image on top for the mobile stack */
      margin-bottom: 20px;
      position: relative;
      top: auto;
    }
    .native-sticky-text {
      order: 2;
    }
  }

  * {
    box-sizing: border-box;
  }
  img, video, iframe {
    max-width: 100%;
    height: auto;
  }
  h1, h2, h3, p, a {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  /* --- End Fix --- */

  @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

  /* Trust Box Styles */
  .berkey-trust-wrapper {
    display: flex; 
    align-items: center;
    justify-content: flex-start; 
    padding: 6px 14px;
    background-color: #f0f8ff; /* Light blue background */
    border: 1px solid #d1d5db;
    border-radius: 5px;
    line-height: 1.4;
    margin-bottom: 15px; 
    box-sizing: border-box; 
    width: 100%; 
    max-width: 350px; 
    margin: 15px auto; 
    text-align: left;
  }
  .berkey-badge-img { height: 100px; width: 140px; display: block; object-fit: contain; }
  .berkey-divider { height: 80px; width: 1px; background-color: #d1d5db; margin: 0 12px; }
  .berkey-text-container { display: flex; flex-direction: column; }
  .berkey-text-content { color: #3e566b; font-size: 14px; font-weight: 700; }
  .berkey-warranty-head { color: #64748b; font-size: 14px; font-weight: 500; }

  @media (max-width: 480px) {
    .berkey-trust-wrapper { padding: 8px; }
    .berkey-badge-img { height: 70px; width: 100px; }
    .berkey-divider { height: 60px; }
  }

  /* Metrics Bar Icons */
  .metric-icon {
    width: 45px;
    height: 45px;
    margin-bottom: 12px;
    display: inline-block;
  }

  .banner-num-box {
    border: 1px solid #155724; 
    padding: 4px 12px; 
    border-radius: 4px; 
    display: inline-block;
    margin-top: 10px; 
    font-weight: bold; 
    font-size: 18px;
    cursor: pointer;
    transition: background 0.2s;
  }
  .banner-num-box:hover {
    background-color: #d4edda;
  }
  
  .clearance-block { clear: both; display: block; width: 100%; margin-bottom: 40px; box-sizing: border-box; }

  .berkey-review-box {
    background-color: #f9f9f9; padding: 30px; border-radius: 8px; border-left: 5px solid #28a745;
    margin: 40px 0; text-align: center;
  }

  .berkey-metrics-bar {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #f9f9f9;
    border-radius: 12px;
    padding: 25px 10px;
    text-align: center;
  }
  .metric-item { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; }
  .metric-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 1px;
    background-color: #ddd;
  }
  .metric-value { font-size: 24px; font-weight: bold; color: #28a745; display: block; line-height: 1.2; }
  .metric-label { font-size: 13px; color: #666; display: block; margin-top: 5px; line-height: 1.3; }

  .berkey-comp-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
  .berkey-comp-col { flex: 1; min-width: 150px; background: #fff; display: flex; flex-direction: column; }
  .berkey-img-box {
    border-radius: 4px; padding: 10px; margin-bottom: 15px;
    display: flex; align-items: center; justify-content: center; height: 220px;
  }
  .berkey-img-box a { height: 100%; display: flex; align-items: center; justify-content: center; width: 100%; }
  .berkey-img-box img { max-width: 100%; max-height: 100%; height: auto; transition: 0.3s; }
  .berkey-comp-col h3 { font-size: 20px; margin-bottom: 15px; color: #000; font-weight: bold; height: 48px; }
  .spec-item { margin-bottom: 8px; font-size: 15px; line-height: 1.4; color: #333; height: 48px; display: flex; align-items: center; }
  .berkey-comp-col:not(:first-child) .spec-item { justify-content: center; text-align: center; }
  .spec-label { font-weight: bold; color: #155724; display: none; } 

  .berkey-faq-container details {
    border: 1px solid #c3e6cb;
    border-radius: 6px;
    margin-bottom: 10px;
    background-color: #fff;
    overflow: hidden;
  }
  .berkey-faq-container summary {
    font-weight: bold;
    cursor: pointer;
    color: #000;
    padding: 15px;
    outline: none;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 15px;
  }
  .berkey-faq-container summary::-webkit-details-marker { display: none; }
  .berkey-faq-container summary::before {
    content: '+';
    background-color: #28a745;
    color: #ffffff;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    font-weight: bold;
    transition: 0.3s;
  }
  .berkey-faq-container details[open] summary::before {
    content: '−';
    color: #ffffff;
    background-color: #155724;
  }
  .berkey-faq-container p { padding: 0 15px 15px 54px; margin: 0; font-size: 15px; color: #333; }

  /* "Have Questions" Contact Box Styles */
  .berkey-contact-wrapper {
    font-family: 'Montserrat', sans-serif;
    max-width: 100%;
    margin: 10px 0 40px 0;
  }
  .martin-safe-box {
    border: 2px solid #28a745; 
    border-radius: 12px; 
    background-color: #ffffff;
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    padding: 25px; 
    width: 100%; 
    box-sizing: border-box; 
    cursor: pointer; 
    transition: all 0.2s ease; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.06); 
    text-align: center;
  }
  .martin-safe-box:hover { 
    background-color: #f4fbf7; 
    border-color: #155724; 
    transform: translateY(-1px); 
    box-shadow: 0 6px 15px rgba(40,167,69,0.15); 
  }
  .martin-safe-question { font-size: 24px; font-weight: 800; color: #222; margin-bottom: 10px; }
  .martin-safe-action-group { display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 700; text-transform: uppercase; color: #28a745; letter-spacing: 0.5px; margin-bottom: 15px; }
  .martin-safe-icon { width: 32px; height: 32px; margin-right: 12px; fill: #28a745; }
  .martin-price-guarantee { font-size: 16px; color: #333; border-top: 1px dashed #c1e6d2; padding-top: 18px; width: 100%; line-height: 1.5; }
  .martin-phone-number { display: block; font-size: 32px; font-weight: 800; color: #28a745; margin-top: 10px; letter-spacing: 1px; text-decoration: none; }
  .martin-safe-box:hover .martin-safe-action-group, .martin-safe-box:hover .martin-phone-number { text-decoration: underline; }

  /* Hidden Modal Overlay Styles */
  .martin-modal-overlay {
    display: none; position: fixed; z-index: 99999; left: 0; top: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.7); align-items: center; justify-content: center; backdrop-filter: blur(4px);
  }
  .martin-modal-content {
    background-color: #fff; padding: 35px 25px; border-radius: 15px; width: 90%; max-width: 450px;
    text-align: center; position: relative; box-shadow: 0 10px 40px rgba(0,0,0,0.3); font-family: 'Montserrat', sans-serif;
  }
  .martin-modal-close { position: absolute; right: 15px; top: 10px; font-size: 24px; cursor: pointer; color: #aaa; }
  .martin-modal-btn {
    display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%;
    padding: 14px; margin: 12px 0; border-radius: 8px; font-weight: bold; text-decoration: none;
    font-size: 18px; transition: 0.2s; cursor: pointer; box-sizing: border-box; font-family: inherit;
  }
  
  /* Button Specific Styles */
  .btn-call { background: #28a745; color: #fff !important; border: 2px solid #28a745; }
  .btn-chat { background: #fff; color: #28a745 !important; border: 2px solid #28a745; }
  .btn-text { background: #fff; color: #28a745 !important; border: 2px solid #28a745; }
  .martin-modal-btn:hover { opacity: 0.9; transform: scale(1.01); }

  @media screen and (max-width: 768px) {
    .berkey-metrics-bar { flex-wrap: wrap; gap: 20px; padding: 20px; }
    .metric-item { flex: 1 1 40%; }
    .metric-item:nth-child(2)::after { display: none; }
    .berkey-comp-col { flex: 0 0 100%; margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 20px; }
    .berkey-comp-col:first-child { display: none; } 
    .spec-label { display: inline; } 
    .berkey-img-box { height: auto; }
    .berkey-comp-col h3 { text-align: center; height: auto; }
    .spec-item { text-align: center; justify-content: center; border-bottom: 1px solid #f0f0f0; padding: 10px 0; height: auto; }
  }

  @media (max-width: 480px) {
    .martin-safe-question { font-size: 21px; }
    .martin-phone-number { font-size: 26px; }
  }
