:root{--wdm-dark:#111827;--wdm-text:#1f2937;--wdm-muted:#6b7280;--wdm-line:#e5e7eb;--wdm-white:#fff;--wdm-wa:#16a34a;--wdm-font-family:inherit;--wdm-card-name-color:#fff;--wdm-card-role-color:#fff;--wdm-card-name-size:24px;--wdm-card-role-size:16px;--wdm-btn-profile-bg:#f97316;--wdm-btn-profile-color:#fff;--wdm-btn-profile-hover-bg:#0f3b82;--wdm-btn-profile-hover-color:#fff}
.wdm-page-wrap,.wdm-profile-wrap{width:min(1240px,calc(100% - 32px));margin:48px auto 72px;font-family:var(--wdm-font-family,inherit);color:var(--wdm-text)}
.wdm-hero{text-align:center;max-width:760px;margin:0 auto 36px}.wdm-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--wdm-muted);margin-bottom:10px}.wdm-hero h1,.wdm-profile-info h1{margin:0;color:var(--wdm-dark);line-height:1.08}.wdm-hero h1{font-size:clamp(30px,4vw,52px)}.wdm-hero p{font-size:17px;line-height:1.7;color:var(--wdm-muted);margin:14px auto 0}
.wdm-grid-front{display:grid;gap:22px}.wdm-grid-front.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.wdm-grid-front.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.wdm-grid-front.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.wdm-grid-front.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.wdm-card{position:relative;overflow:hidden;border-radius:18px;background:#0f172a;min-height:410px;isolation:isolate;box-shadow:0 14px 36px rgba(15,23,42,.12)}.wdm-card-main{display:block;position:absolute;inset:0;color:#fff;text-decoration:none}.wdm-card-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.wdm-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.05) 55%,rgba(0,0,0,.08))}
.wdm-card-base{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;z-index:2;transition:opacity .25s ease}.wdm-card-base h3,.wdm-overlay h3{margin:0;font-size:var(--wdm-card-name-size,24px);line-height:1.15;color:var(--wdm-card-name-color,#fff);font-family:var(--wdm-font-family,inherit)}.wdm-card-base p,.wdm-overlay p.wdm-role{margin:6px 0 0;font-size:var(--wdm-card-role-size,16px);color:var(--wdm-card-role-color,#fff);font-family:var(--wdm-font-family,inherit)}.wdm-badge{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.93);color:#111827;font-size:12px;font-weight:800;padding:7px 10px;border-radius:999px;z-index:4}
.wdm-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:22px;background:linear-gradient(to top,rgba(8,15,29,.92),rgba(8,15,29,.40) 58%,rgba(8,15,29,.08));color:#fff;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:3}.wdm-overlay-inner{width:100%;transform:translateY(10px);transition:transform .25s ease;display:flex;flex-direction:column;gap:10px}.wdm-short{font-size:14px;line-height:1.55;opacity:.9;margin:0}.wdm-number{font-size:14px;font-weight:700;margin:0}
.wdm-actions{display:grid;gap:10px;margin-top:8px;width:100%}.wdm-actions.has-wa{grid-template-columns:repeat(2,minmax(0,1fr))}.wdm-actions.only-profile{grid-template-columns:1fr}.wdm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border-radius:10px;text-decoration:none!important;font-weight:800;font-size:14px;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.wdm-btn-wa{background:var(--wdm-wa);color:#fff!important}.wdm-btn-wa:hover{background:#15803d;color:#fff!important;transform:translateY(-1px)}
.wdm-btn-profile{grid-column:1/-1;background:var(--wdm-btn-profile-bg);color:var(--wdm-btn-profile-color)!important;min-height:54px;border-radius:8px;text-transform:uppercase;letter-spacing:.06em;font-size:16px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.18)}.wdm-btn-profile:hover{background:var(--wdm-btn-profile-hover-bg);color:var(--wdm-btn-profile-hover-color)!important;transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.26)}
.wdm-mobile-toggle{display:none;position:absolute;right:12px;bottom:12px;z-index:5;border:0;border-radius:999px;padding:8px 12px;font-weight:800}
@media(hover:hover) and (pointer:fine){.wdm-card:hover .wdm-card-main img{transform:scale(1.045)}.wdm-card:hover .wdm-overlay{opacity:1;pointer-events:auto}.wdm-card:hover .wdm-overlay-inner{transform:translateY(0)}}
.wdm-card.is-open .wdm-overlay{opacity:1;pointer-events:auto}.wdm-card.is-open .wdm-overlay-inner{transform:translateY(0)}
.wdm-back{display:inline-block;margin-bottom:22px;color:var(--wdm-text);text-decoration:none;font-weight:700}.wdm-profile-card{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);gap:46px;align-items:center}.wdm-profile-photo{position:relative;border-radius:24px;overflow:hidden;background:#f3f4f6}.wdm-profile-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.wdm-profile-badge{position:absolute;left:18px;top:18px;background:#fff;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.wdm-profile-info h1{font-size:clamp(38px,5vw,64px)}.wdm-profile-role{font-size:21px;color:var(--wdm-muted);margin:10px 0}.wdm-profile-short{font-size:17px;line-height:1.75;color:#4b5563;max-width:700px}.wdm-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.wdm-tags span{background:#f3f4f6;border:1px solid var(--wdm-line);padding:8px 11px;border-radius:999px;font-size:13px;font-weight:700}.wdm-contact-list{display:grid;gap:0;border-top:1px solid var(--wdm-line);margin-top:14px}.wdm-contact-list>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--wdm-line)}.wdm-contact-list span{color:var(--wdm-muted)}.wdm-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.wdm-primary-action,.wdm-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:11px;font-weight:800;text-decoration:none!important}.wdm-primary-action{background:var(--wdm-wa);color:#fff!important}.wdm-secondary-action{background:#f3f4f6;color:#111827!important}.wdm-bio-section{max-width:900px;margin:54px auto 0;border-top:1px solid var(--wdm-line);padding-top:36px}.wdm-bio-section h2{font-size:30px;margin:0 0 14px}.wdm-bio-content{font-size:17px;line-height:1.8;color:#4b5563}
@media(max-width:1050px){.wdm-grid-front.cols-4,.wdm-grid-front.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.wdm-page-wrap,.wdm-profile-wrap{width:min(100% - 24px,1240px);margin-top:28px}.wdm-grid-front,.wdm-grid-front.cols-2,.wdm-grid-front.cols-3,.wdm-grid-front.cols-4,.wdm-grid-front.cols-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wdm-card{min-height:330px;border-radius:14px}.wdm-card-base{left:14px;right:14px;bottom:14px}.wdm-card-base h3,.wdm-overlay h3{font-size:calc(var(--wdm-card-name-size,24px) - 2px)}.wdm-card-base p,.wdm-overlay p.wdm-role{font-size:var(--wdm-card-role-size,16px)}.wdm-overlay{padding:16px}.wdm-short{display:none}.wdm-mobile-toggle{display:block}.wdm-profile-card{grid-template-columns:1fr;gap:26px}.wdm-profile-photo{max-width:520px}.wdm-contact-list>div{grid-template-columns:1fr;gap:3px}.wdm-profile-info h1{font-size:42px}}
@media(max-width:480px){.wdm-grid-front,.wdm-grid-front.cols-2,.wdm-grid-front.cols-3,.wdm-grid-front.cols-4,.wdm-grid-front.cols-5{grid-template-columns:1fr}.wdm-card{min-height:430px}.wdm-mobile-toggle{font-size:13px}.wdm-profile-info h1{font-size:36px}}

/* Appointment */
.wdm-appointment-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:10px;background:var(--wdm-btn-profile-bg);color:var(--wdm-btn-profile-color)!important;text-decoration:none!important;font-weight:800;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;box-shadow:0 10px 24px rgba(15,23,42,.12)}
.wdm-appointment-action:hover{background:var(--wdm-btn-profile-hover-bg);color:var(--wdm-btn-profile-hover-color)!important;transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.18)}
.wdm-booking-wrap{width:min(980px,calc(100% - 32px));margin:48px auto 72px;font-family:var(--wdm-font-family,inherit);color:var(--wdm-text)}
.wdm-booking-head{margin-bottom:24px}.wdm-booking-person{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:center}.wdm-booking-person img{width:110px;height:110px;object-fit:cover;border-radius:18px;display:block}.wdm-booking-person h1{margin:2px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1.08;color:var(--wdm-dark)}.wdm-booking-person p{margin:0;color:var(--wdm-muted);font-size:16px;line-height:1.65}
.wdm-booking-panel,.wdm-booking-success{background:#fff;border:1px solid var(--wdm-line);border-radius:18px;padding:28px;box-shadow:0 14px 36px rgba(15,23,42,.08)}
.wdm-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wdm-field-front{display:flex;flex-direction:column;gap:7px;min-width:0}.wdm-field-front>span{font-size:14px;font-weight:800;color:var(--wdm-dark)}.wdm-field-front input,.wdm-field-front select,.wdm-field-front textarea{width:100%;min-height:46px;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;background:#fff;color:#111827;font:inherit;box-sizing:border-box;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.wdm-field-front textarea{min-height:110px;resize:vertical}.wdm-field-front input:focus,.wdm-field-front select:focus,.wdm-field-front textarea:focus{border-color:#64748b;box-shadow:0 0 0 3px rgba(100,116,139,.14)}.wdm-field-front select:disabled{background:#f8fafc;color:#94a3b8}.wdm-span-full{grid-column:1/-1}
.wdm-slot-message{min-height:22px;margin:14px 0 4px;font-size:14px;color:#166534}.wdm-slot-message.is-error{color:#b91c1c}.wdm-booking-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:10px;border:0;border-radius:10px;background:var(--wdm-btn-profile-bg);color:var(--wdm-btn-profile-color);font:inherit;font-size:16px;font-weight:900;letter-spacing:.02em;cursor:pointer;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}.wdm-booking-submit:hover{background:var(--wdm-btn-profile-hover-bg);color:var(--wdm-btn-profile-hover-color);transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.16)}.wdm-booking-note{margin:12px 0 0;text-align:center;font-size:13px;line-height:1.5;color:var(--wdm-muted)}
.wdm-booking-errors{margin:0 0 18px;padding:16px 18px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#991b1b}.wdm-booking-errors ul{margin:8px 0 0 20px}.wdm-booking-success{text-align:center;padding:42px 28px}.wdm-success-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 18px;border-radius:999px;background:#dcfce7;color:#166534;font-size:34px;font-weight:900}.wdm-booking-success h2{margin:0 0 10px;font-size:30px}.wdm-booking-success p{max-width:650px;margin:8px auto;color:#4b5563;line-height:1.7}.wdm-booking-success .wdm-appointment-action{margin-top:18px}
@media(max-width:700px){.wdm-booking-wrap{width:min(100% - 24px,980px);margin-top:28px}.wdm-booking-person{grid-template-columns:76px minmax(0,1fr);gap:14px}.wdm-booking-person img{width:76px;height:76px;border-radius:14px}.wdm-booking-person h1{font-size:30px}.wdm-booking-person p{font-size:14px}.wdm-booking-panel,.wdm-booking-success{padding:18px;border-radius:14px}.wdm-booking-grid{grid-template-columns:1fr;gap:14px}.wdm-span-full{grid-column:auto}.wdm-field-front input,.wdm-field-front select,.wdm-field-front textarea{font-size:16px}}

/* v1.3 Rating + direct appointment flow */
.wdm-card-base{transition:opacity .22s ease,transform .22s ease}.wdm-rating-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}.wdm-rating-stars{display:inline-flex;gap:1px;font-size:18px;line-height:1}.wdm-rating-stars span{color:#cbd5e1}.wdm-rating-stars span.is-filled{color:#f59e0b}.wdm-rating-copy{font-size:13px;color:#64748b}.wdm-rating-summary-compact{margin-top:10px}.wdm-rating-summary-compact .wdm-rating-copy{color:rgba(255,255,255,.92)}.wdm-rating-summary-compact .wdm-rating-stars span{color:rgba(255,255,255,.38)}.wdm-rating-summary-compact .wdm-rating-stars span.is-filled{color:#fbbf24}.wdm-booking-role{font-weight:800;color:var(--wdm-dark)!important;margin:0 0 6px!important}.wdm-booking-head .wdm-rating-summary{margin:8px 0 10px}
@media(hover:hover) and (pointer:fine){.wdm-card:hover .wdm-card-base{opacity:0;transform:translateY(8px)}}
.wdm-card.is-open .wdm-card-base{opacity:0;transform:translateY(8px)}

.wdm-rating-panel{margin-top:28px;background:#fff;border:1px solid var(--wdm-line);border-radius:18px;padding:28px;box-shadow:0 14px 36px rgba(15,23,42,.08)}.wdm-rating-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.wdm-rating-panel h2{margin:2px 0 8px;font-size:28px;color:var(--wdm-dark)}.wdm-rating-panel-head p{margin:0;color:var(--wdm-muted);line-height:1.65;max-width:620px}.wdm-rating-big{min-width:150px;text-align:right}.wdm-rating-big>strong{display:block;font-size:42px;line-height:1;color:var(--wdm-dark)}.wdm-rating-big .wdm-rating-summary{justify-content:flex-end}.wdm-rating-gate{margin-top:20px;padding:16px 18px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#475569;line-height:1.6}.wdm-rating-gate a{font-weight:800}.wdm-rating-success{margin-top:18px;padding:14px 16px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534;font-weight:700}.wdm-rating-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--wdm-line)}.wdm-rating-form fieldset{border:0;padding:0;margin:0}.wdm-rating-form legend{font-weight:800;color:var(--wdm-dark);margin-bottom:10px}.wdm-star-picker{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.wdm-star-picker input{position:absolute;opacity:0;pointer-events:none}.wdm-star-picker label{font-size:42px;line-height:1;color:#cbd5e1;cursor:pointer;transition:color .15s ease,transform .15s ease}.wdm-star-picker label:hover,.wdm-star-picker label:hover~label,.wdm-star-picker input:checked~label{color:#f59e0b}.wdm-star-picker label:hover{transform:translateY(-2px)}.wdm-rating-form .wdm-booking-submit{max-width:320px}.wdm-rating-panel .wdm-booking-errors{margin-top:18px;margin-bottom:0}
@media(max-width:700px){.wdm-rating-panel{padding:18px;border-radius:14px}.wdm-rating-panel-head{flex-direction:column}.wdm-rating-big{text-align:left}.wdm-rating-big .wdm-rating-summary{justify-content:flex-start}.wdm-star-picker label{font-size:38px}.wdm-rating-form .wdm-booking-submit{max-width:none}}

/* v1.4 login-only voting + comment/emoji composer */
.wdm-your-review{margin-top:22px;padding:18px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}.wdm-your-review-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.wdm-your-review-title strong{color:var(--wdm-dark);font-size:16px}.wdm-your-review-title span{color:#64748b;font-size:13px}.wdm-your-stars{margin-top:10px}.wdm-your-comment{margin-top:12px;padding:13px 15px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;color:#334155;line-height:1.65;white-space:normal}
.wdm-review-composer{position:relative;margin:18px 0 16px}.wdm-review-composer>label{display:block;margin-bottom:8px;font-weight:800;color:var(--wdm-dark)}.wdm-review-composer>label span{font-weight:500;color:#94a3b8}.wdm-review-composer textarea{display:block;width:100%;min-height:118px;resize:vertical;padding:14px 14px 44px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;color:#0f172a;font:inherit;line-height:1.55;box-sizing:border-box;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.wdm-review-composer textarea:focus{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.wdm-review-toolbar{position:absolute;left:10px;right:10px;bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.wdm-review-toolbar>*{pointer-events:auto}.wdm-emoji-toggle{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:0;border-radius:999px;background:#eef2f7;color:#334155;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background .18s ease,transform .18s ease}.wdm-emoji-toggle:hover{background:#dcfce7;transform:translateY(-1px)}.wdm-review-counter{font-size:12px;color:#94a3b8;padding-right:4px}
.wdm-emoji-panel{position:absolute;left:0;bottom:48px;z-index:20;width:min(420px,100%);max-height:330px;overflow:auto;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.18)}.wdm-emoji-panel[hidden]{display:none!important}.wdm-emoji-group+.wdm-emoji-group{margin-top:14px}.wdm-emoji-group-title{display:block;margin:0 0 7px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.wdm-emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.wdm-emoji{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:0;border-radius:9px;background:transparent;font-size:23px;cursor:pointer;transition:background .12s ease,transform .12s ease}.wdm-emoji:hover,.wdm-emoji:focus-visible{background:#f1f5f9;transform:scale(1.08);outline:none}.wdm-rating-once-note{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.55}
.wdm-review-list-wrap{margin-top:30px;padding-top:26px;border-top:1px solid var(--wdm-line)}.wdm-review-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.wdm-review-list-head h3{margin:3px 0 0;font-size:23px;color:var(--wdm-dark)}.wdm-review-list-head>span{font-size:12px;color:#94a3b8}.wdm-review-list{display:grid;gap:14px}.wdm-review-bubble{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:flex-start}.wdm-review-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:13px;font-weight:900;letter-spacing:.03em}.wdm-review-body{min-width:0}.wdm-review-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 5px;padding-left:4px}.wdm-review-meta strong{font-size:13px;color:#1e293b}.wdm-review-meta time{font-size:11px;color:#94a3b8}.wdm-review-stars{display:inline-flex;gap:1px;font-size:13px;line-height:1}.wdm-review-stars span{color:#cbd5e1}.wdm-review-stars span.is-filled{color:#f59e0b}.wdm-review-message{position:relative;display:inline-block;max-width:min(760px,100%);padding:11px 14px;border-radius:7px 14px 14px 14px;background:#eefbf2;border:1px solid #d7f3df;color:#334155;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.wdm-review-message:before{content:"";position:absolute;left:-6px;top:0;border-top:7px solid #d7f3df;border-left:7px solid transparent}.wdm-review-message:after{content:"";position:absolute;left:-4px;top:1px;border-top:6px solid #eefbf2;border-left:6px solid transparent}
@media(max-width:600px){.wdm-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.wdm-emoji-panel{bottom:46px;max-height:280px}.wdm-review-list-head{align-items:flex-start;flex-direction:column;gap:4px}.wdm-review-bubble{grid-template-columns:36px minmax(0,1fr);gap:8px}.wdm-review-avatar{width:36px;height:36px;font-size:11px}.wdm-review-message{font-size:13px}.wdm-your-review-title{display:block}.wdm-your-review-title span{display:block;margin-top:3px}}
