/**
 * CM Google Reviews - the layout and the looks. Every colour and space is a --cm-grv-* variable: defaults from config.php
 * (build_global_css_properties), a site's own values from its site-specific.css, the reviews-across choice inline from the panel.
 * 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 (the sibling blocks' width) and is the container (cm-cqi-container) the grid queries: one review across, two from a 523px
 * wrapper (= its width on a 551px page, the zm tier), the panel's number from 950px (the zt tier starts at 1001px x 0.95 = 950.95);
 * the section's own padding is on the inner wrapper, and a container cannot query itself: that rule measures the torso (the page's width), so it
 * switches at the zu tier's first pixel, 851px (audit, 2026-10-21: 808px there engaged a page too early).
 */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews,
.wp-block-w4ya-cm-google-reviews {
    box-sizing: border-box;
    display: block;
    clear: both;
    position: relative;
    background: var(--cm-grv-bg);
    color: var(--cm-grv-text);
}
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews *,
.wp-block-w4ya-cm-google-reviews * { box-sizing: border-box; }

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

/* The heading row: the words left, the all-reviews link right on their shared baseline; the link drops under the words when the row is narrow */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__head,
.wp-block-w4ya-cm-google-reviews .cm-grv__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--cm-grv-head-row-gap) var(--cm-grv-gap); margin-bottom: var(--cm-grv-head-gap); }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__words > *,
.wp-block-w4ya-cm-google-reviews .cm-grv__words > * { margin: 0; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews p.cm-grv__kicker,
.wp-block-w4ya-cm-google-reviews p.cm-grv__kicker { letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--cm-grv-accent); } /* p: outranks the tracking reset above */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__title,
.wp-block-w4ya-cm-google-reviews .cm-grv__title { margin-top: 0.2em; color: var(--cm-grv-text); font-weight: 600; line-height: 1.2; text-wrap: balance; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__rating,
.wp-block-w4ya-cm-google-reviews .cm-grv__rating { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cm-grv-rating-gap); margin-top: 0.5em; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__number,
.wp-block-w4ya-cm-google-reviews .cm-grv__number { margin: 0; font-weight: 600; line-height: 1; } /* margin: the size class carries one */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__more,
.wp-block-w4ya-cm-google-reviews .cm-grv__more { font-weight: 600; color: var(--cm-grv-accent); text-decoration: none; border-bottom: var(--cm-grv-more-rule-width) solid var(--cm-grv-more-rule); padding-bottom: var(--cm-grv-more-rule-width); }

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

/* The reviews: one across, then two, then the panel's number (below); each card stars, words, then the reviewer line at the bottom */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__reviews,
.wp-block-w4ya-cm-google-reviews .cm-grv__reviews { display: grid; grid-template-columns: 1fr; gap: var(--cm-grv-gap); margin: 0; padding: 0; list-style: none; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__review,
.wp-block-w4ya-cm-google-reviews .cm-grv__review { display: flex; flex-direction: column; gap: var(--cm-grv-card-gap); padding: var(--cm-grv-card-pad); background: var(--cm-grv-card-bg); border: 1px solid var(--cm-grv-border); border-radius: var(--cm-grv-radius); }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__text,
.wp-block-w4ya-cm-google-reviews .cm-grv__text { margin: 0; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-line; } /* a typed line break stays a line break */ /* a pasted address or a long name never pushes past the card */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__who,
.wp-block-w4ya-cm-google-reviews .cm-grv__who { display: flex; align-items: center; gap: 0.6em; margin-top: auto; border-top: 1px solid var(--cm-grv-rule); padding-top: 0.7em; line-height: 1.3; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__avatar,
.wp-block-w4ya-cm-google-reviews .cm-grv__avatar { display: grid; place-items: center; flex: none; width: var(--cm-grv-avatar-size); height: var(--cm-grv-avatar-size); border-radius: 50%; background: var(--cm-grv-avatar-bg); color: var(--cm-grv-avatar-text); font-weight: 600; line-height: 1; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__name,
.wp-block-w4ya-cm-google-reviews .cm-grv__name { min-width: 0; overflow-wrap: anywhere; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__tag,
.wp-block-w4ya-cm-google-reviews .cm-grv__tag { margin-left: auto; opacity: 0.8; white-space: nowrap; }

/* The canvas stand-in for a review without words or a name (the page prints neither) */
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__placeholder,
.wp-block-w4ya-cm-google-reviews .cm-grv__placeholder { opacity: 0.7; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews p.cm-grv__placeholder,
.wp-block-w4ya-cm-google-reviews p.cm-grv__placeholder { border: 1px dashed var(--cm-grv-border); border-radius: var(--cm-grv-radius); padding: 0.6em; }
.editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__avatar.cm-grv__placeholder,
.wp-block-w4ya-cm-google-reviews .cm-grv__avatar.cm-grv__placeholder { background: transparent; color: var(--cm-grv-text); border: 1px dashed var(--cm-grv-border); }

@container (min-width: 523px) {
    .editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__reviews,
    .wp-block-w4ya-cm-google-reviews .cm-grv__reviews { 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-w4ya-cm-google-reviews .cm-grv__inner,
    .wp-block-w4ya-cm-google-reviews .cm-grv__inner { padding: var(--cm-grv-section-pad-wide) 0; }
}
@container (min-width: 950px) {
    .editor-styles-wrapper .wp-block-w4ya-cm-google-reviews .cm-grv__reviews,
    .wp-block-w4ya-cm-google-reviews .cm-grv__reviews { grid-template-columns: repeat(var(--cm-grv-across), 1fr); }
}
