/* BNSG Cake Finder — form nhân viên tải mẫu bánh.
   Đồng bộ nhận diện với trang tìm bánh (hồng #FF5698, kem #FDF6EE, Nunito+Roboto).
   Responsive: PC / tablet / phone. */

.bcf-upload {
	--pink: #FF5698;
	--pink-dark: #E23D7E;
	--pink-soft: #FDEDEC;
	--cream: #FDF6EE;
	--ink: #020202;
	--gray: #4E4E4E;
	--gray-light: #808080;
	--pill-border: #EEE0E6;

	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--ink);
	background: var(--cream);
	border-radius: 24px;
	padding: 36px 28px 40px;
	max-width: 760px;
	margin: 0 auto;
	box-sizing: border-box;
}
.bcf-upload * { box-sizing: border-box; }

/* ---------- Header ---------- */
.bcf-upload-head { text-align: center; margin-bottom: 24px; }
.bcf-eyebrow {
	display: inline-block;
	background: var(--pink-soft);
	color: var(--pink-dark);
	font-weight: 700;
	font-size: 12.5px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 999px;
	margin-bottom: 12px;
}
.bcf-upload-head h2 {
	font-family: 'Nunito', 'Roboto', sans-serif;
	font-size: 28px;
	font-weight: 900;
	margin: 0 0 8px;
	color: var(--ink);
}
.bcf-upload-head p {
	font-size: 14px;
	color: var(--gray);
	line-height: 1.6;
	max-width: 520px;
	margin: 0 auto;
}

/* ---------- Card cho mỗi khối ---------- */
.bcf-card {
	background: #fff;
	border-radius: 16px;
	padding: 18px 20px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	margin-bottom: 16px;
	border: none;
}

/* Tiêu đề của từng khối (Ảnh, Ghi chú, tên nhóm tag). :not(.bcf-chip) để KHÔNG
   đè lên chip tag — chip cũng là <label> nên trước đây bị dính padding:0 + font to. */
.bcf-upload-form label:not(.bcf-chip),
.bcf-upload-form legend {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: 'Roboto', sans-serif;
	font-weight: 800;
	font-size: 16px;
	color: var(--ink);
	margin-bottom: 8px;
	padding: 0;
}
.bcf-emoji { font-size: 18px; line-height: 1; }

.bcf-group-hint {
	font-size: 12.5px;
	color: var(--gray-light);
	margin: 0 0 14px;
}

/* ---------- Ảnh: dropzone kéo-thả ---------- */
.bcf-dropzone {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 160px;
	padding: 26px 18px;
	border: 2px dashed var(--pink);
	border-radius: 14px;
	background: var(--cream);
	transition: background .15s ease, border-color .15s ease;
}
/* Input phủ kín vùng: bấm mở hộp chọn ảnh + kéo-thả gốc của trình duyệt đều chạy,
   và vẫn giữ được validation "required" (khác với display:none). */
.bcf-dropzone input[type="file"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}
.bcf-dropzone.is-dragover {
	background: var(--pink-soft);
	border-color: var(--pink-dark);
}
.bcf-dropzone.is-dragover .bcf-dropzone-icon { transform: scale(1.1); }
.bcf-dropzone-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	pointer-events: none; /* để click/kéo-thả rơi vào input phía dưới */
	color: var(--gray);
}
.bcf-dropzone-icon { font-size: 36px; line-height: 1; transition: transform .15s ease; }
.bcf-dropzone-text { font-size: 14.5px; line-height: 1.5; }
.bcf-dropzone-text strong { color: var(--pink-dark); }
.bcf-dropzone-hint { font-size: 12px; color: var(--gray-light); }
/* Khi đã chọn được ảnh: thu gọn dropzone, đổi lời nhắc. */
.bcf-dropzone.has-file { min-height: 0; padding: 12px 16px; }
.bcf-dropzone.has-file .bcf-dropzone-icon,
.bcf-dropzone.has-file .bcf-dropzone-hint { display: none; }

#bcf-image-preview {
    display: block;
    margin: 14px auto 0;
    width: 100%;
    max-width: 420px;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    object-fit: contain;
    background: var(--cream, #FDF6EE);
}

/* ---------- Tag chips (multi-select, ẩn checkbox) ---------- */
.bcf-tag-group[data-required="1"] legend::after {
	content: '';
}
.bcf-tag-group.bcf-tag-group-invalid { box-shadow: 0 0 0 2px var(--pink); }
.bcf-tag-group.bcf-tag-group-invalid legend { color: var(--pink-dark); }

.bcf-tag-chips { display: flex; flex-wrap: wrap; gap: 8px; }

/* Danh mục 4: khối size/mức giá theo phân loại */
.bcf-upload-size-block { margin-bottom: 14px; }
.bcf-upload-size-name { font-weight: 800; font-size: 14.5px; color: var(--pink-dark); margin-bottom: 4px; }
.bcf-upload-size-shape { font-size: 12.5px; font-weight: 700; color: var(--gray); margin: 8px 0 6px; }

.bcf-chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 15px;
	border: 1.5px solid var(--pill-border);
	border-radius: 999px;
	background: var(--cream);
	color: var(--ink);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	margin: 0;
	user-select: none;
	transition: all .15s ease;
}
.bcf-chip:hover { border-color: var(--pink); }
/* Ẩn checkbox/radio native nhưng vẫn truy cập được; pill đổi màu khi chọn. */
.bcf-chip input[type="checkbox"],
.bcf-chip input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
.bcf-chip span { line-height: 1.3; font-size: inherit; }
.bcf-chip:has(input:checked) {
	background: var(--pink);
	border-color: var(--pink);
	color: #fff;
	font-weight: 600;
}
/* Dấu ✓ nhỏ đầu chip khi được chọn (gợi ý có thể chọn nhiều). */
.bcf-chip:has(input:checked) span::before {
	content: '✓ ';
	font-weight: 700;
}
.bcf-chip:has(input:focus-visible) { outline: 2px solid var(--pink-dark); outline-offset: 2px; }

/* ---------- Ghi chú ---------- */
.bcf-upload-form textarea {
	width: 100%;
	padding: 12px 14px;
	font-size: 15px;
	font-family: inherit;
	border: 1.5px solid var(--pill-border);
	border-radius: 12px;
	resize: vertical;
}
.bcf-upload-form textarea:focus { border-color: var(--pink); outline: none; }

.bcf-upload-form select {
	width: 100%;
	padding: 12px 44px 12px 14px; /* chừa chỗ bên phải cho mũi tên */
	font-size: 15px;
	font-family: inherit;
	border: 1.5px solid var(--pill-border);
	border-radius: 12px;
	cursor: pointer;
	/* Ẩn mũi tên mặc định của trình duyệt, thay bằng mũi tên hồng rõ ràng. */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23E23D7E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.bcf-upload-form select:focus { border-color: var(--pink); outline: none; }

.bcf-upload-form input[type="password"],
.bcf-upload-form input[type="text"]:not([style]) {
	width: 100%;
	padding: 12px 14px;
	font-size: 15px;
	font-family: inherit;
	border: 1.5px solid var(--pill-border);
	border-radius: 12px;
	background: #fff;
}
.bcf-upload-form input[type="password"]:focus { border-color: var(--pink); outline: none; }

/* ---------- Nút gửi ---------- */
.bcf-upload-actions { text-align: center; margin-top: 22px; }
.bcf-submit-btn {
	display: inline-block;
	min-width: 240px;
	padding: 14px 32px;
	font-size: 16px;
	font-weight: 800;
	color: #fff;
	background: var(--pink);
	border: none;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(255, 86, 152, 0.35);
	transition: transform .1s ease;
}
.bcf-submit-btn:hover { transform: translateY(-1px); }
.bcf-submit-btn:disabled { opacity: 0.6; box-shadow: none; transform: none; }

/* ---------- Lỗi / thông báo ---------- */
.bcf-upload-error {
	background: var(--pink-soft);
	color: var(--pink-dark);
	border: 1px solid #f3c9dd;
	border-radius: 12px;
	padding: 12px 16px;
	margin-bottom: 16px;
	font-weight: 500;
}
.bcf-upload-login,
.bcf-upload-no-perm { max-width: 480px; margin: 0 auto; text-align: center; }

/* ---------- Màn hình thành công ---------- */
.bcf-upload-success { text-align: center; padding: 32px 24px; }
.bcf-upload-success-icon { font-size: 44px; margin-bottom: 8px; }
.bcf-upload-success h2 {
	font-family: 'Nunito', sans-serif;
	font-size: 24px;
	font-weight: 900;
	margin: 0 0 6px;
}
.bcf-upload-success p { color: var(--gray); margin: 0 0 20px; }

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
	.bcf-upload { padding: 24px 14px 32px; border-radius: 18px; }
	.bcf-upload-head h2 { font-size: 23px; }
	.bcf-card { padding: 16px 15px; }
	.bcf-submit-btn { width: 100%; min-width: 0; }
}
