/* Bulgarche order form — matches the original Super Forms 6379 look
   (super-default-rounded theme): white rounded fields, grey placeholders as the
   only labels, coral submit button. The blue panel is supplied by the page
   container on the live site; .ba-panel reproduces it for standalone pages. */

.ba-order { width: 100%; box-sizing: border-box; }
.ba-order *, .ba-order *::before, .ba-order *::after { box-sizing: border-box; }

/* optional standalone blue panel (live page gets this from its container) */
.ba-order.ba-panel { background: #5b9bd5; padding: 28px; border-radius: 12px; }

.ba-order .ba-row { margin: 0 0 16px; }

/* fields */
.ba-order input[type="text"],
.ba-order input[type="tel"],
.ba-order input[type="email"],
.ba-order input[type="date"],
.ba-order select,
.ba-order textarea {
	width: 100%;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #cdcdcd;
	border-radius: 8px;
	color: #444;
	font-size: 16px;
	line-height: 1.4;
	transition: border-color .15s ease;
}
.ba-order input::placeholder,
.ba-order textarea::placeholder { color: #9a9a9a; opacity: 1; }
.ba-order input:focus,
.ba-order select:focus,
.ba-order textarea:focus { outline: none; border-color: #4EB1B6; }
.ba-order textarea { resize: vertical; min-height: 120px; }

/* dropdowns: hide native arrow, draw our own chevron */
.ba-order select {
	appearance: none; -webkit-appearance: none; -moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23444' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 40px;
	cursor: pointer;
}
/* first (placeholder) option greyed to mimic a placeholder */
.ba-order select:required:invalid,
.ba-order select.ba-empty { color: #9a9a9a; }

/* bold section headings */
.ba-order .ba-heading { font-weight: 700; color: #111; margin: 22px 0 12px; font-size: 16px; line-height: 1.4; }

/* 3-column address grid (collapses on mobile) */
.ba-order .ba-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 16px; }
.ba-order .ba-grid-3 .ba-row { margin: 0; }
@media (max-width: 600px) { .ba-order .ba-grid-3 { grid-template-columns: 1fr; } }

/* multi-date picker — flatpickr binds to .ba-date-input */
.ba-order .ba-date-input { cursor: pointer; background-color: #fff; }
/* flatpickr theming to match the site palette (selected = panel blue) */
.flatpickr-day.selected,
.flatpickr-day.selected:hover { background: #5b9bd5; border-color: #5b9bd5; }
.flatpickr-day.today { border-color: #f26c68; }
.flatpickr-day.today:hover { background: #f26c68; border-color: #f26c68; color: #fff; }
/* Super Forms had "display dates in other months" off — hide adjacent-month days */
.flatpickr-calendar .flatpickr-day.prevMonthDay,
.flatpickr-calendar .flatpickr-day.nextMonthDay { visibility: hidden; }

/* The site theme styles ALL <select>/<input> globally (full width, chevron bg,
   padding), which leaked into flatpickr's month/year header and pushed the
   prev-month arrow over the month name. Reset the header to flatpickr's intent. */
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
	position: absolute; top: 0; height: 34px; width: 30px; padding: 9px 8px;
	background: transparent !important; border: 0 !important; box-shadow: none !important; z-index: 4;
}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month { left: 0; right: auto; }
.flatpickr-calendar .flatpickr-months .flatpickr-next-month { right: 0; left: auto; }
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month svg { width: 14px; height: 14px; }
.flatpickr-calendar .flatpickr-current-month {
	display: flex; align-items: center; justify-content: center; gap: 4px;
	height: 34px; padding: 0 34px;
}
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
	width: auto !important; min-width: 0 !important; height: auto !important;
	margin: 0 !important; padding: 0 4px !important;
	background: transparent !important; background-image: none !important;
	border: 0 !important; box-shadow: none !important; font-size: 15px !important; line-height: 1.4 !important;
}
.flatpickr-calendar .flatpickr-current-month input.cur-year {
	width: 4.5ch !important; height: auto !important; margin: 0 !important; padding: 0 !important;
	background: transparent !important; background-image: none !important;
	border: 0 !important; box-shadow: none !important; font-size: 15px !important;
}

/* custom "done" button appended to the calendar */
.flatpickr-calendar .ba-fp-close {
	display: block; width: 100%; border: 0; cursor: pointer;
	background: #f26c68; color: #fff; font-size: 15px; font-weight: 600;
	padding: 11px 12px; border-radius: 0 0 5px 5px;
}
.flatpickr-calendar .ba-fp-close:hover { background: #444; }

/* consent */
.ba-order .ba-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; color: #111; }
.ba-order .ba-consent input { margin-top: 4px; width: 18px; height: 18px; flex: 0 0 auto; }
.ba-order .ba-consent a { color: #f26c68; text-decoration: none; }
.ba-order .ba-consent a:hover { text-decoration: underline; }

/* submit — coral, uppercase, left-aligned (form_button_align: left) */
.ba-order .ba-submit-row { margin-top: 22px; }
.ba-order .ba-submit {
	background: #f26c68; color: #fff; border: 0; border-radius: 8px;
	padding: 14px 34px; font-size: 16px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .5px; cursor: pointer;
	transition: background .15s ease;
}
.ba-order .ba-submit:hover { background: #444; }

/* validation + errors */
.ba-order .ba-invalid input,
.ba-order .ba-invalid select,
.ba-order .ba-invalid textarea,
.ba-order .ba-invalid .nice-select { border-color: #f2322b; }
/* per-field message shown under an invalid field */
.ba-order .ba-field-error {
	color: #fff; background: #f2322b; border-radius: 5px;
	font-size: 13px; line-height: 1.35; margin: 6px 0 0; padding: 6px 10px;
}
.ba-order .ba-grid-3 .ba-field-error { font-size: 12px; padding: 5px 8px; }
.ba-order .ba-errors {
	background: #FFEBEB; border: 1px solid #FFCBCB; color: #D08080;
	padding: 12px 16px; border-radius: 8px; margin: 0 0 20px;
}
.ba-order .ba-errors ul { margin: 6px 0 0; padding-left: 20px; }

/* screen-reader-only labels (kept for accessibility; visual cue is placeholder) */
.ba-order .ba-sr-only {
	position: absolute !important; width: 1px; height: 1px;
	padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* honeypot */
.ba-order .ba-hp {
	position: absolute !important; left: -9999px !important; top: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}
