/* Stay Review block, stars, jump bar. Mobile first. */
.kk-stay { --stay-accent: var(--burgundy, #5c2a29); --stay-ink: var(--chocolate, #3f291e); margin-block: 2rem; padding: 1.25rem 1.1rem; border: 1px solid rgba(63, 41, 30, .2); border-radius: 1.25rem; color: var(--sc-color, var(--stay-ink)); font-family: var(--sc-font, inherit); font-size: var(--sc-size-m, 1rem); }
.kk-stay.has-bg { border-color: transparent; }
.kk-stay.is-dark { --stay-ink: var(--cream, #f8f6ed); --stay-accent: var(--blush, #e8d0d0); border-color: transparent; }
.kk-stay .kk-stay__title { margin: 0; font-family: var(--st-font, var(--serif, Georgia)); font-size: var(--st-size-m, 1.6rem); line-height: 1.1; color: var(--st-color, inherit); }
.kk-stay__top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; margin-bottom: 1rem; }
.kk-stay__rating { margin: 0; font: 600 .85rem var(--sans, Arial); }

.kk-stars { position: relative; display: inline-block; color: rgba(63, 41, 30, .22); font-size: 1.15rem; line-height: 1; letter-spacing: .08em; white-space: nowrap; vertical-align: -.1em; }
.kk-stars::before { content: "★★★★★"; }
.kk-stars i { position: absolute; left: 0; top: 0; width: calc(var(--r, 0) / 5 * 100%); overflow: hidden; color: var(--stay-accent, var(--burgundy, #5c2a29)); font-style: normal; white-space: nowrap; }
.is-dark .kk-stars { color: rgba(255, 255, 255, .3); }

.kk-stay__facts { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; margin: 0; }
.kk-stay__facts div { min-width: 0; }
.kk-stay__facts dt { margin: 0 0 .15rem; font: 600 .66rem/1.2 var(--sans, Arial); letter-spacing: .16em; text-transform: uppercase; color: var(--stay-accent); }
.kk-stay__facts dd { margin: 0; overflow-wrap: anywhere; }
.kk-stay__map { margin: 1.1rem 0 0; }

.kk-stay .recipe__btn { --pill-c: var(--pill, var(--stay-ink)); display: inline-block; font-family: var(--pill-font, "Arimo", Arial, sans-serif); font-size: var(--pill-size-m, .85rem); padding: .6em 1.2em; min-width: 6.2em; border-color: var(--pill-c); color: var(--pill-c); }
.kk-stay .recipe__btn:hover, .kk-stay .recipe__btn:focus-visible { background: var(--pill-c); color: var(--rc-bg, var(--cream, #f8f6ed)); }
.kk-stay .recipe__btn--solid { background: var(--pill-c); color: var(--rc-bg, var(--cream, #f8f6ed)); }
.kk-stay .recipe__btn--solid:hover, .kk-stay .recipe__btn--solid:focus-visible { background: transparent; color: var(--pill-c); }

/* Verdict */
.kk-stay--verdict { text-align: center; }
.kk-stay--verdict .kk-stay__title { margin-bottom: .6rem; }
.kk-stay__score { margin: 0 0 1rem; }
.kk-stay__score .kk-stars { font-size: 1.6rem; }
.kk-stay__score b { margin-left: .4rem; font: 2.2rem/1 var(--serif, Georgia); }
.kk-stay__score span:last-child { opacity: .6; }
.kk-stay__text { max-width: 38rem; margin: 0 auto 1.2rem; text-align: left; }
.kk-stay__pc { display: grid; gap: 1rem; margin: 1.2rem 0; text-align: left; }
.kk-stay .kk-stay__h { margin: 0 0 .5rem; font-family: var(--sh-font, var(--serif, Georgia)); font-size: var(--sh-size-m, 1.15rem); color: var(--sh-color, inherit); }
.kk-stay__pc ul { margin: 0; padding: 0; list-style: none; }
.kk-stay__pc li { position: relative; padding: .15rem 0 .15rem 1.5rem; }
.kk-stay__pros li::before, .kk-stay__cons li::before { position: absolute; left: 0; font-weight: 700; }
.kk-stay__pros li::before { content: "+"; color: var(--stay-accent); }
.kk-stay__cons li::before { content: "−"; color: var(--dusty-rose, #b18582); }
.kk-stay__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 1.2rem 0 0; }
.kk-stay__disclosure { margin: 1.2rem 0 0; font-size: .8rem; opacity: .75; }

/* Jump bar (moved after the fact box by stay.js) */
.kk-jump { position: sticky; top: var(--kk-hdr, 3.6rem); z-index: 20; display: flex; gap: .4rem; margin: 0 0 1.5rem; padding: .55rem 0; overflow-x: auto; background: var(--cream, #f8f6ed); scrollbar-width: none; }
.kk-jump::-webkit-scrollbar { display: none; }
.kk-jump[hidden] { display: none; }
.kk-jump a { flex: none; min-height: 2.25rem; display: inline-flex; align-items: center; padding: 0 .95rem; border: 1px solid var(--chocolate, #3f291e); border-radius: 999px; color: var(--chocolate, #3f291e); font: 600 .75rem var(--sans, Arial); letter-spacing: .06em; text-decoration: none; white-space: nowrap; }
.kk-jump a:hover, .kk-jump a:focus-visible, .kk-jump a.is-current { background: var(--burgundy, #5c2a29); border-color: var(--burgundy, #5c2a29); color: var(--cream, #f8f6ed); }
.entry-content [data-kk-jumped] { scroll-margin-top: var(--kk-jump-off, 7rem); }

.card__facts { margin: .3rem 0 0; font-size: .82rem; opacity: .85; }
.card__facts .kk-stars { margin-left: .25rem; font-size: .95rem; }

@media (min-width: 800px) {
	.kk-stay { padding: 1.75rem 2rem; font-size: var(--sc-size, 1rem); }
	.kk-stay .kk-stay__title { font-size: var(--st-size, 2rem); }
	.kk-stay .recipe__btn { font-size: var(--pill-size, .85rem); }
	.kk-stay__facts { grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
	.kk-stay__pc { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.kk-stay .kk-stay__h { font-size: var(--sh-size, 1.3rem); }
}

.photo-hero .kk-stars, .story-hero .kk-stars { color: rgba(255, 255, 255, .45); }
.photo-hero .kk-stars i { color: #fff; }
.meta--stay { opacity: 1; }

/* Map picture in the fact box */
.kk-map { position: relative; display: block; height: 14rem; margin: 1.1rem 0 0; overflow: hidden; border-radius: 1rem; background: var(--powder, #d4e0df); color: var(--stay-accent, var(--burgundy, #5c2a29)); isolation: isolate; }
.kk-map__tiles { position: absolute; left: 50%; top: 50%; width: 1280px; height: 768px; filter: grayscale(.4) sepia(.32) saturate(.8) hue-rotate(-8deg) contrast(.9) brightness(1.06); }
.kk-map__tiles img { position: absolute; width: 256px; height: 256px; max-width: none; }
.kk-map::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(63, 41, 30, .18), inset 0 0 40px rgba(63, 41, 30, .12); pointer-events: none; }
.kk-map__pin { position: absolute; z-index: 2; left: 50%; top: 50%; width: 2rem; height: 2.6rem; translate: -50% -100%; filter: drop-shadow(0 3px 4px rgba(40, 24, 17, .4)); transition: transform .25s; transform-origin: 50% 100%; }
.kk-map__pin svg { display: block; width: 100%; height: 100%; }
.kk-map:hover .kk-map__pin, .kk-map:focus-visible .kk-map__pin { transform: scale(1.12); }
.kk-map::before { content: ""; position: absolute; z-index: 1; left: 50%; top: 50%; width: 1.1rem; height: .5rem; translate: -50% -50%; border-radius: 50%; background: rgba(40, 24, 17, .28); animation: kk-ping 2.4s ease-out infinite; }
@keyframes kk-ping { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(3.2); opacity: 0; } }
.kk-map:focus-visible { outline: 3px solid var(--stay-accent, var(--burgundy, #5c2a29)); outline-offset: 3px; }
.kk-map__credit { position: absolute; z-index: 3; right: .4rem; bottom: .3rem; padding: .1rem .4rem; border-radius: .4rem; background: rgba(248, 246, 237, .85); color: #3f291e; font: .6rem/1.3 var(--sans, Arial); }
@media (min-width: 800px) { .kk-map { height: 17rem; } }
@media (prefers-reduced-motion: reduce) { .kk-map::before { animation: none; } .kk-map__pin { transition: none; } }
@media print { .kk-map::before { display: none; } }
