.lwo-location-wrap {
	margin-bottom: 20px;
}

.lwo-location-field-row {
	position: relative;
}

.lwo-select-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 11px 12px;
	cursor: pointer;
	background: #fff;
	line-height: 1.4;
}

.lwo-select-box:focus {
	outline: none;
	border-color: #7f54b3;
	box-shadow: 0 0 0 1px #7f54b3;
}

.lwo-display-text {
	color: #888;
	font-size: 14px;
}

.lwo-display-text.lwo-selected {
	color: #222;
	font-weight: 500;
}

.lwo-arrow {
	color: #888;
	margin-left: 8px;
}

.lwo-dropdown-panel {
	position: relative;
	margin-top: 4px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	max-height: 280px;
	overflow-y: auto;
	box-shadow: 0 4px 14px rgba( 0, 0, 0, 0.1 );
	z-index: 50;
}

.lwo-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lwo-list li {
	padding: 11px 14px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #f2f2f2;
	font-size: 14px;
}

.lwo-list li:last-child {
	border-bottom: none;
}

.lwo-list li:hover {
	background: #f7f5fa;
}

.lwo-caret {
	color: #aaa;
	font-size: 16px;
}

.lwo-back-btn {
	padding: 11px 14px;
	cursor: pointer;
	font-weight: 600;
	font-size: 13px;
	color: #7f54b3;
	border-bottom: 1px solid #eee;
}

.lwo-back-btn:hover {
	background: #f7f5fa;
}

.lwo-breadcrumb {
	padding: 6px 14px;
	font-size: 12px;
	color: #999;
	border-bottom: 1px solid #eee;
}

.lwo-loading,
.lwo-empty,
.lwo-error {
	padding: 14px;
	color: #888;
	font-size: 13px;
	text-align: center;
}

.lwo-shipping-note {
	color: #767676;
	display: block;
	margin-top: 2px;
}

.lwo-shipping-warning {
	color: #c9302c;
	display: block;
	margin-top: 2px;
	font-weight: 500;
}

/* ==========================================================================
   Delivery option boxes (Instant / Next Day / Regular)
   ========================================================================== */

.lwo-native-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect( 0, 0, 0, 0 ) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.lwo-ship-box-wrap {
	margin: 4px 0 20px;
}

.lwo-ship-list {
	list-style: none;
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}

.lwo-ship-option {
	--lwo-accent: #7f54b3;
	--lwo-accent-bg: #f6f3fb;
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	/* Same padding/line-height as .lwo-select-box (and WooCommerce's own
	   name/address text inputs) so all these boxes line up at one height. */
	padding: 11px 8px;
	line-height: 1.4;
	/* Grey by default — the accent color only appears once the box is
	   actually selected (see .lwo-selected below). */
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	user-select: none;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.lwo-ship-option:focus {
	outline: 2px solid var( --lwo-accent );
	outline-offset: 2px;
}

.lwo-ship-option.lwo-color-instant  { --lwo-accent: #1e8e3e; --lwo-accent-bg: #eafaf0; }
.lwo-ship-option.lwo-color-nextday  { --lwo-accent: #c99a02; --lwo-accent-bg: #fdf8e6; }
.lwo-ship-option.lwo-color-regular  { --lwo-accent: #d93025; --lwo-accent-bg: #fdecea; }

.lwo-ship-option .lwo-ship-icon {
	/* Dropped to keep the box a single text line, matching input height. */
	display: none;
}

.lwo-ship-option .lwo-ship-name {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .2px;
	color: #666;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.lwo-ship-option .lwo-ship-price {
	font-size: 13px;
	font-weight: 700;
	/* Grey by default, matches .lwo-ship-name — colored only when selected. */
	color: #666;
	white-space: nowrap;
}

.lwo-ship-option.lwo-selected {
	border-color: var( --lwo-accent );
	background: var( --lwo-accent-bg );
	box-shadow: 0 0 0 1px var( --lwo-accent ) inset;
}

.lwo-ship-option.lwo-selected .lwo-ship-name,
.lwo-ship-option.lwo-selected .lwo-ship-price {
	color: var( --lwo-accent );
}

.lwo-ship-option.lwo-ship-disabled {
	cursor: not-allowed;
}

.lwo-ship-option.lwo-ship-disabled .lwo-ship-price {
	color: #aaa;
}

.lwo-ship-option.lwo-ship-disabled:hover {
	transform: none;
}

.lwo-ship-list.lwo-ship-required-error .lwo-ship-option {
	border-color: #d93025;
}

.lwo-ship-error-msg {
	display: none;
	color: #d93025;
	font-size: 13px;
	margin: 8px 0 0;
	font-weight: 500;
}

.lwo-ship-box-wrap.lwo-ship-show-error .lwo-ship-error-msg {
	display: block;
}

.lwo-ship-note-box {
	display: none;
	margin-top: 12px;
	padding: 2px 0 2px 12px;
	border-left: 3px solid var( --lwo-accent, #7f54b3 );
	font-size: 13px;
	line-height: 1.5;
	color: var( --lwo-accent, #555 );
	background: none;
}

.lwo-ship-note-box.lwo-color-instant  { --lwo-accent: #1e8e3e; }
.lwo-ship-note-box.lwo-color-nextday  { --lwo-accent: #b8860b; }
.lwo-ship-note-box.lwo-color-regular  { --lwo-accent: #d93025; }

.lwo-ship-note-box .lwo-ship-note-warning {
	display: block;
	margin-top: 4px;
	font-weight: 700;
	color: #d93025;
}

@media ( max-width: 480px ) {
	.lwo-ship-list {
		gap: 6px;
	}
	.lwo-ship-option {
		padding: 10px 4px;
		gap: 3px;
	}
	.lwo-ship-option .lwo-ship-name {
		font-size: 11px;
	}
	.lwo-ship-option .lwo-ship-price {
		font-size: 11px;
	}
}

@media ( max-width: 360px ) {
	.lwo-ship-option .lwo-ship-name {
		font-size: 10px;
	}
	.lwo-ship-option .lwo-ship-price {
		font-size: 10px;
	}
}
