/* ==========================================================================
   PCR Products — Tool-specific styles
   Shared Benchling-style framework: tools/common/tbb-sequence-tools.css
   ========================================================================== */

/* ── Template textarea ───────────────────────────────────────────────────── */
.tbb-pcr-products .tbb-seq-textarea {
	min-height: 160px;
	font-family: var(--tbb-seq-font-mono);
	font-size:   12px;
}

/* ── Primer rows ─────────────────────────────────────────────────────────── */
.tbb-pp-primers {
	display:        flex;
	flex-direction: column;
	gap:            8px;
}

.tbb-pp-primer-labels {
	display:               grid;
	grid-template-columns: 26px 150px 1fr;
	gap:                   8px;
	font-size:             11px;
	font-weight:           600;
	color:                 var(--tbb-seq-text-muted);
	text-transform:        uppercase;
	letter-spacing:        0.04em;
	padding-bottom:        2px;
}

.tbb-pp-primer-row {
	display:               grid;
	grid-template-columns: 26px 150px 1fr;
	gap:                   8px;
	align-items:           center;
}

@media ( max-width: 520px ) {
	.tbb-pp-primer-labels { display: none; }
	.tbb-pp-primer-row {
		grid-template-columns: 26px 1fr;
		grid-template-rows:    auto auto;
	}
	.tbb-pp-seq-input { grid-column: 1 / -1; }
}

/* ── Primer badge ────────────────────────────────────────────────────────── */
.tbb-pp-badge {
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	width:           22px;
	height:          22px;
	border-radius:   4px;
	font-size:       11px;
	font-weight:     700;
	flex-shrink:     0;
}

.tbb-pp-badge--1 { background: #dbeafe; color: #1d4ed8; }
.tbb-pp-badge--2 { background: #fce7f3; color: #9d174d; }

/* ── Primer text inputs ──────────────────────────────────────────────────── */
.tbb-pp-name-input,
.tbb-pp-seq-input {
	height:        34px;
	padding:       0 8px;
	border:        1px solid var(--tbb-seq-border);
	border-radius: var(--tbb-seq-radius);
	background:    var(--tbb-seq-bg);
	color:         var(--tbb-seq-text);
	font-family:   var(--tbb-seq-font-mono);
	font-size:     12px;
	line-height:   34px;
	width:         100%;
	box-sizing:    border-box;
	transition:    border-color 0.15s;
}

.tbb-pp-name-input:focus,
.tbb-pp-seq-input:focus {
	outline:       none;
	border-color:  var(--tbb-seq-accent);
	box-shadow:    0 0 0 2px rgba(59, 130, 246, 0.15);
}

/* ── Options row (topology) ──────────────────────────────────────────────── */
.tbb-pp-options {
	display:     flex;
	align-items: center;
	gap:         8px;
	font-size:   12px;
	color:       var(--tbb-seq-text);
}

.tbb-pp-options label {
	font-weight:   500;
	white-space:   nowrap;
}

.tbb-pp-options select {
	height:        30px;
	padding:       0 6px;
	border:        1px solid var(--tbb-seq-border);
	border-radius: var(--tbb-seq-radius);
	background:    var(--tbb-seq-bg);
	color:         var(--tbb-seq-text);
	font-size:     12px;
	cursor:        pointer;
}

/* ── Output pre (copy block) ─────────────────────────────────────────────── */
@media ( min-width: 900px ) {
	.tbb-pcr-products .tbb-seq-output-pre {
		max-height: 600px;
	}
}
