*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  background:#000;
  color:#fff;
}

/* LAYOUT */
.page{
  max-width:1300px;
  margin:80px auto;
  padding:40px;
}

h1{
  font-size:36px;
  margin-bottom:10px;
}

.subtitle{
  color:#bbb;
  margin-bottom:50px;
}

/* GRID */
.product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

/* PRODUCT CARD */
.product-card{
  background:#111;
  border:2px solid rgba(255,255,255,0.1);
  padding:20px;
  transition:all 0.35s ease;
}

.product-card:hover{
  border-color:#fff;
  transform:translateY(-6px);
}

.product-card img{
  width:100%;
  height:200px;
  object-fit:contain;
  margin-bottom:15px;
}

.product-card h3{
  margin:0 0 8px;
}

.price{
  font-weight:600;
  margin-bottom:12px;
}

/* SPECS */
.specs{
  font-size:14px;
  color:#ccc;
  line-height:1.6;
  margin-bottom:20px;
}

/* BUTTONS */
.actions{
  display:flex;
  gap:12px;
}

.btn{
  flex:1;
  padding:12px;
  border:none;
  cursor:pointer;
  font-weight:600;
}

.buy{
  background:#fff;
  color:#000;
}

.rent{
  background:transparent;
  border:2px solid #fff;
  color:#fff;
}

/* RESPONSIVE */
@media(max-width:1000px){
  .product-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:600px){
  .product-grid{
    grid-template-columns:1fr;
  }
  .product-card img{ height:160px; }
  .actions{ flex-direction:column; gap:10px; }
  .btn{ width:100%; padding:12px 14px; }
  .product-card{ padding:16px; }
  h1{ font-size:24px; }
  .page{ margin:30px 12px; padding:16px; }
} 

/* FLOATING CART */
.cart-float{
  position:fixed;
  bottom:20px;
  right:20px;
  background:#0b5cff;
  color:#fff;
  padding:14px 18px;
  border-radius:999px;
  font-size:16px;
  font-weight:600;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}

.product-card{
  position:relative;
}

/* INFO BUTTON (TOP RIGHT) */
.info-btn{
  position:absolute;
  top:16px;
  right:16px;
  background:transparent;
  border:2px solid rgba(255,255,255,0.3);
  color:#fff;
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  cursor:pointer;
  transition:all 0.25s ease;
}

.info-btn:hover{
  border-color:#fff;
  background:#fff;
  color:#000;
  transform:scale(1.1);
}

/* HIDE / SHOW SPECS */
.hidden{
  display:none;
}
