/* Theme colours are inherited; content panels are transparent and links/buttons use theme rules. */
.msgr{--msgr-accent:currentColor;box-sizing:border-box;max-width:1200px;margin:2rem auto;padding:clamp(18px,3vw,36px);border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);border-radius:16px;background:transparent;color:inherit;font-family:inherit;line-height:1.6}
.msgr *{box-sizing:border-box}.msgr h2{margin:0 0 1rem;font-size:clamp(24px,3vw,34px);line-height:1.2;color:inherit}.msgr h3{margin:0;font-size:21px;color:inherit}.msgr p{margin:.7rem 0}.msgr a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.msgr a:focus-visible,.msgr button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.msgr .msgr-load{font:inherit;font-weight:600;padding:12px 20px;border:0;border-radius:6px;cursor:pointer}.msgr .msgr-load[hidden]{display:none}.msgr .msgr-load:disabled{opacity:.65;cursor:wait}
.msgr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.msgr-columns-2 .msgr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.msgr-columns-1 .msgr-grid{grid-template-columns:1fr}
.msgr-card{min-width:0;padding:20px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);border-radius:10px;background:transparent}.msgr-author{display:flex;gap:10px;align-items:center}.msgr .msgr-author img{width:40px;height:40px;object-fit:cover;border-radius:50%;flex-shrink:0}.msgr-stars{color:var(--msgr-accent);letter-spacing:1px;white-space:nowrap}.msgr-score{font-size:14px}.msgr-text{white-space:pre-wrap;overflow-wrap:anywhere}.msgr-date,.msgr-note,.msgr-source,.msgr-legal{font-size:13px;color:inherit}.msgr-legal a+a{margin-left:16px}.msgr-attribution{padding:10px 10px 5px;background:transparent;display:inline-block}.msgr .msgr-attribution img{height:18px!important;width:auto!important;max-width:none;display:block;border:0;border-radius:0}.msgr-summary{padding:16px 0;border-bottom:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent)}
@media(max-width:800px){.msgr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.msgr-grid,.msgr-columns-2 .msgr-grid{grid-template-columns:1fr}.msgr{padding:18px}.msgr-card{padding:16px}}

/* Theme clearfix pseudo-elements otherwise become extra CSS grid items. */
.msgr .msgr-grid::before,.msgr .msgr-grid::after{content:none!important;display:none!important}

/* One native scrollable row: three cards on desktop, two on tablets, one with a peek on phones. */
.msgr .msgr-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;padding:4px 2px 16px;scrollbar-width:thin;scrollbar-color:auto;max-width:100%;min-width:0}
.msgr.msgr-columns-2 .msgr-grid{grid-auto-columns:calc((100% - 16px)/2)}
.msgr.msgr-columns-1 .msgr-grid{grid-auto-columns:100%}
.msgr .msgr-grid>.msgr-card{scroll-snap-align:start;max-width:none;margin:0;float:none;grid-column:auto;grid-row:auto}
.msgr .msgr-grid:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.msgr .msgr-scroll-controls{display:flex;justify-content:flex-end;gap:8px;margin:8px 0}
.msgr .msgr-scroll-controls[hidden]{display:none}
.msgr .msgr-scroll-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid currentColor;border-radius:50%;font-size:24px;line-height:1;font-family:inherit;cursor:pointer}
.msgr .msgr-scroll-controls button:disabled{opacity:.35;cursor:default}
@media(max-width:800px){.msgr .msgr-grid{grid-auto-columns:calc((100% - 16px)/2)}}
@media(max-width:560px){.msgr .msgr-grid,.msgr.msgr-columns-2 .msgr-grid{grid-auto-columns:88%}}

/* Optional presentation switches; preserve spacing and review-card borders. */
.msgr.msgr-no-border{border:0!important}
.msgr .msgr-summary.msgr-no-separator{border-bottom:0!important}

/* Optional admin customisations; blank settings preserve the theme-based defaults. */
.msgr{background:var(--msgr-background,transparent);padding:var(--msgr-padding,clamp(18px,3vw,36px));border-radius:var(--msgr-radius,16px)}
.msgr .msgr-card{background:var(--msgr-card-background,transparent);border-radius:var(--msgr-radius,10px)}
.msgr .msgr-stars{font-size:var(--msgr-star-size,inherit);color:var(--msgr-star-color,var(--msgr-accent,currentColor))}
.msgr[style*="--msgr-text-color:"]{color:var(--msgr-text-color)}
.msgr[style*="--msgr-text-color:"] p,.msgr[style*="--msgr-text-color:"] .msgr-score{color:var(--msgr-text-color)}
.msgr[style*="--msgr-heading-color:"] h2{color:var(--msgr-heading-color)}
.msgr[style*="--msgr-link-color:"] a{color:var(--msgr-link-color)}
.msgr[style*="--msgr-font-size:"]{font-size:var(--msgr-font-size)}
.msgr[style*="--msgr-font-size:"] p,.msgr[style*="--msgr-font-size:"] .msgr-score{font-size:var(--msgr-font-size)}
.msgr[style*="--msgr-score-size:"] .msgr-score{font-size:var(--msgr-score-size)}
.msgr[style*="--msgr-heading-size:"] h2{font-size:var(--msgr-heading-size)}
.msgr[style*="--msgr-border-color:"],.msgr[style*="--msgr-border-color:"] .msgr-card,.msgr[style*="--msgr-border-color:"] .msgr-summary{border-color:var(--msgr-border-color)}
@media(max-width:560px){.msgr{padding:var(--msgr-padding,18px)}}

/* Only the overall rating uses these layout options; individual cards stay unchanged. */
.msgr .msgr-summary.msgr-rating-stacked .msgr-stars{display:block;margin-bottom:var(--msgr-rating-gap,4px)}
.msgr .msgr-summary.msgr-rating-centered,.msgr .msgr-summary.msgr-rating-centered>p{text-align:center}

/* Explicit two-row layout avoids theme line-height and span-margin interference. */
.msgr .msgr-summary.msgr-rating-stacked>.msgr-rating-lines{display:flex!important;flex-direction:column!important;align-items:flex-start;row-gap:var(--msgr-rating-gap,4px)!important}
.msgr .msgr-summary.msgr-rating-stacked>.msgr-rating-lines>.msgr-stars,.msgr .msgr-summary.msgr-rating-stacked>.msgr-rating-lines>.msgr-score-line{display:block!important;margin:0!important;padding:0!important;line-height:1!important}
.msgr .msgr-summary.msgr-rating-stacked .msgr-score{line-height:1!important}
.msgr .msgr-summary.msgr-rating-centered>.msgr-rating-lines{align-items:center!important;text-align:center}

/* Predictable spacing: no implicit outer or nested rating gaps. Per-side values win. */
.msgr[data-msgr]{margin-top:var(--msgr-margin-top,0px)!important;margin-bottom:var(--msgr-margin-bottom,0px)!important;padding-top:var(--msgr-padding-top,var(--msgr-padding,clamp(18px,3vw,36px)))!important;padding-bottom:var(--msgr-padding-bottom,var(--msgr-padding,clamp(18px,3vw,36px)))!important;padding-left:var(--msgr-padding-left,var(--msgr-padding,clamp(18px,3vw,36px)))!important;padding-right:var(--msgr-padding-right,var(--msgr-padding,clamp(18px,3vw,36px)))!important;min-height:0}
.msgr[data-msgr] .msgr-summary{margin:0!important;padding:0!important}
.msgr[data-msgr] .msgr-summary>.msgr-rating-lines{margin:0!important;padding:0!important}
.msgr[data-msgr]>.msgr-result,.msgr[data-msgr] .msgr-google-content{margin:0;padding:0;min-height:0;display:flow-root}
.msgr[data-msgr] .msgr-google-content>:last-child,.msgr[data-msgr]>.msgr-links:last-of-type{margin-bottom:0}
.msgr .msgr-attribution{vertical-align:bottom}
.msgr.msgr-clickable{position:relative;cursor:pointer}
.msgr .msgr-widget-link{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.msgr .msgr-widget-link,.msgr .msgr-widget-link:focus{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.msgr.msgr-clickable:has(>.msgr-widget-link:focus-visible){outline:3px solid currentColor;outline-offset:3px}

/* Native static link works on the first touch, even with delayed/disabled JavaScript. */
.msgr a.msgr-static-content-link{display:block!important;text-decoration:none!important;color:inherit!important;margin:0!important;padding:0!important;line-height:inherit;touch-action:manipulation}
.msgr a.msgr-static-content-link:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.msgr[data-msgr] h2.msgr-heading{line-height:1.2!important;margin:0 0 12px!important;padding:0!important;min-height:0!important}
.msgr[data-msgr]>.msgr-static-content-link>.msgr-result{margin:0!important;padding:0!important;display:flow-root}
@media(max-width:767px){.msgr[data-msgr]{padding-top:var(--msgr-mobile-padding-top,var(--msgr-padding-top,var(--msgr-padding,18px)))!important;padding-bottom:var(--msgr-mobile-padding-bottom,var(--msgr-padding-bottom,var(--msgr-padding,18px)))!important;margin-top:var(--msgr-mobile-margin-top,var(--msgr-margin-top,0px))!important;margin-bottom:var(--msgr-mobile-margin-bottom,var(--msgr-margin-bottom,0px))!important}}
