/* ShopBooster — Quick COD popup (colours from the theme's --ev-* tokens when present) */
.sb-cod {
	width: min(94vw, 460px); max-height: 94vh; padding: 0; border: 0;
	border-radius: var(--ev-radius, 12px); background: var(--ev-surface, #fff); color: var(--ev-ink, #1c2321);
	box-shadow: 0 20px 60px rgb(0 0 0 / 30%); overflow: auto;
}
.sb-cod::backdrop { background: rgb(10 15 13 / 60%); }
.sb-cod__form, .sb-cod__done { position: relative; padding: 22px 20px 20px; }
.sb-cod__close {
	position: absolute; top: 8px; right: 8px; width: 40px; height: 40px;
	border: 0; border-radius: 50%; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: var(--ev-muted, #667471);
}
.sb-cod__title { margin: 0 36px 2px 0; font-size: 1.25rem; color: var(--ev-primary-ink, #008541); }
.sb-cod__sub { margin: 0 0 14px; font-size: .92rem; color: var(--ev-muted, #667471); }
.sb-cod__product { display: flex; gap: 12px; align-items: center; padding: 10px; margin-bottom: 14px; border: 1px solid var(--ev-line, #e4e8e7); border-radius: var(--ev-radius-sm, 8px); }
.sb-cod__img { width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 6px; }
.sb-cod__product strong { display: block; font-size: .95rem; line-height: 1.35; }
.sb-cod__unit { color: var(--ev-primary-ink, #008541); font-weight: 700; }
.sb-cod__fields { display: grid; gap: 10px; }
.sb-cod__fields label { display: grid; gap: 4px; font-size: .9rem; font-weight: 600; }
.sb-cod__lbl i { color: #d6282e; font-style: normal; }
.sb-cod__fields input[type="text"], .sb-cod__fields input[type="tel"], .sb-cod__fields textarea {
	width: 100%; min-height: 46px; padding: 10px 12px; font: inherit; font-weight: 400;
	border: 1px solid #cfd8d5; border-radius: var(--ev-radius-sm, 8px); background: #fff;
}
.sb-cod__fields textarea { min-height: 64px; resize: vertical; }
.sb-cod__zone { margin: 0; padding: 8px 12px 10px; border: 1px solid var(--ev-line, #e4e8e7); border-radius: var(--ev-radius-sm, 8px); }
.sb-cod__zone legend { padding: 0 4px; font-size: .88rem; font-weight: 700; }
.sb-cod__zone label { display: flex; align-items: center; gap: 8px; font-weight: 500; min-height: 36px; }
.sb-cod__fee { margin-left: auto; font-weight: 600; color: var(--ev-muted, #667471); }
.sb-cod__qty { display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: .9rem; }
.sb-cod__qty span { margin-right: auto; }
.sb-cod__qty button { width: 40px; height: 40px; border: 1px solid #cfd8d5; border-radius: 8px; background: #fff; font-size: 1.2rem; cursor: pointer; }
.sb-cod__qty input { width: 56px; height: 40px; text-align: center; font: inherit; border: 1px solid #cfd8d5; border-radius: 8px; }
.sb-cod__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sb-cod__totals { margin: 14px 0 12px; padding: 10px 12px; background: var(--ev-page, #f5f8f7); border-radius: var(--ev-radius-sm, 8px); }
.sb-cod__totals div { display: flex; justify-content: space-between; padding: 3px 0; font-size: .92rem; }
.sb-cod__totals dt, .sb-cod__totals dd { margin: 0; }
.sb-cod__grand { margin-top: 4px; padding-top: 6px !important; border-top: 1px dashed #cfd8d5; font-weight: 700; font-size: 1.05rem !important; }
.sb-cod__grand dd { color: var(--ev-primary-ink, #008541); }
.sb-cod__error { margin: 0 0 10px; padding: 8px 10px; border-radius: 6px; background: #fdecec; color: #b3261e; font-size: .9rem; }
.sb-cod__submit {
	width: 100%; min-height: 50px; border: 0; border-radius: var(--ev-radius-sm, 8px); cursor: pointer;
	background: var(--ev-primary-ink, #008541); color: #fff; font: inherit; font-size: 1.05rem; font-weight: 700;
}
.sb-cod__submit:disabled { opacity: .7; cursor: wait; }
.sb-cod__done { text-align: center; }
.sb-cod__tick { width: 64px; height: 64px; margin: 6px auto 8px; display: grid; place-items: center; border-radius: 50%; background: #e7f7ee; color: var(--ev-primary-ink, #008541); font-size: 34px; font-weight: 700; }
.sb-cod__done h2 { margin: 0 0 6px; }
.sb-cod__done-no { font-weight: 700; }
.sb-cod-btn[aria-busy="true"] { opacity: .7; cursor: progress; }

.sb-cod__fields select { width: 100%; min-height: 46px; padding: 8px 12px; font: inherit; font-weight: 400; border: 1px solid #cfd8d5; border-radius: var(--ev-radius-sm, 8px); background: #fff; }
.sb-cod__rates label { display: flex; align-items: center; gap: 8px; font-weight: 500; min-height: 38px; }
.sb-cod__rates p { margin: 4px 0; font-size: .88rem; color: var(--ev-muted, #667471); }
.sb-cod__links { display: grid; gap: 8px; margin: 12px 0 6px; }
.sb-cod__slot { display: contents; } .sb-cod__slot[hidden] { display: none; }
.sb-cod__link {
	display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 14px;
	border: 2px solid var(--ev-primary, #00a651); border-radius: var(--ev-radius-sm, 8px);
	color: var(--ev-primary-ink, #008541); font-weight: 700; text-decoration: none;
}
.sb-cod__link:hover { background: var(--ev-primary-ink, #008541); color: #fff; }
.sb-cod__track-help { font-size: .85rem; color: var(--ev-muted, #667471); margin: 6px 0 14px; }

/* 8.2: one-tap order for logged-in customers with saved details */
.sb-cod__me { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 10px; padding: 10px 12px; border: 1px solid var(--ev-line, #e4e8e7); border-radius: 8px; background: var(--ev-page, #f6f8f7); font-size: .92rem; line-height: 1.45; }
.sb-cod__me[hidden] { display: none; }
.sb-cod__me-txt { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.sb-cod__me-txt::before { content: "✓ "; color: var(--ev-primary-ink, #008541); font-weight: 700; }
.sb-cod__edit { flex: none; background: none; border: 0; padding: 0; color: var(--ev-secondary-ink, #056cfc); font-weight: 600; cursor: pointer; }
.sb-cod.is-me .sb-cod__who { display: none; }
