.mcr-rating-form,
.mcr-summary,
.mcr-empty-summary,
.mcr-pending-summary {
    box-sizing: border-box;
    margin: 24px 0;
    padding: 22px;
    color: var(--mcr-text);
    background: var(--mcr-bg);
    border: 1px solid var(--mcr-border);
    border-radius: var(--mcr-radius);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
}

.mcr-form-heading h3 { margin: 0 0 4px; font-size: 1.25rem; }
.mcr-form-heading p { margin: 0 0 18px; opacity: .72; }

.mcr-criteria-grid,
.mcr-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}

.mcr-criterion-card,
.mcr-summary-item {
    padding: 15px;
    border: 1px solid var(--mcr-border);
    border-radius: calc(var(--mcr-radius) * .72);
    background: var(--mcr-bg);
    background: linear-gradient(145deg, var(--mcr-bg), color-mix(in srgb, var(--mcr-bg), var(--mcr-primary) 4%));
}

.mcr-criterion-copy { display: flex; flex-direction: column; gap: 3px; }
.mcr-criterion-copy small { opacity: .68; }
.mcr-required { color: #dc2626; }

.mcr-stars-input {
    display: flex;
    direction: ltr;
    align-items: center;
    gap: 3px;
    margin-top: 12px;
}

.mcr-star-option { cursor: pointer; line-height: 1; }
.mcr-star-option input { position: absolute; opacity: 0; pointer-events: none; }
.mcr-star-option > span[aria-hidden] {
    display: inline-block;
    color: var(--mcr-empty);
    font-size: 29px;
    transition: color .15s ease, transform .15s ease;
}
.mcr-star-option:hover > span[aria-hidden],
.mcr-star-option.is-active > span[aria-hidden] { color: var(--mcr-primary); transform: translateY(-1px) scale(1.04); }
.mcr-star-option input:focus-visible + span { outline: 2px solid var(--mcr-primary); outline-offset: 3px; border-radius: 3px; }
.mcr-selected-value { margin-inline-start: 8px; direction: rtl; font-weight: 700; font-size: .86rem; }

.mcr-summary-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.mcr-summary-eyebrow { display: block; opacity: .7; font-size: .82rem; }
.mcr-overall-score { font-size: 2.4rem; line-height: 1; }
.mcr-score-max { opacity: .62; }
.mcr-overall-stars { direction: ltr; color: var(--mcr-primary); font-size: 28px; letter-spacing: 2px; }
.mcr-summary-item-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.mcr-progress { height: 8px; overflow: hidden; background: var(--mcr-empty); border-radius: 999px; }
.mcr-progress span { display: block; height: 100%; background: var(--mcr-primary); border-radius: inherit; }
.mcr-summary-item small { display: block; margin-top: 7px; opacity: .65; }

.mcr-comment-ratings { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; }
.mcr-comment-rating-item { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--mcr-border); border-radius: 999px; background: var(--mcr-bg); font-size: .82rem; }
.mcr-mini-stars { direction: ltr; color: var(--mcr-primary); letter-spacing: 1px; }

@media (max-width: 600px) {
    .mcr-rating-form, .mcr-summary, .mcr-empty-summary, .mcr-pending-summary { padding: 16px; }
    .mcr-summary-header { align-items: flex-start; flex-direction: column; }
}


.comment-form-mcr-phone {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0 0 18px;
}

.comment-form-mcr-phone label { font-weight: 700; }
.comment-form-mcr-phone input[type="tel"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    color: var(--mcr-text);
    background: var(--mcr-bg);
    border: 1px solid var(--mcr-border);
    border-radius: calc(var(--mcr-radius) * .55);
}
.comment-form-mcr-phone input[type="tel"]:focus {
    border-color: var(--mcr-primary);
    outline: 2px solid color-mix(in srgb, var(--mcr-primary), transparent 75%);
    outline-offset: 1px;
}
.comment-form-mcr-phone small,
.mcr-phone-privacy { opacity: .72; }

.mcr-image-upload {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 18px;
    padding: 14px;
    color: var(--mcr-text);
    background: var(--mcr-bg);
    border: 1px solid var(--mcr-border);
    border-radius: calc(var(--mcr-radius) * .72);
}
.mcr-image-upload input[type="file"] { max-width: 100%; }
.mcr-image-upload small { opacity: .72; }
.mcr-upload-feedback { min-height: 1.2em; font-size: .85rem; }
.mcr-upload-feedback.is-error { color: #b91c1c; }
.mcr-upload-feedback.is-ok { color: #166534; }
.mcr-comment-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 120px));
    gap: 8px;
    margin: 14px 0 0;
}
.mcr-comment-gallery a { display: block; }
.mcr-comment-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: calc(var(--mcr-radius) * .55);
    border: 1px solid var(--mcr-border);
}
