/*Done by Legacy IT with assisstance from Claude AI*/

body {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 1px;
}

  .mr-dafoe-regular {
    font-family: "Mr Dafoe", cursive;
    font-weight: 400;
    font-style: normal;
    color: #0a1e33;
    font-size: 2.5rem;
    text-align: center;
  }

  /*HEADER*/
  .site-header-inner {
    display: grid;
    grid-template-columns: 1fr 1fr; /* two equal halves */
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 3rem;
    padding: 0 3rem;
  }

  .header-bg {
    grid-column: 1 / -1;
  grid-row: 1 / 3;        /* CHANGED — spans row 1 AND the new phantom row 2 */
  align-self: stretch;
  justify-self: stretch;
  background-color: #09899f;
  z-index: 0;
  margin: 0 -3rem;
 }
  
  .site-logo {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 1;
    height: auto;
    width: clamp(150px, 30vw, 400px);
    justify-self: start;
  }
  
  .tagline-image {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 1;
    width: clamp(100px, 20vw, 350px);
    height: auto;
    margin-bottom: 1rem;
    justify-self: center;
  }

  .site-tagline {
    height: auto;
    width: clamp(100px, 20vw, 350px);
    margin-right: 30rem; 
  }
  
 
/* MOBILE: single column, logo and tagline stack into separate rows */
@media (max-width: 600px) {
  .site-header-inner {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 2rem;
    padding: 0 1.5rem;
  }

  .site-logo {
    grid-row: 1;
    width: clamp(200px, 60vw, 350px);
    justify-self: center;
  }

  .tagline-image {
    grid-column: 1;
    grid-row: 2;          /* now stacks below the logo */
    width: clamp(150px, 45vw, 300px);
  }

  .header-bg {
    grid-column: 1;
    grid-row: 1;           /* only the logo's row — tagline's row (2) stays uncolored */
    margin: 0 -1.5rem;     /* bleed to true edges using mobile's padding value */
  }
}




/*BULLET LIST*/

.image-column {
  display: flex;
  flex-direction: column;
  align-items: center;   /* centers the tagline image above the product photo */
  max-width: 50%;
  flex-shrink: 0;
}

  .list-with-image {
    display: flex;
    align-items: flex-start; /* aligns list and image to the top; use "center" if you'd rather they align vertically centered */
    gap: 2rem;
  }

  .text-column {
    flex: 1; /* paragraph + list share this one column */
  }

  .list-image {
    max-width: 47%;
    width: 100%;
    height: auto;
    flex-shrink: 0;
  }

  @media (max-width: 992px) {
    .list-with-image {
      flex-direction: column-reverse; /* image ends up above the list */
    }
  
    .check-list,
    .text-column,
    .list-image {
      width: 100%;
      max-width: 100%;
    }
  }

  .check-list {
    flex: 1;
    list-style: none; /* remove default bullets */
    padding-left: 0;
    margin-bottom: 3rem;
    margin-left: 2rem;
    margin-top: 2rem;
  }

  .checklist-head {
    font-size: 1.5rem;
    padding-left: 2rem;
  }
  
  .check-list li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    font-size: 1.3rem;
  }
  
  .check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
    background-color: #b94f9d; 
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    line-height: 1;
  }

  @media (max-width: 992px) {
    .check-list {
      margin-left: 0;
      padding-left: 2rem;   /* replaces the margin so it doesn't add to the box's total width */
      width: 100%;
      box-sizing: border-box;
    }
  
    .checklist-head {
      box-sizing: border-box;
      width: 100%;
    }
  }

  .stock-note {
    display: block;
    font-style: italic;
    font-weight: 700;
    color: #18b5b5;   /* adjust to match your teal */
    font-size: 1rem;
    margin-top: 0.15rem;
  }

  /*PENCIL ROW IMAGE*/
  .mobile-only-image {
    display: none;   /* hidden by default on desktop */
  }

  @media (max-width: 992px) {
    .mobile-only-image {
      display: block;
      width: 100%;      /* adjust as needed */
      max-width: 300px; /* adjust as needed */
      margin: 0 auto 1rem auto; /* centers it and adds space below */
    }
  }

  /*BRANDS GALLERY*/
  .brands-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    background: #ffffff;
    border: 1px solid #18b5b5;
    border-radius: 6px;
    padding: 0.75rem 1.5rem;
  }
  
  .brands-label {
    background: #18b5b5;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.3;
    text-transform: uppercase;
    padding: 0.6rem 1.25rem;
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    flex-shrink: 0;
  }
  
  .brands-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.75rem;
    flex: 1;
  }
  
  .brand-logo {
    height: 28px;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
  }
  
  /* Mobile adjustments */
  @media (max-width: 600px) {
    .brands-bar {
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem;
      padding: 1rem;
    }
  
    .brands-label {
      clip-path: none;
      width: 100%;
      box-sizing: border-box;
      text-align: center;
    }
  
    .brands-logos {
      width: 100%;
      justify-content: center;
      gap: 1.25rem;
    }
  
    .brand-logo {
      height: 22px;
    }
  }

/*SHOP LOCAL BANNER*/
  .shop-local-banner {
    --brand-size: 280px;
    background-color: #0a1e33;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem 3rem;
  }
  
  .shop-local-col {
    display: flex;
    align-items: center;
  }
  
  /* Left: bag + heading */
  .shop-local-brand {
    gap: 1rem;
    flex-shrink: 1;
    min-width: 140px;
  }

  .shop-local-side-image {
    height: 100%;
    width: auto;
    object-fit: contain;
    align-self: stretch;
  }

  .shop-local-brand-img {
    height: auto;
    width: var(--brand-size);
    max-width: var(--brand-size);
    object-fit: contain;
  }

  .shop-local-callout {
    flex-shrink: 0;
    width: 100%;
    max-width: var(--brand-size);
    margin: 0 auto;
    justify-content: center;
  }

  .shop-local-callout-img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  
  .shop-local-icon {
    height: 100%;
  max-height: 100px;   /* adjust to taste */
  width: auto;
  /*max-width: 70px;    /* adjust to taste */
  object-fit: contain;
  align-self: stretch;
  }
  
  .shop-local-heading {
    display: flex;
    flex-direction: column;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.3;
  }
  
  .shop-local-heading .line1 {
    color: #ffffff;
    font-size: 1.4rem;
  }
  
  .shop-local-heading .line2 {
    color: #18b5b5;
    font-size: 1.4rem;
  }
  
  .shop-local-heading .line3 {
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    margin-top: 0.25rem;
  }
  
  /* Middle: description text */
  .shop-local-text {
    padding-left: 2rem;
    flex: 1;
  }
  
  .shop-local-text p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
  }
  
  .shop-local-text strong {
    color: #18b5b5;
  }
  
 @media (max-width: 992px) {
  .shop-local-banner {
    --brand-size: 240px;   /* just change this one number for tablet */
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    gap: 1.5rem;
  }

  .shop-local-brand,
  .shop-local-text {
    flex: 1 1 auto;
  }

  .shop-local-brand {
    min-width: 0;
    justify-content: center;   /* ADD THIS — centers accounts.png within its column */
  }

  .shop-local-brand-img {
    height: auto;
    width: 300px;        /* fixed value, same fix pattern as mobile — adjust to taste */
    max-width: 300px;
    max-height: none;
  }

  .shop-local-callout {
    flex-shrink: 0;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    justify-content: center;
    padding: 0;
    background: none;
    clip-path: none;
  }
 
  .shop-local-callout-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0 auto;
    object-fit: contain;
  }

 

  .shop-local-callout .callout-line1,
  .shop-local-callout .callout-line2 {
    text-align: justify;
  }
}
  
  /* Mobile: stack into 3 rows */
  @media (max-width: 600px) {
    .shop-local-banner {
      --brand-size: 200px;   /* just change this one number for mobile */
      flex-direction: column;
      align-items: stretch;
      padding: 1.5rem;
      gap: 1.5rem;
    }
  
    .shop-local-text {
      min-width: 220px;
      border-left: none;
      padding-left: 0;
      padding-top: 1.5rem;
    }
  
    .shop-local-callout {
      clip-path: none;
      align-items: center;
      text-align: center;
      padding: 1rem;
    }
  
    .shop-local-callout .callout-line1,
    .shop-local-callout .callout-line2 {
      text-align: center;
    }

   
    .shop-local-brand {
      min-width: 0;        /* let the column shrink freely on mobile; the image's own max-width now controls its size */
    }
  }


    /*FOOTER*/
    .footer {
      width: 100%;
      background-color: #18b5b5;
      padding: 1rem 1.5rem 0.5rem 1.5rem;
      box-sizing: border-box;
    }
    
    .footer-inner {
      background-color: #ffffff;
      border-radius: 16px;
      padding: 1.5rem;
      box-sizing: border-box;
      margin-top: 1rem;
    }
    
    .footer-text-white {
      font-size: 1.3rem;
    }

    .fa-facebook {
      color: #ffffff;
      font-size: 3.5rem;
    }

    .whatsapp-qr {
      width: 3.5rem;
    }
    
    /* Blue contact row */
    .footer-columns {
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: #ffffff;
    }
    
    .footer-col {
      flex: 0 0 auto;
      text-align: center;
      padding: 0.5rem 1rem;
    }
    
    .footer-col:last-child {
      border-right: none;
    }
    
    /* White box, 4 icon columns */
    .footer-inner-columns {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: 1rem;
    }
    
    .footer-inner-col {
      flex: 1;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      text-align: center;
      gap: 0.75rem;
      border-right: 3px solid #18b5b5; /* blue divider */
      padding-right: 1rem;
    }
    
    .footer-inner-col:last-child {
      border-right: none;
      padding-right: 0;
    }
    
    .footer-icon {
      height: 2.6em;
      width: auto;
      flex-shrink: 0;
    }
    
    .footer-text {
      display: flex;
      flex-direction: column;
      text-align: left;
      line-height: 1.3;
      font-size: clamp(0.75rem, 1.5vw, 0.95rem); /* scales with screen width, within limits */
      color: #224187;
    }
    
    .footer-text span {
      white-space: nowrap; /* prevents a single line from wrapping onto a second line */
    }

    @media (min-width: 601px) and (max-width: 992px) {
      .footer-inner-col:nth-child(-n+2) {
        border-bottom: 3px solid #18b5b5;
        padding-bottom: 1.5rem;
      }
    }
    
    /* ============================================
       TABLET: 2 columns x 2 rows
       (must come BEFORE the 600px block so mobile
       rules win the cascade tie on small screens)
       ============================================ */
    @media (max-width: 992px) {
      .footer-inner-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
      }
    
      .footer-inner-col {
        border-right: none;
        padding-right: 0;
      }

      .footer-columns {
        flex-direction: column;
        align-items: center;
        gap: 1rem;   /* equal spacing once stacked too */
      }
    
      .footer-col {
        width: 100%;
      }

    }
    
    /* ============================================
       MOBILE: 1 column x 4 rows
       (single consolidated block, placed LAST so
       it overrides the tablet grid above)
       ============================================ */
    @media (max-width: 600px) {
          
      /* Force back to a single stacked column, overriding the tablet grid */
      .footer-inner-columns {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0;
      }
    
      .footer-inner-col {
        box-sizing: border-box;
        flex: none;
        display: grid;
        grid-template-columns: 40px 1fr; /* fixed icon column so icons line up vertically */
        align-items: center;
        justify-content: start;
        text-align: left;
        column-gap: 0.75rem;
        width: calc(100% + 3rem);
        margin-left: -1.5rem;
        margin-right: -1.5rem;
        padding: 0 1.5em 10px 5.5rem;
        margin-bottom: 10px;
        border-right: none;       /* explicitly clear desktop divider */
        border-bottom: 3px solid #18b5b5;
      }

      .footer-inner {
        padding-top: 0.5rem;      /* was 0.75rem — trimmed further to close the gap above item 1 */
        padding-bottom: 0.5rem;   /* ADD THIS — closes the gap beneath item 4 */
      }
    
      .footer-inner-col:last-child {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
      }
    
      .footer-icon {
        flex-shrink: 0;
        width: 40px;               /* fix all icons to the same width */
        height: 40px;
        object-fit: contain;
        justify-self: center;
      }
    
      .footer-text {
        display: flex;
        flex-direction: column;
        text-align: left;      /* force override in case base styles center it */
        align-items: flex-start;
      }
    
      .footer-text-white {
        font-size: 1.5rem;
      }
    }