/* HMZ Public Test Card Selection V3 */
.public-test-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    user-select: none;
    isolation: isolate;
}
.public-test-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 100% 0, rgba(37, 99, 235, .10), transparent 42%);
    opacity: 0;
    transition: opacity .25s ease;
}
.public-test-card:hover::after,
.public-test-card.hmz-selected-test::after { opacity: 1; }
.public-test-card:active { transform: translateY(-1px) scale(.995)!important; }
.public-test-card.hmz-selected-test {
    border-color: #2563eb!important;
    background: linear-gradient(145deg, #fff 0%, #eff6ff 100%)!important;
    box-shadow: 0 18px 44px rgba(37, 99, 235, .18)!important;
}
.public-card-selected-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    opacity: 0;
    transform: translateY(-6px) scale(.92);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
}
.public-test-card.hmz-selected-test .public-card-selected-badge {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.public-test-card.hmz-selected-test .public-test-price { margin-right: 82px; }
.public-select-test-btn { pointer-events: none; }
.public-test-card.hmz-selected-test .public-select-test-btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8)!important;
    color: #fff!important;
}
.public-test-card.hmz-selected-test .public-test-icon {
    transform: scale(1.05);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
}
.public-selection-helper {
    margin-top: 22px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: rgba(239, 246, 255, .94);
    box-shadow: 0 14px 34px rgba(30, 64, 175, .10);
    animation: hmzSelectionEnter .25s ease both;
}
.public-selection-helper[hidden] { display: none!important; }
.public-selection-helper > div {
    display: flex;
    align-items: center;
    gap: 12px;
}
.public-selection-helper-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    background: #2563eb;
    color: #fff;
}
.public-selection-helper strong,
.public-selection-helper small { display: block; }
.public-selection-helper strong { color: #0f172a; }
.public-selection-helper small { margin-top: 2px; color: #64748b; }
@keyframes hmzSelectionEnter {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 767.98px) {
    .public-selection-helper { align-items: stretch; flex-direction: column; }
    .public-selection-helper .btn { width: 100%; }
    .public-card-selected-badge { top: 10px; right: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .public-test-card, .public-card-selected-badge, .public-selection-helper { transition: none!important; animation: none!important; }
}


/* Compact Test Card Layout V1.1 */
.public-test-grid {
    gap: 12px !important;
}
.public-test-card {
    min-height: 0 !important;
    padding: 13px 14px 12px !important;
    border-radius: 15px !important;
}
.public-test-card-head {
    margin-bottom: 7px !important;
}
.public-test-card .public-test-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
    font-size: 15px !important;
}
.public-test-card .public-test-price {
    padding: 5px 9px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
}
.public-test-card h3 {
    margin: 0 0 2px !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
}
.public-test-card > p {
    margin: 0 0 7px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}
.public-test-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin-top: 0 !important;
}
.public-test-meta span {
    padding: 4px 6px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
}
.public-test-note {
    margin-top: 6px !important;
    padding: 5px 7px !important;
    max-height: 35px !important;
    overflow: hidden !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}
.public-select-test-btn {
    min-height: 30px !important;
    margin-top: 8px !important;
    padding: 6px 9px !important;
    border-radius: 8px !important;
    font-size: 10px !important;
}
.public-card-selected-badge {
    top: 8px !important;
    right: 8px !important;
    padding: 4px 7px !important;
    font-size: 9px !important;
}
.public-test-card.hmz-selected-test .public-test-price {
    margin-right: 68px !important;
}
@media (min-width: 1200px) {
    .public-test-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 767.98px) {
    .public-test-grid {
        gap: 9px !important;
    }
    .public-test-card {
        padding: 11px 12px 10px !important;
        border-radius: 13px !important;
    }
    .public-test-card .public-test-icon {
        width: 35px !important;
        height: 35px !important;
    }
    .public-test-card h3 {
        font-size: 14px !important;
    }
}


/* Guided Booking Flow V1.2 */
.hmz-anchor-target {
    display: block;
    position: relative;
    top: -86px;
    visibility: hidden;
}
.hmz-guided-booking-steps {
    max-width: 760px;
    margin: 0 auto 24px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #dbe6f2;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(14, 42, 77, .06);
}
.hmz-guided-booking-steps > span {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.hmz-guided-booking-steps > span b {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e8eef7;
    color: #52617a;
}
.hmz-guided-booking-steps > span.is-active {
    color: #0f172a;
}
.hmz-guided-booking-steps > span.is-active b {
    background: #2563eb;
    color: #fff;
    box-shadow: 0 6px 16px rgba(37, 99, 235, .22);
}
.hmz-guided-booking-steps > i {
    height: 1px;
    min-width: 24px;
    flex: 1;
    background: #d8e2ef;
}
.hmz-booking-step-intro {
    margin: 0 0 18px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fbff, #fff);
}
.hmz-booking-step-intro > span {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
}
.hmz-booking-step-intro h3 {
    margin: 0 0 3px;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
}
.hmz-booking-step-intro p {
    margin: 0;
    color: #64748b;
    font-size: .88rem;
}
.hmz-progressive-booking[hidden] {
    display: none !important;
}
.hmz-progressive-booking.hmz-booking-revealed {
    animation: hmzBookingReveal .3s ease both;
}
.public-booking-steps .hmz-step-done b {
    background: #16a34a !important;
}
.hmz-selected-tests-review {
    margin-bottom: 15px;
    padding: 13px 14px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #f8fbff;
}
.hmz-selected-tests-review__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}
.hmz-selected-tests-review__head > span {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}
.hmz-selected-tests-review__head button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}
.hmz-selected-tests-review__list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.hmz-selected-test-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 6px 9px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #1e40af;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}
@keyframes hmzBookingReveal {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 767.98px) {
    .hmz-guided-booking-steps {
        justify-content: flex-start;
        overflow-x: auto;
        border-radius: 17px;
    }
    .hmz-guided-booking-steps > i {
        min-width: 18px;
    }
    .hmz-booking-step-intro {
        align-items: flex-start;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hmz-progressive-booking.hmz-booking-revealed {
        animation: none !important;
    }
}
/* HMZ V50.6.17 public package booking */
.hmz-public-packages{margin:0 0 28px;padding:22px;border:1px solid #dbe8f8;border-radius:22px;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}
.hmz-public-packages__head,.hmz-individual-tests-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.hmz-public-packages__head span,.hmz-individual-tests-heading span{color:#2563eb;font-size:11px;font-weight:900;letter-spacing:.1em}.hmz-public-packages__head h3,.hmz-individual-tests-heading h3{margin:2px 0 3px;font-size:22px;font-weight:900;color:#0f2747}.hmz-public-packages__head p,.hmz-individual-tests-heading p{margin:0;color:#64748b;font-size:13px}.hmz-public-packages__count{padding:7px 11px;border-radius:999px;background:#eaf2ff;letter-spacing:0!important;white-space:nowrap}.hmz-public-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hmz-public-package-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:18px;border:1px solid #dbe4ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,39,71,.05);cursor:pointer;transition:.18s ease}.hmz-public-package-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,39,71,.10)}.hmz-public-package-card.hmz-selected-package{border-color:#2563eb;background:linear-gradient(145deg,#fff,#eff6ff);box-shadow:0 18px 42px rgba(37,99,235,.15)}.hmz-package-selected-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#16a34a;color:#fff;font-size:10px;font-weight:900;opacity:0;transform:translateY(-5px);transition:.16s}.hmz-selected-package .hmz-package-selected-badge{opacity:1;transform:none}.hmz-public-package-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hmz-public-package-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eaf2ff;color:#2563eb}.hmz-public-package-tests{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.hmz-public-package-card h4{margin:0 0 2px;padding-right:70px;font-size:16px;font-weight:900;color:#0f2747}.hmz-public-package-code{color:#64748b;font-size:10px}.hmz-public-package-description{margin:9px 0 0;color:#64748b;font-size:12px;line-height:1.45}.hmz-public-package-test-list{display:flex;flex-direction:column;gap:5px;margin:12px 0;font-size:11px;color:#334155}.hmz-public-package-test-list span{display:flex;gap:6px;align-items:flex-start}.hmz-public-package-test-list i{margin-top:2px;color:#16a34a}.hmz-public-package-test-list .is-more{color:#2563eb;font-weight:800}.hmz-public-package-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}.hmz-public-package-meta span{display:inline-flex;align-items:center;gap:5px;color:#475569;font-size:10px;font-weight:700}.hmz-public-package-price{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #edf2f7}.hmz-public-package-price div{display:flex;flex-direction:column}.hmz-public-package-price small{color:#94a3b8;font-size:9px;text-transform:uppercase}.hmz-public-package-price del{color:#64748b;font-size:12px}.hmz-public-package-price strong{color:#0f2747;font-size:17px}.hmz-public-package-price>span{padding:5px 7px;border-radius:999px;background:#ecfdf3;color:#15803d;font-size:10px;font-weight:900;white-space:nowrap}.hmz-book-package-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:12px;padding:10px 12px;border:0;border-radius:11px;background:#2563eb;color:#fff;font-weight:900}.hmz-selected-package .hmz-book-package-btn{background:#15803d}.hmz-individual-tests-heading{margin:2px 0 14px;padding:0 2px}.hmz-selected-package-chip{background:#ecfdf3;color:#166534}.hmz-selected-test-chip.is-covered{background:#f1f5f9;color:#64748b}
@media(max-width:991.98px){.hmz-public-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.hmz-public-packages{padding:14px}.hmz-public-package-grid{grid-template-columns:1fr}.hmz-public-packages__head{align-items:flex-start;flex-direction:column}.hmz-public-package-price{grid-template-columns:1fr 1fr}.hmz-public-package-price>span{grid-column:1/-1;justify-self:start}}
