.gallery-main { background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.gallery-main img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.gallery-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 12px; }
.gallery-thumb { padding: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; overflow: hidden; cursor: pointer; }
.gallery-thumb.active { outline: 3px solid var(--coral); outline-offset: 1px; }
.gallery-thumb img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.gallery-caption, .rich-kicker { color: var(--muted); font-size: .75rem; margin: 12px 0 0; }
.rich-description h2 { font-size: 1.7rem; }
.rich-description > p:not(.rich-kicker) { font-size: 1rem; line-height: 1.75; color: var(--ink); }
.highlight-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 20px; }
.highlight-grid article { min-height: 86px; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); }
.highlight-grid span { display: block; color: var(--coral); font-size: .72rem; font-weight: 800; margin-bottom: 8px; }
.highlight-grid strong { font-size: .84rem; line-height: 1.3; }
.spec-list { margin: 0; border-top: 1px solid var(--line); }
.spec-list div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.spec-list dt { font-size: .8rem; font-weight: 800; }
.spec-list dd { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.5; }
@media (max-width: 640px) { .gallery-thumbs { grid-template-columns: repeat(3, 1fr); } .highlight-grid { grid-template-columns: 1fr; } .spec-list div { grid-template-columns: 1fr; gap: 5px; } }
.checkline { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.checkline input { width: auto; margin-top: 2px; }
.form-status { min-height: 1.4em; color: #a14738; font-size: .84rem; }
.solid-button:disabled { cursor: wait; opacity: .65; }
.order-confirmation { max-width: 760px; margin: 90px auto; }
.checkout-order { margin-top: 28px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fffdf8; }
.checkout-order h3 { margin: 0 0 12px; }
.checkout-order p { display: flex; justify-content: space-between; gap: 16px; margin: 9px 0; color: var(--muted); font-size: .86rem; }
.checkout-order .checkout-total { padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); font-size: 1rem; }
