/* Yudi Luxury Reviews: isolated section. Never overrides existing service cards / gallery / gold animations. */
.yudi-customer-reviews{background:radial-gradient(ellipse at 6% 10%,#f2ddb748 0,transparent 40%),radial-gradient(ellipse at 92% 90%,#d8b07026 0,transparent 38%),#fffaf1;overflow:hidden;position:relative;border-top:1px solid #e9ddc8;isolation:isolate}
.yudi-customer-reviews:before{content:'✧';position:absolute;right:7%;top:8px;color:#c49b5624;font:190px Georgia,serif;pointer-events:none;z-index:-1}
.yudi-review-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1440px;margin:0 auto 42px}
.yudi-review-heading-copy{max-width:800px}.yudi-review-heading .eyebrow{color:#ad7d31}
.yudi-review-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(41px,5vw,76px);line-height:1.08;letter-spacing:-.04em;margin:0 0 16px;color:#493218}
.yudi-review-heading h2 i{color:#aa7b33;font-weight:400;text-shadow:0 0 20px #d0ab6857}
.yudi-review-heading p{font-size:14px;color:#74644f;max-width:610px;margin:0;line-height:1.8}
.yudi-review-cta-button,.yudi-review-submit{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:22px;background:linear-gradient(125deg,#80551e,#bc9552 45%,#6f4a1c);color:#fffaf0;border:1px solid #e3c88c;box-shadow:0 8px 22px #6b491b40,inset 0 1px 1px #ffffff7d;border-radius:10px;padding:18px 25px;font-weight:750;white-space:nowrap;cursor:pointer;transition:transform .3s,box-shadow .3s}
.yudi-review-cta-button:before,.yudi-review-submit:before{content:'';position:absolute;inset:0;z-index:-1;transform:translateX(-130%) skewX(-22deg);background:linear-gradient(100deg,transparent 26%,#fff6d85c 52%,transparent 72%);animation:yudiButtonSweep 4.8s infinite ease-in-out}
.yudi-review-cta-button:hover,.yudi-review-submit:hover{transform:translateY(-4px);box-shadow:0 14px 34px #8d6a3373}
.yudi-review-cta-star{font-size:25px;color:#ffe2a2;text-shadow:0 0 14px #fff0b7;animation:yudiGoldStarPulse 2.4s ease-in-out infinite}
.yudi-review-viewport{position:relative;overflow:hidden;min-height:310px;max-width:calc(100vw - 30px);margin-left:calc(-1 * min(2vw,15px));padding:17px 0 35px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.yudi-review-track{display:flex;width:max-content;will-change:transform;animation:yudiReviewTicker var(--yudi-review-duration,55s) linear infinite}
.yudi-review-viewport:hover .yudi-review-track,.yudi-review-viewport:focus-within .yudi-review-track{animation-play-state:paused}
.yudi-review-group{display:flex;flex:0 0 auto;gap:21px;padding-right:21px;align-items:stretch}
.yudi-review-card{flex:0 0 auto;position:relative;width:clamp(260px,29vw,365px);min-height:253px;padding:31px 29px 24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#fffefb 5%,#fff8e9 65%,#f7e9cf);border:1px solid #dac18c;border-radius:19px;box-shadow:0 10px 20px #74502310,inset 0 0 0 3px #fff9ec;overflow:hidden;transform:translateZ(0);animation:yudiReviewFloat 5.7s ease-in-out infinite alternate}
.yudi-review-card:nth-child(even){animation-delay:-2.8s}
.yudi-review-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(114deg,transparent 28%,#ffffff78 51%,transparent 68%);transform:translateX(-145%);animation:yudiCardShine 8s ease-in-out infinite}
.yudi-review-card:hover{border-color:#b58c45;box-shadow:0 17px 37px #7b54282b,0 0 25px #e8c0764d}
.yudi-review-stars{display:flex;align-items:center;gap:7px;margin-bottom:18px;min-height:29px}
.yudi-review-star{display:inline-block;font-size:24px;line-height:1;background:linear-gradient(110deg,#8b5d20,#ffe6a5 35%,#b78428 65%,#fff0be);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 3px #dbb15c7a);animation:yudiStarDance 2.6s ease-in-out infinite,yudiStarLight 3.7s linear infinite}
.yudi-review-star:nth-child(2){animation-delay:.15s,-.6s}.yudi-review-star:nth-child(3){animation-delay:.3s,-1.2s}.yudi-review-star:nth-child(4){animation-delay:.45s,-1.8s}.yudi-review-star:nth-child(5){animation-delay:.6s,-2.4s}
.yudi-review-star.off{opacity:.25;animation:none;color:#b6a283;-webkit-text-fill-color:#b6a283}
.yudi-review-comment{animation:yudiQuoteSoftGlow 6.5s ease-in-out infinite;color:#5c4833;font-size:14px;font-weight:500;line-height:1.75;max-height:145px;overflow:hidden;overflow-wrap:anywhere;margin:0 0 26px;white-space:pre-wrap;text-wrap:pretty}
.yudi-review-author{display:flex;align-items:center;gap:13px;padding-top:17px;border-top:1px solid #e5d2af}
.yudi-review-avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,#a57d3d,#e8cf97);color:#fffdf5;font-weight:800;box-shadow:0 0 0 3px #fff7e8,0 0 0 4px #c7a46f}
.yudi-review-person{font-size:14px;font-weight:800;letter-spacing:.01em;background:linear-gradient(100deg,#5d411d,#ca9a44,#755022,#f5d58f,#5d411d);background-size:250% auto;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:yudiNameGlow 5s linear infinite;overflow-wrap:anywhere;line-height:1.4}
.yudi-review-verified{display:block;color:#967644;font-size:10px;margin-top:2px;letter-spacing:.045em}
.yudi-review-footer{font-size:11px;letter-spacing:.02em;text-align:center;color:#8c785c;margin:6px auto 0}
.yudi-review-empty[hidden]{display:none!important}
.yudi-review-empty{max-width:650px;margin:16px auto;text-align:center;padding:42px 20px;background:linear-gradient(145deg,#fffdf9,#f7e8c8);border:1px solid #ead8b9;border-radius:20px}
.yudi-review-empty-star{font-size:50px;color:#ad7d38;text-shadow:0 0 25px #e6bf65;animation:yudiGoldStarPulse 2.6s infinite ease-in-out}
.yudi-review-empty h3{font-size:29px;margin:8px 0;color:#6c4d29}.yudi-review-empty p{font-size:13px;color:#887253}
.yudi-review-status{color:#7a5631;text-align:center;font-size:13px;margin:0}
.yudi-review-dialog{width:min(94vw,540px);max-height:min(88dvh,760px);overflow:auto;border:1px solid #d9b375;border-radius:22px;padding:30px clamp(22px,5vw,38px);box-shadow:0 30px 90px #24170dbb,0 0 0 8px #ffffff21;background:linear-gradient(145deg,#fffefa,#fff5e4);color:#4d3720}
.yudi-review-dialog::backdrop{background:#21170ccc;backdrop-filter:blur(5px)}.yudi-review-dialog h2{font-size:clamp(31px,4vw,48px);margin:0 0 8px}.yudi-review-dialog>p{color:#887155;font-size:13px;margin-bottom:19px}.yudi-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.yudi-dialog-top .eyebrow{margin:0}.yudi-dialog-close{font-size:30px;line-height:1;background:transparent;border:0;color:#6c5030;padding:6px 13px;border-radius:50%}.yudi-dialog-close:hover{background:#f3e4c5}
.yudi-review-label{display:block;font-size:12px;font-weight:800;color:#785630;margin:18px 0 7px}
.yudi-review-dialog input:not([type=checkbox]):not([type=hidden]),.yudi-review-dialog textarea{display:block;width:100%;border:1px solid #e3cda4;border-radius:11px;background:#fff;color:#3d3020;padding:13px 14px;outline-color:#b98536;resize:vertical}
.yudi-rating-input{display:flex;gap:4px;align-items:center;margin:5px 0 8px}.yudi-rating-input button{font-size:35px;color:#c7b7a0;border:0;background:transparent;padding:3px 6px;text-shadow:none;transition:transform .2s,color .2s,text-shadow .2s}
.yudi-rating-input button.selected{color:#c99838;text-shadow:0 0 12px #e5bc68,0 2px 4px #7f542747;animation:yudiStarDance 2.5s infinite ease-in-out}
.yudi-rating-input button:hover,.yudi-rating-input button:focus-visible{transform:scale(1.2);color:#b9872d}
.yudi-review-consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.6;color:#745e42;margin:19px 0;cursor:pointer}.yudi-review-consent input{margin-top:3px;accent-color:#a97a2d;flex-shrink:0}
.yudi-review-form-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center}.yudi-review-secondary{border:1px solid #d7c29e;border-radius:10px;padding:14px 20px;background:#fff8ed;color:#6a4b25;font-weight:700;cursor:pointer}.yudi-review-submit{padding:14px 19px;min-height:51px}
.yudi-review-form-status{margin:12px 0 0;font-size:12px;color:#775626;min-height:0}.yudi-review-form-status.error{color:#ad3f34}.yudi-review-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(100%)!important;white-space:nowrap!important;left:-9999px!important}
.yudi-review-submit:focus-visible,.yudi-review-cta-button:focus-visible,.yudi-dialog-close:focus-visible,.yudi-review-secondary:focus-visible{outline:3px solid #9b702e;outline-offset:3px}
@keyframes yudiReviewTicker{to{transform:translateX(-50%)}}
@keyframes yudiQuoteSoftGlow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 13px #d7b16a67}}
@keyframes yudiStarDance{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-5px) rotate(-10deg)}65%{transform:translateY(2px) rotate(9deg)}}
@keyframes yudiStarLight{to{background-position:-230% center}}
@keyframes yudiNameGlow{to{background-position:-250% center}}
@keyframes yudiCardShine{0%,30%{transform:translateX(-145%)}50%,100%{transform:translateX(145%)}}
@keyframes yudiButtonSweep{0%,40%{transform:translateX(-140%) skewX(-22deg)}65%,100%{transform:translateX(140%) skewX(-22deg)}}
@keyframes yudiReviewFloat{from{translate:0 0}to{translate:0 -5px}}
@keyframes yudiGoldStarPulse{50%{transform:scale(1.15);filter:brightness(1.3)}}
@media(max-width:820px){.yudi-review-heading{align-items:flex-start;flex-direction:column}.yudi-review-cta-button{min-width:230px}.yudi-review-card{width:min(78vw,340px)}.yudi-review-viewport{max-width:100vw;min-height:300px}.yudi-review-card{padding:27px 23px}}
@media(max-width:560px){.yudi-review-heading{margin-bottom:22px}.yudi-review-heading h2{font-size:46px}.yudi-review-heading p{font-size:13px}.yudi-review-cta-button{width:100%;justify-content:space-between}.yudi-review-dialog{padding:23px 18px;border-radius:17px}.yudi-review-form-actions{flex-direction:column-reverse}.yudi-review-form-actions button{width:100%}.yudi-review-card{width:81vw;max-width:330px}}
@media(prefers-reduced-motion:reduce){.yudi-review-track,.yudi-review-star,.yudi-review-person,.yudi-review-comment,.yudi-review-card,.yudi-review-card:after,.yudi-review-cta-button:before,.yudi-review-cta-star,.yudi-review-empty-star,.yudi-rating-input button.selected{animation:none!important;transform:none!important}.yudi-review-viewport{overflow-x:auto;scroll-snap-type:x mandatory;mask-image:none}.yudi-review-card{scroll-snap-align:start}}

/* Never disguise seeded demo cards as actual customer feedback. */
.yudi-review-demo{border-style:dashed;border-color:#cfa45b;background:linear-gradient(145deg,#fffefa,#f7e5bf)}
.yudi-review-demo .yudi-review-verified{display:inline-block;max-width:100%;font-weight:800;color:#62461b;background:#f2dfbb;border:1px solid #d1a964;border-radius:5px;padding:5px 7px;letter-spacing:0;font-size:10px;line-height:1.5}
