.product-size-select { background: var(--paper); border: 1px solid var(--line); border-radius: 999px; bottom: 14px; color: var(--cacao); font: inherit; font-size: 12px; left: 14px; padding: 8px 28px 8px 12px; position: absolute; z-index: 2; }
.product-card .product-image-wrap { aspect-ratio: 4 / 3; background: #e3c9b3; }
.product-card .product-image-wrap img { display: block; height: 100%; min-height: 100%; object-fit: contain; opacity: 1; width: 100%; }
.product-info > strong { align-items: flex-end; display: flex; flex-direction: column; gap: 2px; }
.product-price-original { color: var(--muted); font-family: var(--sans); font-size: 11px; font-weight: 400; text-decoration: line-through; }
.product-price-promo { color: var(--terracotta); }
.product-size-label { background: var(--paper); bottom: 58px; color: var(--muted); font-size: 10px; left: 14px; padding: 4px 8px; position: absolute; z-index: 2; }
.product-preview-panel { display: grid; gap: 12px; }
.product-form { grid-template-columns: 1fr 1fr; }
.product-form-side { grid-column: 1 / -1; }
.preview-card { max-width: 350px; }
.preview-card .product-image-wrap { overflow: hidden; }
.preview-card .product-image-wrap img { object-fit: cover; transition: transform .15s ease; }
.image-controls { background: var(--paper); border: 1px solid var(--line); display: grid; gap: 5px; padding: 12px; }
.image-rotate-button { background: var(--cacao); border: 0; color: var(--paper); cursor: pointer; font: inherit; margin-top: 8px; padding: 9px 12px; }
.image-controls label { margin-top: 3px !important; }
.size-options { border: 1px solid var(--line); display: grid; gap: 10px; margin: 18px 0 0; padding: 14px; }
.size-options legend { font-size: 12px; font-weight: 700; padding: 0 5px; }
.size-options legend span { color: var(--muted); font-size: 10px; font-weight: 400; margin-left: 5px; }
.size-option { align-items: center; display: grid; gap: 10px; grid-template-columns: 1fr 1.5fr; margin: 0 !important; }
.size-option > span:first-child { align-items: center; display: flex; gap: 8px; }
.size-prices { display: grid; gap: 5px; grid-template-columns: 1fr 1fr; }
.size-prices input { min-height: 38px !important; padding: 8px !important; }
.size-admin-list { display: grid; gap: 10px; margin-top: 35px; max-width: 800px; }
.size-admin-row { align-items: center; background: var(--paper); border: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: 1.5fr 90px auto auto auto; padding: 12px; }
.size-admin-row input:not([type=checkbox]) { min-height: 38px; padding: 8px; }
@media (max-width: 700px) { .size-option, .size-admin-row { grid-template-columns: 1fr; } }
