/* =========================================================
   RedMedi — Professional inner-page system
   Scoped to .rm-professional-page so the existing Home,
   Packages and About Us reference designs remain unchanged.
   ========================================================= */
.rm-professional-page {
    --rm-navy: #073B63;
    --rm-navy-dark: #032A47;
    --rm-red: #E30613;
    --rm-text: #1F2937;
    --rm-muted: #64748B;
    --rm-line: #E2E8F0;
    --rm-line-strong: #D4DEE7;
    --rm-soft: #F7F9FB;
    --rm-blue-soft: #EAF3F8;
    --rm-green-soft: #ECF8F1;
    --rm-white: #FFFFFF;
    --rm-radius: 12px;
    --rm-shadow: 0 10px 30px rgba(18, 48, 72, .07);
    color: var(--rm-text);
    background: #fff;
}

.rm-professional-page > section:not(.bg-white),
.rm-professional-page > div.container.py-4,
.rm-professional-page > div.container.py-md-5 {
    position: relative;
}

.rm-professional-page section {
    scroll-margin-top: 125px;
}

.rm-professional-page h1,
.rm-professional-page h2,
.rm-professional-page h3,
.rm-professional-page h4 {
    color: var(--rm-navy-dark);
    letter-spacing: -.18px;
}

.rm-professional-page h1 {
    font-size: 34px;
    line-height: 1.22;
    font-weight: 700;
}

.rm-professional-page h2 {
    font-size: 28px;
    line-height: 1.3;
    font-weight: 650;
}

.rm-professional-page h3 {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
}

.rm-professional-page p,
.rm-professional-page li {
    color: #526575;
}

.rm-professional-page .text-muted,
.rm-professional-page .text-secondary,
.rm-professional-page .text-secondary-emphasis,
.rm-professional-page .gray-color {
    color: var(--rm-muted) !important;
}

.rm-professional-page .btn {
    min-height: 40px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .05px;
    box-shadow: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.rm-professional-page .btn:hover {
    transform: translateY(-1px);
}

.rm-professional-page .btn-primary,
.rm-professional-page .btn-outline-primary:hover,
.rm-professional-page .btn-outline-primary:focus {
    border-color: var(--rm-navy) !important;
    background: var(--rm-navy) !important;
    color: #fff !important;
}

.rm-professional-page .btn-outline-primary {
    border-color: #A9C1D1;
    background: #fff;
    color: var(--rm-navy);
}

.rm-professional-page .btn-success {
    border-color: var(--rm-navy) !important;
    background: var(--rm-navy) !important;
}

.rm-professional-page .form-label,
.rm-professional-page label {
    color: #344A59;
    font-size: 13px;
    font-weight: 600;
}

.rm-professional-page .form-control,
.rm-professional-page .form-select {
    min-height: 44px;
    border: 1px solid #D7E0E7;
    border-radius: 8px;
    background-color: #fff;
    color: #263B4B;
    font-size: 13px;
    box-shadow: none;
}

.rm-professional-page textarea.form-control {
    min-height: 116px;
}

.rm-professional-page .form-control::placeholder {
    color: #98A6B2;
}

.rm-professional-page .form-control:focus,
.rm-professional-page .form-select:focus {
    border-color: #8DB2C8;
    box-shadow: 0 0 0 3px rgba(7, 59, 99, .07);
}

.rm-professional-page .form-check-input:checked {
    border-color: var(--rm-navy);
    background-color: var(--rm-navy);
}

.rm-professional-page .card,
.rm-professional-page .box,
.rm-professional-page .box-border,
.rm-professional-page .section-card {
    border-color: var(--rm-line) !important;
}

.rm-professional-page .shadow-lg,
.rm-professional-page .shadow-sm,
.rm-professional-page .card-shadow {
    box-shadow: var(--rm-shadow) !important;
}

.rm-professional-page .section-header {
    margin-bottom: 22px;
    color: var(--rm-navy-dark);
    font-size: 27px;
    line-height: 1.3;
    font-weight: 600;
}

.rm-professional-page section.bg-white {
    padding: 52px 0 !important;
    border-top: 1px solid #EFF3F6;
    background: #fff !important;
}

.rm-professional-page .popular .box-border,
.rm-professional-page section.bg-white .box-border {
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(18, 48, 72, .045) !important;
}

.rm-professional-page .package-discount {
    border-radius: 6px;
    background: var(--rm-green-soft) !important;
    color: #237A4B !important;
}

/* -------------------- Registration -------------------- */
.page-registration > section:first-of-type {
    padding: 48px 0 62px;
    background: linear-gradient(180deg, #F7FAFC 0%, #FFFFFF 100%);
}

.page-registration #registration-app {
    max-width: 920px !important;
}

.page-registration #registration-app > .bg-white {
    border: 1px solid var(--rm-line);
    border-radius: 14px !important;
    box-shadow: 0 16px 42px rgba(18, 48, 72, .08) !important;
}

.page-registration #registration-app > .bg-white > header {
    padding: 25px 28px 20px !important;
    border-color: var(--rm-line) !important;
    background: #FBFCFD;
}

.page-registration #registration-app h1 {
    margin-bottom: 7px !important;
    color: var(--rm-navy-dark);
    font-size: 28px !important;
    font-weight: 700 !important;
}

.page-registration #registration-app > .bg-white > div {
    padding: 28px 34px 32px !important;
}

.page-registration #registration-form h2 {
    padding-bottom: 10px !important;
    border-bottom: 1px solid #EDF1F4;
    color: var(--rm-navy) !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}

.page-registration #registration-form .row.g-2 {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 14px;
}

.page-registration #registration-form small {
    display: block;
    margin-top: 6px;
    color: #7B8A97 !important;
    font-size: 11px;
}

.page-registration #registration-form .border-top {
    border-color: #E9EEF2 !important;
}

.page-registration #registration-form .btn-primary {
    min-height: 46px;
    padding: 10px 18px !important;
    font-size: 14px !important;
}

/* -------------------- Sign in -------------------- */
.page-signin .signin-banner {
    padding: 58px 0 68px;
    background: linear-gradient(135deg, #F8FBFD 0%, #EEF5F9 60%, #FFFFFF 100%);
}

.page-signin .signin-bx {
    overflow: hidden;
    border: 1px solid var(--rm-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(18, 48, 72, .10);
}

.page-signin .signin-slider,
.page-signin .signin-form {
    min-height: 455px;
}

.page-signin .signin-slider {
    display: flex;
    align-items: center;
    padding: 38px 36px;
    background: linear-gradient(150deg, #EAF3F8 0%, #F8FBFD 100%);
}

.page-signin .signin-slider .item {
    padding: 10px 16px;
    text-align: center;
}

.page-signin .signin-slider img {
    width: auto !important;
    max-width: 210px;
    height: 180px;
    object-fit: contain;
    margin-bottom: 18px;
}

.page-signin .signin-slider h3 {
    margin-bottom: 8px;
    font-size: 22px;
}

.page-signin .signin-slider p {
    max-width: 380px;
    margin: 0 auto;
    color: var(--rm-muted);
    font-size: 14px;
    line-height: 1.65;
}

.page-signin .signin-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 44px;
    background: #fff;
}

.page-signin .signin-form h4 {
    margin-bottom: 8px;
    color: var(--rm-navy-dark);
    font-size: 26px;
    font-weight: 700;
}

.page-signin .signin-form > div > p {
    margin-bottom: 20px;
    color: var(--rm-muted);
    font-size: 13px;
}

.page-signin .signin-form .form-floating {
    margin-bottom: 14px;
}

.page-signin .signin-form .form-floating > label {
    font-weight: 500;
}

.page-signin .signin-form .btn {
    min-height: 45px;
}

.page-signin .signin-form > div:last-child p {
    margin-top: 18px;
    font-size: 11.5px;
    line-height: 1.6;
}

/* -------------------- My Booking -------------------- */
.page-booking > section:first-of-type {
    padding: 46px 0 62px;
    background: #F8FAFC;
}

.page-booking > section:first-of-type > .container > .row:first-child {
    margin-bottom: 15px;
}

.page-booking > section:first-of-type h1 {
    margin-bottom: 6px;
    font-size: 31px;
}

.page-booking #myTab {
    gap: 7px;
    padding: 12px;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid var(--rm-line) !important;
    background: #fff;
    scrollbar-width: none;
}

.page-booking #myTab::-webkit-scrollbar { display: none; }

.page-booking #myTab .nav-item {
    flex: 0 0 auto !important;
}

.page-booking #myTab .nav-link {
    min-width: 92px;
    padding: 9px 15px !important;
    border: 1px solid transparent !important;
    border-radius: 8px;
    color: #687887;
    font-size: 12px;
    font-weight: 600;
}

.page-booking #myTab .nav-link.active {
    border-color: var(--rm-navy) !important;
    background: var(--rm-navy) !important;
    color: #fff !important;
}

    .page-booking #myTab + .tab-content,
    .page-booking #tab-content {
        padding: 32px 15px 18px 15px !important;
        background: #FBFCFD;
    }

.page-booking #tab-content .row.gap_10 {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;
    row-gap: 0 !important;
}

.page-booking #tab-content .row.gap_10 > [class*="col-"] {
    width: 25%;
    display: flex;
    margin-top: 16px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.page-booking #tab-content .row.gap_10 > [class*="col-"]:nth-child(-n+4) {
    margin-top: 0 !important;
}

.page-booking .box-border {
    width: 100%;
    min-height: 345px;
    padding: 18px;
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(18, 48, 72, .045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.page-booking .box-border:hover {
    transform: translateY(-2px);
    border-color: #CBD8E2 !important;
    box-shadow: 0 12px 26px rgba(18, 48, 72, .08);
}

.page-booking .popular-test h3 {
    min-height: 43px;
    margin-bottom: 11px;
    font-size: 15px;
}

.page-booking .popular-test > div {
    min-height: 120px;
}

.page-booking .popular-test span {
    color: #74828F;
    font-size: 11.5px;
    line-height: 1.75;
}

.page-booking .popular-test > div > span:first-of-type {
    display: inline-block;
    margin-bottom: 7px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--rm-blue-soft);
    color: var(--rm-navy);
    font-weight: 600;
}

.page-booking .popular-test label {
    margin-top: 9px !important;
    color: var(--rm-navy);
    font-size: 11.5px;
}

.page-booking .box-border > div:last-child {
    padding-top: 14px;
    border-top: 1px solid #EDF1F4;
}

.page-booking .box-border h4 {
    color: #163247;
    font-size: 18px;
}

.page-booking .popular-btn .btn {
    width: 100%;
}

/* -------------------- Checkout -------------------- */
.page-checkout .checkout {
    padding: 30px 0 64px;
    background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%) !important;
}

.page-checkout .checkout .progress-container {
    margin-top: 48px;
    margin-bottom: 68px;
}

.page-checkout .checkout .box,
.page-checkout .checkout .box-border,
.page-checkout .checkout .card {
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 7px 22px rgba(18, 48, 72, .055) !important;
}

.page-checkout .checkout h2,
.page-checkout .checkout h3,
.page-checkout .checkout h4 {
    color: var(--rm-navy-dark);
}

.page-checkout .checkout .btn {
    border-radius: 8px;
}

.page-checkout .checkout .col-md-4 > .box,
.page-checkout .checkout .col-md-4 > .box-border,
.page-checkout .checkout .col-md-4 > .card {
    position: sticky;
    top: 145px;
}

.page-checkout .checkout .border-bottom,
.page-checkout .checkout .border-top {
    border-color: #E9EEF2 !important;
}

/* -------------------- Reports -------------------- */
.page-reports > .container.py-4,
.page-reports > .container.py-md-5,
.page-reports > div.container:first-of-type {
    padding-top: 46px !important;
    padding-bottom: 62px !important;
}

.page-reports > div.container:first-of-type > .container,
.page-reports > div.container.py-4 > .container,
.page-reports > div.container.py-md-5 > .container {
    padding: 0;
}

.page-reports .card {
    border: 1px solid var(--rm-line) !important;
    border-radius: 13px !important;
    box-shadow: var(--rm-shadow) !important;
}

.page-reports .card-header {
    padding: 20px 22px !important;
    border-color: var(--rm-line) !important;
}

.page-reports .card-header h1,
.page-reports .card-header h2,
.page-reports .card-header h3 {
    font-size: 25px !important;
}

.page-reports .table,
.page-reports table {
    margin-bottom: 0;
    font-size: 13px;
}

.page-reports thead th {
    padding: 12px 14px;
    border-bottom: 1px solid var(--rm-line) !important;
    background: #F7F9FB;
    color: #536675;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.page-reports tbody td {
    padding: 14px;
    border-color: #EDF1F4;
    vertical-align: middle;
}

/* -------------------- Near Labs -------------------- */
.page-near-labs #location-section {
    padding: 46px 0 64px;
    background: #F8FAFC;
}

.page-near-labs #location-section > .container:first-child {
    margin-bottom: 22px;
}

.page-near-labs #location-section h1 {
    margin-bottom: 6px;
    font-size: 31px;
}

.page-near-labs .section-card {
    padding: 22px !important;
    border: 1px solid var(--rm-line);
    border-radius: 13px;
    box-shadow: var(--rm-shadow);
}

.page-near-labs #map,
.page-near-labs #map-placeholder {
    border: 1px solid #DCE5EC;
    border-radius: 12px;
    box-shadow: none;
}

.page-near-labs .lab-card {
    height: 100%;
    padding: 20px;
    border: 1px solid var(--rm-line);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(18, 48, 72, .045);
}

.page-near-labs .lab-card:hover {
    border-color: #C8D8E4;
    box-shadow: 0 12px 25px rgba(18, 48, 72, .08);
}

.page-near-labs .lab-card-footer {
    border-color: #E9EEF2;
}

/* -------------------- Contact -------------------- */
.page-contact .wl-contact {
    padding: 54px 0 58px;
    background: linear-gradient(135deg, #F8FBFD 0%, #EEF5F9 65%, #FFFFFF 100%);
}

.page-contact .wl-contact h1 {
    margin-bottom: 12px;
    font-size: 38px;
}

.page-contact .wl-contact p {
    max-width: 700px;
    color: #526575;
    font-size: 15px;
    line-height: 1.75;
}

.page-contact .wl-contact + section {
    padding: 52px 0 64px;
    background: #F8FAFC;
}

.page-contact .wl-contact + section .card {
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 8px 24px rgba(18, 48, 72, .06) !important;
}

.page-contact .wl-contact + section .card h2,
.page-contact .wl-contact + section .card h3 {
    color: var(--rm-navy-dark);
}

.page-contact .wl-contact + section .card i {
    color: var(--rm-navy);
}

/* -------------------- Blogs -------------------- */
.page-blogs > section:first-of-type {
    padding: 46px 0 66px;
    background: #F8FAFC;
}

.page-blogs > section:first-of-type h1,
.page-blogs > section:first-of-type h2 {
    font-size: 31px;
}

.page-blogs .professional-card {
    overflow: hidden;
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 5px 17px rgba(18, 48, 72, .05) !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

.page-blogs .professional-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 27px rgba(18, 48, 72, .09) !important;
}

.page-blogs .professional-card img {
    border-radius: 9px;
}

.page-blogs .professional-card .card-body {
    padding: 17px 0 10px;
}

.page-blogs .professional-card .card-footer {
    border-color: #EDF1F4 !important;
    font-size: 11px !important;
}

.page-blogs .category-link {
    border: 1px solid transparent;
    color: #60717F;
    font-size: 12px;
}

.page-blogs .category-link:hover,
.page-blogs .category-link.active {
    border-color: #D8E4EB;
    background: var(--rm-blue-soft);
    color: var(--rm-navy);
}

/* -------------------- Partnership pages -------------------- */
.page-health-partner .become-partner,
.page-business-partnership .business-partnership {
    padding: 60px 0 66px;
    background: linear-gradient(135deg, #F8FBFD 0%, #EEF5F9 62%, #FFFFFF 100%);
}

.page-health-partner .become-partner h1,
.page-business-partnership .business-partnership h1 {
    max-width: 700px;
    margin-bottom: 14px;
    color: var(--rm-navy-dark);
    font-size: 39px;
    line-height: 1.18;
}

.page-health-partner .become-partner p,
.page-business-partnership .business-partnership p {
    color: #526575;
    font-size: 15px;
    line-height: 1.75;
}

.page-health-partner .become-partner .box,
.page-business-partnership .business-partnership .box {
    border: 1px solid var(--rm-line) !important;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(18, 48, 72, .08);
}

.page-health-partner .what-does,
.page-health-partner .partner-with-us,
.page-health-partner .partner-intro,
.page-business-partnership .steps-sec,
.page-business-partnership .partnership-with,
.page-business-partnership .patient-experience,
.page-business-partnership .discover-sec {
    padding: 60px 0;
}

.page-health-partner .what-does,
.page-health-partner .partner-intro,
.page-business-partnership .partnership-with,
.page-business-partnership .patient-experience {
    background: #fff;
}

.page-health-partner .partner-with-us,
.page-business-partnership .steps-sec,
.page-business-partnership .discover-sec {
    background: #F8FAFC;
}

.page-health-partner .what-does h2,
.page-health-partner .partner-with-us h2,
.page-business-partnership .steps-sec h2,
.page-business-partnership .partnership-with h2,
.page-business-partnership .discover-sec h2 {
    margin-bottom: 28px;
    font-size: 30px;
}

.page-health-partner .what-does .box,
.page-health-partner .partner-with-us .box,
.page-business-partnership .steps-sec .box,
.page-business-partnership .discover-sec .box,
.page-business-partnership .patient-experience .box {
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 5px 18px rgba(18, 48, 72, .05);
}

.page-health-partner .app-sec,
.page-business-partnership .app-sec {
    padding: 58px 0;
    background: #EEF5F9;
}

.page-health-partner .app-sec img,
.page-business-partnership .app-sec img {
    filter: drop-shadow(0 16px 22px rgba(18, 48, 72, .12));
}

/* -------------------- Legal documents -------------------- */
.page-privacy > section:first-of-type,
.page-terms > section:first-of-type {
    padding: 50px 0 66px;
    background: #F8FAFC;
}

.page-privacy > section:first-of-type > .container,
.page-terms > section:first-of-type > .container {
    max-width: 980px;
    padding: 32px 38px;
    border: 1px solid var(--rm-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--rm-shadow);
}

.page-privacy > section:first-of-type h1,
.page-terms > section:first-of-type h1 {
    margin-bottom: 8px;
    font-size: 32px;
}

.page-privacy > section:first-of-type h3,
.page-terms > section:first-of-type h3 {
    margin-bottom: 10px;
    color: var(--rm-navy-dark);
    font-size: 18px !important;
}

.page-privacy > section:first-of-type p,
.page-privacy > section:first-of-type li,
.page-terms > section:first-of-type p,
.page-terms > section:first-of-type li {
    font-size: 13.5px;
    line-height: 1.78;
}

.page-privacy > section:first-of-type .mb-5,
.page-terms > section:first-of-type .mb-5 {
    margin-bottom: 30px !important;
}

.page-privacy .contact-box,
.page-terms .contact-box,
.page-terms .contact-box-alert {
    padding: 16px 18px;
    border: 1px solid #D8E5EC;
    border-radius: 9px;
    background: #F8FBFD;
}

/* -------------------- Test / package detail -------------------- */
.page-test-detail .package-detail {
    padding: 44px 0 62px;
    background: #F8FAFC;
}

.page-test-detail .package-detail > .container > .row > .col-md-12:first-child {
    margin-bottom: 17px;
}

.page-test-detail .package-detail > .container > .row > .col-md-12:first-child h2 {
    margin-bottom: 6px;
    font-size: 31px;
}

.page-test-detail .trust-bx {
    padding: 15px;
}
.page-test-detail .package-box,
.page-test-detail .overview-bx,
.page-test-detail .trust-bx,
.page-test-detail .box {
    border: 1px solid var(--rm-line) !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 6px 20px rgba(18, 48, 72, .055);
}

.page-test-detail .package-box {
    padding: 20px !important;
}

.page-test-detail .test-category-header {
    padding: 0 0 13px !important;
    border-color: #E9EEF2 !important;
    background: transparent !important;
    color: var(--rm-navy-dark);
    font-size: 18px;
}

.page-test-detail .package-detail-amount {
    margin-top: 16px;
    padding: 15px 0;
/*    border-top: 1px solid #EDF1F4;
    border-bottom: 1px solid #EDF1F4;*/
}

.page-test-detail .package-detail-amount h4 {
    font-size: 27px !important;
}

.page-test-detail .package-detail-amount h6 {
    color: #8795A0;
    text-decoration: line-through;
}

.page-test-detail .package-detail-btn {
    padding-top: 16px;
}

.page-test-detail .package-sec,
.page-test-detail .faq-sec {
    padding: 56px 0;
}

.page-test-detail .package-sec {
    background: #fff;
}

.page-test-detail .faq-sec {
    background: #F8FAFC;
}

.page-test-detail .faq-sec .accordion-item,
.page-test-detail .faq-sec details {
    border: 1px solid var(--rm-line) !important;
    border-radius: 9px !important;
    background: #fff;
}

/* -------------------- 404 -------------------- */
.page-404 > section:first-of-type {
    padding: 76px 0 84px !important;
    background: linear-gradient(180deg, #F8FBFD 0%, #FFFFFF 100%);
}

.page-404 > section:first-of-type .container {
    max-width: 680px;
}

.page-404 > section:first-of-type h1 {
    margin-bottom: 10px;
    font-size: 35px;
}

.page-404 > section:first-of-type .display-1 {
    color: var(--rm-navy) !important;
    font-size: 78px;
    font-weight: 700;
    letter-spacing: -3px;
}

/* -------------------- Responsive -------------------- */
@media (max-width: 991.98px) {
    .rm-professional-page h1 { font-size: 30px; }
    .rm-professional-page h2 { font-size: 25px; }

    .page-booking #tab-content .row.gap_10 > [class*="col-"] {
        width: 50%;
    }

    .page-booking #tab-content .row.gap_10 > [class*="col-"]:nth-child(n+3) {
        margin-top: 16px !important;
    }

    .page-signin .signin-slider,
    .page-signin .signin-form {
        min-height: 410px;
    }

    .page-signin .signin-form {
        padding: 38px 30px;
    }

    .page-checkout .checkout .col-md-4 > .box,
    .page-checkout .checkout .col-md-4 > .box-border,
    .page-checkout .checkout .col-md-4 > .card {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .page-registration > section:first-of-type,
    .page-booking > section:first-of-type,
    .page-near-labs #location-section,
    .page-blogs > section:first-of-type,
    .page-test-detail .package-detail,
    .page-privacy > section:first-of-type,
    .page-terms > section:first-of-type {
        padding: 34px 0 44px;
    }

    .page-registration #registration-app > .bg-white > div {
        padding: 22px 20px 25px !important;
    }

    .page-signin .signin-banner,
    .page-health-partner .become-partner,
    .page-business-partnership .business-partnership,
    .page-contact .wl-contact {
        padding: 40px 0 48px;
    }

    .page-signin .signin-slider {
        min-height: 320px;
        padding: 28px 20px;
    }

    .page-signin .signin-form {
        min-height: 0;
        padding: 32px 24px;
    }

    .page-health-partner .become-partner h1,
    .page-business-partnership .business-partnership h1,
    .page-contact .wl-contact h1 {
        font-size: 31px;
    }

    .page-privacy > section:first-of-type > .container,
    .page-terms > section:first-of-type > .container {
        padding: 24px 21px;
        border-radius: 11px;
    }
}

@media (max-width: 575.98px) {
    .rm-professional-page h1 { font-size: 27px; }
    .rm-professional-page h2 { font-size: 23px; }
    .rm-professional-page .section-header { font-size: 23px; }

    .page-booking #myTab {
        padding: 9px 10px;
    }

    .page-booking #myTab .nav-link {
        min-width: 80px;
        padding: 8px 12px !important;
        font-size: 11px;
    }

    .page-booking #tab-content {
        padding: 13px !important;
    }

    .page-booking #tab-content .row.gap_10 {
        --bs-gutter-x: 0;
        --bs-gutter-y: 12px;
    }

    .page-booking #tab-content .row.gap_10 > [class*="col-"] {
        width: 100%;
        margin-top: 12px !important;
        padding: 0 !important;
    }

    .page-booking #tab-content .row.gap_10 > [class*="col-"]:first-child {
        margin-top: 0 !important;
    }

    .page-booking .box-border {
        min-height: 0;
    }

    .page-signin .signin-slider img {
        max-width: 165px;
        height: 145px;
    }

    .page-signin .signin-slider h3 {
        font-size: 19px;
    }

    .page-contact .wl-contact + section,
    .page-test-detail .package-sec,
    .page-test-detail .faq-sec,
    .page-health-partner .what-does,
    .page-health-partner .partner-with-us,
    .page-health-partner .partner-intro,
    .page-business-partnership .steps-sec,
    .page-business-partnership .partnership-with,
    .page-business-partnership .patient-experience,
    .page-business-partnership .discover-sec {
        padding: 42px 0;
    }
}


/* ===== v20 consistency polish =====
   Final cross-page alignment pass based on the finished Packages + About pages.
   Keep this layer intentionally small: it standardizes visual rhythm without
   changing page content, structure, routes, or JavaScript behavior.
   ========================================================================== */
.rm-professional-page {
    --rm-radius: 13px;
    --rm-radius-lg: 16px;
    --rm-shadow: 0 10px 34px rgba(21, 51, 75, .07);
    --rm-shadow-soft: 0 4px 14px rgba(18, 48, 72, .045);
    --rm-page-surface: #F8FAFC;
}

/* Match the same heading rhythm used by Packages/About. */
.rm-professional-page > section h1,
.rm-professional-page main h1 {
    letter-spacing: -.45px;
}

.rm-professional-page > section h2,
.rm-professional-page main h2 {
    letter-spacing: -.28px;
}

.rm-professional-page > section p,
.rm-professional-page main p {
    line-height: 1.7;
}

/* One shared component shape across forms, content cards and utility panels. */
.rm-professional-page .card,
.rm-professional-page .box,
.rm-professional-page .box-border,
.rm-professional-page .section-card {
    border-radius: var(--rm-radius) !important;
}

.rm-professional-page .card:not(.border-0),
.rm-professional-page .box,
.rm-professional-page .box-border,
.rm-professional-page .section-card {
    border-color: #E3E8ED !important;
}

.rm-professional-page .btn {
    border-radius: 9px;
}

.rm-professional-page .form-control,
.rm-professional-page .form-select,
.rm-professional-page .input-group-text {
    border-radius: 10px;
}

.rm-professional-page .input-group > .form-control:not(:last-child),
.rm-professional-page .input-group > .form-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.rm-professional-page .input-group > .form-control:not(:first-child),
.rm-professional-page .input-group > .form-select:not(:first-child),
.rm-professional-page .input-group > .input-group-text:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Keep section title/supporting copy widths and spacing predictable. */
.rm-professional-page .section-header {
    margin-bottom: 10px;
    letter-spacing: -.35px;
}

.rm-professional-page .section-header + p,
.rm-professional-page h1 + p,
.rm-professional-page h2 + p {
/*    max-width: 720px;*/
}

/* Tables use the same restrained border language as cards. */
.rm-professional-page .table-responsive {
    overflow: hidden;
    border-radius: var(--rm-radius);
}

.rm-professional-page table > :not(caption) > * > * {
    border-color: #E9EEF2;
}

/* More even mobile gutters across all redesigned inner pages. */
@media (max-width: 767.98px) {
    .rm-professional-page > section > .container,
    .rm-professional-page main > section > .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .rm-professional-page .card,
    .rm-professional-page .box,
    .rm-professional-page .box-border,
    .rm-professional-page .section-card {
        border-radius: 11px !important;
    }
}

/* ========================================================================
   v21 — Partnership + Profile refinement
   Reference language: Packages + My Booking
   ======================================================================== */

/* ---------- One tab language across booking/profile ---------- */
.page-booking .booking-panel,
.page-profile .profile-panel {
    border: 1px solid #e6ebf0;
    border-radius: 16px !important;
    background: #fff;
    box-shadow: 0 10px 34px rgba(21, 51, 75, .07);
}

.page-booking #myTab,
.page-profile #profileTabs {
    gap: 8px;
    padding: 12px 14px;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid #e8edf2 !important;
    background: #fff;
    scrollbar-width: none;
}

.page-booking #myTab::-webkit-scrollbar,
.page-profile #profileTabs::-webkit-scrollbar {
    display: none;
}

.page-booking #myTab .nav-item,
.page-profile #profileTabs .nav-item {
    flex: 0 0 auto !important;
}

.page-booking #myTab .nav-link,
.page-profile #profileTabs .nav-link {
    width: auto !important;
    min-width: max-content;
    min-height: 0;
    padding: 9px 15px !important;
    border: 1px solid transparent !important;
    border-radius: 9px;
    background: transparent !important;
    color: #687887 !important;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 500;
    box-shadow: none !important;
    transform: none !important;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.page-booking #myTab .nav-link:hover,
.page-profile #profileTabs .nav-link:hover {
    border-color: #e4ebf0 !important;
    background: #f3f7fa !important;
    color: var(--rm-navy) !important;
}

.page-booking #myTab .nav-link.active,
.page-profile #profileTabs .nav-link.active {
    border-color: var(--rm-navy) !important;
    background: var(--rm-navy) !important;
    color: #fff !important;
    box-shadow: 0 4px 11px rgba(7, 59, 99, .16) !important;
}

.page-booking #tab-content,
.page-profile .profile-tab-content {
    padding: 24px !important;
    background: #fbfcfd;
}

/* ---------- Business partnership ---------- */
.page-business-partnership .business-partnership {
    padding: 44px 0 58px;
    background: #f8fafc;
}

.page-business-partnership .business-partnership .partnership {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(360px, .97fr);
    align-items: stretch;
    min-height: 430px;
    overflow: hidden;
    border: 1px solid #e3e9ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 38px rgba(21, 51, 75, .08);
}

.page-business-partnership .business-partnership .partnership::after {
    display: none !important;
}

.page-business-partnership .business-partnership .partnership > img {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: 430px;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

.page-business-partnership .business-partnership .box {
    grid-column: 1;
    grid-row: 1;
    position: static !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 52px 54px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    text-align: left;
    box-shadow: none !important;
}

.page-business-partnership .business-partnership .box::before,
.page-health-partner .become-partner .box::before {
    content: "Partnership Program";
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-bottom: 18px;
    padding: 6px 12px;
    border: 1px solid #d8e6ee;
    border-radius: 999px;
    background: #f3f8fb;
    color: var(--rm-navy);
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.page-business-partnership .business-partnership .box h1 {
    max-width: 610px;
    margin: 0 0 16px;
    color: var(--rm-navy-dark);
    font-size: 38px;
    line-height: 1.17;
    font-weight: 700;
    letter-spacing: -.65px;
}

.page-business-partnership .business-partnership .box label {
    max-width: 590px;
    margin: 0 0 26px;
    color: #5f7180 !important;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 400;
}

.page-business-partnership .business-partnership .box .btn,
.page-health-partner .become-partner .btn {
    min-height: 43px;
    padding: 10px 20px;
}

.page-business-partnership .steps-sec {
    padding: 62px 0 !important;
    background: #fff;
}

.page-business-partnership .steps-sec h2,
.page-business-partnership .partnership-with h2,
.page-business-partnership .discover-sec h2,
.page-health-partner .what-does h2,
.page-health-partner .partner-with-us h2,
.page-health-partner .partner-intro h2 {
    margin: 0 0 30px;
    color: var(--rm-navy-dark);
    font-size: 29px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -.35px;
    text-align: center;
}

.page-business-partnership .steps-sec .box-gap {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px !important;
    margin: 0;
}

.page-business-partnership .steps-sec .steps-border {
    min-width: 0;
    min-height: 238px;
    padding: 28px 20px 24px;
    border: 1px solid #e4eaf0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(18, 48, 72, .045);
}

.page-business-partnership .steps-sec .steps-sec-img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin: 0 auto 19px;
    border-radius: 18px;
    background: #f1f6f9;
}

.page-business-partnership .steps-sec .steps-sec-img img {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.page-business-partnership .steps-sec .steps-border h3 {
    margin-bottom: 8px;
    font-size: 17px;
    font-weight: 650;
}

.page-business-partnership .steps-sec .steps-border label {
    color: #667987;
    font-size: 13px;
    line-height: 1.6;
    font-weight: 400;
}

.page-business-partnership .steps-sec .step-count {
    top: 14px;
    left: 14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--rm-navy);
}

.page-business-partnership .steps-sec .step-count span {
    font-size: 13px;
    font-weight: 700;
}

.page-business-partnership .partnership-with {
    padding: 60px 0;
    background: #f8fafc;
}

.page-business-partnership .partnership-with .row.g-3 {
    justify-content: center;
}

.page-business-partnership .partnership-with .box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 108px;
    padding: 22px 16px;
    border: 1px solid #e4eaf0 !important;
    border-radius: 12px !important;
    background: #fff;
    box-shadow: 0 4px 14px rgba(18, 48, 72, .04);
}

.page-business-partnership .partnership-with .box img {
    max-width: 100%;
    max-height: 44px;
    object-fit: contain;
    filter: grayscale(.08);
}

/* Patient experience: replace emoji-heavy feel with quieter professional cards. */
.page-business-partnership .patient-experience {
    padding: 64px 0;
    background: #f8fafc;
}

.page-business-partnership .patient-experience .pe-header {
    max-width: 760px;
    margin: 0 auto 32px;
    text-align: center;
}

.page-business-partnership .patient-experience .pe-title {
    margin-bottom: 10px;
    color: var(--rm-navy-dark);
    font-size: 29px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -.35px;
}

.page-business-partnership .patient-experience .pe-subtitle {
    color: #647785;
    font-size: 14px;
    line-height: 1.7;
}

.page-business-partnership .patient-experience .pe-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.page-business-partnership .patient-experience .pe-card {
    min-height: 205px;
    padding: 24px;
    border: 1px solid #e3e9ee;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(18, 48, 72, .04);
    text-align: left;
}

.page-business-partnership .patient-experience .pe-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 17px;
    border-radius: 11px;
    background: #eef5f9;
    font-size: 19px;
}

.page-business-partnership .patient-experience .pe-card h4 {
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 650;
}

.page-business-partnership .patient-experience .pe-card p {
    color: #667987;
    font-size: 13px;
    line-height: 1.65;
}

/* ---------- Health partner ---------- */
.page-health-partner .become-partner {
    padding: 44px 0 58px;
    background: #f8fafc;
}

.page-health-partner .become-partner .box {
    padding: 0;
    overflow: hidden;
    border: 1px solid #e3e9ee !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 12px 38px rgba(21, 51, 75, .08);
}

.page-health-partner .become-partner .row {
    min-height: 430px;
    margin: 0;
}

.page-health-partner .become-partner .col-md-8 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 48px 54px;
}

.page-health-partner .become-partner .box::before {
    display: none;
}

.page-health-partner .become-partner .col-md-8::before {
    content: "Health Partner Program";
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-bottom: 18px;
    padding: 6px 12px;
    border: 1px solid #d8e6ee;
    border-radius: 999px;
    background: #f3f8fb;
    color: var(--rm-navy);
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.page-health-partner .become-partner h1 {
    margin: 0 0 16px;
    font-size: 38px;
    line-height: 1.17;
    letter-spacing: -.65px;
}

.page-health-partner .become-partner label {
    display: block;
    max-width: 720px;
    margin: 0 0 26px;
    color: #5f7180;
    font-size: 14px;
    line-height: 1.75;
    font-weight: 400;
}

.page-health-partner .become-partner .img-end {
    padding: 0;
    background: #eef5f9;
}

.page-health-partner .become-partner-img,
.page-health-partner .become-partner-img img {
    width: 100%;
    height: 100%;
}

.page-health-partner .become-partner-img img {
    min-height: 430px;
    border-radius: 0;
    object-fit: cover;
}

.page-health-partner .what-does {
    padding: 62px 0;
    background: #fff;
}

.page-health-partner .what-does .box {
    padding: 0;
    border: 0 !important;
    background: transparent;
    box-shadow: none !important;
}

.page-health-partner .what-does ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
}

.page-health-partner .what-does ul li {
    position: relative;
    min-height: 82px;
    padding: 17px 18px 17px 50px;
    border: 1px solid #e5ebf0;
    border-radius: 12px;
    background: #fbfcfd;
    color: #607380;
    font-size: 13px;
    line-height: 1.55;
    list-style: none;
}

.page-health-partner .what-does ul li::before {
    content: "✓";
    position: absolute;
    top: 17px;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: #eaf3f8;
    color: var(--rm-navy);
    font-size: 12px;
    font-weight: 800;
}

.page-health-partner .what-does ul li .fw-bold {
    color: #2e4658;
    font-size: 13px;
    font-weight: 650 !important;
}

.page-health-partner .partner-with-us {
    padding: 62px 0;
    background: #f8fafc;
}

.page-health-partner .partner-with-us .box {
    min-height: 150px;
    padding: 24px;
    border: 1px solid #e3e9ee !important;
    border-radius: 13px !important;
    background: #fff;
    box-shadow: 0 4px 16px rgba(18, 48, 72, .04);
}

.page-health-partner .partner-with-us .with-img {
    flex: 0 0 58px;
    margin-right: 18px !important;
}

.page-health-partner .partner-with-us .with-img img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.page-health-partner .partner-with-us h3 {
    margin-bottom: 7px;
    font-size: 16px;
    font-weight: 650;
}

.page-health-partner .partner-with-us label {
    color: #667987;
    font-size: 13px;
    line-height: 1.65;
    font-weight: 400;
}

/* ---------- Shared partner sections ---------- */
.page-health-partner .partner-testimonials,
.page-business-partnership .partner-testimonials {
    padding: 68px 0 64px;
    background: #fff;
}

.page-health-partner .partner-testimonials .testimonial-header,
.page-business-partnership .partner-testimonials .testimonial-header {
    margin-bottom: 34px;
}

.page-health-partner .partner-testimonials .testimonial-header .badge,
.page-business-partnership .partner-testimonials .testimonial-header .badge {
    margin-bottom: 12px;
    padding: 7px 12px;
    border: 1px solid #d9e7ee;
    background: #f3f8fb;
    color: var(--rm-navy);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .35px;
}

.page-health-partner .partner-testimonials .testimonial-header h2,
.page-business-partnership .partner-testimonials .testimonial-header h2 {
    margin-bottom: 8px;
    font-size: 29px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -.35px;
}

.page-health-partner .partner-testimonials .testimonial-header p,
.page-business-partnership .partner-testimonials .testimonial-header p {
    margin: 0 auto;
    color: #667987;
    font-size: 14px;
}

.page-health-partner .partner-testimonials .testimonial-grid,
.page-business-partnership .partner-testimonials .testimonial-grid {
    gap: 16px;
}

.page-health-partner .partner-testimonials .testimonial-card,
.page-business-partnership .partner-testimonials .testimonial-card {
    min-height: 250px;
    padding: 54px 22px 24px;
    border-color: #e3e9ee;
    border-radius: 13px;
    box-shadow: 0 4px 16px rgba(18, 48, 72, .035);
}

.page-health-partner .partner-testimonials .testimonial-avatar,
.page-business-partnership .partner-testimonials .testimonial-avatar {
    top: -28px;
    width: 62px;
    height: 62px;
    border-width: 3px;
}

.page-health-partner .partner-testimonials .testimonial-text,
.page-business-partnership .partner-testimonials .testimonial-text {
    margin-bottom: 20px;
    color: #5c6f7d;
    font-size: 13px;
    line-height: 1.7;
}

.page-health-partner .app-sec,
.page-business-partnership .app-sec {
    padding: 54px 0;
    background: #eef5f9;
}

.page-health-partner .app-sec .row,
.page-business-partnership .app-sec .row {
    min-height: 320px;
}

.page-health-partner .app-sec > .container > .row > .col-md-6:first-child,
.page-business-partnership .app-sec > .container > .row > .col-md-6:first-child {
    display: flex;
    justify-content: center;
}

.page-health-partner .app-sec > .container > .row > .col-md-6:first-child > img,
.page-business-partnership .app-sec > .container > .row > .col-md-6:first-child > img {
    width: auto;
    max-width: 100%;
    max-height: 310px;
    object-fit: contain;
    filter: none;
}

.page-health-partner .app-sec h3,
.page-business-partnership .app-sec h3 {
    margin-bottom: 10px;
    font-size: 28px;
    font-weight: 700;
}

.page-health-partner .app-sec p,
.page-business-partnership .app-sec p {
    max-width: 550px;
    margin-bottom: 20px;
    color: #607380;
    font-size: 14px;
}

.page-health-partner .partner-intro {
    padding: 62px 0;
    background: #f8fafc;
}

.page-health-partner .partner-intro-video {
    max-width: 940px;
    margin: 0 auto;
}

.page-health-partner .partner-intro-video iframe {
    height: 500px;
    border: 1px solid #dfe7ed;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(18, 48, 72, .07);
}

.page-business-partnership .discover-sec {
    padding: 62px 0;
    background: #fff;
}

.page-business-partnership .discover-video iframe {
    height: 320px;
    border: 1px solid #dfe7ed;
    border-radius: 13px;
    box-shadow: 0 6px 20px rgba(18, 48, 72, .055);
}

/* ---------- Profile ---------- */
.page-profile .profile-page-section {
    padding: 46px 0 64px;
    background: #f8fafc;
}

.page-profile .profile-heading-row {
    margin-bottom: 16px !important;
}

.page-profile .profile-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--rm-navy);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.page-profile .profile-page-section h1 {
    margin-bottom: 6px;
    font-size: 31px;
}

.page-profile .profile-help-btn {
    min-width: 128px;
}

.page-profile .profile-tab-content {
    min-height: 420px;
}

.page-profile .profile-summary-card,
.page-profile .profile-form-card,
.page-profile .profile-support-card {
    padding: 24px;
    border: 1px solid #e3e9ee;
    border-radius: 13px;
    background: #fff;
}

.page-profile .profile-summary-card {
    background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.page-profile .profile-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    margin-bottom: 19px;
    border: 1px solid #d8e5ed;
    border-radius: 18px;
    background: #eef5f9;
    color: var(--rm-navy);
    font-size: 29px;
}

.page-profile .profile-summary-card h2,
.page-profile .profile-form-card h2,
.page-profile .profile-support-card h2,
.page-profile .profile-section-heading h2 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 650;
}

.page-profile .profile-summary-card > p,
.page-profile .profile-card-title p,
.page-profile .profile-support-card p,
.page-profile .profile-section-heading p {
    margin: 0;
    color: #687a87;
    font-size: 13px;
    line-height: 1.65;
}

.page-profile .profile-status {
    display: flex;
    gap: 11px;
    margin-top: 24px;
    padding: 14px;
    border: 1px solid #dfe9ef;
    border-radius: 11px;
    background: #f5f9fb;
}

.page-profile .profile-status > span {
    color: var(--rm-navy);
    font-size: 17px;
}

.page-profile .profile-status strong,
.page-profile .profile-status small {
    display: block;
}

.page-profile .profile-status strong {
    margin-bottom: 2px;
    color: #30495a;
    font-size: 13px;
    font-weight: 650;
}

.page-profile .profile-status small {
    color: #71828e;
    font-size: 11px;
    line-height: 1.5;
}

.page-profile .profile-card-title,
.page-profile .profile-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.page-profile .profile-title-icon,
.page-profile .profile-support-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: #eef5f9;
    color: var(--rm-navy);
    font-size: 17px;
}

.page-profile .profile-list-card,
.page-profile .profile-empty-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 88px;
    padding: 17px;
    border: 1px solid #e3e9ee;
    border-radius: 12px;
    background: #fff;
}

.page-profile .profile-list-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 11px;
    background: #eef5f9;
    color: var(--rm-navy);
}

.page-profile .profile-list-card strong,
.page-profile .profile-list-card small,
.page-profile .profile-empty-card strong,
.page-profile .profile-empty-card small {
    display: block;
}

.page-profile .profile-list-card strong,
.page-profile .profile-empty-card strong {
    margin-bottom: 3px;
    color: #314958;
    font-size: 13px;
    font-weight: 650;
}

.page-profile .profile-list-card small,
.page-profile .profile-empty-card small {
    color: #71828e;
    font-size: 11px;
}

.page-profile .profile-empty-card > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px dashed #b7c9d5;
    border-radius: 11px;
    color: #7790a1;
}

.page-profile .profile-icon-btn {
    width: 36px;
    height: 36px;
    margin-left: auto;
    border: 1px solid #dfe6eb;
    border-radius: 9px;
    background: #fff;
    color: #5e7382;
}

.page-profile .profile-empty-state {
    max-width: 540px;
    margin: 28px auto;
    padding: 34px 24px;
    text-align: center;
}

.page-profile .profile-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border-radius: 15px;
    background: #eef5f9;
    color: var(--rm-navy);
    font-size: 21px;
}

.page-profile .profile-empty-state h3 {
    margin-bottom: 6px;
    font-size: 17px;
}

.page-profile .profile-empty-state p {
    max-width: 440px;
    margin: 0 auto 18px;
    color: #6a7c89;
    font-size: 13px;
}

.page-profile .profile-setting-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 0;
    border-top: 1px solid #edf1f4;
}

.page-profile .profile-setting-row:first-of-type {
    border-top: 0;
}

.page-profile .profile-setting-row strong,
.page-profile .profile-setting-row small {
    display: block;
}

.page-profile .profile-setting-row strong {
    margin-bottom: 3px;
    color: #314958;
    font-size: 13px;
    font-weight: 650;
}

.page-profile .profile-setting-row small {
    color: #71828e;
    font-size: 11px;
}

.page-profile .profile-verified {
    flex: 0 0 auto;
    color: #237a55;
    font-size: 12px;
    font-weight: 650;
}

.page-profile .profile-support-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #f5f9fb;
}

.page-profile .profile-support-icon {
    margin-bottom: 17px;
    background: #fff;
    border: 1px solid #dfe8ee;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    .page-business-partnership .business-partnership .partnership {
        grid-template-columns: 1fr;
    }

    .page-business-partnership .business-partnership .partnership > img {
        grid-column: 1;
        grid-row: 2;
        min-height: 300px;
        max-height: 340px;
    }

    .page-business-partnership .business-partnership .box {
        grid-column: 1;
        grid-row: 1;
        padding: 38px 36px;
    }

    .page-business-partnership .steps-sec .box-gap,
    .page-business-partnership .patient-experience .pe-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-health-partner .become-partner .col-md-8 {
        padding: 38px 36px;
    }

    .page-health-partner .what-does ul {
        grid-template-columns: 1fr;
    }

    .page-health-partner .partner-testimonials .testimonial-grid,
    .page-business-partnership .partner-testimonials .testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 46px;
    }
}

@media (max-width: 767.98px) {
    .page-business-partnership .business-partnership,
    .page-health-partner .become-partner,
    .page-profile .profile-page-section {
        padding-top: 28px;
    }

    .page-business-partnership .business-partnership .box,
    .page-health-partner .become-partner .col-md-8 {
        padding: 30px 24px;
    }

    .page-business-partnership .business-partnership .box h1,
    .page-health-partner .become-partner h1 {
        font-size: 30px;
    }

    .page-health-partner .become-partner .img-end {
        min-height: 290px;
    }

    .page-health-partner .become-partner-img img {
        min-height: 290px;
    }

    .page-business-partnership .steps-sec .box-gap,
    .page-business-partnership .patient-experience .pe-grid,
    .page-health-partner .partner-testimonials .testimonial-grid,
    .page-business-partnership .partner-testimonials .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .page-health-partner .partner-testimonials .testimonial-grid,
    .page-business-partnership .partner-testimonials .testimonial-grid {
        row-gap: 44px;
    }

    .page-health-partner .app-sec .row,
    .page-business-partnership .app-sec .row {
        min-height: 0;
    }

    .page-health-partner .app-sec > .container > .row > .col-md-6:first-child,
    .page-business-partnership .app-sec > .container > .row > .col-md-6:first-child {
        margin-bottom: 24px;
    }

    .page-health-partner .partner-intro-video iframe {
        height: 280px;
    }

    .page-profile .profile-card-title,
    .page-profile .profile-section-heading,
    .page-profile .profile-setting-row {
        align-items: flex-start;
    }

    .page-profile .profile-section-heading,
    .page-profile .profile-setting-row {
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .page-booking #myTab,
    .page-profile #profileTabs {
        padding: 10px;
    }

    .page-booking #myTab .nav-link,
    .page-profile #profileTabs .nav-link {
        padding: 8px 12px !important;
        font-size: 12px;
    }

    .page-booking #tab-content,
    .page-profile .profile-tab-content {
        padding: 15px !important;
    }

    .page-business-partnership .steps-sec,
    .page-business-partnership .partnership-with,
    .page-business-partnership .patient-experience,
    .page-business-partnership .discover-sec,
    .page-health-partner .what-does,
    .page-health-partner .partner-with-us,
    .page-health-partner .partner-intro,
    .page-health-partner .partner-testimonials,
    .page-business-partnership .partner-testimonials {
        padding: 44px 0;
    }

    .page-profile .profile-summary-card,
    .page-profile .profile-form-card,
    .page-profile .profile-support-card {
        padding: 19px;
    }
}

/* ========================================================================
   v22 — Corrective consistency pass
   Fixes: profile visibility/structure, partnership box layout, legal double boxes.
   ======================================================================== */

/* ---------- Force the same tab language as Packages ---------- */
.page-profile .profile-panel {
    border: 1px solid #e6ebf0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 10px 34px rgba(21, 51, 75, .07) !important;
}

.page-profile #profileTabs {
    gap: 8px !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #e8edf2 !important;
    background: #fff !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none;
}

.page-profile #profileTabs .nav-item {
    flex: 0 0 auto !important;
}

.page-profile #profileTabs .nav-link {
    width: auto !important;
    min-width: max-content !important;
    min-height: 0 !important;
    padding: 9px 15px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #687887 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.page-profile #profileTabs .nav-link:hover {
    color: var(--rm-navy) !important;
    background: #f3f7fa !important;
    border-color: #e4ebf0 !important;
}

.page-profile #profileTabs .nav-link.active {
    color: #fff !important;
    background: var(--rm-navy) !important;
    border-color: var(--rm-navy) !important;
    box-shadow: 0 4px 11px rgba(7, 59, 99, .16) !important;
}

/* Profile: one outer surface, not cards inside cards. */
.page-profile .profile-page-section {
    padding: 42px 0 62px !important;
    background: #f8fafc !important;
}

.page-profile .profile-heading-row {
    margin-bottom: 20px !important;
}

.page-profile .profile-page-section h1 {
    margin: 0 0 7px !important;
    color: #17364f !important;
    font-size: clamp(26px, 2.4vw, 34px) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -.55px !important;
}

.page-profile .profile-heading-row p {
    max-width: 650px;
    color: #667481 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.page-profile .profile-tab-content {
    min-height: 410px;
    padding: 0 !important;
    background: #fff !important;
}

.page-profile #profile-details > .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0 !important;
}

.page-profile #profile-details > .row > [class*="col-"] {
    padding: 0 !important;
}

.page-profile .profile-summary-card,
.page-profile .profile-form-card,
.page-profile .profile-support-card {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.page-profile .profile-summary-card {
    min-height: 100%;
    padding: 30px !important;
    border-right: 1px solid #e8edf2 !important;
    background: #f7fafc !important;
}

.page-profile .profile-form-card {
    padding: 30px 32px !important;
    background: #fff !important;
}

.page-profile .profile-card-title {
    margin-bottom: 22px !important;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf1f4;
}

.page-profile .profile-card-title h2,
.page-profile .profile-summary-card h2,
.page-profile .profile-section-heading h2,
.page-profile .profile-support-card h2 {
    color: #28475e !important;
    font-size: 17px !important;
    font-weight: 650 !important;
}

.page-profile .profile-avatar {
    width: 68px !important;
    height: 68px !important;
    border-radius: 16px !important;
    background: #eaf3f8 !important;
}

.page-profile .profile-status {
    margin-top: 24px;
    padding: 15px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dde7ed !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.page-profile #family-members,
.page-profile #saved-addresses,
.page-profile #account-settings {
    padding: 28px 30px 32px;
}

.page-profile .profile-list-card,
.page-profile .profile-empty-card {
    min-height: 84px;
    border: 1px solid #e5ebf0 !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.page-profile .profile-empty-state {
    margin: 8px auto 0 !important;
    padding: 38px 24px !important;
    border: 1px dashed #d5e0e7;
    border-radius: 12px;
    background: #fbfcfd;
}

.page-profile #account-settings .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    overflow: hidden;
    border: 1px solid #e5ebf0;
    border-radius: 12px;
}

.page-profile #account-settings .row > [class*="col-"] {
    padding: 0 !important;
}

.page-profile #account-settings .profile-form-card,
.page-profile #account-settings .profile-support-card {
    height: 100%;
    padding: 28px !important;
}

.page-profile #account-settings .profile-support-card {
    border-left: 1px solid #e5ebf0 !important;
    background: #f7fafc !important;
}

/* ---------- Business Partnership: replace floating boxes with clean panels ---------- */
.page-business-partnership .business-partnership {
    padding: 42px 0 58px !important;
}

.page-business-partnership .business-partnership .partnership {
    min-height: 410px !important;
    border: 1px solid #e2e9ee !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(21, 51, 75, .06) !important;
}

.page-business-partnership .business-partnership .box {
    padding: 48px 50px !important;
}

.page-business-partnership .steps-sec {
    padding: 58px 0 64px !important;
    background: #fff !important;
}

.page-business-partnership .steps-sec .box-gap {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e2e9ee;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(21, 51, 75, .055);
}

.page-business-partnership .steps-sec .steps-border {
    position: relative !important;
    min-height: 236px !important;
    margin: 0 !important;
    padding: 34px 24px 28px !important;
    border: 0 !important;
    border-right: 1px solid #e8edf2 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
}

.page-business-partnership .steps-sec .steps-border:last-child {
    border-right: 0 !important;
}

.page-business-partnership .steps-sec .steps-sec-img {
    width: 58px !important;
    height: 58px !important;
    margin: 0 0 22px !important;
    border-radius: 14px !important;
    background: #f0f5f8 !important;
}

.page-business-partnership .steps-sec .steps-sec-img img {
    width: 34px !important;
    height: 34px !important;
}

.page-business-partnership .steps-sec .steps-border h3 {
    margin: 0 0 8px !important;
    color: #2b465b !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.page-business-partnership .steps-sec .steps-border label {
    margin: 0 !important;
    color: #697b88 !important;
    font-size: 12.5px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

.page-business-partnership .steps-sec .step-count {
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    width: 28px !important;
    height: 28px !important;
    border: 1px solid #cbdbe5;
    border-radius: 50% !important;
    background: #fff !important;
}

.page-business-partnership .steps-sec .step-count span {
    color: var(--rm-navy) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.page-business-partnership .partnership-with {
    padding: 60px 0 64px !important;
    background: #f8fafc !important;
}

.page-business-partnership .partnership-with .row.g-3 {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0 !important;
    overflow: hidden;
    margin: 0 !important;
    border: 1px solid #e2e9ee;
    border-radius: 14px;
    background: #fff;
}

.page-business-partnership .partnership-with .row.g-3 > [class*="col-"] {
    width: auto !important;
    padding: 0 !important;
}

.page-business-partnership .partnership-with .box {
    min-height: 94px !important;
    padding: 20px 14px !important;
    border: 0 !important;
    border-right: 1px solid #edf1f4 !important;
    border-bottom: 1px solid #edf1f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.page-business-partnership .partnership-with .box img {
    max-width: 116px !important;
    max-height: 38px !important;
}

.page-business-partnership .patient-experience .pe-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden;
    border: 1px solid #e2e9ee;
    border-radius: 14px;
    background: #fff;
}

.page-business-partnership .patient-experience .pe-card {
    min-height: 195px !important;
    padding: 25px 22px !important;
    border: 0 !important;
    border-right: 1px solid #edf1f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.page-business-partnership .patient-experience .pe-card:last-child {
    border-right: 0 !important;
}

/* Health partner: same restraint, no box-inside-box look. */
.page-health-partner .what-does ul {
    gap: 0 !important;
    overflow: hidden;
    border: 1px solid #e2e9ee;
    border-radius: 14px;
    background: #fff;
}

.page-health-partner .what-does ul li {
    min-height: 84px !important;
    border: 0 !important;
    border-right: 1px solid #edf1f4 !important;
    border-bottom: 1px solid #edf1f4 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.page-health-partner .partner-with-us .row.g-4 {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    overflow: hidden;
    border: 1px solid #e2e9ee;
    border-radius: 14px;
    background: #fff;
}

.page-health-partner .partner-with-us .row.g-4 > [class*="col-"] {
    padding: 0 !important;
}

.page-health-partner .partner-with-us .box {
    min-height: 154px !important;
    margin: 0 !important;
    padding: 25px !important;
    border: 0 !important;
    border-right: 1px solid #edf1f4 !important;
    border-bottom: 1px solid #edf1f4 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ---------- Legal/info pages: remove the double-card wrapper completely ---------- */
.page-privacy > section:first-of-type,
.page-terms > section:first-of-type {
    padding: 46px 0 66px !important;
    background: #f8fafc !important;
}

.page-privacy > section:first-of-type > .container,
.page-terms > section:first-of-type > .container {
/*    max-width: 1000px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;*/
}

.page-privacy .policy-container,
.page-terms .policy-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 34px 40px 40px !important;
    border: 1px solid #e2e9ee !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(21, 51, 75, .055) !important;
}

.page-privacy .policy-container h1,
.page-terms .policy-container h1 {
    margin: 0 0 16px !important;
    padding: 0 0 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8edf2 !important;
    color: #17364f !important;
    font-size: 29px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.page-privacy .policy-container h1:not(:first-child) {
    margin-top: 42px !important;
    font-size: 24px !important;
}

.page-privacy .policy-container h2 {
    margin: 32px 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #28475e !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    font-weight: 650 !important;
}

.page-privacy .policy-container h3,
.page-terms .policy-container h3.section-title {
    margin: 24px 0 9px !important;
    color: #365368 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

.page-privacy .policy-container p,
.page-privacy .policy-container li,
.page-terms .policy-container p,
.page-terms .policy-container li {
    color: #5f7180 !important;
    font-size: 13.5px !important;
    line-height: 1.78 !important;
}

.page-privacy .policy-container ul,
.page-terms .policy-container ul {
    margin-bottom: 20px !important;
}

.page-privacy .separator,
.page-terms .separator {
    margin: 38px 0 !important;
    border-top: 1px solid #e5ebf0 !important;
}

.page-privacy .contact-box,
.page-terms .contact-box,
.page-terms .contact-box-alert {
    padding: 18px 20px !important;
    border: 1px solid #dce6ec !important;
    border-left: 1px solid #dce6ec !important;
    border-radius: 10px !important;
    background: #f7fafc !important;
    box-shadow: none !important;
}

.page-terms .contact-box-alert {
    background: #fff9f9 !important;
    border-color: #f0dada !important;
}

.page-terms .policy-container > .mb-5 {
    margin-bottom: 0 !important;
    padding: 4px 0 26px;
    border-bottom: 1px solid #edf1f4;
}

.page-terms .policy-container > .mb-5 + .mb-5 {
    padding-top: 20px;
}

.page-terms .policy-container > div:last-child {
    padding-top: 22px;
}

@media (max-width: 991.98px) {
    .page-business-partnership .steps-sec .box-gap {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .page-business-partnership .steps-sec .steps-border:nth-child(2n) {
        border-right: 0 !important;
    }

    .page-business-partnership .steps-sec .steps-border:nth-child(-n+2) {
        border-bottom: 1px solid #e8edf2 !important;
    }

    .page-business-partnership .partnership-with .row.g-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .page-business-partnership .patient-experience .pe-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .page-business-partnership .patient-experience .pe-card:nth-child(2n) {
        border-right: 0 !important;
    }

    .page-business-partnership .patient-experience .pe-card:nth-child(-n+2) {
        border-bottom: 1px solid #edf1f4 !important;
    }
}

@media (max-width: 767.98px) {
    .page-profile .profile-summary-card {
        border-right: 0 !important;
        border-bottom: 1px solid #e8edf2 !important;
    }

    .page-profile #family-members,
    .page-profile #saved-addresses,
    .page-profile #account-settings {
        padding: 22px 20px 26px;
    }

    .page-profile #account-settings .profile-support-card {
        border-left: 0 !important;
        border-top: 1px solid #e5ebf0 !important;
    }

    .page-business-partnership .business-partnership .box {
        padding: 32px 26px !important;
    }

    .page-health-partner .partner-with-us .box {
        border-right: 0 !important;
    }

    .page-privacy .policy-container,
    .page-terms .policy-container {
        padding: 27px 24px 30px !important;
    }
}

@media (max-width: 575.98px) {
    .page-profile #profileTabs {
        padding: 10px !important;
    }

    .page-profile #profileTabs .nav-link {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }

    .page-profile .profile-form-card,
    .page-profile .profile-summary-card {
        padding: 22px !important;
    }

    .page-business-partnership .steps-sec .box-gap,
    .page-business-partnership .partnership-with .row.g-3,
    .page-business-partnership .patient-experience .pe-grid {
        grid-template-columns: 1fr !important;
    }

    .page-business-partnership .steps-sec .steps-border,
    .page-business-partnership .patient-experience .pe-card,
    .page-business-partnership .partnership-with .box {
        border-right: 0 !important;
        border-bottom: 1px solid #edf1f4 !important;
    }

    .page-business-partnership .steps-sec .steps-border:last-child,
    .page-business-partnership .patient-experience .pe-card:last-child,
    .page-business-partnership .partnership-with .row.g-3 > [class*="col-"]:last-child .box {
        border-bottom: 0 !important;
    }

    .page-privacy > section:first-of-type > .container,
    .page-terms > section:first-of-type > .container {
        padding: 0 14px !important;
    }

    .page-privacy .policy-container,
    .page-terms .policy-container {
        padding: 23px 19px 26px !important;
        border-radius: 12px !important;
    }

    .page-privacy .policy-container h1,
    .page-terms .policy-container h1 {
        font-size: 25px !important;
    }
}


/* =========================================================
   V23 structural correction — flat, consistent, no nested cards
   ========================================================= */
.rm-kicker{display:inline-block;margin-bottom:9px;color:#647789;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.rm-page-intro{margin-bottom:20px}.rm-page-intro h1{margin:0 0 6px}.rm-page-intro p{max-width:720px;margin:0;color:#687987;font-size:14px}

/* Booking/Profile tabs now exactly follow the Packages tab language. */
.page-booking .booking-panel,.page-profile .rm-tabs-panel{border:1px solid #e6ebf0!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 34px rgba(21,51,75,.07)!important;overflow:hidden}
.page-booking #myTab,.page-profile #profileTabs{display:flex!important;gap:8px!important;padding:12px 14px!important;margin:0!important;border:0!important;border-bottom:1px solid #e8edf2!important;background:#fff!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none}
.page-booking #myTab::-webkit-scrollbar,.page-profile #profileTabs::-webkit-scrollbar{display:none}
.page-booking #myTab .nav-item,.page-profile #profileTabs .nav-item{flex:0 0 auto!important}
.page-booking #myTab .nav-link,.page-profile #profileTabs .nav-link{width:auto!important;min-width:max-content!important;padding:9px 15px!important;margin:0!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:#687887!important;font-size:13px!important;line-height:1.25!important;font-weight:500!important;box-shadow:none!important}
.page-booking #myTab .nav-link:hover,.page-profile #profileTabs .nav-link:hover{color:#073b63!important;background:#f3f7fa!important;border-color:#e4ebf0!important}
.page-booking #myTab .nav-link.active,.page-profile #profileTabs .nav-link.active{color:#fff!important;background:#073b63!important;border-color:#073b63!important;box-shadow:0 4px 11px rgba(7,59,99,.16)!important}
.page-booking #tab-content{padding:32px 15px 18px!important;background:#fbfcfd!important}

/* Profile — one surface, internal dividers only. */
.page-profile .profile-page-section{padding:46px 0 64px!important;background:#f8fafc!important}
.page-profile .rm-profile-tab-content{padding:0!important;background:#fff!important}
.page-profile .rm-profile-layout{min-height:450px}
.page-profile .rm-profile-aside{padding:34px 30px;background:#f8fafc;border-right:1px solid #e8edf2}
.page-profile .rm-profile-avatar{display:grid;place-items:center;width:68px;height:68px;margin-bottom:18px;border-radius:50%;background:#eaf3f8;color:#073b63;font-size:25px}
.page-profile .rm-profile-aside h2{margin:0 0 8px;font-size:20px}.page-profile .rm-profile-aside>p{margin:0 0 26px;font-size:13px;line-height:1.7}
.page-profile .rm-profile-meta{display:flex;gap:12px;padding:16px 0;border-top:1px solid #e4eaef}.page-profile .rm-profile-meta>i{width:20px;margin-top:2px;color:#073b63}.page-profile .rm-profile-meta strong,.page-profile .rm-profile-meta span{display:block}.page-profile .rm-profile-meta strong{font-size:13px;color:#29465c}.page-profile .rm-profile-meta span{margin-top:3px;color:#7a8995;font-size:11.5px}
.page-profile .rm-profile-form-area{padding:34px 38px}.page-profile .rm-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-profile .rm-section-heading h2{margin:0 0 5px;font-size:19px}.page-profile .rm-section-heading p{margin:0;color:#738390;font-size:12.5px}.page-profile .rm-section-heading>i{color:#9aabb8;font-size:20px}
.page-profile .rm-profile-simple-pane{padding:32px 36px 36px;min-height:390px}.page-profile .rm-data-list{border-top:1px solid #e6ecef}.page-profile .rm-data-row,.page-profile .rm-setting-row,.page-profile .rm-empty-line{display:flex;align-items:center;gap:15px;padding:19px 4px;border-bottom:1px solid #e8edf1}.page-profile .rm-data-row>div,.page-profile .rm-setting-row>div,.page-profile .rm-empty-line>div{flex:1}.page-profile .rm-data-row strong,.page-profile .rm-data-row span,.page-profile .rm-setting-row strong,.page-profile .rm-setting-row span{display:block}.page-profile .rm-data-row strong,.page-profile .rm-setting-row strong{color:#2b465b;font-size:13.5px}.page-profile .rm-data-row span,.page-profile .rm-setting-row span{margin-top:3px;color:#7b8994;font-size:11.5px}.page-profile .rm-list-icon{display:grid!important;place-items:center;width:40px;height:40px!important;margin:0!important;border-radius:9px;background:#eef5f9;color:#073b63;font-size:15px}.page-profile .rm-icon-button{width:34px;height:34px;border:1px solid #dbe4ea;border-radius:8px;background:#fff;color:#526978}.page-profile .rm-empty-line h3{margin:0 0 4px;font-size:14px}.page-profile .rm-empty-line p{margin:0;font-size:12px}.page-profile .rm-verified{padding:6px 10px;border-radius:999px;background:#ecf8f1;color:#24734b!important;font-size:11px!important;font-weight:700}

/* Partnership pages — remove legacy .box visual language completely. */
.rm-partner-page{background:#fff}.rm-partner-hero{padding:58px 0 64px;background:linear-gradient(180deg,#f7fafc 0%,#fff 100%)}.rm-partner-hero h1{max-width:650px;margin:0 0 16px;font-size:39px;line-height:1.16}.rm-partner-hero p{max-width:680px;margin-bottom:14px;color:#5f7383;font-size:14px;line-height:1.75}.rm-partner-hero .btn{margin-top:10px}.rm-hero-media{overflow:hidden;border-radius:18px;background:#eef4f7}.rm-hero-media img{display:block;width:100%;height:380px!important;object-fit:cover;border-radius:0!important}.rm-health-media img{object-fit:contain!important;padding:28px;background:#f4f8fa}
.rm-partner-section{padding:62px 0}.rm-soft-section{background:#f8fafc}.rm-section-title{max-width:760px;margin-bottom:30px}.rm-section-title h2{margin:0 0 8px;font-size:28px}.rm-section-title p{margin:0;color:#71818d;font-size:13.5px;line-height:1.65}.rm-section-title-row{display:flex;max-width:none;align-items:end;justify-content:space-between;gap:50px}.rm-section-title-row>p{max-width:520px;text-align:right}
.rm-process-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dfe7ec;border-bottom:1px solid #dfe7ec;background:#fff}.rm-process-item{position:relative;min-height:245px;padding:32px 26px;border-right:1px solid #e6ecef}.rm-process-item:last-child{border-right:0}.rm-process-no{position:absolute;top:18px;right:20px;color:#a7b5bf;font-size:11px;font-weight:700;letter-spacing:.08em}.rm-process-item img{width:54px;height:54px;object-fit:contain;margin-bottom:26px}.rm-process-item h3{margin:0 0 7px;font-size:16px}.rm-process-item p{margin:0;color:#72828e;font-size:12.5px;line-height:1.65}
.rm-logo-strip{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;border-top:1px solid #e0e7ec;border-bottom:1px solid #e0e7ec}.rm-logo-strip img{width:100%;height:92px;object-fit:contain;padding:24px 30px;border-right:1px solid #e8edf1}.rm-logo-strip img:last-child{border-right:0}
.rm-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe7ec}.rm-feature-item{display:flex;gap:18px;padding:24px 22px;border-right:1px solid #e5ebef;border-bottom:1px solid #e5ebef}.rm-feature-item:nth-child(2n){border-right:0}.rm-feature-item>i{width:30px;padding-top:2px;color:#073b63;font-size:20px}.rm-feature-item h3{margin:0 0 5px;font-size:15px}.rm-feature-item p{margin:0;color:#72828e;font-size:12.5px;line-height:1.6}
.rm-testimonial-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe7ec}.rm-testimonial-list article{display:flex;gap:16px;padding:24px 20px;border-right:1px solid #e6ecef;border-bottom:1px solid #e6ecef}.rm-testimonial-list article:nth-child(2n){border-right:0}.rm-testimonial-list img{width:48px;height:48px;border-radius:50%;object-fit:cover}.rm-testimonial-list p{margin:0 0 12px;color:#506777;font-size:13px;line-height:1.65}.rm-testimonial-list strong,.rm-testimonial-list span{display:block}.rm-testimonial-list strong{color:#29465b;font-size:12px}.rm-testimonial-list span{margin-top:2px;color:#8a98a3;font-size:10.5px}
.rm-role-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe7ec}.rm-role-list>div{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:18px 18px;border-right:1px solid #e5ebef;border-bottom:1px solid #e5ebef}.rm-role-list>div:nth-child(2n){border-right:0}.rm-role-list strong{color:#2c495e;font-size:13px}.rm-role-list span{color:#72828e;font-size:12.5px;line-height:1.6}
.rm-benefit-lines{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe7ec}.rm-benefit-lines>div{display:flex;gap:18px;min-height:132px;padding:24px 20px;border-right:1px solid #e5ebef;border-bottom:1px solid #e5ebef}.rm-benefit-lines>div:nth-child(2n){border-right:0}.rm-benefit-lines img{width:46px;height:46px;object-fit:contain}.rm-benefit-lines h3{margin:0 0 5px;font-size:15px}.rm-benefit-lines p{margin:0;color:#72828e;font-size:12.5px;line-height:1.6}
.rm-app-band{padding:58px 0;background:#f4f8fa}.rm-app-band h2{margin:0 0 10px;font-size:29px}.rm-app-band p{max-width:620px;font-size:13.5px;line-height:1.7}.rm-app-phone{max-width:270px;max-height:350px;object-fit:contain}.rm-app-band .app-store img{height:42px;width:auto;margin-right:8px}.rm-video-section{padding-bottom:72px}.rm-video-frame{overflow:hidden;border-radius:16px;background:#eef3f6;aspect-ratio:16/7}.rm-video-frame iframe{width:100%;height:100%}

/* Policy / Terms — document layout, no outer/inner card at all. */
.page-privacy .rm-policy-page,.page-terms .rm-policy-page{padding:52px 0 70px!important;background:#fff!important}.page-privacy .rm-policy-page>.container,.page-terms .rm-policy-page>.container{max-width:1250px!important;padding-left:24px!important;padding-right:24px!important}.page-privacy .rm-policy-document,.page-terms .rm-policy-document{max-width:1170px;margin:0 auto;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.page-privacy .rm-policy-document h1,.page-terms .rm-policy-document h1{margin:0 0 12px!important;padding:0!important;border:0!important;color:#17364f!important;font-size:31px!important;line-height:1.25!important}.page-privacy .rm-policy-document h1:not(:first-child){margin-top:48px!important;padding-top:38px!important;border-top:1px solid #e4eaee!important;font-size:25px!important}.page-privacy .rm-policy-document h2{margin:30px 0 10px!important;padding:0!important;border:0!important;color:#29495f!important;font-size:18px!important}.page-privacy .rm-policy-document h3,.page-terms .rm-policy-document h3{margin:22px 0 8px!important;color:#405d70!important;font-size:15px!important}.page-privacy .rm-policy-document p,.page-privacy .rm-policy-document li,.page-terms .rm-policy-document p,.page-terms .rm-policy-document li{color:#607382!important;font-size:13.5px!important;line-height:1.78!important}.page-privacy .rm-policy-document ul,.page-terms .rm-policy-document ul{margin:0 0 20px 20px!important;padding:0!important}.page-privacy .rm-policy-document .small-text,.page-terms .rm-policy-document .small-text{margin-bottom:24px!important;color:#8896a0!important;font-size:12px!important}.page-privacy .rm-policy-document .separator,.page-terms .rm-policy-document .separator{margin:44px 0!important;border:0!important;border-top:1px solid #e4eaee!important}.page-privacy .rm-policy-document .contact-box,.page-terms .rm-policy-document .contact-box,.page-terms .rm-policy-document .contact-box-alert{margin:18px 0 0!important;padding:18px 0!important;border:0!important;border-top:1px solid #e4eaee!important;border-bottom:1px solid #e4eaee!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.page-terms .rm-policy-document .contact-box-alert h4{font-size:14px!important}.page-terms .rm-policy-document>.mb-5{margin:0!important;padding:26px 0!important;border-bottom:1px solid #e8edf1}.page-terms .rm-policy-document>.mb-5:first-of-type{padding-top:16px}.page-terms .rm-policy-document>div:last-child{padding-top:28px}

@media(max-width:991.98px){.rm-partner-hero h1{font-size:34px}.rm-process-strip{grid-template-columns:repeat(2,1fr)}.rm-process-item:nth-child(2){border-right:0}.rm-process-item:nth-child(-n+2){border-bottom:1px solid #e6ecef}.rm-logo-strip{grid-template-columns:repeat(3,1fr)}.rm-section-title-row{display:block}.rm-section-title-row>p{text-align:left;margin-top:8px}.rm-role-list>div{grid-template-columns:145px 1fr}.page-profile .rm-profile-aside{border-right:0;border-bottom:1px solid #e8edf2}}
@media(max-width:767.98px){.rm-partner-hero{padding:42px 0 50px}.rm-partner-hero h1{font-size:30px}.rm-hero-media img{height:300px!important}.rm-partner-section{padding:48px 0}.rm-feature-grid,.rm-testimonial-list,.rm-role-list,.rm-benefit-lines{grid-template-columns:1fr}.rm-feature-item,.rm-testimonial-list article,.rm-role-list>div,.rm-benefit-lines>div{border-right:0!important}.rm-role-list>div{grid-template-columns:1fr;gap:5px}.rm-logo-strip{grid-template-columns:repeat(2,1fr)}.page-profile .rm-profile-form-area,.page-profile .rm-profile-simple-pane{padding:26px 22px}.page-profile .rm-section-heading{align-items:flex-start}.page-profile .rm-setting-row,.page-profile .rm-empty-line{align-items:flex-start;flex-wrap:wrap}.page-profile .rm-setting-row .btn,.page-profile .rm-empty-line .btn{margin-left:55px}}
@media(max-width:575.98px){.page-booking #myTab,.page-profile #profileTabs{padding:10px!important}.page-booking #myTab .nav-link,.page-profile #profileTabs .nav-link{padding:8px 12px!important;font-size:12px!important}.rm-process-strip{grid-template-columns:1fr}.rm-process-item{border-right:0!important;border-bottom:1px solid #e6ecef!important}.rm-process-item:last-child{border-bottom:0!important}.rm-logo-strip{grid-template-columns:1fr}.rm-logo-strip img{border-right:0;border-bottom:1px solid #e8edf1}.rm-logo-strip img:last-child{border-bottom:0}.rm-video-frame{aspect-ratio:16/10}.page-privacy .rm-policy-page>.container,.page-terms .rm-policy-page>.container{padding-left:18px!important;padding-right:18px!important}.page-privacy .rm-policy-document h1,.page-terms .rm-policy-document h1{font-size:27px!important}}


/* =========================================================
   Sign in v24 — isolated markup so legacy site.css sign-in
   styles cannot create overlays, nested cards or old spacing.
   ========================================================= */
.page-signin .rm-auth-page{
    padding:58px 0 66px;
    background:linear-gradient(180deg,#f7fafc 0%,#ffffff 100%);
}
.page-signin .rm-auth-page>.container{max-width:1080px;}
.page-signin .rm-auth-shell{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
    overflow:hidden;
    border:1px solid #dfe7ed;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 46px rgba(18,48,72,.075);
}
.page-signin .rm-auth-showcase{
    min-height:520px;
    padding:42px 44px 34px;
    border-right:1px solid #e5ebef;
    background:linear-gradient(145deg,#f3f8fb 0%,#eef5f8 52%,#f9fbfc 100%);
}
.page-signin .rm-auth-showcase-head{max-width:500px;}
.page-signin .rm-auth-eyebrow,
.page-signin .rm-auth-form-kicker{
    display:inline-block;
    margin-bottom:11px;
    color:#557184;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.page-signin .rm-auth-showcase-head h1{
    margin:0 0 12px;
    color:#163a54;
    font-size:32px;
    line-height:1.18;
    font-weight:700;
}
.page-signin .rm-auth-showcase-head>p{
    max-width:470px;
    margin:0;
    color:#687c8a;
    font-size:13.5px;
    line-height:1.7;
}
.page-signin .rm-auth-carousel{margin-top:25px;}
.page-signin .rm-auth-slide{
    min-height:300px;
    padding:8px 4px 18px;
    text-align:left;
}
.page-signin .rm-auth-slide-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    margin-bottom: 22px;
    border: 1px solid #e3ebf0;
    border-radius: 150px;
    background: rgba(255,255,255,.72);
}
.page-signin .rm-auth-slide-visual img{
    width:auto!important;
    max-width:190px!important;
    height:138px!important;
    margin:0!important;
    object-fit:contain;
}
.page-signin .rm-auth-slide h3{
    margin:0 0 7px;
    color:#24465d;
    font-size:17px;
    font-weight:650;
}
.page-signin .rm-auth-slide p{
    max-width:440px;
    margin:0;
    color:#71828e;
    font-size:12.5px;
    line-height:1.65;
}
.page-signin .rm-auth-carousel .owl-dots{
    margin-top:4px!important;
    text-align:left!important;
}
.page-signin .rm-auth-carousel .owl-dot span{
    width:7px!important;
    height:7px!important;
    margin:4px 5px 4px 0!important;
    background:#bdcbd4!important;
}
.page-signin .rm-auth-carousel .owl-dot.active span{
    width:22px!important;
    border-radius:999px!important;
    background:#073b63!important;
}
.page-signin .rm-auth-panel{
    display:flex;
    align-items:center;
    min-height:520px;
    padding:46px 48px;
    background:#fff;
}
.page-signin .rm-auth-form-wrap{width:100%;max-width:390px;margin:0 auto;}
.page-signin .rm-auth-form-wrap h2{
    margin:0 0 8px;
    color:#17384f;
    font-size:27px;
    line-height:1.25;
    font-weight:700;
}
.page-signin .rm-auth-form-copy{
    margin:0 0 26px;
    color:#71818d;
    font-size:13px;
    line-height:1.65;
}
.page-signin .rm-auth-field{margin-bottom:16px;}
.page-signin .rm-auth-field>label{
    display:block;
    margin:0 0 7px;
    color:#344d5f;
    font-size:12.5px;
    font-weight:600;
}
.page-signin .rm-auth-input-wrap{
    display:flex;
    align-items:stretch;
    overflow:hidden;
    border:1px solid #d6e0e7;
    border-radius:9px;
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.page-signin .rm-auth-input-wrap:focus-within{
    border-color:#89aec5;
    box-shadow:0 0 0 3px rgba(7,59,99,.065);
}
.page-signin .rm-auth-prefix{
    display:flex;
    align-items:center;
    padding:0 14px;
    border-right:1px solid #e1e7ec;
    background:#f7f9fb;
    color:#425f72;
    font-size:13px;
    font-weight:650;
}
.page-signin .rm-auth-input-wrap .form-control{
    min-height:48px;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
.page-signin .rm-auth-otp-step .form-control{min-height:48px;}
.page-signin .rm-auth-submit{
    min-height:47px!important;
    margin-top:2px;
    border-radius:9px!important;
    font-size:13.5px!important;
}
.page-signin .rm-auth-resend{
    margin-top:7px;
    color:#738693;
    font-size:11.5px;
    text-align:right;
}
.page-signin .rm-auth-terms{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:25px;
    padding-top:20px;
    border-top:1px solid #e8edf1;
}
.page-signin .rm-auth-terms>i{
    margin-top:2px;
    color:#577488;
    font-size:13px;
}
.page-signin .rm-auth-terms p{
    margin:0;
    color:#7a8994;
    font-size:11.5px;
    line-height:1.65;
}
.page-signin .rm-auth-terms a{color:#073b63;font-weight:600;text-decoration:none;}
.page-signin .rm-auth-terms a:hover{text-decoration:underline;}
.page-signin>section.bg-white{
    padding-top:46px!important;
    padding-bottom:54px!important;
}
.page-signin>section.bg-white .container{max-width:1080px;}
.page-signin>section.bg-white .section-header{
    margin-bottom:14px;
    font-size:18px;
    font-weight:650;
}
.page-signin>section.bg-white .link-group{
    display:flex;
    flex-wrap:wrap;
    gap:8px 0;
    color:#d1d9df;
}
.page-signin>section.bg-white .link-group a{
    color:#607482;
    font-size:12px;
    text-decoration:none;
}
.page-signin>section.bg-white .link-group a:hover{color:#073b63;text-decoration:underline;}
.page-signin>section.bg-white .divider{
    margin:28px 0;
    border-top:1px solid #e7edf1;
}
@media(max-width:991.98px){
    .page-signin .rm-auth-shell{grid-template-columns:1fr;}
    .page-signin .rm-auth-showcase{min-height:0;border-right:0;border-bottom:1px solid #e5ebef;padding:34px 36px 28px;}
    .page-signin .rm-auth-panel{min-height:0;padding:38px 36px 42px;}
    .page-signin .rm-auth-slide-visual{height:155px;}
    .page-signin .rm-auth-slide-visual img{height:120px!important;}
}
@media(max-width:575.98px){
    .page-signin .rm-auth-page{padding:28px 0 42px;}
    .page-signin .rm-auth-page>.container{padding-left:16px;padding-right:16px;}
    .page-signin .rm-auth-shell{border-radius:14px;box-shadow:0 10px 28px rgba(18,48,72,.065);}
    .page-signin .rm-auth-showcase{padding:28px 24px 24px;}
    .page-signin .rm-auth-showcase-head h1{font-size:27px;}
    .page-signin .rm-auth-showcase-head>p{font-size:12.5px;}
    .page-signin .rm-auth-slide{min-height:270px;}
    .page-signin .rm-auth-slide-visual{height:145px;margin-bottom:18px;}
    .page-signin .rm-auth-slide-visual img{height:108px!important;max-width:160px!important;}
    .page-signin .rm-auth-panel{padding:32px 24px 34px;}
    .page-signin .rm-auth-form-wrap h2{font-size:24px;}
}


/* RedMedi catalog content supplied September 2026 */
.packages-page .packages-category-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}
.packages-page .packages-category-tabs .nav-item {
    flex: 0 0 auto;
}
.packages-page .packages-category-tabs .nav-link {
    min-width: 150px;
    white-space: nowrap;
    padding: 14px 18px;
}
.packages-page .catalog-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.packages-page .catalog-card-link,
.page-test-detail .catalog-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
}
.packages-page .catalog-card-category,
.page-test-detail .catalog-card-category {
    margin-bottom: 8px;
    color: var(--bs-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.packages-page .catalog-card h3,
.page-test-detail .catalog-card h3 {
    margin-bottom: 12px;
}
.packages-page .catalog-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
}
.packages-page .catalog-card-summary {
    display: -webkit-box;
    overflow: hidden;
    color: #667085;
    font-size: 14px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.packages-page .catalog-price-row,
.page-test-detail .catalog-price-row {
    display: flex;
    gap: 8px;
    align-items: baseline;
    justify-content: space-between;
    margin: 12px 0;
    padding: 10px 0;
    border-top: 1px solid #edf0f4;
    border-bottom: 1px solid #edf0f4;
}
.packages-page .catalog-price-row span,
.page-test-detail .catalog-price-row span {
    color: #667085;
    font-size: 13px;
}
.packages-page .catalog-price-row strong,
.page-test-detail .catalog-price-row strong {
    color: #243B55;
    font-size: 15px;
    text-align: right;
}
.packages-page .catalog-preview-list {
    min-height: 50px;
    margin: 0;
    padding-left: 18px;
    color: #475467;
    font-size: 13px;
}
.packages-page .catalog-preview-list li {
    margin-bottom: 4px;
}
.packages-page .catalog-price-unavailable strong {
    color: #667085;
}
.page-test-detail .catalog-detail-box .catalog-detail-label {
    margin-bottom: 8px;
    color: #243B55;
    font-size: 16px;
}
.page-test-detail .catalog-detail-copy p {
    color: #475467;
    line-height: 1.7;
}
.page-test-detail .catalog-typical-price {
    padding: 18px 0;
    border-top: 1px solid #edf0f4;
    border-bottom: 1px solid #edf0f4;
}
.page-test-detail .catalog-option-list {
    overflow: hidden;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
}
.page-test-detail .catalog-option-row {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid #edf0f4;
}
.page-test-detail .catalog-option-row:last-child {
    border-bottom: 0;
}
.page-test-detail .catalog-option-name {
    color: #344054;
}
.page-test-detail .catalog-option-price {
    flex: 0 0 auto;
    color: #243B55;
    text-align: right;
}
.page-test-detail .catalog-options-empty {
    padding: 14px;
}
.page-test-detail .catalog-category-box {
    position: sticky;
    top: 110px;
}
@media (max-width: 767.98px) {
    .packages-page .packages-category-tabs .nav-link {
        min-width: 135px;
        padding: 12px 14px;
        font-size: 13px;
    }
    .page-test-detail .catalog-option-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
    .page-test-detail .catalog-option-price {
        text-align: left;
    }
    .page-test-detail .catalog-category-box {
        position: static;
    }
}


/* RedMedi detail + checkout refinement - v26 */
.page-test-detail,
.page-checkout { font-family:'Roboto', Arial, sans-serif; }
.page-test-detail .catalog-detail-box .test-category-header {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
}
.page-test-detail .catalog-detail-label,
.page-test-detail .catalog-options-block h4 { font-size:15px; font-weight:600; }
.page-test-detail .catalog-detail-copy p,
.page-test-detail .catalog-option-name { font-size:13.5px; font-weight:400; }
.page-test-detail .catalog-option-price { font-size:13.5px; font-weight:600; }
.page-test-detail .package-detail-btn .btn { min-width:126px; font-size:13px; font-weight:600; }
.page-checkout .checkout-selected-package {
    display:flex;
    gap:16px;
    align-items:stretch;
    padding:16px;
}
.page-checkout .checkout-selected-body { flex:1; min-width:0; }
.page-checkout .checkout-selected-category {
    margin-bottom:4px; color:#667085; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;
}
.page-checkout .checkout-selected-package h3 { color:#243B55; font-size:16px; line-height:1.4; font-weight:600; }
.page-checkout .checkout-selected-description { color:#667085; font-size:13px; line-height:1.55; font-weight:400; }
.page-checkout .checkout-selected-meta {
    padding-top:10px; border-top:1px solid #edf1f4; color:#667085; font-size:12.5px;
}
.page-checkout .checkout-selected-meta strong { color:#243B55; font-size:14px; font-weight:600; }
.page-checkout .checkout-remove-selected { color:#8b98a5; font-size:14px; }
.page-checkout .checkout-remove-selected:hover { color:#d14343; }
@media(max-width:575.98px){
    .page-checkout .checkout-selected-package{flex-direction:column;}
}


/* Privacy policy PDF content refinements */
.page-privacy .rm-policy-meta{margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid #e4eaee}.page-privacy .rm-policy-meta p{margin:2px 0!important}.page-privacy .rm-policy-notice{margin:24px 0 30px;padding:20px 22px;border-left:3px solid #0a4770;background:#f7fafc}.page-privacy .rm-policy-notice h2{margin:0 0 10px!important;font-size:17px!important}.page-privacy .rm-policy-notice p:last-child{margin-bottom:0}.page-privacy .rm-policy-contact-lines{margin:12px 0 20px;padding:14px 18px;background:#f8fafb;border-left:2px solid #d9e4eb}.page-privacy .rm-policy-contact-lines p{margin:0!important}.page-privacy .rm-policy-document h2{scroll-margin-top:110px}.page-privacy .rm-policy-document strong{color:#39576b;font-weight:700}.home-featured-packages{padding-top:34px;padding-bottom:42px}.home-featured-packages .catalog-card{height:100%}.home-featured-packages .row.g-3{align-items:stretch}@media(max-width:767.98px){.home-featured-packages{padding-top:28px;padding-bottom:34px}}

/* ==========================================================
   REDMEDI MY BOOKINGS — appointment cards + tracking drawer
   ========================================================== */
.page-booking .rm-bookings-section {
    padding: 40px 0 68px !important;
    background: #f7f9fb !important;
}
.page-booking .rm-bookings-container { max-width: 1120px; }
.page-booking .rm-bookings-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}
.page-booking .rm-bookings-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #e11d48;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.page-booking .rm-bookings-heading h1 {
    margin: 0 0 6px !important;
    color: #12263a;
    font-size: 30px !important;
    line-height: 1.2;
    font-weight: 700;
}
.page-booking .rm-bookings-heading p {
    margin: 0;
    color: #718096;
    font-size: 13px;
}
.page-booking .rm-book-new-btn {
    min-height: 42px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #0a4770;
    border-radius: 10px;
    background: #0a4770;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(10,71,112,.14);
}
.page-booking .rm-book-new-btn:hover { background: #083a5c; }
.page-booking .rm-bookings-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: stretch;
    margin-bottom: 12px;
}
.page-booking .rm-member-select-wrap {
    position: relative;
    min-height: 50px;
    display: flex;
    align-items: center;
    border: 1px solid #d8e0e7;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(32,54,75,.035);
}
.page-booking .rm-member-select-wrap > i:first-child {
    margin-left: 17px;
    color: #7d8a96;
    font-size: 13px;
}
.page-booking .rm-member-select-wrap select {
    width: 100%;
    height: 48px;
    padding: 0 42px 0 11px;
    border: 0;
    outline: 0;
    appearance: none;
    background: transparent;
    color: #172b3f;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.page-booking .rm-member-chevron {
    position: absolute;
    right: 16px;
    color: #5e6d79;
    font-size: 11px;
    pointer-events: none;
}
.page-booking .rm-filter-toggle {
    min-width: 116px;
    padding: 0 16px;
    border: 1px solid #d8e0e7;
    border-radius: 13px;
    background: #fff;
    color: #1d3145;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    transition: .18s ease;
}
.page-booking .rm-filter-toggle:hover,
.page-booking .rm-filter-toggle.is-active { border-color: #0a4770; color: #0a4770; background: #f5f9fc; }
.page-booking .rm-booking-filters {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: max-height .25s ease, opacity .2s ease, padding .25s ease, margin .25s ease;
}
.page-booking .rm-booking-filters.is-open {
    max-height: 100px;
    opacity: 1;
    margin: 2px 0 14px;
    padding: 12px 14px;
    border: 1px solid #e0e6ec;
    border-radius: 12px;
    background: #fff;
}
.page-booking .rm-filter-label { color: #607181; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.page-booking .rm-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.page-booking .rm-filter-chip {
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #dce4eb;
    border-radius: 999px;
    background: #fff;
    color: #506173;
    font-size: 11.5px;
    font-weight: 600;
}
.page-booking .rm-filter-chip span {
    margin-left: 4px;
    padding: 1px 6px;
    border-radius: 999px;
    background: #edf2f6;
    color: #5e6f7d;
    font-size: 10px;
}
.page-booking .rm-filter-chip.active { border-color: #0a4770; background: #0a4770; color: #fff; }
.page-booking .rm-filter-chip.active span { background: rgba(255,255,255,.16); color: #fff; }
.page-booking .rm-booking-summary-row {
    margin: 24px 0 14px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}
.page-booking .rm-booking-summary-row h2 { margin: 0 0 3px; color: #162a3c; font-size: 18px; font-weight: 700; }
.page-booking .rm-booking-summary-row p { margin: 0; color: #8a98a5; font-size: 11.5px; }
.page-booking .rm-booking-help { display: flex; align-items: center; gap: 6px; color: #72808d; font-size: 11.5px; }
.page-booking .rm-booking-help a { color: #0a4770; font-weight: 700; text-decoration: none; }
.page-booking .rm-booking-date-group { margin-bottom: 20px; }
.page-booking .rm-booking-date-label {
    margin: 0 0 9px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.page-booking .rm-booking-date-label::after { content: ""; height: 1px; flex: 1; background: #e3e9ee; }
.page-booking .rm-booking-date-label span {
    color: #8a97a3;
    font-size: 11px;
    font-weight: 600;
}
.page-booking .rm-booking-card {
    margin-bottom: 14px;
    border: 1px solid #dce3e9;
    border-radius: 15px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 7px 24px rgba(28,52,72,.045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.page-booking .rm-booking-card:hover { transform: translateY(-1px); border-color: #cbd7e0; box-shadow: 0 11px 30px rgba(28,52,72,.07); }
.page-booking .rm-booking-card[hidden],
.page-booking .rm-booking-date-group[hidden] { display: none !important; }
.page-booking .rm-booking-card-head {
    min-height: 56px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #edf1f4;
}
.page-booking .rm-booking-id { display: flex; align-items: baseline; gap: 7px; }
.page-booking .rm-booking-id span { color: #8a97a3; font-size: 12px; }
.page-booking .rm-booking-id strong { color: #1d3042; font-size: 13px; font-weight: 700; }
.page-booking .rm-booking-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2b3c4c;
    font-size: 11.5px;
    font-weight: 700;
}
.page-booking .rm-booking-status i { width: 8px; height: 8px; border-radius: 50%; background: #36c6a8; box-shadow: 0 0 0 3px rgba(54,198,168,.10); }
.page-booking .rm-booking-status.rm-status-cancelled i { background: #e11d48; box-shadow: 0 0 0 3px rgba(225,29,72,.09); }
.page-booking .rm-booking-status.rm-status-completed i { background: #0a4770; box-shadow: 0 0 0 3px rgba(10,71,112,.09); }
.page-booking .rm-booking-card-body { padding: 18px 20px 17px; }
.page-booking .rm-booking-main-info { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.page-booking .rm-booking-time-block { display: grid; gap: 6px; }
.page-booking .rm-booking-meta-label { display: flex; align-items: center; gap: 7px; color: #8a97a3; font-size: 11.5px; font-weight: 500; }
.page-booking .rm-booking-meta-label i { color: #0a4770; }
.page-booking .rm-booking-time-block > strong { color: #172b3f; font-size: 14px; font-weight: 700; }
.page-booking .rm-booking-time-block > strong span { color: #a4aeb7; padding: 0 3px; }
.page-booking .rm-pay-now,
.page-booking .rm-report-ready {
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid #e11d48;
    border-radius: 999px;
    background: #fff;
    color: #e11d48 !important;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.page-booking .rm-report-ready { border-color: #0a4770; color: #0a4770 !important; }
.page-booking .rm-patient-row {
    margin-top: 17px;
    padding-top: 15px;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    border-top: 1px dashed #e5eaee;
}
.page-booking .rm-patient-avatar {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eff5f8;
    color: #0a4770;
    font-size: 12px;
    font-weight: 800;
}
.page-booking .rm-patient-row strong { color: #172b3f; font-size: 12.5px; font-weight: 700; }
.page-booking .rm-patient-row strong span { color: #637486; font-weight: 500; }
.page-booking .rm-patient-row p { margin: 5px 0 0; color: #e11d48; font-size: 11.5px; }
.page-booking .rm-patient-row p i { margin-right: 7px; font-size: 9px; }
.page-booking .rm-booking-card-actions {
    min-height: 58px;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    background: #fbf7f6;
    border-top: 1px solid #f2e9e7;
}
.page-booking .rm-secondary-action,
.page-booking .rm-primary-action {
    min-height: 36px;
    padding: 0 14px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
}
.page-booking .rm-secondary-action { border: 1px solid #b8c5d0; background: #fff; color: #294156 !important; }
.page-booking .rm-secondary-action:hover { border-color: #0a4770; color: #0a4770 !important; }
.page-booking .rm-primary-action { border: 1px solid #0a4770; background: #0a4770; color: #fff !important; }
.page-booking .rm-primary-action:hover { background: #083b5e; }
.page-booking .rm-booking-empty {
    padding: 48px 20px;
    text-align: center;
    border: 1px dashed #cad5dd;
    border-radius: 15px;
    background: #fff;
}
.page-booking .rm-empty-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 13px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #edf4f8;
    color: #0a4770;
    font-size: 20px;
}
.page-booking .rm-booking-empty h3 { margin: 0 0 6px; color: #1d3042; font-size: 16px; }
.page-booking .rm-booking-empty p { margin: 0 auto 17px; max-width: 420px; color: #7b8996; font-size: 12px; }

body.rm-drawer-open { overflow: hidden; }
.rm-booking-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 2050;
    background: rgba(10,21,32,.48);
    opacity: 0;
    visibility: hidden;
    transition: .25s ease;
    backdrop-filter: blur(1px);
}
.rm-booking-drawer-overlay.is-open { opacity: 1; visibility: visible; }
.rm-booking-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2060;
    width: min(455px, 100vw);
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: -18px 0 45px rgba(21,39,55,.16);
    transform: translateX(102%);
    transition: transform .3s cubic-bezier(.22,.8,.3,1);
}
.rm-booking-drawer.is-open { transform: translateX(0); }
.rm-drawer-head {
    min-height: 72px;
    padding: 16px 18px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #e9eef2;
}
.rm-drawer-kicker { display: block; margin-bottom: 2px; color: #e11d48; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.rm-drawer-head h2 { margin: 0; color: #172b3f; font-size: 20px; font-weight: 700; }
.rm-drawer-close {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f4f6f8;
    color: #24394b;
    display: grid;
    place-items: center;
    font-size: 15px;
}
.rm-drawer-booking-strip {
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #edf1f4;
    background: #fafcfd;
}
.rm-drawer-booking-strip > div { display: flex; align-items: baseline; gap: 7px; }
.rm-drawer-booking-strip span { color: #8593a0; font-size: 10.5px; }
.rm-drawer-booking-strip strong { color: #203548; font-size: 12px; }
.rm-drawer-status { padding: 5px 9px; border-radius: 7px; background: #eaf3f8; color: #0a4770 !important; font-size: 10px !important; font-weight: 700; }
.rm-drawer-scroll { flex: 1; overflow-y: auto; padding: 18px; }
.rm-drawer-overview {
    margin-bottom: 20px;
    padding: 13px 14px;
    display: grid;
    gap: 11px;
    border: 1px solid #e4eaef;
    border-radius: 12px;
    background: #fff;
}
.rm-drawer-overview > div { display: grid; gap: 2px; }
.rm-drawer-overview span { color: #8a97a3; font-size: 9.5px; }
.rm-drawer-overview strong { color: #273b4d; font-size: 11.5px; font-weight: 600; line-height: 1.45; }
.rm-track-title { margin: 0 0 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rm-track-title h3 { margin: 0; color: #172b3f; font-size: 14px; font-weight: 700; }
.rm-track-title span { padding: 4px 8px; border-radius: 6px; background: #edf4f8; color: #0a4770; font-size: 9.5px; font-weight: 700; }
.rm-booking-timeline { padding-left: 2px; }
.rm-timeline-step { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 10px; min-height: 112px; }
.rm-timeline-step:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 24px;
    bottom: -4px;
    width: 1.5px;
    background: #cdd6dd;
}
.rm-step-dot {
    position: relative;
    z-index: 1;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 2px solid #d0d8df;
    border-radius: 50%;
    background: #fff;
    color: #8d99a4;
    font-size: 8px;
}
.rm-timeline-step.is-done .rm-step-dot { border-color: #2dbfa0; background: #2dbfa0; color: #fff; }
.rm-timeline-step.is-done:not(:last-child)::before { background: #2dbfa0; }
.rm-timeline-step.is-current .rm-step-dot { border-color: #0a4770; box-shadow: 0 0 0 4px rgba(10,71,112,.08); color: #0a4770; }
.rm-step-content { padding: 2px 0 15px; }
.rm-step-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rm-step-title strong { color: #223649; font-size: 12px; font-weight: 700; }
.rm-step-title span { padding: 4px 7px; border-radius: 6px; background: #f1f5f8; color: #537084; font-size: 9px; font-weight: 700; }
.rm-step-content > p { margin: 4px 0 8px; color: #8b97a2; font-size: 9.5px; line-height: 1.5; }
.rm-step-card {
    margin-top: 9px;
    padding: 10px 11px;
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 9px;
    border: 1px solid #e6ebef;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 11px rgba(31,54,73,.04);
}
.rm-step-card > i { margin-top: 2px; color: #0a4770; font-size: 11px; }
.rm-step-card > div { display: grid; gap: 2px; }
.rm-step-card span { color: #82909d; font-size: 9px; }
.rm-step-card strong { color: #33485a; font-size: 9.8px; font-weight: 600; line-height: 1.45; }
.rm-step-info { background: #fbfcfd; }
.rm-cancelled-panel {
    margin-top: 8px;
    padding: 16px;
    display: flex;
    gap: 12px;
    border: 1px solid #f1c9d2;
    border-radius: 12px;
    background: #fff7f9;
    color: #a71d3a;
}
.rm-cancelled-panel[hidden] { display: none !important; }
.rm-cancelled-panel > i { margin-top: 2px; font-size: 18px; }
.rm-cancelled-panel strong { display: block; margin-bottom: 3px; color: #8d1831; font-size: 12px; }
.rm-cancelled-panel p { margin: 0; color: #805563; font-size: 10.5px; line-height: 1.55; }
.rm-drawer-footer {
    min-height: 68px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #e7ecef;
    background: #fff;
}
.rm-drawer-help { display: inline-flex; align-items: center; gap: 7px; color: #617586 !important; font-size: 11px; font-weight: 600; text-decoration: none !important; }
.rm-drawer-help i { color: #e11d48; }
.rm-drawer-footer .rm-primary-action { min-width: 96px; }

@media (max-width: 767.98px) {
    .page-booking .rm-bookings-section { padding: 28px 0 46px !important; }
    .page-booking .rm-bookings-heading { align-items: flex-start; margin-bottom: 18px; }
    .page-booking .rm-bookings-heading h1 { font-size: 26px !important; }
    .page-booking .rm-bookings-heading .rm-book-new-btn { min-height: 38px; padding: 0 12px; }
    .page-booking .rm-bookings-heading .rm-book-new-btn span { display: none; }
    .page-booking .rm-bookings-toolbar { grid-template-columns: 1fr 50px; }
    .page-booking .rm-filter-toggle { min-width: 50px; padding: 0; }
    .page-booking .rm-filter-toggle span { display: none; }
    .page-booking .rm-booking-filters.is-open { align-items: flex-start; flex-direction: column; max-height: 160px; }
    .page-booking .rm-booking-summary-row { align-items: flex-start; }
    .page-booking .rm-booking-help { display: none; }
    .page-booking .rm-booking-card-head { padding: 13px 15px; }
    .page-booking .rm-booking-card-body { padding: 16px 15px; }
    .page-booking .rm-booking-main-info { align-items: flex-start; flex-direction: column; gap: 12px; }
    .page-booking .rm-pay-now, .page-booking .rm-report-ready { align-self: flex-start; }
    .page-booking .rm-booking-card-actions { padding: 10px 15px; }
}
@media (max-width: 480px) {
    .page-booking .rm-bookings-heading p { max-width: 260px; }
    .page-booking .rm-booking-card-head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .page-booking .rm-booking-status { align-self: flex-start; }
    .page-booking .rm-booking-card-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .page-booking .rm-secondary-action, .page-booking .rm-primary-action { width: 100%; }
    .rm-booking-drawer { width: 100vw; }
}

/* ==========================================================
   MY BOOKINGS — distinctive action buttons
   ========================================================== */
.page-booking .rm-book-new-btn,
.page-booking .rm-secondary-action,
.page-booking .rm-primary-action,
.page-booking .rm-pay-now,
.page-booking .rm-report-ready {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    letter-spacing: .01em;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}

.page-booking .rm-btn-label {
    position: relative;
    z-index: 2;
    white-space: nowrap;
}

.page-booking .rm-btn-icon {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 9px;
    position: relative;
    z-index: 2;
    transition: transform .18s ease, background-color .18s ease, color .18s ease;
}

.page-booking .rm-btn-icon i { font-size: 10px; }

/* Book New Test — dark blue capsule with a white icon tile */
.page-booking .rm-book-new-btn {
    min-height: 46px;
    padding: 5px 16px 5px 6px;
    gap: 10px;
    border-radius: 14px 14px 14px 7px;
    border: 1px solid #0a4770;
    background: #0a4770;
    box-shadow: 0 9px 20px rgba(10,71,112,.16);
}
.page-booking .rm-book-new-btn .rm-btn-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 10px;
    background: #fff;
    color: #0a4770;
    box-shadow: 0 2px 7px rgba(0,0,0,.08);
}
.page-booking .rm-book-new-btn .rm-btn-icon i { font-size: 11px; }
.page-booking .rm-book-new-btn:hover {
    background: #083b5e;
    transform: translateY(-2px);
    box-shadow: 0 13px 24px rgba(10,71,112,.20);
}
.page-booking .rm-book-new-btn:hover .rm-btn-icon { transform: rotate(90deg); }

/* Shared card action shape — intentionally asymmetric */
.page-booking .rm-secondary-action,
.page-booking .rm-primary-action {
    min-height: 42px;
    padding: 5px 7px 5px 12px;
    gap: 9px;
    border-radius: 13px 13px 13px 6px;
    font-size: 11.5px;
}
.page-booking .rm-secondary-action .rm-btn-icon {
    background: #eef4f7;
    color: #0a4770;
}
.page-booking .rm-secondary-action {
    border-color: #cbd7df;
    background: #fff;
    color: #294156 !important;
    box-shadow: 0 3px 10px rgba(22,49,70,.04);
}
.page-booking .rm-secondary-action:hover {
    border-color: #0a4770;
    background: #f8fbfd;
    color: #0a4770 !important;
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(10,71,112,.08);
}
.page-booking .rm-secondary-action:hover .rm-btn-icon { transform: translateX(-1px) rotate(-6deg); }

/* View Booking / Done — solid body + lighter arrow tile */
.page-booking .rm-primary-action {
    padding-left: 15px;
    border-color: #0a4770;
    background: #0a4770;
    color: #fff !important;
    box-shadow: 0 7px 16px rgba(10,71,112,.16);
}
.page-booking .rm-primary-action .rm-btn-icon {
    background: rgba(255,255,255,.16);
    color: #fff;
    border: 1px solid rgba(255,255,255,.20);
}
.page-booking .rm-primary-action:hover {
    background: #083b5e;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(10,71,112,.22);
}
.page-booking .rm-primary-action:hover .rm-btn-icon-end { transform: translateX(3px); }

/* Payment action — red is used only as a small transaction accent */
.page-booking .rm-pay-now {
    min-height: 40px;
    padding: 5px 13px 5px 6px;
    gap: 8px;
    border-radius: 13px 13px 13px 6px;
    border: 1px solid #e11d48;
    background: #fff;
    color: #c8143c !important;
    box-shadow: 0 4px 12px rgba(225,29,72,.06);
}
.page-booking .rm-pay-now .rm-btn-icon {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
    border-radius: 9px;
    background: #fff1f4;
    color: #d81945;
}
.page-booking .rm-pay-now:hover {
    background: #fff8fa;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(225,29,72,.10);
}
.page-booking .rm-pay-now:hover .rm-btn-icon { transform: scale(1.06); }

/* Report button — blue outlined with document badge */
.page-booking .rm-report-ready {
    min-height: 40px;
    padding: 5px 13px 5px 6px;
    gap: 8px;
    border-radius: 13px 13px 13px 6px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(10,71,112,.05);
}
.page-booking .rm-report-ready .rm-btn-icon {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
    border-radius: 9px;
    background: #edf5f9;
    color: #0a4770;
}
.page-booking .rm-report-ready:hover {
    background: #f8fbfd;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(10,71,112,.09);
}
.page-booking .rm-report-ready:hover .rm-btn-icon { transform: translateY(-1px); }

/* Filter gets its own compact control style */
.page-booking .rm-filter-toggle {
    min-width: 52px;
    padding: 0 14px;
    border-radius: 13px 13px 13px 6px;
    box-shadow: 0 4px 12px rgba(32,54,75,.035);
}
.page-booking .rm-filter-toggle:hover,
.page-booking .rm-filter-toggle.is-active {
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(10,71,112,.07);
}

@media (max-width: 575.98px) {
    .page-booking .rm-book-new-btn {
        width: 44px;
        min-width: 44px;
        padding: 5px;
        border-radius: 13px;
    }
    .page-booking .rm-book-new-btn .rm-btn-label { display: none; }
    .page-booking .rm-book-new-btn .rm-btn-icon { margin: 0 auto; }
    .page-booking .rm-secondary-action,
    .page-booking .rm-primary-action {
        min-height: 44px;
        padding: 6px 7px 6px 11px;
    }
}

/* ==========================================================
   MY BOOKINGS — original RedMedi booking workspace refresh
   Less red, stronger blue/teal identity, distinct from references
   ========================================================== */
.page-booking .rm-bookings-section {
    background: #f4f7f9 !important;
}
.page-booking .rm-bookings-container {
    max-width: 1160px;
}
.page-booking .rm-bookings-heading {
    align-items: center;
    margin-bottom: 24px;
}
.page-booking .rm-bookings-eyebrow {
    color: #4a6578;
    letter-spacing: .14em;
}
.page-booking .rm-bookings-heading h1 {
    color: #0d3550;
    font-size: 32px !important;
    letter-spacing: -.02em;
}
.page-booking .rm-bookings-heading p {
    color: #6e8090;
}

/* Top action: clean architectural button, not a pill/copy of reference UI */
.page-booking .rm-book-new-btn {
    min-height: 44px;
    padding: 5px 15px 5px 6px;
    border: 1px solid #0d4668;
    border-radius: 11px;
    background: #0d4668;
    box-shadow: 0 8px 18px rgba(13,70,104,.14);
}
.page-booking .rm-book-new-btn .rm-btn-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 8px;
    background: #dff5f1;
    color: #11695d;
    box-shadow: none;
}
.page-booking .rm-book-new-btn:hover {
    background: #0a3b59;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(13,70,104,.18);
}
.page-booking .rm-book-new-btn:hover .rm-btn-icon {
    transform: rotate(45deg);
}

/* Toolbar is one neutral command surface */
.page-booking .rm-bookings-toolbar {
    padding: 8px;
    gap: 8px;
    border: 1px solid #dfe7ec;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(31,58,76,.045);
}
.page-booking .rm-member-select-wrap {
    min-height: 48px;
    border: 0;
    border-radius: 11px;
    background: #f7f9fb;
    box-shadow: none;
}
.page-booking .rm-filter-toggle {
    min-width: 112px;
    border: 0;
    border-radius: 11px;
    background: #edf3f6;
    color: #24475e;
    box-shadow: none;
}
.page-booking .rm-filter-toggle:hover,
.page-booking .rm-filter-toggle.is-active {
    border-color: transparent;
    background: #e1eef1;
    color: #11695d;
    box-shadow: none;
}
.page-booking .rm-booking-filters.is-open {
    border-color: #dfe7ec;
    background: #fbfcfd;
}
.page-booking .rm-filter-chip.active {
    border-color: #126c61;
    background: #126c61;
}

.page-booking .rm-booking-summary-row {
    margin-top: 28px;
}
.page-booking .rm-booking-summary-row h2 {
    color: #163d57;
}

/* Date markers: compact section tabs instead of broad bars */
.page-booking .rm-booking-date-label {
    margin: 0 0 11px;
}
.page-booking .rm-booking-date-label::after {
    background: #dfe7ec;
}
.page-booking .rm-booking-date-label span {
    padding: 6px 10px;
    border: 1px solid #dfe7ec;
    border-radius: 8px;
    background: #fff;
    color: #607888;
    font-size: 10.5px;
}

/* Card composition: status rail + two-column information workspace */
.page-booking .rm-booking-card {
    position: relative;
    display: grid;
    grid-template-columns: 6px minmax(0,1fr);
    margin-bottom: 16px;
    border: 1px solid #dce5ea;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(25,52,70,.045);
}
.page-booking .rm-booking-card::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / 4;
    width: 6px;
    background: #24a58f;
}
.page-booking .rm-booking-card[data-status="completed"]::before { background: #427694; }
.page-booking .rm-booking-card[data-status="cancelled"]::before { background: #a8b2ba; }
.page-booking .rm-booking-card:hover {
    transform: translateY(-2px);
    border-color: #c8d5dc;
    box-shadow: 0 14px 34px rgba(25,52,70,.075);
}
.page-booking .rm-booking-card-head,
.page-booking .rm-booking-card-body,
.page-booking .rm-booking-card-actions {
    grid-column: 2;
}
.page-booking .rm-booking-card-head {
    min-height: 54px;
    padding: 13px 18px 12px;
    border-bottom: 0;
}
.page-booking .rm-booking-id {
    gap: 8px;
}
.page-booking .rm-booking-id span {
    color: #8594a0;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.page-booking .rm-booking-id strong {
    color: #173d56;
    font-size: 14px;
}
.page-booking .rm-booking-status {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 8px;
    background: #e9f7f4;
    color: #166b5f;
    font-size: 10.5px;
}
.page-booking .rm-booking-status i {
    width: 6px;
    height: 6px;
    background: #28a58f;
    box-shadow: none;
}
.page-booking .rm-booking-status.rm-status-completed {
    background: #edf4f8;
    color: #315f7a;
}
.page-booking .rm-booking-status.rm-status-completed i {
    background: #427694;
    box-shadow: none;
}
.page-booking .rm-booking-status.rm-status-cancelled {
    background: #f2f4f5;
    color: #6f7b84;
}
.page-booking .rm-booking-status.rm-status-cancelled i {
    background: #8997a1;
    box-shadow: none;
}

.page-booking .rm-booking-card-body {
    padding: 2px 18px 18px;
    display: grid;
    grid-template-columns: minmax(0,.95fr) minmax(0,1.15fr);
    gap: 0;
}
.page-booking .rm-booking-main-info {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding: 16px 22px 16px 0;
    border-top: 1px solid #edf1f3;
}
.page-booking .rm-booking-time-block {
    gap: 7px;
}
.page-booking .rm-booking-meta-label {
    color: #7c8e9a;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.page-booking .rm-booking-meta-label i {
    color: #3f718e;
}
.page-booking .rm-booking-time-block > strong {
    color: #173c55;
    font-size: 14px;
}
.page-booking .rm-booking-time-block > strong span {
    color: #9aabb5;
}

.page-booking .rm-patient-row {
    margin: 0;
    padding: 16px 0 16px 22px;
    border-top: 1px solid #edf1f3;
    border-left: 1px solid #edf1f3;
    align-items: center;
}
.page-booking .rm-patient-avatar {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 10px;
    background: #edf5f7;
    color: #155f72;
}
.page-booking .rm-patient-row strong {
    color: #173c55;
    font-size: 13px;
}
.page-booking .rm-patient-row p {
    margin-top: 6px;
    color: #536f81;
    font-size: 11.5px;
}
.page-booking .rm-patient-row p i {
    color: #2a8f80;
}

/* Payment uses a warm gold accent rather than brand red */
.page-booking .rm-pay-now {
    min-height: 38px;
    padding: 4px 12px 4px 5px;
    border: 1px solid #e7c86c;
    border-radius: 10px;
    background: #fff8df;
    color: #6f5712 !important;
    box-shadow: none;
}
.page-booking .rm-pay-now .rm-btn-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
    border-radius: 7px;
    background: #f4d774;
    color: #5c490e;
}
.page-booking .rm-pay-now:hover {
    border-color: #d8b94f;
    background: #fff4c9;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(143,112,31,.10);
}

/* Report action stays teal/blue */
.page-booking .rm-report-ready {
    min-height: 38px;
    padding: 4px 12px 4px 5px;
    border: 1px solid #b8d8d2;
    border-radius: 10px;
    background: #eef9f7;
    color: #176b61 !important;
    box-shadow: none;
}
.page-booking .rm-report-ready .rm-btn-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
    border-radius: 7px;
    background: #d4eee9;
    color: #176b61;
}
.page-booking .rm-report-ready:hover {
    border-color: #8fc7bd;
    background: #e5f6f3;
    box-shadow: 0 6px 14px rgba(23,107,97,.08);
}

/* Footer is neutral; actions have a distinctive compact split-control language */
.page-booking .rm-booking-card-actions {
    min-height: 62px;
    padding: 11px 18px;
    border-top: 1px solid #edf1f3;
    background: #fafcfd;
}
.page-booking .rm-secondary-action,
.page-booking .rm-primary-action {
    min-height: 40px;
    border-radius: 10px;
    font-size: 11px;
    box-shadow: none;
}
.page-booking .rm-secondary-action {
    padding: 4px 11px 4px 5px;
    border: 1px solid #cfdae1;
    background: #fff;
    color: #31546a !important;
}
.page-booking .rm-secondary-action .rm-btn-icon {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
    border-radius: 7px;
    background: #eef3f6;
    color: #315f78;
}
.page-booking .rm-secondary-action:hover {
    border-color: #9eb5c2;
    background: #f7fafb;
    color: #173f58 !important;
    box-shadow: 0 5px 12px rgba(34,66,84,.07);
}
.page-booking .rm-primary-action {
    padding: 4px 5px 4px 13px;
    border: 1px solid #0d4668;
    background: #0d4668;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(13,70,104,.13);
}
.page-booking .rm-primary-action .rm-btn-icon {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
    border: 0;
    border-radius: 7px;
    background: #dff5f1;
    color: #11695d;
}
.page-booking .rm-primary-action:hover {
    background: #0a3a57;
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(13,70,104,.18);
}
.page-booking .rm-primary-action:hover .rm-btn-icon-end {
    transform: translateX(2px);
}

/* Tracking detail appears as a centered booking workspace, not a right-side copy */
.rm-booking-drawer-overlay {
    background: rgba(13,34,48,.42);
    backdrop-filter: blur(3px);
}
.rm-booking-drawer {
    top: 50%;
    right: 50%;
    width: min(900px, calc(100vw - 42px));
    height: min(720px, calc(100vh - 42px));
    border: 1px solid #dce5ea;
    border-radius: 22px;
    box-shadow: 0 24px 70px rgba(13,34,48,.25);
    opacity: 0;
    visibility: hidden;
    transform: translate(50%, -46%) scale(.97);
    transition: opacity .2s ease, transform .24s ease, visibility .2s ease;
    overflow: hidden;
}
.rm-booking-drawer.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(50%, -50%) scale(1);
}
.rm-drawer-head {
    min-height: 74px;
    border-bottom: 1px solid #e4ebef;
    background: #f9fbfc;
}
.rm-drawer-kicker {
    color: #537386;
}
.rm-drawer-head h2 {
    color: #123b55;
}
.rm-drawer-booking-strip {
    background: #eef5f7;
    border-bottom: 1px solid #dce7eb;
}
.rm-drawer-status {
    background: #dff3ef;
    color: #166b5f;
}
.rm-drawer-overview {
    grid-template-columns: 1fr 1.25fr;
    gap: 10px;
}
.rm-drawer-overview > div:last-child {
    grid-column: 1 / -1;
}
.rm-track-title span {
    background: #eef5f7;
    color: #315f78;
}
.rm-timeline-step.is-done .rm-step-dot {
    border-color: #2a9f8b;
    background: #2a9f8b;
}
.rm-timeline-step.is-done:not(:last-child)::before {
    background: #2a9f8b;
}
.rm-timeline-step.is-current .rm-step-dot {
    border-color: #3f718e;
    color: #3f718e;
    box-shadow: 0 0 0 4px rgba(63,113,142,.08);
}
.rm-step-card > i {
    color: #2e7180;
}
.rm-cancelled-panel {
    border-color: #dfe3e6;
    background: #f7f8f9;
    color: #687781;
}
.rm-cancelled-panel strong,
.rm-cancelled-panel p {
    color: #687781;
}
.rm-drawer-help i {
    color: #2a8f80;
}

@media (max-width: 767.98px) {
    .page-booking .rm-booking-card-body {
        grid-template-columns: 1fr;
    }
    .page-booking .rm-booking-main-info {
        padding-right: 0;
    }
    .page-booking .rm-patient-row {
        padding: 15px 0 4px;
        border-left: 0;
    }
    .page-booking .rm-bookings-toolbar {
        grid-template-columns: 1fr 50px;
    }
    .page-booking .rm-filter-toggle {
        min-width: 50px;
    }
    .rm-booking-drawer {
        width: calc(100vw - 22px);
        height: calc(100vh - 22px);
        border-radius: 18px;
    }
}

@media (max-width: 480px) {
    .page-booking .rm-booking-card {
        grid-template-columns: 4px minmax(0,1fr);
        border-radius: 14px;
    }
    .page-booking .rm-booking-card::before {
        width: 4px;
    }
    .page-booking .rm-booking-card-head {
        padding: 12px 13px 10px;
    }
    .page-booking .rm-booking-card-body {
        padding: 0 13px 14px;
    }
    .page-booking .rm-booking-card-actions {
        padding: 10px 13px;
    }
    .page-booking .rm-secondary-action,
    .page-booking .rm-primary-action {
        min-height: 42px;
    }
    .rm-drawer-overview {
        grid-template-columns: 1fr;
    }
    .rm-drawer-overview > div:last-child {
        grid-column: auto;
    }
}

/* ==========================================================
   MY BOOKINGS — refined light-weight portal design (v4)
   Balanced typography, minimal red, original card language
   ========================================================== */
.page-booking .rm-bookings-section {
    padding: 34px 0 62px !important;
    background: #f8fafb !important;
}
.page-booking .rm-bookings-container { max-width: 1080px; }

/* Heading */
.page-booking .rm-bookings-heading {
    align-items: center;
    margin-bottom: 20px;
}
.page-booking .rm-bookings-eyebrow { display: none; }
.page-booking .rm-bookings-heading h1 {
    margin: 0 0 5px !important;
    color: #123b55;
    font-size: 27px !important;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -.015em;
}
.page-booking .rm-bookings-heading p {
    max-width: 620px;
    color: #718391;
    font-size: 13.5px;
    line-height: 1.55;
    font-weight: 400;
}

/* Book-new button: simple, compact, not over-designed */
.page-booking .rm-book-new-btn {
    min-height: 40px;
    padding: 0 15px;
    gap: 8px;
    border: 1px solid #174f72;
    border-radius: 9px;
    background: #174f72;
    color: #fff !important;
    box-shadow: none;
    font-size: 12.5px;
    font-weight: 500;
}
.page-booking .rm-book-new-btn .rm-btn-icon {
    width: auto;
    height: auto;
    flex-basis: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}
.page-booking .rm-book-new-btn .rm-btn-icon i { font-size: 11px; }
.page-booking .rm-book-new-btn:hover {
    background: #103f5f;
    border-color: #103f5f;
    transform: none;
    box-shadow: none;
}
.page-booking .rm-book-new-btn:hover .rm-btn-icon { transform: none; }

/* Toolbar */
.page-booking .rm-bookings-toolbar {
    display: grid;
    grid-template-columns: minmax(0,1fr) 46px;
    gap: 10px;
    padding: 0;
    margin-bottom: 11px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.page-booking .rm-member-select-wrap {
    min-height: 46px;
    border: 1px solid #d9e2e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}
.page-booking .rm-member-select-wrap > i:first-child {
    margin-left: 15px;
    color: #6e8291;
    font-size: 12px;
}
.page-booking .rm-member-select-wrap select {
    height: 44px;
    padding-left: 10px;
    color: #27485e;
    font-size: 13px;
    font-weight: 400;
}
.page-booking .rm-member-chevron { right: 15px; color: #738491; font-size: 10px; }
.page-booking .rm-filter-toggle {
    min-width: 46px;
    width: 46px;
    min-height: 46px;
    padding: 0;
    border: 1px solid #d9e2e8;
    border-radius: 10px;
    background: #fff;
    color: #355a72;
    box-shadow: none;
    font-size: 13px;
    font-weight: 500;
}
.page-booking .rm-filter-toggle span { display: none; }
.page-booking .rm-filter-toggle:hover,
.page-booking .rm-filter-toggle.is-active {
    background: #eef5f8;
    border-color: #b8ccd8;
    color: #174f72;
    transform: none;
    box-shadow: none;
}

/* Filter panel */
.page-booking .rm-booking-filters.is-open {
    margin: 0 0 15px;
    padding: 11px 13px;
    border: 1px solid #e0e7eb;
    border-radius: 10px;
    background: #fff;
}
.page-booking .rm-filter-label {
    color: #687c8a;
    font-size: 11.5px;
    font-weight: 500;
}
.page-booking .rm-filter-chip {
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid #dce5ea;
    border-radius: 8px;
    background: #fff;
    color: #536b7b;
    font-size: 11.5px;
    font-weight: 400;
}
.page-booking .rm-filter-chip span {
    font-size: 9.5px;
    font-weight: 500;
}
.page-booking .rm-filter-chip.active {
    border-color: #174f72;
    background: #eef5f8;
    color: #174f72;
    font-weight: 500;
}
.page-booking .rm-filter-chip.active span {
    background: #dcebf2;
    color: #174f72;
}

/* Summary */
.page-booking .rm-booking-summary-row {
    margin: 25px 0 14px;
    align-items: center;
}
.page-booking .rm-booking-summary-row h2 {
    margin: 0 0 2px;
    color: #183c55;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
}
.page-booking .rm-booking-summary-row p,
.page-booking .rm-booking-help {
    color: #84929d;
    font-size: 11.5px;
    font-weight: 400;
}
.page-booking .rm-booking-help a { color: #174f72; font-weight: 500; }

/* Date divider */
.page-booking .rm-booking-date-group { margin-bottom: 22px; }
.page-booking .rm-booking-date-label { margin: 0 0 9px; gap: 9px; }
.page-booking .rm-booking-date-label::after { background: #e4eaee; }
.page-booking .rm-booking-date-label span {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #82919c;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
}

/* Booking cards */
.page-booking .rm-booking-card {
    display: block;
    margin-bottom: 13px;
    border: 1px solid #dde5ea;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(22,54,73,.035);
    overflow: hidden;
    transform: none;
}
.page-booking .rm-booking-card::before { display: none; }
.page-booking .rm-booking-card:hover {
    transform: none;
    border-color: #cbd8df;
    box-shadow: 0 6px 18px rgba(22,54,73,.055);
}
.page-booking .rm-booking-card-head {
    min-height: 50px;
    padding: 12px 17px;
    border-bottom: 1px solid #edf1f3;
    background: #fbfcfd;
}
.page-booking .rm-booking-id { gap: 6px; align-items: center; }
.page-booking .rm-booking-id span {
    color: #7c8d99;
    font-size: 11.5px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}
.page-booking .rm-booking-id strong {
    color: #203f54;
    font-size: 13.5px;
    font-weight: 600;
}
.page-booking .rm-booking-status {
    min-height: 26px;
    padding: 0 9px;
    gap: 6px;
    border: 1px solid #d7ece7;
    border-radius: 999px;
    background: #f3faf8;
    color: #247565;
    font-size: 10.5px;
    font-weight: 500;
}
.page-booking .rm-booking-status i {
    width: 6px;
    height: 6px;
    background: #2ba28d;
    box-shadow: none;
}
.page-booking .rm-booking-status.rm-status-completed {
    border-color: #d9e7ef;
    background: #f4f8fa;
    color: #446d85;
}
.page-booking .rm-booking-status.rm-status-completed i { background: #4a7791; }
.page-booking .rm-booking-status.rm-status-cancelled {
    border-color: #e3e5e7;
    background: #f7f7f7;
    color: #78828a;
}
.page-booking .rm-booking-status.rm-status-cancelled i { background: #9aa3a9; }

.page-booking .rm-booking-card-body {
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 0;
}
.page-booking .rm-booking-main-info {
    min-height: 112px;
    padding: 18px 18px;
    border: 0;
    border-right: 1px solid #edf1f3;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
}
.page-booking .rm-booking-time-block { gap: 7px; }
.page-booking .rm-booking-meta-label {
    color: #7d8e9a;
    font-size: 11px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}
.page-booking .rm-booking-meta-label i { color: #5f8094; font-size: 11px; }
.page-booking .rm-booking-time-block > strong {
    color: #193b52;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 500;
}
.page-booking .rm-booking-time-block > strong span { color: #a0acb4; padding: 0 5px; }

.page-booking .rm-patient-row {
    margin: 0;
    padding: 18px;
    border: 0;
    align-items: center;
    gap: 11px;
}
.page-booking .rm-patient-avatar {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 10px;
    background: #edf4f7;
    color: #315e77;
    font-size: 12px;
    font-weight: 600;
}
.page-booking .rm-patient-row strong {
    color: #213f53;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
}
.page-booking .rm-patient-row strong span {
    color: #708391;
    font-weight: 400;
}
.page-booking .rm-patient-row p {
    margin: 6px 0 0;
    color: #42677c;
    font-size: 11.5px;
    line-height: 1.45;
    font-weight: 400;
}
.page-booking .rm-patient-row p i { margin-right: 6px; color: #3b8d81; font-size: 9px; }

/* Small utility actions */
.page-booking .rm-pay-now,
.page-booking .rm-report-ready {
    min-height: 32px;
    padding: 0 10px;
    gap: 6px;
    border-radius: 8px;
    box-shadow: none;
    font-size: 11px;
    font-weight: 500;
}
.page-booking .rm-pay-now {
    border: 1px solid #e8d9a8;
    background: #fffaf0;
    color: #765f22 !important;
}
.page-booking .rm-pay-now .rm-btn-icon,
.page-booking .rm-report-ready .rm-btn-icon {
    width: auto;
    height: auto;
    flex-basis: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
}
.page-booking .rm-pay-now:hover {
    border-color: #dcc888;
    background: #fff7e6;
    transform: none;
    box-shadow: none;
}
.page-booking .rm-report-ready {
    border: 1px solid #c8dedb;
    background: #f3faf8;
    color: #256f64 !important;
}
.page-booking .rm-report-ready:hover {
    border-color: #afd0ca;
    background: #edf8f5;
    transform: none;
    box-shadow: none;
}

/* Actions: restrained, modern, balanced font weight */
.page-booking .rm-booking-card-actions {
    min-height: 54px;
    padding: 9px 17px;
    gap: 8px;
    border-top: 1px solid #edf1f3;
    background: #fff;
}
.page-booking .rm-secondary-action,
.page-booking .rm-primary-action {
    min-height: 34px;
    padding: 0 11px;
    gap: 6px;
    border-radius: 8px;
    box-shadow: none;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
}
.page-booking .rm-secondary-action {
    border: 1px solid #d5e0e6;
    background: #fff;
    color: #48677a !important;
}
.page-booking .rm-secondary-action .rm-btn-icon,
.page-booking .rm-primary-action .rm-btn-icon {
    width: auto;
    height: auto;
    flex-basis: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
}
.page-booking .rm-secondary-action:hover {
    border-color: #b9cbd5;
    background: #f8fafb;
    color: #264e67 !important;
    transform: none;
    box-shadow: none;
}
.page-booking .rm-primary-action {
    border: 1px solid #174f72;
    background: #174f72;
    color: #fff !important;
}
.page-booking .rm-primary-action:hover {
    border-color: #103f5f;
    background: #103f5f;
    transform: none;
    box-shadow: none;
}
.page-booking .rm-primary-action:hover .rm-btn-icon-end,
.page-booking .rm-secondary-action:hover .rm-btn-icon { transform: none; }

/* Empty */
.page-booking .rm-booking-empty {
    border-radius: 13px;
    border-color: #d5e1e7;
}
.page-booking .rm-booking-empty h3 { font-size: 16px; font-weight: 600; }
.page-booking .rm-booking-empty p { font-size: 12.5px; font-weight: 400; }

/* Booking details modal typography */
.rm-booking-drawer {
    width: min(780px, calc(100vw - 40px));
    height: min(680px, calc(100vh - 40px));
    border-radius: 16px;
}
.rm-drawer-head { min-height: 68px; padding: 14px 17px; background: #fff; }
.rm-drawer-kicker { display: none; }
.rm-drawer-head h2 { color: #173d56; font-size: 19px; font-weight: 600; }
.rm-drawer-close { width: 34px; height: 34px; font-size: 13px; }
.rm-drawer-booking-strip { padding: 11px 17px; background: #f7fafb; }
.rm-drawer-booking-strip span { font-size: 10.5px; font-weight: 400; }
.rm-drawer-booking-strip strong { font-size: 12px; font-weight: 600; }
.rm-drawer-status { font-size: 10px !important; font-weight: 500; }
.rm-drawer-scroll { padding: 17px; }
.rm-drawer-overview { padding: 12px 13px; border-radius: 10px; box-shadow: none; }
.rm-drawer-overview span { font-size: 9.5px; font-weight: 400; }
.rm-drawer-overview strong { font-size: 11.5px; font-weight: 500; }
.rm-track-title h3 { font-size: 14px; font-weight: 600; }
.rm-track-title span { font-size: 9.5px; font-weight: 500; }
.rm-step-title strong { font-size: 11.5px; font-weight: 600; }
.rm-step-title span { font-size: 9px; font-weight: 500; }
.rm-step-content > p { font-size: 10px; font-weight: 400; }
.rm-step-card { box-shadow: none; }
.rm-step-card span { font-size: 9px; font-weight: 400; }
.rm-step-card strong { font-size: 10px; font-weight: 500; }
.rm-drawer-help { font-size: 11px; font-weight: 500; }

@media (max-width: 767.98px) {
    .page-booking .rm-bookings-section { padding: 26px 0 44px !important; }
    .page-booking .rm-bookings-heading { align-items: flex-start; gap: 12px; }
    .page-booking .rm-bookings-heading h1 { font-size: 24px !important; }
    .page-booking .rm-bookings-heading p { font-size: 12.5px; max-width: 500px; }
    .page-booking .rm-book-new-btn { min-height: 38px; }
    .page-booking .rm-booking-card-body { grid-template-columns: 1fr; }
    .page-booking .rm-booking-main-info {
        min-height: auto;
        padding: 15px;
        border-right: 0;
        border-bottom: 1px solid #edf1f3;
    }
    .page-booking .rm-patient-row { padding: 15px; }
    .page-booking .rm-booking-card-head { padding: 11px 14px; }
    .page-booking .rm-booking-card-actions { padding: 9px 14px; }
}

@media (max-width: 480px) {
    .page-booking .rm-bookings-heading h1 { font-size: 22px !important; }
    .page-booking .rm-bookings-heading p { display: none; }
    .page-booking .rm-book-new-btn {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
        padding: 0;
    }
    .page-booking .rm-book-new-btn .rm-btn-label { display: none; }
    .page-booking .rm-booking-card { border-radius: 12px; }
    .page-booking .rm-booking-card-head {
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }
    .page-booking .rm-booking-status { align-self: auto; }
    .page-booking .rm-booking-card-actions {
        display: flex;
        grid-template-columns: none;
    }
    .page-booking .rm-secondary-action,
    .page-booking .rm-primary-action {
        width: auto;
        min-height: 34px;
    }
    .rm-booking-drawer {
        width: calc(100vw - 16px);
        height: calc(100vh - 16px);
        border-radius: 13px;
    }
}
