/* Capacitor listing and detail page styles */

.cap-list-container {
  display: grid;
  row-gap: 2rem;
  padding: 8rem 2rem 4rem;
  max-width: 100rem;
  justify-self: center;
  min-height: 80vh;
}

.cap-list-title {
  font-size: 2.5rem;
  text-align: center;
  color: var(--gold);
  padding-bottom: 1rem;
  border-bottom: solid 1px var(--black2);
}

.cap-list-subtitle {
  font-size: 1.3rem;
  text-align: center;
  color: var(--black3);
  padding-bottom: 2rem;
}

.cap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
  gap: 2rem;
}

.cap-card {
  background-color: var(--black1);
  border: solid 1px var(--black2);
  border-radius: 8px;
  padding: 2rem;
  display: grid;
  row-gap: 1rem;
  transition: border-color 0.2s, transform 0.2s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.cap-card:hover {
  border-color: var(--gold);
  transform: translateY(-3px);
}

.cap-card-brand {
  font-size: 1.2rem;
  color: var(--gold);
  font-weight: 600;
}

.cap-card-model {
  font-size: 1.1rem;
  color: var(--light);
}

.cap-card-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  font-size: 1rem;
  color: var(--black3);
}

.cap-card-spec-item {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.5rem;
}

.cap-card-spec-label {
  color: var(--black3);
}

.cap-card-spec-value {
  color: var(--light);
}

.cap-card-price {
  font-size: 1.8rem;
  color: var(--gold);
  font-weight: 600;
  text-align: right;
}

.cap-card-price .lc-unit {
  font-size: 1.2rem;
}

/* Capacitor detail page */
.cap-detail-container {
  display: grid;
  row-gap: 3rem;
  padding: 8rem 2rem 4rem;
  max-width: 70rem;
  justify-self: center;
  min-height: 80vh;
}

.cap-detail-header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3rem;
  align-items: center;
}

.cap-detail-visual {
  width: 12rem;
  height: 12rem;
  border-radius: 8px;
  display: grid;
  place-items: center;
}

.cap-detail-info {
  display: grid;
  row-gap: 0.8rem;
}

.cap-detail-brand {
  font-size: 1.5rem;
  color: var(--gold);
  font-weight: 600;
}

.cap-detail-model {
  font-size: 2rem;
  color: var(--light);
  font-weight: 600;
}

.cap-detail-desc {
  font-size: 1.2rem;
  color: var(--black3);
  line-height: 1.6;
}

.cap-detail-price-row {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 2rem;
  align-items: center;
}

.cap-detail-price {
  font-size: 2.5rem;
  color: var(--gold);
  font-weight: 600;
}

.cap-detail-add-btn {
  background: linear-gradient(var(--black2) 90%, var(--red2));
  border: solid 1px var(--red2);
  border-radius: 4px;
  color: var(--light);
  font-size: 1.3rem;
  padding: 1rem 2rem;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s;
}

.cap-detail-add-btn:hover {
  background: linear-gradient(var(--black1) 80%, var(--red1));
  transform: scale(1.03);
}

.cap-detail-add-btn.in-cart {
  color: var(--blue1);
  border-color: var(--blue1);
}

.cap-detail-specs {
  display: grid;
  gap: 1rem;
}

.cap-detail-specs-title {
  font-size: 1.8rem;
  text-align: center;
  color: var(--light);
  padding-bottom: 1rem;
  border-bottom: solid 1px var(--black2);
}

.cap-spec-row {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 2rem;
  padding: 0.8rem 0;
  border-bottom: solid 1px var(--black2);
}

.cap-spec-label {
  font-size: 1.2rem;
  color: var(--gold);
  font-weight: 600;
  min-width: 15rem;
}

.cap-spec-value {
  font-size: 1.2rem;
  color: var(--light);
}

.cap-back-link {
  font-size: 1.2rem;
  color: var(--blue2);
  text-decoration: none;
}

.cap-back-link:hover {
  text-decoration: underline;
}

/* === Limited Edition / Limited Time badge styles === */
.cap-card {
  position: relative;
  overflow: hidden;
}

.cap-card-limited {
  border-color: var(--gold);
  box-shadow: 0 0 1.2rem rgba(212, 175, 55, 0.25);
}

.cap-card-limited:hover {
  border-color: var(--gold);
  box-shadow: 0 0 2rem rgba(212, 175, 55, 0.45);
}

.cap-card-badge {
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(135deg, var(--red2), var(--gold));
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.4rem 1rem;
  border-bottom-left-radius: 8px;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  z-index: 2;
}

.cap-detail-badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--red2), var(--gold));
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0.5rem 1.5rem;
  border-radius: 4px;
  margin: 0.8rem 0;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.cap-detail-stock-note {
  margin-top: 1rem;
  padding: 0.8rem 1.2rem;
  background: rgba(212, 175, 55, 0.1);
  border-left: 3px solid var(--gold);
  color: var(--gold);
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 0 4px 4px 0;
}
