/* ============================= */
/* TIMBER STORE - CUSTOM CSS */
/* ============================= */




/* ============================= */
/* HOMEPAGE - CATEGORY GRID */
/* ============================= */

.timber-categories-banner {
  margin: 60px 0;
}

.timber-categories-banner__title {
  text-align: center;
  margin-bottom: 30px;
}

.timber-categories-banner__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.timber-categories-banner__item {
  display: flex;
  align-items: center;
  padding: 14px 18px;
  background: #ffffff;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(0,0,0,0.05);
  transition: all 0.2s ease;
}

.timber-categories-banner__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

.timber-categories-banner__item img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  margin-right: 18px;
}

.timber-categories-banner__item span {
  font-weight: 600;
  color: #423e3e;
}


/* ============================= */
/* MOBILE CATEGORY GRID */
/* ============================= */

@media (max-width: 768px) {

  .timber-categories-banner__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .timber-categories-banner__item {
    flex-direction: column;
    text-align: center;
    padding: 16px;
  }

  .timber-categories-banner__item img {
    margin: 0 0 10px 0;
    width: 90px;
    height: 90px;
  }

}




/* ============================= */
/* TIMBER STORE - NEWSLETTER */
/* ============================= */

.in-index .custom-footer__newsletter.extended {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  width: min(1400px, calc(100vw - 40px)) !important;
  max-width: min(1400px, calc(100vw - 40px)) !important;

  margin: 10px 0 45px 0 !important;
  padding: 36px 64px !important;

  min-height: 175px !important;
  border-radius: 16px !important;
  background: #423e3e !important;

  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 70px !important;
  align-items: center !important;

  overflow: hidden !important;
}

.in-index .custom-footer__newsletter.extended:before {
  content: "✉";
  position: absolute;
  left: 70px;
  bottom: -60px;
  font-size: 230px;
  line-height: 1;
  color: rgba(255,255,255,.10);
  font-family: Arial, sans-serif;
  pointer-events: none;
}

.in-index .custom-footer__newsletter.extended > * {
  position: relative !important;
  z-index: 2 !important;
}


/* LEFT SIDE */

.in-index .custom-footer__newsletter .newsletter-header,
.in-index .custom-footer__newsletter .newsletter-header h3,
.in-index .custom-footer__newsletter .newsletter-header .topic {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.in-index .custom-footer__newsletter .newsletter-header h3,
.in-index .custom-footer__newsletter .newsletter-header .topic {
  font-size: 34px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  color: #fff !important;
  white-space: nowrap !important;
}


/* RIGHT SIDE */

.in-index .custom-footer__newsletter form {
  width: 100% !important;
  max-width: 570px !important;
  margin: 0 auto !important;
}

.in-index .custom-footer__newsletter fieldset {
  margin: 0 !important;
  padding: 0 !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 48px auto 48px !important;
  row-gap: 12px !important;

  align-items: start !important;
}

.in-index .custom-footer__newsletter fieldset > br {
  display: none !important;
}

.in-index .custom-footer__newsletter fieldset > input[type="hidden"],
.in-index .custom-footer__newsletter fieldset > input.no-display,
.in-index .custom-footer__newsletter fieldset > span.no-display {
  display: none !important;
}

.in-index .custom-footer__newsletter .validator-msg-holder {
  grid-row: 1 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.in-index .custom-footer__newsletter fieldset > div:not(.validator-msg-holder) {
  grid-row: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.in-index .custom-footer__newsletter .form-group,
.in-index .custom-footer__newsletter .input-wrapper,
.in-index .custom-footer__newsletter .consents,
.in-index .custom-footer__newsletter .form-group.consents {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.in-index .custom-footer__newsletter input[type="email"],
.in-index .custom-footer__newsletter .form-control {
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
}

.in-index .custom-footer__newsletter p,
.in-index .custom-footer__newsletter label {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  color: rgba(255,255,255,.9) !important;
}

.in-index .custom-footer__newsletter a {
  color: #fff !important;
}

.in-index .custom-footer__newsletter button,
.in-index .custom-footer__newsletter .btn {
  grid-row: 3 !important;
  justify-self: start !important;

  margin: 0 !important;
  min-height: 48px !important;
  height: 48px !important;

  padding-left: 28px !important;
  padding-right: 28px !important;

  background: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  color: #fff !important;
}

.in-index .custom-footer__newsletter button:hover,
.in-index .custom-footer__newsletter .btn:hover {
  background: var(--color-secondary-hover) !important;
  border-color: var(--color-secondary-hover) !important;
  color: #fff !important;
}


/* ============================= */
/* MOBILE NEWSLETTER */
/* ============================= */

@media (max-width: 768px) {

  .in-index .custom-footer__newsletter.extended {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;

    margin: 20px 0 30px 0 !important;
    padding: 26px 28px !important;

    grid-template-columns: 1fr !important;
    gap: 18px !important;

    min-height: auto !important;
    border-radius: 14px !important;
  }

  .in-index .custom-footer__newsletter.extended:before {
    left: 14px !important;
    bottom: -30px !important;
    font-size: 135px !important;
  }

  .in-index .custom-footer__newsletter .newsletter-header,
  .in-index .custom-footer__newsletter .newsletter-header h3,
  .in-index .custom-footer__newsletter .newsletter-header .topic,
  .in-index .custom-footer__newsletter form,
  .in-index .custom-footer__newsletter fieldset,
  .in-index .custom-footer__newsletter .form-group,
  .in-index .custom-footer__newsletter .input-wrapper,
  .in-index .custom-footer__newsletter .validator-msg-holder,
  .in-index .custom-footer__newsletter .consents,
  .in-index .custom-footer__newsletter .form-group.consents,
  .in-index .custom-footer__newsletter p,
  .in-index .custom-footer__newsletter label {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    text-align: left !important;
    justify-content: flex-start !important;
    justify-items: flex-start !important;
    align-items: flex-start !important;
  }

  .in-index .custom-footer__newsletter .newsletter-header h3,
  .in-index .custom-footer__newsletter .newsletter-header .topic {
    font-size: 26px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .in-index .custom-footer__newsletter fieldset {
    display: grid !important;
    grid-template-rows: 48px auto 48px !important;
    row-gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .in-index .custom-footer__newsletter fieldset > br {
    display: none !important;
  }

  .in-index .custom-footer__newsletter input[type="email"],
  .in-index .custom-footer__newsletter .form-control {
    width: 100% !important;
    height: 48px !important;
    display: block !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .in-index .custom-footer__newsletter button,
  .in-index .custom-footer__newsletter .btn {
    width: 100% !important;
    height: 48px !important;
    margin: 0 !important;
    justify-self: stretch !important;
    text-align: center !important;
  }

}