/* REVIEW110: local components using the existing DS1 typography, surfaces and icons. */
.post-review{margin-block:24px;min-width:0}
.post-review h3{margin:0 0 8px;font-size:var(--sb-type-h3-size,20px)}
.post-review__muted{color:var(--sb-color-muted,#475569);font-size:var(--sb-type-caption-size,14px);line-height:var(--sb-leading-body)}
.post-review__rating{display:flex;gap:4px;border:0;padding:0;margin:12px 0 0}
.post-review__rating label{position:relative;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;color:var(--sb-color-action,#20242a)}
.post-review__rating input{position:absolute;opacity:0;width:44px;height:44px;margin:0;cursor:pointer}
.post-review__rating .sb-icon,.review-score .sb-icon{width:20px;height:20px}
.post-review__rating input:focus-visible+span{outline:2px solid var(--sb-color-action,#1b56b5);outline-offset:4px;border-radius:6px}
.post-review__rating input:checked+span{background:var(--sb-surface-focus,#e8f1ff);border-radius:8px}
.post-review__label{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.post-review__label span{color:var(--sb-color-muted,#475569);font-size:var(--sb-type-body-size);font-weight:var(--sb-weight-regular)}
.post-review textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:104px;resize:vertical;padding:14px;margin:8px 0;border:0;border-radius:var(--sb-radius-control,14px);background:var(--sb-surface-subtle,#f1f5f9);color:inherit;font:inherit;line-height:var(--sb-leading-body)}
.post-review__photo-control{display:flex;align-items:center;gap:8px;position:relative;min-height:44px;color:var(--sb-color-action,#20242a);cursor:pointer;width:fit-content}
.post-review__photo-control input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.post-review__photo-control:focus-within{outline:2px solid var(--sb-color-action,#1b56b5);outline-offset:3px}
.post-review__previews{display:flex;gap:12px;flex-wrap:wrap}
.post-review__previews figure{margin:0;max-width:160px}
.post-review__previews img,.review-photo{display:block;width:160px;max-width:100%;height:120px;object-fit:cover;border-radius:10px}
.post-review__previews button{min-height:44px;border:0;background:none;color:var(--sb-color-action,#20242a);font:inherit}
.post-review__consent{display:flex;align-items:flex-start;gap:10px;margin-block:12px;font-size:var(--sb-type-body-size);line-height:var(--sb-leading-body)}
.post-review__consent input{margin-top:4px;accent-color:var(--sb-color-action,#1b56b5)}
.post-review__actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:16px}
.post-review__actions button{min-height:44px;border:0;border-radius:var(--sb-radius-control,14px);padding:12px 24px;background:var(--sb-surface-focus,#e8f1ff);color:var(--sb-color-action,#20242a);font:inherit;font-weight:var(--sb-weight-strong)}
.post-review__actions a{display:inline-flex;align-items:center;min-height:44px;color:var(--sb-color-action,#20242a)}
.post-review__connections{margin-top:24px}
.post-review__connections button{display:flex;align-items:center;gap:16px;min-height:56px;border:0;background:none;text-align:left;color:inherit;font:inherit;padding:8px 0;cursor:pointer}
.post-review__connections button>.sb-icon{color:var(--sb-color-action,#20242a);flex:none}
.post-review__connections small{display:block;color:var(--sb-color-muted,#475569);line-height:var(--sb-leading-body)}
.post-review__connections>a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.post-review__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.review-entry{padding-block:16px;overflow-wrap:anywhere}
.review-body{white-space:pre-wrap;overflow-wrap:anywhere}
.review-score{display:flex;gap:4px;color:var(--sb-color-action,#20242a)}
@media(max-width:767px){.post-review__actions{gap:8px}.post-review__actions button{width:100%}.post-review__actions a{margin-inline:auto}.post-review__label{flex-wrap:wrap}.post-review__connections button{width:100%}}

#reviews-moderation{max-width:1200px;margin:32px auto;padding:24px;box-sizing:border-box}
#reviews-moderation form{display:grid;gap:12px;max-width:600px}

.post-review__consent[hidden]{display:none}

.portfolio-sources,.portfolio-photo-pages { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.portfolio-sources a,.portfolio-photo-pages a { display:inline-flex; min-height:44px; align-items:center; color:var(--sb-color-text-muted,#475569); }
.portfolio-sources a[aria-current="page"] { color:var(--sb-color-action,#20242a); font-weight:var(--sb-weight-strong); }
.portfolio-client-photos { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:16px; }
.portfolio-client-photos figure { margin:0; min-width:0; }
.portfolio-client-photos img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.portfolio-client-photos figcaption { display:grid; gap:4px; overflow-wrap:anywhere; }
.portfolio-client-photos small { color:var(--sb-color-text-muted,#475569); }

.master-content-panel nav a { min-height:44px; display:inline-flex; align-items:center; }
.master-content-panel nav a[aria-current="page"] { color:var(--sb-color-action,#20242a); font-weight:var(--sb-weight-strong); }
.portfolio-sources a:focus-visible,.portfolio-photo-pages a:focus-visible { outline:2px solid var(--sb-color-action,#1b56b5); outline-offset:2px; }
