/* Scoped appointment styles, designed for the site's editable WordPress blocks. */
.bm-dropoff-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.85fr) minmax(250px, 1fr);
	gap: clamp(1.5rem, 3vw, 2.75rem) !important;
	align-items: start;
}
.bm-dropoff-layout > * { min-width: 0; margin-block-start: 0 !important; }
.bm-section.bm-dropoff-section { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2rem, 5vw, 4rem); }
.bm-dropoff-hero .bm-page-title { max-width: 1000px; }
.bm-dropoff-hero .bm-page-intro { max-width: 720px; }
.bm-dropoff-hero-meta { color: #aaf8ef; font-size: .88rem; font-weight: 650; }
.bm-dropoff,
.bm-dropoff-details {
	text-align: left;
	color: #122033;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.55;
}
.bm-dropoff [hidden] { display: none !important; }
.bm-dropoff-card {
	padding: clamp(1.3rem, 3.2vw, 2.5rem);
	border: 1px solid #dce5ee;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 12px 40px rgba(14, 36, 66, .065);
}
.bm-dropoff-heading {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.8rem;
}
.bm-dropoff-icon {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	display: grid;
	place-items: center;
	border: 1px solid #bfddff;
	border-radius: 14px;
	color: #1a64d7;
	background: linear-gradient(140deg, #eff7ff, #e4faf8);
}
.bm-dropoff-icon svg { width: 26px; height: 26px; }
.bm-dropoff-heading h2 {
	margin: 0 0 .5rem !important;
	font-size: clamp(1.3rem, 2.1vw, 1.65rem);
	font-weight: 720;
	letter-spacing: -.035em;
	line-height: 1.2;
	color: #07111f;
}
.bm-dropoff-heading p { margin: 0; color: #526174; font-size: .93rem; line-height: 1.55; }
.bm-dropoff-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem 1.15rem; }
.bm-dropoff-field { min-width: 0; }
.bm-dropoff-field-full { grid-column: 1 / -1; }
.bm-dropoff-field label,
.bm-dropoff-times legend { display: block; margin: 0 0 .55rem; font-size: .92rem; font-weight: 690; color: #172638; }
.bm-dropoff-field label span,
.bm-dropoff-times legend span { color: #577184; }
.bm-dropoff-field input,
.bm-dropoff-field textarea {
	width: 100%;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: .75rem .9rem;
	border: 1px solid #becddd;
	border-radius: 11px;
	background: #fbfcfe;
	color: #122033;
	font: inherit;
	font-size: 16px;
	line-height: 1.45;
	transition: border-color .15s ease, box-shadow .15s ease;
	box-shadow: none;
}
.bm-dropoff-field input[type="date"] { min-height: 50px; appearance: auto; -webkit-appearance: auto; }
.bm-dropoff-field textarea { min-height: 120px; resize: vertical; }
.bm-dropoff-field input:focus,
.bm-dropoff-field textarea:focus { border-color: #2878ff; outline: 2px solid #2878ff; outline-offset: 2px; background: #fff; }
.bm-dropoff-field small { display: block; margin-top: .5rem; color: #5a6b7e; font-size: .8rem; line-height: 1.5; }
.bm-dropoff-schedule { margin-top: 1.6rem; padding-top: 1.6rem; border-top: 1px solid #e3eaf2; }
.bm-dropoff-times { min-width: 0; margin: 1.3rem 0 0; padding: 0; border: 0; }
.bm-dropoff-slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.bm-dropoff-slot { position: relative; min-width: 0; }
.bm-dropoff-slot input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	clip-path: inset(50%);
	margin: 0;
}
.bm-dropoff-slot label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 47px;
	padding: .65rem .35rem;
	border: 1px solid #becddd;
	border-radius: 10px;
	background: #fff;
	color: #193149;
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.35;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}
.bm-dropoff-slot input:not(:disabled) + label:hover { border-color: #2878ff; background: #f2f7ff; }
.bm-dropoff-slot input:checked + label { border-color: #1d66d8; background: #edf5ff; color: #164da4; box-shadow: inset 0 0 0 1px #1d66d8; }
.bm-dropoff-slot input:focus-visible + label { outline: 2px solid #2878ff; outline-offset: 3px; }
.bm-dropoff-slot input:disabled + label { border-color: #e1e6ec; background: #f5f7fa; color: #8793a1; text-decoration: line-through; cursor: not-allowed; }
.bm-dropoff-availability { min-height: 1.5em; margin: .65rem 0 0; font-size: .81rem; color: #526174; }
.bm-dropoff-times[aria-busy="true"] .bm-dropoff-availability::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: .45rem;
	vertical-align: -1px;
	border: 2px solid #bdd6ef;
	border-top-color: #2878ff;
	border-radius: 50%;
	animation: bm-dropoff-spin .75s linear infinite;
}
.bm-dropoff-hours { margin: .9rem 0 0; padding: .8rem .9rem; border-radius: 10px; background: #f1f7fb; color: #496072; font-size: .81rem; }
.bm-dropoff-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .7rem;
	width: 100%;
	min-height: 52px;
	margin-top: 1.5rem;
	padding: .85rem 1.25rem;
	border: 1px solid transparent;
	border-radius: 12px;
	background: #246ae6;
	color: #fff;
	font: inherit;
	font-size: .96rem;
	font-weight: 720;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color .15s ease;
}
.bm-dropoff-submit:not(:disabled):hover { background: #174eb0; }
.bm-dropoff-submit:disabled { background: #e4eaf1; color: #6b798b; cursor: not-allowed; }
.bm-dropoff-submit svg { width: 20px; height: 20px; }
.bm-dropoff-submit:focus-visible,
.bm-dropoff-reset:focus-visible,
.bm-dropoff-retry:focus-visible { outline: 2px solid #2878ff; outline-offset: 3px; }
.bm-dropoff-privacy { margin: .9rem 0 0; color: #5a6b7e; text-align: center; font-size: .77rem; line-height: 1.65; }
.bm-dropoff-privacy a { color: #215dad; font-weight: 600; }
.bm-dropoff-status { padding: .95rem; margin: 1rem 0 0; border: 1px solid #f0b6ae; border-radius: 10px; background: #fff5f3; color: #86291c; font-size: .9rem; }
.bm-dropoff-status:focus { outline: 2px solid #ad5447; outline-offset: 2px; }
.bm-dropoff-retry { padding: .1rem .35rem; border: 0; border-radius: 3px; background: transparent; color: #215dad; font: inherit; font-weight: 650; text-decoration: underline; cursor: pointer; }
.bm-dropoff-trap { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.bm-dropoff-success { padding: 1rem 0; text-align: center; }
.bm-dropoff-success:focus { outline: none; }
.bm-dropoff-success-icon { display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: .8rem; border: 1px solid #8bdac7; border-radius: 50%; background: #e5f8f1; color: #14725a; }
.bm-dropoff-success-icon svg { width: 32px; height: 32px; }
.bm-dropoff-success h3 { margin: .4rem 0 .75rem; color: #07111f; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 720; }
.bm-dropoff-success p { margin: .75rem 0; color: #526174; }
.bm-dropoff-success .bm-dropoff-confirmed-time { padding: 1rem; border: 1px solid #c9e0f6; border-radius: 12px; background: #eef7ff; color: #153e66; font-size: 1.05rem; font-weight: 700; }
.bm-dropoff-confirmed-location { font-size: .9rem; }
.bm-dropoff-reference { font-size: .8rem; overflow-wrap: anywhere; }
.bm-dropoff-success-note { font-size: .85rem; line-height: 1.65; }
.bm-dropoff-reset { margin-top: .7rem; padding: .7rem 1rem; border: 1px solid #becddd; border-radius: 10px; background: #fff; color: #1a57a4; font: inherit; font-size: .9rem; font-weight: 650; cursor: pointer; }
.bm-dropoff-details { padding: clamp(1.3rem, 2.5vw, 2rem); border: 1px solid #d8e5f2; border-radius: 24px; background: linear-gradient(150deg, #f0f7ff, #f5fbfa); }
.bm-dropoff-details > * { margin-top: 0; }
.bm-dropoff-details .bm-kicker { padding: 0; border: 0; background: none; color: #2464a2; font-size: .75rem; font-weight: 740; letter-spacing: .12em; }
.bm-dropoff-details h2 { margin-top: .8rem !important; font-size: 1.5rem; color: #10283c; }
.bm-dropoff-details h3 { margin-top: 1.6rem !important; font-size: 1.1rem; color: #10283c; }
.bm-dropoff-details p { font-size: .92rem; color: #456074; line-height: 1.65; }
.bm-dropoff-details a { color: #205f9f; font-weight: 650; }
.bm-dropoff-details .bm-dropoff-address { color: #172d40; font-size: 1.03rem; font-weight: 630; }
.bm-dropoff-details .bm-dropoff-detail-rule { margin-top: 1.45rem !important; padding-top: 1.45rem; border-top: 1px solid #d5e2eb; }
.bm-dropoff-details .bm-dropoff-detail-note { color: #536a7e; font-size: .82rem; }
@keyframes bm-dropoff-spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
	.bm-dropoff-layout { grid-template-columns: minmax(0, 1fr); }
	.bm-dropoff-details { width: 100%; }
}
@media (max-width: 480px) {
	.bm-dropoff-fields { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
	.bm-dropoff-card { padding: 1.15rem; border-radius: 18px; }
	.bm-dropoff-heading { gap: .75rem; }
	.bm-dropoff-icon { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }
	.bm-dropoff-icon svg { width: 22px; height: 22px; }
	.bm-dropoff-heading h2 { font-size: 1.26rem; }
	.bm-dropoff-slots { gap: .45rem; }
	.bm-dropoff-slot label { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
	.bm-dropoff *, .bm-dropoff *::before { animation: none !important; transition: none !important; }
}
