/* Restricted to suggested articles; theme, comments and global counter stay untouched. */
.jrv-suggested-topics .jrv-suggested-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 28px; }
.jrv-suggested-topics .jrv-suggested-articles { min-width: 0; }
.jrv-suggested-topics .jrv-suggested-row + .jrv-suggested-row { margin-top: 24px; }
.jrv-suggested-topics .jrv-suggested-row h3 { color: var(--jrv-community-teal); font-size: 12px; font-weight: 850; letter-spacing: .065em; margin: 0 0 12px; text-transform: uppercase; }
.jrv-suggested-topics .jrv-suggested-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.jrv-suggested-topics .jrv-suggested-card { min-width: 0; }
.jrv-suggested-topics .jrv-suggested-image { aspect-ratio: 16 / 10; }
.jrv-suggested-topics .jrv-suggested-image img { height: 100%; width: 100%; object-fit: cover; }
.jrv-suggested-topics .jrv-suggested-card strong { padding: 4px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.jrv-suggested-location { color: #078078; display: block; font-size: 10px; font-weight: 800; margin: 9px 0 0; }
.jrv-suggested-no-image { align-items: center; background: linear-gradient(135deg,#0c3b4c,#078f87); color: white; display: flex; flex-direction: column; font-size: 32px; font-weight: 900; height: 100%; justify-content: center; }
.jrv-suggested-no-image > span { font-size: 10px; font-weight: 600; margin-top: 5px; }
.jrv-suggested-empty { align-items: center; background: #f3f8f7; border: 1px dashed #c6ded9; border-radius: 15px; color: #55746e; display: flex; flex-direction: column; justify-content: center; min-height: 190px; padding: 20px 14px; text-align: center; }
.jrv-suggested-empty > span { color: #0b8d80; font-size: 24px; }
.jrv-suggested-empty p { font-size: 12px; line-height: 1.5; margin: 10px 0 0; }
.jrv-suggested-ranking-note { color: var(--jrv-community-muted); font-size: 10px; margin: 15px 0 0; }
.jrv-suggested-lodging { border: 1px solid #cce5db; border-radius: 20px; background: #f3f9f6; min-width: 0; overflow: hidden; display: flex; flex-direction: column; }
.jrv-suggested-map-heading { border-top: 4px solid #079579; padding: 17px 20px 15px; background: linear-gradient(120deg,#eaf7ed,#f7f9eb); }
.jrv-suggested-map-heading > span { color: #078078; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.jrv-suggested-map-heading h3 { color: #153e43; font-size: clamp(20px,2.1vw,27px); letter-spacing: -.025em; line-height: 1.15; margin: 7px 0 0; }
.jrv-suggested-map-heading p { color: #617e77; font-size: 11px; margin: 7px 0 0; }
.jrv-suggested-lodging .jrv-stay22-map { display: flex; flex: 1; flex-direction: column; }
.jrv-suggested-lodging .jrv-stay22-map-frame { background: #e7f1ec; flex: 1; min-height: 400px; position: relative; }
.jrv-suggested-lodging .jrv-stay22-map-frame iframe { border: 0; display: block; height: 100%; min-height: 400px; position: absolute; top: 0; width: 100%; }
.jrv-suggested-lodging .jrv-stay22-map-placeholder { align-items: center; background: linear-gradient(155deg,#edf7ef,#e0eee7); display: flex; flex-direction: column; justify-content: center; inset: 0; min-height: 400px; padding: 28px; position: absolute; text-align: center; z-index: 1; }
.jrv-suggested-lodging [hidden] { display: none !important; }
.jrv-suggested-lodging .jrv-stay22-map-placeholder p { color: #245d57; font-size: 14px; line-height: 1.5; margin: 12px 0; }
.jrv-suggested-lodging .jrv-stay22-map-placeholder .jrv-stay22-map-consent-note { color: #526e66; font-size: 11px; }
.jrv-suggested-lodging .jrv-stay22-map-consent { background: #087b6b !important; border: 0 !important; border-radius: 12px !important; color: white !important; cursor: pointer; font-size: 13px !important; font-weight: 850 !important; min-height: 44px; padding: 13px 19px !important; }
.jrv-suggested-lodging .jrv-stay22-map-spinner { border: 3px solid #c1dcd3; border-top-color: #078878; border-radius: 50%; height: 28px; width: 28px; animation: jrv-suggested-spin 1s linear infinite; }
.jrv-suggested-lodging .jrv-stay22-map-external { position: absolute; bottom: 8px; left: 8px; background: white; border: 1px solid #cce5db; border-radius: 7px; color: #087568; font-size: 10px; font-weight: 800; padding: 5px 8px; z-index: 2; }
.jrv-suggested-lodging .jrv-stay22-map-status { color: #507467; font-size: 10px; margin: 9px 14px 0; }
.jrv-suggested-lodging .jrv-stay22-map-disclosure { color: #61796f; font-size: 10px; line-height: 1.5; margin: 8px 14px 12px; }
.jrv-suggested-lodging a { color: #067f72; }
.jrv-suggested-lodging .jrv-stay22-map-revoke { align-self: flex-start; background: transparent !important; border: 0 !important; box-shadow: none !important; color: #526e66 !important; cursor: pointer; font-size: 10px !important; margin: 0 14px 12px; min-height: 26px; padding: 0 !important; text-decoration: underline; }
.jrv-suggested-map-unavailable { color: #54736a; display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 400px; padding: 28px; text-align: center; }
.jrv-suggested-map-unavailable > span { font-size: 36px; }
.jrv-suggested-map-unavailable p { font-size: 13px; line-height: 1.6; }
.jrv-suggested-topics a:focus-visible, .jrv-suggested-topics button:focus-visible { outline: 3px solid #eab04b; outline-offset: 4px; }
@keyframes jrv-suggested-spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) { .jrv-suggested-topics .jrv-suggested-layout { grid-template-columns: minmax(0,1fr); gap: 25px; } .jrv-suggested-lodging .jrv-stay22-map-frame { flex: auto; min-height: 460px; } .jrv-suggested-lodging .jrv-stay22-map-frame iframe { min-height: 460px; } }
@media (max-width: 420px) { .jrv-suggested-topics .jrv-suggested-grid { gap: 12px; } .jrv-suggested-topics .jrv-suggested-card strong { font-size: 12px; } .jrv-suggested-empty { min-height: 160px; padding: 13px 9px; } .jrv-suggested-map-heading { padding: 15px; } }
@media (prefers-reduced-motion: reduce) { .jrv-suggested-lodging .jrv-stay22-map-spinner { animation: none; } .jrv-suggested-topics .jrv-suggested-card img { transition: none; } }
