@charset "utf-8";
/* CSS Document */


.hardware-group{
  margin-top: 55px;
}

.group-head{
  max-width: 720px;
  margin-bottom: 24px;
}

.group-head h3{
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
}

.group-head p{
  margin: 0;
  color: #666;
  line-height: 1.55;
}



.heritage-hardware{
  padding: 100px 0;
  background: #f6f7f8; /* alternating band */
}

.hardware-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

/* tablet */
@media (max-width: 1100px){
  .hardware-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* mobile */
@media (max-width: 620px){
  .hardware-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

.hardware-card{
  background:#fff;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease;
  text-align:center; /* matches your example */
}

.hardware-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.09);
}

.hardware-img{
  height: 210px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 14px;
}

.hardware-img img{
  max-height: 210px;
  width:auto;
  max-width: 100%;
  display:block;
}

.hardware-card h3{
  font-size: 16px;
  font-weight: 700;
  margin: 10px 0 8px;
}

.hardware-card p{
  font-size: 14px;
  color:#666;
  line-height:1.55;
  margin: 0 0 14px;
  min-height: 70px; /* keeps cards even */
}

/* swatches */
.swatches{
  display:flex;
  justify-content:center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 6px;
}

/* Base swatch */
.swatch{
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: inset 0 1px 2px rgba(255,255,255,.6);
}

/* example finishes (tweak to your brand) */
.swatch--white{ background:#fff; }
.swatch--black{ background:#222; }
.swatch--chrome{ background: linear-gradient(135deg,#cfd5db,#8c949c,#e7ecef); }
.swatch--gold{ background: linear-gradient(135deg,#d6b15f,#9b7a2f,#edd7a5); }
.swatch--bronze{ background: linear-gradient(135deg,#b07a52,#6d3f27,#d7b39a); }




/* 1 — Satin Chrome */
.swatch--satin-chrome{
  background: linear-gradient(
    135deg,
    #e6eaee 0%,
    #c8ced6 25%,
    #aeb6bf 50%,
    #dfe5ea 75%,
    #f2f4f6 100%
  );
}

/* 2 — Brass */
.swatch--brass{
  background: linear-gradient(
    135deg,
    #e6c36a 0%,
    #b68b2c 40%,
    #8c6a1e 60%,
    #f0d98a 100%
  );
}

/* 3 — Dark Bronze */
.swatch--dark-bronze{
  background: linear-gradient(
    135deg,
    #8b5a3c 0%,
    #5a3423 50%,
    #3b2317 100%
  );
}

/* 4 — Gun Metal */
.swatch--gun-metal{
  background: linear-gradient(
    135deg,
    #5f646a 0%,
    #3f4348 50%,
    #2b2e32 100%
  );
}

/* 5 — Antique Black */
.swatch--antique-black{
  background: linear-gradient(
    135deg,
    #2a2a2a 0%,
    #141414 60%,
    #000000 100%
  );
}

/* 6 — Anthracite grey */
.swatch--anthracite-grey{
  background: linear-gradient(
    135deg,
    #4a4f55 0%,
    #2f343a 50%,
    #1f2327 100%
  );
}

.hardware-cta{
  margin-top: 36px;
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap: wrap;
}

/* optional "ghost" button style if you need it */
.btn2026--ghost{
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  color: #222;
}
.btn2026--ghost:hover{
  border-color: rgba(0,0,0,.28);
  transform: translateY(-1px);
}


/* 3-up grid for hinges */
.hinge-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 22px;
}

.hinge-card{
  background:#fff;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease;
  text-align:center;
}

.hinge-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.09);
}

.hinge-img{
  height: 220px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 14px;
}

.hinge-img img{
  max-height: 220px;
  max-width: 100%;
  width: auto;
  display:block;
}

/* headings + text */
.hinge-card h4{
  margin: 8px 0 10px;
  font-size: 16px;
  font-weight: 800;
}

.hinge-card p{
  margin: 0 0 14px;
  color:#666;
  line-height:1.55;
  font-size: 14px;
  min-height: 74px; /* keeps cards aligned */
}

/* meta line */
.hinge-meta{
  font-size: 14px;
  color:#444;
}

.meta-label{
  color:#777;
}

.meta-value{
  font-weight: 700;
}

/* note */
.hinge-note{
  margin: 22px 0 0;
  color:#666;
  font-size: 14px;
  max-width: 900px;
}

/* responsive */
@media (max-width: 1100px){
  .hinge-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
  .hinge-grid{ grid-template-columns: 1fr; }
  .hinge-img{ height: 200px; }
}

.hardware-group-intro{
  max-width: 900px;
  margin: 0 0 24px;
}

.hardware-group-intro p{
  margin: 0;
  color: #666;
  line-height: 1.6;
}

.swatch--red{
  background: linear-gradient(135deg, #b82121 0%, #8f1111 55%, #d63a3a 100%);
}

.swatch--copper{
  background: linear-gradient(135deg, #c98b62 0%, #9a5f3d 50%, #d9a17b 100%);
}

.hinge-meta--note{
  margin-top: 6px;
  color: #777;
  font-size: 13px;
}


.hardware-spec{
  margin-top: 34px;
}

.hardware-spec__panel{
  background:#fff;
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  max-width: 900px;
}

.hardware-spec__panel h3{
  margin: 0 0 18px;
  font-size: 22px;
  font-weight: 800;
}

.hardware-spec__table{
  border-top: 1px solid #e7e7e7;
  margin-bottom: 18px;
}

.hardware-spec__row{
  display: grid;
  grid-template-columns: 150px 1fr;
  border-bottom: 1px solid #e7e7e7;
}

.hardware-spec__label,
.hardware-spec__value{
  padding: 11px 14px;
  font-size: 14px;
}

.hardware-spec__label{
  background: #f1f3f5;
  font-weight: 700;
  color: #222;
}

.hardware-spec__value{
  color: #555;
  background: #fafafa;
}

.hardware-spec__text{
  margin: 0;
  color: #666;
  line-height: 1.65;
  max-width: 780px;
}

@media (max-width: 700px){
  .hardware-spec__row{
    grid-template-columns: 1fr;
  }

  .hardware-spec__label,
  .hardware-spec__value{
    padding: 10px 12px;
  }
}