.inkorly-review-public-card__read-more {
    align-items: center;
    appearance: none;
    background: var(--inkorly-review-read-more-background, transparent);
    border-color: var(--inkorly-review-read-more-border-color, currentColor);
    border-radius: var(--inkorly-review-read-more-radius, 0);
    border-style: var(--inkorly-review-read-more-border-style, solid);
    border-width: var(--inkorly-review-read-more-border-width, 0 0 1px 0);
    color: var(--inkorly-review-read-more-color, var(--inkorly-review-accent, var(--inkorly-heading-color, #111111)));
    cursor: pointer;
    display: inline-flex;
    font-family: var(--inkorly-review-read-more-font-family, var(--inkorly-review-font-family, inherit));
    font-size: var(--inkorly-review-read-more-size, 14px);
    font-style: var(--inkorly-review-read-more-style, normal);
    font-weight: var(--inkorly-review-read-more-weight, 600);
    justify-content: center;
    letter-spacing: var(--inkorly-review-read-more-letter-spacing, normal);
    line-height: var(--inkorly-review-read-more-line-height, 1.35);
    margin: var(--inkorly-review-read-more-margin, var(--inkorly-review-read-more-margin-top, 14px) 0 0);
    opacity: var(--inkorly-review-read-more-opacity, 1);
    padding: var(--inkorly-review-read-more-padding, 2px 0);
    text-decoration: var(--inkorly-review-read-more-text-decoration, none);
    text-transform: var(--inkorly-review-read-more-text-transform, none);
}

.inkorly-review-public-card__read-more:hover,
.inkorly-review-public-card__read-more:focus-visible {
    background: var(--inkorly-review-read-more-hover-background, var(--inkorly-review-read-more-background, transparent));
    border-color: var(--inkorly-review-read-more-hover-border-color, var(--inkorly-review-read-more-border-color, currentColor));
    color: var(--inkorly-review-read-more-hover-color, var(--inkorly-review-read-more-color, currentColor));
    opacity: var(--inkorly-review-read-more-hover-opacity, 0.76);
}

.inkorly-review-public-card__read-more:focus-visible,
.inkorly-review-modal__close:focus-visible,
.inkorly-review-modal__panel:focus-visible {
    outline: var(--inkorly-review-focus-outline, 3px solid currentColor);
    outline-offset: var(--inkorly-review-focus-outline-offset, 4px);
}

.inkorly-review-modal[hidden] {
    display: none !important;
}

.inkorly-review-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: var(--inkorly-review-modal-outer-padding, 24px);
    position: fixed;
    transition: opacity 180ms ease;
    z-index: var(--inkorly-review-modal-z-index, 999999);
}

.inkorly-review-modal.is-open {
    opacity: 1;
}

.inkorly-review-modal__backdrop {
    background: var(--inkorly-review-modal-backdrop, rgba(0, 0, 0, 0.68));
    inset: 0;
    position: absolute;
}

.inkorly-review-modal__panel {
    background: var(--inkorly-review-modal-bg, var(--inkorly-surface, #ffffff));
    border-color: var(--inkorly-review-modal-border-color, transparent);
    border-radius: var(--inkorly-review-modal-radius, var(--inkorly-review-card-radius, 20px));
    border-style: solid;
    border-width: var(--inkorly-review-modal-border-width, 0);
    box-shadow: var(--inkorly-review-modal-shadow, 0 24px 80px rgba(0, 0, 0, 0.28));
    color: var(--inkorly-review-modal-text, var(--inkorly-text-color, #222222));
    max-height: var(--inkorly-review-modal-max-height, min(86vh, 820px));
    max-width: var(--inkorly-review-modal-max-width, 720px);
    overflow: auto;
    padding: var(--inkorly-review-modal-padding, clamp(28px, 5vw, 52px));
    position: relative;
    transform: translateY(12px) scale(0.985);
    transition: transform 180ms ease;
    width: 100%;
}

.inkorly-review-modal.is-open .inkorly-review-modal__panel {
    transform: translateY(0) scale(1);
}

.inkorly-review-modal__close {
    align-items: center;
    appearance: none;
    background: var(--inkorly-review-modal-close-background, transparent);
    border-color: var(--inkorly-review-modal-close-border-color, transparent);
    border-radius: var(--inkorly-review-modal-close-radius, 0);
    border-style: solid;
    border-width: var(--inkorly-review-modal-close-border-width, 0);
    color: var(--inkorly-review-modal-close-color, currentColor);
    cursor: pointer;
    display: flex;
    font-family: var(--inkorly-review-modal-close-font-family, inherit);
    font-size: var(--inkorly-review-modal-close-font-size, 32px);
    font-weight: var(--inkorly-review-modal-close-font-weight, 400);
    height: var(--inkorly-review-modal-close-size, 44px);
    justify-content: center;
    line-height: 1;
    opacity: var(--inkorly-review-modal-close-opacity, 0.72);
    padding: var(--inkorly-review-modal-close-padding, 0);
    position: absolute;
    right: var(--inkorly-review-modal-close-right, 14px);
    top: var(--inkorly-review-modal-close-top, 12px);
    width: var(--inkorly-review-modal-close-size, 44px);
}

.inkorly-review-modal__close:hover {
    background: var(--inkorly-review-modal-close-hover-background, var(--inkorly-review-modal-close-background, transparent));
    color: var(--inkorly-review-modal-close-hover-color, var(--inkorly-review-modal-close-color, currentColor));
    opacity: var(--inkorly-review-modal-close-hover-opacity, 1);
}

.inkorly-review-modal__title {
    color: var(--inkorly-review-modal-title-color, var(--inkorly-heading-color, var(--inkorly-review-modal-text, #222222)));
    font-family: var(--inkorly-review-modal-title-font-family, var(--inkorly-review-font-family, inherit));
    font-size: var(--inkorly-review-modal-title-size, 28px);
    font-style: var(--inkorly-review-modal-title-style, normal);
    font-weight: var(--inkorly-review-modal-title-weight, 700);
    letter-spacing: var(--inkorly-review-modal-title-letter-spacing, normal);
    line-height: var(--inkorly-review-modal-title-line-height, 1.15);
    margin: var(--inkorly-review-modal-title-margin, 0 44px var(--inkorly-review-modal-title-margin-bottom, 24px) 0);
    padding: var(--inkorly-review-modal-title-padding, 0);
    text-transform: var(--inkorly-review-modal-title-text-transform, none);
}

.inkorly-review-modal__text {
    color: var(--inkorly-review-modal-body-color, var(--inkorly-review-modal-quote-color, var(--inkorly-review-quote-color, var(--inkorly-review-modal-text, #222222))));
    font-family: var(--inkorly-review-modal-body-font-family, var(--inkorly-review-modal-quote-font-family, var(--inkorly-review-quote-font-family, inherit)));
    font-size: var(--inkorly-review-modal-body-size, var(--inkorly-review-modal-quote-size, var(--inkorly-review-quote-size, 20px)));
    font-style: var(--inkorly-review-modal-body-style, var(--inkorly-review-modal-quote-style, var(--inkorly-review-quote-style, normal)));
    font-weight: var(--inkorly-review-modal-body-weight, var(--inkorly-review-modal-quote-weight, var(--inkorly-review-quote-weight, 400)));
    letter-spacing: var(--inkorly-review-modal-body-letter-spacing, normal);
    line-height: var(--inkorly-review-modal-body-line-height, var(--inkorly-review-modal-quote-line-height, var(--inkorly-review-quote-line-height, 1.7)));
    margin: var(--inkorly-review-modal-body-margin, 0);
    padding: var(--inkorly-review-modal-body-padding, 0);
}

.inkorly-review-modal__text p {
    margin: 0 0 var(--inkorly-review-modal-paragraph-spacing, 1em);
}

.inkorly-review-modal__text p:last-child {
    margin-bottom: 0;
}

.inkorly-review-modal__stars {
    color: var(--inkorly-review-modal-star-color, var(--inkorly-review-star-color, #ffb024));
    font-size: var(--inkorly-review-modal-star-size, var(--inkorly-review-star-size, 22px));
    font-weight: var(--inkorly-review-modal-star-weight, var(--inkorly-review-star-weight, 700));
    letter-spacing: var(--inkorly-review-modal-star-letter-spacing, 0.08em);
    line-height: var(--inkorly-review-modal-star-line-height, 1);
    margin: var(--inkorly-review-modal-star-margin, var(--inkorly-review-modal-star-margin-top, 28px) 0 0);
    padding: var(--inkorly-review-modal-star-padding, 0);
}

.inkorly-review-modal__meta {
    margin: var(--inkorly-review-modal-meta-margin, var(--inkorly-review-modal-meta-margin-top, 14px) 0 0);
    padding: var(--inkorly-review-modal-meta-padding, 0);
    text-align: var(--inkorly-review-modal-meta-text-align, inherit);
}

.inkorly-review-modal__name {
    color: var(--inkorly-review-modal-name-color, var(--inkorly-review-name-color, var(--inkorly-review-meta-color, currentColor)));
    font-family: var(--inkorly-review-modal-name-font-family, var(--inkorly-review-name-font-family, var(--inkorly-review-meta-font-family, inherit)));
    font-size: var(--inkorly-review-modal-name-size, var(--inkorly-review-name-size, var(--inkorly-review-meta-size, 14px)));
    font-style: var(--inkorly-review-modal-name-style, var(--inkorly-review-name-style, normal));
    font-weight: var(--inkorly-review-modal-name-weight, var(--inkorly-review-name-weight, 700));
    letter-spacing: var(--inkorly-review-modal-name-letter-spacing, var(--inkorly-review-name-letter-spacing, normal));
    line-height: var(--inkorly-review-modal-name-line-height, var(--inkorly-review-name-line-height, 1.4));
    margin: var(--inkorly-review-modal-name-margin, 0 0 2px);
    padding: var(--inkorly-review-modal-name-padding, 0);
}

.inkorly-review-modal__source {
    color: var(--inkorly-review-modal-source-color, var(--inkorly-review-source-color, var(--inkorly-review-meta-color, currentColor)));
    font-family: var(--inkorly-review-modal-source-font-family, var(--inkorly-review-source-font-family, var(--inkorly-review-meta-font-family, inherit)));
    font-size: var(--inkorly-review-modal-source-size, var(--inkorly-review-source-size, var(--inkorly-review-meta-size, 14px)));
    font-style: var(--inkorly-review-modal-source-style, var(--inkorly-review-source-style, normal));
    font-weight: var(--inkorly-review-modal-source-weight, var(--inkorly-review-source-weight, 400));
    letter-spacing: var(--inkorly-review-modal-source-letter-spacing, var(--inkorly-review-source-letter-spacing, normal));
    line-height: var(--inkorly-review-modal-source-line-height, var(--inkorly-review-source-line-height, 1.4));
    margin: var(--inkorly-review-modal-source-margin, 0);
    opacity: var(--inkorly-review-modal-source-opacity, 0.72);
    padding: var(--inkorly-review-modal-source-padding, 0);
}

body.inkorly-review-modal-open {
    overflow: hidden;
}

@media (max-width: 600px) {
    .inkorly-review-modal {
        align-items: flex-end;
        padding: var(--inkorly-review-modal-mobile-outer-padding, 12px);
    }

    .inkorly-review-modal__panel {
        border-radius: var(--inkorly-review-modal-mobile-radius, var(--inkorly-review-modal-radius, 20px) var(--inkorly-review-modal-radius, 20px) 0 0);
        max-height: var(--inkorly-review-modal-mobile-max-height, 92vh);
        padding: var(--inkorly-review-modal-mobile-padding, 32px 24px 28px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .inkorly-review-modal,
    .inkorly-review-modal__panel {
        transition: none;
    }
}
