.dp-main .dp-review-open { display:inline-flex; align-items:center; gap:9px; margin-top:17px; padding:11px 18px; border:1px solid #cbdcd0; border-radius:12px; background:#fff; color:#285c44; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.dp-main .dp-review-open:hover { background:#eaf3ed; border-color:#73a98a; }
.dp-main .dp-review-preview-note { margin:12px 0 0; color:#795c20; font-size:13px; }
.dp-review-dialog { box-sizing:border-box; width:min(480px,calc(100% - 24px)); max-width:calc(100% - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:24px; overflow-y:auto; scrollbar-width:none; border:1px solid #e1e9df; border-radius:22px; background:linear-gradient(145deg,#f9fcf7 0,#fff 160px); color:#213e32; box-shadow:0 24px 90px #133e3933; font-family:inherit; text-align:start; }
.dp-review-dialog::-webkit-scrollbar { display:none; width:0; height:0; }
.dp-review-dialog::backdrop { background:#173e375c; backdrop-filter:blur(7px); }
.dp-review-dialog [hidden] { display:none !important; }
.dp-review-dialog *, .dp-review-dialog *::before, .dp-review-dialog *::after { box-sizing:border-box; }
.dp-review-dialog button, .dp-review-dialog input, .dp-review-dialog textarea { font:inherit; }
.dp-review-dialog button { cursor:pointer; }
.dp-review-close { position:absolute; inset-inline-end:14px; top:12px; display:grid; place-items:center; width:32px; height:32px; border:1px solid #e3eae4; border-radius:50%; background:#ffffffc9; color:#537363; font-size:22px !important; line-height:1; }
.dp-review-eyebrow { display:block; margin-inline-end:32px; color:#9a7a32; font-size:11px; font-weight:600; }
.dp-review-dialog h2 { margin:4px 0 5px; font-size:22px; font-weight:700; line-height:1.5; }
.dp-review-dialog p { color:#728378; line-height:1.7; font-size:12px; margin:0 0 12px; }
.dp-review-dialog form { display:grid; gap:10px; }
.dp-review-dialog label, .dp-review-dialog legend { font-size:12px; font-weight:600; }
.dp-review-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.dp-review-row label { min-width:0; display:flex; flex-direction:column; justify-content:flex-end; }
.dp-main .dp-review-dialog input[type=text], .dp-main .dp-review-dialog textarea { display:block; width:100%; margin-top:5px; padding:8px 10px; border:1px solid #dce6dd; border-radius:9px; background:#fff; color:#213e32; font-size:14px; line-height:1.5; box-shadow:none; }
.dp-main .dp-review-dialog input[type=text] { height:40px; min-height:40px; }
.dp-main .dp-review-dialog textarea { resize:none; height:80px; min-height:80px; }
.dp-review-dialog textarea::placeholder { color:#8b998f; font-size:11px; }
.dp-review-dialog :focus-visible, .dp-review-open:focus-visible { outline:2px solid #3d8b66; outline-offset:3px; }
.dp-review-rating { margin:0; padding:0; border:0; }
.dp-review-rating-line { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:3px 10px; border:1px solid #eaf0e5; border-radius:12px; background:#f6f9f2; }
.dp-review-rating-line>span { font-size:12px; font-weight:600; color:#58735d; }
.dp-review-stars { display:flex; gap:2px; }
.dp-review-stars label { position:relative; display:grid; place-items:center; width:36px; height:36px; cursor:pointer; }
.dp-main .dp-review-stars input[type=radio] { position:absolute; inset:0; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.dp-review-stars span { font:27px/1 Arial,sans-serif; color:#dce3dc; transition:color .15s; }
.dp-review-stars label.is-selected span { color:#c49a3e; }
.dp-review-stars input:focus-visible+span { outline:2px solid #3d8b66; outline-offset:4px; border-radius:4px; }
.dp-review-upload { display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid #e4ece1; border-radius:12px; background:#fbfcf9; }
.dp-review-upload label { flex:1; min-width:0; display:flex; align-items:center; gap:8px; justify-content:space-between; }
.dp-review-upload-copy { min-width:0; font-size:11px; }
.dp-review-upload small { display:block; margin:3px 0 0; font-size:9px; font-weight:400; color:#758779; line-height:1.6; }
.dp-review-file-picker { position:relative; flex-shrink:0; display:inline-flex; max-width:100px; padding:7px 9px; border:1px solid #d8e5d7; border-radius:8px; background:#fff; color:#3d7857; font-size:11px; }
.dp-review-file-picker>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dp-review-file-picker:focus-within { outline:2px solid #3d8b66; outline-offset:2px; }
.dp-review-file-picker input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.dp-review-photo { position:relative; flex:0 0 38px; height:38px; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:#eaf1e5; color:#6b926f; }
.dp-review-photo img { position:absolute; width:100%; height:100%; object-fit:cover; }
.dp-review-remove { flex:0 0 24px; height:24px; border:0; border-radius:50%; background:#fff; color:#946d56; }
.dp-review-consent { display:flex; gap:8px; align-items:flex-start; font-weight:400 !important; font-size:10.5px !important; color:#657e6f; line-height:1.7; }
.dp-main .dp-review-consent input[type=checkbox] { appearance:auto; flex:0 0 17px; width:17px; height:17px; min-height:17px; max-height:17px; padding:0; margin:3px 0 0; border-radius:3px; accent-color:#348465; }
.dp-review-submit { width:100%; min-height:42px; padding:9px 16px; border:0; border-radius:10px; background:#286a4f; color:#fff; font-size:14px !important; font-weight:600 !important; }
.dp-review-submit:hover { background:#20563f; }
.dp-review-submit:disabled { opacity:.6; cursor:wait; }
.dp-review-dialog .dp-review-error, .dp-review-field-error { color:#ac3d3d; font-size:12px; line-height:1.7; }
.dp-review-field-error:empty { display:none; }
.dp-review-dialog [aria-invalid=true] { border-color:#ac3d3d !important; }
.dp-review-honey { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.dp-review-success { text-align:center; padding:24px 4px 4px; }
.dp-review-success-icon { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 18px; border-radius:50%; background:#eaf5e8; color:#398357; font-size:30px; box-shadow:0 0 0 7px #f6faf1; }
.dp-testimonial-avatar img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
@media(max-width:520px) { .dp-review-dialog { padding:20px 18px; border-radius:19px; } .dp-review-dialog h2 { font-size:21px; } .dp-review-row { gap:9px; } .dp-main .dp-review-dialog input[type=text], .dp-main .dp-review-dialog textarea { font-size:16px; } .dp-review-upload label { flex-wrap:wrap; } }
@media(max-width:360px) { .dp-review-dialog { padding:16px 14px; } .dp-review-dialog h2 { font-size:19px; } .dp-review-dialog form { gap:8px; } .dp-review-dialog label { font-size:11px; } .dp-review-upload label { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px; } .dp-review-upload small { font-size:8px; } .dp-review-file-picker { max-width:76px; padding:7px; font-size:10px; } .dp-main .dp-review-dialog textarea { height:72px; min-height:72px; } }
