/* ============================================
   IMG – Global Bricks Classes
   ============================================ */

/* --- Color Variables (IMG palette) --- */

:root {
  --white: #ffffff;
  --black: #000000;
  --gray-900: #000000;
  --gray-800: #4d4d4c;
  --gray-700: #7b7b7b;
  --gray-600: #918f8f;
  --gray-500: #bdbcbc;
  --gray-400: #dadada;
  --gray-300: #f0f0f0;
  --gray-200: #f3f1ee;
}

/* --- Headings --- */

.heading-h1 {
  font-family: "linotype-didot", serif;
  font-size: 38px;
  font-weight: 400;
  font-style: italic;
  line-height: 48px;
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 478px) {
  .heading-h1 {
    font-size: 22px;
    line-height: 28px;
  }
}

.heading-h2 {
  font-family: "Poppins", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 40px;
}

/* Mobile */
@media (max-width: 478px) {
  .heading-h2 {
    font-size: 24px;
    line-height: 36px;
  }
}

.heading-h3 {
  font-family: "linotype-didot", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 38px;
}

@media (max-width: 478px) {
  .heading-h3 {
    font-size: 20px;
    line-height: 28px;
  }
}

.heading-h4 {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 20px;
  letter-spacing: 6px;
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 478px) {
  .heading-h4 {
    font-size: 16px;
    line-height: 20px;
  }
}

.heading-h5 {
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 26px;
}

@media (max-width: 478px) {
  .heading-h5 {
    font-size: 16px;
    line-height: 22px;
  }
}

/* --- Body --- */

.body-3xl {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 6px;
}

@media (max-width: 478px) {
  .body-3xl {
    font-size: 15px;
    line-height: 18px;
  }
}

.body-2xl {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 6%;
  text-transform: uppercase;
}

@media (max-width: 478px) {
  .body-2xl {
    font-size: 15px;
    line-height: 18px;
  }
}

.body-xl {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
  letter-spacing: 3px;
  color: var(--gray-900);
}

@media (max-width: 478px) {
  .body-xl {
    font-size: 15px;
    line-height: 22px;
  }
}

.body-lg {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 26px;
  letter-spacing: 3px;
}

@media (max-width: 478px) {
  .body-lg {
    font-size: 15px;
    line-height: 22px;
  }
}

.body-md {
  font-family: "Lora", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
}

@media (max-width: 478px) {
  .body-md {
    font-size: 15px;
    line-height: 28px;
  }
}

.body-md h2 {
  color: var(--gray-900, #231F20);
  font-family: "linotype-didot", serif;
  font-size: var(--font-size-2xl, 28px);
  font-style: normal;
  font-weight: 400;
  margin-bottom: 24px;
}

.body-sm {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 6%;
  text-transform: uppercase;
}

@media (max-width: 478px) {
  .body-sm {
    font-size: 14px;
    line-height: 20px;
  }
}

.body-xs {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 6%;
}

@media (max-width: 478px) {
  .body-xs {
    font-size: 14px;
    line-height: 18px;
  }
}

/* --- Info --- */

.info-lg {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 0.96px;
}

.info-md {
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 2px;
}

.info-s {
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 2px;
}

.info-xs {
  font-family: "linotype-didot", serif;
  font-size: 16px;
  font-weight: 400;
  font-style: italic;
  line-height: 18px;
  letter-spacing: 1.3px;
}

/* --- UI Elements --- */

.filter-btn {
  background-color: transparent;
}

.btn-base {
  font-size: 16px;
  padding: 16px;
}

.btn-base:hover {
  background-color: var(--gray-900, #231f20);
  color: var(--white);
}

.btn-base:active {
  background-color: var(--gray-800);
  color: #fff;
}