.lux-results .lux-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
/* A single, fixed-height discovery card; only its inner panel transitions. */
.lux-discovery-flow { box-sizing:border-box; min-width:0; height:330px; border:1px solid #b9945780; border-radius:16px; padding:22px; display:flex; flex-direction:column; background:radial-gradient(ellipse at top right,#87364b55,transparent 65%),#651d32; color:#fff9ed; }
.lux-flow-progress {display:flex; gap:5px; margin-bottom:14px;}
.lux-flow-progress span {height:2px; flex:1; background:#ffe7ac30; border-radius:2px; transition:background .3s;}
.lux-flow-progress .is-complete {background:#ffe7ac;}
.lux-flow-panel {display:flex; flex-direction:column; flex:1; min-height:0;}
.lux-prompt-category {color:#ffe7ac; font-size:10px;}
.lux-discovery-flow h3 {margin:10px 0 7px; font-size:23px; font-weight:500; line-height:1.22; letter-spacing:-.03em;}
.lux-discovery-flow h3:focus {outline:none;}
.lux-discovery-flow p {margin:0; color:#f0dce0; font-size:11px; line-height:1.5;}
.lux-flow-choices {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:auto 0 10px; padding-top:10px;}
.lux-discovery-flow .lux-flow-choice {font-family:inherit; min-width:0; min-height:52px; padding:8px 5px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; background:#ffffff09; border:1px solid #ffe7ac55; border-radius:10px; color:#ffe7ac; font-size:11px; line-height:1.25; text-align:center; font-weight:500; cursor:pointer; transition:background .2s,border-color .2s,color .2s;}
.lux-flow-choice svg {width:19px; height:19px; flex-shrink:0;}
.lux-flow-choice:hover,.lux-flow-choice[aria-pressed=true] {background:#ffe7ac; border-color:#ffe7ac; color:#651d32;}
.lux-discovery-flow[data-stage=gender] .lux-flow-choice {min-height:76px;}
.lux-discovery-flow[data-stage=gender] .lux-flow-choice svg {width:26px;height:26px;}
.lux-discovery-flow[data-stage=location] .lux-flow-choices {grid-template-columns:1fr;gap:5px;}
.lux-discovery-flow[data-stage=location] .lux-flow-choice {min-height:32px;flex-direction:row;justify-content:flex-start;padding:5px 9px;}
.lux-flow-footer {display:flex;align-items:center;justify-content:space-between;margin-top:3px;}
.lux-discovery-flow .lux-prompt-more {line-height:1.4;padding:0; background:none; border:0; color:inherit; font-family:inherit; font-size:10px; text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.lux-flow-search {display:flex;gap:5px;margin-bottom:8px;}
.lux-flow-search input {min-width:0;width:100%;height:32px;border:1px solid #ffe7ac55;border-radius:7px;padding:5px 8px;font:inherit;font-size:11px;background:#ffffff0a;color:#fff9ed;}
.lux-flow-search input::placeholder {color:#e9cdd4;opacity:1;}
.lux-flow-submit {display:grid;place-items:center;flex:0 0 32px;padding:0;border:1px solid #ffe7ac80;border-radius:7px;background:#ffe7ac;color:#651d32;cursor:pointer;}
.lux-flow-submit svg {width:17px;height:17px;}
.lux-flow-status {grid-column:1/-1;}
.lux-discovery-flow :is(button,input):focus-visible {outline:2px solid #ffe7ac;outline-offset:2px;}
@media(max-width:760px) {
 .lux-discovery-flow {height:250px;border-radius:12px;padding:12px;}
 .lux-flow-progress {margin-bottom:8px;}
 .lux-prompt-category {font-size:9px;}
 .lux-discovery-flow h3 {font-size:16px;margin:7px 0 5px;}
 .lux-discovery-flow p {font-size:9px;}
 .lux-flow-choices {gap:5px;margin-bottom:7px;padding-top:6px;}
 .lux-discovery-flow .lux-flow-choice {line-height:1.25;min-height:39px;padding:4px 3px;gap:3px;font-size:9px;border-radius:7px;}
 .lux-flow-choice svg {width:14px;height:14px;}
 .lux-discovery-flow[data-stage=gender] .lux-flow-choice {min-height:60px;}
 .lux-discovery-flow[data-stage=gender] .lux-flow-choice svg {width:22px;height:22px;}
 .lux-discovery-flow[data-stage=location] .lux-flow-choice {min-height:26px;padding:4px 6px;}
 .lux-flow-search {margin-bottom:5px;}
 .lux-flow-search input {height:28px;font-size:10px;padding:4px 6px;}
 .lux-flow-submit {flex-basis:28px;}
 .lux-discovery-flow .lux-prompt-more {font-size:9px;}
}
@media(prefers-reduced-motion:reduce) {.lux-flow-choice,.lux-flow-progress span {transition:none;}}
.lux-results .lux-section-heading { margin-bottom: 28px; }
.lux-results .lux-section-heading h2 { font-size: clamp(24px, 2.2vw, 32px); font-weight: 500; }
.lux-results .lux-section-heading p { color: #756a63; line-height: 1.7; }
.lux-results .lux-count { color: #651d32; background: #f6efef; border-color: #e6d8da; }
.lux-result-link { display: block; position: relative; height: 330px; border: 1px solid #e6ddd0; border-radius: 16px; overflow: hidden; background: #292024; isolation: isolate; transition: border-color .25s, box-shadow .25s; }
.lux-result-link::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg,#0002,transparent 30%,#0003 50%,#000e 100%); }
.lux-result-image { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.lux-result-link:hover { border-color: #b79b66; box-shadow: 0 6px 22px #651d3212; }
.lux-result-link:hover .lux-result-image { transform: scale(1.04); }
.lux-result-placeholder { display: grid; place-items: center; height: 55%; padding: 24px; color: #e3d7c8; font-size: 11px; text-align: center; background: radial-gradient(ellipse at top,#684c53,#292024); }
.lux-result-badges { position: absolute; z-index: 1; inset: 12px 12px auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 5px; }
.lux-result-seal, .lux-result-rating { display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; border-radius: 7px; font-size: 10px; line-height: 16px; white-space: nowrap; }
.lux-result-seal { color: #ffe7ac; background: #651d32; border: 1px solid #c6a66c80; }
.lux-result-rating { color: #3b2a24; background: #fffdf5f5; font-weight: 600; }
.lux-result-rating small { font-size: 9px; font-weight: 400; }
.lux-result-seal svg, .lux-result-rating svg { width: 12px; height: 12px; }
.lux-result-rating svg { color: #93702d; fill: currentColor; }
.lux-result-details { position: absolute; z-index: 1; inset: auto 18px 20px; display: flex; flex-direction: column; gap: 7px; }
.lux-result-location { display: flex; align-items: center; gap: 5px; color: #f5e9da; font-size: 11px; line-height: 1.4; }
.lux-result-location svg { width: 12px; height: 12px; color: #ffe7ac; }
.lux-result-details .lux-salon-distance { color: #ffe7ac; font-size: 10px; }
.lux-result-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lux-result-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; color: white; font-size: 19px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
.lux-result-arrow { flex-shrink: 0; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #c6a66c80; border-radius: 50%; background: #651d32; color: #ffe7ac; }
.lux-result-arrow svg { width: 14px; height: 14px; }
@media(max-width:1023px) { .lux-results .lux-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; } }
@media(max-width:760px) {
    .lux-results .lux-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .lux-results .lux-section-heading { gap: 12px; margin-bottom: 20px; }
    .lux-results .lux-section-heading h2 { font-size: 24px; }
    .lux-result-link { height: 250px; border-radius: 12px; }
    .lux-result-badges { inset: 9px 8px auto; gap: 4px; }
    .lux-result-seal, .lux-result-rating { font-size: 9px; padding: 4px 5px; gap: 3px; }
    .lux-result-seal svg { display: none; }
    .lux-result-rating svg { width: 10px; height: 10px; }
    .lux-result-rating small { font-size: 8px; }
    .lux-result-details { inset: auto 11px 14px; gap: 6px; }
    .lux-result-name { font-size: 14px; }
    .lux-result-location { font-size: 10px; }
    .lux-result-title { gap: 5px; }
    .lux-result-arrow { width: 23px; height: 23px; }
    .lux-result-arrow svg { width: 12px; height: 12px; }
}
@media(prefers-reduced-motion:reduce) { .lux-result-link:hover .lux-result-image { transform: none; } }

.lux-result-details .lux-feature-review { margin-top: 2px; font-size: 10px; }

.lux-results .lux-section-heading > .lux-feature-locate { flex-shrink: 0; }
@media(max-width:760px) { .lux-results .lux-section-heading { flex-wrap: wrap; } }

.lux-results .lux-collection-heading { position: relative; align-items: center; padding-bottom: 26px; margin-bottom: 28px; border-bottom: 1px solid transparent; border-image-source: linear-gradient(90deg, transparent, #b9945780 50%, transparent); border-image-slice: 1; }
.lux-collection-eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; color: #87662f; font-size: 9px; font-weight: 600; letter-spacing: .2em; line-height: 1.6; }
.lux-collection-eyebrow > span { width: 6px; height: 6px; border: 1px solid #ae8950; transform: rotate(45deg); }
.lux-results .lux-collection-heading h2 { color: #651d32; font-size: clamp(28px, 3vw, 40px); font-weight: 500; line-height: 1.15; letter-spacing: -.045em; }
.lux-results .lux-collection-heading p { font-size: 12px; margin-top: 12px; color: #766b65; }
.lux-collection-heading > .lux-feature-locate { border: 1px solid #d9c6a6; border-radius: 24px; padding: 11px 16px; background: #fffdf9; transition: border-color .2s, background .2s; }
.lux-collection-heading > .lux-feature-locate:hover { border-color: #651d32; background: #f8f0f1; }
@media(max-width:760px) {
    .lux-results .lux-collection-heading { gap: 18px; padding-bottom: 22px; margin-bottom: 22px; }
    .lux-collection-eyebrow { font-size: 8px; margin-bottom: 10px; }
    .lux-results .lux-collection-heading h2 { font-size: 30px; }
    .lux-results .lux-collection-heading p { font-size: 11px; max-width: none; }
}

.lux-result-arrow { width: 18px; height: 18px; border: 0; border-radius: 0; background: transparent; }
.lux-result-arrow svg { width: 14px; height: 14px; }

.lux-feature-card .lux-feature-image img.lux-photo-crossfade, .lux-result-link img.lux-photo-crossfade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; z-index: 0; }

.lux-card-insights { display: flex; flex-direction: column; gap: 5px; margin-top: 5px; padding-top: 9px; border-top: 1px solid #ffe7ac40; color: #f5eee3; font-size: 11px; line-height: 1.5; min-width: 0; }
.lux-card-insights[hidden], .lux-card-insights [hidden] { display: none; }
.lux-card-service, .lux-card-slot { display: flex; align-items: center; gap: 6px; min-width: 0; }
.lux-card-service svg, .lux-card-slot svg { width: 13px; height: 13px; flex: 0 0 13px; color: #ffe7ac; }
.lux-card-service > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lux-card-artist { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.lux-card-artist > span { color: #e9dac5; flex-shrink: 0; }
.lux-card-artist > span::after { content: ' ·'; }
.lux-card-artist strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; color: #fff; }
.lux-card-slot { color: #ffe7ac; font-weight: 500; }
.lux-card-slot-copy { display: flex; flex-wrap: wrap; column-gap: 5px; }
.lux-card-slot-copy > span { white-space: nowrap; }
.lux-result-link.lux-has-insights::after, .lux-feature-card.lux-has-insights .lux-feature-image::after { background: linear-gradient(180deg,#0002,transparent 20%,#0008 48%,#000f 100%); }
.lux-has-insights .lux-result-name { -webkit-line-clamp: 2; }
.lux-feature-body .lux-card-insights { margin-top: 12px; }
@media(max-width:760px) {
    .lux-result-details .lux-card-insights { font-size: 10px; gap: 4px; padding-top: 7px; margin-top: 2px; }
    .lux-result-details .lux-card-artist { flex-wrap: wrap; gap: 0 4px; }
    .lux-result-details .lux-card-service svg, .lux-result-details .lux-card-slot svg { display: none; }
    .lux-result-details .lux-card-slot { line-height: 1.4; }
}

.lux-load-state { padding: 28px 16px 8px; min-height: 64px; text-align: center; color: #766b65; font-size: 12px; }
.lux-load-state .lux-button { margin: 16px auto 0; }
.lux-load-state [data-load-retry] { margin: 10px auto; background: none; border: 0; }
.lux-collection-heading > .lux-feature-locate { flex-shrink: 0; margin-left: auto; max-width: min(100%, 340px); }
@media(max-width:760px) { .lux-collection-heading > .lux-feature-locate { margin-left: 0; } }

.lux-location-dropdown { position: absolute; z-index: 35; top: calc(100% + 10px); left: 0; right: 0; background: #fff; border: 1px solid #e8e5e7; border-radius: 13px; box-shadow: 0 12px 35px #3516261a; overflow: hidden; }
.lux-location-dropdown .lux-suggestions { position: static; border: 0; border-radius: 0; box-shadow: none; max-height: 260px; }
.lux-location-dropdown .lux-suggestions li { align-items: flex-start; flex-direction: column; gap: 2px; }
.lux-location-dropdown .lux-suggestions li small { white-space: normal; }
.lux-google-attribution { padding: 8px 14px; border-top: 1px solid #eee; display: flex; justify-content: flex-end; }
.lux-google-attribution img { width: 120px; height: 14px; }
@media(max-width:760px) { .lux-location-dropdown { top: 100%; } .lux-location-dropdown .lux-suggestions { max-height: 200px; } }
@media(max-width:360px) {
    .lux-discovery-flow[data-stage=service] .lux-flow-choice { flex-direction:row; gap:3px; }
    .lux-discovery-flow[data-stage=service] .lux-flow-choice svg { width:12px; height:12px; }
    .lux-discovery-flow[data-stage=service] .lux-flow-choice span { min-width:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
}
