/*
 * treatment-page.css
 * Body Lab Bali — Treatment Page Styles — Refined Grey/Pink Balance
 * Place in: /wp-content/themes/YOUR-CHILD-THEME/css/treatment-page.css
 * Enqueue via functions.php (see implementation guide)
 */

/* ═══════════════════════════════════════════════════════════════
   VARIABLES
   ═══════════════════════════════════════════════════════════════ */
:root {
    /* Pink is kept as a soft brand accent, not the dominant UI color */
    --bl-pink:        #e6b7ca;
    --bl-pink-light:  #f8f1f4;
    --bl-pink-dark:   #a36f86;

    /* Grey/neutral palette for a cleaner, more premium clinic look */
    --bl-dark:        #242424;
    --bl-dark-mid:    #3a3a3a;
    --bl-muted:       #707070;
    --bl-border:      #e5e5e5;
    --bl-bg:          #f7f7f7;
    --bl-bg-soft:     #fafafa;
    --bl-white:       #ffffff;

    --bl-font-serif:  'Manrope', sans-serif;
    --bl-font-sans:   'Manrope', sans-serif;

    --bl-radius-sm:   6px;
    --bl-radius-md:   12px;
    --bl-radius-lg:   16px;
    --bl-radius-pill: 30px;

    --bl-section-gap: 72px;
    --bl-container:   1140px;
    --bl-gap:         24px;
}

/* ═══════════════════════════════════════════════════════════════
   BASE
   ═══════════════════════════════════════════════════════════════ */
.bl-treatment {
    font-family: var(--bl-font-sans);
    color: var(--bl-dark);
    font-size: 15px;
    line-height: 1.7;
    background: var(--bl-white);
    width: 100%;
}

.bl-treatment *,
.bl-treatment *::before,
.bl-treatment *::after {
    box-sizing: border-box;
}

.bl-container {
    max-width: var(--bl-container);
    width: 100%;
    margin: 0 auto;
    padding: 0 0px;
}

@media (max-width: 480px) {
    .bl-container {
        padding: 0 20px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════════════════════════ */
.bl-eyebrow {
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--bl-pink-dark);
    margin: 0 0 8px;
    font-family: var(--bl-font-sans);
    font-weight: 400;
}

.bl-eyebrow--light {
    color: var(--bl-pink);
}

.bl-section__title {
    font-family: var(--bl-font-serif);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0 0 32px;
    line-height: 1.2;
}

/* ═══════════════════════════════════════════════════════════════
   SECTIONS — shared spacing
   ═══════════════════════════════════════════════════════════════ */
.bl-section {
    padding: var(--bl-section-gap) 0;
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-section:last-of-type {
    border-bottom: none;
}

/* ═══════════════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════════════ */
.bl-treatment .bl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border-radius: var(--bl-radius-pill);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    font-family: var(--bl-font-sans);
    white-space: nowrap;
    box-shadow: none;
}

.bl-treatment .bl-btn--primary,
.bl-treatment .bl-btn--primary:visited {
    background: var(--bl-pink) !important;
    color: var(--bl-dark) !important;
    border-color: var(--bl-pink) !important;
}
.bl-treatment .bl-btn--primary:hover {
    background: var(--bl-pink-dark) !important;
    border-color: var(--bl-pink-dark) !important;
    color: var(--bl-white) !important;
}

/* Outline — on white hero background */
.bl-treatment .bl-btn--outline,
.bl-treatment .bl-btn--outline:visited {
    background: transparent !important;
    color: var(--bl-dark) !important;
    border: 1px solid var(--bl-border) !important;
}
.bl-treatment .bl-btn--outline:hover {
    background: var(--bl-bg) !important;
    border-color: var(--bl-pink-dark) !important;
    color: var(--bl-pink-dark) !important;
}

/* Dark button — pricing section */
.bl-treatment .bl-btn--dark,
.bl-treatment .bl-btn--dark:visited {
    background: var(--bl-dark) !important;
    color: var(--bl-pink) !important;
    border: 1px solid var(--bl-dark) !important;
}
.bl-treatment .bl-btn--dark:hover {
    background: var(--bl-dark-mid) !important;
    border-color: var(--bl-dark-mid) !important;
    color: var(--bl-pink) !important;
}

/* Outline dark — pricing section */
.bl-treatment .bl-btn--outline-dark,
.bl-treatment .bl-btn--outline-dark:visited {
    background: transparent !important;
    color: var(--bl-dark) !important;
    border: 1px solid var(--bl-dark) !important;
}
.bl-treatment .bl-btn--outline-dark:hover {
    background: var(--bl-bg) !important;
    color: var(--bl-dark) !important;
}

/* Final CTA — outline override to pink on dark bg */
.bl-treatment .bl-cta-final .bl-btn--outline,
.bl-treatment .bl-cta-final .bl-btn--outline:visited {
    color: var(--bl-pink) !important;
    border: 1px solid var(--bl-pink) !important;
    background: transparent !important;
}
.bl-treatment .bl-cta-final .bl-btn--outline:hover {
    background: rgba(244,154,197,0.12) !important;
    color: var(--bl-pink) !important;
}


/* ═══════════════════════════════════════════════════════════════
   1. HERO — Option B: white split, image flush right
   ═══════════════════════════════════════════════════════════════ */
.bl-hero {
    background: #ffffff;
    border-bottom: 0.5px solid var(--bl-border);
    overflow: hidden;
}

.bl-hero__inner {
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 0;
    align-items: stretch;
    min-height: 500px;
}

.bl-hero__content {
    padding: 56px 56px 56px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bl-hero__title {
    font-family: var(--bl-font-serif);
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 600;
    color: var(--bl-dark);
    line-height: 1.05;
    margin: 0 0 14px;
}

.bl-hero__tagline {
    display: block;
    color: var(--bl-pink-dark);
    font-style: italic;
    font-weight: 400;
    margin-top: 2px;
}

.bl-treatment .bl-hero__desc {
    font-size: 14px;
    color: var(--bl-muted);
    line-height: 1.75;
    margin: 0 0 24px;
    max-width: 460px;
}

.bl-treatment .bl-hero__badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.bl-badge {
    background: var(--bl-pink-light);
    border: 0.5px solid var(--bl-border);
    color: var(--bl-pink-dark);
    padding: 5px 14px;
    border-radius: var(--bl-radius-pill);
    font-size: 11px;
    letter-spacing: 0.5px;
}

.bl-hero__cta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 12px;
}

.bl-hero__price-hint {
    font-size: 12px;
    color: var(--bl-muted);
    margin: 0;
}

.bl-hero__image-wrap {
    position: relative;
    overflow: hidden;
    border-left: 0.5px solid var(--bl-border);
    min-height: 500px;
}

.bl-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.bl-hero__image-badge { display: none; }

/* ═══════════════════════════════════════════════════════════════
   2. TRUST STRIP
   ═══════════════════════════════════════════════════════════════ */
.bl-trust {
    background: var(--bl-bg);
    border-bottom: 0.5px solid var(--bl-border);
    padding: 0;
}

.bl-trust__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.bl-trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 16px;
    border-right: 0.5px solid var(--bl-border);
    gap: 4px;
}

.bl-trust__item:last-child {
    border-right: none;
}

.bl-trust__num {
    font-family: var(--bl-font-serif);
    font-size: 26px;
    font-weight: 600;
    color: var(--bl-dark);
    line-height: 1;
}

.bl-trust__label {
    font-size: 11px;
    color: var(--bl-muted);
    line-height: 1.4;
    max-width: 100px;
}

/* ═══════════════════════════════════════════════════════════════
   3. BENEFITS
   ═══════════════════════════════════════════════════════════════ */
.bl-benefits__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.bl-benefit-card {
    background: var(--bl-bg);
    border-radius: var(--bl-radius-md);
    padding: 24px 20px;
    border: 0.5px solid var(--bl-border);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.bl-benefit-card:hover {
    border-color: #d6d6d6;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.bl-benefit-card__icon {
    width: 40px;
    height: 40px;
    background: var(--bl-border);
    border-radius: var(--bl-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    color: var(--bl-dark);
}

.bl-benefit-card__icon svg {
    width: 20px;
    height: 20px;
}

.bl-benefit-card__title {
    font-size: 14px;
    font-weight: 500;
    color: var(--bl-dark);
    margin: 0 0 6px;
    font-family: var(--bl-font-sans);
}

.bl-benefit-card__desc {
    font-size: 13px;
    color: var(--bl-muted);
    margin: 0;
    line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════════
   3B. CATEGORY: TECHNOLOGY SECTION
   ═══════════════════════════════════════════════════════════════ */
.bl-cat-technology {
    background: var(--bl-bg);
}

.bl-cat-technology__body {
    max-width: 720px;
    font-size: 14px;
    line-height: 1.8;
    color: var(--bl-muted);
}

.bl-cat-technology__body p {
    margin: 0 0 12px;
}

.bl-cat-technology__body p:last-child {
    margin-bottom: 0;
}

.bl-cat-technology__body strong {
    color: var(--bl-dark);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   3C. CATEGORY: PRODUCT CARDS
   ═══════════════════════════════════════════════════════════════ */
.bl-cat-products__note {
    font-size: 13px;
    color: var(--bl-muted);
    font-style: italic;
    margin: -16px 0 32px;
    max-width: 580px;
    line-height: 1.65;
}

.bl-cat-products__grid {
	margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.bl-product-card {
    display: flex;
    flex-direction: column;
    background: var(--bl-white);
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bl-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
    border-color: #d6d6d6;
    text-decoration: none;
    color: inherit;
}

.bl-product-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--bl-bg);
    flex-shrink: 0;
}

.bl-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.bl-product-card:hover .bl-product-card__image img {
    transform: scale(1.04);
}

.bl-product-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 18px 14px;
    gap: 0;
}

.bl-product-card__title {
    font-size: 15px;
    font-weight: 500;
    color: var(--bl-dark);
    margin: 0 0 5px;
    font-family: var(--bl-font-sans);
    line-height: 1.3;
}

.bl-product-card__tagline {
    font-size: 10px;
    font-weight: 500;
    color: var(--bl-pink-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 10px;
}

.bl-product-card__desc {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.6;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bl-product-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
}

.bl-product-card__meta-item {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    color: var(--bl-muted);
    background: var(--bl-bg);
    border: 0.5px solid var(--bl-border);
    padding: 4px 10px;
    border-radius: var(--bl-radius-pill);
    line-height: 1;
}

.bl-product-card__meta-item--price {
    color: var(--bl-dark);
    background: var(--bl-bg-soft);
    border-color: var(--bl-border);
    font-weight: 500;
}

.bl-product-card__cta {
    display: inline-block;
    margin-top: 14px;
    font-size: 11px;
    font-weight: 500;
    color: var(--bl-pink-dark);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: color 0.2s;
}

.bl-product-card:hover .bl-product-card__cta {
    color: var(--bl-dark);
}

.bl-listing-cta__btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    cursor: pointer;
}

.bl-listing-cta__btn--primary {
    background: #ffffff;
    color: #1a1a1a;
    border: 2px solid #ffffff;
}

.bl-listing-cta__btn--primary:hover {
    background: #f0eded;
    border-color: #f0eded;
}

.bl-listing-cta__btn--outline {
    background: transparent;
    color: rgba(255,255,255,0.75);
    border: 2px solid rgba(255,255,255,0.35);
}

.bl-listing-cta__btn--outline:hover {
    color: #ffffff;
    border-color: rgba(255,255,255,0.7);
}

/* ═══════════════════════════════════════════════════════════════
   3D. PRODUCT SHOWCASE — STACKING SCROLL CARDS
   Each card position:sticky with small peek increment.
   Image left, title + description right. Section heading sticky.
   Classes: bl-product-showcase, bl-showcase-card
   ═══════════════════════════════════════════════════════════════ */
.bl-product-showcase__note {
    font-size: 13px;
    color: var(--bl-muted);
    font-style: italic;
    margin: -16px 0 40px;
    max-width: 580px;
    line-height: 1.65;
}

/* Section heading — sticky, stays visible as cards stack below */
.bl-product-showcase .bl-eyebrow {
    position: -webkit-sticky;
    position: sticky;
    top: 96px;
    background: var(--bl-white);
    z-index: 0;
    padding-top: 4px;
}

.bl-product-showcase .bl-section__title {
    position: -webkit-sticky;
    position: sticky;
    top: 116px;
    background: var(--bl-white);
    z-index: 0;
    padding-bottom: 4px;
}

.bl-product-showcase .bl-product-showcase__note {
    position: -webkit-sticky;
    position: sticky;
    top: 158px;
    background: var(--bl-white);
    z-index: 0;
    padding-bottom: 16px;
}

/* Stack container */
.bl-product-showcase__stack {
    display: block;
    position: relative;
}

/* Card — sticky, top set inline via PHP (202 + i*24 px) */
/* NO overflow:hidden on sticky element — Safari bug: overflow:hidden
   on a sticky parent collapses flex/grid layout inside it.
   Border-radius clipping handled on children instead. */
.bl-showcase-card {
    position: -webkit-sticky;
    position: sticky;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    min-height: 220px;
    background: var(--bl-white);
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-lg);
    margin-bottom: 16px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s ease;
}

.bl-showcase-card:last-child {
    margin-bottom: 0;
}

/* Linked variant */
.bl-showcase-card--linked {
    cursor: pointer;
}

.bl-showcase-card--linked:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
    text-decoration: none;
    color: inherit;
}

/* Image panel */
.bl-showcase-card__image-wrap {
    overflow: hidden;       /* clip image here, not on sticky parent */
    background: var(--bl-bg);
    width: 300px;
    min-width: 300px;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    -webkit-align-self: stretch;
    align-self: stretch;
    /* clip left side border-radius (card has no overflow:hidden) */
    border-radius: var(--bl-radius-lg) 0 0 var(--bl-radius-lg);
}

.bl-showcase-card__image-wrap--empty {
    background: var(--bl-bg);
}

.bl-showcase-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transition: transform 0.35s ease;
    /* Ensure image fills wrapper in all Safari versions */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    /* Force image to fill full height of wrapper */
    position: absolute;
    inset: 0;
}

.bl-showcase-card__image-wrap {
    position: relative;
}

.bl-showcase-card--linked:hover .bl-showcase-card__image {
    transform: scale(1.03);
}

/* Text panel */
.bl-showcase-card__body {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex: 1;
    flex: 1;
    gap: 10px;
    padding: 32px 40px;
    border-left: 0.5px solid var(--bl-border);
    min-width: 0;
    overflow: hidden;       /* clip text overflow + right border-radius */
    border-radius: 0 var(--bl-radius-lg) var(--bl-radius-lg) 0;
}

.bl-showcase-card__title {
    font-size: 16px;
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0;
    line-height: 1.3;
    font-family: var(--bl-font-sans);
}

.bl-showcase-card__desc {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.75;
    margin: 0;
}

/* WYSIWYG output */
.bl-showcase-card__desc p,
.bl-showcase-card__desc > p {
    margin: 0 0 12px !important;
    line-height: 1.75;
}

.bl-showcase-card__desc p:last-child,
.bl-showcase-card__desc > p:last-child {
    margin-bottom: 0 !important;
}

.bl-showcase-card__desc strong,
.bl-showcase-card__desc b {
    font-weight: 600;
    color: var(--bl-dark);
}

.bl-showcase-card__desc em,
.bl-showcase-card__desc i {
    font-style: italic;
}

.bl-showcase-card__desc ul,
.bl-showcase-card__desc ol {
    margin: 0 0 8px;
    padding-left: 18px;
}

.bl-showcase-card__desc li {
    margin-bottom: 3px;
}

.bl-showcase-card__cta {
    display: inline-block;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 500;
    color: var(--bl-pink-dark);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: color 0.2s;
}

.bl-showcase-card--linked:hover .bl-showcase-card__cta {
    color: var(--bl-dark);
}

/* ═══════════════════════════════════════════════════════════════
   3E. CATEGORY: QUICK GUIDE TABLE
   ═══════════════════════════════════════════════════════════════ */
.bl-quick-guide {
    background: var(--bl-bg);
}

.bl-quick-guide__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--bl-radius-md);
    border: 0.5px solid var(--bl-border);
    margin-top: 8px;
}

.bl-quick-guide__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: var(--bl-white);
}

.bl-quick-guide__table thead {
    background: var(--bl-dark);
}

.bl-quick-guide__table th {
    padding: 14px 20px;
    text-align: left;
    font-weight: 500;
    font-size: 10px;
    color: var(--bl-pink);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-family: var(--bl-font-sans);
}

.bl-quick-guide__table td {
    padding: 14px 20px;
    border-bottom: 0.5px solid var(--bl-border);
    color: var(--bl-muted);
    vertical-align: middle;
    line-height: 1.55;
}

.bl-quick-guide__table tbody tr:last-child td {
    border-bottom: none;
}

.bl-quick-guide__table tbody tr:nth-child(even) td {
    background: var(--bl-bg);
}

.bl-quick-guide__table td:first-child {
    font-weight: 500;
    color: var(--bl-dark);
    width: 45%;
}

.bl-quick-guide__table td:last-child {
    color: var(--bl-pink-dark);
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════
   4. MACHINE
   ═══════════════════════════════════════════════════════════════ */
.bl-machine {
    background: var(--bl-bg);
}

.bl-machine__inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: center;
}

.bl-machine__image-wrap {
    background: var(--bl-white);
    border-radius: var(--bl-radius-md);
    border: 0.5px solid var(--bl-border);
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bl-machine__image {
    width: 100%;
    max-height: 240px;
    object-fit: contain;
    display: block;
}

.bl-machine__badge {
    display: inline-block;
    background: var(--bl-dark);
    color: var(--bl-pink);
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: var(--bl-radius-pill);
    margin-bottom: 16px;
}

.bl-machine__desc {
    font-size: 14px;
    color: var(--bl-muted);
    margin: 0;
    line-height: 1.75;
}

/* ═══════════════════════════════════════════════════════════════
   5. BEFORE & AFTER
   ═══════════════════════════════════════════════════════════════ */
.bl-ba-gallery__wrap {
    margin-top: 8px;
}

/* ═══════════════════════════════════════════════════════════════
   6. VIDEO (standalone — kept for fallback)
   ═══════════════════════════════════════════════════════════════ */
.bl-video__wrap {
    max-width: 800px;
    margin: 0 auto;
}

.bl-video__embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: var(--bl-radius-md);
    background: var(--bl-dark);
}

.bl-video__embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: var(--bl-radius-md);
}

.bl-video__caption {
    text-align: center;
    font-size: 13px;
    color: var(--bl-muted);
    margin: 14px 0 0;
    font-style: italic;
}

/* ═══════════════════════════════════════════════════════════════
   7. PROCESS STEPS + portrait video
   ═══════════════════════════════════════════════════════════════ */
.bl-process__inner {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 48px;
    align-items: start;
}

.bl-process__steps {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bl-process__step {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 0.5px solid var(--bl-border);
    align-items: start;
}

.bl-process__step:last-child {
    border-bottom: none;
}

.bl-process__num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--bl-bg);
    color: var(--bl-dark);
    border: 0.5px solid var(--bl-border);
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    font-family: var(--bl-font-serif);
}

.bl-process__step-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--bl-dark);
    margin: 0 0 4px;
    font-family: var(--bl-font-sans);
    line-height: 1.4;
}

.bl-process__step-desc {
    font-size: 13px;
    color: var(--bl-muted);
    margin: 0;
    line-height: 1.65;
}

/* Portrait video column */
.bl-process__video {
    position: sticky;
    top: 100px;
}

.bl-process__video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: 14px;
    overflow: hidden;
    background: #000;
}

.bl-process__video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Overlay removed — was blocking iframe click/play interactions */
/* .bl-process__video-overlay { display: none; } */

/* ═══════════════════════════════════════════════════════════════
   8. RESULTS TIMELINE
   ═══════════════════════════════════════════════════════════════ */
.bl-timeline {
    background: var(--bl-bg);
}

.bl-timeline__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

.bl-timeline__card {
    background: var(--bl-white);
    border-radius: var(--bl-radius-md);
    padding: 20px 18px;
    border: 0.5px solid var(--bl-border);
}

.bl-timeline__card--highlight {
    background: var(--bl-bg);
    border-color: #d6d6d6;
}

.bl-timeline__time {
    display: block;
    font-size: 10px;
    font-weight: 500;
    color: var(--bl-pink-dark);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-family: var(--bl-font-sans);
}

.bl-timeline__desc {
    font-size: 13px;
    color: var(--bl-muted);
    margin: 0;
    line-height: 1.55;
}

.bl-timeline__card--highlight .bl-timeline__desc {
    color: var(--bl-muted);
}

/* ═══════════════════════════════════════════════════════════════
   9. PRICING
   ═══════════════════════════════════════════════════════════════ */
.bl-pricing__cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 28px;
}

.bl-pricing__card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: var(--bl-bg);
    border-radius: var(--bl-radius-md);
    padding: 24px 28px;
    border: 0.5px solid var(--bl-border);
}

.bl-pricing__card--addon {
    background: var(--bl-white);
    padding: 16px 28px;
    border-style: dashed;
}

.bl-pricing__label {
    font-size: 15px;
    font-weight: 500;
    color: var(--bl-dark);
    margin: 0 0 4px;
    font-family: var(--bl-font-sans);
}

.bl-pricing__card--addon .bl-pricing__label {
    font-size: 13px;
    color: var(--bl-muted);
}

.bl-pricing__desc {
    font-size: 12px;
    color: var(--bl-muted);
    margin: 0;
    line-height: 1.55;
    max-width: 480px;
}

.bl-pricing__amount {
    font-family: var(--bl-font-serif);
    font-size: 22px;
    font-weight: 400;
    color: var(--bl-dark);
    white-space: nowrap;
    text-align: right;
    flex-shrink: 0;
}

.bl-pricing__card--addon .bl-pricing__amount {
    font-size: 17px;
    color: var(--bl-muted);
}

.bl-pricing__unit {
    font-size: 12px;
    color: var(--bl-muted);
    margin-left: 4px;
    font-family: var(--bl-font-sans);
}

.bl-pricing__cta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

/* Pricing category header */
.bl-pricing__category-header {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--bl-muted);
    padding: 12px 20px 10px;
    background: var(--bl-bg);
    border-bottom: 0.5px solid var(--bl-border);
    border-top: 0.5px solid var(--bl-border);
    margin-top: 0;
    margin-bottom: 0;
}

.bl-pricing__category-header:first-child {
    border-top: none;
}

/* ═══════════════════════════════════════════════════════════════
   BUNDLE DEALS SECTION
   ═══════════════════════════════════════════════════════════════ */
.bl-bundle__list {
    display: flex;
    flex-direction: column;
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    overflow: hidden;
    margin-bottom: 0;
}

.bl-bundle__category-header {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--bl-muted);
    background: var(--bl-bg);
    padding: 10px 20px;
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-bundle__item {
    display: flex;
    align-items: flex-end;      /* label aligns with sale price */
    justify-content: space-between;
    gap: 16px;
    padding: 14px 20px;
    border-bottom: 0.5px solid var(--bl-border);
    background: var(--bl-white);
}

.bl-bundle__item:last-child {
    border-bottom: none;
}

.bl-bundle__item-left {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.bl-bundle__label {
    font-size: 14px;
    font-weight: 500;
    color: var(--bl-dark);
    line-height: 1.3;
}

.bl-bundle__desc {
    font-size: 12px;
    color: var(--bl-muted);
    line-height: 1.5;
}

.bl-bundle__item-right {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.bl-bundle__duration {
    font-size: 12px;
    color: var(--bl-muted);
    white-space: nowrap;
}

.bl-bundle__prices {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.bl-bundle__regular-price {
    font-size: 11px;
    color: var(--bl-muted);
    text-decoration: line-through;
    font-weight: 400;
}

.bl-bundle__price {
    font-size: 16px;
    font-weight: 600;
    color: var(--bl-dark);
    white-space: nowrap;
}

.bl-bundle__cta {
    display: flex;
    gap: 12px;
}

/* Bundle heading in pricelist context */
.bl-pricelist-bundle {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 0.5px solid var(--bl-border);
}

.bl-pricelist-bundle__heading {
    font-size: 13px;
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0 0 16px;
    letter-spacing: 0.3px;
}

/* ─── Responsive ─── */
@media (max-width: 600px) {
    .bl-bundle__item {
        flex-direction: row;        /* keep horizontal on mobile */
        align-items: center;
        gap: 12px;
        padding: 12px 16px;
    }

    .bl-bundle__label {
        font-size: 13px;
    }

    .bl-bundle__item-right {
        flex-shrink: 0;
        flex-direction: column;
        align-items: flex-end;
        gap: 2px;
    }

    .bl-bundle__duration {
        display: none;              /* hide duration on mobile, too cramped */
    }

    .bl-bundle__prices {
        align-items: flex-end;
    }

    .bl-bundle__regular-price {
        font-size: 11px;
    }

    .bl-bundle__price {
        font-size: 14px;
    }
}

.bl-pricing__area-diagram {
    margin-top: 48px;
    padding-top: 40px;
    border-top: 0.5px solid var(--bl-border);
    text-align: center;
}

.bl-pricing__area-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--bl-muted);
    margin: 0 0 24px;
}

.bl-pricing__area-image {
    width: 100%;
    height: auto;
    display: block;
}

/* ── Applicator Table ──────────────────────────────────────────── */
.bl-applicator-table {
    margin-top: 24px;
    margin-bottom: 32px;
    padding-top: 0;
    border-top: none;
}

/* Applicator table inside pricelist — same structure as pricing items */
.bl-pricelist-treatment .bl-applicator-table {
    margin: 0;
    padding: 0;
    border-top: none;
}

.bl-pricelist-treatment .bl-applicator-table__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--bl-muted);
    padding: 10px 20px 8px;
    background: var(--bl-bg);
    border-top: 0.5px solid var(--bl-border);
    border-bottom: 0.5px solid var(--bl-border);
    margin: 0;
}

.bl-pricelist-treatment .bl-applicator-table__rows {
    border: none;
    border-radius: 0;
}

.bl-pricelist-treatment .bl-applicator-table__row {
    padding: 12px 20px;
    border-radius: 0;
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-pricelist-treatment .bl-applicator-table__row:last-child {
    border-bottom: none;
}

.bl-pricelist-treatment .bl-applicator-table__area {
    font-size: 14px;
}

.bl-pricelist-treatment .bl-applicator-table__count {
    font-size: 13px;
    color: var(--bl-pink-dark);
    font-weight: 600;
}

.bl-applicator-table__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--bl-muted);
    margin: 0 0 16px;
}

.bl-applicator-table__rows {
    display: flex;
    flex-direction: column;
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    overflow: hidden;
}

.bl-applicator-table__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-bottom: 0.5px solid var(--bl-border);
    background: var(--bl-white);
}

.bl-applicator-table__row:last-child {
    border-bottom: none;
}

.bl-applicator-table__row:nth-child(even) {
    background: var(--bl-bg);
}

.bl-applicator-table__area {
    font-size: 14px;
    color: var(--bl-dark);
    font-weight: 400;
}

.bl-applicator-table__count {
    font-size: 13px;
    color: var(--bl-muted);
    white-space: nowrap;
    font-weight: 500;
}


/* ═══════════════════════════════════════════════════════════════
   7B. PRE & POST CARE GUIDE — tabbed care instructions
   ═══════════════════════════════════════════════════════════════ */
.bl-care-guide {
    background: var(--bl-bg);
}

.bl-care-guide__head {
    display: grid;
    grid-template-columns: minmax(240px, 0.85fr) minmax(280px, 1fr);
    gap: 40px;
    align-items: end;
    margin-bottom: 30px;
}

.bl-care-guide .bl-section__title {
    margin-bottom: 0;
}

.bl-care-guide__intro {
    max-width: 560px;
    margin: 0;
    color: var(--bl-muted);
    font-size: 14px;
    line-height: 1.75;
}

.bl-care-tabs {
    background: var(--bl-white);
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-lg);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.035);
}

.bl-care-tabs__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.bl-care-tabs__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    background: var(--bl-bg-soft);
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-care-tabs__tab {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 72px;
    justify-content: center;
    padding: 14px 18px;
    border: 0.5px solid transparent;
    border-radius: var(--bl-radius-md);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
    user-select: none;
}

.bl-care-tabs__tab-kicker {
    font-size: 10px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--bl-muted);
    line-height: 1.2;
}

.bl-care-tabs__tab-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--bl-dark);
    line-height: 1.25;
}

.bl-care-tabs__tab:hover {
    background: var(--bl-white);
    border-color: var(--bl-border);
}

.bl-care-tabs__input--pre:checked ~ .bl-care-tabs__nav .bl-care-tabs__tab--pre,
.bl-care-tabs__input--post:checked ~ .bl-care-tabs__nav .bl-care-tabs__tab--post {
    background: var(--bl-white);
    border-color: #d6d6d6;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.bl-care-tabs__input--pre:checked ~ .bl-care-tabs__nav .bl-care-tabs__tab--pre .bl-care-tabs__tab-kicker,
.bl-care-tabs__input--post:checked ~ .bl-care-tabs__nav .bl-care-tabs__tab--post .bl-care-tabs__tab-kicker {
    color: var(--bl-pink-dark);
}

.bl-care-tabs__panels {
    position: relative;
}

.bl-care-panel {
    display: none;
    padding: 30px;
}

.bl-care-tabs--single .bl-care-panel,
.bl-care-tabs__input--pre:checked ~ .bl-care-tabs__panels .bl-care-panel--pre,
.bl-care-tabs__input--post:checked ~ .bl-care-tabs__panels .bl-care-panel--post {
    display: block;
}

.bl-care-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 18px;
    margin-bottom: 4px;
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-care-panel__badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 14px;
    border-radius: var(--bl-radius-pill);
    background: var(--bl-pink-light);
    color: var(--bl-pink-dark);
    font-size: 10px;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    font-weight: 500;
}

.bl-care-panel--post .bl-care-panel__badge {
    background: var(--bl-dark);
    color: var(--bl-pink);
}

.bl-care-panel__count {
    color: var(--bl-muted);
    font-size: 12px;
    white-space: nowrap;
}

.bl-care-list {
    display: flex;
    flex-direction: column;
}

.bl-care-step {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-care-step:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.bl-care-step__num {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bl-bg);
    border: 0.5px solid var(--bl-border);
    color: var(--bl-pink-dark);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    margin-top: 1px;
}

.bl-care-panel--post .bl-care-step__num {
    color: var(--bl-dark);
}

.bl-care-step__title {
    margin: 0 0 6px;
    color: var(--bl-dark);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    font-family: var(--bl-font-sans);
}

.bl-care-step__desc {
    color: var(--bl-muted);
    font-size: 13px;
    line-height: 1.75;
}

.bl-care-step__desc p {
    margin: 0 0 10px;
}

.bl-care-step__desc p:last-child {
    margin-bottom: 0;
}

.bl-care-step__desc ul,
.bl-care-step__desc ol {
    margin: 8px 0 0;
    padding-left: 18px;
}

.bl-care-step__desc li {
    margin-bottom: 4px;
}

.bl-care-step__desc strong,
.bl-care-step__desc b {
    color: var(--bl-dark);
    font-weight: 600;
}

@media (max-width: 900px) {
    .bl-care-guide__head {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 24px;
    }

    .bl-care-guide__intro {
        max-width: 100%;
    }
}

@media (max-width: 600px) {
    .bl-care-tabs {
        border-radius: var(--bl-radius-md);
    }

    .bl-care-tabs__nav {
        gap: 6px;
        padding: 8px;
    }

    .bl-care-tabs__tab {
        min-height: 62px;
        padding: 11px 12px;
    }

    .bl-care-tabs__tab-kicker {
        font-size: 9px;
        letter-spacing: 1px;
    }

    .bl-care-tabs__tab-title {
        font-size: 13px;
    }

    .bl-care-panel {
        padding: 22px 18px;
    }

    .bl-care-panel__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        padding-bottom: 14px;
    }

    .bl-care-panel__count {
        white-space: normal;
    }

    .bl-care-step {
        grid-template-columns: 36px 1fr;
        gap: 12px;
        padding: 18px 0;
    }

    .bl-care-step__num {
        width: 28px;
        height: 28px;
        font-size: 10px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   10. FAQ
   ═══════════════════════════════════════════════════════════════ */
.bl-faq__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    overflow: hidden;
}

.bl-faq__item {
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    overflow: hidden;
    background: var(--bl-white);
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.bl-treatment .bl-faq__question {
    width: 100% !important;
    max-width: 100% !important;
    background: none;
    border: none;
    padding: 18px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--bl-dark);
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--bl-font-sans);
    transition: background 0.15s;
    text-transform: none;
    letter-spacing: 0;
    box-sizing: border-box !important;
    overflow: hidden;
}

.bl-treatment .bl-faq__question span:first-child {
    flex: 1 1 0;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    line-height: 1.5;
    text-align: left;
}

.bl-treatment .bl-faq__question:hover {
    background: var(--bl-bg);
}

.bl-treatment .bl-faq__question[aria-expanded="true"] {
    color: var(--bl-dark);
    background: var(--bl-bg);
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-treatment .bl-faq__arrow {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid var(--bl-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    color: var(--bl-dark);
    transition: transform 0.25s ease, background 0.15s;
    background: transparent;
    font-style: normal;
    margin-top: 1px;
}

.bl-treatment .bl-faq__arrow::before {
    content: '+';
    display: block;
    width: auto;
    height: auto;
    background: none;
    position: static;
    transform: none;
}

.bl-treatment .bl-faq__arrow::after {
    display: none;
}

.bl-treatment .bl-faq__question[aria-expanded="true"] .bl-faq__arrow {
    background: var(--bl-dark);
    border-color: var(--bl-dark);
    color: var(--bl-white);
    transform: rotate(45deg);
}

.bl-faq__answer {
    overflow: hidden;
    transition: height 0.3s ease;
}

.bl-faq__answer[hidden] {
    display: none;
}

.bl-faq__answer-inner {
    padding: 16px 20px 20px;
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.75;
}

.bl-faq__answer-inner p { margin: 0 0 10px; }
.bl-faq__answer-inner p:last-child { margin-bottom: 0; }
.bl-faq__answer-inner ol,
.bl-faq__answer-inner ul {
    padding-left: 20px;
    margin: 0 0 10px;
}
.bl-faq__answer-inner li { margin-bottom: 4px; }

/* ═══════════════════════════════════════════════════════════════
   11. PERFORMER — Option B: horizontal profile, no avatar
   ═══════════════════════════════════════════════════════════════ */
.bl-performer {
    background: var(--bl-bg);
}

.bl-performer__card {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 24px;
    align-items: start;
    background: var(--bl-white);
    border-radius: var(--bl-radius-md);
    padding: 28px;
    border: 0.5px solid var(--bl-border);
    max-width: 700px;
}

/* No image — text only, single column */
.bl-performer__card--no-img {
    grid-template-columns: 1fr;
}

.bl-performer__image-wrap {
    flex-shrink: 0;
    width: 80px;
    height: 100px;
    border-radius: 8px;
    overflow: hidden;
}

.bl-performer__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Avatar hidden — no fallback emoji */
.bl-performer__avatar { display: none; }

.bl-performer__label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--bl-pink-dark);
    display: block;
    margin-bottom: 6px;
}

.bl-performer__name {
    font-family: var(--bl-font-serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0 0 10px;
}

.bl-performer__role {
    font-size: 12px;
    color: var(--bl-muted);
    margin: 0 0 10px;
    display: none;
}

.bl-performer__bio {
    font-size: 13px;
    color: var(--bl-muted);
    margin: 0;
    line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════════
   12. FINAL CTA
   ═══════════════════════════════════════════════════════════════ */
.bl-treatment .bl-cta-final {
    background: var(--bl-dark);
    padding: 80px 0 72px;
    text-align: center;
}

.bl-cta-final__title {
    font-family: var(--bl-font-serif);
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 400;
    color: var(--bl-white);
    margin: 0 0 10px;
    line-height: 1.2;
}

.bl-cta-final__title em {
    color: var(--bl-pink);
    font-style: italic;
}

.bl-treatment .bl-cta-final__sub {
    font-size: 14px;
    color: #c9a8bc;
    margin: 0 auto 36px;
    max-width: 460px;
    line-height: 1.7;
}

.bl-cta-final__btns {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.bl-cta-final .bl-btn--outline {
    color: var(--bl-pink);
    border-color: var(--bl-pink);
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

/* Tablet — 900px */
@media (max-width: 900px) {
    :root {
        --bl-section-gap: 52px;
    }

    /* Hero — stack vertically */
    .bl-hero__inner {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .bl-hero__content {
        padding: 40px 24px;
    }

    .bl-hero__image-wrap {
        border-left: none;
        border-top: 0.5px solid var(--bl-border);
    }

    .bl-hero__image {
        height: 300px;
        min-height: unset;
        max-width: 100%;
    }

    .bl-hero__image-badge {
        bottom: 12px;
    }

    /* Process — hide video on tablet */
    .bl-process__inner {
        grid-template-columns: 1fr;
    }

    .bl-process__video {
        display: none;
    }

    /* Performer — single column */
    .bl-performer__card {
        grid-template-columns: 1fr;
    }

    .bl-machine__inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .bl-machine__image-wrap {
        max-width: 380px;
    }

    /* Category cards — 2 columns on tablet */
    .bl-cat-products__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Product showcase — stack image above text on tablet */
    .bl-showcase-card {
        -webkit-flex-direction: column;
        flex-direction: column;
        min-height: auto;
    }

    .bl-showcase-card__image-wrap {
        width: 100%;
        min-width: 0;
        aspect-ratio: 16 / 6;
        min-height: 180px;
        border-radius: var(--bl-radius-lg) var(--bl-radius-lg) 0 0;
    }

    .bl-showcase-card__body {
        border-left: none;
        border-top: 0.5px solid var(--bl-border);
        padding: 24px 28px;
        border-radius: 0 0 var(--bl-radius-lg) var(--bl-radius-lg);
    }

    .bl-pricing__card {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .bl-pricing__amount {
        text-align: left;
    }
}

/* Mobile — 600px */
@media (max-width: 600px) {
    :root {
        --bl-section-gap: 40px;
        --bl-container: 100%;
    }

    .bl-container {
        padding: 0 16px;
    }

    .bl-hero__content {
        padding: 32px 16px;
    }

    .bl-hero__title {
        font-size: 28px;
    }

    .bl-hero__image {
        height: 240px;
    }

    .bl-trust__item {
        padding: 20px 10px;
    }

    .bl-trust__num {
        font-size: 20px;
    }

    .bl-benefits__grid {
        grid-template-columns: 1fr;
    }

    .bl-cat-products__grid {
        grid-template-columns: 1fr;
    }

    .bl-showcase-card__body {
        padding: 20px;
    }

    .bl-quick-guide__table th,
    .bl-quick-guide__table td {
        padding: 12px 14px;
    }

    .bl-quick-guide__table td:first-child {
        width: auto;
    }

    .bl-timeline__grid {
        grid-template-columns: 1fr 1fr;
    }

    .bl-process__step {
        grid-template-columns: 40px 1fr;
        gap: 14px;
    }

    .bl-pricing__card {
        padding: 18px 16px;
    }

    .bl-pricing__cta {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-pricing__cta .bl-btn {
        text-align: center;
        justify-content: center;
    }

    .bl-performer__card {
        padding: 20px;
        text-align: left;
    }

    .bl-cta-final__btns {
        flex-direction: column;
        align-items: center;
    }

    .bl-hero__cta {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-hero__cta .bl-btn {
        text-align: center;
        justify-content: center;
    }
}

/* Mobile small — 400px */
@media (max-width: 400px) {
    .bl-timeline__grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   INJECTABLE REJUVENATION LISTING PAGE
   page-injectable-rejuvenation.php
   ═══════════════════════════════════════════════════════════════════ */

.bl-listing-hero {
    position: relative;
    padding: 100px 0 80px;
    background: #faf8f7;
    border-bottom: 1px solid #ede9e7;
    text-align: center;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.bl-listing-hero--has-bg {
    padding: 120px 0 100px;
}

.bl-listing-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(250, 248, 247, 0.88);
    pointer-events: none;
}

.bl-listing-hero--has-bg .bl-listing-hero__overlay {
    background: rgba(20, 14, 14, 0.52);
}

.bl-listing-hero__content {
    position: relative;
    z-index: 1;
}

.bl-listing-hero__title {
    font-family: 'DM Serif Display', serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 400;
    color: #1a1a1a;
    margin: 8px 0 16px;
    line-height: 1.15;
}

.bl-listing-hero--has-bg .bl-listing-hero__title {
    color: #ffffff;
}

.bl-listing-hero__subtitle {
    font-size: 1.0625rem;
    color: #666;
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.65;
}

.bl-listing-hero--has-bg .bl-listing-hero__subtitle {
    color: rgba(255, 255, 255, 0.78);
}

.bl-listing-hero--has-bg .bl-eyebrow {
    color: rgba(255, 255, 255, 0.65);
    letter-spacing: 1.5px;
}

.bl-listing-grid-section {
    padding: 60px 0 80px;
    background: #ffffff;
}

.bl-product-card__badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--bl-muted);
    background: var(--bl-bg);
    border-radius: 3px;
    padding: 3px 8px;
    margin-bottom: 8px;
}

.bl-listing-card__price {
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--bl-pink-dark);
}

.bl-product-card__image--placeholder {
    background: var(--bl-bg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.bl-product-card__image--placeholder svg {
    width: 40px;
    height: 40px;
    color: #b8b8b8;
    stroke: #b8b8b8;
}

.bl-listing-empty {
    text-align: center;
    color: #999;
    padding: 60px 0;
    font-size: 1rem;
}

.bl-listing-cta {
    padding: 80px 0;
    background: #2b2424;
    text-align: center;
}

.bl-listing-cta__inner {
    max-width: 600px;
    margin: 0 auto;
}

.bl-listing-cta__title {
    font-family: 'DM Serif Display', serif;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 400;
    color: #ffffff;
    margin: 0 0 14px;
}

.bl-listing-cta__text {
    font-size: 1rem;
    color: rgba(255,255,255,0.65);
    line-height: 1.65;
    margin: 0 0 32px;
}

.bl-listing-cta__buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 600px) {
    .bl-listing-hero {
        padding: 60px 0 40px;
    }

    .bl-listing-cta__buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-listing-cta__buttons .bl-btn {
        text-align: center;
        justify-content: center;
    }
}

.bl-listing-page .bl-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border-radius: var(--bl-radius-pill);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    font-family: var(--bl-font-sans);
    white-space: nowrap;
}

.bl-listing-page .bl-btn--primary,
.bl-listing-page .bl-btn--primary:visited {
    background: var(--bl-pink) !important;
    color: var(--bl-dark) !important;
    border-color: var(--bl-pink) !important;
}
.bl-listing-page .bl-btn--primary:hover {
    background: var(--bl-pink-dark) !important;
    border-color: var(--bl-pink-dark) !important;
    color: var(--bl-white) !important;
}

.bl-listing-page .bl-btn--outline,
.bl-listing-page .bl-btn--outline:visited {
    background: transparent !important;
    color: var(--bl-white) !important;
    border: 1px solid rgba(255,255,255,0.55) !important;
}
.bl-listing-page .bl-btn--outline:hover {
    background: rgba(255,255,255,0.1) !important;
    border-color: var(--bl-white) !important;
    color: var(--bl-white) !important;
}

.bl-listing-page .bl-cta-final {
    background: var(--bl-dark);
    padding: 80px 0 72px;
    text-align: center;
}

.bl-listing-page .bl-cta-final__sub {
    font-size: 14px;
    color: #c9a8bc;
    margin: 0 auto 36px;
    max-width: 460px;
    line-height: 1.7;
}

.bl-listing-page .bl-cta-final .bl-btn--outline {
    color: var(--bl-pink);
    border-color: var(--bl-pink);
}


/* ═══════════════════════════════════════════════════════════════════
   PRICE LIST PAGE
   page-pricelist.php
   ═══════════════════════════════════════════════════════════════════ */

.bl-pricelist-hero .bl-listing-hero__subtitle {
    margin-bottom: 20px;
}

.bl-pricelist-hero__badges {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
}

.bl-pricelist-badge {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
    color: var(--bl-muted);
    background: rgba(255,255,255,0.9);
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-pill);
    padding: 5px 14px;
}

.bl-listing-hero--has-bg .bl-pricelist-badge {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.85);
}

.bl-pricelist-nav {
    background: var(--bl-bg);
    border-bottom: 1px solid var(--bl-border);
    position: static;
    z-index: 1;
}

.bl-pricelist-nav--sticky {
    box-shadow: none;
}

.bl-pricelist-nav__inner {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0 4px;
    justify-content: center;
}

.bl-pricelist-nav__inner::-webkit-scrollbar {
    display: none;
}

.bl-pricelist-nav__item {
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3px;
    color: var(--bl-muted);
    text-decoration: none;
    padding: 16px 24px;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
    white-space: nowrap;
}

.bl-pricelist-nav__item:hover,
.bl-pricelist-nav__item.active {
    color: var(--bl-pink-dark);
    border-bottom-color: var(--bl-pink-dark);
}

.bl-pricelist-body {
    padding: 0 0 60px;
    background: #ffffff;
}

.bl-pricelist-section {
    padding: 56px 0 0;
    scroll-margin-top: 60px;
}

.bl-pricelist-section__header {
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--bl-border);
}

.bl-pricelist-section__header .bl-eyebrow {
    margin-bottom: 6px;
}

.bl-pricelist-section__title {
    font-family: var(--bl-font-serif);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 400;
    color: var(--bl-dark);
    margin: 0;
    line-height: 1.2;
}

.bl-pricelist-treatment {
    margin-bottom: 32px;
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    overflow: hidden;
}

.bl-pricelist-treatment--category {
    border-color: var(--bl-border);
    background: var(--bl-bg-soft);
}

.bl-pricelist-treatment__head {
    padding: 16px 20px 14px;
    border-bottom: 0.5px solid var(--bl-border);
    background: var(--bl-bg);
    display: flex;
    align-items: center;
    gap: 14px;
}

/* ── Hybrid header: image panel kiri 160×120px, nama+link kanan ── */
.bl-pricelist-treatment__head--has-img {
    display: flex;
    align-items: stretch;
    min-height: 160px;
    border-bottom: 0.5px solid var(--bl-border);
    background: var(--bl-white);
    padding: 0;
    overflow: hidden;
}

/* Image panel — actual div with background-image */
.bl-pricelist-treatment__head-img {
    background-size: cover;
    background-position: center center;
    background-color: var(--bl-bg);
    border-right: 0.5px solid var(--bl-border);
    flex-shrink: 0;
}

.bl-pricelist-treatment__overlay {
    display: none;
}

/* Text panel */
.bl-pricelist-treatment__head-text {
    min-width: 0;
    flex: 1;
}

.bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__head-text {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    position: static;
    z-index: auto;
    flex: 1;
}

.bl-pricelist-treatment__name {
    font-family: var(--bl-font-serif);
    font-size: 1rem;
    font-weight: 400;
    color: #242424;
    margin: 0;
    line-height: 1.35;
}

.bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__name {
    font-size: 1rem;
    color: #242424;
    letter-spacing: 0;
    text-shadow: none;
}

.bl-pricelist-treatment--category .bl-pricelist-treatment__name {
    color: #242424;
}

.bl-pricelist-treatment--category .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__name {
    color: #242424;
}

/* Mobile — overlay layout: teks center di atas image */
@media (max-width: 640px) {
    .bl-pricelist-treatment__head--has-img {
        position: relative;
        flex-direction: row;
        min-height: 160px;
        padding: 0 !important;
        overflow: hidden;
        border-bottom: 0.5px solid var(--bl-border);
    }

    /* Image fills the whole head */
    .bl-pricelist-treatment__head-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        border-right: none !important;
        background-color: #2a1e26 !important;
        border-radius: 0;
        z-index: 0;
    }

    /* Dark overlay */
    .bl-pricelist-treatment__head--has-img::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(20, 14, 18, 0.45);
        z-index: 1;
    }

    /* Text centered on top */
    .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__head-text {
        position: relative;
        z-index: 2;
        width: 100%;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center;
        padding: 24px 20px !important;
        gap: 6px;
    }

    .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__name {
        color: #ffffff !important;
        font-size: 1rem;
    }

    .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__head-text p {
        color: rgba(255, 255, 255, 0.75) !important;
        margin: 0 !important;
        font-size: 12px;
    }

    .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__link {
        color: rgba(255, 255, 255, 0.9) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        padding-bottom: 1px;
        margin-top: 4px !important;
        flex-shrink: 0;
    }
}

.bl-pricelist-treatment__tagline {
    font-size: 12px;
    color: var(--bl-muted);
    font-style: normal;
    margin: 0;
    line-height: 1.4;
}

.bl-pricelist-treatment__link {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--bl-pink-dark);
    text-decoration: none;
    transition: color 0.2s;
    padding: 0;
    border: none;
    border-radius: 0;
}

.bl-pricelist-treatment__link:hover {
    color: var(--bl-dark);
}

.bl-pricelist-items {
    display: flex;
    flex-direction: column;
}

.bl-pricelist-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 20px;
    border-bottom: 0.5px solid var(--bl-border);
    transition: background 0.15s;
}

.bl-pricelist-item:last-child {
    border-bottom: none;
}

.bl-pricelist-item:hover {
    background: var(--bl-bg);
}

.bl-pricelist-item--addon {
    background: var(--bl-bg-soft);
    border-left: 2px solid var(--bl-border);
    padding-left: 18px;         /* compensate for border */
}

.bl-pricelist-item--addon:hover {
    background: var(--bl-bg);
}

.bl-pricelist-item__left {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

/* Hidden — replaced by left border accent */
.bl-pricelist-item__addon-tag {
    display: none;
}

.bl-pricelist-item__label {
    font-size: 14px;
    font-weight: 500;
    color: var(--bl-dark);
    line-height: 1.4;
}

.bl-pricelist-item--addon .bl-pricelist-item__label {
    font-size: 13px;
    color: var(--bl-muted);
    font-weight: 400;
}

.bl-pricelist-item__desc {
    font-size: 11px;
    color: #b0909a;
    line-height: 1.4;
    font-style: normal;
}

.bl-pricelist-item__right {
    display: flex;
    flex-direction: row;        /* price + unit on 1 line */
    align-items: baseline;
    gap: 4px;
    flex-shrink: 0;
    text-align: right;
}

.bl-pricelist-item__price {
    font-size: 14px;
    font-weight: 600;
    color: var(--bl-pink-dark);
    white-space: nowrap;
}

.bl-pricelist-item--addon .bl-pricelist-item__price {
    font-size: 13px;
    color: var(--bl-muted);
    font-weight: 500;
}

.bl-pricelist-item__unit {
    font-size: 10px;
    color: #c0a0b0;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.bl-pricelist-disclaimer {
    padding: 40px 0;
    background: var(--bl-bg);
    border-top: 1px solid var(--bl-border);
    text-align: center;
}

.bl-pricelist-disclaimer p {
    font-size: 12px;
    color: var(--bl-muted);
    margin: 0 0 20px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.bl-pricelist-disclaimer__contact {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .bl-pricelist-nav__item {
        font-size: 11px;
        padding: 12px 12px;
    }

    .bl-pricelist-item__label {
        font-size: 12px;
    }

    .bl-pricelist-item__price {
        font-size: 13px;
    }

    .bl-pricelist-item {
        padding: 10px 16px;
    }

    .bl-pricelist-treatment__head {
        padding: 14px 16px 12px;
    }
}

@media (max-width: 480px) {
    /* Description tetap muncul tapi lebih kecil */
    .bl-pricelist-item__desc {
        display: block;
        font-size: 10px;
    }

    /* Add-on item lebih kecil dari item utama */
    .bl-pricelist-item--addon {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .bl-pricelist-item--addon .bl-pricelist-item__label {
        font-size: 11px;
    }

    .bl-pricelist-item--addon .bl-pricelist-item__price {
        font-size: 11px;
    }

    .bl-pricelist-item--addon .bl-pricelist-item__unit {
        font-size: 9px;
    }
}



/* ── Pricelist compact layout (< 6 items) ────────────────────────
   Desktop: image kiri lebar, pricing di kolom kanan
   Mobile:  image di atas full-width, pricing di bawah
   ─────────────────────────────────────────────────────────────── */
.bl-pricelist-treatment--compact {
    display: flex;
    align-items: stretch;
    flex-direction: row;
}

.bl-pricelist-compact__img {
    width: 220px;
    min-width: 220px;
    flex-shrink: 0;
    background-size: cover;
    background-position: center center;
    background-color: var(--bl-bg);
    border-right: 0.5px solid var(--bl-border);
}

.bl-pricelist-compact__right {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.bl-pricelist-compact__head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 0.5px solid var(--bl-border);
    min-height: 80px;
}

/* Mobile — match the standard/long pricing header layout
   Compact cards use different markup on desktop, so this override makes
   compact treatments visually identical to the long layout on mobile:
   image as header background, dark overlay, centered title/tagline/link. */
@media (max-width: 640px) {
    .bl-pricelist-treatment--compact {
        display: block !important;
        position: relative;
        overflow: hidden;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100% !important;
        min-width: 0 !important;
        height: 160px;
        aspect-ratio: auto;
        margin: 0;
        border-right: none;
        border-bottom: 0.5px solid var(--bl-border);
        background-color: #2a1e26;
        background-size: cover;
        background-position: center center;
        z-index: 0;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__right {
        display: block;
        position: relative;
        z-index: 1;
        width: 100%;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head {
        position: relative;
        min-height: 160px;
        width: 100%;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center;
        gap: 6px;
        padding: 24px 20px !important;
        border-bottom: 0.5px solid var(--bl-border);
        background: transparent;
        overflow: hidden;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head::before {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(20, 14, 18, 0.45);
        z-index: 0;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head > * {
        position: relative;
        z-index: 1;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-treatment__name {
        color: #ffffff !important;
        font-size: 1rem;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head p {
        color: rgba(255, 255, 255, 0.75) !important;
        margin: 0 !important;
        font-size: 12px !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-treatment__link {
        color: rgba(255, 255, 255, 0.9) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        padding-bottom: 1px;
        margin-top: 4px !important;
        flex-shrink: 0;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-items {
        position: relative;
        background: var(--bl-white);
    }
}

/* ═══════════════════════════════════════════════════════════════
   FINAL REFINEMENTS
   ═══════════════════════════════════════════════════════════════ */
.bl-section__title,
.bl-benefit-card__title,
.bl-product-card__title,
.bl-process__step-title,
.bl-pricing__label,
.bl-performer__name,
.bl-pricelist-section__title,
.bl-pricelist-treatment__name,
.bl-listing-hero__title,
.bl-listing-cta__title,
.bl-cta-final__title,
.bl-hero__title {
    font-weight: 600;
}

.bl-eyebrow,
.bl-hero__tagline,
.bl-product-card__tagline,
.bl-product-card__cta,
.bl-listing-card__price,
.bl-pricelist-item__price,
.bl-pricelist-nav__item:hover,
.bl-pricelist-nav__item.active {
    color: var(--bl-pink-dark);
}

.bl-benefit-card:hover,
.bl-product-card:hover {
    border-color: #d6d6d6;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

.bl-product-card__meta-item--price {
    color: var(--bl-dark);
    background: var(--bl-bg-soft);
    border-color: var(--bl-border);
}

.bl-process__num {
    background: var(--bl-bg);
    color: var(--bl-dark);
    border: 0.5px solid var(--bl-border);
}

.bl-timeline__card--highlight {
    background: var(--bl-bg);
    border-color: #d6d6d6;
}

.bl-timeline__card--highlight .bl-timeline__desc {
    color: var(--bl-muted);
}

.bl-treatment .bl-faq__question[aria-expanded="true"] {
    color: var(--bl-dark);
    background: var(--bl-bg);
}

.bl-treatment .bl-faq__question[aria-expanded="true"] .bl-faq__arrow {
    background: var(--bl-dark);
    border-color: var(--bl-dark);
    color: var(--bl-white);
}

.bl-pricelist-treatment--category {
    border-color: var(--bl-border);
    background: var(--bl-bg-soft);
}

/* bl-pricelist-item--addon rules consolidated above */

/* ═══════════════════════════════════════════════════════════════

/* ═══════════════════════════════════════════════════════════════
   FINAL OVERRIDES — Dark flat hero + process treatment preview
   Updated for vertical Reels videos and flat dark/pink design
   ═══════════════════════════════════════════════════════════════ */

/* HERO — flat dark gradient, no radial/3D glow, clean image */
@media (min-width: 901px) {
    .bl-hero {
        background: linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%);
        border-bottom: none;
        overflow: hidden;
    }

    .bl-hero .bl-container {
        max-width: 1300px;
        padding-left: 32px;
        padding-right: 32px;
        position: relative;
    }

    .bl-hero__inner {
        display: grid;
        grid-template-columns: minmax(0, 60%) minmax(0, 40%);
        align-items: stretch;
        gap: 0;
        min-height: unset;
    }

    .bl-hero__content {
        padding: 68px 72px 68px 0;
        min-height: 540px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .bl-hero__title {
        color: #ffffff;
        font-size: clamp(38px, 4vw, 58px);
        line-height: 1.02;
        margin-bottom: 18px;
        letter-spacing: -0.03em;
    }

    .bl-hero__tagline {
        color: #efbfd3;
        font-size: clamp(30px, 3.3vw, 44px);
        line-height: 1.08;
        letter-spacing: -0.035em;
        max-width: 760px;
        margin-top: 6px;
    }

    .bl-treatment .bl-hero__desc {
        color: rgba(255, 255, 255, 0.86);
        font-size: 15px;
        line-height: 1.8;
        max-width: 540px;
        margin-bottom: 28px;
    }

    .bl-treatment .bl-hero__badges {
        gap: 10px;
        margin-bottom: 30px;
    }

    .bl-badge {
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(255, 255, 255, 0.22);
        color: rgba(255, 255, 255, 0.86);
        padding: 6px 14px;
        font-size: 10px;
        letter-spacing: 0.8px;
        text-transform: uppercase;
    }

    .bl-hero__price-hint {
        color: rgba(255, 255, 255, 0.86);
        font-weight: 500;
    }

    .bl-treatment .bl-btn--outline,
    .bl-treatment .bl-btn--outline:visited {
        color: #ffffff !important;
        border-color: rgba(255, 255, 255, 0.34) !important;
        background: transparent !important;
    }

    .bl-treatment .bl-btn--outline:hover {
        background: rgba(255, 255, 255, 0.08) !important;
        border-color: rgba(255, 255, 255, 0.58) !important;
        color: #ffffff !important;
    }

    .bl-hero__image-wrap {
        position: relative;
        height: auto;
        min-height: 100%;
        border-left: none;
        overflow: hidden;
        width: calc(100% + ((100vw - 1300px) / 2) + 32px);
        margin-right: calc(-1 * (((100vw - 1300px) / 2) + 32px));
    }

    .bl-hero__image-wrap::before {
        display: none !important;
        content: none !important;
    }

    .bl-hero__image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
        opacity: 1;
        filter: none;
    }
}

@media (min-width: 901px) and (max-width: 1300px) {
    .bl-hero .bl-container {
        padding-left: 32px;
        padding-right: 0;
    }

    .bl-hero__image-wrap {
        width: 100%;
        margin-right: 0;
    }
}

@media (max-width: 900px) {
    .bl-hero {
        background: linear-gradient(135deg, #20181d 0%, #2b2027 58%, #3a2731 100%);
        border-bottom: none;
    }

    .bl-hero .bl-container {
        padding-left: 0;
        padding-right: 0;
    }

    .bl-hero__inner {
        grid-template-columns: 1fr;
        min-height: unset;
    }

    .bl-hero__content {
        padding: 40px 24px;
        min-height: unset;
    }

    .bl-hero__title {
        color: #ffffff;
    }

    .bl-hero__tagline {
        color: #efbfd3;
    }

    .bl-treatment .bl-hero__desc,
    .bl-hero__price-hint {
        color: rgba(255, 255, 255, 0.84);
    }

    .bl-badge {
        background: rgba(255, 255, 255, 0.06);
        border-color: rgba(255, 255, 255, 0.2);
        color: rgba(255, 255, 255, 0.86);
    }

    .bl-hero__image-wrap {
        width: 100%;
        margin-right: 0;
        height: 320px;
        min-height: 320px;
        border-left: none;
        border-top: 0.5px solid rgba(255, 255, 255, 0.12);
    }

    .bl-hero__image {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

@media (max-width: 600px) {
    .bl-hero__content {
        padding: 32px 16px;
    }

    .bl-hero__image-wrap {
        height: 260px;
        min-height: 260px;
    }
}

/* PROCESS — video remains in same section, but visually separated as preview */
@media (min-width: 901px) {
    .bl-process .bl-container {
        max-width: 1140px;
    }

    .bl-process__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 72px;
        align-items: start;
        width: 100%;
        max-width: none;
    }

    .bl-process__steps {
        max-width: 760px;
    }

    .bl-process__video {
        display: block;
        position: sticky;
        top: 100px;
        align-self: start;
        justify-self: end;
        width: 280px;
        margin-top: -84px;
    }

    .bl-process__video::before {
        content: "Treatment preview";
        display: block;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        color: var(--bl-pink-dark);
        margin: 0 0 12px;
        line-height: 1.2;
    }

    .bl-process__video-frame {
        position: relative;
        width: 100%;
        aspect-ratio: 9 / 16;
        border-radius: 20px;
        overflow: hidden;
        background: #111;
        border: 8px solid var(--bl-bg);
        box-shadow: 0 20px 56px rgba(0,0,0,0.10);
    }

    .bl-process__video-frame iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: none;
        display: block;
    }
}

@media (max-width: 900px) {
    .bl-process__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bl-process__video {
        display: block;
        position: static;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }

    .bl-process__video::before {
        content: "Treatment preview";
        display: block;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        color: var(--bl-pink-dark);
        margin: 0 0 12px;
        line-height: 1.2;
        text-align: center;
    }
}

/* PROCESS — fallback card when no video is available */
.bl-process__side-card {
    position: sticky;
    top: 100px;
    background: var(--bl-bg);
    border: 1px solid var(--bl-border);
    border-radius: var(--bl-radius-lg);
    padding: 24px;
}

.bl-process__side-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--bl-pink-dark);
    margin-bottom: 10px;
}

.bl-process__side-card h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0 0 10px;
    line-height: 1.3;
}

.bl-process__side-card p {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.7;
    margin: 0 0 18px;
}

.bl-process__side-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bl-process__side-card li {
    position: relative;
    padding-left: 18px;
    font-size: 13px;
    color: var(--bl-dark);
    line-height: 1.5;
    margin-bottom: 8px;
}

.bl-process__side-card li:last-child {
    margin-bottom: 0;
}

.bl-process__side-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bl-pink);
}

@media (max-width: 900px) {
    .bl-process__side-card {
        position: static;
    }
}

/* PRICING — subtle note, not a big box */
.bl-pricing__note {
    margin: -18px 0 28px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    max-width: 620px;
}

.bl-pricing__note > span {
    display: none;
}

.bl-pricing__note p {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.65;
    margin: 0;
}


/* Pricing WYSIWYG description */
.bl-pricing__note--custom .bl-pricing__note-content,
.bl-pricing__note--custom .bl-pricing__note-content p {
    display: block;
}

.bl-pricing__note--custom .bl-pricing__note-content p,
.bl-pricing__note--custom .bl-pricing__note-content li {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.65;
}

.bl-pricing__note--custom .bl-pricing__note-content p {
    margin: 0 0 10px;
}

.bl-pricing__note--custom .bl-pricing__note-content p:last-child {
    margin-bottom: 0;
}

.bl-pricing__note--custom .bl-pricing__note-content span {
    display: inline;
    color: inherit;
}

.bl-pricing__note--custom .bl-pricing__note-content strong,
.bl-pricing__note--custom .bl-pricing__note-content b {
    font-weight: 600;
    color: var(--bl-dark);
}

.bl-pricing__note--custom .bl-pricing__note-content ul,
.bl-pricing__note--custom .bl-pricing__note-content ol {
    margin: 0 0 10px;
    padding-left: 18px;
}

.bl-pricing__cards,
.bl-pricing__cta {
    max-width: 1100px;
}

/* FAQ — one clean column */
.bl-faq__list {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    max-width: 960px;
    overflow: visible;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE HERO FIX — dark hero readability
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 600px) {
    .bl-hero__content {
        padding: 40px 20px 36px;
    }

    .bl-hero__title {
        font-size: 28px !important;
        line-height: 1.05;
        margin-bottom: 12px;
        letter-spacing: -0.03em;
    }

    .bl-hero__tagline {
        font-size: 22px !important;
        line-height: 1.12;
        letter-spacing: -0.035em;
        margin-top: 6px;
        color: #efbfd3;
    }

    .bl-treatment .bl-hero__desc {
        font-size: 13px;
        line-height: 1.75;
        margin-bottom: 28px;
        color: rgba(255,255,255,0.84);
    }

    .bl-treatment .bl-hero__badges {
        gap: 8px;
        margin-bottom: 28px;
    }

    .bl-badge {
        font-size: 12px;
        padding: 7px 14px;
        color: rgba(255,255,255,0.86);
        background: rgba(255,255,255,0.06);
        border-color: rgba(255,255,255,0.20);
    }

    .bl-hero__cta {
        gap: 12px;
        margin-bottom: 18px;
    }

    .bl-hero__cta .bl-btn {
        width: 100%;
        min-height: 52px;
        font-size: 12px;
        justify-content: center;
    }

    .bl-treatment .bl-hero__cta .bl-btn--outline,
    .bl-treatment .bl-hero__cta .bl-btn--outline:visited {
        color: #ffffff !important;
        border-color: rgba(255,255,255,0.78) !important;
        background: transparent !important;
    }

    .bl-treatment .bl-hero__cta .bl-btn--outline:hover {
        color: #ffffff !important;
        border-color: #ffffff !important;
        background: rgba(255,255,255,0.08) !important;
    }

    .bl-hero__price-hint {
        font-size: 14px;
        color: rgba(255,255,255,0.82);
    }
}

@media (max-width: 380px) {
    .bl-hero__title {
        font-size: 34px !important;
    }

    .bl-hero__tagline {
        font-size: 28px !important;
    }

    .bl-treatment .bl-hero__desc {
        font-size: 15px;
    }
}
/* ═══════════════════════════════════════════════════════════════
   PRICE LIST HERO FINAL — compact dark utility hero
   Applies to page-pricelist.php
   ═══════════════════════════════════════════════════════════════ */

.bl-pricelist-page .bl-pricelist-hero {
    position: relative;
    padding: 86px 0 76px;
    background: linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%) !important;
    background-image: linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%) !important;
    border-bottom: none;
    text-align: left;
    overflow: hidden;
}

.bl-pricelist-page .bl-listing-hero__overlay {
    display: none !important;
}

.bl-pricelist-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 72px;
    align-items: center;
    max-width: 1080px;
}

.bl-pricelist-hero__content {
    max-width: 680px;
}

.bl-pricelist-page .bl-pricelist-hero .bl-eyebrow {
    color: #efbfd3;
    margin-bottom: 12px;
}

.bl-pricelist-page .bl-listing-hero__title {
    font-family: var(--bl-font-serif);
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.035em;
    color: #ffffff;
    margin: 0 0 18px;
}

.bl-pricelist-page .bl-listing-hero__subtitle {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255,255,255,0.84);
    max-width: 620px;
    margin: 0 0 26px;
}

.bl-pricelist-page .bl-pricelist-hero__badges {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.bl-pricelist-page .bl-pricelist-badge {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.22);
    color: rgba(255,255,255,0.86);
    border-radius: var(--bl-radius-pill);
    padding: 6px 14px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.bl-pricelist-hero__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.bl-pricelist-page .bl-pricelist-hero .bl-btn--outline,
.bl-pricelist-page .bl-pricelist-hero .bl-btn--outline:visited {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.38) !important;
    background: transparent !important;
}

.bl-pricelist-page .bl-pricelist-hero .bl-btn--outline:hover {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.72) !important;
    background: rgba(255,255,255,0.08) !important;
}

.bl-pricelist-hero__panel {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 20px;
    padding: 24px;
    color: #ffffff;
}

.bl-pricelist-hero__panel-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #efbfd3;
    margin-bottom: 16px;
}

.bl-pricelist-hero__panel-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.bl-pricelist-hero__panel-row span {
    font-size: 12px;
    color: rgba(255,255,255,0.62);
}

.bl-pricelist-hero__panel-row strong {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.92);
    text-align: right;
}

/* Price list category navigation */
.bl-pricelist-page .bl-pricelist-nav {
    position: sticky;
    top: var(--h-height, 72px);
    z-index: 50;
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(10px);
    border-top: none;
    border-bottom: 1px solid var(--bl-border);
}

.bl-pricelist-page .bl-pricelist-nav__inner {
    justify-content: flex-start;
    gap: 0;
    padding: 0;
}

.bl-pricelist-page .bl-pricelist-nav__item {
    padding: 16px 22px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.bl-pricelist-page .bl-pricelist-nav__item:hover,
.bl-pricelist-page .bl-pricelist-nav__item.active {
    color: var(--bl-dark);
    border-bottom-color: var(--bl-pink-dark);
}

@media (max-width: 900px) {
    .bl-pricelist-page .bl-pricelist-hero {
        padding: 56px 0 48px;
    }

    .bl-pricelist-hero__inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .bl-pricelist-hero__panel {
        max-width: 420px;
    }

    .bl-pricelist-page .bl-listing-hero__title {
        font-size: 38px;
    }
}

@media (max-width: 600px) {
    .bl-pricelist-page .bl-pricelist-hero {
        padding: 44px 0 40px;
    }

    .bl-pricelist-page .bl-listing-hero__title {
        font-size: 34px;
        line-height: 1.08;
    }

    .bl-pricelist-page .bl-listing-hero__subtitle {
        font-size: 14px;
        line-height: 1.75;
        margin-bottom: 22px;
    }

    .bl-pricelist-page .bl-pricelist-hero__badges {
        gap: 8px;
        margin-bottom: 26px;
    }

    .bl-pricelist-page .bl-pricelist-badge {
        font-size: 10px;
        padding: 6px 12px;
    }

    .bl-pricelist-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-pricelist-hero__actions .bl-btn {
        width: 100%;
        min-height: 52px;
    }

    .bl-pricelist-hero__panel {
        display: none;
    }

    .bl-pricelist-page .bl-pricelist-nav {
        top: var(--h-height, 72px);
    }

    .bl-pricelist-page .bl-pricelist-nav__item {
        padding: 13px 16px;
        font-size: 10px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST HERO CENTERED UPDATE
   Centered hero content, no info panel, centered desktop nav
   ═══════════════════════════════════════════════════════════════ */
.bl-pricelist-hero__panel {
    display: none !important;
}

.bl-pricelist-page .bl-pricelist-hero {
    text-align: center;
}

.bl-pricelist-hero__inner {
    display: block !important;
    max-width: 880px !important;
    margin: 0 auto !important;
}

.bl-pricelist-hero__content {
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.bl-pricelist-page .bl-pricelist-hero .bl-eyebrow,
.bl-pricelist-page .bl-listing-hero__title,
.bl-pricelist-page .bl-listing-hero__subtitle {
    text-align: center !important;
}

.bl-pricelist-page .bl-listing-hero__subtitle {
    margin-left: auto !important;
    margin-right: auto !important;
}

.bl-pricelist-page .bl-pricelist-hero__badges,
.bl-pricelist-hero__actions {
    justify-content: center !important;
}

@media (min-width: 769px) {
    .bl-pricelist-page .bl-pricelist-nav__inner {
        justify-content: center !important;
    }
}

@media (max-width: 768px) {
    .bl-pricelist-page .bl-pricelist-nav__inner {
        justify-content: flex-start !important;
    }
}

/* PRICELIST HERO — centered + featured image background */
.bl-pricelist-hero--dark {
    position: relative;
    padding: 120px 0 96px;
    background:
        linear-gradient(
            135deg,
            rgba(32, 24, 29, 0.88) 0%,
            rgba(43, 32, 39, 0.80) 52%,
            rgba(58, 39, 49, 0.74) 100%
        ),
        var(--pricelist-hero-bg, linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%));
    background-size: cover;
    background-position: center center;
    text-align: center;
    overflow: hidden;
    border-bottom: none;
}

.bl-pricelist-hero--dark .bl-container {
    position: relative;
    z-index: 1;
}

.bl-pricelist-hero__inner {
    display: block;
    max-width: 760px;
    margin: 0 auto;
}

.bl-pricelist-hero__content {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.bl-pricelist-hero--dark .bl-eyebrow {
    color: var(--bl-pink);
    margin-bottom: 10px;
}

.bl-pricelist-hero--dark .bl-listing-hero__title {
    color: #ffffff;
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 600;
    line-height: 1.05;
    margin: 0 0 18px;
    letter-spacing: -0.035em;
}

.bl-pricelist-hero--dark .bl-listing-hero__subtitle {
    color: rgba(255,255,255,0.82);
    max-width: 640px;
    margin: 0 auto 26px;
    font-size: 15px;
    line-height: 1.75;
}

.bl-pricelist-hero__badges {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.bl-pricelist-hero--dark .bl-pricelist-badge {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.22);
    color: rgba(255,255,255,0.88);
}

.bl-pricelist-hero__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.bl-pricelist-hero--dark .bl-btn--outline,
.bl-pricelist-hero--dark .bl-btn--outline:visited {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.42) !important;
    background: transparent !important;
}

.bl-pricelist-hero--dark .bl-btn--outline:hover {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.72) !important;
    background: rgba(255,255,255,0.08) !important;
}

.bl-pricelist-hero__panel {
    display: none !important;
}

@media (max-width: 600px) {
    .bl-pricelist-hero--dark {
        padding: 76px 0 60px;
    }

    .bl-pricelist-hero--dark .bl-listing-hero__title {
        font-size: 38px;
    }

    .bl-pricelist-hero--dark .bl-listing-hero__subtitle {
        font-size: 14px;
    }

    .bl-pricelist-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-pricelist-hero__actions .bl-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ═══════════════════════════════════════════════════════════════
   FINAL FIX — Pricelist hero featured image background
   Direct inline background-image is used by page-pricelist-bg-fixed-v2.php,
   so this block only controls sizing, overlay feel, alignment, and spacing.
   ═══════════════════════════════════════════════════════════════ */
.bl-pricelist-page .bl-pricelist-hero--dark {
    position: relative;
    padding: 118px 0 94px;
    background-color: #20181d;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    text-align: center;
    overflow: hidden;
    border-bottom: none;
}

.bl-pricelist-page .bl-pricelist-hero--dark:not(.bl-pricelist-hero--has-bg) {
    background-image: linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%);
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-container {
    position: relative;
    z-index: 1;
}

.bl-pricelist-page .bl-pricelist-hero__inner {
    display: block !important;
    max-width: 820px !important;
    margin: 0 auto !important;
}

.bl-pricelist-page .bl-pricelist-hero__content {
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.bl-pricelist-page .bl-pricelist-hero__panel {
    display: none !important;
}

.bl-pricelist-page .bl-pricelist-hero .bl-eyebrow {
    color: var(--bl-pink) !important;
    text-align: center !important;
    margin-bottom: 10px;
}

.bl-pricelist-page .bl-pricelist-hero .bl-listing-hero__title {
    color: #ffffff !important;
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.035em;
    margin: 0 0 18px;
    text-align: center !important;
}

.bl-pricelist-page .bl-pricelist-hero .bl-listing-hero__subtitle {
    color: rgba(255,255,255,0.84) !important;
    max-width: 640px;
    margin: 0 auto 26px !important;
    font-size: 15px;
    line-height: 1.75;
    text-align: center !important;
}

.bl-pricelist-page .bl-pricelist-hero__badges {
    display: flex;
    justify-content: center !important;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.bl-pricelist-page .bl-pricelist-hero .bl-pricelist-badge {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    color: rgba(255,255,255,0.88) !important;
}

.bl-pricelist-page .bl-pricelist-hero__actions {
    display: flex;
    justify-content: center !important;
    gap: 12px;
    flex-wrap: wrap;
}

.bl-pricelist-page .bl-pricelist-hero .bl-btn--outline,
.bl-pricelist-page .bl-pricelist-hero .bl-btn--outline:visited {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.42) !important;
    background: transparent !important;
}

.bl-pricelist-page .bl-pricelist-hero .bl-btn--outline:hover {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.72) !important;
    background: rgba(255,255,255,0.08) !important;
}

@media (min-width: 769px) {
    .bl-pricelist-page .bl-pricelist-nav__inner {
        justify-content: center !important;
    }
}

@media (max-width: 768px) {
    .bl-pricelist-page .bl-pricelist-nav__inner {
        justify-content: flex-start !important;
    }
}

@media (max-width: 600px) {
    .bl-pricelist-page .bl-pricelist-hero--dark {
        padding: 76px 0 60px;
    }

    .bl-pricelist-page .bl-pricelist-hero .bl-listing-hero__title {
        font-size: 38px;
    }

    .bl-pricelist-page .bl-pricelist-hero .bl-listing-hero__subtitle {
        font-size: 14px;
    }

    .bl-pricelist-page .bl-pricelist-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-pricelist-page .bl-pricelist-hero__actions .bl-btn {
        width: 100%;
        min-height: 52px;
        justify-content: center;
    }
}


/* ═══════════════════════════════════════════════════════════════
   PRICELIST HERO — use real image element, not background-image
   ═══════════════════════════════════════════════════════════════ */

.bl-pricelist-page .bl-pricelist-hero--dark {
    position: relative;
    padding: 118px 0 94px;
    background: linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%);
    overflow: hidden;
    text-align: center;
    border-bottom: none;
}

.bl-pricelist-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
}

.bl-pricelist-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        135deg,
        rgba(32, 24, 29, 0.72) 0%,
        rgba(43, 32, 39, 0.68) 52%,
        rgba(58, 39, 49, 0.62) 100%
    );
    pointer-events: none;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-container {
    position: relative;
    z-index: 2;
}

.bl-pricelist-hero__inner {
    display: block;
    max-width: 760px;
    margin: 0 auto;
}

.bl-pricelist-hero__content {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-eyebrow {
    color: var(--bl-pink);
    margin-bottom: 10px;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-listing-hero__title {
    color: #ffffff;
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 600;
    line-height: 1.05;
    margin: 0 0 18px;
    letter-spacing: -0.035em;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-listing-hero__subtitle {
    color: rgba(255,255,255,0.84);
    max-width: 640px;
    margin: 0 auto 26px;
    font-size: 15px;
    line-height: 1.75;
}

.bl-pricelist-hero__badges {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-pricelist-badge {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.22);
    color: rgba(255,255,255,0.88);
}

.bl-pricelist-hero__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-btn--outline,
.bl-pricelist-page .bl-pricelist-hero--dark .bl-btn--outline:visited {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.42) !important;
    background: transparent !important;
}

.bl-pricelist-page .bl-pricelist-hero--dark .bl-btn--outline:hover {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.72) !important;
    background: rgba(255,255,255,0.08) !important;
}

@media (max-width: 600px) {
    .bl-pricelist-page .bl-pricelist-hero--dark {
        padding: 76px 0 60px;
    }

    .bl-pricelist-page .bl-pricelist-hero--dark .bl-listing-hero__title {
        font-size: 38px;
    }

    .bl-pricelist-page .bl-pricelist-hero--dark .bl-listing-hero__subtitle {
        font-size: 14px;
    }

    .bl-pricelist-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .bl-pricelist-hero__actions .bl-btn {
        width: 100%;
        justify-content: center;
    }
}
/* ═══════════════════════════════════════════════════════════════
   PROMOTIONS PAGE — Cards layout final
   page-promotions.php
   ═══════════════════════════════════════════════════════════════ */

.bl-promotions-page {
    min-height: 60vh;
    background: var(--bl-white);
}

/* Hero */
.bl-promotions-page .bl-promo-hero {
    position: relative;
    padding: 122px 0 98px;
    background: linear-gradient(135deg, #20181d 0%, #2b2027 54%, #3a2731 100%);
    overflow: hidden;
    text-align: center;
    border-bottom: none;
}

.bl-promotions-page .bl-promo-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
}

.bl-promotions-page .bl-promo-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        135deg,
        rgba(32, 24, 29, 0.76) 0%,
        rgba(43, 32, 39, 0.70) 52%,
        rgba(58, 39, 49, 0.64) 100%
    );
    pointer-events: none;
}

.bl-promotions-page .bl-promo-hero .bl-container {
    position: relative;
    z-index: 2;
}

.bl-promotions-page .bl-promo-hero__content {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.bl-promotions-page .bl-promo-hero .bl-eyebrow,
.bl-promotions-page .bl-promo-hero .bl-eyebrow--light {
    color: var(--bl-pink);
    margin: 0 0 12px;
}

.bl-promotions-page .bl-promo-hero__title {
    font-family: var(--bl-font-serif);
    color: #ffffff;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 600;
    line-height: 1.04;
    margin: 0 0 18px;
    letter-spacing: -0.04em;
}

.bl-promotions-page .bl-promo-hero__sub {
    color: rgba(255,255,255,0.84);
    max-width: 620px;
    margin: 0 auto 22px;
    font-size: 15px;
    line-height: 1.75;
}

.bl-promotions-page .bl-promo-hero__badges {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.bl-promotions-page .bl-promo-hero__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.22);
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.88);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.9px;
    line-height: 1;
    text-transform: uppercase;
}

/* Listing */
.bl-promotions-page .bl-promo-listing {
    padding: 64px 0 84px;
    background: var(--bl-bg);
}

.bl-promotions-page .bl-promo-listing .bl-container {
    max-width: 1180px;
}

.bl-promotions-page .bl-promo-listing__header {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 34px;
}

.bl-promotions-page .bl-promo-listing__header .bl-section__title {
    margin-bottom: 12px;
}

.bl-promotions-page .bl-promo-listing__intro {
    font-size: 14px;
    color: var(--bl-muted);
    line-height: 1.7;
    margin: 0 auto;
}

.bl-promotions-page .bl-promo-empty-state {
    text-align: center;
    padding: 72px 24px;
    color: var(--bl-muted);
}

/* Promo cards */
.bl-promotions-page .bl-promo-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.bl-promotions-page .bl-promo-offer-card {
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.bl-promotions-page .bl-promo-offer-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 22px;
    overflow: hidden;
    background: var(--bl-pink-light);
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 18px 46px rgba(0,0,0,0.07);
}

.bl-promotions-page .bl-promo-offer-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease, filter 0.25s ease;
}

.bl-promotions-page .bl-promo-offer-card:hover .bl-promo-offer-card__media img {
    transform: scale(1.035);
    filter: brightness(0.72);
}

.bl-promotions-page .bl-promo-offer-card__placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bl-pink-light);
    color: var(--bl-pink-dark);
    font-size: 11px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.bl-promotions-page .bl-promo-offer-card__count {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 5;
    background: rgba(255,255,255,0.94);
    color: var(--bl-dark);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.8px;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.bl-promotions-page .bl-promo-offer-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px;
    background: rgba(32,24,29,0);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, background 0.25s ease;
}

.bl-promotions-page .bl-promo-offer-card:hover .bl-promo-offer-card__overlay {
    opacity: 1;
    pointer-events: auto;
    background: rgba(32,24,29,0.42);
}

.bl-promotions-page .bl-promo-view-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 154px !important;
    min-height: 46px !important;
    padding: 13px 24px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--bl-dark) !important;
    border: 1px solid rgba(255,255,255,0.95) !important;
    font-family: var(--bl-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.28) !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(8px);
    transition: transform 0.25s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.bl-promotions-page .bl-promo-offer-card:hover .bl-promo-view-btn {
    transform: translateY(0);
}

.bl-promotions-page .bl-promo-view-btn:hover {
    background: var(--bl-pink) !important;
    color: var(--bl-dark) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.34) !important;
}

/* Lightbox */
.bl-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    background: rgba(20,16,20,0.92);
    backdrop-filter: blur(8px);
}

.bl-lightbox.is-open {
    display: flex;
}

.bl-lightbox__inner {
    position: relative;
    width: min(90vw, 640px);
    max-height: 90vh;
}

.bl-lightbox__img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 84vh;
    object-fit: contain;
    border-radius: 14px;
}

.bl-lightbox__close,
.bl-lightbox__nav {
    position: absolute !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.14) !important;
    border: 1px solid rgba(255,255,255,0.44) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.bl-lightbox__close {
    top: -48px !important;
    right: 0 !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.bl-lightbox__nav {
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 28px !important;
    line-height: 1 !important;
}

.bl-lightbox__prev { left: -60px !important; }
.bl-lightbox__next { right: -60px !important; }

.bl-lightbox__close:hover,
.bl-lightbox__nav:hover {
    background: rgba(255,255,255,0.26) !important;
}

.bl-lightbox__counter {
    position: absolute;
    bottom: -36px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,0.64);
    font-size: 12px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .bl-promotions-page .bl-promo-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .bl-promotions-page .bl-promo-offer-card__overlay {
        opacity: 1;
        pointer-events: auto;
        background: linear-gradient(to top, rgba(32,24,29,0.52), rgba(32,24,29,0.10) 58%, rgba(32,24,29,0));
    }

    .bl-promotions-page .bl-promo-view-btn {
        min-width: 138px !important;
        min-height: 42px !important;
        padding: 11px 20px !important;
        font-size: 10px !important;
        transform: none;
    }
}

@media (max-width: 600px) {
    .bl-promotions-page .bl-promo-hero {
        padding: 78px 0 62px;
    }

    .bl-promotions-page .bl-promo-hero__title {
        font-size: 38px;
    }

    .bl-promotions-page .bl-promo-hero__sub {
        font-size: 14px;
    }

    .bl-promotions-page .bl-promo-hero__badges {
        gap: 7px;
    }

    .bl-promotions-page .bl-promo-listing {
        padding: 46px 0 64px;
    }

    .bl-promotions-page .bl-promo-card-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .bl-promotions-page .bl-promo-offer-card__media {
        border-radius: 18px;
    }

    .bl-lightbox__inner {
        width: min(88vw, 560px);
    }

    .bl-lightbox__prev {
        left: -44px !important;
    }

    .bl-lightbox__next {
        right: -44px !important;
    }
}



/* ═══════════════════════════════════════════════════════════════
   BODY TREATMENTS — PACKAGES SECTION
   ═══════════════════════════════════════════════════════════════ */
.bl-body-packages {
    background: var(--bl-bg);
    border-top: 0.5px solid var(--bl-border);
    border-bottom: 0.5px solid var(--bl-border);
}

.bl-body-packages__subtitle {
    font-size: 15px;
    color: var(--bl-muted);
    line-height: 1.7;
    margin: -16px 0 48px;
    max-width: 540px;
}

/* Package cards */
.bl-body-packages__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 48px;
}

.bl-body-packages__card {
    border-radius: var(--bl-radius-lg);
    overflow: hidden;
    position: relative;
}

.bl-body-packages__card--5 {
    background: var(--bl-dark);
}

.bl-body-packages__card--10 {
    background: linear-gradient(135deg, var(--bl-dark) 0%, #3a1e2e 100%);
}

.bl-body-packages__card-inner {
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    z-index: 1;
}

/* Decorative circle */
.bl-body-packages__card::before {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 0.5px solid rgba(255,255,255,0.08);
    top: -60px;
    right: -60px;
    pointer-events: none;
}

.bl-body-packages__card::after {
    content: '';
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 0.5px solid rgba(255,255,255,0.06);
    bottom: -40px;
    left: -40px;
    pointer-events: none;
}

.bl-body-packages__sessions {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    margin: 0;
}

.bl-body-packages__discount {
    font-size: 40px;
    font-weight: 700;
    color: #ffffff;
    margin: 4px 0 0;
    line-height: 1.1;
    font-family: var(--bl-font-heading);
    letter-spacing: -0.5px;
}

.bl-body-packages__validity {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    margin: 8px 0 0;
    line-height: 1.5;
}

/* T&C block */
.bl-body-packages__tnc {
    background: var(--bl-white);
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    padding: 32px 36px;
}

.bl-body-packages__tnc-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0 0 20px;
    letter-spacing: 0.2px;
}

.bl-body-packages__tnc-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.bl-body-packages__tnc-list li {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.65;
    padding-left: 16px;
    position: relative;
}

.bl-body-packages__tnc-list li::before {
    content: '·';
    position: absolute;
    left: 4px;
    color: var(--bl-pink-dark);
    font-weight: 700;
}

.bl-body-packages__tnc-list li strong {
    color: var(--bl-dark);
    font-weight: 600;
}

/* Responsive */
@media (max-width: 640px) {
    .bl-body-packages__cards {
        grid-template-columns: 1fr;
    }

    .bl-body-packages__discount {
        font-size: 32px;
    }

    .bl-body-packages__card-inner {
        padding: 28px 24px;
    }

    .bl-body-packages__tnc {
        padding: 24px 20px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   PRICELIST — BODY TREATMENTS PACKAGES SECTION
   Matches pricelist page visual language (white bg, dark borders)
   ═══════════════════════════════════════════════════════════════ */
.bl-pricelist-packages {
    padding: 64px 0;
    background: var(--bl-bg);
    border-top: 0.5px solid var(--bl-border);
}

.bl-pricelist-packages__header {
    margin-bottom: 36px;
}

.bl-pricelist-packages__subtitle {
    font-size: 14px;
    color: var(--bl-muted);
    line-height: 1.7;
    margin: 8px 0 0;
    max-width: 520px;
}

/* Cards */
.bl-pricelist-packages__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
}

.bl-pricelist-packages__card {
    background: var(--bl-dark);
    border-radius: var(--bl-radius-lg);
    padding: 36px 32px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Subtle decorative ring */
.bl-pricelist-packages__card::before {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.07);
    top: -70px;
    right: -50px;
    pointer-events: none;
}

.bl-pricelist-packages__sessions {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin: 0;
}

.bl-pricelist-packages__discount {
    font-size: 36px;
    font-weight: 700;
    color: #ffffff;
    margin: 4px 0 0;
    line-height: 1.1;
    letter-spacing: -0.5px;
    font-family: var(--bl-font-heading, inherit);
}

.bl-pricelist-packages__validity {
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    margin: 10px 0 0;
    line-height: 1.5;
}

/* T&C — matches pricelist treatment card style */
.bl-pricelist-packages__tnc {
    background: var(--bl-white);
    border: 0.5px solid var(--bl-border);
    border-radius: var(--bl-radius-md);
    padding: 28px 32px;
}

.bl-pricelist-packages__tnc-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--bl-dark);
    margin: 0 0 16px;
    letter-spacing: 0.2px;
}

.bl-pricelist-packages__tnc-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.bl-pricelist-packages__tnc-list li {
    font-size: 13px;
    color: var(--bl-muted);
    line-height: 1.65;
    padding-left: 14px;
    position: relative;
}

.bl-pricelist-packages__tnc-list li::before {
    content: '·';
    position: absolute;
    left: 3px;
    color: var(--bl-pink-dark);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
}

.bl-pricelist-packages__tnc-list li strong {
    color: var(--bl-dark);
    font-weight: 600;
}

@media (max-width: 640px) {
    .bl-pricelist-packages__cards {
        grid-template-columns: 1fr;
    }

    .bl-pricelist-packages__discount {
        font-size: 28px;
    }

    .bl-pricelist-packages__card {
        padding: 28px 24px;
    }

    .bl-pricelist-packages__tnc {
        padding: 24px 20px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   PRICELIST MOBILE POLISH — compact header, prices, bundle heading
   Added after base rules so it safely overrides older mobile styling.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
    /* 1) Compact pricing image/header: taller, square-like on mobile */
    .bl-pricelist-treatment--compact .bl-pricelist-compact__img {
        height: calc(100vw - 32px) !important;
        min-height: 320px !important;
        max-height: 520px !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head {
        min-height: calc(100vw - 32px) !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        padding: 32px 22px !important;
    }

    /* 2) Bigger compact title on mobile */
    .bl-pricelist-treatment--compact .bl-pricelist-treatment__name {
        font-size: 1.18rem !important;
        line-height: 1.25 !important;
    }

    /* 3) Make price label and price visually consistent on mobile */
    .bl-pricelist-item__label,
    .bl-pricelist-item__price {
        font-size: 12px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.35 !important;
    }

    .bl-pricelist-item--addon .bl-pricelist-item__label,
    .bl-pricelist-item--addon .bl-pricelist-item__price {
        font-size: 11px !important;
        font-weight: 500 !important;
        color: var(--bl-muted) !important;
    }

    /* 4) Bundle Deals heading: larger, centered, and more breathing room */
    .bl-pricelist-bundle__heading {
        font-size: 18px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        margin: 0 0 26px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST MOBILE IMAGE CONSISTENCY
   Make standard/long pricing cards use the same square-like mobile
   image/header height as compact pricing cards.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
    .bl-pricelist-treatment__head--has-img {
        min-height: calc(100vw - 32px) !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
    }

    .bl-pricelist-treatment__head-img {
        height: calc(100vw - 32px) !important;
        min-height: 320px !important;
        max-height: 520px !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__head-text {
        min-height: calc(100vw - 32px) !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        padding: 32px 22px !important;
    }

    .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__name {
        font-size: 1.18rem !important;
        line-height: 1.25 !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST DESKTOP + GLOBAL REVISIONS
   1) Price label and price use the same visual weight/color.
   2) Treatment titles slightly larger across compact and standard layouts.
   ═══════════════════════════════════════════════════════════════ */
.bl-pricelist-treatment__name,
.bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__name,
.bl-pricelist-treatment--compact .bl-pricelist-treatment__name {
    font-size: 1.12rem !important;
    line-height: 1.3 !important;
}

.bl-pricelist-item__label,
.bl-pricelist-item__price {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--bl-dark) !important;
    line-height: 1.4 !important;
}

.bl-pricelist-item--addon .bl-pricelist-item__label,
.bl-pricelist-item--addon .bl-pricelist-item__price {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--bl-muted) !important;
}

@media (max-width: 768px) {
    .bl-pricelist-item__label,
    .bl-pricelist-item__price {
        font-size: 12px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
    }

    .bl-pricelist-item--addon .bl-pricelist-item__label,
    .bl-pricelist-item--addon .bl-pricelist-item__price {
        font-size: 11px !important;
        font-weight: 500 !important;
        color: var(--bl-muted) !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   PRICELIST BUNDLE + APPLICATOR REVISIONS
   1) Bundle Deals heading: larger, centered, more spacing.
   2) Bundle label and price match normal pricing typography.
   3) Applicator area label and count match normal pricing typography.
   ═══════════════════════════════════════════════════════════════ */
.bl-pricelist-bundle__heading {
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: var(--bl-dark) !important;
    text-align: center !important;
    margin: 0 0 28px !important;
}

.bl-bundle__label,
.bl-bundle__price,
.bl-applicator-table__area,
.bl-applicator-table__count,
.bl-pricelist-treatment .bl-applicator-table__area,
.bl-pricelist-treatment .bl-applicator-table__count {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--bl-dark) !important;
    line-height: 1.4 !important;
}

.bl-bundle__price {
    text-align: right !important;
}

@media (max-width: 768px) {
    .bl-pricelist-bundle__heading {
        font-size: 18px !important;
        margin: 0 0 26px !important;
    }

    .bl-bundle__label,
    .bl-bundle__price,
    .bl-applicator-table__area,
    .bl-applicator-table__count,
    .bl-pricelist-treatment .bl-applicator-table__area,
    .bl-pricelist-treatment .bl-applicator-table__count {
        font-size: 12px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.4 !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST DESKTOP ADAPTIVE C + D LAYOUT
   Desktop only. Mobile rules above remain the source of truth.
   - Short/medium price lists: split catalog card (image left, prices right)
   - Long price lists: header + 2-column pricing grid
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    /* Shared card polish */
    .bl-pricelist-treatment {
        border-radius: var(--bl-radius-lg) !important;
        border-color: var(--bl-border) !important;
        background: var(--bl-white) !important;
        overflow: hidden !important;
    }

    /* ── Option C style: split catalog card for short/medium lists ── */
    .bl-pricelist-treatment--compact {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 310px minmax(0, 1fr) !important;
        align-items: stretch !important;
        min-height: 260px !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__img {
        position: relative !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 260px !important;
        height: 100% !important;
        border-right: 0.5px solid var(--bl-border) !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__img::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(20, 14, 18, 0.08) 0%, rgba(20, 14, 18, 0.62) 100%);
        z-index: 0;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__right {
        min-height: 260px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head {
        position: absolute !important;
        left: 26px !important;
        bottom: 26px !important;
        width: 258px !important;
        min-height: 0 !important;
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        z-index: 2 !important;
        text-align: left !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head > div {
        margin: 0 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-treatment__name {
        color: var(--bl-white) !important;
        font-size: 1.42rem !important;
        line-height: 1.15 !important;
        font-weight: 600 !important;
        letter-spacing: -0.2px !important;
        text-shadow: 0 1px 14px rgba(0, 0, 0, 0.2) !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head p {
        color: rgba(255, 255, 255, 0.78) !important;
        margin: 8px 0 16px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-treatment__link {
        color: var(--bl-white) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.55) !important;
        padding-bottom: 4px !important;
        text-decoration: none !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-items {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        min-height: 100% !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item {
        padding: 15px 30px !important;
        min-height: 52px !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item:first-child {
        border-top: none !important;
    }

    /* ── Option D style: long pricing list with two-column desktop grid ── */
    .bl-pricelist-treatment--long .bl-pricelist-treatment__head--has-img {
        display: grid !important;
        grid-template-columns: 220px minmax(0, 1fr) !important;
        min-height: 150px !important;
        background: linear-gradient(135deg, var(--bl-white) 0%, var(--bl-pink-light) 100%) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        padding: 0 !important;
        align-items: stretch !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-treatment__head-img {
        width: 220px !important;
        min-width: 220px !important;
        min-height: 150px !important;
        border-right: 0.5px solid var(--bl-border) !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-treatment__head-text {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        padding: 28px 32px !important;
        min-width: 0 !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-treatment__name,
    .bl-pricelist-treatment--long .bl-pricelist-treatment__head--has-img .bl-pricelist-treatment__name {
        color: var(--bl-dark) !important;
        font-size: 1.38rem !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-treatment__head-text p {
        color: var(--bl-muted) !important;
        margin: 8px 0 0 !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-items {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 0 !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--long .bl-pricing__category-header {
        grid-column: 1 / -1 !important;
        padding: 12px 24px !important;
        background: var(--bl-pink-light) !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 1.1px !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-item {
        min-height: 52px !important;
        padding: 14px 24px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-item--grid-odd {
        border-right: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--long .bl-pricelist-item:last-child,
    .bl-pricelist-treatment--long .bl-pricelist-item:nth-last-child(2) {
        border-bottom: none !important;
    }

    /* Keep pricing, bundle, and applicator typography consistent */
    .bl-pricelist-treatment--compact .bl-pricelist-item__label,
    .bl-pricelist-treatment--compact .bl-pricelist-item__price,
    .bl-pricelist-treatment--long .bl-pricelist-item__label,
    .bl-pricelist-treatment--long .bl-pricelist-item__price,
    .bl-pricelist-treatment--long .bl-applicator-table__area,
    .bl-pricelist-treatment--long .bl-applicator-table__count {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.4 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item__price,
    .bl-pricelist-treatment--long .bl-pricelist-item__price {
        text-align: right !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST ADAPTIVE C+D V2 — desktop polish
   - Use image overlay/title panel for long treatments too
   - Keep long pricing in 2 columns inside the right panel
   - Prevent applicator/bundle sections from being visually clipped or pushed down
   Mobile remains controlled by existing max-width rules above.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    /* Long treatments with featured image now use the same split shell as short treatments */
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long {
        display: grid !important;
        grid-template-columns: 310px minmax(0, 1fr) !important;
        align-items: stretch !important;
        min-height: 260px !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-compact__img {
        min-height: 100% !important;
        height: auto !important;
    }

    /* Long/applicator/bundle cards should start from the top, not vertically center */
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-compact__right,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--has-applicator .bl-pricelist-compact__right,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--has-bundle .bl-pricelist-compact__right {
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    /* Long list: two-column pricing inside right panel */
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-items {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 0 !important;
        align-content: start !important;
        justify-content: stretch !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricing__category-header {
        grid-column: 1 / -1 !important;
        padding: 12px 24px !important;
        background: var(--bl-pink-light) !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 1.1px !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item {
        min-height: 52px !important;
        padding: 14px 24px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        border-top: none !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item--grid-odd {
        border-right: 0.5px solid var(--bl-border) !important;
    }

    /* If odd number of price rows, keep the last row border clean without hiding content */
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    /* Give long treatment image/title panel more presence */
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-treatment__name {
        font-size: 1.55rem !important;
        line-height: 1.12 !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-compact__head {
        width: 258px !important;
        bottom: 28px !important;
    }

    /* Applicator and bundle blocks should always sit below pricing and stay fully visible */
    .bl-pricelist-treatment--compact .bl-applicator-table,
    .bl-pricelist-treatment--compact .bl-pricelist-bundle {
        width: 100% !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        flex-shrink: 0 !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__label {
        margin: 0 !important;
        padding: 13px 24px !important;
        background: var(--bl-bg) !important;
        border-top: 0.5px solid var(--bl-border) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 1.2px !important;
        color: var(--bl-muted) !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__rows {
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__row {
        min-height: 52px !important;
        padding: 14px 24px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__row:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__area,
    .bl-pricelist-treatment--compact .bl-applicator-table__count,
    .bl-pricelist-treatment--compact .bl-bundle__label,
    .bl-pricelist-treatment--compact .bl-bundle__price {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.4 !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__count,
    .bl-pricelist-treatment--compact .bl-bundle__price {
        text-align: right !important;
        white-space: nowrap !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST OPTION E — desktop implementation
   Desktop only. Mobile remains controlled by the existing max-width rules.
   - Image stays on the left
   - Treatment title/tagline/Learn More stays on the right above pricing
   - Long main prices split into 2 columns
   - Add-ons, bundles, and applicator rows stay full width below
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    .bl-pricelist-treatment--compact {
        display: grid !important;
        grid-template-columns: 300px minmax(0, 1fr) !important;
        align-items: stretch !important;
        min-height: 260px !important;
        border-radius: var(--bl-radius-lg) !important;
        overflow: hidden !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__img {
        position: relative !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 260px !important;
        height: auto !important;
        border-right: 0.5px solid var(--bl-border) !important;
        background-size: cover !important;
        background-position: center center !important;
        background-color: #f5f0f2 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__img::after {
        display: none !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__right,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-compact__right,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--has-applicator .bl-pricelist-compact__right,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--has-bundle .bl-pricelist-compact__right {
        min-height: 260px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        background: var(--bl-white) !important;
        overflow: visible !important;
        min-width: 0 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-compact__head {
        position: static !important;
        left: auto !important;
        bottom: auto !important;
        width: auto !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        padding: 30px 34px 26px !important;
        border: 0 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: linear-gradient(135deg, var(--bl-white) 0%, var(--bl-pink-light) 100%) !important;
        z-index: 1 !important;
        text-align: left !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head > div {
        min-width: 0 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-treatment__name,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-treatment__name {
        color: var(--bl-dark) !important;
        font-size: 1.48rem !important;
        line-height: 1.18 !important;
        font-weight: 600 !important;
        letter-spacing: -0.2px !important;
        text-shadow: none !important;
        margin: 0 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-compact__head p,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-compact__head p {
        color: var(--bl-muted) !important;
        margin: 8px 0 0 !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-treatment__link,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-treatment__link {
        color: var(--bl-pink-dark) !important;
        border-bottom: none !important;
        padding-bottom: 0 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-items {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-items {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 0 !important;
        align-content: start !important;
        justify-content: stretch !important;
        min-height: 0 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item {
        min-height: 58px !important;
        padding: 15px 26px !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item:last-child,
    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item--grid-odd:not(.bl-pricelist-item--addon) {
        border-right: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item--addon {
        grid-column: 1 / -1 !important;
        border-right: none !important;
        min-height: 54px !important;
        padding: 14px 26px !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item--addon + .bl-pricelist-item--addon {
        border-top: none !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricelist-item:nth-last-child(2) {
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--compact.bl-pricelist-treatment--long .bl-pricing__category-header,
    .bl-pricelist-treatment--compact .bl-pricing__category-header {
        grid-column: 1 / -1 !important;
        padding: 12px 26px !important;
        background: var(--bl-pink-light) !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 1.1px !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item__label,
    .bl-pricelist-treatment--compact .bl-pricelist-item__price,
    .bl-pricelist-treatment--compact .bl-applicator-table__area,
    .bl-pricelist-treatment--compact .bl-applicator-table__count,
    .bl-pricelist-treatment--compact .bl-bundle__label,
    .bl-pricelist-treatment--compact .bl-bundle__price {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.4 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item__price,
    .bl-pricelist-treatment--compact .bl-applicator-table__count,
    .bl-pricelist-treatment--compact .bl-bundle__price {
        text-align: right !important;
        white-space: nowrap !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item__desc {
        margin-top: 4px !important;
        color: var(--bl-muted) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    .bl-pricelist-treatment--compact .bl-pricelist-item__unit,
    .bl-pricelist-treatment--compact .bl-bundle__duration,
    .bl-pricelist-treatment--compact .bl-bundle__regular-price {
        color: var(--bl-muted) !important;
        font-size: 11px !important;
        font-weight: 400 !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table,
    .bl-pricelist-treatment--compact .bl-pricelist-bundle {
        width: 100% !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0.5px solid var(--bl-border) !important;
        flex-shrink: 0 !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__label,
    .bl-pricelist-treatment--compact .bl-pricelist-bundle__heading {
        margin: 0 !important;
        padding: 13px 26px !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 1.1px !important;
        text-transform: uppercase !important;
        color: var(--bl-pink-dark) !important;
        text-align: left !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__rows,
    .bl-pricelist-treatment--compact .bl-bundle__list {
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__row,
    .bl-pricelist-treatment--compact .bl-bundle__item {
        min-height: 54px !important;
        padding: 14px 26px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--compact .bl-applicator-table__row:last-child,
    .bl-pricelist-treatment--compact .bl-bundle__item:last-child {
        border-bottom: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST OPTION E v2 — stronger desktop override
   Fixes: title/tagline/Learn More stay on RIGHT above pricing,
   main prices split only when long, add-ons/applicators/bundles full-width below.
   Mobile remains controlled by existing max-width rules.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    .bl-pricelist-treatment.bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact {
        display: grid !important;
        grid-template-columns: 300px minmax(0, 1fr) !important;
        align-items: stretch !important;
        min-height: 0 !important;
        background: var(--bl-white) !important;
        border: 0.5px solid var(--bl-border) !important;
        border-radius: var(--bl-radius-lg) !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__image,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__img {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        width: 300px !important;
        min-width: 300px !important;
        height: auto !important;
        min-height: 260px !important;
        align-self: stretch !important;
        border-right: 0.5px solid var(--bl-border) !important;
        border-bottom: none !important;
        background-size: cover !important;
        background-position: center center !important;
        background-color: #f5f0f2 !important;
        z-index: 0 !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__image::after,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__img::after {
        display: none !important;
        content: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__right,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__right {
        grid-column: 2 !important;
        grid-row: 1 !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        min-width: 0 !important;
        min-height: 260px !important;
        width: 100% !important;
        overflow: visible !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__head,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__head {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        padding: 30px 34px 26px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: linear-gradient(135deg, var(--bl-white) 0%, var(--bl-pink-light) 100%) !important;
        text-align: left !important;
        z-index: 2 !important;
        overflow: visible !important;
        border-radius: 0 !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__head::before,
    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__head::after,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__head::before,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__head::after {
        display: none !important;
        content: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__head > *,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__head > * {
        position: static !important;
        z-index: auto !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-treatment__name,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-treatment__name {
        margin: 0 !important;
        color: var(--bl-dark) !important;
        font-size: 1.5rem !important;
        line-height: 1.18 !important;
        font-weight: 600 !important;
        letter-spacing: -0.2px !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__head p,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__head p {
        margin: 8px 0 0 !important;
        color: var(--bl-muted) !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-treatment__link,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-treatment__link {
        color: var(--bl-pink-dark) !important;
        text-decoration: none !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        white-space: nowrap !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-items {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--long .bl-pricelist-items--split {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 0 !important;
        align-content: start !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item {
        min-height: 58px !important;
        padding: 15px 26px !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-items > .bl-pricelist-item:last-child,
    .bl-pricelist-treatment--option-e .bl-pricelist-addons__items > .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--long .bl-pricelist-items--split > .bl-pricelist-item--grid-odd {
        border-right: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--long .bl-pricelist-items--split > .bl-pricelist-item:nth-last-child(2) {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricing__category-header {
        grid-column: 1 / -1 !important;
        padding: 12px 26px !important;
        background: var(--bl-pink-light) !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 1.1px !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-addons,
    .bl-pricelist-treatment--option-e .bl-applicator-table,
    .bl-pricelist-treatment--option-e .bl-pricelist-bundle,
    .bl-pricelist-treatment--option-e .bl-pricing__area-diagram {
        width: 100% !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0.5px solid var(--bl-border) !important;
        overflow: visible !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-addons__heading,
    .bl-pricelist-treatment--option-e .bl-applicator-table__label,
    .bl-pricelist-treatment--option-e .bl-pricelist-bundle__heading {
        display: block !important;
        margin: 0 !important;
        padding: 13px 26px !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: 1.1px !important;
        text-align: left !important;
        text-transform: uppercase !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-addons__items,
    .bl-pricelist-treatment--option-e .bl-applicator-table__rows,
    .bl-pricelist-treatment--option-e .bl-bundle__list {
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e .bl-applicator-table__row,
    .bl-pricelist-treatment--option-e .bl-bundle__item {
        min-height: 54px !important;
        padding: 14px 26px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e .bl-applicator-table__row:last-child,
    .bl-pricelist-treatment--option-e .bl-bundle__item:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item__label,
    .bl-pricelist-treatment--option-e .bl-pricelist-item__price,
    .bl-pricelist-treatment--option-e .bl-applicator-table__area,
    .bl-pricelist-treatment--option-e .bl-applicator-table__count,
    .bl-pricelist-treatment--option-e .bl-bundle__label,
    .bl-pricelist-treatment--option-e .bl-bundle__price {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.4 !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item__price,
    .bl-pricelist-treatment--option-e .bl-applicator-table__count,
    .bl-pricelist-treatment--option-e .bl-bundle__price {
        text-align: right !important;
        white-space: nowrap !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item__desc,
    .bl-pricelist-treatment--option-e .bl-bundle__desc {
        margin-top: 4px !important;
        color: var(--bl-muted) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        font-weight: 400 !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item__unit,
    .bl-pricelist-treatment--option-e .bl-bundle__duration,
    .bl-pricelist-treatment--option-e .bl-bundle__regular-price {
        color: var(--bl-muted) !important;
        font-size: 11px !important;
        font-weight: 400 !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item--addon {
        border-right: none !important;
        width: 100% !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST OPTION E — V3 STRUCTURE FIX
   - Image only belongs to the top pricing area
   - Add-ons / treatment area image / applicator / bundle stay full-width below
   - Long pricing starts earlier to avoid overly tall desktop cards
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    .bl-pricelist-treatment.bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact {
        display: block !important;
        background: var(--bl-white) !important;
        border: 0.5px solid var(--bl-border) !important;
        border-radius: var(--bl-radius-lg) !important;
        overflow: hidden !important;
        min-height: 0 !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__top {
        display: grid !important;
        grid-template-columns: 280px minmax(0, 1fr) !important;
        align-items: stretch !important;
        width: 100% !important;
        min-height: 0 !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__image,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__img {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 280px !important;
        min-width: 280px !important;
        height: auto !important;
        min-height: 260px !important;
        align-self: stretch !important;
        border-right: 0.5px solid var(--bl-border) !important;
        border-bottom: none !important;
        background-size: cover !important;
        background-position: center center !important;
        background-color: #f5f0f2 !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__right,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__right {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        min-width: 0 !important;
        min-height: 0 !important;
        width: 100% !important;
        background: var(--bl-white) !important;
        overflow: visible !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__head,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-compact__head {
        padding: 24px 30px 22px !important;
        min-height: 96px !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-treatment__name,
    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--compact .bl-pricelist-treatment__name {
        font-size: 1.42rem !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-item {
        min-height: 50px !important;
        padding: 12px 22px !important;
    }

    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--long .bl-pricelist-items--split {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-content: start !important;
    }

    .bl-pricelist-treatment--option-e.bl-pricelist-treatment--long .bl-pricelist-items--split > .bl-pricelist-item {
        min-height: 50px !important;
        padding: 12px 22px !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricing__category-header {
        padding: 11px 22px !important;
    }

    /* Extras are now separate full-width blocks below the image/top layout. */
    .bl-pricelist-treatment--option-e .bl-pricelist-addons,
    .bl-pricelist-treatment--option-e .bl-applicator-table,
    .bl-pricelist-treatment--option-e .bl-pricelist-bundle,
    .bl-pricelist-treatment--option-e .bl-pricing__area-diagram {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
        overflow: hidden !important;
        clear: both !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-addons__heading,
    .bl-pricelist-treatment--option-e .bl-applicator-table__label,
    .bl-pricelist-treatment--option-e .bl-pricelist-bundle__heading {
        padding: 12px 22px !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-addons__items,
    .bl-pricelist-treatment--option-e .bl-applicator-table__rows,
    .bl-pricelist-treatment--option-e .bl-bundle__list {
        border: none !important;
        border-radius: 0 !important;
    }

    .bl-pricelist-treatment--option-e .bl-applicator-table__row,
    .bl-pricelist-treatment--option-e .bl-bundle__item {
        min-height: 50px !important;
        padding: 12px 22px !important;
    }

    /* Keep treatment area diagrams readable without making the card endlessly tall. */
    .bl-pricelist-treatment--option-e .bl-pricing__area-diagram {
        text-align: center !important;
        padding: 22px !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricing__area-label {
        margin: 0 0 16px !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricing__area-image {
        width: auto !important;
        max-width: 100% !important;
        max-height: 520px !important;
        height: auto !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 900px) {
    .bl-pricelist-treatment--option-e .bl-pricelist-option-e__top {
        display: block !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--option-e .bl-pricelist-addons,
    .bl-pricelist-treatment--option-e .bl-applicator-table,
    .bl-pricelist-treatment--option-e .bl-pricelist-bundle,
    .bl-pricelist-treatment--option-e .bl-pricing__area-diagram {
        width: 100% !important;
        clear: both !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST FINAL — guest-friendly adaptive desktop
   Goal: short/simple treatments can stay visual, long/complex treatments
   become easier-to-read structured price cards. Mobile remains card-like.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    .bl-pricelist-treatment.bl-pricelist-treatment--final {
        display: block !important;
        background: var(--bl-white) !important;
        border: 0.5px solid var(--bl-border) !important;
        border-radius: var(--bl-radius-lg) !important;
        overflow: hidden !important;
        min-height: 0 !important;
        box-shadow: none !important;
    }

    /* Shared header text */
    .bl-pricelist-treatment--final .bl-pricelist-treatment__name {
        margin: 0 !important;
        color: var(--bl-dark) !important;
        font-size: 23px !important;
        line-height: 1.18 !important;
        font-weight: 600 !important;
        letter-spacing: -0.2px !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-treatment__link {
        color: var(--bl-pink-dark) !important;
        text-decoration: none !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        white-space: nowrap !important;
        text-shadow: none !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 0.9px !important;
        text-transform: uppercase !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-treatment__link:hover {
        color: var(--bl-dark) !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items {
        width: 100% !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item {
        min-height: 52px !important;
        padding: 13px 24px !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item:last-child,
    .bl-pricelist-treatment--final .bl-pricelist-addons__items > .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item__label,
    .bl-pricelist-treatment--final .bl-pricelist-item__price,
    .bl-pricelist-treatment--final .bl-applicator-table__area,
    .bl-pricelist-treatment--final .bl-applicator-table__count,
    .bl-pricelist-treatment--final .bl-bundle__label,
    .bl-pricelist-treatment--final .bl-bundle__price {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--bl-dark) !important;
        line-height: 1.4 !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item__price,
    .bl-pricelist-treatment--final .bl-applicator-table__count,
    .bl-pricelist-treatment--final .bl-bundle__price {
        text-align: right !important;
        white-space: nowrap !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item__desc,
    .bl-pricelist-treatment--final .bl-bundle__desc,
    .bl-pricelist-treatment--final .bl-pricelist-final__head p,
    .bl-pricelist-treatment--final .bl-pricelist-final__structured-text p {
        margin-top: 5px !important;
        color: var(--bl-muted) !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        font-weight: 400 !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item__unit,
    .bl-pricelist-treatment--final .bl-bundle__duration,
    .bl-pricelist-treatment--final .bl-bundle__regular-price {
        color: var(--bl-muted) !important;
        font-size: 11px !important;
        font-weight: 400 !important;
    }

    /* Short/simple treatments: visual split. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__top {
        display: grid !important;
        grid-template-columns: 280px minmax(0, 1fr) !important;
        align-items: stretch !important;
        width: 100% !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__image,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-compact__img {
        width: 280px !important;
        min-width: 280px !important;
        min-height: 220px !important;
        height: auto !important;
        align-self: stretch !important;
        border-right: 0.5px solid var(--bl-border) !important;
        border-bottom: none !important;
        background-size: cover !important;
        background-position: center center !important;
        background-color: #f5f0f2 !important;
        overflow: hidden !important;
        position: relative !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__image::after,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-compact__img::after {
        display: none !important;
        content: none !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__right {
        display: flex !important;
        flex-direction: column !important;
        min-width: 0 !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__head {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        padding: 26px 30px 22px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: linear-gradient(135deg, var(--bl-white) 0%, var(--bl-pink-light) 100%) !important;
        text-align: left !important;
        border-radius: 0 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__head::before,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__head::after {
        display: none !important;
        content: none !important;
    }

    /* Long/complex treatments: structured, easy-to-scan card. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head {
        display: grid !important;
        grid-template-columns: 180px minmax(0, 1fr) !important;
        min-height: 132px !important;
        background: linear-gradient(135deg, var(--bl-white) 0%, var(--bl-pink-light) 100%) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head:not(.bl-pricelist-final__structured-head--has-img) {
        grid-template-columns: 1fr !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-img {
        min-height: 132px !important;
        width: 180px !important;
        background-size: cover !important;
        background-position: center center !important;
        background-color: #f5f0f2 !important;
        border-right: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-text {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 24px !important;
        min-width: 0 !important;
        padding: 26px 30px !important;
    }

    /* Split only when PHP marks it safe/useful: laser or long rows without long descriptions. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-content: start !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item--grid-odd {
        border-right: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item:nth-last-child(2) {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__category-header {
        grid-column: 1 / -1 !important;
        padding: 12px 24px !important;
        background: var(--bl-bg) !important;
        border-top: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: 1.1px !important;
        text-transform: uppercase !important;
    }

    /* Extras stay visually connected but never stretch the image. */
    .bl-pricelist-treatment--final .bl-pricelist-addons,
    .bl-pricelist-treatment--final .bl-applicator-table,
    .bl-pricelist-treatment--final .bl-pricelist-bundle,
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
        overflow: hidden !important;
        clear: both !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-addons__heading,
    .bl-pricelist-treatment--final .bl-applicator-table__label,
    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        display: block !important;
        margin: 0 !important;
        padding: 13px 24px !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        letter-spacing: 1.1px !important;
        text-align: left !important;
        text-transform: uppercase !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-addons__items,
    .bl-pricelist-treatment--final .bl-applicator-table__rows,
    .bl-pricelist-treatment--final .bl-bundle__list {
        border: none !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final .bl-applicator-table__row,
    .bl-pricelist-treatment--final .bl-bundle__item {
        min-height: 52px !important;
        padding: 13px 24px !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final .bl-applicator-table__row:last-child,
    .bl-pricelist-treatment--final .bl-bundle__item:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        text-align: center !important;
        padding: 24px !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        margin: 0 0 18px !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        max-height: 460px !important;
        height: auto !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    /* Laser can be very long, so keep diagram controlled and sections separate. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--laser .bl-pricing__area-image {
        max-height: 500px !important;
    }
}

@media (max-width: 900px) {
    .bl-pricelist-treatment--final {
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__top,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head {
        display: block !important;
        position: relative !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-img,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__image,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-compact__img {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1 !important;
        background-size: cover !important;
        background-position: center center !important;
        border-right: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        position: relative !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-img::after,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__image::after,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-compact__img::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        background: linear-gradient(180deg, rgba(20,20,20,0.06) 0%, rgba(20,20,20,0.62) 100%) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__right,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-text {
        display: block !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__head,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-text {
        padding: 18px 18px !important;
        background: var(--bl-white) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        position: static !important;
        text-align: left !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-text .bl-pricelist-treatment__link,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--visual .bl-pricelist-final__head .bl-pricelist-treatment__link {
        display: inline-block !important;
        margin-top: 12px !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item {
        border-right: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        max-height: none !important;
        width: 100% !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICELIST OPTION G FINAL — tall editorial cover for long/complex treatments
   Short/simple visual treatments remain unchanged. Mobile remains unchanged.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    /* Long/complex treatment cards use a narrower editorial card so square featured images crop more safely. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured {
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* If a structured card has a featured image, turn the header into a tall cover. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        height: 430px !important;
        min-height: 430px !important;
        overflow: hidden !important;
        background: var(--bl-dark) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        background-size: cover !important;
        background-position: center center !important;
        border-right: none !important;
        border-bottom: none !important;
        z-index: 0 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        background: linear-gradient(180deg, rgba(20,20,20,0.06) 0%, rgba(20,20,20,0.70) 100%) !important;
        z-index: 1 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        gap: 28px !important;
        padding: 42px 42px 38px !important;
        background: transparent !important;
        border: none !important;
        color: var(--bl-white) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__name {
        color: var(--bl-white) !important;
        font-size: 31px !important;
        line-height: 1.12 !important;
        font-weight: 600 !important;
        letter-spacing: -0.3px !important;
        text-shadow: 0 1px 12px rgba(0,0,0,0.18) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text p {
        color: rgba(255,255,255,0.84) !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-top: 9px !important;
        max-width: 520px !important;
        text-shadow: 0 1px 10px rgba(0,0,0,0.16) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        color: var(--bl-white) !important;
        border: 1px solid rgba(255,255,255,0.56) !important;
        border-radius: var(--bl-radius-pill) !important;
        padding: 10px 16px !important;
        background: rgba(255,255,255,0.08) !important;
        text-shadow: none !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__link:hover {
        color: var(--bl-white) !important;
        background: rgba(255,255,255,0.14) !important;
        border-color: rgba(255,255,255,0.78) !important;
    }

    /* Pricing stays full width under the cover, matching the cover/card width. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-items,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-addons,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-applicator-table,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-bundle,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricing__area-diagram {
        width: 100% !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-item {
        min-height: 58px !important;
        padding: 16px 28px !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item {
        min-height: 54px !important;
        padding: 14px 22px !important;
    }

    /* Keep the non-image structured fallback clean and compact. */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head:not(.bl-pricelist-final__structured-head--has-img) {
        display: block !important;
        min-height: 0 !important;
        background: linear-gradient(135deg, var(--bl-white) 0%, var(--bl-pink-light) 100%) !important;
    }
}

@media (min-width: 901px) and (max-width: 1080px) {
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured {
        max-width: 100% !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        height: 390px !important;
        min-height: 390px !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   OPTION G UNIFIED — all cards use tall editorial cover,
   all pricing lists are single-column, section headers align to cards.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    /* Keep section headers aligned with card width */
    .bl-pricelist-section__header {
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 32px !important;
    }

    /* Apply consistent card width to all final cards */
    .bl-pricelist-treatment--final {
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Make sure nothing uses split-price layout on desktop */
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item--grid-odd {
        border-right: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item:last-child,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    /* Bundle title bigger and centered */
    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 20px 24px 18px !important;
        background: var(--bl-white) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-dark) !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: none !important;
    }

    /* Treatment area section should span full card width and feel like part of the card */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        width: 100% !important;
        padding: 24px 28px !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   OPTION G UNIFIED V2 — image quality, no split, full-width treatment area
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 901px) {
    /* Use one reliable desktop width everywhere */
    .bl-pricelist-section__header,
    .bl-pricelist-treatment--final {
        width: 100% !important;
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* Cover is taller so square featured images do not feel overly zoomed/cropped */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        height: 520px !important;
        min-height: 520px !important;
    }

    @media (max-width: 1080px) {
        .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
            height: 460px !important;
            min-height: 460px !important;
        }
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        background-size: cover !important;
        background-position: center center !important;
        image-rendering: auto !important;
    }

    /* Hard-disable every split/grid pricing rule from previous versions */
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item--grid-odd,
    .bl-pricelist-treatment--final.bl-pricelist-treatment--split-prices .bl-pricelist-items--split > .bl-pricelist-item--grid-even {
        width: 100% !important;
        grid-column: auto !important;
        border-right: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item:last-child,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__category-header {
        width: 100% !important;
        grid-column: auto !important;
        box-sizing: border-box !important;
    }

    /* Treatment area is full card width. The section and image both fill the card width. */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0.5px solid var(--bl-border) !important;
        background: var(--bl-white) !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        color: var(--bl-pink-dark) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 1.1px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        text-transform: uppercase !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 24px 28px !important;
        box-sizing: border-box !important;
        object-fit: contain !important;
    }

    /* Bundle heading stays large and centered */
    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 22px 24px 20px !important;
        background: var(--bl-white) !important;
        color: var(--bl-dark) !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: none !important;
    }
}

/* Mobile safety: keep existing mobile look, but make sure accidental split is disabled */
@media (max-width: 900px) {
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item {
        border-right: none !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   OPTION G UNIFIED V3 — absolute final override
   - no two-column pricing anywhere
   - treatment area fills the full card width
   ═══════════════════════════════════════════════════════════════ */

/* Desktop + tablet safety */
@media (min-width: 901px) {
    .bl-pricelist-section__header,
    .bl-pricelist-treatment,
    .bl-pricelist-treatment--final,
    .bl-pricelist-treatment--compact,
    .bl-pricelist-treatment--long,
    .bl-pricelist-treatment--structured {
        max-width: 940px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* Force every pricing list to become one vertical column.
       This intentionally targets generic classes too, because older CSS versions
       use compact/long selectors that can still make a grid. */
    .bl-pricelist-treatment .bl-pricelist-items,
    .bl-pricelist-treatment .bl-pricelist-items--split,
    .bl-pricelist-treatment--compact .bl-pricelist-items,
    .bl-pricelist-treatment--long .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
        grid-template-columns: none !important;
        grid-auto-flow: row !important;
        columns: auto !important;
        column-count: auto !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment .bl-pricelist-items > *,
    .bl-pricelist-treatment .bl-pricelist-items--split > *,
    .bl-pricelist-treatment--compact .bl-pricelist-items > *,
    .bl-pricelist-treatment--long .bl-pricelist-items > *,
    .bl-pricelist-treatment--final .bl-pricelist-items > *,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > * {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        grid-column: 1 / -1 !important;
        border-right: none !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment .bl-pricelist-item,
    .bl-pricelist-treatment--compact .bl-pricelist-item,
    .bl-pricelist-treatment--long .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-item {
        border-right: none !important;
        border-left: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment .bl-pricelist-items > .bl-pricelist-item:last-child {
        border-bottom: none !important;
    }

    /* Treatment area should be part of the card and full width */
    .bl-pricelist-treatment .bl-pricing__area-diagram,
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        background: var(--bl-white) !important;
        border-top: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment .bl-pricing__area-label,
    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        box-sizing: border-box !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricing__area-image-wrap {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 24px 28px !important;
        box-sizing: border-box !important;
        background: var(--bl-white) !important;
    }

    .bl-pricelist-treatment .bl-pricing__area-image,
    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    /* Bigger cover with better crop for square images */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        height: 460px !important;
        min-height: 460px !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        background-size: cover !important;
        background-position: center center !important;
    }
}

@media (max-width: 900px) {
    .bl-pricelist-treatment .bl-pricelist-items,
    .bl-pricelist-treatment .bl-pricelist-items--split {
        display: block !important;
        grid-template-columns: none !important;
    }

    .bl-pricelist-treatment .bl-pricelist-items > *,
    .bl-pricelist-treatment .bl-pricelist-items--split > * {
        width: 100% !important;
        max-width: none !important;
        border-right: none !important;
        grid-column: 1 / -1 !important;
    }

    .bl-pricing__area-image-wrap {
        display: block !important;
        width: 100% !important;
        padding: 18px !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment .bl-pricing__area-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 0 !important;
    }
}


/* OPTION G V4 FORCE OVERRIDES — printed inline so it still works if external CSS is cached */
@media (min-width: 901px) {
    .bl-pricelist-section__header,
    .bl-pricelist-treatment.bl-pricelist-treatment--final {
        width: 100% !important;
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* All treatment cards = tall editorial cover */
    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        height: 460px !important;
        min-height: 460px !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
    }

    /* Absolutely no 2-column price grid */
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split,
    .bl-pricelist-treatment--compact .bl-pricelist-items,
    .bl-pricelist-treatment--long .bl-pricelist-items {
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
        column-count: 1 !important;
        columns: 1 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--compact .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--long .bl-pricelist-items > .bl-pricelist-item {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 100% !important;
        grid-column: 1 / -1 !important;
        border-right: none !important;
        border-left: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item--grid-odd,
    .bl-pricelist-treatment--final .bl-pricelist-item--grid-even {
        border-right: none !important;
    }

    /* Treatment area full-card width */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-top: 0.5px solid var(--bl-border) !important;
        overflow: hidden !important;
        background: #fff !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        box-sizing: border-box !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 24px 28px !important;
        box-sizing: border-box !important;
        background: #fff !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 22px 24px 20px !important;
        text-align: center !important;
        color: var(--bl-dark) !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        background: #fff !important;
    }
}


/* OPTION G V5 FORCE
   Desktop: all treatment cards use tall editorial cover + one-column pricing.
   Mobile: restore square image with title overlay.
*/
@media (min-width: 901px) {
    .bl-pricelist-section__header,
    .bl-pricelist-treatment.bl-pricelist-treatment--final {
        width: 100% !important;
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        height: 460px !important;
        min-height: 460px !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split,
    .bl-pricelist-treatment--compact .bl-pricelist-items,
    .bl-pricelist-treatment--long .bl-pricelist-items {
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
        column-count: 1 !important;
        columns: 1 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--compact .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--long .bl-pricelist-items > .bl-pricelist-item {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 100% !important;
        grid-column: 1 / -1 !important;
        border-right: none !important;
        border-left: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item--grid-odd,
    .bl-pricelist-treatment--final .bl-pricelist-item--grid-even {
        border-right: none !important;
    }

    /* Treatment Area: section is card-width; image content is enlarged because the source file has large internal white margins. */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-top: 0.5px solid var(--bl-border) !important;
        overflow: hidden !important;
        background: #fff !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        box-sizing: border-box !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 128% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 -14% !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 22px 24px 20px !important;
        text-align: center !important;
        color: var(--bl-dark) !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        background: #fff !important;
    }
}

/* Restore mobile look: square image, title/tagline/link overlay, pricing below. */
@media (max-width: 900px) {
    .bl-pricelist-treatment--final {
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
        z-index: 0 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        background: linear-gradient(180deg, rgba(20,20,20,0.08) 0%, rgba(20,20,20,0.64) 100%) !important;
        z-index: 1 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 2 !important;
        display: block !important;
        padding: 22px 20px !important;
        background: transparent !important;
        border: none !important;
        text-align: left !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__name {
        color: #fff !important;
        font-size: 22px !important;
        line-height: 1.14 !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.18) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text p {
        color: rgba(255,255,255,.82) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin-top: 7px !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.16) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__link {
        display: inline-flex !important;
        margin-top: 13px !important;
        color: #fff !important;
        border: 1px solid rgba(255,255,255,.55) !important;
        border-radius: 999px !important;
        padding: 8px 13px !important;
        background: rgba(255,255,255,.08) !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item {
        width: 100% !important;
        border-right: none !important;
        grid-column: 1 / -1 !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        padding: 10px 0 !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        width: 130% !important;
        max-width: none !important;
        margin: 0 -15% !important;
        padding: 0 !important;
        height: auto !important;
    }
}


/* OPTION G V6 FORCE
   Desktop: all treatment cards use tall editorial cover + one-column pricing.
   Mobile: square image with centered title/tagline/button overlay.
*/
@media (min-width: 901px) {
    .bl-pricelist-section__header,
    .bl-pricelist-treatment.bl-pricelist-treatment--final {
        width: 100% !important;
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        height: 460px !important;
        min-height: 460px !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split,
    .bl-pricelist-treatment--compact .bl-pricelist-items,
    .bl-pricelist-treatment--long .bl-pricelist-items {
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
        column-count: 1 !important;
        columns: 1 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--compact .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--long .bl-pricelist-items > .bl-pricelist-item {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 100% !important;
        grid-column: 1 / -1 !important;
        border-right: none !important;
        border-left: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item--grid-odd,
    .bl-pricelist-treatment--final .bl-pricelist-item--grid-even {
        border-right: none !important;
    }

    /* Treatment Area: section is full card width.
       The uploaded diagram has large internal white margins, so the actual image is enlarged inside the card. */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-top: 0.5px solid var(--bl-border) !important;
        overflow: hidden !important;
        background: #fff !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        box-sizing: border-box !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 175% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: -18px -37.5% !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 22px 24px 20px !important;
        text-align: center !important;
        color: var(--bl-dark) !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        background: #fff !important;
    }
}

/* Mobile: centered overlay content */
@media (max-width: 900px) {
    .bl-pricelist-treatment--final {
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
        z-index: 0 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        background: linear-gradient(180deg, rgba(20,20,20,0.08) 0%, rgba(20,20,20,0.66) 100%) !important;
        z-index: 1 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 24px 22px 28px !important;
        background: transparent !important;
        border: none !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text > div {
        width: 100% !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__name {
        color: #fff !important;
        font-size: 22px !important;
        line-height: 1.14 !important;
        text-align: center !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.18) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text p {
        color: rgba(255,255,255,.84) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin: 7px auto 0 !important;
        max-width: 280px !important;
        text-align: center !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.16) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 14px auto 0 !important;
        color: #fff !important;
        border: 1px solid rgba(255,255,255,.55) !important;
        border-radius: 999px !important;
        padding: 8px 13px !important;
        background: rgba(255,255,255,.08) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item {
        width: 100% !important;
        border-right: none !important;
        grid-column: 1 / -1 !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        padding: 0 !important;
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        width: 160% !important;
        max-width: none !important;
        margin: -8px -30% !important;
        padding: 0 !important;
        height: auto !important;
    }
}


/* OPTION G V7 FORCE
   Desktop: tall editorial cover + one-column pricing.
   Mobile: square image with centered title/tagline/button overlay.
*/
@media (min-width: 901px) {
    .bl-pricelist-section__header,
    .bl-pricelist-treatment.bl-pricelist-treatment--final {
        width: 100% !important;
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        height: 460px !important;
        min-height: 460px !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
    }

    /* No split pricing anywhere */
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split,
    .bl-pricelist-treatment--compact .bl-pricelist-items,
    .bl-pricelist-treatment--long .bl-pricelist-items {
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
        column-count: 1 !important;
        columns: 1 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--compact .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--long .bl-pricelist-items > .bl-pricelist-item {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 100% !important;
        grid-column: 1 / -1 !important;
        border-right: none !important;
        border-left: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item--grid-odd,
    .bl-pricelist-treatment--final .bl-pricelist-item--grid-even {
        border-right: none !important;
    }

    /* Treatment Area:
       - The section itself is full card width.
       - The image is enlarged horizontally but NOT clipped top/bottom.
       - This keeps the diagram larger without cutting the upper/lower rows. */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-top: 0.5px solid var(--bl-border) !important;
        background: #fff !important;
        text-align: center !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        box-sizing: border-box !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 22px 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 140% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 -20% !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 22px 24px 20px !important;
        text-align: center !important;
        color: var(--bl-dark) !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        background: #fff !important;
    }
}

/* Mobile: centered overlay content, and Treatment Area contained inside the screen */
@media (max-width: 900px) {
    .bl-pricelist-treatment--final {
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
        z-index: 0 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        background: linear-gradient(180deg, rgba(20,20,20,0.08) 0%, rgba(20,20,20,0.66) 100%) !important;
        z-index: 1 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-end !important;
        padding: 24px 22px 28px !important;
        background: transparent !important;
        border: none !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text > div {
        width: 100% !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__name {
        color: #fff !important;
        font-size: 22px !important;
        line-height: 1.14 !important;
        text-align: center !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.18) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text p {
        color: rgba(255,255,255,.84) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin: 7px auto 0 !important;
        max-width: 280px !important;
        text-align: center !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.16) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 14px auto 0 !important;
        color: #fff !important;
        border: 1px solid rgba(255,255,255,.55) !important;
        border-radius: 999px !important;
        padding: 8px 13px !important;
        background: rgba(255,255,255,.08) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item {
        width: 100% !important;
        border-right: none !important;
        grid-column: 1 / -1 !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-diagram,
    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        padding: 14px 12px !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        height: auto !important;
        object-fit: contain !important;
    }
}


/* OPTION G V8 FORCE
   Desktop: tall editorial cover + one-column pricing.
   Mobile: title/tagline/button centered both horizontally and vertically on image.
   Treatment Area: full-width image, no artificial zoom/crop.
*/
@media (min-width: 901px) {
    .bl-pricelist-section__header,
    .bl-pricelist-treatment.bl-pricelist-treatment--final {
        width: 100% !important;
        max-width: 940px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        height: 460px !important;
        min-height: 460px !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
    }

    /* No split pricing anywhere */
    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split,
    .bl-pricelist-treatment--compact .bl-pricelist-items,
    .bl-pricelist-treatment--long .bl-pricelist-items {
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        grid-auto-flow: row !important;
        column-count: 1 !important;
        columns: 1 !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item,
    .bl-pricelist-treatment--compact .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--long .bl-pricelist-items > .bl-pricelist-item {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 100% !important;
        grid-column: 1 / -1 !important;
        border-right: none !important;
        border-left: none !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-item--grid-odd,
    .bl-pricelist-treatment--final .bl-pricelist-item--grid-even {
        border-right: none !important;
    }

    /* Treatment Area: full card width, no crop. */
    .bl-pricelist-treatment--final .bl-pricing__area-diagram {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        border-top: 0.5px solid var(--bl-border) !important;
        background: #fff !important;
        text-align: center !important;
        overflow: visible !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-label {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 24px !important;
        box-sizing: border-box !important;
        background: var(--bl-bg) !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        overflow: visible !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-bundle__heading {
        padding: 22px 24px 20px !important;
        text-align: center !important;
        color: var(--bl-dark) !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        background: #fff !important;
    }
}

/* Mobile: center title/tagline/button vertically and horizontally on the image */
@media (max-width: 900px) {
    .bl-pricelist-treatment--final {
        overflow: hidden !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        background: #222 !important;
        border-bottom: 0.5px solid var(--bl-border) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background-size: cover !important;
        background-position: center center !important;
        border: none !important;
        z-index: 0 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-img::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        background: linear-gradient(180deg, rgba(20,20,20,0.12) 0%, rgba(20,20,20,0.60) 100%) !important;
        z-index: 1 !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 24px 22px !important;
        background: transparent !important;
        border: none !important;
        text-align: center !important;
        transform: none !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text > div {
        width: 100% !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__name {
        color: #fff !important;
        font-size: 26px !important;
        line-height: 1.14 !important;
        text-align: center !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.18) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-final__structured-text p {
        color: rgba(255,255,255,.86) !important;
        font-size: 16px !important;
        line-height: 1.45 !important;
        margin: 8px auto 0 !important;
        max-width: 300px !important;
        text-align: center !important;
        text-shadow: 0 1px 10px rgba(0,0,0,.16) !important;
    }

    .bl-pricelist-treatment--final.bl-pricelist-treatment--structured .bl-pricelist-final__structured-head--has-img .bl-pricelist-treatment__link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 18px auto 0 !important;
        color: #fff !important;
        border: 1px solid rgba(255,255,255,.55) !important;
        border-radius: 999px !important;
        padding: 8px 18px !important;
        background: rgba(255,255,255,.08) !important;
        text-align: center !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items,
    .bl-pricelist-treatment--final .bl-pricelist-items--split {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }

    .bl-pricelist-treatment--final .bl-pricelist-items > .bl-pricelist-item,
    .bl-pricelist-treatment--final .bl-pricelist-items--split > .bl-pricelist-item {
        width: 100% !important;
        border-right: none !important;
        grid-column: 1 / -1 !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-diagram,
    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image-wrap {
        padding: 0 !important;
    }

    .bl-pricelist-treatment--final .bl-pricing__area-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   TREATMENT OVERVIEW + VIDEO
   New intro section replacing the old process-first layout.
   ═══════════════════════════════════════════════════════════════ */
.bl-treatment-overview {
    background: var(--bl-white);
}

.bl-treatment-overview__grid {
    display: grid;
    gap: 56px;
    /* Center overview text block vertically against the video column */
    align-items: center;
}

.bl-treatment-overview__grid--has-video {
    grid-template-columns: minmax(0, 1fr) 300px;
}

.bl-treatment-overview__grid--text-only {
    grid-template-columns: minmax(0, 1fr);
}

.bl-treatment-overview__grid--text-only .bl-treatment-overview__content {
    max-width: none;
}

.bl-treatment-overview__grid--text-only .bl-treatment-overview__body {
    max-width: none;
}

.bl-treatment-overview__content {
    min-width: 0;
}

.bl-treatment-overview__content .bl-section__title {
    margin-bottom: 22px;
}

.bl-treatment-overview__body {
    max-width: 760px;
    color: var(--bl-muted);
    font-size: 14px;
    line-height: 1.85;
}

.bl-treatment-overview__body p {
    margin: 0 0 20px !important;
}

.bl-treatment-overview__body p:last-child {
    margin-bottom: 0 !important;
}

/* Fallback for WYSIWYG content where spacing was made with Shift+Enter / <br> */
.bl-treatment-overview__body br {
    display: block;
    content: "";
    margin-bottom: 10px;
}

.bl-treatment-overview__body p:empty {
    display: none;
}

.bl-treatment-overview__body strong,
.bl-treatment-overview__body b {
    color: var(--bl-dark);
    font-weight: 600;
}

.bl-treatment-overview__body ul,
.bl-treatment-overview__body ol {
    margin: 0 0 16px;
    padding-left: 20px;
}

.bl-treatment-overview__body li {
    margin-bottom: 6px;
}

.bl-treatment-overview__video {
    position: sticky;
    top: 100px;
    width: 100%;
}

.bl-treatment-overview__video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: var(--bl-radius-lg);
    overflow: hidden;
    background: var(--bl-dark);
    border: 0.5px solid var(--bl-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.bl-treatment-overview__video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.bl-treatment-overview__video-caption {
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 1.55;
    color: var(--bl-muted);
    text-align: center;
    font-style: italic;
}

/* Keep the intro-to-education flow tight when these sections appear together. */
.bl-treatment-overview + .bl-machine,
.bl-treatment-overview + .bl-product-showcase,
.bl-machine + .bl-product-showcase,
.bl-product-showcase + .bl-pricing {
    border-top: 0;
}

@media (max-width: 900px) {
    .bl-treatment-overview__grid,
    .bl-treatment-overview__grid--has-video,
    .bl-treatment-overview__grid--text-only {
        grid-template-columns: 1fr;
        gap: 32px;
        align-items: start;
    }

    .bl-treatment-overview__body {
        max-width: none;
    }

    .bl-treatment-overview__video {
        position: relative;
        top: auto;
        max-width: 340px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .bl-treatment-overview__grid {
        gap: 28px;
    }

    .bl-treatment-overview__content .bl-section__title {
        margin-bottom: 16px;
    }

    .bl-treatment-overview__body {
        font-size: 13px;
        line-height: 1.8;
    }

    .bl-treatment-overview__video {
        max-width: 280px;
    }
}
