/**
 * CM Reviews (cm-reviews/reviews) - the looks and the grid. Every colour and space is a --cm-rv-* variable: defaults from config.php
 * (build_global_css_properties), a site's own values from its site-specific.css, the panels' per-element values inline. Sizes are the cm-fse
 * classes. Two-selector rule. The section spans the page so its colour runs edge to edge; the inner wrapper carries the width classes and is
 * the container (cm-cqi-container) the tiers query: the section's own padding rule measures the torso (851px, a container cannot query itself).
 * The CAROUSEL row (viewport, track, card sizing per tier, the end cards, the focus-ring room, the Pause button's visibility) is cm-alpha's
 * ui-carousel (cm-carousel.css); the wrapper hands it --cm-carousel-gap and --cm-carousel-ring. The GRID (Arrangement Grid) is this block's:
 * one across, two from 523px, --cm-carousel-across from 950px (the same variable the carousel reads: HR-47); a card past the first page carries
 * `hidden`, which the rule below honours over the card's own display: flex (HR-39). The Simple quotes style (.is-style-simple-quotes on the
 * wrapper) prints the name as a heading, the photo floated inside the words, no stars, tag, card box or spacing (the zeros About Alfred types
 * today, HR-50). No dialog rule: the read-more dialog is ui-modals' and sits outside the block (HR-22).
 */
.editor-styles-wrapper .wp-block-cm-reviews-reviews,
.wp-block-cm-reviews-reviews {
    box-sizing: border-box;
    display: block;
    clear: both;
    position: relative;
    background: var(--cm-rv-bg);
    color: var(--cm-rv-text);
    --cm-carousel-gap: var(--cm-rv-gap);   /* the library's row reads these two from the wrapper; never set at :root (HR-16) */
    --cm-carousel-ring: var(--cm-rv-ring);
}
.editor-styles-wrapper .wp-block-cm-reviews-reviews *,
.wp-block-cm-reviews-reviews * { box-sizing: border-box; }

.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__inner,
.wp-block-cm-reviews-reviews .cm-rv__inner { padding: var(--cm-rv-section-pad) 0; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__inner,
.wp-block-cm-reviews-reviews .cm-rv__inner,
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__inner p,
.wp-block-cm-reviews-reviews .cm-rv__inner p { letter-spacing: normal; } /* the z width classes set a tracking on the wrapper AND on every p inside it */

/* The heading row */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__head,
.wp-block-cm-reviews-reviews .cm-rv__head { margin-bottom: var(--cm-rv-head-gap); }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__words > *,
.wp-block-cm-reviews-reviews .cm-rv__words > * { margin: 0; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews p.cm-rv__kicker,
.wp-block-cm-reviews-reviews p.cm-rv__kicker { letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--cm-rv-accent); } /* p: outranks the tracking reset above */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__title,
.wp-block-cm-reviews-reviews .cm-rv__title { margin-top: 0.2em; color: var(--cm-rv-text); font-weight: 600; line-height: 1.2; text-wrap: balance; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__rating,
.wp-block-cm-reviews-reviews .cm-rv__rating { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cm-rv-rating-gap); margin-top: 0.5em; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__number,
.wp-block-cm-reviews-reviews .cm-rv__number { margin: 0; font-weight: 600; line-height: 1; }

/* The stars: five drawings in a row, the filled ones gold (decoration: the group carries the label) */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__stars,
.wp-block-cm-reviews-reviews .cm-rv__stars { display: inline-flex; gap: 0.1em; line-height: 0; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__star,
.wp-block-cm-reviews-reviews .cm-rv__star { width: var(--cm-rv-star-size); height: var(--cm-rv-star-size); fill: var(--cm-rv-star-off); }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__star--on,
.wp-block-cm-reviews-reviews .cm-rv__star--on { fill: var(--cm-rv-star); }

/* The grid arrangement: one across, then two, then the panel's number; a hidden card (past the first page) stays hidden (HR-39) */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__reviews,
.wp-block-cm-reviews-reviews .cm-rv__reviews { margin: 0; padding: 0; list-style: none; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__reviews--grid,
.wp-block-cm-reviews-reviews .cm-rv__reviews--grid { display: grid; grid-template-columns: 1fr; gap: var(--cm-rv-gap); outline: none; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__review[hidden],
.wp-block-cm-reviews-reviews .cm-rv__review[hidden] { display: none; }

/* A card: stars, the media icon, the words, then the reviewer line at the bottom */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__review,
.wp-block-cm-reviews-reviews .cm-rv__review { display: flex; flex-direction: column; gap: var(--cm-rv-card-gap); padding: var(--cm-rv-card-pad); background: var(--cm-rv-card-bg); border: 1px solid var(--cm-rv-border); border-radius: var(--cm-rv-radius); }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__media,
.wp-block-cm-reviews-reviews .cm-rv__media { display: flex; flex-direction: column; align-items: center; gap: 0.2em; margin: 0 auto; padding: 0.4em; border: 0; background: none; color: var(--cm-rv-accent); font-family: inherit; line-height: 1.2; cursor: pointer; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__media-icon,
.wp-block-cm-reviews-reviews .cm-rv__media-icon { display: block; width: var(--cm-rv-media-size); height: var(--cm-rv-media-size); }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__media-icon .cm-icon,
.wp-block-cm-reviews-reviews .cm-rv__media-icon .cm-icon { width: 100%; height: 100%; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__media-kind,
.wp-block-cm-reviews-reviews .cm-rv__media-kind { font-weight: 600; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__media:focus-visible,
.wp-block-cm-reviews-reviews .cm-rv__media:focus-visible,
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__read-more:focus-visible,
.wp-block-cm-reviews-reviews .cm-rv__read-more:focus-visible,
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__page:focus-visible,
.wp-block-cm-reviews-reviews .cm-rv__page:focus-visible { outline: 2px solid var(--cm-rv-accent); outline-offset: 2px; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__text,
.wp-block-cm-reviews-reviews .cm-rv__text { margin: 0; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-line; } /* a typed line break stays a line break on the card (the 1.3.0 rule) */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__read-more,
.wp-block-cm-reviews-reviews .cm-rv__read-more { margin: 0 0 0 0.3em; padding: 0; border: 0; background: none; color: var(--cm-rv-accent); font-family: inherit; font-weight: 600; cursor: pointer; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__who,
.wp-block-cm-reviews-reviews .cm-rv__who { display: flex; align-items: center; gap: 0.6em; margin-top: auto; border-top: 1px solid var(--cm-rv-rule); padding-top: 0.7em; line-height: 1.3; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__avatar,
.wp-block-cm-reviews-reviews .cm-rv__avatar { display: grid; place-items: center; flex: none; width: var(--cm-rv-avatar-size); height: var(--cm-rv-avatar-size); border-radius: 50%; background: var(--cm-rv-avatar-bg); color: var(--cm-rv-avatar-text); font-weight: 600; line-height: 1; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__photo,
.wp-block-cm-reviews-reviews .cm-rv__photo { object-fit: cover; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__name,
.wp-block-cm-reviews-reviews .cm-rv__name { min-width: 0; overflow-wrap: anywhere; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__tag,
.wp-block-cm-reviews-reviews .cm-rv__tag { margin-left: auto; opacity: 0.8; white-space: nowrap; }

/* The page buttons under a grid (Previous, the numbers, Next) */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__pages,
.wp-block-cm-reviews-reviews .cm-rv__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4em; margin-top: var(--cm-rv-gap); }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__page,
.wp-block-cm-reviews-reviews .cm-rv__page { padding: 0.4em 0.8em; border: 1px solid var(--cm-rv-border); border-radius: var(--cm-rv-radius); background: var(--cm-rv-card-bg); color: var(--cm-rv-accent); font-family: inherit; cursor: pointer; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__page[aria-current],
.wp-block-cm-reviews-reviews .cm-rv__page[aria-current] { background: var(--cm-rv-accent); border-color: var(--cm-rv-accent); color: var(--cm-rv-card-bg); }
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__page:disabled,
.wp-block-cm-reviews-reviews .cm-rv__page:disabled { opacity: 0.45; cursor: default; }

/* The Pause link's look (centred under the row); its showing and hiding is the library's rule alone (HR-8) */
.editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__pause,
.wp-block-cm-reviews-reviews .cm-rv__pause { margin: 0.6em auto 0; padding: 0; border: 0; background: none; color: var(--cm-rv-accent); font-family: inherit; text-decoration: underline; cursor: pointer; }

/* The Simple quotes style: press quotes, no card box, the name as a heading first, the square photo tucked into the words' first lines (HR-45);
   the zeros About Alfred types today are the style's own (a typed zero prints nothing through the shared panels: HR-50) */
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes,
.wp-block-cm-reviews-reviews.is-style-simple-quotes { background: none; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__inner,
.wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__inner { padding: 0; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__review,
.wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__review { display: block; padding: 0; gap: 0; background: none; border: 0; border-radius: 0; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__who--quote,
.wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__who--quote { display: block; margin: 0; border-top: 0; padding-top: 0; font-weight: 600; line-height: 1.3; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__text,
.wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__text { margin: 0; }
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__text::after,
.wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__text::after { content: ""; display: block; clear: both; } /* the paragraph grows to the photo's height */
.editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__quote-photo,
.wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__quote-photo { float: left; width: var(--cm-rv-quote-photo); height: var(--cm-rv-quote-photo); margin: 0.2em 0.6em 0.2em 0; object-fit: cover; }

@container (min-width: 523px) {
    .editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__reviews--grid,
    .wp-block-cm-reviews-reviews .cm-rv__reviews--grid { grid-template-columns: repeat(2, 1fr); }
}
@container (min-width: 851px) { /* measured on the torso, not the inner wrapper (see the head comment) */
    .editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__inner,
    .wp-block-cm-reviews-reviews .cm-rv__inner { padding: var(--cm-rv-section-pad-wide) 0; }
    .editor-styles-wrapper .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__inner,
    .wp-block-cm-reviews-reviews.is-style-simple-quotes .cm-rv__inner { padding: 0; }
}
@container (min-width: 950px) {
    .editor-styles-wrapper .wp-block-cm-reviews-reviews .cm-rv__reviews--grid,
    .wp-block-cm-reviews-reviews .cm-rv__reviews--grid { grid-template-columns: repeat(var(--cm-carousel-across), 1fr); }
}
