/* Chọn kích thước */
.hoa-size { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.hoa-size legend { font-weight: 600; margin: 0 0 8px; padding: 0; }
.hoa-size-list { display: flex; flex-wrap: wrap; gap: 8px; }
.hoa-size-opt { position: relative; cursor: pointer; margin: 0; }
.hoa-size-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hoa-size-box { display: flex; flex-direction: column; min-width: 92px; padding: 10px 14px; border: 1.5px solid var(--hoa-line, #ddd); border-radius: 12px; background: #fff; line-height: 1.3; }
.hoa-size-name { font-weight: 700; }
.hoa-size-price { color: var(--hoa-primary, #b3174f); font-weight: 600; }
.hoa-size-note { font-size: .85em; color: var(--hoa-muted, #666); }
.hoa-size-opt input:checked + .hoa-size-box { border-color: var(--hoa-primary, #b3174f); background: var(--hoa-soft, #fbe7ec); }
.hoa-size-opt input:focus-visible + .hoa-size-box { outline: 3px solid var(--hoa-primary, #b3174f); outline-offset: 2px; }

/* Mua kèm */
.hoa-addons { margin: 0 0 16px; }
.hoa-addons-title { font-weight: 600; margin: 0 0 8px; }
.hoa-addons ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hoa-addons label { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--hoa-line, #e5e5e5); border-radius: 10px; background: #fff; cursor: pointer; margin: 0; }
.hoa-addons input[type="checkbox"] { width: 20px; height: 20px; flex: none; margin: 0; }
.hoa-addon-img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; flex: none; }
.hoa-addon-name { flex: 1; }
.hoa-addon-price { color: var(--hoa-primary, #b3174f); font-weight: 600; white-space: nowrap; }
.hoa-total { font-size: 1.05em; margin: 0 0 14px; }
.hoa-total strong { color: var(--hoa-primary, #b3174f); }

/* Thông tin giao, chính sách */
.hoa-pr-info { margin: 0 0 16px; padding: 10px 14px; border-radius: 10px; background: var(--hoa-soft, #fbe7ec); font-size: .95em; line-height: 1.55; }
.hoa-swap { margin: 14px 0; border: 1px solid var(--hoa-line, #e5e5e5); border-radius: 10px; padding: 10px 14px; background: #fff; }
.hoa-swap summary { cursor: pointer; font-weight: 600; }
.hoa-swap div p:last-child { margin-bottom: 0; }

/* Nhãn ở danh sách sản phẩm */
ul.products li.product { position: relative; }
.hoa-off-badge { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: #2b1a2e; color: #fff; font-size: 12px; font-weight: 600; }

/* Trang thanh toán: lựa chọn khi thiếu hoa */
.hoa-pr-swap .woocommerce-input-wrapper { display: grid; gap: 6px; }
.hoa-pr-swap label.radio { display: inline !important; margin: 0 0 0 6px; font-weight: 400; }
