/* Page-specific tweaks that sit on top of theme.css */
.showroom-strip { display: flex; gap: 30px; flex-wrap: wrap; justify-content: space-around; padding: 40px 0; }
.showroom-strip .item { text-align: center; max-width: 160px; }
.showroom-strip img { width: 46px; margin: 0 auto 12px; }
.showroom-strip h5 { font-family: var(--font-body); font-size: .85rem; font-weight: 700; margin: 0; }

.category-tile { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/5; }
.category-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.category-tile:hover img { transform: scale(1.05); }
.category-tile .label { position: absolute; bottom: 20px; left: 20px; background: rgba(255,255,255,.92); padding: 10px 22px; border-radius: 30px; font-weight: 700; letter-spacing: .05em; font-size: .82rem; }

.review-card { padding: 28px; }
.review-card .stars { color: var(--color-accent); margin-bottom: 10px; }
.review-card .author { font-weight: 700; margin-top: 14px; }

.faq-item { border-bottom: 1px solid var(--color-border); padding: 18px 0; }
.faq-item summary { cursor: pointer; font-weight: 700; list-style: none; display:flex; justify-content:space-between; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] summary::after { content: '−'; }
.faq-item summary::after { content: '+'; color: var(--color-accent); font-size: 1.2rem; }

.gallery-grid { columns: 3 220px; gap: 16px; }
.gallery-grid img { margin-bottom: 16px; border-radius: var(--radius-sm); }
@media (max-width: 700px) { .gallery-grid { columns: 2 160px; } }

.blog-card .meta { font-size: .78rem; color: var(--color-secondary); text-transform: uppercase; letter-spacing: .04em; }

.product-gallery-main { border-radius: var(--radius); overflow: hidden; margin-bottom: 14px; aspect-ratio: 4/3; }
.product-gallery-main img { width:100%; height:100%; object-fit: cover; }
.product-thumbs { display: flex; gap: 10px; }
.product-thumbs img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; cursor: pointer; border: 2px solid transparent; }
.product-thumbs img.active { border-color: var(--color-accent); }
.spec-list { list-style: none; padding: 0; margin: 20px 0; }
.spec-list li { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--color-border); font-size: .9rem; }
.spec-list li span:first-child { color: var(--color-secondary); }

.cart-table td, .cart-table th { vertical-align: middle; }
.cart-line-thumb { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }

.checkout-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 900px) { .checkout-grid { grid-template-columns: 1fr; } }
.order-summary-box { background: var(--color-surface); border-radius: var(--radius); padding: 26px; position: sticky; top: 100px; }
