/* SmellWell Bookstore Order — blue palette, Rajdhani + Roboto.
   Brand colors: navy #1B365D, cyan #00B5E2, light blue #B0EAFF, grey #D9D9D6. */

.swbo-wrap {
	--swbo-navy: #1B365D;
	--swbo-cyan: #00B5E2;
	--swbo-light: #B0EAFF;
	--swbo-grey: #D9D9D6;
	--swbo-ink: #1B365D;
	max-width: 760px;
	margin: 0 auto;
	font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--swbo-ink);
	box-sizing: border-box;
}
.swbo-wrap *, .swbo-wrap *::before, .swbo-wrap *::after { box-sizing: inherit; }

.swbo-success {
	background: var(--swbo-light);
	border: 2px solid var(--swbo-cyan);
	color: var(--swbo-navy);
	border-radius: 10px;
	padding: 18px 20px;
	margin-bottom: 24px;
	line-height: 1.5;
}

.swbo-form { background: #fff; }

.swbo-h2 {
	font-family: "Rajdhani", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: var(--swbo-navy);
	font-size: 1.5rem;
	margin: 28px 0 8px;
}
.swbo-h2:first-child { margin-top: 0; }

.swbo-lede { margin: 0 0 18px; line-height: 1.55; font-size: .98rem; }
.swbo-lede strong { color: var(--swbo-navy); }

/* Honeypot */
.swbo-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Assortment table */
.swbo-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 8px;
	font-size: .95rem;
}
.swbo-table thead th {
	font-family: "Rajdhani", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	text-align: left;
	background: var(--swbo-navy);
	color: #fff;
	padding: 10px 12px;
}
.swbo-table thead th.swbo-col-qty { text-align: right; width: 90px; }
.swbo-table tbody td {
	padding: 12px;
	border-bottom: 1px solid var(--swbo-grey);
	vertical-align: middle;
}
.swbo-table tbody tr:nth-child(even) td { background: #f6fbfe; }
.swbo-prod-name { display: block; font-weight: 500; color: var(--swbo-navy); }
.swbo-prod-sku { display: block; font-size: .78rem; color: #6b7a8d; margin-top: 2px; }
.swbo-col-pack { color: #46586e; }
.swbo-col-qty { text-align: right; }

.swbo-qty {
	width: 72px;
	padding: 8px;
	border: 1.5px solid var(--swbo-grey);
	border-radius: 8px;
	text-align: center;
	font-size: 1rem;
	color: var(--swbo-navy);
}
.swbo-qty:focus { outline: none; border-color: var(--swbo-cyan); box-shadow: 0 0 0 3px rgba(0,181,226,.18); }

.swbo-estimate {
	background: #f6fbfe;
	border: 1px dashed var(--swbo-cyan);
	border-radius: 10px;
	padding: 12px 16px;
	margin: 4px 0 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}
.swbo-estimate-value { font-family: "Rajdhani", sans-serif; font-size: 1.3rem; color: var(--swbo-navy); }
.swbo-estimate small { width: 100%; color: #6b7a8d; }

/* Fields */
.swbo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
	margin-bottom: 22px;
}
.swbo-field { display: flex; flex-direction: column; }
.swbo-col-2 { grid-column: 1 / -1; }
.swbo-field > span { font-weight: 500; font-size: .9rem; margin-bottom: 6px; color: var(--swbo-navy); }
.swbo-field em { color: var(--swbo-cyan); font-style: normal; }
.swbo-field small { color: #6b7a8d; font-weight: 400; }

.swbo-field input,
.swbo-field textarea {
	font-family: inherit;
	font-size: 1rem;
	padding: 11px 12px;
	border: 1.5px solid var(--swbo-grey);
	border-radius: 8px;
	color: var(--swbo-navy);
	background: #fff;
	width: 100%;
}
.swbo-field input:focus,
.swbo-field textarea:focus {
	outline: none;
	border-color: var(--swbo-cyan);
	box-shadow: 0 0 0 3px rgba(0,181,226,.18);
}
.swbo-field textarea { resize: vertical; }

.swbo-check {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .95rem;
	color: var(--swbo-navy);
}
.swbo-check input { width: 18px; height: 18px; accent-color: var(--swbo-cyan); }

/* Submit */
.swbo-submit {
	font-family: "Rajdhani", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 1.15rem;
	color: #fff;
	background: var(--swbo-navy);
	border: none;
	border-radius: 10px;
	padding: 15px 28px;
	cursor: pointer;
	width: 100%;
	transition: background .15s ease;
}
.swbo-submit:hover { background: #15294a; }
.swbo-submit:focus-visible { outline: 3px solid var(--swbo-cyan); outline-offset: 2px; }

.swbo-fineprint { font-size: .8rem; color: #6b7a8d; margin: 10px 0 0; text-align: center; }

/* Mobile */
@media (max-width: 560px) {
	.swbo-grid { grid-template-columns: 1fr; }
	.swbo-table { font-size: .9rem; }
	.swbo-table tbody td { padding: 10px 8px; }
}

/* v1.1 — designs + pricing cells, multi-row estimate */
.swbo-prod-designs { display: block; font-size: .78rem; color: #46586e; margin-top: 3px; }
.swbo-pack-line { display: block; color: #46586e; }
.swbo-pack-price { display: block; font-size: .78rem; color: #6b7a8d; margin-top: 2px; }
.swbo-pack-box { display: block; font-weight: 500; color: var(--swbo-navy); margin-top: 2px; }

.swbo-estimate { display: block; }
.swbo-estimate-row { display: flex; justify-content: space-between; align-items: baseline; padding: 2px 0; }
.swbo-estimate-row span { color: #46586e; }
.swbo-estimate-row strong { font-family: "Rajdhani", sans-serif; color: var(--swbo-navy); font-size: 1.05rem; }
.swbo-estimate-disc strong { color: var(--swbo-cyan); }
.swbo-estimate-total { border-top: 1px solid var(--swbo-grey); margin-top: 6px; padding-top: 8px; }
.swbo-estimate-total span { font-weight: 600; color: var(--swbo-navy); }
.swbo-estimate-total strong { font-size: 1.4rem; }
.swbo-estimate-note { display: block; width: 100%; color: #6b7a8d; margin-top: 8px; }

/* v1.2 — shipping row */
.swbo-estimate-ship strong { color: var(--swbo-navy); }
