.catalog-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.catalog-product-card{background:#fff;border:1px solid rgba(17,28,45,.1);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 30px rgba(17,28,45,.05)}.catalog-product-image{display:block;aspect-ratio:1/1;background:#f4f1eb;overflow:hidden}.catalog-product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.catalog-product-card:hover .catalog-product-image img{transform:scale(1.02)}.catalog-product-placeholder{width:100%;height:100%;display:grid;place-items:center}.catalog-product-placeholder svg{width:64px;height:64px;opacity:.35}.catalog-product-body{padding:18px;display:flex;flex:1;flex-direction:column}.catalog-product-sku{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin-bottom:8px}.catalog-product-body h3{font-size:19px;line-height:1.3;margin:0 0 10px}.catalog-product-body h3 a{color:inherit;text-decoration:none}.catalog-product-body p{font-size:14px;line-height:1.55;opacity:.76;margin:0 0 16px}.catalog-product-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.catalog-product-footer strong{font-size:19px;white-space:nowrap}.catalog-empty{padding:24px;border:1px dashed rgba(17,28,45,.2);border-radius:16px;text-align:center}.source-note{font-size:12px;opacity:.56}.product-source-photo{object-fit:contain!important;background:#f4f1eb}.price-option-body small.option-price-fixed{opacity:.8}.price-option-body small.option-price-request{opacity:.65}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.admin-wrap{max-width:1200px;margin:30px auto;padding:0 20px;font-family:Arial,sans-serif}.admin-form{display:grid;gap:14px;max-width:800px}.admin-form label{display:grid;gap:6px}.admin-form input,.admin-form textarea,.admin-form select{padding:10px;border:1px solid #bbb;border-radius:8px}.admin-actions{display:flex;gap:10px}.admin-btn{display:inline-block;padding:10px 14px;border-radius:8px;border:0;background:#111c2d;color:#fff;text-decoration:none;cursor:pointer}@media(max-width:900px){.catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.catalog-product-grid{grid-template-columns:1fr}.catalog-product-footer{align-items:flex-end}}

/* ===== Catalog image fit v2 ===== */
.catalog-product-image{
  display:grid;
  place-items:center;
  background:#f4f1eb;
}

.catalog-product-image img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center;
  background:#f4f1eb;
  padding:8px;
}

.catalog-product-card:hover .catalog-product-image img{
  transform:none;
}

/* ===== Catalog image fit v3: taller cards, full monument view ===== */
.catalog-product-image{
  aspect-ratio:4/5 !important;
  min-height:260px;
  display:grid !important;
  place-items:center;
  background:#f1eee7 !important;
  overflow:hidden;
}

.catalog-product-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  background:#f1eee7 !important;
}

.catalog-product-card:hover .catalog-product-image img{
  transform:none !important;
}

@media(max-width:900px){
  .catalog-product-image{
    min-height:300px;
  }
}

@media(max-width:620px){
  .catalog-product-image{
    aspect-ratio:3/4 !important;
    min-height:320px;
  }
}

/* ===== Catalog image fit v4: same principle as product page ===== */
.catalog-product-image{
  height: 340px !important;
  min-height: 340px !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f1eee7 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.catalog-product-image img{
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  background: #f1eee7 !important;
  padding: 0 !important;
  transform: none !important;
}

.catalog-product-card:hover .catalog-product-image img{
  transform: none !important;
}

@media (max-width: 900px){
  .catalog-product-image{
    height: 320px !important;
    min-height: 320px !important;
  }
}

@media (max-width: 620px){
  .catalog-product-image{
    height: 300px !important;
    min-height: 300px !important;
  }
}

/* ===== Catalog pagination v5 ===== */
.catalog-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:28px;
}
.catalog-page-link{
  min-width:42px;
  min-height:42px;
  padding:10px 14px;
  border:1px solid rgba(44,35,25,.18);
  border-radius:999px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.catalog-page-link:hover{
  transform:translateY(-1px);
}
.catalog-page-current{
  background:#2c2319;
  color:#fff;
  border-color:#2c2319;
}
.catalog-page-prev,
.catalog-page-next{
  min-width:auto;
}
.catalog-page-dots{
  padding:0 2px;
  opacity:.65;
}
.catalog-pagination-info{
  margin-left:auto;
  font-size:14px;
  opacity:.75;
}
@media (max-width:620px){
  .catalog-pagination-info{
    width:100%;
    margin-left:0;
  }
}


.catalog-sale-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.28rem .58rem;background:#8d1f1f;color:#fff;font-size:.78rem;font-weight:800;line-height:1}
.catalog-price-stack{display:flex;flex-direction:column;gap:.15rem}
.catalog-old-price{color:#7c8797;text-decoration:line-through;font-weight:600;font-size:.92rem}
.catalog-sale-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.5rem}
.catalog-sale-until{font-size:.86rem;color:#5b6472}
.catalog-sale-note{margin-top:.45rem;font-size:.92rem}
.catalog-empty{border:1px dashed rgba(17,28,45,.25);border-radius:18px;padding:28px;background:#fff}
.catalog-empty h3{margin:0 0 8px}
.catalog-empty p{margin:0}
