/* vv-zamok — prefix vvz- (mobil poradie: galéria, text, doprava, mapa, ubytovanie) */

.vvz-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch;margin-top:12px}
.vvz-col{display:flex;flex-direction:column;min-height:0}
.vv .vvz-h3{margin:28px 0 12px}
.vv .vvz-addr p{margin:0 0 10px;font-size:16px;line-height:1.6;color:var(--vv-lav-l)}
.vvz-addr b{color:var(--vv-gold)}

.vv .vvz-map{position:relative;display:block;flex:1 1 auto;min-height:260px;margin-top:16px;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;border:1px solid rgba(201,168,245,.3)}
.vv .vvz-map img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 46%}
.vvz-pin{position:absolute;left:50%;top:46%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--vv-pink-a);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--vv-ink),0 0 0 14px rgba(240,24,120,.25)}
.vvz-go{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:center;height:46px;border-radius:999px;background:rgba(5,8,28,.88);border:2px solid rgba(255,255,255,.5);color:#fff;font-weight:800;font-size:15px}
.vvz-map:hover .vvz-go{background:var(--vv-pink);border-color:var(--vv-pink)}

.vvz-gal{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:none}
.vv .vvz-gal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.vv .vvz-gal img:first-child{grid-column:1/-1;aspect-ratio:16/10}

.vvz-stay{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;margin-top:24px;padding:22px 24px;border-radius:22px;background:rgba(249,168,37,.08);border:1px solid rgba(249,168,37,.4)}
.vvz-stay .vv-chip{margin-bottom:10px;background:var(--vv-gold);color:var(--vv-ink)}
.vv .vvz-stay .vv-h3{margin-bottom:8px}
.vv .vvz-stay p{margin:0;font-size:16px;line-height:1.6;color:var(--vv-lav-l)}
.vvz-rooms{align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.vvz-rooms li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 10px;border-radius:16px;background:var(--vv-card);border:1px solid rgba(201,168,245,.25);text-align:center}
.vvz-rooms b{font-family:var(--vv-lg);font-weight:400;font-size:28px;line-height:1.1;letter-spacing:.02em;color:var(--vv-gold);text-shadow:0 2px 0 var(--vv-ink);white-space:nowrap}
.vvz-rooms b i{font-style:normal;font-family:var(--vv-mr);font-weight:800;font-size:.72em}
.vvz-rooms span{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--vv-lav-l)}
.vvz-code{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;border-radius:12px;background:rgba(5,8,28,.7);border:1px dashed rgba(249,168,37,.7);font-size:15px;font-weight:700;color:var(--vv-lav-l)}
.vvz-code b{font-family:var(--vv-mono);font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv-gold)}
.vv a.vvz-go-btn{align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;padding:0 18px;border-radius:999px;border:2px solid rgba(255,255,255,.5);color:#fff;font-weight:800;font-size:15px;text-decoration:none}
.vv a.vvz-go-btn:hover{background:rgba(255,255,255,.1);color:#fff}

@media (max-width:1024px){
	.vvz-grid{display:flex;flex-direction:column;gap:0;margin-top:0}
	.vvz-col{display:contents}
	.vvz-gal{order:1;gap:8px;margin:0 0 18px}
	.vvz-info{order:2}
	.vv .vvz-map{order:3;flex:none;height:230px;min-height:0;margin-top:18px;border-radius:20px}
	.vvz-stay{order:4;margin-top:18px;padding:18px;border-radius:20px}
	.vv .vvz-gal img{border-radius:16px}
	.vv .vvz-h3{margin:24px 0 10px}
	.vv .vvz-addr p{margin-bottom:8px;font-size:15px}
	.vvz-go{left:14px;right:14px;bottom:14px}
	.vv .vvz-stay p{font-size:15px}
	.vvz-rooms{gap:8px;margin:12px 0}
	.vvz-rooms li{padding:10px 8px;border-radius:14px}
	.vvz-rooms b{font-size:24px}
	.vvz-rooms span{font-size:12px}
	.vvz-code{margin-top:10px;padding:8px 12px;font-size:14px}
	.vvz-code b{font-size:16px}
}
