/* Baskı Fiyat Hesaplayıcı – Frontend CSS */

.bfh-wrapper {
	margin: 18px 0 20px;
	padding: 16px 18px;
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
}

/* ---- Sayfa sayısı alanı ---- */
.bfh-field {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.bfh-field label {
	font-weight: 600;
	font-size: 0.95em;
	color: #333;
	margin: 0;
	white-space: nowrap;
}

.bfh-count-input {
	width: 110px !important;
	padding: 8px 10px !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	font-size: 1em !important;
	text-align: center;
	-moz-appearance: textfield;
}

.bfh-count-input::-webkit-outer-spin-button,
.bfh-count-input::-webkit-inner-spin-button {
	-webkit-appearance: inner-spin-button;
	opacity: 1;
}

.bfh-count-input:focus {
	outline: none !important;
	border-color: #96588a !important;
	box-shadow: 0 0 0 2px rgba(150, 88, 138, 0.15) !important;
}

/* ---- Fiyat gösterge kutusu ---- */
.bfh-price-display {
	margin-top: 14px;
	padding: 12px 16px;
	background: #fff;
	border: 2px solid #96588a;
	border-radius: 6px;
}

.bfh-unit-row,
.bfh-total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bfh-unit-row {
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px dashed #e0e0e0;
}

.bfh-unit-label,
.bfh-total-label {
	font-size: 0.9em;
	color: #555;
	font-weight: 600;
}

.bfh-unit-amount {
	font-size: 1em;
	font-weight: 700;
	color: #555;
}

.bfh-total-label {
	font-size: 1em;
	color: #333;
}

.bfh-total-amount {
	font-size: 1.45em;
	font-weight: 700;
	color: #96588a;
}

/* ======================================================================
   TASARIM DOSYASI YÜKLEME
   ==================================================================== */

.bfh-upload-wrapper {
	margin: 18px 0 20px;
}

.bfh-upload-label {
	display: block;
	font-weight: 600;
	font-size: 0.95em;
	color: #333;
	margin-bottom: 8px;
}

.bfh-required {
	color: #c0392b;
	margin-left: 2px;
}

.bfh-optional {
	font-weight: 400;
	color: #888;
	font-size: 0.88em;
	margin-left: 4px;
}

/* ---- Yükleme alanı ---- */
.bfh-upload-area {
	position: relative;
	border: 2px dashed #ccc;
	border-radius: 8px;
	background: #fafafa;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	overflow: hidden;
}

.bfh-upload-area:hover,
.bfh-upload-area.bfh-drag-over {
	border-color: #96588a;
	background: #faf5fd;
}

.bfh-upload-area.bfh-has-file {
	border-style: solid;
	border-color: #96588a;
	background: #faf5fd;
}

/* input alanını tamamen üste kaplat (görünmez, tıklama örtüşmesi) */
.bfh-file-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}

/* ---- Placeholder ---- */
.bfh-upload-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 28px 20px;
	text-align: center;
	pointer-events: none;
}

.bfh-upload-icon {
	font-size: 2.4em;
	color: #96588a;
	line-height: 1;
	margin-bottom: 6px;
}

.bfh-upload-hint {
	font-size: 0.95em;
	color: #444;
	font-weight: 500;
}

.bfh-upload-types {
	display: block;
	font-size: 0.82em;
	color: #888;
	margin-top: 5px;
}

/* ---- Dosya seçildi ---- */
.bfh-file-selected {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	pointer-events: none;
	flex-wrap: wrap;
}

.bfh-file-icon {
	font-size: 1.6em;
	flex-shrink: 0;
}

.bfh-file-name {
	font-weight: 600;
	color: #333;
	font-size: 0.95em;
	word-break: break-all;
	flex: 1;
}

.bfh-file-size {
	font-size: 0.83em;
	color: #888;
	flex-shrink: 0;
}

.bfh-file-remove {
	pointer-events: auto;
	background: none;
	border: 1px solid #ccc;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	line-height: 1;
	cursor: pointer;
	color: #666;
	font-size: 1.2em;
	flex-shrink: 0;
	transition: background 0.15s, color 0.15s;
	z-index: 3;
	position: relative;
}

.bfh-file-remove:hover {
	background: #c0392b;
	color: #fff;
	border-color: #c0392b;
}

/* ---- Hata mesajı ---- */
.bfh-upload-error {
	margin-top: 8px;
	padding: 9px 13px;
	background: #fff0f0;
	border: 1px solid #f5c6c6;
	border-radius: 5px;
	color: #c0392b;
	font-size: 0.9em;
}


/* ---- Sayfa sayısı alanı ---- */
.bfh-field {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.bfh-field label {
	font-weight: 600;
	font-size: 0.95em;
	color: #333;
	margin: 0;
	white-space: nowrap;
}

.bfh-count-input {
	width: 110px !important;
	padding: 8px 10px !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	font-size: 1em !important;
	text-align: center;
	-moz-appearance: textfield;
}

.bfh-count-input::-webkit-outer-spin-button,
.bfh-count-input::-webkit-inner-spin-button {
	-webkit-appearance: inner-spin-button;
	opacity: 1;
}

.bfh-count-input:focus {
	outline: none !important;
	border-color: #96588a !important;
	box-shadow: 0 0 0 2px rgba(150, 88, 138, 0.15) !important;
}

/* ---- Fiyat gösterge kutusu ---- */
.bfh-price-display {
	margin-top: 14px;
	padding: 12px 16px;
	background: #fff;
	border: 2px solid #96588a;
	border-radius: 6px;
}

.bfh-unit-row,
.bfh-total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bfh-unit-row {
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px dashed #e0e0e0;
}

.bfh-unit-label,
.bfh-total-label {
	font-size: 0.9em;
	color: #555;
	font-weight: 600;
}

.bfh-unit-amount {
	font-size: 1em;
	font-weight: 700;
	color: #555;
}

.bfh-total-label {
	font-size: 1em;
	color: #333;
}

.bfh-total-amount {
	font-size: 1.45em;
	font-weight: 700;
	color: #96588a;
}
