/* WCLDM – [delivery_request], [delivery_tracking], [delivery_map] (inside the theme) */
.wcldm-sr, .wcldm-track-lookup, .wcldm-coverage {
	--sr-border: rgba(127, 127, 127, .35);
	--sr-soft: rgba(127, 127, 127, .08);
	--sr-radius: 12px;
	max-width: 760px;
	margin: 0 auto 24px;
	box-sizing: border-box;
}
.wcldm-coverage { max-width: none; }
.wcldm-sr *, .wcldm-track-lookup * { box-sizing: border-box; }
.wcldm-sr-loading { padding: 24px; text-align: center; opacity: .7; }

/* Progress */
.wcldm-sr-progress { display: flex; gap: 4px; list-style: none; margin: 0 0 12px; padding: 0; counter-reset: s; }
.wcldm-sr-progress li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; opacity: .55; text-align: center; min-width: 0; }
.wcldm-sr-progress li .n { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 2px solid currentColor; font-weight: 700; }
.wcldm-sr-progress li .l { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.wcldm-sr-progress li.is-current, .wcldm-sr-progress li.is-done { opacity: 1; }
.wcldm-sr-progress li.is-current .n, .wcldm-sr-progress li.is-done .n { background: var(--wcldm-primary, #0f766e); border-color: var(--wcldm-primary, #0f766e); color: #fff; }
@media (max-width: 560px) {
	.wcldm-sr-progress li .l { display: none; }
	.wcldm-sr-progress li.is-current .l { display: block; }
}

/* Map */
.wcldm-sr-mapwrap { border-radius: var(--sr-radius); overflow: hidden; border: 1px solid var(--sr-border); margin-bottom: 12px; }
.wcldm-sr-map, .wcldm-coverage-map { height: 320px; width: 100%; }
.wcldm-coverage-map { border-radius: var(--sr-radius); border: 1px solid var(--sr-border); }
@media (min-width: 768px) { .wcldm-sr-map { height: 380px; } }
.wcldm-pin-wrap { background: transparent; border: 0; }
.wcldm-pin { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); color: #fff; font: 700 12px/1 sans-serif; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .35); }
.wcldm-pin > b { transform: rotate(45deg); }

/* Steps */
.wcldm-sr-step h3 { margin: 8px 0 10px; font-size: 1.15em; }
.wcldm-sr-step h4 { margin: 14px 0 6px; font-size: 1em; }
.wcldm-sr-field { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; font-size: 14px; flex: 1; min-width: 0; }
.wcldm-sr-field > span { font-weight: 600; }
.wcldm-sr input, .wcldm-sr textarea, .wcldm-track-lookup input { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--sr-border); border-radius: 10px; font: inherit; background: transparent; color: inherit; }
.wcldm-sr textarea { min-height: 64px; }
.wcldm-sr-row { display: flex; gap: 12px; flex-wrap: wrap; }
.wcldm-sr-row > * { flex: 1 1 200px; }
.wcldm-sr-search { display: flex; gap: 8px; margin-bottom: 6px; }
.wcldm-sr-search input { flex: 1; }
.wcldm-sr-search .button { min-height: 44px; white-space: nowrap; }
.wcldm-sr-dims { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.wcldm-sr-hint { font-size: 13px; opacity: .75; margin: 4px 0 10px; }
.wcldm-sr-link { background: none; border: 0; padding: 4px 0; color: var(--wcldm-primary, #0f766e); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; }
.wcldm-sr-msg, .wcldm-sr-error { padding: 10px 12px; border-radius: 10px; background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; margin: 0 0 12px; }

/* Choice chips */
.wcldm-sr-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 14px; }
.wcldm-sr-chip { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; padding: 10px 12px; min-height: 52px; border: 2px solid var(--sr-border); border-radius: 12px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.wcldm-sr-chip small { opacity: .7; font-size: 12px; }
.wcldm-sr-chip.is-on { border-color: var(--wcldm-primary, #0f766e); background: var(--sr-soft); }

/* Vehicles */
.wcldm-sr-vehicles { display: grid; gap: 8px; }
.wcldm-sr-vehicle { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; min-height: 64px; border: 2px solid var(--sr-border); border-radius: 12px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wcldm-sr-vehicle img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.wcldm-sr-vehicle .emoji { font-size: 30px; width: 44px; text-align: center; flex: none; }
.wcldm-sr-vehicle .info { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.wcldm-sr-vehicle .info small { opacity: .7; font-size: 12px; }
.wcldm-sr-vehicle .price { font-weight: 700; white-space: nowrap; }
.wcldm-sr-vehicle.is-on { border-color: var(--wcldm-primary, #0f766e); background: var(--sr-soft); }
.wcldm-sr-vehicle.is-off, .wcldm-sr-vehicle:disabled { opacity: .5; cursor: not-allowed; }

/* Review */
.wcldm-sr-summary { display: grid; grid-template-columns: minmax(90px, 30%) 1fr; gap: 6px 12px; margin: 0 0 14px; }
.wcldm-sr-summary dt { font-weight: 600; }
.wcldm-sr-summary dd .wcldm-sr-link { white-space: nowrap; flex: none; }
.wcldm-sr-summary dd { margin: 0; display: flex; gap: 8px; justify-content: space-between; align-items: flex-start; word-break: break-word; }
.wcldm-sr-breakdown { width: 100%; border-collapse: collapse; }
.wcldm-sr-breakdown td, .wcldm-sr-breakdown th { padding: 6px 4px; border-bottom: 1px solid var(--sr-border); text-align: left; }
.wcldm-sr-breakdown td:last-child, .wcldm-sr-breakdown th:last-child { text-align: right; white-space: nowrap; }
.wcldm-sr-breakdown .total th { font-size: 1.1em; border-bottom: 0; }

/* Sticky nav */
.wcldm-sr-nav { position: sticky; bottom: 0; display: flex; align-items: center; gap: 10px; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); margin-top: 12px; background: var(--wcldm-sr-bg, Canvas); box-shadow: 0 -8px 16px -12px rgba(0,0,0,.35); border-top: 1px solid var(--sr-border); z-index: 500; }
.wcldm-sr-total { flex: 1; text-align: center; font-weight: 700; font-size: 1.1em; }
.wcldm-sr-back { background: none; border: 1px solid var(--sr-border); border-radius: 10px; min-height: 46px; padding: 0 16px; color: inherit; font: inherit; cursor: pointer; }
.wcldm-sr-next.button { min-height: 46px; padding: 0 22px; border-radius: 10px; background: var(--wcldm-primary, #0f766e); color: #fff; border: 0; font-weight: 700; cursor: pointer; }
.wcldm-sr-next:disabled { opacity: .6; cursor: wait; }
.wcldm-sr :focus-visible, .wcldm-track-lookup :focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }

/* Tracking lookup */
.wcldm-track-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
.wcldm-track-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--sr-border); border-radius: 10px; }
.wcldm-track-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.wcldm-service-summary table th { width: 32%; }
