/* LIGOP – Výpis realizací + lightbox (rozměry podle návrhu kuchyne.html). Web i editor. */
.wp-block-ligop-realizace-vypis { --rv-ink: var(--wp--preset--color--ink, #231f20); --rv-accent: var(--wp--preset--color--primary, #f58220); display: flex; flex-direction: column; gap: 32px; }
.ligop-rv__filtr { display: flex; gap: 8px; flex-wrap: wrap; }
.ligop-rv__filtr[hidden] { display: none; }
.ligop-rv__pill {
	font: inherit; font-size: 16px; font-weight: 600; padding: 10px 18px; border-radius: 999px; cursor: pointer; line-height: 1.3;
	border: 1.5px solid #ddd6cc; background: #fff; color: var(--rv-ink);
}
.ligop-rv__pill:hover { border-color: var(--rv-ink); }
.ligop-rv__pill.is-active { background: var(--rv-ink); border-color: var(--rv-ink); color: #fff; }
.ligop-rv__pill:focus-visible { outline: 2px solid var(--rv-accent); outline-offset: 2px; }
.ligop-rv__mrizka { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 28px 20px; }
.is-souvisejici .ligop-rv__mrizka { gap: 20px; }
.ligop-rv__polozka { margin: 0; }
.ligop-rv__polozka[hidden] { display: none; }
.ligop-rv__karta { display: flex; flex-direction: column; gap: 14px; color: var(--rv-ink) !important; text-decoration: none !important; }
.is-souvisejici .ligop-rv__karta { gap: 12px; }
.ligop-rv__foto { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #4a433e; }
.ligop-rv__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
@media (hover: hover) { .ligop-rv__karta:hover .ligop-rv__foto img { transform: scale(1.03); } }
.ligop-rv__karta:hover .ligop-rv__nazev { color: var(--rv-accent); }
.ligop-rv__karta:focus-visible { outline: 3px solid var(--rv-accent); outline-offset: 4px; border-radius: 10px; }
.ligop-rv__pocet { position: absolute; left: 12px; bottom: 12px; background: rgba(28,24,22,.78); color: #fff; font-size: 14px; font-weight: 600; padding: 6px 10px; border-radius: 4px; line-height: 1.3; }
.ligop-rv__text { display: flex; flex-direction: column; gap: 4px; }
.ligop-rv__kat { font-size: 14px; font-weight: 700; color: var(--rv-accent); line-height: 1.3; }
.ligop-rv__nazev { margin: 0 !important; font-size: 20px !important; font-weight: 700; line-height: 1.25; letter-spacing: 0; color: inherit; }
.is-souvisejici .ligop-rv__nazev { font-size: 19px !important; }
.ligop-realizace-prazdne { padding: 24px; border: 1.5px dashed #ddd6cc; border-radius: 10px; color: #6b635c; }

/* ---------- Lightbox ---------- */
html.ligop-lb-open { overflow: hidden; }
.ligop-lb { position: fixed; inset: 0; z-index: 100000; background: #161312; color: #fff; display: flex; flex-direction: column; font-family: inherit; }
.ligop-lb[hidden] { display: none; }
.ligop-lb__top { display: flex; align-items: center; gap: 16px; padding: 12px 16px 12px 24px; border-bottom: 1px solid #2e2927; flex: none; }
.ligop-lb__counter { font-size: 16px; font-weight: 600; color: #cfc8c0; white-space: nowrap; }
.ligop-lb__title { flex: 1; min-width: 0; font-size: 17px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.ligop-lb__page { font-size: 15px; font-weight: 600; color: var(--rv-accent, #f58220) !important; white-space: nowrap; text-decoration: none !important; }
.ligop-lb__close { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid #4a433e; background: none; color: #fff; font-size: 18px; cursor: pointer; flex: none; }
.ligop-lb__close:hover { background: #fff; color: #231f20; }
.ligop-lb__body { flex: 1; min-height: 0; display: flex; flex-direction: row; overflow: hidden; }
.ligop-lb__stage { position: relative; flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.ligop-lb__img { position: relative; flex: 1; min-height: 0; margin: 24px 88px; }
.ligop-lb__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.ligop-lb__arrow {
	position: absolute; top: 50%; margin-top: -26px; width: 52px; height: 52px; border-radius: 50%; border: none;
	background: rgba(255,255,255,.92); color: #231f20; font-size: 22px; cursor: pointer; box-shadow: 0 4px 16px rgba(0,0,0,.3); z-index: 2;
}
.ligop-lb__arrow:hover { background: var(--rv-accent, #f58220); color: #fff; }
.ligop-lb__prev { left: 16px; }
.ligop-lb__next { right: 16px; }
.ligop-lb__thumbs { flex: none; display: flex; gap: 8px; overflow-x: auto; padding: 0 24px 16px; }
.ligop-lb__thumb { position: relative; flex: none; width: 104px; height: 70px; border-radius: 6px; overflow: hidden; padding: 0; cursor: pointer; background: #2a2523; border: 2px solid transparent; opacity: .6; }
.ligop-lb__thumb.is-active { border-color: var(--rv-accent, #f58220); opacity: 1; }
.ligop-lb__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ligop-lb__dots { display: none; flex: none; justify-content: center; gap: 6px; padding: 12px 0; }
.ligop-lb__dots span { width: 6px; height: 6px; border-radius: 3px; background: #4a433e; transition: width .3s ease; }
.ligop-lb__dots span.is-active { width: 20px; background: var(--rv-accent, #f58220); }
.ligop-lb__panel { flex: none; width: 400px; background: #fff; color: #231f20; padding: 32px; display: flex; flex-direction: column; gap: 20px; overflow-y: auto; }
.ligop-lb__cat { font-size: 15px; font-weight: 700; color: var(--rv-accent, #f58220); }
.ligop-lb__panel h2 { margin: 6px 0 0; font-size: 26px; line-height: 1.2; font-weight: 700; letter-spacing: -0.015em; color: #231f20; }
.ligop-lb__panel p { margin: 0; font-size: 17px; line-height: 1.6; color: #4a433e; text-wrap: pretty; }
.ligop-lb__specs { margin: 0; display: flex; flex-direction: column; border-top: 1px solid #ebe7e1; }
.ligop-lb__specs div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #ebe7e1; font-size: 16px; }
.ligop-lb__specs dt { color: #6b635c; }
.ligop-lb__specs dd { margin: 0; font-weight: 600; text-align: right; }
.ligop-lb__btns { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.ligop-lb__btn { font-size: 17px; font-weight: 700; padding: 15px 22px; border-radius: 6px; text-align: center; text-decoration: none !important; background: var(--rv-accent, #f58220); color: #fff !important; }
.ligop-lb__btn:hover { background: #dc6a0a; }
.ligop-lb__btn.is-obrys { border: 1.5px solid #231f20; color: #231f20 !important; background: #fff; font-size: 16px; padding: 13px 22px; }
.ligop-lb__btn.is-obrys:hover { background: #231f20; color: #fff !important; }
@media (max-width: 899px) {
	.ligop-lb { height: 100vh; height: 100dvh; }
	.ligop-lb__top { padding: 8px 8px 8px 16px; gap: 10px; }
	.ligop-lb__counter { font-size: 14px; }
	.ligop-lb__title { font-size: 15px; }
	.ligop-lb__page, .ligop-lb__thumbs { display: none; }
	.ligop-lb__dots { display: flex; }
	.ligop-lb__body { flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
	.ligop-lb__stage { flex: 0 0 auto; height: 56vh; height: 56svh; }
	.ligop-lb__img { margin: 0; }
	.ligop-lb__arrow { width: 40px; height: 40px; margin-top: -20px; font-size: 18px; }
	.ligop-lb__prev { left: 8px; }
	.ligop-lb__next { right: 8px; }
	.ligop-lb__panel { width: auto; flex: 1 0 auto; padding: 24px 16px 32px; border-radius: 16px 16px 0 0; overflow: visible; gap: 16px; }
	.ligop-lb__panel h2 { font-size: 22px; }
	.ligop-lb__panel p { font-size: 16px; }
}

/* Stránkování / „Načíst další“ */
.ligop-rv__strankovani { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 8px; }
.ligop-rv__dalsi {
	font: inherit; font-size: 16px; font-weight: 700; padding: 13px 22px; border-radius: 6px; cursor: pointer; line-height: 1.2;
	border: 1.5px solid var(--rv-ink); background: #fff; color: var(--rv-ink) !important; text-decoration: none !important;
}
.ligop-rv__dalsi:hover { background: var(--rv-ink); color: #fff !important; }
.ligop-rv__dalsi[aria-busy="true"] { opacity: .6; cursor: progress; }
.ligop-rv__stranky { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; font-size: 15px; }
.ligop-rv__stranky a, .ligop-rv__stranky span { min-width: 36px; padding: 6px 10px; border-radius: 6px; text-align: center; border: 1px solid #ddd6cc; color: var(--rv-ink); text-decoration: none; }
.ligop-rv__stranky [aria-current] { background: var(--rv-ink); border-color: var(--rv-ink); color: #fff; }
.wp-block-ligop-realizace-vypis.is-js .ligop-rv__stranky { display: none; }
.wp-block-ligop-realizace-vypis .ligop-rv__mrizka[aria-busy="true"] { opacity: .5; transition: opacity .2s; }
.editor-styles-wrapper .ligop-rv__stranky { display: none; }

.ligop-lb__popisek { flex: none; margin: -12px 88px 14px; text-align: center; font-size: 15px; line-height: 1.45; color: #cfc8c0; }
.ligop-lb__popisek[hidden] { display: none; }
@media (max-width: 899px) { .ligop-lb__popisek { margin: 8px 16px 0; } }
.ligop-lb__popisek strong { display: block; color: #fff; font-weight: 600; }
.ligop-lb__popisek span { display: block; }
