/* Reseñas de Google y mapa (portada y contacto). Colores y formas de la marca: sin pastillas, radios casi rectos. */
.gvr{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;min-width:0}
.gvr-head{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;padding:1.25rem 1.5rem;background:#eaf1f7;border-radius:.5rem}
.gvr-head--lite{background:none;padding:0}
.gvr-score{display:flex;align-items:center;gap:.9rem}
.gvr-score b{font-family:var(--font-display,Georgia,serif);font-size:3rem;font-weight:600;line-height:1;color:#0c1e38;font-variant-numeric:tabular-nums}
.gvr-stars{color:#f5b301;letter-spacing:.12em;font-size:1.125rem;line-height:1;white-space:nowrap}
.gvr-stars i{font-style:normal;color:#c9d4e0}
.gvr-sum{display:grid;gap:.15rem;flex:1;min-width:12rem}
.gvr-sum strong{font-family:var(--font-display,Georgia,serif);font-size:1.1875rem;font-weight:600;color:#0c1e38}
.gvr-sum span{font-size:.9375rem;color:#52627a}
.gvr-act{display:flex;flex-wrap:wrap;gap:.5rem}
/* Comentarios: carrusel con anclaje al deslizar */
.gvr-wrap{position:relative}
.gvr-list{display:flex;gap:1rem;margin:0;padding:.25rem .125rem 1rem;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:.125rem;scrollbar-width:thin;scrollbar-color:#c9d4e0 transparent;overscroll-behavior-x:contain}
.gvr-list:focus-visible{outline:3px solid #93c5ea;outline-offset:2px;border-radius:.5rem}
.gvr-card{flex:0 0 min(22rem,86%);scroll-snap-align:start;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.375rem;background:#fff;border:1px solid rgba(12,30,56,.14);border-radius:.5rem;box-shadow:0 1px 2px rgb(7 26 51/.05),0 10px 24px -16px rgb(7 26 51/.3)}
.gvr-who{display:flex;align-items:center;gap:.75rem}
.gvr-who b{display:block;font-size:1rem;font-weight:600;color:#0c1e38;line-height:1.2}
.gvr-who small{display:block;margin-top:.15rem;font-size:.8125rem;color:#52627a}
.gvr-av{position:relative;overflow:hidden;display:grid;place-items:center;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:999px;color:#fff;font-weight:700;font-size:1.0625rem}
.gvr-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.gvr-txt{margin:0;font-size:.9688rem;line-height:1.6;color:#0c1e38;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;white-space:pre-line}
.gvr-card.is-open .gvr-txt{display:block;-webkit-line-clamp:unset;overflow:visible}
.gvr-more{align-self:flex-start;margin:-.25rem 0 0;padding:.25rem 0;border:0;background:none;font:inherit;font-size:.9rem;font-weight:600;color:var(--gv-primary,#0066a9);text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.gvr-more:focus-visible{outline:3px solid #93c5ea;outline-offset:2px}
.gvr-src{margin-top:auto;padding-top:.25rem;font-size:.8125rem;color:#52627a}
a.gvr-src{color:var(--gv-primary,#0066a9);font-weight:600;text-decoration:underline;text-underline-offset:.25em;width:max-content}
a.gvr-src:hover{color:#0c1e38}
a.gvr-src:focus-visible{outline:3px solid #93c5ea;outline-offset:2px;border-radius:2px}
.gvr-nav{position:absolute;top:calc(50% - 1.25rem);z-index:2;display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid rgba(12,30,56,.18);border-radius:999px;background:#fff;color:#0c1e38;box-shadow:0 6px 18px -6px rgb(7 26 51/.4);cursor:pointer;transition:background .2s,color .2s}
.gvr-nav:hover{background:#0c1e38;color:#fff}
.gvr-nav:focus-visible{outline:3px solid #93c5ea;outline-offset:2px}
.gvr-nav[hidden]{display:none}
.gvr-prev{left:-.75rem}.gvr-next{right:-.75rem}
@media(max-width:639px){.gvr-nav{display:none}.gvr-head{padding:1rem 1.125rem}.gvr-score b{font-size:2.5rem}}
/* Mapa: horizontal y bajo (antes era 4:3 y quedaba enorme) */
.gvr-map{overflow:hidden;border-radius:.5rem;border:1px solid rgba(12,30,56,.14);background:#eaf1f7}
.gvr-map iframe{display:block;width:100%;height:clamp(16rem,36vw,23rem);border:0}
@media(prefers-reduced-motion:reduce){.gvr-nav{transition:none}}

/* Fotos de la ficha de Google: mosaico con la primera grande; cada foto lleva el crédito del autor (lo pide Google). */
.gvr-fotos{margin-top:1rem}
.gvr-fotos h3{margin:0 0 1rem;font-family:var(--font-display,Georgia,serif);font-size:1.375rem;font-weight:600;line-height:1.2;color:#0c1e38}
.gvr-fotos ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:9.5rem;gap:.5rem}
.gvr-fotos li{min-width:0}
.gvr-fotos li:first-child{grid-column:span 2;grid-row:span 2}
.gvr-fotos figure{position:relative;height:100%;margin:0;overflow:hidden;border-radius:.375rem;background:#eaf1f7}
.gvr-fotos img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gvr-fotos figure:hover img{transform:scale(1.04)}
.gvr-fotos figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem .625rem .45rem;font-size:.75rem;line-height:1.3;color:#fff;background:linear-gradient(to top,rgb(7 26 51/.75),transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gvr-fotos figcaption a{color:inherit;text-decoration:underline;text-decoration-color:rgb(255 255 255/.5);text-underline-offset:.2em}
.gvr-fotos figcaption a:focus-visible{outline:2px solid #93c5ea;outline-offset:2px}
/* Cantidad visible según el ancho, para que el mosaico cierre sin huecos: 5 (celular), 9 (tableta), 7 (escritorio). */
.gvr-fotos li:nth-child(n+6){display:none}
@media(min-width:640px){.gvr-fotos ul{grid-template-columns:repeat(4,1fr);grid-auto-rows:10rem}.gvr-fotos li:nth-child(n+6){display:block}.gvr-fotos li:nth-child(n+10){display:none}}
@media(min-width:1024px){.gvr-fotos ul{grid-template-columns:repeat(5,1fr);grid-auto-rows:11rem}.gvr-fotos li:nth-child(n+8){display:none}}
@media(prefers-reduced-motion:reduce){.gvr-fotos img{transition:none}}

/* Portada (variant "reviews"): presentación a la izquierda (título, nota grande, botones) y comentarios a la derecha; fotos abajo. */
.gvr--home{gap:0}
.gvr-top{display:grid;gap:2.5rem;min-width:0}
@media(min-width:1024px){.gvr-top{grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:4rem;align-items:center}}
.gvr-kick{margin:0;font-size:.875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gv-accent,#7f1d35)}
.gvr-h{margin:.85rem 0 0;font-family:var(--font-display,Georgia,serif);font-size:clamp(2rem,3.4vw,2.875rem);font-weight:600;line-height:1.06;letter-spacing:-.02em;color:#0c1e38;text-wrap:balance}
.gvr-big{display:flex;align-items:center;gap:1rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(12,30,56,.15)}
.gvr-big b{font-family:var(--font-display,Georgia,serif);font-size:4rem;font-weight:600;line-height:.85;color:#0c1e38;font-variant-numeric:tabular-nums}
.gvr-big .gvr-stars{font-size:1.25rem}
.gvr-big span:not(.gvr-stars){display:block;margin-top:.4rem;font-size:.9375rem;line-height:1.35;color:#52627a}
.gvr--home .gvr-act{margin-top:1.75rem}
.gvr--home .gvr-wrap{min-width:0}
.gvr--home .gvr-list{padding-bottom:.75rem}
.gvr--home .gvr-card{flex-basis:min(21rem,86%);padding:1.5rem;border-color:transparent;box-shadow:0 1px 2px rgb(7 26 51/.05),0 14px 30px -18px rgb(7 26 51/.35)}
.gvr--home .gvr-card .gvr-stars{font-size:1rem}
.gvr--home .gvr-txt{font-size:1rem}
.gvr--home .gvr-fotos{margin-top:3.5rem}
@media(max-width:1023px){.gvr--home .gvr-prev{left:-.5rem}.gvr--home .gvr-next{right:-.5rem}}

/* Sin comentarios (Google solo devolvió la nota): título a la izquierda, nota y botones a la derecha, sin hueco vacío. */
@media(min-width:900px){.gvr-top--solo{grid-template-columns:minmax(0,1fr)}.gvr-top--solo .gvr-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k b" "h b" "h a";column-gap:4rem;align-items:end}.gvr-top--solo .gvr-kick{grid-area:k}.gvr-top--solo .gvr-h{grid-area:h;max-width:36rem}.gvr-top--solo .gvr-big{grid-area:b;margin-top:0;padding:0 0 0 2rem;border-top:0;border-left:1px solid rgba(12,30,56,.15)}.gvr-top--solo .gvr-act{grid-area:a;margin-top:1.25rem;padding-left:2rem}}
