/* Detail města: stejné panely, typografie a zelená jako HP, produkt a checkout. */
.ep-city { --ep-green:#096a2a; --ep-green-dark:#075522; --ep-ink:#18221b; --ep-text:#404a43; --ep-muted:#667068; --ep-line:#dfe5e0; --ep-surface:#f6f8f6; padding:28px 0 48px; color:var(--ep-ink); font-family:Poppins,system-ui,sans-serif; font-size:16px; line-height:1.65; }
.ep-city *, .ep-city *::before, .ep-city *::after { box-sizing:border-box; }
.ep-city [hidden] { display:none!important; }
.ep-city > .container { width:calc(100% - 40px); max-width:1200px; }
.ep-city #content_navigator .ep-city__inner { float:none; width:100%; padding:0; margin:0; }
.ep-city #content_navigator :is(h1,h2,h3,p,ul,ol,figure) { padding:0; margin:0; color:inherit; font-family:inherit; }
.ep-city #content_navigator h1 { font-size:clamp(28px,3vw,38px); font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.ep-city #content_navigator h2 { font-size:25px; font-weight:600; line-height:1.35; letter-spacing:-.02em; }
.ep-city #content_navigator h3 { font-size:18px; font-weight:600; line-height:1.45; }
.ep-city #content_navigator p { line-height:1.7; }
.ep-city a { color:var(--ep-green); text-underline-offset:4px; }
.ep-city :is(a,button,summary,[tabindex]):focus-visible { outline:3px solid #6ba67b; outline-offset:3px; }
.ep-city :is(button,summary) { font-family:inherit; cursor:pointer; }
.ep-city :is(p,a,th,td,summary) { overflow-wrap:anywhere; }
.ep-city__breadcrumbs { margin-bottom:22px; color:var(--ep-muted); font-size:14px; }
.ep-city #content_navigator .ep-city__breadcrumbs ol { display:flex; flex-wrap:wrap; gap:6px 12px; list-style:none; }
.ep-city__breadcrumbs li + li::before { margin-right:12px; color:var(--ep-muted); content:'›'; }
.ep-city__layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:36px; align-items:start; }
.ep-city__main, .ep-city__aside { min-width:0; }
.ep-city__hero { border-radius:18px; background:var(--ep-surface); padding:32px; }
.ep-city #content_navigator .ep-city__eyebrow { margin-bottom:8px; color:var(--ep-green); font-size:14px; font-weight:500; }
.ep-city__meta { display:flex; flex-wrap:wrap; gap:6px 18px; margin:16px 0; color:var(--ep-muted); font-size:14px; }
.ep-city__status { display:inline-flex; align-items:center; gap:7px; font-weight:500; }
.ep-city__status::before { width:7px; height:7px; border-radius:50%; background:currentColor; content:''; }
.ep-city__status--active { color:var(--ep-green); }
.ep-city #content_navigator .ep-city__answer { color:var(--ep-text); font-size:17px; }
.ep-city #content_navigator .ep-city__status-date { margin-top:12px; font-size:15px; }
.ep-city__hero > .ep-city__button { margin-top:22px; }
.ep-city__notice { margin-top:22px; padding:16px 18px; border-left:3px solid var(--ep-green); background:#fff; }
.ep-city #content_navigator .ep-city__notice p { margin-top:5px; color:var(--ep-text); font-size:15px; }
.ep-city__button { display:inline-flex; min-height:48px; max-width:100%; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border:1px solid var(--ep-green); border-radius:10px; background:var(--ep-green); color:#fff!important; font-size:16px; font-weight:500; line-height:1.5; text-align:center; text-decoration:none; }
.ep-city #content_navigator a.ep-city__button { text-decoration:none; }
.ep-city__button:hover { border-color:var(--ep-green-dark); background:var(--ep-green-dark); color:#fff; }
.ep-city__button .amount { color:inherit; white-space:nowrap; }
.ep-city__quick-links { display:flex; flex-wrap:wrap; gap:0 22px; padding:14px 0; border-bottom:1px solid var(--ep-line); }
.ep-city__quick-links a, .ep-city__text-link { display:inline-flex; min-height:44px; align-items:center; font-size:15px; font-weight:500; text-decoration:underline; }
.ep-city__section { margin-top:34px; scroll-margin-top:90px; }
.ep-city__section > h2 { margin-bottom:16px!important; }
.ep-city #content_navigator .ep-city__intro { margin-bottom:18px; color:var(--ep-text); }
.ep-city__prose { color:var(--ep-text); }
.ep-city #content_navigator .ep-city__prose :is(p,ul,ol) + :is(p,ul,ol) { margin-top:12px; }
.ep-city #content_navigator .ep-city__prose :is(ul,ol) { padding-left:23px; }
.ep-city #content_navigator .ep-city__prose :is(h2,h3) { margin:22px 0 10px; }
.ep-city #content_navigator .ep-city__prose :is(h2,h3):first-child { margin-top:0; }
.ep-city__section > .ep-city__prose + .ep-city__prose { margin-top:22px; }
.ep-city #content_navigator .ep-city__prose figure { margin:16px 0; }
.ep-city__prose img { height:auto; max-width:100%; }
.ep-city__map { position:relative; overflow:hidden; max-width:100%; margin-bottom:20px; border:1px solid var(--ep-line); border-radius:12px; background:var(--ep-surface); }
.ep-city__map-content { max-width:100%; overflow:hidden; }
.ep-city__map-content iframe { display:block; width:100%!important; max-width:100%!important; height:420px!important; border:0; }
.ep-city__map.is-locked iframe { pointer-events:none; }
.ep-city__map-activate { position:absolute; bottom:16px; left:16px; z-index:1; min-height:44px; padding:10px 18px; border:1px solid var(--ep-green); border-radius:8px; background:#fff; color:var(--ep-green); font-size:15px; font-weight:500; box-shadow:0 2px 8px #18221b16; }
.ep-city__map-release { margin:-8px 0 16px; padding:4px 0; min-height:44px; border:0; background:transparent; color:var(--ep-green); font-size:14px; text-decoration:underline; text-align:left; }
.ep-city #content_navigator .ep-city__map-image { margin-bottom:20px; }
.ep-city__map-image img { display:block; width:100%; height:auto; border:1px solid var(--ep-line); border-radius:12px; }
.ep-city__map-image figcaption, .ep-city #content_navigator .ep-city__caption { margin-top:8px; color:var(--ep-muted); font-size:14px; }
.ep-city__map-fallback { margin:12px 0 20px; }
.ep-city__map-fallback summary { min-height:44px; color:var(--ep-green); }
.ep-city__section-links { display:flex; flex-wrap:wrap; gap:4px 22px; margin-top:14px; }
.ep-city__section-links a { display:inline-flex; min-height:44px; align-items:center; }
.ep-city #content_navigator .ep-city__vehicles { width:100%; margin:0; border:0; border-collapse:collapse; font-size:15px; line-height:1.6; }
.ep-city .ep-city__vehicles :is(th,td) { padding:14px 12px; border:0; border-bottom:1px solid var(--ep-line); background:transparent; vertical-align:top; text-align:left; }
.ep-city .ep-city__vehicles thead th { background:var(--ep-surface); font-weight:500; }
.ep-city .ep-city__vehicles tbody th { width:25%; padding-left:0; font-weight:500; }
.ep-city .ep-city__vehicles td:nth-child(2) { width:23%; }
.ep-city .ep-city__vehicles tbody th span { display:block; margin-top:5px; color:var(--ep-muted); font-size:14px; font-weight:400; }
.ep-city #content_navigator .ep-city__vehicles td p { font-size:15px; line-height:1.6; }
.ep-city #content_navigator .ep-city__vehicles td p + p { margin-top:8px; }
.ep-city #content_navigator .ep-city__muted { color:var(--ep-muted); }
.ep-city__tips { display:grid; gap:18px; }
.ep-city__tip { padding:22px; border:1px solid var(--ep-line); border-radius:12px; }
.ep-city__faq { border-top:1px solid var(--ep-line); }
.ep-city__faq details { border-bottom:1px solid var(--ep-line); }
.ep-city__faq summary { display:flex; justify-content:space-between; gap:20px; min-height:60px; align-items:center; padding:16px 0; list-style:none; font-size:16px; font-weight:500; line-height:1.5; }
.ep-city__faq summary::-webkit-details-marker { display:none; }
.ep-city__faq summary::after { flex:0 0 auto; width:9px; height:9px; margin-right:5px; border-right:2px solid var(--ep-green); border-bottom:2px solid var(--ep-green); transform:rotate(45deg); content:''; }
.ep-city__faq details[open] summary::after { transform:rotate(225deg); }
.ep-city__faq .ep-city__prose { padding:0 0 20px; }
.ep-city__sources { padding-top:26px; border-top:1px solid var(--ep-line); font-size:15px; color:var(--ep-muted); }
.ep-city #content_navigator .ep-city__sources h2 { font-size:20px; color:var(--ep-ink); }
.ep-city #content_navigator .ep-city__sources ul { margin-top:8px; padding-left:21px; }
.ep-city__sources a { display:inline-block; padding:5px 0; }
.ep-city #content_navigator .ep-city__related { display:grid; gap:8px; list-style:none; }
.ep-city__related a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:52px; padding:12px 16px; border:1px solid var(--ep-line); border-radius:10px; text-decoration:none; }
.ep-city__related a:hover { background:var(--ep-surface); }
.ep-city #content_navigator .ep-city__back { margin-top:28px; }
.ep-city__back a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
.ep-city__aside { align-self:stretch; }
.ep-city__order-card, .ep-city__route-card { position:sticky; top:24px; padding:24px; border:1px solid var(--ep-line); border-radius:18px; background:#fff; }
.ep-city__product-image { display:block; margin:0 auto 18px; width:150px; }
.ep-city__product-image img { display:block; width:100%; height:auto; }
.ep-city #content_navigator .ep-city__order-card h2, .ep-city #content_navigator .ep-city__route-card h2 { font-size:22px; }
.ep-city #content_navigator .ep-city__price { margin:12px 0 18px; font-size:28px; font-weight:600; line-height:1.3; }
.ep-city__order-card > .ep-city__button, .ep-city__route-card .ep-city__button { width:100%; }
.ep-city #content_navigator .ep-city__benefits { display:grid; gap:8px; margin:20px 0; list-style:none; color:var(--ep-text); font-size:14px; line-height:1.6; }
.ep-city__benefits li { position:relative; padding-left:18px; }
.ep-city__benefits li::before { position:absolute; top:8px; left:0; width:5px; height:5px; border-radius:50%; background:var(--ep-green); content:''; }
.ep-city__shipping { border-top:1px solid var(--ep-line); border-bottom:1px solid var(--ep-line); }
.ep-city__shipping summary { display:flex; align-items:center; gap:10px; min-height:50px; list-style:none; color:var(--ep-green); font-size:15px; font-weight:500; }
.ep-city__shipping summary::-webkit-details-marker { display:none; }
.ep-city__shipping summary::after { margin-left:auto; content:'+'; font-size:22px; font-weight:400; }
.ep-city__shipping[open] summary::after { content:'−'; }
.ep-city__shipping [data-ep-shipping-content] { padding-bottom:16px; font-size:14px; }
.ep-city__shipping .ep-shipping-rate + .ep-shipping-rate { margin-top:16px; padding-top:16px; border-top:1px solid var(--ep-line); }
.ep-city__shipping .ep-shipping-rate__head { display:flex; justify-content:space-between; gap:10px; color:var(--ep-ink); }
.ep-city__shipping .ep-shipping-rate__head strong { font-weight:500; }
.ep-city__shipping .ep-shipping-rate__price { white-space:nowrap; }
.ep-city #content_navigator .ep-city__shipping p { margin-top:5px; color:var(--ep-text); font-size:14px; }
.ep-city__order-card > .ep-city__text-link { margin-top:8px; font-size:14px; }
.ep-city #content_navigator .ep-city__route-card > p:not(.ep-city__eyebrow) { margin:16px 0 20px; color:var(--ep-text); font-size:15px; }
.ep-city__mobile-order { display:none; }
@media (max-width:1023px) {
	.ep-city__layout { grid-template-columns:minmax(0,1fr); gap:28px; }
	.ep-city__mobile-order { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin-top:20px; }
	.ep-city__order-card, .ep-city__route-card { position:static; max-width:none; }
	.ep-city__product-image { float:right; width:120px; margin-left:24px; }
	.ep-city__order-card > .ep-city__button { width:auto; }
	.ep-city__order-card::after { display:table; clear:both; content:''; }
	.ep-city__shipping { clear:both; }
}
@media (max-width:767px) {
	.ep-city { padding:18px 0 30px; }
	.ep-city > .container { width:calc(100% - 28px); }
	.ep-city__breadcrumbs { margin-bottom:16px; font-size:13px; }
	.ep-city__hero { padding:22px; border-radius:14px; }
	.ep-city #content_navigator h1 { font-size:28px; }
	.ep-city #content_navigator h2 { font-size:23px; }
	.ep-city #content_navigator .ep-city__answer { font-size:16px; }
	.ep-city__meta { gap:4px 14px; margin:12px 0; font-size:13px; }
	.ep-city__quick-links { gap:0 18px; padding:10px 0; }
	.ep-city__quick-links a { font-size:14px; }
	.ep-city__section { margin-top:28px; }
	.ep-city__map-content iframe { height:320px!important; }
	.ep-city .ep-city__vehicles { display:block; }
	.ep-city .ep-city__vehicles thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
	.ep-city .ep-city__vehicles :is(tbody,tr,th,td) { display:block; width:100%!important; }
	.ep-city .ep-city__vehicles tr { padding:16px 0; border-bottom:1px solid var(--ep-line); }
	.ep-city .ep-city__vehicles tr:first-child { border-top:1px solid var(--ep-line); }
	.ep-city .ep-city__vehicles :is(th,td) { padding:0; border:0; }
	.ep-city .ep-city__vehicles tbody th { margin-bottom:10px; font-size:17px; }
	.ep-city .ep-city__vehicles td { margin-top:8px; font-size:15px; }
	.ep-city .ep-city__vehicles td:empty { display:none; }
	.ep-city .ep-city__vehicles td::before { display:block; margin-bottom:3px; color:var(--ep-muted); font-size:13px; content:attr(data-label); }
	.ep-city__tip { padding:18px; }
	.ep-city__order-card, .ep-city__route-card { padding:22px; border-radius:14px; }
}
@media (max-width:389px) {
	.ep-city__hero { padding:18px; }
	.ep-city #content_navigator h1 { font-size:26px; }
	.ep-city__mobile-order .ep-city__button { flex-direction:column; gap:2px; width:100%; }
	.ep-city__product-image { width:88px; margin-left:12px; }
	.ep-city__order-card > .ep-city__button { width:100%; }
}

.ep-city #content_navigator .ep-city__aliases { margin-top:8px; color:var(--ep-muted); font-size:14px; }

/* Veřejné redakční údaje bez domnělých autorů či kontrol. */
.ep-place-editorial { margin: 20px 0 0; padding-top: 14px; border-top: 1px solid #e1e7df; overflow-wrap: anywhere; }
.ep-city #content_navigator .ep-place-editorial p, .ep-zones #content_navigator .ep-place-editorial p { margin: 3px 0; font-size: 13px; line-height: 1.7; color: #526052; }

.ep-place-editorial__author { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.ep-place-editorial .ep-place-editorial__avatar { display: block; flex: 0 0 32px; width: 32px; height: 32px; margin: 3px 0 0; border-radius: 50%; object-fit: cover; }
.ep-place-editorial__author-details { min-width: 0; }
.ep-place-editorial__author-name span { font-weight: 600; }
