uJzSmArQ
/* minimal reset & base */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: ‘Source Sans Pro’, ‘Segoe UI’, Roboto, sans-serif;
background: #f5f9fe;
display: flex;
justify-content: center;
padding: 30px 20px;
}
.product-card {
max-width: 1100px;
width: 100%;
background: white;
border-radius: 28px;
box-shadow: 0 12px 30px rgba(0,0,0,0.08);
padding: 30px 30px 40px;
}
/* schema container (invisible but semantic) */
.schema-wrap {
display: flex;
flex-direction: column;
gap: 28px;
}
/* gallery + info row */
.product-top {
display: flex;
flex-wrap: wrap;
gap: 30px;
align-items: flex-start;
}
.image-gallery {
flex: 1 1 300px;
min-width: 240px;
display: flex;
flex-direction: column;
gap: 12px;
}
.main-image {
background: #f0f5fa;
border-radius: 20px;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
min-height: 260px;
border: 1px solid #e2edf7;
}
.main-image img {
max-width: 100%;
height: auto;
max-height: 280px;
object-fit: contain;
filter: drop-shadow(0 6px 10px rgba(0,0,0,0.05));
}
.thumb-strip {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.thumb-strip img {
width: 70px;
height: 70px;
object-fit: cover;
border-radius: 14px;
border: 1px solid #dbe5ed;
background: white;
padding: 6px;
cursor: default;
transition: 0.1s ease;
}
.thumb-strip img:hover {
border-color: #2b7fc4;
}
.info-panel {
flex: 2 1 380px;
display: flex;
flex-direction: column;
gap: 12px;
}
.brand-tag {
font-size: 0.85rem;
letter-spacing: 0.4px;
color: #2c6b9e;
font-weight: 600;
text-transform: uppercase;
}
h1 {
font-size: 1.9rem;
font-weight: 600;
line-height: 1.2;
color: #0b1e2e;
margin: 0 0 4px;
}
.price-badge {
background: #e7f0fa;
padding: 8px 18px;
border-radius: 40px;
display: inline-block;