/* =========================================================
   BRAND PAGE (Neolith, Agglotech, Caesarstone, etc.)
   Load after styles.css
   ========================================================= */


/* =========================================================
   BRAND HERO — full-bleed image with overlay copy
   ========================================================= */

.brand-hero {
  position: relative;

  height: 420px;
  min-height: 420px;

  overflow: hidden;
}

.brand-hero-media {
  position: absolute;
  inset: 0;

  z-index: 0;
}

.brand-hero-media img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center;
}

.brand-hero-media::after {
  content: "";

  position: absolute;
  inset: 0;

  pointer-events: none;
}

.brand-hero-content {
  position: relative;
  z-index: 1;

  height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  padding: 40px clamp(20px, 4vw, 60px) 60px;
}

.brand-hero-back {
  align-self: flex-start;

  margin-bottom: auto;

  color: var(--white);
  text-decoration: none;

  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  opacity: 0.85;

  transition: opacity 0.2s ease;
}

.brand-hero-back:hover {
  opacity: 1;
}

.brand-hero-logo {
  margin: 0;
}

.brand-hero-logo img {
  display: block;

  width: 100%;
  max-width: min(480px, 60vw);
  height: auto;
}

.okite-logo img{
  width: 100%;
  max-width: min(260px, 60vw);
  height: auto;
}

.brand-hero-tag {
  max-width: 560px;

  margin-top: 20px;

  color: rgba(255, 255, 255, 0.88);

  font-size: 17px;
  line-height: 1.65;
}


/* =========================================================
   BRAND ABOUT
   ========================================================= */

.brand-about {
  padding: 100px clamp(20px, 4vw, 60px);

  background: var(--white);
  border-bottom: 1px solid var(--blue-line);
}

.brand-about-inner {
  max-width: 720px;

  margin: 0 auto;

  text-align: center;
}

.brand-about-inner .eyebrow {
  justify-content: center;
}

.brand-about-inner h2 {
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.12;
}

.brand-about-text {
  max-width: 620px;

  margin: 24px auto 0;

  color: var(--blue-ink);

  font-size: 16px;
  line-height: 1.75;
}


/* =========================================================
   PRODUCT MEDIA FIX
   (styles.css defines .product-media positioning but not
   the inner <img> sizing — this fills that gap)
   ========================================================= */

.product-media img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center;
}


/* =========================================================
   BRAND PRODUCT GRID — catalogue-card style
   (mirrors .material-card from products.css, under its own
   class names so this page doesn't need products.css loaded)
   ========================================================= */

.brand-products-section {
  padding-top: 80px;
}

.brand-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 28px 20px;
}

.brand-product-card {
  min-width: 0;

  display: block;

  overflow: hidden;

  border: 1px solid var(--blue-line);

  background: var(--white);
  color: var(--blue-ink);

  text-decoration: none;

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.brand-product-card:hover {
  transform: translateY(-5px);

  border-color: rgba(12, 124, 168, 0.48);

  box-shadow: 0 18px 38px rgba(6, 62, 82, 0.1);
}

.brand-product-media {
  width: 100%;
  aspect-ratio: 4 / 3;

  position: relative;
  overflow: hidden;

  background-color: var(--blue-pale);
}

.brand-product-media img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition: transform 0.5s ease;
}

.brand-product-card:hover .brand-product-media img {
  transform: scale(1.055);
}

.brand-product-meta {
  min-height: 100px;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  padding: 19px 20px 21px;

  background: var(--white);
}

.brand-product-type {
  display: block;

  margin-bottom: 8px;

  color: var(--blue-deep);

  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brand-product-meta h3 {
  margin: 0;

  color: var(--blue-ink);

  font-family: var(--font-mono);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.2;
  letter-spacing: -0.015em;

  transition: color 0.2s ease;
}

.brand-product-card:hover .brand-product-meta h3 {
  color: var(--blue-deep);
}

.brand-products-more {
  display: flex;
  justify-content: center;

  margin-top: 44px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

  .brand-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

}

@media (max-width: 900px) {

  .brand-hero {
    height: 400px;
    min-height: 400px;
  }

  .brand-about {
    padding: 75px clamp(20px, 6vw, 60px);
  }

  .brand-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 620px) {

  .brand-hero {
    height: 380px;
    min-height: 380px;
  }

  .brand-hero-content {
    padding: 28px 20px 40px;
  }

  .brand-about {
    padding: 60px 20px;
  }

  .brand-about-text {
    font-size: 15px;
  }

  .brand-product-grid {
    grid-template-columns: 1fr;
  }

}