/* Cart + Reviews */
.mv-cart-page, .mv-reviews { max-width: 1140px; margin: 0 auto; padding: 24px 15px 96px; }
.mv-cart-page__head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.mv-cart-page__head h1 { margin:0; font-size:28px; font-weight:800; }
.mv-cart-page__head p { margin:4px 0 0; color:#6b7280; font-weight:600; }
.mv-cart-head-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mv-cart-tool, .mv-cart-clear {
    border:0; background:#f3f4f6; border-radius:10px; padding:10px 12px;
    font-weight:700; cursor:pointer; color:#374151; font-size:13px;
    display:inline-flex; align-items:center; gap:6px;
}
.mv-cart-tool:hover { background:#e5e7eb; }
.mv-cart-clear { background:#fff1f2; color:#e11d48; }
.mv-flash { padding:12px 14px; border-radius:12px; font-weight:700; margin-bottom:14px; }
.mv-flash--ok { background:#ecfdf5; color:#065f46; }
.mv-flash--warn { background:#fff7ed; color:#9a3412; }
.mv-cart-empty { text-align:center; padding:60px 16px; border:1px dashed #e5e7eb; border-radius:18px; background:#fff; }
.mv-cart-empty i { font-size:42px; color:#d1d5db; margin-bottom:10px; }
.mv-cart-empty h2 { margin:0 0 6px; font-size:22px; }
.mv-cart-empty p { color:#6b7280; margin:0 0 16px; }
.mv-cart-layout { display:grid; grid-template-columns:1.55fr .9fr; gap:18px; align-items:start; }
.mv-cart-list { display:flex; flex-direction:column; gap:16px; }
.mv-cart-store {
    border: 1px solid #eef0f3;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15,23,42,.04);
}
.mv-cart-store__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
    border-bottom: 1px solid #f1f5f9;
}
.mv-cart-store__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.mv-cart-store__logo {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    object-fit: cover;
    background: #f3f4f6;
    border: 1px solid #eef0f3;
    flex-shrink: 0;
}
.mv-cart-store__name {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: #111827;
    text-decoration: none;
    line-height: 1.2;
}
a.mv-cart-store__name:hover { color: #e31e24; }
.mv-cart-store__brand small {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
}
.mv-cart-store__tools {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.mv-cart-ico {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
}
.mv-cart-ico:hover { color: #e31e24; border-color: #fecaca; background: #fff7f7; }
.mv-cart-store__note {
    padding: 0 16px 12px;
    border-bottom: 1px solid #f3f4f6;
    background: #fcfcfd;
}
.mv-cart-store__note summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    color: #6b7280;
    padding: 10px 0 0;
    user-select: none;
}
.mv-cart-store__note summary::-webkit-details-marker { display: none; }
.mv-cart-store__note summary::after {
    content: '+';
    margin-left: auto;
    font-size: 16px;
    font-weight: 700;
    color: #9ca3af;
    line-height: 1;
}
.mv-cart-store__note[open] summary::after { content: '−'; }
.mv-cart-store__note textarea {
    width: 100%;
    margin-top: 8px;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    resize: vertical;
    min-height: 58px;
    background: #fff;
    box-sizing: border-box;
}
.mv-cart-store__note textarea:focus {
    outline: none;
    border-color: #25d366;
    box-shadow: 0 0 0 3px rgba(37,211,102,.15);
}
.mv-cart-store__items { display: flex; flex-direction: column; }
.mv-cart-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    cursor: pointer;
}
.mv-cart-check input {
    width: 18px;
    height: 18px;
    accent-color: #e31e24;
    cursor: pointer;
}
.mv-cart-row {
    display:grid;
    grid-template-columns:28px 72px 1fr auto auto;
    gap:12px;
    align-items:center;
    padding:14px 16px;
    border:0;
    border-radius:0;
    background:#fff;
    border-bottom: 1px solid #f3f4f6;
}
.mv-cart-row:last-child { border-bottom: 0; }
.mv-cart-row__img img { width:72px; height:72px; object-fit:contain; border-radius:12px; background:#f8fafc; display:block; }
.mv-cart-row__info a.mv-cart-row__title { color:#111827; font-weight:800; text-decoration:none; display:block; line-height:1.35; }
.mv-cart-row__info a.mv-cart-row__title:hover { color:#e31e24; }
.mv-cart-row__info small.mv-cart-row__store { display:block; color:#9ca3af; font-weight:600; margin:3px 0; }
.mv-cart-row__info strong.mv-cart-row__unit { color:#e31e24; display:block; margin-bottom:6px; }
.mv-cart-row__foot { display: contents; }
.mv-cart-row__actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.mv-cart-mini {
    width: 30px; height: 30px; border-radius: 9px; border: 1px solid #e5e7eb;
    background: #fff; color: #4b5563; display: inline-flex; align-items: center; justify-content: center;
    text-decoration: none; cursor: pointer;
}
.mv-cart-mini:hover { color:#e31e24; border-color:#fecaca; }
.mv-cart-wa {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    font-weight: 800;
    border-radius: 999px;
    transition: .15s ease;
    border: 0;
    cursor: pointer;
    font-family: inherit;
}
.mv-cart-wa--item {
    padding: 6px 10px;
    font-size: 12px;
    background: #ecfdf5;
    color: #047857 !important;
    border: 1px solid #a7f3d0;
    width: fit-content;
}
.mv-cart-wa--item:hover { background: #25d366; color: #fff !important; border-color: #25d366; }
.mv-cart-wa--store {
    padding: 9px 14px;
    font-size: 12px;
    background: #25d366;
    color: #fff !important;
    white-space: nowrap;
}
.mv-cart-wa--store:hover { background: #1ebe57; transform: translateY(-1px); }
.mv-cart-wa--disabled {
    padding: 9px 14px;
    font-size: 12px;
    background: #f3f4f6;
    color: #9ca3af !important;
    cursor: not-allowed;
}
.mv-cart-qty {
    display:inline-flex; align-items:center; gap:0;
    border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff;
}
.mv-cart-qty button {
    width:34px; height:34px; border:0; background:#f9fafb; font-weight:800; cursor:pointer;
}
.mv-cart-qty input {
    width: 44px; height: 34px; border: 0; border-left: 1px solid #e5e7eb; border-right: 1px solid #e5e7eb;
    text-align: center; font-weight: 800; font-size: 14px; outline: none;
}
.mv-cart-row__total { text-align:right; }
.mv-cart-row__total strong { display:block; font-size:15px; margin-bottom:6px; }
.mv-cart-row__total button,
.mv-cart-row__remove {
    border:0; background:#fff1f2; color:#e11d48; width:32px; height:32px;
    border-radius:10px; cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center;
}
.mv-cart-summary {
    border:1px solid #eef0f3; border-radius:18px; padding:18px; background:#fff;
    position:sticky; top:16px; box-shadow: 0 10px 28px rgba(15,23,42,.05);
}
.mv-cart-summary h3 { margin:0 0 14px; font-size:18px; font-weight:800; }
.mv-cart-summary__row, .mv-cart-summary__total {
    display:flex; justify-content:space-between; gap:10px; margin-bottom:10px;
    font-size:14px; font-weight:600; color:#4b5563;
}
.mv-cart-summary__total {
    border-top:1px solid #eef0f3; padding-top:12px; margin-top:8px; margin-bottom:14px;
    color:#111827; font-size:16px;
}
.mv-cart-summary__total strong { color:#e31e24; font-size:22px; }
.mv-cart-summary__steps {
    display: flex; flex-direction: column; gap: 8px;
    margin: 0 0 14px; padding: 12px; border-radius: 14px; background: #f8fafc;
    font-size: 12px; font-weight: 750; color: #4b5563;
}
.mv-cart-summary__steps b {
    display: inline-flex; width: 18px; height: 18px; border-radius: 50%;
    align-items: center; justify-content: center; margin-right: 6px;
    background: #fff1f2; color: #e31e24; font-size: 10px;
}
.mv-btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:#111827; color:#fff !important; text-decoration:none; border:0; border-radius:12px;
    padding:12px 16px; font-weight:800; cursor:pointer; font-family: inherit;
}
.mv-btn-primary:hover { background:#25d366; }
.mv-btn-primary:disabled { opacity: .5; cursor: not-allowed; }
.mv-btn-ghost {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:#f3f4f6; color:#111827 !important; text-decoration:none; border:0; border-radius:12px;
    padding:12px 16px; font-weight:800; margin-top:8px; cursor: pointer; font-family: inherit; width: 100%;
}
.mv-btn-block { width:100%; }
.mv-cart-mobilebar {
    display: none;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
    color: #111827;
    border-top: 1px solid #eef0f3;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -8px 24px rgba(15,23,42,.08);
    align-items: center; justify-content: space-between; gap: 12px;
}
.mv-cart-mobilebar small { display:block; font-size:11px; color:#6b7280; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.mv-cart-mobilebar strong { font-size:20px; font-weight:850; color:#111827; }
.mv-cart-mobilebar .mv-btn-primary {
    background:#25d366;
    padding:12px 18px;
    border-radius:999px;
    font-size:14px;
    min-width: 132px;
    flex-shrink: 0;
}
.mv-cart-mobilebar .mv-btn-primary:hover { background:#1ebe57; }

@media (max-width: 980px) {
    .mv-cart-layout { grid-template-columns: 1fr; }
    .mv-cart-summary { display: none; }
    .mv-cart-mobilebar { display: flex; }
    .mv-cart-page { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 767px) {
    .mv-cart-page { padding: 14px 12px calc(88px + env(safe-area-inset-bottom, 0px)); }
    .mv-cart-page__head { margin-bottom: 14px; align-items: center; }
    .mv-cart-page__head h1 { font-size: 22px; font-weight: 850; }
    .mv-cart-page__head h1 i { display: none; }
    .mv-cart-page__head p { font-size: 13px; margin-top: 2px; }
    .mv-cart-head-actions { gap: 6px; }
    .mv-cart-tool__txt { display: none; }
    .mv-cart-tool, .mv-cart-clear {
        width: 38px; height: 38px; padding: 0;
        justify-content: center; border-radius: 999px;
    }
    .mv-cart-list { gap: 12px; }
    .mv-cart-store {
        border-radius: 14px;
        box-shadow: none;
        border-color: #e8eaee;
    }
    .mv-cart-store__head {
        padding: 12px;
        gap: 10px;
        background: #fff;
        border-bottom: 1px solid #f1f5f9;
    }
    .mv-cart-store__logo { width: 36px; height: 36px; border-radius: 10px; }
    .mv-cart-store__name { font-size: 14px; }
    .mv-cart-store__brand small { font-size: 11px; margin-top: 2px; }
    .mv-cart-store__tools { width: 100%; justify-content: flex-end; gap: 6px; }
    .mv-cart-ico { width: 34px; height: 34px; border-radius: 999px; }
    .mv-cart-wa--store {
        margin-left: auto;
        padding: 8px 12px;
        border-radius: 999px;
        font-size: 12px;
    }
    .mv-cart-wa--store span { display: none; }
    .mv-cart-wa--disabled { display: none; }
    .mv-cart-store__note {
        padding: 0 12px 10px;
        background: #fff;
    }
    .mv-cart-store__note summary { padding-top: 8px; font-size: 11px; }
    .mv-cart-store__note textarea {
        min-height: 52px;
        border-radius: 10px;
        font-size: 14px;
    }
    .mv-cart-row {
        grid-template-columns: 56px 1fr;
        grid-template-areas:
            "img info"
            "foot foot";
        gap: 8px 12px;
        padding: 12px;
        align-items: start;
        position: relative;
    }
    .mv-cart-check {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
    }
    .mv-cart-check input { width: 16px; height: 16px; }
    .mv-cart-row__img { grid-area: img; margin-left: 22px; }
    .mv-cart-row__img img { width: 56px; height: 56px; border-radius: 10px; }
    .mv-cart-row__info { grid-area: info; min-width: 0; padding-right: 4px; }
    .mv-cart-row__store,
    .mv-cart-row__actions { display: none !important; }
    .mv-cart-row__title {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 14px;
        line-height: 1.35;
        padding-right: 28px;
    }
    .mv-cart-row__unit {
        font-size: 13px !important;
        margin: 4px 0 0 !important;
        color: #6b7280 !important;
        font-weight: 700 !important;
    }
    .mv-cart-row__foot {
        display: flex;
        grid-area: foot;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-left: 22px;
        padding-top: 2px;
    }
    .mv-cart-qty {
        border-radius: 999px;
        border-color: #e8eaee;
    }
    .mv-cart-qty button { width: 32px; height: 32px; font-size: 16px; }
    .mv-cart-qty input { width: 40px; height: 32px; font-size: 13px; }
    .mv-cart-row__total {
        display: flex;
        align-items: center;
        gap: 8px;
        text-align: right;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .mv-cart-row__total strong {
        font-size: 15px;
        font-weight: 850;
        color: #111827;
        margin: 0;
        white-space: nowrap;
    }
    .mv-cart-row__remove {
        width: 28px;
        height: 28px;
        border-radius: 999px;
        background: transparent;
        color: #9ca3af;
        font-size: 12px;
    }
    .mv-cart-row__remove:hover { background: #fff1f2; color: #e11d48; }
    .mv-cart-empty { padding: 48px 16px; border-radius: 14px; }
    .mv-cart-empty i { font-size: 36px; }
    .mv-cart-empty h2 { font-size: 20px; }
}

.mv-cart-summary { border:1px solid #eef0f3; border-radius:18px; padding:18px; background:#fff; position:sticky; top:16px; }
.mv-cart-summary h3 { margin:0 0 14px; font-size:18px; font-weight:800; }
.mv-cart-summary__row, .mv-cart-summary__total { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:14px; font-weight:600; color:#4b5563; }
.mv-cart-summary__total { border-top:1px solid #eef0f3; padding-top:12px; margin-top:8px; margin-bottom:16px; color:#111827; font-size:16px; }
.mv-cart-summary__total strong { color:#e31e24; font-size:22px; }
.mv-btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:#111827; color:#fff !important; text-decoration:none; border:0; border-radius:12px;
    padding:12px 16px; font-weight:800; cursor:pointer;
}
.mv-btn-primary:hover { background:#e31e24; }
.mv-btn-ghost {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    background:#f3f4f6; color:#111827 !important; text-decoration:none; border:0; border-radius:12px;
    padding:12px 16px; font-weight:800; margin-top:8px;
}
.mv-btn-block { width:100%; }

/* Reviews (Instagram-like) */
.mv-reviews {
    margin-top: 36px;
    padding-top: 8px;
    border-top: 1px solid #eef0f3;
}
.mv-reviews__head {
    display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-bottom:18px;
}
.mv-reviews__head h2 { margin:0; font-size:22px; font-weight:800; }
.mv-reviews__score {
    display:flex; align-items:center; gap:10px;
    background:#fff7f7; border:1px solid #fecaca; border-radius:14px; padding:10px 14px;
}
.mv-reviews__score strong { font-size:28px; color:#e31e24; line-height:1; }
.mv-reviews__score span { font-size:12px; font-weight:700; color:#6b7280; }
.mv-reviews__stars { color:#f59e0b; letter-spacing:1px; }
.mv-reviews-layout { display:grid; grid-template-columns:340px 1fr; gap:20px; align-items:start; }
.mv-review-form {
    border:1px solid #eef0f3; border-radius:18px; padding:16px; background:#fafbfc; position:sticky; top:16px;
}
.mv-review-form h3 { margin:0 0 6px; font-size:16px; font-weight:800; }
.mv-review-form p { margin:0 0 12px; font-size:12px; color:#6b7280; font-weight:600; }
.mv-review-form label { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; font-size:12px; font-weight:700; color:#4b5563; }
.mv-review-form input, .mv-review-form textarea, .mv-review-form select {
    border:1.5px solid #e6eaf0; border-radius:12px; padding:11px 12px; font-size:14px; font-family:inherit; background:#fff;
}
.mv-review__meta-right { display:flex; align-items:center; gap:8px; }
.mv-review__delete {
    width:30px; height:30px; border:0; border-radius:8px; background:#fff1f2; color:#e11d48;
    cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:12px;
}
.mv-review__delete:hover { background:#e11d48; color:#fff; }
.mv-rating-pick { display:flex; gap:6px; flex-wrap:wrap; }
.mv-rating-pick label {
    flex-direction:row; align-items:center; gap:4px; margin:0; padding:8px 10px;
    border:1px solid #e5e7eb; border-radius:999px; background:#fff; cursor:pointer; font-size:13px;
}
.mv-rating-pick input { display:none; }
.mv-rating-pick label:has(input:checked) { background:#111827; color:#fff; border-color:#111827; }
.mv-review-list { display:flex; flex-direction:column; gap:14px; }
.mv-thread {
    border:1px solid #eef0f3; border-radius:18px; background:#fff; padding:14px;
}
.mv-thread.is-new { border-color:#fecaca; background:#fffafa; }
.mv-review {
    display:flex; gap:12px; padding:0; border:0; border-radius:0; background:transparent;
}
.mv-review.is-new { background:#fff7f7; border-radius:12px; padding:8px; margin:-8px; }
.mv-avatar {
    width:40px; height:40px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    color:#fff; font-weight:800; font-size:13px; flex-shrink:0; letter-spacing:.5px;
}
.mv-avatar--sm { width:32px; height:32px; font-size:11px; }
.mv-review__body { flex:1; min-width:0; }
.mv-review__meta { display:flex; justify-content:space-between; gap:8px; align-items:center; flex-wrap:wrap; }
.mv-review__meta strong { font-size:14px; color:#111827; display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.mv-review__meta time { font-size:12px; color:#9ca3af; font-weight:600; }
.mv-review__stars { color:#f59e0b; font-size:12px; margin:4px 0 6px; }
.mv-review__text { margin:0; font-size:14px; line-height:1.55; color:#374151; white-space:pre-wrap; }
.mv-review__actions { display:flex; align-items:center; gap:12px; margin-top:8px; }
.mv-reply-toggle {
    border:0; background:transparent; padding:0; cursor:pointer;
    color:#6b7280; font-size:12px; font-weight:800; letter-spacing:.02em;
}
.mv-reply-toggle:hover { color:#e31e24; }
.mv-reply-count { font-size:12px; font-weight:700; color:#9ca3af; }
.mv-badge-store {
    display:inline-flex; align-items:center;
    background:#111827; color:#fff; font-size:10px; font-weight:800;
    padding:2px 7px; border-radius:999px; letter-spacing:.02em;
}
.mv-replies {
    margin:12px 0 0 28px;
    padding-left:16px;
    border-left:2px solid #f1f5f9;
    display:flex; flex-direction:column; gap:12px;
}
.mv-review--reply { align-items:flex-start; }
.mv-inline-reply {
    margin:12px 0 0 52px;
    padding:12px;
    border:1px solid #eef0f3;
    border-radius:14px;
    background:#f8fafc;
}
.mv-inline-reply__hint {
    display:flex; justify-content:space-between; align-items:center;
    font-size:12px; font-weight:600; color:#6b7280; margin-bottom:8px;
}
.mv-inline-reply__close {
    border:0; background:transparent; font-size:18px; line-height:1; cursor:pointer; color:#9ca3af;
}
.mv-inline-reply__store {
    font-size:12px; font-weight:700; color:#374151; margin-bottom:8px;
}
.mv-inline-reply input[type="text"],
.mv-inline-reply textarea {
    width:100%; border:1.5px solid #e6eaf0; border-radius:12px; padding:10px 12px;
    font-size:14px; font-family:inherit; background:#fff; margin-bottom:8px;
}
.mv-inline-reply__row { display:flex; gap:8px; align-items:flex-end; }
.mv-inline-reply__row textarea { margin:0; flex:1; resize:vertical; min-height:44px; }
.mv-inline-reply__send {
    width:44px; height:44px; border:0; border-radius:12px; background:#111827; color:#fff;
    cursor:pointer; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
}
.mv-inline-reply__send:hover { background:#e31e24; }
.mv-review-empty { text-align:center; padding:36px 12px; color:#6b7280; border:1px dashed #e5e7eb; border-radius:16px; }
.mv-bars { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.mv-bars__row { display:grid; grid-template-columns:28px 1fr 28px; gap:8px; align-items:center; font-size:12px; font-weight:700; color:#6b7280; }
.mv-bars__track { height:6px; background:#f3f4f6; border-radius:999px; overflow:hidden; }
.mv-bars__track span { display:block; height:100%; background:#f59e0b; }

/* Preview + sheet */
.mv-review-list--preview { gap:10px; }
.mv-review-preview {
    display:flex;
    gap:10px;
    padding:12px;
    border:1px solid #eef0f3;
    border-radius:14px;
    background:#fff;
}
.mv-review-preview__body { min-width:0; flex:1; }
.mv-review-preview__meta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 8px;
    margin-bottom:4px;
}
.mv-review-preview__meta strong { font-size:13px; font-weight:800; color:#111827; }
.mv-review-preview__meta time { font-size:11px; font-weight:650; color:#9ca3af; margin-left:auto; }
.mv-review-preview__stars { color:#f59e0b; font-size:10px; letter-spacing:.5px; }
.mv-review-preview p {
    margin:0;
    font-size:13px;
    line-height:1.45;
    color:#4b5563;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.mv-review-preview__replies {
    display:inline-block;
    margin-top:6px;
    font-size:11px;
    font-weight:750;
    color:#6b7280;
}
.mv-reviews-open {
    width:100%;
    margin-top:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:12px 14px;
    background:#111827;
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.mv-reviews-open:hover { background:#e31e24; border-color:#e31e24; }
.mv-reviews-open em {
    font-style:normal;
    min-width:22px;
    height:22px;
    padding:0 7px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:850;
}
.mv-reviews-sheet[hidden] { display:none !important; }
.mv-reviews-sheet {
    position:fixed;
    inset:0;
    z-index:100050;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}
.mv-reviews-sheet.is-open { display:flex; }
.mv-reviews-sheet__backdrop {
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.5);
    backdrop-filter:blur(3px);
}
.mv-reviews-sheet__panel {
    position:relative;
    z-index:1;
    width:min(720px, 100%);
    height:min(92vh, 860px);
    background:#fff;
    border-radius:22px 22px 0 0;
    display:flex;
    flex-direction:column;
    box-shadow:0 -12px 40px rgba(15,23,42,.2);
    animation:mvReviewsUp .25s ease;
}
.mv-reviews-sheet__bar {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid #eef0f3;
    flex-shrink:0;
}
.mv-reviews-sheet__bar strong {
    display:block;
    font-size:16px;
    font-weight:850;
    color:#111827;
}
.mv-reviews-sheet__bar span {
    display:block;
    margin-top:2px;
    font-size:12px;
    font-weight:700;
    color:#6b7280;
}
.mv-reviews-sheet__close {
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#f3f4f6;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    color:#6b7280;
    flex-shrink:0;
}
.mv-reviews-sheet__scroll {
    flex:1;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding:14px 16px 24px;
}
.mv-reviews-sheet__pager { margin-top:16px; padding-bottom:8px; }
body.mv-reviews-sheet-open {
    overflow:hidden;
    position:fixed;
    left:0;
    right:0;
    width:100%;
}
@keyframes mvReviewsUp {
    from { transform:translateY(24px); opacity:.6; }
    to { transform:none; opacity:1; }
}

@media (min-width: 900px) {
    .mv-reviews-sheet { align-items:center; padding:24px; }
    .mv-reviews-sheet__panel {
        height:min(84vh, 780px);
        border-radius:22px;
    }
}

@media (max-width: 900px) {
    .mv-reviews-layout { grid-template-columns:1fr; }
    .mv-review-form { position:static; }
    .mv-replies { margin-left: 12px; padding-left: 12px; }
    .mv-inline-reply { margin-left: 0; }
}
