.product-size-section{background:#f8f9fa;border-radius:8px;margin:1.5rem 0;padding:1rem}.size-label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:.75rem}.size-selected{color:var(--primary,#d4af37);font-weight:700;text-transform:uppercase}.size-selector{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));margin-top:.75rem}.size-option{position:relative}.size-input{opacity:0;pointer-events:none;position:absolute}.size-label-btn{align-items:center;background:#fff;border:2px solid #ddd;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:center;min-height:44px;padding:.5rem;text-align:center;transition:all .2s ease;user-select:none}.size-label-btn:hover{background:#fafafa;border-color:var(--primary,#d4af37)}.size-input:checked+.size-label-btn{background:var(--primary,#d4af37);border-color:var(--primary,#d4af37);box-shadow:0 2px 8px rgba(212,175,55,.3);color:#fff}.size-input:focus+.size-label-btn{outline:2px solid var(--primary,#d4af37);outline-offset:2px}.size-unavailable .size-label-btn{background:#f5f5f5;border-color:#e0e0e0;color:#999;cursor:not-allowed;position:relative}.size-unavailable .size-label-btn:after{background:#999;content:"";height:2px;left:0;position:absolute;right:0;top:50%;transform:rotate(-45deg)}.size-unavailable .size-label-btn:hover{background:#f5f5f5;border-color:#e0e0e0}.size-unavailable-icon{font-size:.75rem;margin-left:4px}.size-stock-info{align-items:center;border-radius:6px;display:flex;font-size:.875rem;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem}.size-stock-info i{font-size:1rem}.size-stock-available{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.size-error,.size-stock-low{background:#fff3cd;border:1px solid #ffeeba;color:#856404}.size-error{align-items:center;animation:slideDown .3s ease;border-radius:6px;display:flex;gap:.5rem;margin-top:1rem;padding:.75rem 1rem}.size-error.shake{animation:shake .5s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@media (max-width:768px){.size-selector{gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.size-label-btn{font-size:.875rem;min-height:40px;padding:.4rem}}@media (max-width:480px){.product-size-section{padding:.75rem}.size-selector{grid-template-columns:repeat(auto-fill,minmax(45px,1fr))}}