/* Luxe reviews preserve the shared ratings, review data and submission flow. */
.lux-profile #salon-reviews { border-image: linear-gradient(90deg,transparent,#b9945780,transparent) 1; padding-top: 42px; }
.lux-profile .lux-reviews-layout { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0,1.3fr); gap: 20px 40px; align-items: start; }
.lux-profile .lux-reviews-layout > * { margin: 0!important; }
.lux-profile .lux-reviews-summary { grid-column: 1; grid-row: 1; padding: 30px; border: 1px solid #b9945766; border-radius: 18px; background: linear-gradient(145deg,#651d32,#361922); color: #fff7ee; }
.lux-profile .lux-reviews-summary > div:first-child { text-align: center; justify-content: center; }
.lux-profile .lux-reviews-summary > div:first-child .flex { justify-content: center; }
.lux-profile .lux-reviews-summary > div:first-child p { color: #e8c98d; font-size: 10px; letter-spacing: .16em; margin-bottom: 14px; }
.lux-profile .lux-reviews-summary .text-3xl { font-size: 58px; line-height: 1; font-weight: 500; color: #ffe7ac; letter-spacing: -.05em; }
.lux-profile .lux-reviews-summary .text-gray-500 { color: #e4cbd2!important; }
.lux-profile .lux-reviews-summary .text-amber-400 { color: #e8c98d; }
.lux-profile .lux-reviews-summary .text-gray-200 { color: #ffffff30; }
.lux-profile .lux-reviews-summary > .border-t { border-color: #e8c98d33; padding-top: 26px; margin-top: 26px; gap: 20px; }
.lux-profile .lux-reviews-summary .text-gray-800 { color: #f3e7e9; font-size: 11px; font-weight: 400; }
.lux-profile .lux-reviews-summary .text-primary { color: #ffe7ac; font-size: 12px; }
.lux-profile .lux-reviews-summary .text-gray-400 { color: #d7b9c3; font-size: 10px; }
.lux-profile .lux-reviews-summary [role=group] > div { height: 4px; background: #ffffff18; box-shadow: none; --tw-ring-shadow: 0 0 #0000; }
.lux-profile .lux-reviews-summary [role=group] .bg-primary { background: linear-gradient(90deg,#b99457,#ffe7ac); }
.lux-profile .lux-reviews-action { grid-column: 1; grid-row: 2; }
.lux-profile #write-review { width: 100%; justify-content: center; padding: 13px 20px; border-radius: 10px!important; font-size: 12px; }
.lux-profile .lux-reviews-feed { grid-column: 2; grid-row: 1 / 4; min-width: 0; }
.lux-profile .lux-reviews-feed-heading { margin-bottom: 20px; }
.lux-profile .lux-reviews-feed-heading .h-px { background: linear-gradient(90deg,transparent,#b9945770,transparent); }
.lux-profile .lux-reviews-feed-heading :is(h2,h3) { font-size: 17px; font-weight: 500; }
.lux-profile #reviews-list { display: grid; gap: 14px; }
.lux-profile #reviews-list > :is(article,div) { margin: 0; border: 1px solid #e7ddcf; border-radius: 14px; padding: 24px; background: #fffdf9; box-shadow: none; transition: border-color .25s ease, background .25s ease; }
.lux-profile #reviews-list > :is(article,div):hover { border-color: #b99457; background: #fffaf1; }
.lux-profile #reviews-list .fa-star { font-size: 11px; }
.lux-profile #reviews-list .fa-star.text-amber-400 { color: #a77b2f; }
.lux-profile #reviews-list .text-base { font-size: 15px; font-weight: 500; color: #651d32; }
.lux-profile #reviews-list .text-gray-600 { color: #655b58; font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.lux-profile #reviews-list .text-gray-500 { color: #8c7d75; font-size: 10px; }
.lux-profile #load-more-reviews-btn { background: #651d32; border-color: #b99457; color: #ffe7ac; border-radius: 9px; font-size: 12px; }
.lux-profile #load-more-reviews-btn i { color: inherit; }
@media(max-width:760px) {
 .lux-profile .lux-reviews-layout { display: flex; flex-direction: column; gap: 18px; }
 .lux-profile .lux-reviews-layout > * { width: 100%; }
 .lux-profile .lux-reviews-summary { padding: 26px 22px; }
 .lux-profile .lux-reviews-feed { padding-top: 12px; }
 .lux-profile #reviews-list > :is(article,div) { padding: 20px; }
}
.lux-profile #salon-reviews .lux-reviews-summary .text-primary { color: #ffe7ac; }
.lux-profile #salon-reviews .lux-reviews-summary > div:first-child .mt-2 p { color: #e4cbd2!important; letter-spacing: 0; font-size: 11px; margin: 0; }
.lux-profile #salon-reviews .lux-reviews-summary > .border-t { border-image: linear-gradient(90deg,transparent,#e8c98d66,transparent) 1; }

.lux-profile #salon-reviews .lux-reviews-summary .text-gray-800 {
    color: #ffe7ac;
    font-weight: 600;
}

.lux-profile .lux-review-invitation { align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 48px 32px; border: 1px solid #e5dacb; border-radius: 18px; background: radial-gradient(ellipse at top,#f6eddf,#fffdf9 70%); }
.lux-review-invitation-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 24px; border: 1px solid #c6a66c66; border-radius: 50%; color: #a77b2f; }
.lux-profile .lux-review-invitation h2 { font-size: 26px; line-height: 1.3; }
.lux-profile .lux-review-invitation p { max-width: 350px; margin: 16px 0 26px; font-size: 13px; line-height: 1.85; color: #77685f; }
.lux-profile .lux-review-invitation .lux-button { gap: 12px; font-size: 12px; border-radius: 9px; }
@media(max-width:760px) { .lux-profile .lux-review-invitation { padding: 32px 22px; } .lux-profile .lux-review-invitation h2 { font-size: 22px; } }

.lux-profile .lux-reviews-summary .lux-reviews-action { margin-top: 28px; }
.lux-profile #salon-reviews .lux-reviews-summary #write-review {
    min-height: 44px;
    padding: 12px 20px;
    background: #ffe7ac;
    color: #651d32;
    border: 1px solid #e8c98d;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    border-radius: 9px!important;
}
.lux-profile #salon-reviews .lux-reviews-summary #write-review:hover { background: #f5d990; }
.lux-profile #salon-reviews .lux-reviews-summary #write-review { color: #651d32!important; }

/* Review form: presentation only, retaining all shared controls and content. */
.lux-profile #review-form { background: transparent; padding: 0; border-radius: 0; }
.lux-profile #review-form > .container { max-width: 800px; padding-inline: 0; }
.lux-profile #review-form > .container > div { background: #fffdf9; border: 1px solid #d9c6a6; border-radius: 18px; box-shadow: 0 12px 40px #39132108; --tw-ring-shadow: 0 0 #0000; }
.lux-profile #review-form > .container > div > div:first-child { padding: 30px; background: linear-gradient(130deg,#651d32,#361922); border-bottom-color: #d9b67a55; }
.lux-profile #review-form > .container > div > div:first-child h2 { color: #ffe7ac; font-size: clamp(22px,2.2vw,28px); font-weight: 500; line-height: 1.35; }
.lux-profile #review-form > .container > div > div:first-child p:first-child { color: #e8c98d; font-size: 10px; letter-spacing: .14em; }
.lux-profile #review-form > .container > div > div:first-child p:last-child { color: #ecdce1; font-size: 13px; line-height: 1.8; margin-top: 14px; }
.lux-profile #review-form > .container > div > div:first-child .h-px { background: linear-gradient(90deg,#e8c98d88,transparent); margin-top: 14px; }
.lux-profile #review-form > .container > div > div:first-child .blur-\[2px\] { display: none; }
.lux-profile #review-form > .container > div > div:first-child .ring-2 { border-color: #d9b67a88; --tw-ring-color: #d9b67a33; box-shadow: none; border-radius: 12px; }
.lux-profile #review-form > .container > div > div:last-child { padding: 30px; }
.lux-profile #review-form form h3 { color: #651d32; font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
.lux-profile #review-form form .text-gray-500 { color: #81716c; line-height: 1.7; }
.lux-profile #review-form form .text-gray-800 { color: #56343e; font-size: 12px; font-weight: 500; }
.lux-profile #review-form input:not([type=radio]):not([type=hidden]), .lux-profile #review-form textarea { border-radius: 9px; color: #292024; font-size: 14px; box-shadow: none; }
.lux-profile #review-form input:not([type=radio]):not([type=hidden]) { min-height: 46px; border-color: #dfd3c5; background: white; }
.lux-profile #review-form :is(input,textarea)::placeholder { color: #9b8e89; }
.lux-profile #review-form :is(input:not([type=radio]),textarea):focus { outline: 2px solid #b99457; outline-offset: 2px; --tw-ring-shadow: 0 0 #0000; }
.lux-profile #review-form form .rounded-2xl { border-radius: 12px; border-color: #e5dacb; box-shadow: none; --tw-ring-shadow: 0 0 #0000; background: #fff; }
.lux-profile #review-form form .rounded-2xl:focus-within { border-color: #b99457; }
.lux-profile #review-form form span.text-primary { background: #f6edef; color: #651d32; --tw-ring-shadow: 0 0 #0000; border-radius: 9px; }
.lux-profile #review-form .rating .star { color: #a77b2f; }
.lux-profile #review-form .rating input:focus-visible + .star { outline: 2px solid #651d32; outline-offset: 3px; border-radius: 4px; }
.lux-profile #review-form form > .border-t { border-color: transparent; border-image: linear-gradient(90deg,transparent,#b9945780,transparent) 1; }
.lux-profile #review-form button[type=submit] { min-height: 46px; background: #651d32; color: #ffe7ac; border: 1px solid #b99457; border-radius: 9px; font-size: 12px; font-weight: 600; padding: 13px 24px; box-shadow: none; }
.lux-profile #review-form button[type=submit]:hover { background: #4b1424; }
@media(max-width:760px) {
 .lux-profile #review-form > .container > div > div:first-child, .lux-profile #review-form > .container > div > div:last-child { padding: 24px 18px; }
 .lux-profile #review-form input:not([type=radio]):not([type=hidden]), .lux-profile #review-form textarea { font-size: 16px; }
}

.lux-review-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.lux-review-excerpt.is-expanded { display: block; -webkit-line-clamp: unset; }
.lux-profile #reviews-list .lux-review-expand { display: inline-flex; align-items: center; min-height: 36px; margin-top: 4px; padding: 4px 0; background: none; border: 0; color: #651d32; font-size: 12px; font-weight: 600; cursor: pointer; }
.lux-profile #reviews-list .lux-review-expand:hover { text-decoration: underline; text-underline-offset: 4px; }

.lux-profile #salon-reviews .lux-overall-stars-row { display: flex; align-items: center; justify-content: center; gap: 12px; }
.lux-profile #salon-reviews .lux-overall-stars-row > div { display: flex; align-items: center; gap: 3px; line-height: 1; }
.lux-profile #salon-reviews .lux-overall-stars-row .fa-star { display: block; font-size: 16px; line-height: 20px; }
.lux-profile #salon-reviews .lux-reviews-summary .lux-overall-stars-row > p { margin: 0; line-height: 20px; font-size: 12px; letter-spacing: 0; white-space: nowrap; }

.lux-profile .lux-reviews-feed-heading { justify-content: flex-start; text-align: left; }
.lux-profile .lux-reviews-feed-heading > .h-px { display: none; }

.lux-profile #salon-reviews .profile-review-highlights { border-color: #e8c98d33; }
.lux-profile #salon-reviews .profile-review-highlights > p { color: #ffe7ac; font-size: 14px; font-weight: 600; line-height: 1.5; margin-bottom: 14px; }
.lux-profile #salon-reviews .profile-review-highlights span { color: #ffe7ac; border-color: #e8c98d55; background: #ffe7ac0a; font-size: 12px; line-height: 1.5; }
