.bhab-order-fields {
	margin: 1rem 0;
}

.bhab-order-fields .bhab-fulfilment-fields {
	border: 1px solid #dcdcde;
	border-radius: 4px;
	clear: both;
	margin: 1rem 0;
	padding: 1rem;
}

.bhab-order-fields .bhab-amount-field {
	margin-bottom: 1rem;
}

.bhab-order-fields .bhab-fieldset {
	border: 0;
	margin: 0 0 1rem;
	padding: 0;
}

.bhab-order-fields .bhab-fieldset legend,
.bhab-order-fields label {
	font-weight: 600;
}

.bhab-order-fields .bhab-choice {
	display: inline-block;
	font-weight: 400;
	margin: 0 1.25rem .5rem 0;
}

.bhab-order-fields .bhab-help,
.bhab-order-fields .bhab-error {
	display: block;
	font-size: .875em;
	margin-top: .35rem;
}

.bhab-order-fields .bhab-help {
	opacity: .8;
}

.bhab-order-fields .bhab-error {
	color: #b32d2e;
	font-weight: 600;
}

.bhab-order-fields .bhab-error[hidden],
.bhab-order-fields [data-bhab-wish-amount][hidden],
.bhab-order-fields [data-bhab-delivery-location][hidden] {
	display: none !important;
}

.bhab-order-fields .bhab-location-field {
	margin-bottom: 1rem;
}

.bhab-order-fields #bhab_delivery_location {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.bhab-order-fields #bhab_requested_date[hidden],
.bhab-order-fields .bhab-date-display[hidden] {
	display: none !important;
}

.bhab-order-fields .bhab-date-display {
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
	background-position: right .9rem center;
	background-repeat: no-repeat;
	background-size: 1.15rem;
	box-sizing: border-box;
	cursor: pointer;
	max-width: 100%;
	padding-right: 2.75rem;
	width: 100%;
}

/* WordPress loads the datepicker script but not a public theme stylesheet.
   These small, scoped styles make forbidden days visibly unselectable. */
#ui-datepicker-div.ui-datepicker {
	background: #fff;
	border: 1px solid #d2d2d2;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgb(0 0 0 / 17%);
	box-sizing: border-box;
	color: #333;
	display: none;
	font-size: 15px;
	max-width: calc(100vw - 24px);
	padding: .75rem;
	width: 20rem;
	z-index: 99999 !important;
}

#ui-datepicker-div .ui-datepicker-header {
	min-height: 2.3rem;
	position: relative;
	text-align: center;
}

#ui-datepicker-div .ui-datepicker-title {
	font-weight: 650;
	line-height: 2.3rem;
}

#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
	border-radius: 4px;
	color: #5b2227;
	cursor: pointer;
	font-size: 0;
	line-height: 2.3rem;
	position: absolute;
	top: 0;
}

#ui-datepicker-div .ui-datepicker-prev::after,
#ui-datepicker-div .ui-datepicker-next::after {
	font-size: 1.7rem;
	line-height: 2rem;
}

#ui-datepicker-div .ui-datepicker-prev::after { content: '‹'; }
#ui-datepicker-div .ui-datepicker-next::after { content: '›'; }

#ui-datepicker-div .ui-datepicker-prev { left: .25rem; }
#ui-datepicker-div .ui-datepicker-next { right: .25rem; }
#ui-datepicker-div .ui-datepicker-prev.ui-state-disabled,
#ui-datepicker-div .ui-datepicker-next.ui-state-disabled { cursor: default; opacity: .3; }

#ui-datepicker-div table.ui-datepicker-calendar {
	border: 0;
	border-collapse: collapse;
	margin: 0;
	width: 100%;
}

#ui-datepicker-div .ui-datepicker-calendar th,
#ui-datepicker-div .ui-datepicker-calendar td {
	border: 0;
	padding: .12rem;
	text-align: center;
}

#ui-datepicker-div .ui-datepicker-calendar th {
	color: #666;
	font-size: .8rem;
	font-weight: 600;
}

#ui-datepicker-div .ui-datepicker-calendar td a,
#ui-datepicker-div .ui-datepicker-calendar td span {
	border-radius: 4px;
	display: block;
	font-weight: 400;
	line-height: 2.2rem;
	min-width: 1.5rem;
	padding: 0;
	text-align: center;
}

#ui-datepicker-div .ui-datepicker-calendar td a {
	background: #f7f7f7;
	color: #333;
	text-decoration: none;
}

#ui-datepicker-div .ui-datepicker-calendar td a:hover,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active {
	background: #5b2227;
	color: #fff;
}

#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span {
	background: #f3f3f3;
	color: #aaa;
	cursor: not-allowed;
}

#ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-other-month span {
	background: transparent;
	opacity: .45;
}

.bhab-order-fields .bhab-money-input {
	display: flex;
	max-width: 18rem;
}

.bhab-order-fields .bhab-money-input input {
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
	min-width: 0;
}

.bhab-order-fields .bhab-money-input > span {
	align-items: center;
	background: #f0f0f1;
	border: 1px solid #8c8f94;
	border-left: 0;
	border-radius: 0 3px 3px 0;
	display: flex;
	padding: 0 .75rem;
}

.bhab-native-fields {
	margin: 1em 0;
}
.bhab-native-fields .form-row {
	margin-bottom: 1em;
}
.bhab-native-fields select,
.bhab-native-fields textarea {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.bhab-destination-fields,
.bhab-recipient-fields,
.bhab-next-fields {
	box-sizing: border-box;
	border: 1px solid #ded6d3;
	border-radius: 8px;
	margin: 1.25rem 0;
	padding: 1rem 1.25rem;
}

.bhab-destination-fields legend,
.bhab-recipient-fields legend,
.bhab-next-fields legend {
	font-weight: 600;
	padding: 0 .5rem;
}

.bhab-recipient-fields .form-row {
	float: none;
	margin: .75rem 0;
	width: 100%;
}

.bhab-recipient-fields .input-text {
	box-sizing: border-box;
	width: 100%;
}

.bhab-destination-fields .bhab-choice {
	display: block;
	font-weight: 400;
	margin: .5rem 0;
}

.bhab-destination-fields [data-bhab-private-dropoff] {
	border-top: 1px solid #e9e1de;
	margin-top: 1rem;
	padding-top: .75rem;
}

.bhab-destination-fields [data-bhab-private-dropoff] p {
	margin: 0 0 .65rem;
}

.bhab-destination-fields .bhab-reception-note {
	background: #f0f7f2;
	border-left: 4px solid #45875e;
	line-height: 1.55;
	margin-top: 1rem;
	padding: .85rem 1rem;
}

.bhab-next-fields [data-bhab-inherit-next] {
	border-top: 1px solid #e9e1de;
	margin-top: 1rem;
	padding-top: .75rem;
}

.bhab-next-fields .bhab-next-instruction {
	background: #f0f7f2;
	border-left: 4px solid #45875e;
	border-radius: 3px;
	line-height: 1.55;
	padding: .85rem 1rem;
}

.bhab-next-fields .bhab-choice {
	display: block;
	font-weight: 400;
	margin: .45rem 0;
}

.bhab-recipient-section[hidden],
.bhab-destination-fields [hidden],
.bhab-next-fields [hidden] {
	display: none !important;
}

.bhab-cart-edit {
	font-size: .9em;
	margin-top: .5rem;
}

.bhab-cart-edit a {
	font-weight: 600;
	text-decoration: underline;
}

.bhab-edit-intro {
	background: #f0f7f2;
	border-left: 4px solid #45875e;
	clear: both;
	line-height: 1.5;
	margin: 1rem 0;
	padding: .9rem 1rem;
}

.bhab-edit-intro p {
	margin: .35rem 0 0;
}

form.cart .bhab-field-needs-attention input:not([type="radio"]),
form.cart .bhab-field-needs-attention select,
form.cart .bhab-field-needs-attention textarea {
	border: 2px solid #b32d2e;
}

form.cart .bhab-edit-field-error {
	color: #b32d2e;
	display: block;
	font-size: .9em;
	font-weight: 600;
	margin-top: .35rem;
}

/* Buttons must be recognizable at a glance in the cart and editing view. */
.bhab-cart-edit .bhab-action-button,
.bhab-edit-intro .bhab-action-button {
	box-sizing: border-box;
	display: inline-block;
	margin-top: .35rem;
	padding: .6rem 1rem;
	border: 1px solid #702f38;
	border-radius: 5px;
	background: #702f38;
	color: #fff !important;
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none !important;
	transition: background-color .15s ease;
}
.bhab-cart-edit .bhab-action-button:hover,
.bhab-cart-edit .bhab-action-button:focus,
.bhab-edit-intro .bhab-action-button:hover,
.bhab-edit-intro .bhab-action-button:focus {
	background: #4f2028;
	color: #fff !important;
	text-decoration: none !important;
}
.bhab-edit-intro .bhab-cancel-button {
	background: #fff;
	color: #702f38 !important;
}
.bhab-edit-intro .bhab-cancel-button:hover,
.bhab-edit-intro .bhab-cancel-button:focus {
	background: #f3e9ea;
	color: #4f2028 !important;
}


/* 0.8.3: actionable, accessible field-local validation messages. */
form.cart .bhab-destination-fields.bhab-field-needs-attention,
form.cart [data-bhab-private-dropoff].bhab-field-needs-attention,
form.cart .bhab-recipient-fields .bhab-field-needs-attention {
  border: 2px solid #b32d2e !important;
  background-color: #fff5f4;
  border-radius: 6px;
  padding: .7rem;
}
form.cart [data-bhab-destination-fields].bhab-field-needs-attention legend {
  color: #992329;
  font-weight: 700;
}
form.cart .bhab-field-needs-attention [data-bhab-field-warning] {
  color: #a12328;
  display: block;
  margin: .75rem 0 0;
  line-height: 1.5;
  font-size: .92rem;
  font-weight: 600;
}
form.cart [data-bhab-private-dropoff].bhab-field-needs-attention {
  margin: 1rem 0 0;
}
form.cart .bhab-field-needs-attention input[type="radio"] { accent-color: #b32d2e; }

/* 0.8.6: a single, clearly visible new-bouquet action on the classic cart. */
.bhab-cart-add-more { margin: 1.15rem 0 1.5rem; text-align: left; clear: both; }
.bhab-cart-add-more .bhab-action-button {
  display: inline-block;
  background: #702f38;
  color: #fff !important;
  border: 1px solid #702f38;
  border-radius: 5px;
  padding: .75rem 1.1rem;
  font-weight: 600;
  text-decoration: none !important;
  line-height: 1.5;
}
.bhab-cart-add-more .bhab-action-button:hover,
.bhab-cart-add-more .bhab-action-button:focus { background: #4f2028; color: #fff !important; }
