.lux-profile { --profile-button-border: #e8c98d55; }
/* Presentation only: scoped to active Luxe profiles. */
.lux-profile { background: #faf9f6; }
.lux-profile #main { max-width: 1440px; padding: 24px 4% 64px; }
.lux-profile-context { margin-bottom: 22px; font-size: 11px; color: #77685f; }
.lux-profile-stage .lux-profile-context { grid-column: 1; grid-row: 1; font-size: 12px; color: #fff; flex-wrap: wrap; gap: 10px; }
.lux-profile-stage .lux-profile-context > a { color: #ffe7ac; }
.lux-profile-selection { border: 1px solid #d7c29e; color: #651d32; padding: 6px 10px; border-radius: 6px; font-size: 10px; }
.lux-profile-stage { position: relative; display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.55fr); grid-template-rows: auto 1fr auto auto; column-gap: 34px; padding: 28px; background: #191919; color: #fff; border-radius: 22px; margin-bottom: 34px; isolation: isolate; }
.lux-profile-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 1; z-index: -2; border-radius: inherit; pointer-events: none; }
.lux-profile-stage::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(180deg, #000000b8 0%, #000000b8 55%, #000000e0 100%); }
.lux-profile .lux-profile-stage .profile-hero { grid-column: 1; grid-row: 2; align-self: end; margin: 0; padding: 16px 0; }
.lux-profile .profile-hero__head h1 { color: #ffe7ac; font-size: clamp(30px,3.1vw,46px); font-weight: 500; line-height: 1.12; letter-spacing: -.04em; margin: 0 0 24px; overflow-wrap: anywhere; }
.lux-profile .profile-hero__badges { gap: 10px 16px; flex-wrap: wrap; }
.lux-profile .profile-hero__badges :is(a,span,div) { color: #fff; font-size: 11px; }
.lux-profile .profile-hero__badges svg { color: #e7c57f; }
.lux-profile .profile-hero__address { color: #fff; font-size: 12px; margin-top: 20px; line-height: 1.8; }
.lux-profile .profile-hero__address a:hover { color: #ffe7ac; }
.lux-profile .profile-hero__address-icon { color: #e7c57f; }
.lux-profile .lux-profile-stage .profile-hero__actions { grid-column: 1; grid-row: 3; margin: 12px 0 22px; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 16px; }
.lux-profile .profile-hero__icon-btn { background: #ffffff0a; border: 1px solid #dac29750; color: #ffe7ac; border-radius: 50%; width: 40px; height: 40px; }
.lux-profile .profile-hero__cta { border: 1px solid var(--profile-button-border); border-radius: 9px; padding: 13px 18px; font-size: 12px; }
.lux-profile-stage > section.mb-6 { grid-column: 1; grid-row: 4; margin: 0; }
.lux-profile-stage > section.mb-6 p { background: #fff1; color: white; border: 1px solid #fff2; box-shadow: none; }
.lux-profile-stage > section.mb-6 p span { color: #e7d6c4; }
.lux-profile .lux-profile-mosaic { grid-column: 2; grid-row: 1 / 5; height: 500px; margin: 0; padding: 0; display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 1.1fr .9fr 1fr; gap: 10px; border-radius: 13px; overflow: hidden; }
.lux-profile .lux-profile-mosaic > .lux-gallery-tile { position: relative; min-width: 0; height: auto; border-radius: 10px; overflow: hidden; background: #3a3032; }
.lux-profile .lux-profile-mosaic > :first-child { grid-column: 1; grid-row: 1 / 3; }
.lux-profile .lux-profile-mosaic > :nth-child(2) { grid-column: 2; grid-row: 1; }
.lux-profile .lux-profile-mosaic > :nth-child(3) { grid-column: 2; grid-row: 2; }
.lux-profile .lux-profile-mosaic > :nth-child(4) { grid-column: 1; grid-row: 3; }
.lux-profile .lux-profile-mosaic > :nth-child(5) { grid-column: 2; grid-row: 3; }
.lux-profile .lux-profile-mosaic > :only-child { grid-column: 1 / -1; grid-row: 1 / -1; }
.lux-profile .lux-profile-mosaic:has(> :nth-child(2):last-child) > :nth-child(2) { grid-column: 2; grid-row: 1 / -1; }
.lux-profile .lux-profile-mosaic:has(> :nth-child(2):last-child) > :first-child { grid-row: 1 / -1; }
.lux-profile .lux-profile-mosaic:has(> :nth-child(3):last-child) { grid-template-rows: 1fr 1fr; }
.lux-profile .lux-profile-mosaic:has(> :nth-child(4):last-child) { grid-template-rows: 1fr 1fr; }
.lux-profile .lux-profile-mosaic:has(> :nth-child(4):last-child) > :first-child { grid-row: 1; }
.lux-profile .lux-profile-mosaic:has(> :nth-child(4):last-child) > :nth-child(4) { grid-row: 2; }
.lux-gallery-tile > button, .lux-gallery-tile > .lux-gallery-static { display: block; width: 100%; height: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; }
.lux-profile .lux-gallery-label { left: 12px; bottom: 12px; background: #651d32; border: 1px solid var(--profile-button-border); color: #ffe7ac; padding: 9px 12px; font-size: 10px; border-radius: 6px; gap: 12px; }
.lux-gallery-review { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 16px; background: linear-gradient(150deg,#241018aa,#170e15ed); color: #fff!important; }
.lux-gallery-quote { color: #ffe7ac; font-family: Georgia,serif; font-size: 34px; line-height: .65; margin-bottom: 9px; }
.lux-gallery-review blockquote { margin: 0; font-size: 12px; line-height: 1.6; font-weight: 400; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lux-gallery-reviewer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; color: #ffe7ac; font-size: 10px; }
.lux-profile-sections { position: sticky; top: 0; z-index: 20; padding: 0; background: #faf9f6f5; backdrop-filter: blur(12px); border-color: #dfd0b8; gap: 28px; }
.lux-profile-sections > a { position: relative; padding: 14px 0; font-size: 12px; font-weight: 500; }
.lux-profile-sections > a:first-child::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #651d32; }
.lux-profile #main > section:not(.profile-hero) { margin-top: 42px; margin-bottom: 42px; }
.lux-profile #booking_ctrl > div { max-width: none; }
.lux-profile #booking_ctrl .max-w-2xl { max-width: none; }
.lux-profile #booking_ctrl .max-w-xl { max-width: 36rem; }
.lux-profile #booking_ctrl .rounded-2xl { border-radius: 16px; }
.lux-profile #booking_ctrl :is(h2,h3), .lux-profile #salon-reviews h2, .lux-profile #map h2 { color: #651d32; font-weight: 500; letter-spacing: -.035em; }
.lux-profile #booking_ctrl [class*="border-gray"] { border-color: #e7ddcf; }
.lux-profile #booking_ctrl [class*="bg-gray-50"] { background: #f5f0e9; }
.lux-profile #salon-reviews, .lux-profile #map { border-color: #dfd0b8; padding-top: 36px; }
.lux-profile #reviews-list > div { border: 1px solid #e5dacb; background: #fffdf9; border-radius: 16px; padding: 24px; }
.lux-profile #review-form { background: #f6f1e9; border-radius: 20px; padding: 28px; }
.lux-profile #map iframe { border-radius: 16px; }
@media(max-width:1050px) {
 .lux-profile-stage { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 22px; padding: 24px; }
 .lux-profile .lux-profile-mosaic { height: 480px; }
 .lux-profile .profile-hero__actions { flex-direction: column; align-items: flex-start; }
}
@media(max-width:760px) {
 .lux-profile #main { padding: 18px 5% 40px; }
 .lux-profile-stage { display: flex; flex-direction: column; padding: 22px 18px 18px; border-radius: 17px; gap: 0; }
 .lux-profile .profile-hero__head h1 { font-size: 34px; margin-bottom: 18px; }
 .lux-profile .lux-profile-stage .profile-hero { padding: 0; }
 .lux-profile .lux-profile-stage .profile-hero__actions { flex-direction: row; align-items: center; margin: 20px 0; gap: 12px; }
 .lux-profile .profile-hero__icon-row { gap: 7px; }
 .lux-profile .profile-hero__cta { padding: 11px 12px; font-size: 11px; min-height: 42px; }
 .lux-profile .profile-hero__icon-btn { height: 36px; width: 36px; }
 .lux-profile .lux-profile-mosaic { width: 100%; height: 420px; margin-top: 18px; gap: 7px; grid-template-columns: 1fr 1fr; }
 .lux-gallery-review { padding: 10px; }
 .lux-gallery-review blockquote { font-size: 10px; line-height: 1.5; -webkit-line-clamp: 3; }
 .lux-gallery-quote { font-size: 26px; margin-bottom: 7px; }
 .lux-gallery-reviewer { font-size: 9px; gap: 5px; margin-top: 8px; }
 .lux-profile .lux-gallery-label { font-size: 9px; gap: 5px; padding: 7px 8px; left: 7px; bottom: 7px; }
 .lux-profile-sections { gap: 20px; overflow-x: auto; white-space: nowrap; }
 .lux-profile #main > section:not(.profile-hero) { margin-top: 30px; margin-bottom: 30px; }
 .lux-profile #review-form { padding: 18px; }
}
@media(prefers-reduced-motion:reduce) { .lux-profile .lux-profile-mosaic img { transition: none; } }

.lux-profile-stage:has(#imageModal:not(.hidden)) { z-index: 150; }
.lux-profile-stage:not(:has(.lux-profile-mosaic)) { grid-template-columns: 1fr; }
/* Carry the same palette through the existing interactive components. */
.lux-profile .profile-hero__badges > p { background: #ffffff0d; border: 1px solid #d4bd9055; box-shadow: none; padding: 5px 8px; }
.lux-profile .profile-hero__badges > p :is(span,i) { color: #f4e5d6; }
.lux-profile #main :is(.text-primary,.text-tertiary,.text-blue-600,.text-blue-700) { color: #651d32; }
.lux-profile #main :is(.bg-primary,.bg-tertiary) { background-color: #651d32; }
.lux-profile #booking_ctrl [class*="border-primary/"] { border-color: #b58b9b; }
.lux-profile #booking_ctrl button[class~="hover:bg-primary"]:hover { background-color: #651d32; color: #ffe7ac; }
.lux-profile #write-review { background: #651d32; color: #ffe7ac; border: 1px solid #b99457; }
.lux-profile #map [class*="bg-blue-50"] { background: #f4e9ed; }
.lux-profile #map [class*="ring-blue"] { --tw-ring-color: #e4cdd6; }
.lux-profile #main [class*="ring-primary/"] { --tw-ring-color: #651d3240; }
.lux-profile .lux-profile-stage .profile-hero__stack { align-items: flex-start; text-align: left; }
.lux-profile .lux-header .lux-brand img { filter: none; }
.lux-profile .lux-profile-stage { border-top-left-radius: 0; border-bottom-right-radius: 0; }
.lux-profile .lux-profile-stage .profile-hero__head { width: 100%; }
.lux-profile #main > .h-px { display: none; }

.lux-gallery-review-rating { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.lux-gallery-review-rating svg { width: 11px; height: 11px; fill: currentColor; color: #ffe7ac; }

/* A compact identity stack and clearly legible controls on the photo background. */
.lux-profile .lux-profile-stage .profile-hero__stack { gap: 0; }
.lux-profile .lux-profile-stage .profile-hero__head h1 { margin-bottom: 18px; }
.lux-profile .lux-profile-stage .profile-hero__badges { gap: 10px 14px; }
.lux-profile .lux-profile-stage .profile-hero__badges .lux-profile-audience { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid #e4c88a55; border-radius: 6px; background: #241a1e70; color: #ffe7ac; line-height: 18px; font-size: 11px; }
.lux-profile-audience svg { width: 13px; height: 13px; }
.lux-profile .lux-profile-stage .profile-hero__address { margin-top: 18px; gap: 8px; line-height: 1.65; }
.lux-profile .lux-profile-stage .profile-hero { padding-bottom: 0; }
.lux-profile .lux-profile-stage .profile-hero__actions { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 12px; margin: 24px 0 20px; }
.lux-profile .profile-hero__icon-row { gap: 8px; }
.lux-profile #favorite-btn #heart-icon { display: none; }
.lux-profile .lux-favorite-heart { width: 19px; height: 19px; color: #ffe7ac; fill: none; transition: fill .2s, transform .2s; }
.lux-profile #heart-icon.text-red-500 + .lux-favorite-heart { fill: #ffe7ac; }
.lux-profile #favorite-btn:hover .lux-favorite-heart { transform: scale(1.08); }
.lux-profile .profile-hero__icon-btn:hover { border-color: #e4c88a; background: #ffffff12; }
@media(max-width:760px) {
 .lux-profile .lux-profile-stage .profile-hero__head h1 { margin-bottom: 16px; }
 .lux-profile .lux-profile-stage .profile-hero__actions { margin: 20px 0 14px; gap: 10px; }
 .lux-profile .lux-profile-stage .profile-hero__address { margin-top: 16px; }
}
@media(prefers-reduced-motion:reduce) { .lux-profile .lux-favorite-heart { transition: none; } .lux-profile #favorite-btn:hover .lux-favorite-heart { transform: none; } }

/* Full-width profile hero with the navigation over its background. */
.lux-profile .lux-header { position: absolute; inset: 0 0 auto; z-index: 60; background: transparent; border-bottom-color: #ffffff20; color: #fafafa; }
.lux-profile .lux-header .lux-primary-nav a { color: #fafafa; }
.lux-profile .lux-header .lux-primary-nav a::after { background: #e8c98d; }
.lux-profile .lux-header .lux-menu-toggle { color: #ffe7ac; border-color: #e8c98d55; }
.lux-profile .lux-header .lux-account { color: #ffe7ac; border-color: var(--profile-button-border); }
.lux-profile #main { padding-top: 0; }
.lux-profile .lux-profile-stage {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 132px max(4vw, calc((100vw - 1440px) / 2 + 4vw)) 36px;
    border-radius: 0;
}
@media(max-width:760px) {
    .lux-profile .lux-profile-stage { padding: 112px 5vw 28px; }
    .lux-profile .lux-header:has(.lux-menu-toggle[aria-expanded=true]) { background: #24191f; }
    .lux-profile .lux-header .lux-primary-nav { border-color: #ffffff20; }
    .lux-profile .lux-header .lux-primary-nav a + a { border-color: #ffffff20; }
    .lux-profile .lux-header .lux-primary-nav a > svg { color: #ffe7ac; }
}

.lux-profile #booking_ctrl .lux-booking-heading { font-size: 22px; line-height: 1.3; }
@media(max-width:760px) { .lux-profile #booking_ctrl .lux-booking-heading { font-size: 20px; } }

.lux-profile .lux-profile-sections > a { color: #191919; transition: color .25s ease; }
.lux-profile .lux-profile-sections > a:first-child::after { content: none; }
.lux-profile .lux-profile-sections > a[aria-current="location"] { color: #651d32; }

.lux-profile .lux-profile-sections > a > .lux-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 6px;
    background: #eee7e8;
    color: #651d32;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    transition: background-color .25s ease, color .25s ease;
}
.lux-profile .lux-profile-sections > a[aria-current="location"] > .lux-tab-count { background: #651d32; color: #ffe7ac; }

.lux-profile .lux-profile-sections { justify-content: center; }
.lux-profile #booking_ctrl .lux-booking-intro.text-center { max-width: 760px; text-align: center; margin-bottom: 12px; }
.lux-profile #booking_ctrl .lux-booking-intro h2 { font-size: clamp(22px,2.2vw,30px); line-height: 1.35; font-weight: 600; margin: 10px 0 14px; }
.lux-profile #booking_ctrl .lux-booking-intro > p:first-child { color: #8b682e; font-size: 11px; letter-spacing: .14em; font-weight: 600; }
.lux-profile #booking_ctrl .lux-booking-intro > p:not(:first-child) { max-width: 650px; margin-inline: auto; color: #77685f; font-size: 14px; line-height: 1.75; }
.lux-profile #booking_ctrl .lux-booking-intro > .h-px { background: linear-gradient(90deg, transparent, #b9945780 50%, transparent); margin-top: 22px; }
.lux-profile #booking_ctrl .lux-booking-assurances { flex-wrap: wrap; overflow: visible; margin: 18px 0 32px; gap: 10px; }
.lux-profile #booking_ctrl .lux-booking-assurances > div { background: #fffdf9; border-color: #e5dacb; border-radius: 10px; padding: 10px 14px; }
.lux-profile #booking_ctrl .lux-booking-assurances i { color: #651d32; }
@media(max-width:400px) { .lux-profile .lux-profile-sections { gap: 16px; } }

.lux-profile .lux-profile-sections > a > svg { width: 16px; height: 16px; flex-shrink: 0; }
@media(max-width:400px) {
    .lux-profile .lux-profile-sections { gap: 12px; }
    .lux-profile .lux-profile-sections > a { gap: 5px; font-size: 11px; }
    .lux-profile .lux-profile-sections > a > svg { width: 14px; height: 14px; }
}
@media(max-width:350px) { .lux-profile .lux-profile-sections { justify-content: flex-start; } }

.lux-profile #booking_ctrl .lux-service-heading-line {
    height: 2px;
    background: linear-gradient(90deg, #651d3280, #651d3226 60%, transparent);
}

.lux-profile .lux-profile-sections {
    border-image-source: linear-gradient(90deg, transparent, #b9945780 50%, transparent);
    border-image-slice: 1;
}

@media(max-width:760px) {
    .lux-profile .lux-profile-mosaic {
        display: flex;
        height: 280px;
        gap: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        border-radius: 0;
    }
    .lux-profile .lux-profile-mosaic::-webkit-scrollbar { display: none; }
    .lux-profile .lux-profile-mosaic > .lux-gallery-tile {
        flex: 0 0 calc((100% - 12px) / 2);
        order: var(--mobile-gallery-order, 0);
        height: 100%;
        scroll-snap-align: start;
    }
    .lux-profile .lux-profile-mosaic > .lux-gallery-tile:only-child { flex-basis: 100%; }
    .lux-profile .lux-profile-mosaic .lux-gallery-review { padding: 12px; }
    .lux-profile .lux-profile-mosaic .lux-gallery-review blockquote { font-size: 12px; line-height: 1.65; -webkit-line-clamp: 6; }
    .lux-profile .lux-profile-mosaic .lux-gallery-reviewer { font-size: 10px; margin-top: 12px; flex-wrap: wrap; }
}

/* Mobile gallery: a full-height cover followed by stacked pairs. */
@media(max-width:760px) {
    .lux-profile .lux-profile-mosaic {
        display: grid;
        height: 360px;
        grid-template-columns: none;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 12px) / 2);
    }
    .lux-profile .lux-profile-mosaic > .lux-gallery-tile:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
        height: 100%;
    }
    .lux-profile .lux-profile-mosaic > .lux-gallery-tile:first-child { grid-row: 1 / 3; }
    .lux-profile .lux-profile-mosaic:has(> .lux-gallery-tile:only-child) { grid-auto-columns: 100%; }
    .lux-profile .lux-profile-mosaic .lux-gallery-review blockquote { font-size: 11px; line-height: 1.5; -webkit-line-clamp: 4; }
    .lux-profile .lux-profile-mosaic .lux-gallery-quote { font-size: 22px; margin-bottom: 5px; }
    .lux-profile .lux-profile-mosaic .lux-gallery-reviewer { margin-top: 7px; gap: 4px; font-size: 9px; }
}

@media(max-width:760px) {
    .lux-profile .lux-profile-stage .profile-hero { align-self: stretch; width: 100%; }
}

.lux-profile .profile-hero__cta > svg { width: 18px; height: 18px; flex-shrink: 0; position: relative; z-index: 1; }

/* The unopened Vue photo viewer must not reserve its full-screen height before mounting. */
.lux-profile #portfolio_small[v-cloak] { display: none; }

/* Team and facilities retain the shared profile content and original images. */
.lux-profile .profile-team > .container { max-width: 1080px; padding-inline: 0; }
.lux-profile .profile-team > .container > .text-center { margin-bottom: 28px; }
.lux-profile .profile-team > .container > .text-center > p:first-child { color: #94713b; font-size: 11px; font-weight: 700; letter-spacing: .18em; margin-bottom: 10px; }
.lux-profile .profile-team h2,
.lux-profile .profile-facilities h2 { color: #651d32; font-size: clamp(24px,2.4vw,32px); font-weight: 600; line-height: 1.25; }
.lux-profile .profile-team > .container > .text-center > .h-px { width: 96px; margin: 18px auto; background: linear-gradient(90deg,transparent,#b99457,transparent); }
.lux-profile .profile-team > .container > .text-center > p:last-child { color: #776761; font-size: 14px; line-height: 1.7; }
.lux-profile .profile-team > .container > .grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.lux-profile .profile-stylist-card { flex: 0 1 268px; height: auto; border: 1px solid #e4d6c1; border-radius: 18px; background: #fffdf9; box-shadow: 0 6px 24px #42212b08; color: #651d32; }
.lux-profile .profile-stylist-card:hover { border-color: #b99457; box-shadow: 0 10px 28px #42212b12; }
.lux-profile .profile-stylist-card:focus-visible { outline-color: #b99457; }
.lux-profile .profile-stylist-card > div:first-child { aspect-ratio: auto; padding: 16px 16px 0; background: transparent; }
.lux-profile .profile-stylist-card > div:first-child > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 12px; }
.lux-profile .profile-stylist-card > div:first-child > div { position: static; background: none; padding: 18px 2px 0; }
.lux-profile .profile-stylist-card h3 { color: #651d32; font-size: 18px; font-weight: 600; line-height: 1.4; text-shadow: none; filter: none; }
.lux-profile .profile-stylist-card > div:last-child { padding: 6px 18px 20px; gap: 10px; }
.lux-profile .profile-stylist-card > div:last-child > p { color: #776761; font-size: 13px; line-height: 1.6; }
.lux-profile .profile-stylist-card > div:last-child > div > p { color: #94713b; font-size: 10px; font-weight: 600; letter-spacing: .1em; margin-bottom: 8px; }
.lux-profile .profile-stylist-card > div:last-child span { background: #f6edef; color: #651d32; box-shadow: none; font-size: 11px; padding: 4px 7px; }
.lux-profile .profile-facilities { position: relative; max-width: 1080px; margin-inline: auto; padding: 32px; border-radius: 20px; background: #f5f0e9; }
.lux-profile .profile-facilities::before { content: ''; position: absolute; inset: 0 24px auto; height: 1px; background: linear-gradient(90deg,transparent,#b9945770,transparent); }
.lux-profile .profile-facilities h2 { margin-bottom: 28px; }
.lux-profile .profile-facilities > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 0; }
.lux-profile .profile-facilities > div > div { gap: 12px; padding: 16px 12px; border: 1px solid #e8dece; border-radius: 12px; background: #fffdf9; }
.lux-profile .profile-facilities > div > div > div { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #f6edef; }
.lux-profile .profile-facilities img { width: 23px; height: 23px; filter: brightness(0) saturate(100%) invert(16%) sepia(27%) saturate(2410%) hue-rotate(298deg) brightness(92%) contrast(94%); }
.lux-profile .profile-facilities p { color: #651d32; font-size: 12px; font-weight: 500; line-height: 1.5; }
@media(max-width:900px) { .lux-profile .profile-facilities > div { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) {
 .lux-profile .profile-team > .container > .grid { gap: 14px; }
 .lux-profile .profile-stylist-card { flex-basis: calc(50% - 7px); }
 .lux-profile .profile-stylist-card:only-child { flex-basis: 268px; }
 .lux-profile .profile-stylist-card > div:first-child { padding: 10px 10px 0; }
 .lux-profile .profile-stylist-card h3 { font-size: 16px; }
 .lux-profile .profile-stylist-card > div:last-child { padding: 6px 12px 16px; }
 .lux-profile .profile-facilities { padding: 24px 14px; }
 .lux-profile .profile-facilities > div { gap: 8px; }
 .lux-profile .profile-facilities > div > div { padding: 12px 10px; gap: 8px; align-items: flex-start; }
 .lux-profile .profile-facilities > div > div > div { width: 32px; height: 32px; }
 .lux-profile .profile-facilities img { width: 20px; height: 20px; }
 .lux-profile .profile-facilities p { font-size: 11px; align-self: center; }
}
.lux-profile #main .profile-team > .container > .text-center > p:first-child { color: #94713b; }
.lux-profile .profile-team > .container > .text-center > p:last-child { margin-inline: auto; text-align: center; }

/* Shared standard-profile sections keep their content, conditions and controls. */
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) { color: #655651; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) :is(h2,h3) { color: #651d32; font-weight: 600; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) :is(.text-gray-900,.text-gray-800,.text-gray-700) { color: #493a3d; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) :is(.text-gray-600,.text-gray-500) { color: #776761; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) [class*="border-"] { border-color: #e4d6c1; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) [class*="ring-"] { --tw-ring-color: #e4d6c180; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) :is(.bg-white,[class*="bg-gradient"],.bg-lightBlue) { background: #fffdf9; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) :is(.bg-gray-100,.bg-blue-50,.bg-indigo-50,.bg-emerald-50) { background: #f5f0e9; }
.lux-profile #main :is(.profile-shared-content,[aria-labelledby="profile-faq-heading"]) .h-px { background: linear-gradient(90deg,transparent,#b99457,transparent); }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) p[class~="mb-2"] { margin-bottom: 8px; }
.lux-profile #main :is(.profile-shared-content,.profile-booking-benefits,[aria-labelledby="profile-faq-heading"]) p[class~="mb-3"] { margin-bottom: 12px; }
.lux-profile #main .profile-shared-content p[class~="mt-2"] { margin-top: 8px; }
.lux-profile #main .profile-shared-content p[class~="mt-3"] { margin-top: 12px; }
.lux-profile #main .profile-about thead tr { background: #f5f0e9; }
.lux-profile #main .profile-about tbody tr:nth-child(even) { background: #faf7f2; }
.lux-profile #main [aria-labelledby="profile-faq-heading"] details[open] { border-color: #b99457; }
.lux-profile #main [aria-labelledby="profile-faq-heading"] summary > span:last-child { background: #f6edef; color: #651d32; }
.lux-profile #main .profile-business-banner > div { background: #f5f0e9; }
.lux-profile #main .profile-business-banner a { border-color: #dfd0b8; color: #651d32; }
.lux-profile #main .profile-business-banner a .bg-tertiary { background: #651d32; color: #ffe7ac; }
.lux-profile .profile-hero__stack > div:has(#quick-rating-widget) { display: flex; }
.lux-profile #quick-rating-widget button,
.lux-profile .profile-hero__badges .fa-star { color: #e8c98d; }
.lux-profile .lux-reviews-summary > div > .border-t span { color: #ffe7ac; border-color: #e8c98d55; }
.lux-profile .lux-reviews-summary > div > .border-t > p { color: #ffe7ac; }
.lux-profile .profile-report-error > div { background: #f5f0e9; border-color: #e4d6c1; color: #776761; --tw-ring-color: #e4d6c180; }
.lux-profile .profile-report-error a { color: #651d32; }
.lux-profile #main :is(.profile-shared-content,[aria-labelledby="profile-faq-heading"]) :is(h2,h3)[class] { color: #651d32; }
.lux-profile #main .wedding-invite { border-color: #e4d6c1; background: #f5f0e9; }
.lux-profile #main .wedding-invite h2,
.lux-profile #main .wedding-invite h2 span,
.lux-profile #main .wedding-invite-image > span { color: #651d32; }
.lux-profile #main .wedding-invite .bridal-primary { background: #651d32; color: #ffe7ac; border-color: var(--profile-button-border); }
.lux-profile #main .wedding-invite .bridal-primary:hover { background: #4b1424; }

/* Consistent rhythm for shared content, including wrapped headings and prose. */
.lux-profile #main :is(.profile-shared-content,[aria-labelledby="profile-faq-heading"]) :is(h2,h3)[class] { line-height: 1.35; }
.lux-profile #main .profile-shared-content p { line-height: 1.7; }
.lux-profile #main .profile-guide p[class~="font-semibold"] { margin-bottom: 8px; line-height: 1.45; }
.lux-profile #main .profile-about > div:last-child { max-width: 70ch; text-align: left; }
.lux-profile #main .profile-about > div:last-child p { line-height: 1.8; }
.lux-profile #main .profile-about article > * + * { margin-top: 1em; }
.lux-profile #main .profile-about article :is(ul,ol) { padding-left: 1.5em; }
.lux-profile #main [aria-labelledby="profile-faq-heading"] summary { line-height: 1.5; }
.lux-profile #main [aria-labelledby="profile-faq-heading"] details > div p { line-height: 1.75; }
.lux-profile #main [aria-labelledby="profile-faq-heading"] details > div p + p { margin-top: 12px; }
.lux-profile #main .profile-business-banner p:first-child { margin-bottom: 10px; }
.lux-profile #main .profile-business-banner p[class~="text-3xl"] { line-height: 1.2; margin-bottom: 14px; }
@media(max-width:640px) {
 .lux-profile #main .profile-about > div:last-child p { font-size: 14px; line-height: 1.8; }
 .lux-profile #main .profile-shared-content :is(h2,h3)[class] { line-height: 1.4; }
}

.lux-profile .profile-about-paragraph { display: block; }
.lux-profile .profile-about-paragraph + .profile-about-paragraph { margin-top: 1em; }
.lux-profile #main [aria-labelledby="profile-faq-heading"] summary > span:first-child { line-height: 1.5; }
/* Align the benefits carousel with the surrounding profile sections. */
.lux-profile #main .profile-booking-benefits { width: 100%; max-width: 1080px; margin-inline: auto; }
.lux-profile .profile-booking-benefits > div { min-width: 0; }

.lux-profile #booking_ctrl .booking-bridal-offer { background: #f5f0e9; border-color: #e4d6c1; }
.lux-profile #booking_ctrl .booking-bridal-offer p:first-child { color: #651d32; }
.lux-profile #booking_ctrl .booking-bridal-offer p + p { color: #776761; }
.lux-profile #booking_ctrl .booking-bridal-offer a { background: #651d32; color: #ffe7ac; }
.lux-profile #booking_ctrl .booking-bridal-offer a:hover { background: #4b1424; }

/* Reveal the rating prompt without shifting the stars or surrounding content. */
.lux-profile .profile-rating-hint {
 margin-left: 10px;
 color: #ffe7ac; font-size: 11px; font-weight: 500; letter-spacing: .12em;
 text-transform: uppercase; white-space: nowrap; pointer-events: none;
 opacity: 0; transform: translateX(-4px);
 transition: opacity 180ms ease, transform 180ms ease;
}
.lux-profile #quick-rating-widget:has(.quick-rating-star:is(:hover, :focus-visible)) .profile-rating-hint {
 opacity: 1; transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
 .lux-profile .profile-rating-hint { transition: none; }
}

.lux-profile .lux-gallery-label {
 opacity: 0; transform: translateY(4px); pointer-events: none;
 transition: opacity 180ms ease, transform 180ms ease;
}
.lux-profile .lux-gallery-tile:has(> button:hover, > button:focus-visible) .lux-gallery-label {
 opacity: 1; transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
 .lux-profile .lux-gallery-label { transition: none; }
}

/* Keep light hero copy crisp against detailed salon photographs. */
.lux-profile .lux-profile-context > span,
.lux-profile .profile-hero__address a,
.lux-profile .profile-hero__badges > a[href="#salon-reviews"],
.lux-profile .lux-gallery-review blockquote {
 color: #fff;
 text-shadow: 0 1px 3px rgba(0, 0, 0, .65);
}
