/*
 * Musicnotes External Reviews 0.4.0
 * Elementor-aware front-end styling with static + lightweight slider modes.
 */
.jrmnr {
    --jrmnr-star-color: #e7d0a1;
    --jrmnr-star-empty: rgba(127, 127, 127, 0.24);
    --jrmnr-border-color: rgba(127, 127, 127, 0.22);
    --jrmnr-muted-color: rgba(127, 127, 127, 0.9);
    --jrmnr-gap: 1.5rem;
    --jrmnr-card-padding: 1.25rem;
    --jrmnr-star-size: 1rem;
    --jrmnr-star-spacing: 0.08em;
    --jrmnr-review-star-color: var(--jrmnr-star-color);
    --jrmnr-review-star-empty: var(--jrmnr-star-empty);
    --jrmnr-review-star-size: 0.9rem;
    --jrmnr-review-star-spacing: 0.08em;
    --jrmnr-review-star-offset: 0px;
    --jrmnr-accent-color: #e7d0a1;
    --jrmnr-accent-width: 2px;
    --jrmnr-accent-gap: 1.25rem;
    --jrmnr-accent-height: 100%;
    --jrmnr-accent-offset: 0px;
    --jrmnr-arrow-size: 34px;
    --jrmnr-arrow-icon-size: 12px;
    --jrmnr-arrow-stroke: 2px;
    --jrmnr-arrow-gap: 6px;
    --jrmnr-arrow-radius: 0px;
    --jrmnr-arrow-x: 0px;
    --jrmnr-arrow-y: 0px;
    --jrmnr-arrow-color: rgba(255,255,255,.62);
    --jrmnr-arrow-bg: transparent;
    --jrmnr-arrow-border: rgba(255,255,255,.22);
    --jrmnr-arrow-hover-color: #e7d0a1;
    --jrmnr-arrow-hover-bg: transparent;
    --jrmnr-arrow-hover-border: #e7d0a1;
    --jrmnr-dot-size: 6px;
    --jrmnr-dot-gap: 7px;
    --jrmnr-dot-color: rgba(255,255,255,.25);
    --jrmnr-dot-active: #e7d0a1;
    --jrmnr-transition-speed: 600ms;
    position: relative;
    color: inherit;
    font: inherit;
}

.jrmnr *,
.jrmnr *::before,
.jrmnr *::after { box-sizing: border-box; }

.jrmnr-heading {
    margin: 0 0 1.25rem;
    color: inherit;
    font: inherit;
    font-size: 1.25em;
    font-weight: 600;
    line-height: 1.15;
}

.jrmnr-summary { margin: 0 0 var(--jrmnr-gap); }

.jrmnr-rating-summary {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45em;
}

.jrmnr-stars {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    font-size: var(--jrmnr-star-size);
    line-height: 1;
    letter-spacing: var(--jrmnr-star-spacing);
    white-space: nowrap;
    color: var(--jrmnr-star-empty);
}

.jrmnr-stars::after {
    content: "★★★★★";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--jrmnr-fill, 0%);
    overflow: hidden;
    white-space: nowrap;
    color: var(--jrmnr-star-color);
    letter-spacing: var(--jrmnr-star-spacing);
}

.jrmnr-rating-value { color: inherit; font-weight: 600; }
.jrmnr-rating-max,
.jrmnr-rating-count,
.jrmnr-review-meta,
.jrmnr-source { color: var(--jrmnr-muted-color); }

.jrmnr-rating-count::before { content: "·"; margin-right: 0.45em; }
.jrmnr-rating-link { color: inherit; text-decoration: none; }
.jrmnr-rating-link .jrmnr-rating-value,
.jrmnr-rating-link .jrmnr-rating-count,
.jrmnr-rating-link .jrmnr-rating-max { transition: color 160ms ease, opacity 160ms ease; }
.jrmnr-rating-link:hover .jrmnr-rating-count,
.jrmnr-rating-link:hover .jrmnr-rating-value { text-decoration: underline; text-underline-offset: 0.15em; }

/* Alignment */
.jrmnr--align-left { text-align: left; }
.jrmnr--align-center { text-align: center; }
.jrmnr--align-right { text-align: right; }
.jrmnr--align-left .jrmnr-review-meta,
.jrmnr--align-left .jrmnr-source,
.jrmnr--align-left .jrmnr-review-rating { justify-content: flex-start; }
.jrmnr--align-center .jrmnr-review-meta,
.jrmnr--align-center .jrmnr-source,
.jrmnr--align-center .jrmnr-review-rating { justify-content: center; }
.jrmnr--align-right .jrmnr-review-meta,
.jrmnr--align-right .jrmnr-source,
.jrmnr--align-right .jrmnr-review-rating { justify-content: flex-end; }

.jrmnr-review-list {
    display: grid;
    gap: var(--jrmnr-gap);
}
.jrmnr--grid .jrmnr-review-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.jrmnr-review {
    position: relative;
    min-width: 0;
    border-top: 1px solid var(--jrmnr-border-color);
    padding: var(--jrmnr-card-padding) 0 0;
}
.jrmnr-review-rating {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 0 0 0.8rem;
}
.jrmnr-review-stars {
    color: var(--jrmnr-review-star-empty);
    font-size: var(--jrmnr-review-star-size);
    letter-spacing: var(--jrmnr-review-star-spacing);
    transform: translateY(var(--jrmnr-review-star-offset));
}
.jrmnr-review-stars::after {
    color: var(--jrmnr-review-star-color);
    letter-spacing: var(--jrmnr-review-star-spacing);
}
.jrmnr-review-body { position: relative; margin: 0; color: inherit; line-height: 1.55; }
.jrmnr-review-body p { margin: 0; }
.jrmnr-review-body p + p { margin-top: 0.7em; }

.jrmnr-quote-mark {
    display: block;
    height: 0.55em;
    margin: 0 0 0.2em -0.04em;
    overflow: visible;
    color: var(--jrmnr-star-color);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.6em;
    font-weight: 400;
    line-height: 0.8;
    opacity: 0.9;
    pointer-events: none;
}
.jrmnr--align-right .jrmnr-quote-mark { margin-left: auto; margin-right: -0.04em; }
.jrmnr--align-center .jrmnr-quote-mark { margin-left: auto; margin-right: auto; }

.jrmnr-review-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35em 0.8em;
    margin: 0.8rem 0 0;
    font-size: 0.9em;
    line-height: 1.35;
}
.jrmnr-author { color: inherit; font-weight: 600; }
.jrmnr-helpful::before,
.jrmnr-date + .jrmnr-helpful::before { content: "·"; margin-right: 0.8em; }

.jrmnr-source {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4em;
    margin: var(--jrmnr-gap) 0 0;
    font-size: 0.85em;
    line-height: 1.35;
}
.jrmnr-source a { color: inherit; text-decoration: underline; text-underline-offset: 0.15em; transition: opacity 160ms ease, color 160ms ease; }
.jrmnr-source a:hover { opacity: 0.72; }

/* Starting style: Minimal Dividers */
.jrmnr--preset-minimal .jrmnr-review { background: transparent; }

/* Starting style: Editorial. Accent is controlled independently in 0.3. */
.jrmnr--preset-editorial .jrmnr-review {
    border-top: 0;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}
.jrmnr--preset-editorial .jrmnr-review-body { font-size: 1.03em; line-height: 1.62; }
.jrmnr--preset-editorial .jrmnr-author { letter-spacing: 0.02em; }

/* Editorial accent line left/right */
.jrmnr--accent-left .jrmnr-review,
.jrmnr--accent-right .jrmnr-review { border-top: 0; }
.jrmnr--accent-left .jrmnr-review { padding-left: var(--jrmnr-accent-gap); }
.jrmnr--accent-right .jrmnr-review { padding-right: var(--jrmnr-accent-gap); }
.jrmnr--accent-left .jrmnr-review::before,
.jrmnr--accent-right .jrmnr-review::after {
    content: "";
    position: absolute;
    width: var(--jrmnr-accent-width);
    height: var(--jrmnr-accent-height);
    background: var(--jrmnr-accent-color);
    pointer-events: none;
}
.jrmnr--accent-left .jrmnr-review::before { left: 0; }
.jrmnr--accent-right .jrmnr-review::after { right: 0; }
.jrmnr--accent-v-stretch .jrmnr-review::before,
.jrmnr--accent-v-stretch .jrmnr-review::after { top: var(--jrmnr-accent-offset); height: calc(100% - var(--jrmnr-accent-offset)); }
.jrmnr--accent-v-top .jrmnr-review::before,
.jrmnr--accent-v-top .jrmnr-review::after { top: var(--jrmnr-accent-offset); }
.jrmnr--accent-v-center .jrmnr-review::before,
.jrmnr--accent-v-center .jrmnr-review::after { top: calc(50% + var(--jrmnr-accent-offset)); transform: translateY(-50%); }
.jrmnr--accent-v-bottom .jrmnr-review::before,
.jrmnr--accent-v-bottom .jrmnr-review::after { bottom: calc(0px - var(--jrmnr-accent-offset)); }

/* Cards */
.jrmnr--preset-cards .jrmnr-review,
.jrmnr--grid.jrmnr--mode-static .jrmnr-review {
    border: 1px solid var(--jrmnr-border-color);
    padding: var(--jrmnr-card-padding);
}
.jrmnr--preset-cards .jrmnr-review { border-radius: 0; }

/* Slider core */
.jrmnr-slider { position: relative; width: 100%; }
.jrmnr-slider-stage {
    position: relative;
    overflow: hidden;
    width: 100%;
    transition: height var(--jrmnr-transition-speed) ease;
}
.jrmnr--mode-slider .jrmnr-slider-track { gap: 0; }
.jrmnr--mode-slider .jrmnr-review { margin: 0; }

/* Fade mode: JS switches visible review groups, while the track itself fades. */
.jrmnr-slider[data-jrmnr-ready="1"][data-jrmnr-transition="fade"] .jrmnr-slider-track,
.jrmnr[data-transition="fade"] .jrmnr-slider-track {
    transition: opacity var(--jrmnr-transition-speed) ease;
}
.jrmnr-slider-track.jrmnr-is-fading { opacity: 0; }
.jrmnr[data-transition="fade"] .jrmnr-review[hidden] { display: none !important; }
.jrmnr[data-transition="fade"] .jrmnr-slider-track {
    display: grid;
    grid-template-columns: repeat(var(--jrmnr-per-view, 1), minmax(0, 1fr));
    gap: var(--jrmnr-gap);
}

/* Slide mode */
.jrmnr[data-transition="slide"] .jrmnr-slider-track {
    display: flex;
    align-items: stretch;
    gap: 0;
    will-change: transform;
    transition: transform var(--jrmnr-transition-speed) cubic-bezier(.22,.61,.36,1);
}
.jrmnr[data-transition="slide"] .jrmnr-review {
    flex: 0 0 calc(100% / var(--jrmnr-per-view, 1));
    width: calc(100% / var(--jrmnr-per-view, 1));
}

/* Navigation */
.jrmnr-slider-arrows {
    display: flex;
    align-items: center;
    gap: var(--jrmnr-arrow-gap);
    z-index: 4;
}

/* Hide inert navigation even before JS has initialized. */
.jrmnr[data-slide-count="0"] .jrmnr-slider-arrows,
.jrmnr[data-slide-count="1"] .jrmnr-slider-arrows,
.jrmnr[data-slide-count="0"] .jrmnr-slider-dots,
.jrmnr[data-slide-count="1"] .jrmnr-slider-dots {
    display: none !important;
}

.jrmnr .jrmnr-arrow {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--jrmnr-arrow-size);
    height: var(--jrmnr-arrow-size);
    min-width: var(--jrmnr-arrow-size);
    min-height: var(--jrmnr-arrow-size);
    max-width: var(--jrmnr-arrow-size);
    max-height: var(--jrmnr-arrow-size);
    padding: 0;
    margin: 0;
    border-style: solid;
    border-width: 1px;
    border-color: var(--jrmnr-arrow-border);
    border-radius: var(--jrmnr-arrow-radius);
    background-color: var(--jrmnr-arrow-bg);
    background-image: none;
    color: var(--jrmnr-arrow-color);
    cursor: pointer;
    font: inherit;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    overflow: visible;
    transform: none;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}
.jrmnr .jrmnr-arrow:hover,
.jrmnr .jrmnr-arrow:focus-visible {
    color: var(--jrmnr-arrow-hover-color);
    background-color: var(--jrmnr-arrow-hover-bg);
    border-color: var(--jrmnr-arrow-hover-border);
    background-image: none;
    outline: none;
    box-shadow: none;
}
.jrmnr .jrmnr-arrow:disabled { opacity: .28; cursor: default; }
.jrmnr .jrmnr-arrow[hidden] { display: none !important; }

/* SVG icons prevent theme/Elementor button CSS from clipping pseudo-element arrows. */
.jrmnr-arrow-icon {
    position: relative;
    display: block;
    width: var(--jrmnr-arrow-icon-size);
    height: var(--jrmnr-arrow-icon-size);
    flex: 0 0 var(--jrmnr-arrow-icon-size);
    overflow: visible;
    pointer-events: none;
    transform-origin: 50% 50%;
}
.jrmnr-arrow--prev .jrmnr-arrow-icon { transform: scaleX(-1); }

.jrmnr-arrow-shape {
    display: none;
    fill: none;
    stroke: currentColor;
    stroke-width: var(--jrmnr-arrow-stroke);
    stroke-linecap: square;
    stroke-linejoin: miter;
    vector-effect: non-scaling-stroke;
}
.jrmnr-arrow-style--thin .jrmnr-arrow-shape--thin,
.jrmnr-arrow-style--angle .jrmnr-arrow-shape--angle,
.jrmnr-arrow-style--line .jrmnr-arrow-shape--line,
.jrmnr-arrow-style--block .jrmnr-arrow-shape--block { display: block; }

.jrmnr-arrow-style--thin .jrmnr-arrow-shape--thin { stroke-width: var(--jrmnr-arrow-stroke); }
.jrmnr-arrow-style--block .jrmnr-arrow-shape--block { stroke-width: calc(var(--jrmnr-arrow-stroke) * 1.45); }
.jrmnr-arrow-style--line .jrmnr-arrow-shape--line { stroke-width: var(--jrmnr-arrow-stroke); }
.jrmnr-arrow-style--angle .jrmnr-arrow-shape--angle { stroke-width: var(--jrmnr-arrow-stroke); }
.jrmnr-arrow-style--angle .jrmnr-arrow { border-color: transparent; background-color: transparent; }

/* Arrow positions */
.jrmnr-slider--top-right { padding-top: calc(var(--jrmnr-arrow-size) + 12px); }
.jrmnr-slider--top-right .jrmnr-slider-arrows { position: absolute; top: var(--jrmnr-arrow-y); right: var(--jrmnr-arrow-x); }
.jrmnr-slider--bottom-right { padding-bottom: calc(var(--jrmnr-arrow-size) + 12px); }
.jrmnr-slider--bottom-right .jrmnr-slider-arrows { position: absolute; bottom: calc(0px - var(--jrmnr-arrow-y)); right: var(--jrmnr-arrow-x); }
.jrmnr-slider--bottom-center { padding-bottom: calc(var(--jrmnr-arrow-size) + 12px); }
.jrmnr-slider--bottom-center .jrmnr-slider-arrows { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.jrmnr-slider--inside .jrmnr-slider-arrows { position: absolute; inset: 50% 8px auto; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.jrmnr-slider--inside .jrmnr-arrow { pointer-events: auto; }
.jrmnr-slider--outside .jrmnr-slider-arrows { position: absolute; top: 50%; left: calc(var(--jrmnr-arrow-size) * -1 - 10px); right: calc(var(--jrmnr-arrow-size) * -1 - 10px); justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.jrmnr-slider--outside .jrmnr-arrow { pointer-events: auto; }

/* Dots */
.jrmnr-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--jrmnr-dot-gap);
    margin-top: 14px;
}
.jrmnr-dot {
    appearance: none;
    -webkit-appearance: none;
    width: var(--jrmnr-dot-size);
    height: var(--jrmnr-dot-size);
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: var(--jrmnr-dot-color);
    cursor: pointer;
}
.jrmnr-dot[aria-current="true"] { background: var(--jrmnr-dot-active); }

@media (max-width: 1024px) {
    .jrmnr-slider--outside .jrmnr-slider-arrows { left: 0; right: 0; }
}
@media (max-width: 767px) {
    .jrmnr--grid.jrmnr--mode-static .jrmnr-review-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .jrmnr-slider-stage,
    .jrmnr-slider-track,
    .jrmnr-arrow,
    .jrmnr-source a { transition-duration: 0.01ms !important; }
}

/* Editor-only source-data diagnostic for individual review stars. */
.jrmnr-editor-diagnostic {
    margin: 0 0 1rem auto;
    max-width: 48rem;
    padding: 0.65rem 0.8rem;
    border: 1px dashed rgba(231, 208, 161, 0.45);
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255,255,255,0.72);
    background: rgba(231, 208, 161, 0.06);
}
