/* Pequeña columna sobre la fotografía, sin crear una sección ni alterar el hero. */
.hero-reviews {
  --reviews-visible:2; --review-height:88px; --review-gap:8px;
  position:absolute; z-index:2; right:max(32px,calc((100% - 1440px)/2 + 32px)); bottom:26px;
  width:300px; max-width:calc(100% - 32px); color:var(--text);
}
.reviews-viewport { height:calc(var(--review-height)*var(--reviews-visible) + var(--review-gap)*(var(--reviews-visible) - 1)); overflow:hidden; border-radius:10px; }
.reviews-rail { display:flex; flex-direction:column; gap:var(--review-gap); }
.hero-reviews .review-card { flex:0 0 var(--review-height); height:var(--review-height); min-width:0; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:var(--surface); box-shadow:0 4px 18px rgb(0 0 0 / 12%); }
@supports (background:color-mix(in srgb,white,transparent)) {
  .hero-reviews .review-card,.hero-reviews .reviews-caption { background:color-mix(in srgb,var(--surface) 72%,transparent); backdrop-filter:blur(12px); }
  :root[data-theme="light"] .hero-reviews .review-card,:root[data-theme="light"] .hero-reviews .reviews-caption { background:color-mix(in srgb,var(--surface) 86%,transparent); }
}
.review-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hero-reviews .review-author { display:block; min-width:0; max-width:172px; font-size:11px; line-height:17px; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.review-stars { flex-shrink:0; display:flex; gap:2px; color:var(--accent); }
.review-stars svg { width:11px; height:11px; fill:none; stroke:currentColor; stroke-width:1.5; }
.review-stars .filled { fill:currentColor; }
:root[data-theme="light"] .review-stars { color:#94601d; }
.hero-reviews .review-comment { margin:7px 0 0; font-size:12px; line-height:17px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.review-comment a { color:inherit; }
.reviews-caption { position:relative; display:flex; align-items:center; gap:8px; padding:0 6px 0 10px; min-height:26px; margin-top:6px; border-radius:8px; background:var(--surface); color:var(--text); font-size:10px; }
.reviews-caption > a { font-weight:700; color:var(--text); min-height:26px; display:flex; align-items:center; gap:5px; }
.reviews-caption > span { flex:1; }
.reviews-caption button { flex:0 0 44px; min-width:44px; height:44px; margin-block:-9px; display:grid; place-items:center; color:var(--text); background:transparent; border:0; border-radius:50%; }
.reviews-caption button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.review-play-glyph { display:none; }
.is-paused .review-play-glyph { display:block; }
.is-paused .review-pause-glyph { display:none; }
.reviews-caption button[hidden] { display:none; }
.reviews-snapshot-caption { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:0 6px; min-height:47px; padding:5px 8px 5px 10px; }
.reviews-snapshot-caption > a { grid-column:1; min-height:22px; font-size:10px; }
.reviews-snapshot-caption > small { grid-column:1; font-size:9px; line-height:14px; color:var(--text-muted); }
.reviews-snapshot-caption > button { grid-column:2; grid-row:1/3; margin:0 -5px; }
.hero-reviews-pending { width:240px; }
.hero-reviews-pending .reviews-caption { min-height:36px; }
.reviews-google-link { display:grid; grid-template-columns:32px minmax(0,1fr) 18px; align-items:center; gap:12px; min-height:76px; padding:13px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text); text-decoration:none; box-shadow:0 4px 18px rgb(0 0 0 / 10%); }
.reviews-google-mark { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--border); border-radius:50%; font:700 21px/1 Arial,sans-serif; color:var(--text); }
.reviews-google-copy { min-width:0; }
.reviews-google-eyebrow { display:block; margin-bottom:3px; color:var(--text-muted); font-size:10px; line-height:15px; }
.reviews-google-copy strong { display:block; font-size:12px; line-height:18px; font-weight:700; }
.reviews-google-arrow { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.reviews-google-link:hover { border-color:var(--border-strong); }
.reviews-editor { width:min(820px,100%); }
.reviews-editor > p:not(.control-eyebrow) { color:var(--text-muted); line-height:1.6; }
.reviews-import-label { display:grid; gap:8px; margin-top:20px; font-size:13px; font-weight:700; }
.reviews-import-label textarea { width:100%; min-width:0; padding:12px; resize:vertical; border:1px solid var(--border-strong); border-radius:8px; color:var(--text); background:var(--field-bg); font:12px/1.6 ui-monospace,monospace; }
.reviews-editor-tools { display:flex; flex-wrap:wrap; gap:8px; margin-block:16px; }
.reviews-file-label { position:relative; overflow:hidden; cursor:pointer; }
.reviews-file-label input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.reviews-file-label:focus-within { outline:2px solid var(--focus); outline-offset:2px; }
.reviews-reuse-confirm { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid var(--border); border-radius:8px; font-size:12px; line-height:1.6; }
.reviews-reuse-confirm input { flex:0 0 auto; margin-top:4px; }
.reviews-editor-preview:empty { display:none; }
.reviews-editor-preview { max-height:300px; overflow:auto; margin-bottom:18px; padding:14px; border:1px solid var(--border); border-radius:8px; }
.reviews-editor-preview h3 { margin-top:0; font-size:15px; }
.reviews-editor-preview ol { margin:0; padding-left:22px; }
.reviews-editor-preview li { padding:10px 0; border-top:1px solid var(--border); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.reviews-editor-preview li > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }
.reviews-editor-preview li p { white-space:pre-wrap; }
.reviews-editor-preview small { color:var(--text-muted); }
.reviews-editor-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.reviews-editor-actions > span { flex:1; }
.reviews-settings-summary p { margin-top:0; }
.reviews-editor [data-reviews-clear-panel]:not([hidden]) { padding:14px; border:1px solid var(--danger-text); border-radius:8px; font-size:13px; line-height:1.6; }
.reviews-row-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:22px 0 16px; }
.reviews-row-toolbar > strong { font-size:12px; color:var(--text-muted); }
.reviews-edit-row { margin-bottom:16px; padding:16px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.reviews-edit-row > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.reviews-edit-row h3 { margin:0; font-size:15px; }
.reviews-edit-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.reviews-edit-grid label { display:grid; gap:7px; min-width:0; font-size:12px; font-weight:650; }
.reviews-edit-grid label > span { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.reviews-edit-grid small { color:var(--text-muted); font-size:10px; font-weight:400; line-height:1.5; }
.reviews-edit-grid input,.reviews-edit-grid select,.reviews-edit-grid textarea { min-width:0; width:100%; min-height:44px; padding:10px 11px; border:1px solid var(--border-strong); border-radius:6px; color:var(--text); background:var(--field-bg); font:inherit; font-weight:400; }
.reviews-edit-grid textarea { resize:vertical; line-height:1.6; }
.reviews-comment-field { grid-column:1/-1; }
.reviews-editor-empty { padding:22px; border:1px dashed var(--border-strong); border-radius:10px; text-align:center; font-size:13px; }
.reviews-editor-empty p { margin-bottom:0; color:var(--text-muted); font-size:12px; line-height:1.6; }
.reviews-advanced { margin:20px 0; padding:14px; border:1px solid var(--border); border-radius:8px; }
.reviews-advanced > summary { cursor:pointer; font-size:12px; font-weight:650; }
.reviews-list-review { margin:16px 0; }
@media(max-width:640px) { .reviews-edit-grid { grid-template-columns:1fr; }.reviews-edit-row { padding:12px; }.reviews-editor-actions > .control-button.primary { flex:1 0 100%; } }
@supports (background:color-mix(in srgb,white,transparent)) {
  .reviews-google-link { background:color-mix(in srgb,var(--surface) 78%,transparent); backdrop-filter:blur(12px); }
  :root[data-theme="light"] .reviews-google-link { background:color-mix(in srgb,var(--surface) 90%,transparent); }
}
.hero-reviews a:focus-visible,.hero-reviews button:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
@media (max-width:1100px) { .hero-reviews { --reviews-visible:1; width:272px; right:24px; bottom:24px; } }
@media (max-width:640px) {
  .hero-reviews { position:relative; inset:auto; align-self:flex-end; width:300px; max-width:calc(100% - 48px); margin:0 24px 28px; }
  .hero-reviews .review-card,.hero-reviews .reviews-caption { background:var(--surface)!important; backdrop-filter:none; }
  .hero-reviews-link { max-width:calc(100% - 48px); }
  .reviews-google-link { background:var(--surface); backdrop-filter:none; }
}
