/* Public lab page: prices remain visible only in the secure admin panel. */
.lab-public-pricing .lab-cost { min-width: 145px; display: grid; gap: 7px; justify-items: end; }
.lab-public-pricing .lab-cost del,
.lab-public-pricing .lab-cost > b { display: none !important; }
.lab-booking-panel .lab-total,
.lab-result .lab-total,
.lab-result .border-bottom b { display: none !important; }
.lab-public-test { position: relative; overflow: hidden; border: 1px solid #dbe8ef; transition: .22s ease; }
.lab-public-test:hover,
.lab-public-test.is-selected { border-color: #16a6a4; box-shadow: 0 13px 27px rgba(5, 88, 109, .12); transform: translateY(-2px); }
.lab-public-test.is-selected { background: linear-gradient(135deg, #f0fffd, #fff); }
.lab-public-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 10px; color: #fff; font: 800 10px/1.1 inherit; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.lab-public-badge.is-special { background: linear-gradient(135deg, #f97316, #ea580c); }
.lab-public-badge.is-deal { background: linear-gradient(135deg, #059669, #0f766e); }
.lab-public-badge.is-contact { background: linear-gradient(135deg, #0c6596, #0b3f6b); }
.lab-public-book { color: #087b7e; font-size: 12px; font-weight: 800; white-space: nowrap; }
.lab-public-book i { margin-left: 4px; transition: transform .2s ease; }
.lab-public-test:hover .lab-public-book i { transform: translateX(3px); }
.lab-hidden-price-total { display: none !important; }
.lab-request-note,
.lab-confirmation-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; padding: 15px 17px; border: 1px solid #bce6df; border-radius: 14px; background: linear-gradient(135deg, #ecfdfa, #f8fffe); color: #155e75; }
.lab-request-note i,
.lab-confirmation-note i { margin-top: 2px; color: #0891b2; font-size: 20px; }
.lab-request-note strong,
.lab-confirmation-note strong { display: block; color: #0f3f58; font-size: 14px; }
.lab-request-note span,
.lab-confirmation-note span { display: block; margin-top: 2px; color: #527083; font-size: 12px; line-height: 1.45; }
.lab-test-confirmed { color: #07856f; font-size: 12px; font-weight: 800; white-space: nowrap; }
.lab-test-confirmed i { margin-right: 4px; }
.lab-public-pricing .lab-result .border-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.lab-public-pricing .lab-result .alert-success small { display: inline-block; margin-top: 6px; color: #256c54; }
@media (max-width: 575px) {
  .lab-public-pricing .lab-test-item { align-items: flex-start; }
  .lab-public-pricing .lab-cost { min-width: 112px; margin-top: 4px; }
  .lab-public-badge { font-size: 9px; padding: 5px 7px; }
  .lab-public-book { font-size: 11px; }
  .lab-request-note, .lab-confirmation-note { padding: 13px; }
}

/* Premium public test cards */
.lab-booking-panel .lab-test-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}
.lab-booking-panel .lab-test-item {
  min-height: 230px;
  padding: 23px 20px 18px;
  border: 1px solid #d8e8ed;
  border-radius: 20px;
  background: radial-gradient(circle at 100% 0, #ddfaf5 0, transparent 34%), linear-gradient(145deg, #ffffff, #f7fbfd);
  box-shadow: 0 10px 24px rgba(11, 64, 89, .055);
}
.lab-booking-panel .lab-test-item::before {
  content: "LAB TEST";
  top: 17px;
  right: 18px;
  color: #78919e;
  letter-spacing: .13em;
}
.lab-booking-panel .lab-test-item label {
  padding: 18px 138px 62px 0;
}
.lab-booking-panel .lab-test-item label::before {
  display: none;
}
.lab-booking-panel .lab-test-item label::after {
  content: "Book Now  →";
  position: absolute;
  left: 19px;
  bottom: 17px;
  margin: 0;
  width: calc(100% - 38px);
  border: 0;
  background: linear-gradient(135deg, #097d7e, #0b607d);
  color: #fff;
  box-shadow: 0 9px 18px rgba(5, 103, 111, .20);
  border-radius: 11px;
  padding: 11px 14px;
  font-size: .88rem;
  text-align: center;
}
.lab-booking-panel .lab-test-item input:checked + label::after {
  content: "Selected — Continue below ✓";
  background: #087b7e;
  color: #fff;
}
.lab-booking-panel .lab-test-item strong {
  font-size: 1.06rem;
  line-height: 1.35;
  color: #103d57;
}
.lab-booking-panel .lab-test-item small {
  margin-top: 7px;
  color: #667f8e;
  line-height: 1.45;
}
.lab-booking-panel .lab-test-item em {
  display: none;
}
.lab-booking-panel .lab-cost { position: static; display: block; min-width: 0; }
.lab-booking-panel .lab-public-badge {
  position: absolute;
  top: 0;
  right: 0;
  min-height: 42px;
  padding: 0 17px;
  border-radius: 0 19px 0 18px;
  box-shadow: -7px 8px 19px rgba(10, 91, 101, .16);
  font-size: 10px;
  letter-spacing: .06em;
  isolation: isolate;
  overflow: hidden;
}
.lab-booking-panel .lab-public-badge::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 48px;
  height: 75px;
  top: -28px;
  left: -18px;
  background: rgba(255,255,255,.18);
  transform: rotate(28deg);
}
.lab-booking-panel .lab-public-book {
  display: none;
}
.lab-booking-panel .lab-test-item:hover,
.lab-booking-panel .lab-test-item:has(input:checked) {
  transform: translateY(-5px);
  border-color: #13a79c;
  box-shadow: 0 18px 35px rgba(11, 102, 108, .16);
}
@media (max-width: 780px) {
  .lab-booking-panel .lab-test-list { grid-template-columns: 1fr; gap: 13px; }
  .lab-booking-panel .lab-test-item { min-height: 205px; padding: 18px 16px; }
  .lab-booking-panel .lab-test-item label { padding: 15px 126px 56px 0; }
  .lab-booking-panel .lab-test-item::before { top: 14px; right: 15px; font-size: .57rem; }
  .lab-booking-panel .lab-test-item label::after { left: 16px; bottom: 14px; }
  .lab-booking-panel .lab-public-badge { top: 0; right: 0; min-height: 38px; padding: 0 13px; border-radius: 0 16px 0 15px; font-size: 9px; }
}
