body:has(#zalesaci-app) {
  background:
    radial-gradient(circle at 15% 12%, rgba(110,139,93,.18), transparent 28%),
    radial-gradient(circle at 86% 78%, rgba(68,102,73,.18), transparent 30%),
    linear-gradient(135deg,#071c15 0%,#0d2c21 48%,#081f18 100%) !important;
  background-attachment: fixed !important;
}
body:has(#zalesaci-app) #content-wrapper,
body:has(#zalesaci-app) .content-wrapper,
body:has(#zalesaci-app) .homepage-box,
body:has(#zalesaci-app) main { background: transparent !important; }
#zalesaci-app, #zalesaci-app * { box-sizing: border-box; }
#zalesaci-app { --forest:#102f24; --forest2:#173d2e; --moss:#708b5d; --moss2:#9bad72; --sage:#cdd3bb; --cream:#f5efdf; --paper:#efe5ce; --ink:#17271d; --gold:#df9410; --line:rgba(53,67,43,.22); width:100%; max-width:1460px; margin:42px auto 96px; padding:0 18px; color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
#zalesaci-app button, #zalesaci-app input, #zalesaci-app textarea, #zalesaci-app select { font:inherit; }
.za-shell { display:grid; grid-template-columns:292px minmax(0,1fr); min-height:720px; border:1px solid rgba(139,157,105,.7); border-radius:24px; overflow:hidden; background:var(--forest); box-shadow:0 34px 90px rgba(0,0,0,.42),0 0 0 1px rgba(180,196,138,.18); }
.za-sidebar { position:relative; min-height:720px; overflow:hidden; background:linear-gradient(180deg,#0e2d22 0%,#123629 62%,#0a261d 100%); color:#fff; display:flex; flex-direction:column; }
.za-brand { width:100%; height:225px; border:0; padding:18px 28px 12px; cursor:pointer; background:transparent; display:flex; align-items:center; justify-content:center; }
.za-brand img { width:100%; max-width:210px; max-height:198px; object-fit:contain; height:auto; display:block; filter:drop-shadow(0 5px 12px rgba(0,0,0,.20)); }
.za-nav { position:relative; z-index:2; display:flex; flex-direction:column; }
.za-nav__item { border:0; width:100%; min-height:62px; padding:0 34px; background:transparent; color:#f6f3e9; display:flex; align-items:center; gap:18px; text-align:left; cursor:pointer; font-weight:700; font-size:17px; transition:.22s ease; }
.za-nav__item:hover,.za-nav__item.is-active { background:linear-gradient(90deg,rgba(128,157,101,.86),rgba(102,133,81,.73)); color:#fff; }
.za-nav__icon { width:25px; text-align:center; font-size:19px; filter:grayscale(1) brightness(3); }
.za-sidebar__art { margin-top:auto; min-height:168px; padding:0 10px; display:flex; align-items:flex-end; justify-content:center; text-align:center; background:linear-gradient(0deg,rgba(5,26,20,.98),rgba(5,26,20,.08)); position:relative; overflow:hidden; }
.za-sidebar__art img { width:100%; max-width:278px; height:auto; display:block; opacity:.98; filter:drop-shadow(0 8px 18px rgba(0,0,0,.28)); }
.za-sidebar__claim { margin:0; padding:2px 22px 24px; text-align:center; color:#eee1bf; font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:18px; line-height:1.25; }
.za-main { min-width:0; min-height:720px; background:var(--paper); }
.za-screen { min-height:720px; height:100%; background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.65),transparent 30%),linear-gradient(115deg,#f5efdf,#e9dec3); position:relative; overflow:hidden; }
.za-screen::before { content:""; position:absolute; inset:0; opacity:.18; pointer-events:none; background-image:repeating-linear-gradient(0deg,rgba(85,70,42,.06) 0,rgba(85,70,42,.06) 1px,transparent 1px,transparent 4px); }
.za-loading { padding:60px; font-weight:700; }
.za-map-page { min-height:720px; display:grid; grid-template-columns:320px minmax(0,1fr); position:relative; z-index:1; animation:zaFade .35s ease; }
.za-intro { padding:48px 28px 34px 44px; display:flex; flex-direction:column; border-right:1px solid rgba(64,72,46,.12); position:relative; z-index:2; }
.za-eyebrow { margin:0 0 15px; color:#466049; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.za-title { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:42px; line-height:1.06; letter-spacing:-.02em; color:#1b2e21; }
.za-title em { color:#68844f; font-style:normal; }
.za-lead { margin:18px 0 0; max-width:240px; font-family:Georgia,'Times New Roman',serif; font-size:16px; line-height:1.55; }
.za-sprig { margin-top:16px; color:#55744f; font-size:26px; letter-spacing:-8px; }
.za-stats { margin-top:auto; width:100%; background:rgba(248,243,230,.82); border:1px solid rgba(102,100,72,.25); border-radius:12px; padding:17px 18px; box-shadow:0 6px 18px rgba(88,75,47,.06); }
.za-stat { display:grid; grid-template-columns:34px 50px 1fr; align-items:center; gap:7px; padding:7px 0; }
.za-stat__icon { font-size:24px; text-align:center; }
.za-stat strong { font-family:Georgia,'Times New Roman',serif; font-size:23px; line-height:1; }
.za-stat span { font-size:11px; line-height:1.2; color:#3f493f; }
.za-map-zone { min-width:0; position:relative; display:flex; align-items:center; justify-content:center; padding:24px 28px 20px 10px; }
.za-map-toolbar { position:absolute; z-index:5; top:18px; left:18px; right:24px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.za-chip,.za-button { border:1px solid rgba(48,62,40,.2); border-radius:999px; padding:8px 14px; background:rgba(247,241,226,.92); color:#253529; font-weight:700; cursor:pointer; }
.za-button { border-radius:9px; background:#214f39; color:#fff; border-color:#214f39; padding:10px 17px; }
.za-button:hover { background:#173d2e; }
.za-map-canvas { width:100%; height:100%; min-height:640px; display:flex; align-items:center; justify-content:center; }
.za-map-canvas svg { width:100%; height:auto; max-height:650px; display:block; overflow:visible; }
.za-map-canvas svg path { transition:fill .22s ease,filter .22s ease,transform .22s ease; transform-box:fill-box; transform-origin:center; }
.za-map-canvas svg path[data-clickable="true"] { cursor:pointer; }
.za-map-canvas svg path[data-clickable="true"]:hover { filter:brightness(.92) drop-shadow(0 2px 4px rgba(26,48,34,.3)); }
.za-map-canvas svg .za-country-empty,.za-map-canvas svg .za-region-empty { fill:#dedbc8!important; stroke:#f7f3e8!important; }
.za-map-canvas svg .za-country-active,.za-map-canvas svg .za-region-active { fill:#96aa68!important; stroke:#f4f0e4!important; stroke-width:1!important; }
.za-map-canvas svg .za-country-hot,.za-map-canvas svg .za-region-hot { fill:#254b35!important; stroke:#f4f0e4!important; stroke-width:1!important; }
.za-map-badge { pointer-events:none; }
.za-map-badge circle { fill:#234b35; stroke:#f7f2e5; stroke-width:2; }
.za-map-badge text { fill:#fff; font:700 15px Arial,sans-serif; text-anchor:middle; dominant-baseline:central; }
.za-compass { position:absolute; right:35px; top:36px; width:70px; height:70px; border:2px solid rgba(82,74,42,.48); border-radius:50%; color:#6c603a; display:grid; place-items:center; font-family:Georgia,serif; font-size:34px; opacity:.8; }
.za-back { border:0; background:transparent; color:#fff; cursor:pointer; font-weight:700; }
.za-region-head { position:absolute; inset:0 0 auto 0; height:56px; background:linear-gradient(90deg,#163e2d,#2e5f37); color:#fff; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 20px; z-index:7; }
.za-region-head strong { font-family:Georgia,serif; font-size:18px; }
.za-region-head span:last-child { text-align:right; opacity:.9; }
.za-region-page { padding-top:56px; }
.za-region-summary { position:absolute; left:26px; right:26px; bottom:26px; min-height:80px; background:rgba(250,246,235,.94); border:1px solid rgba(70,76,50,.2); border-radius:12px; display:flex; align-items:center; gap:14px; padding:16px 18px; z-index:8; box-shadow:0 10px 30px rgba(49,60,39,.12); }
.za-region-summary__icon { font-size:36px; }
.za-region-summary h3 { margin:0 0 3px; font-family:Georgia,serif; font-size:22px; }
.za-region-summary p { margin:0; }
.za-region-summary .za-button { margin-left:auto; }
.za-list-page,.za-info-page { min-height:720px; padding:30px; animation:zaFade .3s ease; position:relative; z-index:1; }
.za-page-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:22px; }
.za-page-head h1 { margin:0; font-family:Georgia,serif; font-size:38px; }
.za-page-head p { margin:5px 0 0; color:#526052; }
.za-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.za-filter { border:1px solid rgba(62,77,54,.2); border-radius:999px; background:#f6f0e1; padding:8px 12px; cursor:pointer; }
.za-filter.is-active { background:#244f38;color:#fff; }
.za-camp-list { display:grid; gap:12px; }
.za-camp-card { display:grid; grid-template-columns:150px minmax(0,1fr) 180px 24px; align-items:center; gap:16px; background:rgba(249,244,232,.86); border-bottom:1px solid rgba(58,65,45,.16); padding:10px; cursor:pointer; }
.za-camp-card:hover { background:#fbf7ed; }
.za-camp-card img { width:150px; height:90px; object-fit:cover; border-radius:9px; }
.za-camp-card h3 { margin:0 0 6px; font-family:Georgia,serif; font-size:20px; }
.za-stars { color:var(--gold); letter-spacing:1px; }
.za-features { margin-top:7px; font-size:19px; letter-spacing:5px; }
.za-location { color:#435044; font-size:13px; }
.za-detail { min-height:720px; padding:0 0 34px; position:relative; z-index:1; animation:zaFade .3s ease; }
.za-detail__head { height:56px; background:linear-gradient(90deg,#173f2d,#2e5e37); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 20px; }
.za-detail__hero { position:relative; height:330px; overflow:hidden; }
.za-detail__hero img { width:100%; height:100%; object-fit:cover; }
.za-photo-count { position:absolute; right:16px; bottom:14px; padding:6px 10px; color:#fff; background:rgba(10,36,26,.78); border-radius:999px; }
.za-rating-grid { display:grid; grid-template-columns:1fr 1fr; max-width:700px; margin:-1px auto 0; }
.za-rating-box { padding:18px; text-align:center; background:#f4eddb; border:1px solid rgba(71,74,48,.18); }
.za-rating-box strong { display:block; font-family:Georgia,serif; font-size:34px; }
.za-detail__body { padding:24px 28px; }
.za-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.za-fact { display:flex; gap:9px; align-items:flex-start; }
.za-detail h2 { font-family:Georgia,serif; margin:24px 0 8px; }
.za-info-page { max-width:900px; }
.za-info-page h1 { font-family:Georgia,serif; font-size:42px; }
.za-form { display:grid; gap:14px; max-width:700px; }
.za-form label { display:grid; gap:6px; font-weight:700; }
.za-form input,.za-form textarea,.za-form select { width:100%; border:1px solid rgba(42,62,45,.25); border-radius:8px; padding:11px 12px; background:#fffdf7; }
.za-modal { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:20px; background:rgba(4,23,17,.68); }
.za-modal[hidden] { display:none; }
.za-modal__box { width:min(680px,100%); max-height:90vh; overflow:auto; background:#f5efdf; border-radius:16px; padding:24px; box-shadow:0 24px 80px rgba(0,0,0,.32); }
.za-modal__head { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.za-modal__close { border:0;background:transparent;font-size:28px;cursor:pointer; }
.za-toast { position:fixed; right:24px; bottom:24px; z-index:100000; background:#173d2e;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s; }
.za-toast.is-visible { opacity:1;transform:none; }
.za-mobile-nav { display:none; }
@keyframes zaFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width:1050px) {
  #zalesaci-app { margin-top:24px; padding:0 10px; }
  .za-shell { grid-template-columns:230px minmax(0,1fr); }
  .za-map-page { grid-template-columns:270px minmax(0,1fr); }
  .za-title { font-size:35px; }
  .za-brand { height:190px; padding:18px; }
}
@media (max-width:760px) {
  #zalesaci-app { width:100%; margin:0 0 74px; padding:0; }
  .za-shell { display:block; min-height:0; border:0; border-radius:0; box-shadow:none; background:var(--paper); }
  .za-sidebar { display:none; }
  .za-main,.za-screen { min-height:calc(100vh - 72px); }
  .za-map-page { min-height:0; display:block; }
  .za-intro { padding:22px 18px 10px; border:0; }
  .za-eyebrow { margin-bottom:8px; }
  .za-title { font-size:32px; }
  .za-lead { max-width:none; margin-top:10px; }
  .za-sprig { display:none; }
  .za-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; margin-top:16px; padding:10px 12px; }
  .za-stat { grid-template-columns:28px 37px 1fr; padding:4px 0; }
  .za-stat strong { font-size:19px; }
  .za-stat span { font-size:9px; }
  .za-map-zone { padding:6px 0 16px; display:block; }
  .za-map-toolbar { position:relative; top:auto; left:auto; right:auto; padding:4px 16px 10px; }
  .za-map-canvas { width:100%; min-height:0; display:block; }
  .za-map-canvas svg { width:100%; max-height:none; height:auto; }
  .za-compass { display:none; }
  .za-region-head { position:relative; height:52px; }
  .za-region-page { padding-top:0; }
  .za-region-summary { position:relative; left:auto; right:auto; bottom:auto; margin:12px; }
  .za-region-summary .za-button { padding:9px 11px; }
  .za-list-page,.za-info-page { min-height:0; padding:20px 14px; }
  .za-page-head { align-items:flex-start; }
  .za-page-head h1 { font-size:31px; }
  .za-camp-card { grid-template-columns:108px minmax(0,1fr) 18px; gap:11px; padding:9px 0; }
  .za-camp-card img { width:108px;height:82px; }
  .za-camp-card .za-location { display:none; }
  .za-camp-card h3 { font-size:17px; }
  .za-detail__hero { height:230px; }
  .za-rating-grid { margin:0; }
  .za-rating-box { padding:13px 8px; }
  .za-rating-box strong { font-size:27px; }
  .za-detail__body { padding:18px 14px; }
  .za-facts { grid-template-columns:1fr 1fr; }
  .za-mobile-nav { position:fixed; z-index:9999; left:0; right:0; bottom:0; height:68px; display:grid; grid-template-columns:repeat(4,1fr); background:#102f24; color:#fff; box-shadow:0 -8px 24px rgba(4,24,17,.22); padding-bottom:env(safe-area-inset-bottom); }
  .za-mobile-nav button { border:0;background:transparent;color:#dfe8df;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px; }
  .za-mobile-nav button span { font-size:21px; }
  .za-mobile-nav button.is-active { background:#6f8a5c;color:#fff; }
}

/* Zálesáci v1.2 – doladění rozhraní */
body:has(#zalesaci-app) #content-wrapper,
body:has(#zalesaci-app) .content-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
#zalesaci-app { margin-top: 8px !important; margin-bottom: 28px; }
.za-shell { min-height: min(790px, calc(100vh - 20px)); }
.za-sidebar { min-height: inherit; }
.za-screen { min-height: inherit; }
.za-nav__icon { width: 24px; height: 24px; display:grid; place-items:center; flex:0 0 24px; }
.za-nav__icon svg,.za-stat__icon svg,.za-region-summary__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.za-nav__item { font-size: 16px; }
.za-map-page { min-height: inherit; }
.za-map-toolbar { justify-content:flex-start; }
.za-map-zone { overflow:hidden; }
.za-map-canvas svg path { outline:none !important; }
.za-map-canvas svg path:focus { outline:none !important; }
.za-map-canvas svg path[data-hoverable="true"]:hover,
.za-map-canvas svg path[data-hoverable="true"].is-hovered { fill:#a8b77c !important; filter:brightness(.96) drop-shadow(0 2px 4px rgba(26,48,34,.22)); }
.za-map-canvas svg path.za-country-hot:hover,
.za-map-canvas svg path.za-country-hot.is-hovered { fill:#173f2d !important; }
.za-country-page { min-height:inherit; position:relative; padding-top:56px; }
.za-country-map-wrap { min-height:calc(100% - 56px); position:relative; padding:24px 28px 118px; display:flex; align-items:center; justify-content:center; }
.za-country-map-wrap .za-map-canvas { min-height:540px; }
.za-region-head strong { font-size:20px; }
.za-region-head .za-back { text-align:left; }
.za-muted { margin-left:auto; color:#667066; }
.za-region-summary__icon { width:38px; height:38px; color:#57734f; }
.za-list-page { padding:22px 30px 24px; }
.za-page-head { margin-bottom:14px; }
.za-page-head h1 { margin-top:9px; }
.za-camp-list { gap:10px; }
.za-camp-card { min-height:112px; border:1px solid rgba(58,65,45,.10); border-radius:10px; box-shadow:0 3px 12px rgba(64,53,33,.05); }
.za-features { display:flex; gap:10px; letter-spacing:0; }
.za-features span { display:inline-grid; place-items:center; min-width:20px; }
.za-chevron { font-size:24px; }
.za-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.za-pagination button { border:1px solid rgba(57,72,49,.24); background:#f8f2e5; color:#244333; min-width:38px; height:38px; padding:0 12px; border-radius:999px; cursor:pointer; font-weight:700; }
.za-pagination button:hover:not(:disabled),.za-pagination button.is-active { background:#244f38; color:#fff; border-color:#244f38; }
.za-pagination button:disabled { opacity:.38; cursor:not-allowed; }
.za-page-numbers { display:flex; gap:6px; }
.za-info-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:28px; margin-top:26px; }
.za-contact-card { background:rgba(255,252,244,.72); border:1px solid var(--line); border-radius:14px; padding:22px; }
.za-contact-card a { color:#244f38; font-weight:700; }
.za-modal { backdrop-filter:blur(5px); }
.za-modal__box--wide { width:min(980px,100%); padding:26px; }
.za-modal__head h2 { margin:2px 0 0; font-family:Georgia,serif; font-size:30px; }
.za-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0 22px; }
.za-steps span { padding:10px 12px; border-radius:9px; background:#e8dfca; color:#657063; text-align:center; font-weight:700; font-size:13px; }
.za-steps span.is-active { background:#244f38; color:#fff; }
.za-form--two { max-width:none; grid-template-columns:1fr 1fr; gap:14px 18px; }
.za-form__full { grid-column:1/-1; }
.za-form fieldset { border:1px solid rgba(42,62,45,.22); border-radius:10px; padding:14px; }
.za-form legend { font-weight:700; padding:0 6px; }
.za-checks { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.za-checks label { display:flex; align-items:center; gap:7px; font-weight:400; }
.za-checks input { width:auto; }
.za-form__actions { display:flex; justify-content:flex-end; }
.za-demo-note { color:#697368; font-size:12px; margin-bottom:0; }
.za-stat__icon { color:#55744f; width:26px; height:26px; }

@media (max-width:1050px){
  #zalesaci-app { margin-top:6px !important; }
  .za-country-map-wrap { padding-left:16px; padding-right:16px; }
}
@media (max-width:760px){
  #zalesaci-app { margin-top:0 !important; }
  .za-country-page { padding-top:0; }
  .za-country-map-wrap { min-height:0; padding:8px 0 12px; display:block; }
  .za-country-map-wrap .za-map-canvas { min-height:0; }
  .za-pagination { gap:7px; flex-wrap:wrap; }
  .za-pagination button { min-width:34px; height:34px; padding:0 9px; font-size:12px; }
  .za-info-grid { grid-template-columns:1fr; }
  .za-form--two { grid-template-columns:1fr; }
  .za-form__full { grid-column:auto; }
  .za-checks { grid-template-columns:1fr 1fr; }
  .za-steps { overflow:auto; grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .za-modal__box--wide { padding:18px 14px; }
}

/* Zálesáci v1.3 – mapa Evropy, kompas a formulář */
#zalesaci-app { margin-top: 2px !important; }

/* Neaktivní země zůstávají šedé, při najetí pouze ztmavnou. */
.za-map-canvas svg path.za-country-empty { fill:#dedbc8 !important; }
.za-map-canvas svg path.za-country-empty:hover,
.za-map-canvas svg path.za-country-empty.is-hovered { fill:#c8c6b7 !important; filter:brightness(.98) drop-shadow(0 2px 4px rgba(26,48,34,.18)); }

/* Země s kempem jsou světle zelené, při najetí tmavě zelené. */
.za-map-canvas svg path.za-country-active,
.za-map-canvas svg path.za-country-hot { fill:#96aa68 !important; }
.za-map-canvas svg path.za-country-active:hover,
.za-map-canvas svg path.za-country-active.is-hovered,
.za-map-canvas svg path.za-country-hot:hover,
.za-map-canvas svg path.za-country-hot.is-hovered { fill:#254b35 !important; filter:drop-shadow(0 3px 5px rgba(26,48,34,.28)); }

/* Kompasová růžice podle schváleného návrhu. */
.za-compass { position:absolute; right:28px; top:25px; width:82px; height:82px; border:0; border-radius:0; object-fit:contain; opacity:.82; display:block; pointer-events:none; }

/* Viditelné a pohodlně klikatelné checkboxy ve formuláři. */
.za-checks label { min-height:42px; padding:9px 11px; border:1px solid rgba(42,62,45,.18); border-radius:9px; background:rgba(255,252,244,.66); cursor:pointer; }
.za-checks input[type="checkbox"] { appearance:none !important; -webkit-appearance:none !important; width:20px !important; height:20px !important; min-width:20px; margin:0; border:2px solid #587153 !important; border-radius:5px; background:#fff !important; display:inline-grid; place-content:center; cursor:pointer; }
.za-checks input[type="checkbox"]::before { content:""; width:10px; height:10px; transform:scale(0); transition:transform .12s ease; background:#fff; clip-path:polygon(14% 44%,0 59%,40% 100%,100% 18%,84% 4%,39% 70%); }
.za-checks input[type="checkbox"]:checked { background:#254b35 !important; border-color:#254b35 !important; }
.za-checks input[type="checkbox"]:checked::before { transform:scale(1); }
.za-checks input[type="checkbox"]:focus-visible { outline:3px solid rgba(150,170,104,.45); outline-offset:2px; }

@media (max-width:760px){
  #zalesaci-app { margin-top:0 !important; }
}


/* Zálesáci v1.4 – horní umístění, interní scroll a další státy */
html:has(#zalesaci-app), body:has(#zalesaci-app) { min-height:100%; }
body:has(#zalesaci-app) #content-wrapper,
body:has(#zalesaci-app) .content-wrapper,
body:has(#zalesaci-app) .content-wrapper-in,
body:has(#zalesaci-app) #content,
body:has(#zalesaci-app) .homepage-box,
body:has(#zalesaci-app) .homepage-box.welcome-wrapper {
  margin-top:0 !important;
  padding-top:0 !important;
}
body:has(#zalesaci-app) .content-wrapper-in { padding-bottom:0 !important; }
#zalesaci-app {
  margin:2px auto 0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
@media (min-width:761px) {
  #zalesaci-app .za-shell { height:calc(100vh - 42px); min-height:640px; max-height:790px; }
  #zalesaci-app .za-sidebar,#zalesaci-app .za-main,#zalesaci-app .za-screen { height:100%; min-height:0; }
  #zalesaci-app .za-screen { overflow:auto; }
  #zalesaci-app .za-map-page,#zalesaci-app .za-country-page { height:100%; min-height:0; overflow:hidden; }
  #zalesaci-app .za-list-page,#zalesaci-app .za-info-page,#zalesaci-app .za-detail { min-height:100%; }
}
.za-country-map-wrap .za-map-canvas svg { max-width:100%; max-height:100%; }
.za-country-map-wrap .za-map-canvas { overflow:hidden; }
.za-map-canvas svg path[data-clickable="true"] { cursor:pointer; }
.za-map-canvas svg path.za-country-empty:hover,
.za-map-canvas svg path.za-country-empty.is-hovered { fill:#c8c6b7 !important; }
.za-map-canvas svg path.za-country-active:hover,
.za-map-canvas svg path.za-country-active.is-hovered { fill:#254b35 !important; }
@media (max-width:760px){
  #zalesaci-app { margin:0 0 74px !important; }
}

/* Zálesáci v1.5 – rozšířená sada interaktivních států */
.za-country-map-wrap .za-loading { color:#566357; }
.za-map-canvas svg path[data-clickable="true"] { transition:fill .18s ease, filter .18s ease; }

/* Zálesáci v1.6 – adaptivní výška, mapy států, vybavení a přesné hvězdičky */
html:has(#zalesaci-app),
body:has(#zalesaci-app) {
  overflow-y:auto !important;
  scrollbar-gutter:auto !important;
}
body:has(#zalesaci-app) {
  min-height:100vh;
}

/* Na mapových obrazovkách se karta vejde do dostupné výšky. */
@media (min-width:761px) {
  #zalesaci-app.za-view-europe .za-shell,
  #zalesaci-app.za-view-country .za-shell {
    height:min(790px, calc(100vh - 10px));
    min-height:620px;
    max-height:none;
  }
  #zalesaci-app.za-view-europe .za-screen,
  #zalesaci-app.za-view-country .za-screen {
    overflow:hidden !important;
  }

  /* Obsahové stránky rostou podle obsahu; žádný scrollbar uvnitř karty. */
  #zalesaci-app.za-view-camps .za-shell,
  #zalesaci-app.za-view-region .za-shell,
  #zalesaci-app.za-view-camp .za-shell,
  #zalesaci-app.za-view-about .za-shell {
    height:auto !important;
    min-height:720px;
    max-height:none !important;
  }
  #zalesaci-app.za-view-camps .za-sidebar,
  #zalesaci-app.za-view-region .za-sidebar,
  #zalesaci-app.za-view-camp .za-sidebar,
  #zalesaci-app.za-view-about .za-sidebar,
  #zalesaci-app.za-view-camps .za-main,
  #zalesaci-app.za-view-region .za-main,
  #zalesaci-app.za-view-camp .za-main,
  #zalesaci-app.za-view-about .za-main,
  #zalesaci-app.za-view-camps .za-screen,
  #zalesaci-app.za-view-region .za-screen,
  #zalesaci-app.za-view-camp .za-screen,
  #zalesaci-app.za-view-about .za-screen {
    height:auto !important;
    min-height:720px;
    overflow:visible !important;
  }
}

/* Scrollbar se případně zobrazí jen stránce a barevně zapadne do návrhu. */
html:has(#zalesaci-app) {
  scrollbar-color:#71875f #0b291f;
  scrollbar-width:thin;
}
html:has(#zalesaci-app)::-webkit-scrollbar { width:11px; }
html:has(#zalesaci-app)::-webkit-scrollbar-track { background:#0b291f; }
html:has(#zalesaci-app)::-webkit-scrollbar-thumb { background:#71875f; border:3px solid #0b291f; border-radius:999px; }

/* Každá mapa státu se automaticky vejde do prostoru karty. */
.za-country-map-wrap {
  min-height:0 !important;
  height:100%;
  padding:74px 32px 122px !important;
}
.za-country-map-wrap .za-map-canvas {
  min-height:0 !important;
  height:100%;
  width:100%;
  overflow:hidden;
}
.za-country-map-wrap .za-map-canvas svg {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  display:block;
  overflow:hidden !important;
}

/* Hvězdičky s plynulým částečným vybarvením (např. 4,6 = 92 %). */
.za-card-rating { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.za-stars-visual {
  position:relative;
  display:inline-block;
  width:6.1em;
  height:1.2em;
  line-height:1.2;
  font-size:18px;
  letter-spacing:.08em;
  white-space:nowrap;
  vertical-align:middle;
}
.za-stars-empty,
.za-stars-fill {
  position:absolute;
  inset:0 auto auto 0;
  overflow:hidden;
  white-space:nowrap;
}
.za-stars-empty { color:#c7c1ad; }
.za-stars-fill { color:var(--gold); }
.za-rating-box .za-stars-visual { display:block; margin:5px auto 7px; font-size:23px; }

/* Zálesácké hodnocení je jasně odlišené zeleným podkladem. */
.za-rating-box--zalesaci {
  color:#fff;
  background:linear-gradient(145deg,#315f42,#1e4934) !important;
  border-color:#1d4532 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.za-rating-box--zalesaci .za-stars-empty { color:rgba(255,255,255,.30); }
.za-rating-box--zalesaci .za-stars-fill { color:#f0ad28; }
.za-rating-box--zalesaci small { color:rgba(255,255,255,.84); }
.za-rating-label { display:block; font-weight:700; margin-bottom:3px; }

/* Vybavení je řešené jako skutečně klikatelné volby nezávislé na CSS Shoptetu. */
.za-checks { grid-template-columns:repeat(3,minmax(0,1fr)); }
.za-feature-option {
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgba(42,62,45,.23);
  border-radius:9px;
  background:rgba(255,252,244,.78);
  color:#23372a;
  text-align:left;
  cursor:pointer;
  transition:.16s ease;
}
.za-feature-option:hover { border-color:#66805d; background:#f9f5e9; }
.za-feature-option input { position:absolute !important; opacity:0 !important; pointer-events:none !important; width:1px !important; height:1px !important; }
.za-feature-check {
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  border:2px solid #5b7355;
  border-radius:6px;
  color:transparent;
  background:#fff;
  font-weight:900;
}
.za-feature-option.is-selected,
.za-feature-option[aria-pressed="true"] {
  color:#fff;
  border-color:#244f38;
  background:#244f38;
}
.za-feature-option.is-selected .za-feature-check,
.za-feature-option[aria-pressed="true"] .za-feature-check {
  color:#244f38;
  border-color:#fff;
  background:#fff;
}

@media (max-width:760px) {
  .za-country-map-wrap { height:auto; padding:60px 0 100px !important; }
  .za-country-map-wrap .za-map-canvas { height:auto; }
  .za-country-map-wrap .za-map-canvas svg { width:100% !important; height:auto !important; }
  .za-checks { grid-template-columns:1fr 1fr; }
}


/* =========================================================
   ZÁLESÁCI 2.0 — jednotné mapy, silnější kontrast a facelift
   ========================================================= */

#zalesaci-app {
  --map-empty:#7c876f;
  --map-active:#78994c;
  --map-hot:#274b37;
  --map-hover:#343a38;
  --map-border:#f7f1e3;
  --map-shadow:rgba(24,39,29,.28);
  --paper-soft:#f4ecd9;
  --panel-line:rgba(53,67,43,.18);
}

.za-title__nowrap {
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}

/* Jemnější a modernější panely. */
.za-shell {
  border-color:rgba(145,162,108,.78);
  box-shadow:
    0 30px 80px rgba(0,0,0,.38),
    0 0 0 1px rgba(193,205,153,.14),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.za-screen {
  background:
    radial-gradient(circle at 19% 9%,rgba(255,255,255,.76),transparent 31%),
    radial-gradient(circle at 82% 76%,rgba(167,151,111,.08),transparent 34%),
    linear-gradient(115deg,#f7f0df,#e9dec4);
}
.za-intro {
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));
}
.za-stats,
.za-region-summary,
.za-contact-card {
  backdrop-filter:blur(4px);
  box-shadow:0 10px 30px rgba(67,57,37,.08);
}

/* Stabilní centrování všech SVG map. */
.za-map-canvas {
  position:relative;
  isolation:isolate;
}
.za-map-canvas svg {
  margin:auto;
  transform:translateZ(0);
  shape-rendering:geometricPrecision;
}
.za-map-canvas--europe svg {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain;
}

/* Společný vzhled Evropy i regionálních map. */
.za-map-canvas svg path.za-country-empty,
.za-map-canvas svg path.za-region-empty {
  fill:var(--map-empty) !important;
  stroke:var(--map-border) !important;
  stroke-width:1.25 !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}
.za-map-canvas svg path.za-country-active,
.za-map-canvas svg path.za-region-active {
  fill:var(--map-active) !important;
  stroke:var(--map-border) !important;
  stroke-width:1.35 !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}
.za-map-canvas svg path.za-country-hot,
.za-map-canvas svg path.za-region-hot {
  fill:var(--map-hot) !important;
  stroke:var(--map-border) !important;
  stroke-width:1.4 !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}

/* Hover je nově antracitový a jednotný pro státy i regiony. */
.za-map-canvas svg path[data-hoverable="true"]:hover,
.za-map-canvas svg path[data-hoverable="true"].is-hovered,
.za-map-canvas svg path[data-clickable="true"]:hover,
.za-map-canvas svg path[data-clickable="true"]:focus-visible {
  fill:var(--map-hover) !important;
  stroke:#fffaf0 !important;
  stroke-width:1.55 !important;
  filter:drop-shadow(0 3px 5px var(--map-shadow));
}

/* Aktivní Česko zůstává zelené, ale při hoveru také přejde do antracitu. */
.za-map-canvas svg path.za-country-active:hover,
.za-map-canvas svg path.za-country-active.is-hovered,
.za-map-canvas svg path.za-region-active:hover,
.za-map-canvas svg path.za-region-active.is-hovered,
.za-map-canvas svg path.za-country-hot:hover,
.za-map-canvas svg path.za-country-hot.is-hovered,
.za-map-canvas svg path.za-region-hot:hover,
.za-map-canvas svg path.za-region-hot.is-hovered {
  fill:var(--map-hover) !important;
}

/* Zvýraznění mapy bez změny geometrie. */
.za-map-canvas--europe svg {
  filter:drop-shadow(0 8px 14px rgba(53,63,45,.10));
}
.za-map-zone::after {
  content:"";
  position:absolute;
  inset:74px 30px 32px 16px;
  pointer-events:none;
  border-radius:30px;
  background:radial-gradient(circle at 53% 50%,rgba(115,130,94,.06),transparent 62%);
  z-index:-1;
}

/* Kompas a ovládací prvky. */
.za-compass {
  opacity:.9;
  filter:drop-shadow(0 3px 6px rgba(69,58,35,.16));
}
.za-chip {
  box-shadow:0 4px 14px rgba(70,60,38,.07);
}
.za-chip:hover {
  border-color:rgba(38,77,53,.35);
  background:#fffaf0;
}

/* Jemnější pohyb, bez posouvání hranic SVG. */
.za-map-canvas svg path {
  transition:
    fill .18s ease,
    stroke .18s ease,
    filter .18s ease;
  transform:none !important;
}

/* Mobilní optimalizace 2.0. */
@media (max-width:760px) {
  .za-title__nowrap { white-space:normal; }
  .za-map-canvas--europe svg {
    width:100% !important;
    height:auto !important;
  }
  .za-map-zone::after { inset:48px 6px 14px; }
}


/* =========================================================
   ZÁLESÁCI 2.1 — přesné hvězdičky
   ========================================================= */

.za-stars-visual {
  --star-empty:#c7c1ad;
  --star-full:#df9410;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:2px;
  width:auto;
  height:1.15em;
  line-height:1;
  font-size:18px;
  letter-spacing:0;
  white-space:nowrap;
  vertical-align:middle;
}

.za-star {
  position:relative;
  display:inline-block;
  flex:0 0 1em;
  width:1em;
  height:1em;
  line-height:1;
}

.za-star::before,
.za-star::after {
  content:"★";
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  line-height:1;
}

.za-star::before {
  color:var(--star-empty);
}

.za-star::after {
  color:var(--star-full);
  clip-path:inset(0 calc(100% - var(--star-fill)) 0 0);
}

.za-rating-box .za-stars-visual {
  display:inline-flex;
  margin:6px auto 8px;
  font-size:23px;
}

.za-rating-box--zalesaci .za-stars-visual {
  --star-empty:rgba(255,255,255,.28);
  --star-full:#f0ad28;
}

/* Staré překryvné vrstvy už se nepoužívají. */
.za-stars-empty,
.za-stars-fill {
  display:none !important;
}


/* =========================================================
   ZÁLESÁCI 3.0 — MOBILNÍ RESPONZIV
   ========================================================= */
@media (max-width:760px){
  html:has(#zalesaci-app),body:has(#zalesaci-app){
    min-height:100%;margin:0!important;padding:0!important;
    background:#efe5ce!important;background-image:none!important;
    overscroll-behavior-y:none;
  }
  body:has(#zalesaci-app) #header,
  body:has(#zalesaci-app) .header-top,
  body:has(#zalesaci-app) .top-navigation-bar,
  body:has(#zalesaci-app) .navigation-wrapper,
  body:has(#zalesaci-app) .breadcrumbs-wrapper{display:none!important;}
  body:has(#zalesaci-app) #content-wrapper,
  body:has(#zalesaci-app) .content-wrapper,
  body:has(#zalesaci-app) .content-wrapper-in,
  body:has(#zalesaci-app) #content,
  body:has(#zalesaci-app) .homepage-box,
  body:has(#zalesaci-app) .homepage-box.welcome-wrapper{
    margin:0!important;padding:0!important;background:#efe5ce!important;
  }
  #zalesaci-app{width:100%;margin:0 0 74px!important;padding:0!important;background:#efe5ce!important;}
  .za-shell,.za-main,.za-screen,.za-map-page,.za-country-page,.za-detail,.za-list-page,.za-info-page{background:#efe5ce!important;}
  .za-intro{padding:18px 18px 8px!important;background:#efe5ce!important;}
  .za-title{margin:0!important;font-size:clamp(31px,9.2vw,43px)!important;line-height:1.02!important;}
  .za-lead{margin-top:12px!important;}
  .za-map-page>.za-stats{
    width:calc(100% - 28px);margin:8px 14px 18px!important;padding:13px 12px!important;
    background:rgba(249,244,232,.94);
  }
  .za-map-zone{padding:2px 0 8px!important;background:#efe5ce!important;}
  .za-map-toolbar{padding:2px 16px 6px!important;}
  .za-map-canvas--europe{padding:0 6px;}
  .za-country-page,.za-detail{padding-top:18px!important;}
  .za-region-head,.za-detail__head{position:relative!important;top:auto!important;margin:0!important;min-height:58px;}
  .za-region-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px;padding:0 14px!important;}
  .za-region-head strong{text-align:center;font-size:clamp(18px,5.8vw,26px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .za-region-head span:last-child,.za-region-head .za-back,.za-detail__head .za-back{white-space:nowrap;font-size:14px;}
  .za-country-map-wrap{padding:18px 0 16px!important;background:#efe5ce!important;}
  .za-country-map-wrap .za-map-canvas{padding:0 10px;}
  .za-region-summary{margin:12px 14px 18px!important;}
  .za-detail__head{padding:0 14px!important;}
  .za-detail__head strong{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .za-mobile-nav{background:#102f24!important;}
  .za-mobile-nav button{min-width:0;}
  .za-mobile-nav button span{line-height:1;}
  .za-mobile-splash{
    position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:28px;
    background:radial-gradient(circle at 50% 38%,rgba(112,139,93,.18),transparent 34%),linear-gradient(180deg,#0c2d22,#061f18);
    opacity:1;transition:opacity .3s ease,visibility .3s ease;
  }
  .za-mobile-splash.is-leaving{opacity:0;visibility:hidden;}
  .za-mobile-splash__inner{width:min(340px,88vw);display:flex;flex-direction:column;align-items:center;gap:30px;text-align:center;}
  .za-mobile-splash__inner img{display:block;width:min(290px,78vw);max-height:48vh;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(0,0,0,.32));}
  .za-mobile-splash__enter{
    min-width:180px;min-height:52px;padding:12px 28px;border:1px solid rgba(232,224,194,.62);
    border-radius:999px;background:#78994c;color:#fff;font-size:19px;font-weight:800;letter-spacing:.02em;
    box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer;
  }
}
@media (min-width:761px){.za-mobile-splash{display:none!important;}}


/* =========================================================
   ZÁLESÁCI 3.1 — MOBIL: odstranění horní mezery a gradientů
   Desktop zůstává beze změny.
   ========================================================= */
@media (max-width:760px) {

  /* Shoptet přidával horní padding na hlavní obal. */
  body:has(#zalesaci-app) .overall-wrapper,
  body:has(#zalesaci-app) #overall-wrapper,
  body:has(#zalesaci-app) .content-wrapper,
  body:has(#zalesaci-app) .content-wrapper-in,
  body:has(#zalesaci-app) #content-wrapper,
  body:has(#zalesaci-app) #content,
  body:has(#zalesaci-app) main {
    padding-top:0 !important;
    margin-top:0 !important;
  }

  /* Jednotné pískové pozadí bez přechodů, stínů a textur. */
  html:has(#zalesaci-app),
  body:has(#zalesaci-app),
  body:has(#zalesaci-app) .overall-wrapper,
  body:has(#zalesaci-app) #overall-wrapper,
  body:has(#zalesaci-app) #content-wrapper,
  body:has(#zalesaci-app) .content-wrapper,
  body:has(#zalesaci-app) .content-wrapper-in,
  body:has(#zalesaci-app) #content,
  body:has(#zalesaci-app) main,
  body:has(#zalesaci-app) .homepage-box,
  body:has(#zalesaci-app) .homepage-box.welcome-wrapper,
  #zalesaci-app,
  #zalesaci-app .za-shell,
  #zalesaci-app .za-main,
  #zalesaci-app .za-screen,
  #zalesaci-app .za-map-page,
  #zalesaci-app .za-intro,
  #zalesaci-app .za-map-zone,
  #zalesaci-app .za-country-page,
  #zalesaci-app .za-country-map-wrap,
  #zalesaci-app .za-list-page,
  #zalesaci-app .za-detail,
  #zalesaci-app .za-info-page {
    background:#efe5ce !important;
    background-color:#efe5ce !important;
    background-image:none !important;
    box-shadow:none !important;
  }

  /* Vypnutí dekorativních vrstev vytvářejících horní/dolní přechod. */
  #zalesaci-app .za-screen::before,
  #zalesaci-app .za-screen::after,
  #zalesaci-app .za-map-zone::before,
  #zalesaci-app .za-map-zone::after,
  #zalesaci-app .za-map-page::before,
  #zalesaci-app .za-map-page::after {
    display:none !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
  }

  /* Aplikace začíná přímo pod systémovou horní lištou. */
  #zalesaci-app {
    top:auto !important;
    padding-top:0 !important;
  }

  #zalesaci-app .za-screen,
  #zalesaci-app .za-map-page,
  #zalesaci-app .za-country-page,
  #zalesaci-app .za-detail,
  #zalesaci-app .za-list-page {
    padding-top:0;
    margin-top:0;
  }

  /* Zachování malého pískového odsazení pouze před zelenou lištou státu/detailu. */
  #zalesaci-app .za-country-page,
  #zalesaci-app .za-detail {
    padding-top:12px !important;
  }

  /* Spodní navigace zůstává zelená a oddělená čistou hranou. */
  #zalesaci-app .za-mobile-nav {
    background:#102f24 !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   ZÁLESÁCI 3.2 — MOBILNÍ SPLASH PŘI KAŽDÉM NAČTENÍ
   ========================================================= */
@media (max-width:760px){

  /* Odstranění paddingu 16px 0 z welcome-wrapperu Shoptetu. */
  body:has(#zalesaci-app) .welcome-wrapper,
  body:has(#zalesaci-app) .homepage-box.welcome-wrapper {
    padding:0 !important;
  }

  .za-mobile-splash {
    opacity:0;
    visibility:visible;
  }

  .za-mobile-splash.is-visible {
    opacity:1;
  }

  .za-mobile-splash__logo {
    opacity:0;
    transform:translateY(16px) scale(.96);
    animation:zaSplashLogoIn .65s cubic-bezier(.22,.8,.24,1) .08s forwards;
  }

  .za-mobile-splash__enter {
    opacity:0;
    transform:translateY(14px);
    animation:zaSplashButtonIn .48s ease .42s forwards;
  }

  .za-mobile-splash.is-leaving {
    opacity:0;
    visibility:hidden;
    transition:opacity .34s ease,visibility .34s ease;
  }

  .za-mobile-splash.is-leaving .za-mobile-splash__logo {
    transform:scale(1.03);
    transition:transform .34s ease;
  }
}

@keyframes zaSplashLogoIn {
  from {
    opacity:0;
    transform:translateY(16px) scale(.96);
  }
  to {
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes zaSplashButtonIn {
  from {
    opacity:0;
    transform:translateY(14px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}


/* Zálesáci 4.1 – databázové stavy, galerie a recenze */
.za-button:disabled,.za-chip:disabled{opacity:.65;cursor:wait;pointer-events:none}
.za-spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:za-spin .75s linear infinite}
@keyframes za-spin{to{transform:rotate(360deg)}}
.za-detail-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 20px;background:#f7f1e2;border-bottom:1px solid rgba(48,62,40,.12)}
.za-review-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.za-detail__hero-button{display:block;width:100%;padding:0;border:0;cursor:pointer;position:relative;background:#17251c}
.za-gallery-hint{position:absolute;left:18px;bottom:16px;background:rgba(13,29,20,.8);color:#fff;border-radius:999px;padding:8px 13px;font-weight:700}
.za-review-list{display:grid;gap:12px;margin-top:18px}
.za-review-item{background:#fffaf0;border:1px solid rgba(48,62,40,.14);border-radius:12px;padding:15px}
.za-review-item>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.za-review-item p{white-space:pre-wrap;margin:10px 0}.za-review-item small{color:#687066}
.za-gallery{position:fixed;inset:0;background:rgba(4,12,8,.96);display:grid;place-items:center;z-index:100000;padding:48px 70px}
.za-gallery img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain}
.za-gallery__close,.za-gallery__arrow{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;border-radius:50%}
.za-gallery__close{right:20px;top:18px;width:44px;height:44px;font-size:31px}.za-gallery__arrow{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:42px;line-height:1}.za-gallery__arrow--prev{left:16px}.za-gallery__arrow--next{right:16px}.za-gallery__count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.5);padding:7px 14px;border-radius:999px;font-weight:700}
@media(max-width:760px){.za-detail-actions{padding:11px 12px}.za-detail-actions>*{flex:1}.za-gallery{padding:58px 8px 70px}.za-gallery__arrow{top:auto;bottom:12px;transform:none;width:44px;height:44px}.za-gallery__arrow--prev{left:14px}.za-gallery__arrow--next{right:14px}.za-gallery__count{bottom:20px}.za-gallery-hint{left:10px;bottom:10px;font-size:12px}}

/* Zálesáci 4.2 – moderní kreslené ikony vybavení */
.za-features{display:flex;flex-wrap:wrap;gap:10px;letter-spacing:0!important;align-items:center}
.za-feature-badge{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid rgba(37,75,53,.18);border-radius:12px;background:rgba(255,250,240,.82);color:#244f38;font-size:14px;font-weight:700;box-shadow:0 3px 12px rgba(50,65,45,.05)}
.za-feature-badge__icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px}
.za-feature-badge__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-camp-card .za-feature-badge{width:34px;height:34px;min-height:34px;padding:5px;justify-content:center;border-radius:10px;background:#eef1e3}
.za-camp-card .za-feature-badge__icon{width:23px;height:23px;flex-basis:23px}
.za-camp-card .za-feature-badge__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.za-detail__body>.za-features{margin-top:10px}
@media(max-width:760px){.za-feature-badge{min-height:40px;padding:7px 10px;font-size:13px}.za-feature-badge__icon{width:25px;height:25px;flex-basis:25px}.za-detail__body>.za-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.za-detail__body>.za-features .za-feature-badge{width:100%}}

/* =========================================================
   ZÁLESÁCI 6.0.1 — detail kempu a správce fotografií
   Navazuje na poslední funkční CSS bez zásahu do map, galerie a ikon.
   ========================================================= */
.za-detail-edit{display:flex;justify-content:flex-end;margin-top:34px;padding-top:22px;border-top:1px solid rgba(20,43,34,.12)}
.za-detail-actions a.za-chip{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.za-form__hint{margin:0;color:#68736d;font-size:13px;line-height:1.55}
.za-photo-manager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 20px}
.za-photo-manager__item{overflow:hidden;border:1px solid rgba(20,43,34,.12);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,43,34,.06)}
.za-photo-manager__item.is-cover{border-color:#1f7a4d;box-shadow:0 0 0 2px rgba(31,122,77,.14),0 10px 26px rgba(20,43,34,.08)}
.za-photo-manager__item img{width:100%;height:170px;object-fit:cover;display:block}
.za-photo-manager__item>div{padding:13px}
.za-photo-manager__item strong{display:block;margin-bottom:10px;color:#183b2d}
.za-photo-manager__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;position:relative;z-index:2}
.za-photo-manager__actions button{position:relative;z-index:3;pointer-events:auto}
.za-photo-delete{border:0;background:transparent;color:#a22b2b;font:inherit;font-weight:700;cursor:pointer;padding:8px 10px}
.za-photo-delete:hover{text-decoration:underline}
.za-add-photos{display:block;margin-top:14px}
.za-detail .za-detail-actions{gap:10px;flex-wrap:wrap}
.za-detail .za-rating-grid{margin-top:18px}
.za-detail .za-rating-box{border-radius:18px}
.za-detail .za-facts{align-items:stretch}
.za-detail .za-fact{border:1px solid rgba(20,43,34,.09);border-radius:14px;background:#fff;padding:14px}
.za-detail__body>h2{margin-top:30px}
.za-detail__body>p:not(.za-features){font-size:16px;line-height:1.75;color:#34483f}
.za-detail .za-features{gap:10px}
.za-detail .za-feature-badge{border:1px solid rgba(20,43,34,.1);background:#f8fbf9;border-radius:999px;padding:8px 11px}
@media(max-width:700px){
  .za-photo-manager{grid-template-columns:1fr}
  .za-photo-manager__item img{height:210px}
  .za-detail-edit{justify-content:stretch}
  .za-detail-edit .za-chip{width:100%}
  .za-detail-actions .za-button,.za-detail-actions .za-chip{flex:1 1 140px}
}

/* =========================================================
   ZÁLESÁCI 6.0.2 — vizuální doladění detailu kempu
   Rozvržení detailu zůstává zachované.
   ========================================================= */

/* Hodnocení: samostatné karty s mezerou a bezpečným odsazením. */
.za-detail .za-rating-grid{
  width:min(700px,calc(100% - 56px));
  max-width:700px;
  gap:16px;
  margin:20px auto 0;
}
.za-detail .za-rating-box{
  overflow:hidden;
  border:1px solid rgba(44,67,50,.18);
  box-shadow:0 7px 20px rgba(52,61,40,.06);
}

/* Web kempu: stejný tvar a rozměry jako Navigovat, ale světlá varianta. */
.za-detail-actions a.za-chip{
  min-height:42px;
  padding:10px 17px;
  border:1px solid #315f42;
  border-radius:9px;
  background:#edf3e5;
  color:#214f39;
  font-weight:700;
  box-shadow:none;
}
.za-detail-actions a.za-chip:hover{
  background:#dfe9d7;
  color:#173d2e;
  border-color:#214f39;
}

/* Základní údaje: přírodní světle zelené karty místo bílé. */
.za-detail .za-fact{
  border-color:rgba(55,83,61,.16);
  background:#e8eee1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

/* Vybavení: obdélníkové štítky se světle zeleným podkladem. */
.za-detail .za-feature-badge{
  min-height:44px;
  border:1px solid rgba(55,83,61,.18);
  border-radius:12px;
  background:#e5eddf;
  padding:8px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.za-detail .za-feature-badge:hover{
  background:#dce7d5;
  border-color:rgba(37,75,53,.28);
}

@media(max-width:760px){
  .za-detail .za-rating-grid{
    width:calc(100% - 28px);
    margin:14px 14px 0;
    gap:12px;
  }
  .za-detail .za-rating-box{
    padding:16px 10px;
  }
}

@media(max-width:560px){
  .za-detail .za-rating-grid{
    grid-template-columns:1fr;
  }
}


/* Zálesáci 6.0.3 – autor recenze a sjednocené SVG ikony detailu */
.za-camp-author,
.za-detail-author {
  display:flex;
  align-items:center;
  gap:7px;
  color:#516254;
  font-size:13px;
  line-height:1.35;
}
.za-camp-author { margin-top:7px; }
.za-camp-author svg,
.za-detail-author svg {
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.za-detail-author {
  margin:16px 28px 0;
  padding:11px 14px;
  border:1px solid rgba(65,91,65,.18);
  border-radius:10px;
  background:rgba(224,234,214,.74);
  color:#2d4b37;
}
.za-fact__icon {
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  color:#315e43;
}
.za-fact__icon svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media (max-width:760px) {
  .za-detail-author { margin:14px 14px 0; }
  .za-camp-author { font-size:12px; }
}

/* Zálesáci 6.0.5 – sjednocení mobilního výpisu a ikony navigace */
@media (max-width:760px) {
  /* Starší desktopové pravidlo mělo na mobilu stále 30px boční odsazení. */
  #zalesaci-app .za-list-page {
    padding-left:14px !important;
    padding-right:14px !important;
    padding-bottom:22px;
  }

  #zalesaci-app .za-camp-list {
    width:100%;
  }

  #zalesaci-app .za-camp-card {
    width:100%;
    box-sizing:border-box;
  }

  #zalesaci-app .za-mobile-nav__icon {
    width:23px;
    height:23px;
    display:grid;
    place-items:center;
  }

  #zalesaci-app .za-mobile-nav__icon svg {
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
}

/* Zálesáci 7.0 – cestovatelský deník */
.za-country-page{overflow:auto!important;padding-bottom:0}.za-country-map-wrap{height:min(570px,62vh)!important;padding:74px 32px 24px!important}.za-country-camps{padding:26px 30px 38px;border-top:1px solid var(--line);background:rgba(245,239,223,.72)}.za-country-camps__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.za-country-camps__head h2{margin:0;font:700 32px Georgia,serif}.za-empty-state{padding:34px;text-align:center;border:1px dashed rgba(37,75,53,.3);border-radius:14px;background:rgba(255,250,240,.55)}
.za-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.za-price-category,.za-card-visit{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e3ead9;color:#245038;font-size:12px;font-weight:700}.za-price-category--expensive{background:#eee0ca;color:#71491d}.za-price-category--cheap{background:#dcebd7;color:#245c35}
.za-visitor-summary{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:28px 0;padding:22px;border:1px solid rgba(37,75,53,.2);border-radius:16px;background:#e8eedf}.za-visitor-summary h2{margin:0 0 6px}.za-visitor-summary__counts{display:grid;grid-template-columns:auto auto;gap:4px 10px;align-items:baseline}.za-visitor-summary__counts strong{font:700 24px Georgia,serif;color:#245038}.za-review-history{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}.za-visit-timeline{display:grid;gap:16px}.za-visit-entry{position:relative;padding:22px;border:1px solid rgba(37,75,53,.18);border-radius:16px;background:rgba(255,250,240,.72)}.za-visit-entry::before{content:"";position:absolute;left:-1px;top:20px;bottom:20px;width:5px;border-radius:0 5px 5px 0;background:#708b5d}.za-visit-entry__head{display:flex;justify-content:space-between;gap:20px}.za-visit-entry__head h3{margin:0;font:700 22px Georgia,serif}.za-visit-names,.za-visit-counts{color:#526052}.za-travel-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.za-travel-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:10px;background:#e7edde;color:#245038;font-weight:700;font-size:13px}.za-travel-badge svg,.za-travel-option svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.za-visit-text{white-space:pre-wrap;line-height:1.7}.za-detail-edit{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.za-travel-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:9px}.za-travel-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:92px;padding:10px;border:1px solid rgba(37,75,53,.22);border-radius:12px;background:#fffaf0;color:#245038;cursor:pointer}.za-travel-option input{position:absolute!important;opacity:0!important}.za-travel-option.is-selected{background:#245038;color:#fff}.za-travel-option__icon{width:30px;height:30px}.za-visit-form{background:rgba(232,238,223,.55)}
.za-wishlist-page .za-page-head{align-items:center}.za-wishlist-list{display:grid;gap:14px}.za-wishlist-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px;border:1px solid rgba(37,75,53,.18);border-radius:16px;background:rgba(255,250,240,.75)}.za-wishlist-card__pin{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e3ead9;color:#245038}.za-wishlist-card__pin svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}.za-wishlist-card h3{margin:0 0 7px;font:700 24px Georgia,serif}.za-wishlist-meta{display:flex;gap:12px;flex-wrap:wrap;color:#617061;font-size:13px}.za-wishlist-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.za-country-map-wrap{height:auto!important;padding:60px 0 20px!important}.za-country-camps{padding:22px 14px 30px}.za-country-camps__head{align-items:flex-start;flex-direction:column}.za-country-camps .za-camp-card{margin:0}.za-visitor-summary{align-items:flex-start;flex-direction:column}.za-visit-entry__head{flex-direction:column}.za-travel-options{grid-template-columns:repeat(2,1fr)}.za-wishlist-card{grid-template-columns:40px minmax(0,1fr)}.za-wishlist-actions{grid-column:1/-1;justify-content:stretch}.za-wishlist-actions>*{flex:1}.za-detail-edit>*{flex:1}}

/* Zálesáci 7.0.1 – vstupní ověření před interními formuláři */
.za-access-gate{width:min(520px,100%)}
.za-access-gate__intro{display:flex;align-items:center;gap:14px;margin:18px 0 20px;padding:16px;border:1px solid rgba(37,75,53,.18);border-radius:14px;background:#e8eedf;color:#2d4b37}
.za-access-gate__intro p{margin:0;line-height:1.55}
.za-access-gate__icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:#f7f1e2;color:#245038}
.za-access-gate__icon svg,.za-editor-identity__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-access-gate .za-form__actions{justify-content:stretch}
.za-access-gate .za-button{width:100%;min-height:46px}
.za-editor-identity{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(37,75,53,.18);border-radius:12px;background:#e8eedf;color:#2d4b37}
.za-editor-identity__icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:#f7f1e2;color:#245038}
.za-editor-identity small{display:block;margin-bottom:2px;color:#617061}
.za-editor-identity strong{display:block;font-size:16px}
@media(max-width:760px){.za-access-gate{padding:20px 16px}.za-access-gate__intro{align-items:flex-start}.za-editor-identity{grid-column:auto}}

/* Zálesáci 8.0 – dospělá aplikace / cestovatelský deník */
#zalesaci-app{--za-radius:16px;--za-panel:#f7f1e2;--za-panel-green:#e7edde;--za-muted:#607064;--za-danger:#9b3030}
.za-country-camps{position:relative}.za-country-camps__head{position:sticky;top:0;z-index:3;padding:12px 0;background:linear-gradient(180deg,#f5efdf 78%,rgba(245,239,223,0))}
.za-country-camps .za-camp-list{max-width:980px}.za-country-camps .za-camp-card{background:rgba(255,250,240,.88)}
.za-camp-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.za-camp-card:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(33,55,41,.09);border-color:rgba(42,78,54,.2)}
.za-card-meta{min-height:28px}.za-card-visit{background:#eef0df}.za-review-history h2{margin-top:0}
.za-visit-entry{overflow:hidden}.za-visit-entry__head{align-items:flex-start}.za-visit-entry__head .za-eyebrow{margin-bottom:6px}.za-visit-rating{flex:0 0 auto}
.za-stale-note{display:flex;align-items:flex-start;gap:10px;margin:16px 28px 0;padding:12px 14px;border:1px solid #d4b879;border-radius:12px;background:#fbf1d5;color:#664c18;font-size:13px;line-height:1.5}.za-stale-note svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.8}
.za-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.za-status-badge--active{background:#dcebd7;color:#245c35}.za-status-badge--temporary{background:#fbf1d5;color:#73531b}.za-status-badge--closed{background:#f0dddd;color:#843131}.za-status-badge--unknown{background:#e7e6df;color:#5b625d}
.za-wishlist-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.za-wishlist-priority{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e7edde;color:#245038;font-size:12px;font-weight:800}.za-wishlist-priority--high{background:#f2dfca;color:#7a4918}.za-wishlist-planned{display:inline-flex;align-items:center;gap:5px;color:#5b685f;font-size:13px}
.za-editor-identity{position:relative}.za-editor-identity::after{content:'Ověření platí do obnovení stránky';margin-left:auto;color:#617061;font-size:11px}
.za-detail-report{display:flex;justify-content:flex-end;margin-top:18px}.za-detail-report button{border:0;background:transparent;color:#627168;text-decoration:underline;cursor:pointer;font-size:12px}
.za-form-section{grid-column:1/-1;padding:16px;border:1px solid rgba(37,75,53,.16);border-radius:14px;background:rgba(232,238,223,.38)}.za-form-section>h3{margin:0 0 12px;font:700 20px Georgia,serif}
@media(max-width:760px){.za-country-camps__head{position:static;padding:0}.za-stale-note{margin:14px}.za-editor-identity::after{display:none}.za-visit-entry{padding:18px}.za-visit-rating{align-self:flex-start}.za-country-camps .za-camp-card{margin:0}}

.za-photo-manager__actions .za-chip{min-width:42px}.za-photo-manager__actions button:disabled{opacity:.45;cursor:not-allowed}.za-visit-entry__author{font-weight:700;color:#2d4b37}


/* Zálesáci 8.1 – detail, pivo, stránkování země a fotografie Kam vyrazit */
@media (min-width:761px){
  #zalesaci-app.za-view-country .za-shell{height:auto!important;min-height:720px;max-height:none!important}
  #zalesaci-app.za-view-country .za-sidebar,
  #zalesaci-app.za-view-country .za-main,
  #zalesaci-app.za-view-country .za-screen{height:auto!important;min-height:720px;overflow:visible!important}
  #zalesaci-app.za-view-country .za-country-page{height:auto!important;overflow:visible!important}
  #zalesaci-app.za-view-country .za-country-map-wrap{height:560px!important;min-height:560px!important}
}
.za-equipment-section{margin-top:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.za-equipment-section h2{margin-top:0}
.za-visitor-summary{background:#e5dcc3;border-color:rgba(118,91,43,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.za-visitor-summary__counts strong{color:#6c4c1f}
.za-wishlist-card.has-image{grid-template-columns:180px minmax(0,1fr) auto;align-items:stretch}
.za-wishlist-card__image{width:180px;min-height:150px;overflow:hidden;border-radius:12px;background:#dfe6d6}
.za-wishlist-card__image img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}
@media(max-width:760px){
  .za-wishlist-card.has-image{grid-template-columns:1fr}
  .za-wishlist-card__image{width:100%;height:190px;min-height:190px;grid-column:1/-1}
  .za-wishlist-card__image img{min-height:190px}
}


/* Zálesáci 8.2 – komunitní profily a výběr účastníků */
.za-editor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.za-editor-option{display:flex;align-items:center;gap:9px;min-height:52px;padding:9px 11px;border:1px solid rgba(37,75,53,.22);border-radius:12px;background:#fffaf0;color:#245038;text-align:left;cursor:pointer;font-weight:700;transition:.16s ease}
.za-editor-option:hover{border-color:#66805d;background:#f4f5e9}
.za-editor-option input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.za-editor-option.is-selected{background:#245038;color:#fff;border-color:#245038}
.za-editor-option__avatar{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#e4eadb}
.za-editor-option.is-selected .za-editor-option__avatar{background:rgba(255,255,255,.18)}
.za-editor-option__avatar img,.za-member-card__avatar img,.za-member-profile__avatar img{width:100%;height:100%;object-fit:cover}
.za-editor-option__avatar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.za-community-page{max-width:none}
.za-community-stats,.za-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}
.za-community-stats>div,.za-profile-stats>div{padding:17px;border:1px solid rgba(37,75,53,.16);border-radius:14px;background:#e8eedf;text-align:center}
.za-community-stats strong,.za-profile-stats strong{display:block;font:700 30px Georgia,serif;color:#245038}
.za-community-stats span,.za-profile-stats span{display:block;margin-top:4px;color:#526052;font-size:13px}
.za-member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.za-member-card{width:100%;display:grid;grid-template-columns:62px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:16px;border:1px solid rgba(37,75,53,.18);border-radius:16px;background:rgba(255,250,240,.82);color:#17271d;text-align:left;cursor:pointer;box-shadow:0 6px 18px rgba(50,65,45,.05)}
.za-member-card:hover{background:#f9f5e9;border-color:#78994c}
.za-member-card__avatar,.za-member-profile__avatar{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#e3ead9;color:#245038}
.za-member-card__avatar svg,.za-member-profile__avatar svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7}
.za-member-card__body{min-width:0;display:grid;gap:5px}
.za-member-card__body strong{font:700 22px Georgia,serif}
.za-member-card__body small{color:#617061;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.za-member-card__stats{font-size:13px;color:#435044}
.za-community-contact{max-width:none;margin-top:24px}
.za-member-profile__head{display:flex;align-items:center;gap:20px;margin:24px 0}
.za-member-profile__avatar{width:92px;height:92px;flex:0 0 92px}
.za-member-profile__avatar svg{width:48px;height:48px}
.za-member-profile__head h1{margin:2px 0 6px;font:700 42px Georgia,serif}
.za-member-profile__head p{margin:0}
.za-profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.za-editor-options{grid-template-columns:repeat(2,minmax(0,1fr))}.za-community-stats,.za-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.za-member-list{grid-template-columns:1fr}.za-member-profile__head{align-items:flex-start}.za-member-profile__head h1{font-size:34px}.za-member-profile__avatar{width:74px;height:74px;flex-basis:74px}}


/* Zálesáci 8.3 – kompletní editor kempu a všech návštěv */
.za-edit-section{border-color:rgba(37,75,53,.22)!important;background:rgba(232,238,223,.42);padding:18px!important}
.za-edit-visits-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:8px;padding:18px;border-radius:14px;background:#234f38;color:#fff}
.za-edit-visits-head h3{margin:0 0 5px;font:700 25px Georgia,serif}.za-edit-visits-head p{margin:0;color:rgba(255,255,255,.82);line-height:1.5}
.za-edit-visit{position:relative;margin:0;border:1px solid rgba(37,75,53,.22)!important;border-radius:16px!important;background:#f7f1e2!important;box-shadow:0 7px 22px rgba(34,61,44,.06)}
.za-edit-visit legend{padding:5px 11px;border-radius:999px;background:#708b5d;color:#fff}
.za-edit-save{position:sticky;bottom:-26px;z-index:10;margin:4px -26px -26px;padding:16px 26px;background:rgba(245,239,223,.96);border-top:1px solid rgba(37,75,53,.16);backdrop-filter:blur(8px)}
.za-edit-save .za-button{min-width:230px}
@media(max-width:760px){.za-edit-visits-head{padding:15px}.za-edit-visits-head h3{font-size:21px}.za-edit-section{padding:14px!important}.za-edit-save{bottom:-18px;margin:2px -14px -18px;padding:13px 14px}.za-edit-save .za-button{width:100%;min-width:0}}


/* Zálesáci 8.4 – Admin rozcestník, jednotné menu a kategorie Zdarma */
.za-price-category--free{background:#d8ead8;color:#18582d;border:1px solid rgba(24,88,45,.18)}
.za-admin-panel{width:min(720px,100%)}
.za-admin-panel__lead{margin:18px 0 14px;color:#526052}
.za-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.za-admin-action{display:flex;align-items:center;gap:15px;min-height:116px;padding:18px;border:1px solid rgba(37,75,53,.2);border-radius:16px;background:#eef3e7;color:#214f39;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.za-admin-action:hover{transform:translateY(-2px);border-color:#5f7f5b;background:#e3ebdc;box-shadow:0 10px 25px rgba(31,70,49,.1)}
.za-admin-action__icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:13px;background:#244f38;color:#fff}
.za-admin-action__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-admin-action strong{display:block;margin-bottom:5px;font:700 20px Georgia,serif}
.za-admin-action small{display:block;color:#5d6d60;line-height:1.45}
.za-admin-logout{display:block;margin:20px auto 0;border:0;background:transparent;color:#6a736b;text-decoration:underline;cursor:pointer}
.za-nav__icon svg,.za-mobile-nav__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-mobile-nav .za-nav-label{display:block;font-size:10px;line-height:1.05;text-align:center}
@media(max-width:760px){.za-admin-actions{grid-template-columns:1fr}.za-admin-action{min-height:96px}.za-mobile-nav__icon{width:23px;height:23px;display:grid;place-items:center}}


/* Zálesáci 8.5 – Kam vyrazit: kompaktní karty a společný výběr regionu */
.za-wishlist-card{
  grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
  overflow:hidden;
  padding:0!important;
  border-radius:18px!important;
  background:rgba(255,250,240,.84)!important;
}
.za-wishlist-card.has-image{grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important}
.za-wishlist-card__image{
  width:100%!important;
  min-height:250px!important;
  height:100%!important;
  border-radius:0!important;
}
.za-wishlist-card__image img{width:100%;height:100%;min-height:250px;object-fit:cover}
.za-wishlist-card__content{min-width:0;display:flex;flex-direction:column;padding:22px 24px}
.za-wishlist-card__content h3{font-size:30px;margin:4px 0 8px}
.za-wishlist-reason{margin:0 0 18px;line-height:1.6;color:#34483f}
.za-wishlist-card .za-card-meta{margin:0 0 14px}
.za-wishlist-planned svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.za-wishlist-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:auto;padding-top:10px;color:#617061}
.za-wishlist-meta span{display:inline-flex;align-items:center;gap:6px}
.za-wishlist-meta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-wishlist-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(37,75,53,.13);
}
.za-wishlist-actions>*{
  min-height:42px!important;
  width:auto!important;
  min-width:0!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.2;
}
.za-wishlist-actions .za-button{flex:0 1 auto}
.za-wishlist-actions .za-wishlist-delete{margin-left:auto;color:#7d3333;border-color:rgba(125,51,51,.25);background:#fbf2ed}
.za-wishlist-actions .za-wishlist-delete:hover{background:#f3dfd7}
@media(max-width:760px){
  .za-wishlist-card,.za-wishlist-card.has-image{grid-template-columns:1fr!important}
  .za-wishlist-card__image{height:240px!important;min-height:240px!important;margin:0!important;border-radius:0!important}
  .za-wishlist-card__image img{min-height:240px}
  .za-wishlist-card__content{padding:18px 16px 16px}
  .za-wishlist-card__content h3{font-size:30px}
  .za-wishlist-actions{display:grid!important;grid-template-columns:1fr 1.45fr 1fr;gap:8px!important}
  .za-wishlist-actions>*{width:100%!important;height:auto!important;min-height:48px!important;padding:9px 8px!important;font-size:13px}
  .za-wishlist-actions .za-wishlist-delete{margin-left:0}
}
@media(max-width:420px){
  .za-wishlist-actions{grid-template-columns:1fr}
  .za-wishlist-actions>*{min-height:44px!important}
}


/* Zálesáci 8.6 – značka piva */
.za-beer-custom-field[hidden]{display:none!important}
.za-beer-custom-field{animation:zaFade .18s ease}

/* Zálesáci 8.8 – osobní karty návštěvníků */
.za-visitor-summary--people{display:block;padding:26px;background:#e5dcc3}
.za-visitor-summary__head{margin-bottom:18px}
.za-visitor-summary__head h2{margin:0;font:700 34px Georgia,serif}
.za-visitor-person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.za-visitor-person-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;min-width:0;padding:18px 14px;border:1px solid rgba(37,75,53,.18);border-radius:16px;background:rgba(255,250,240,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.za-visitor-person-card__avatar,.za-visitor-person-card__fallback{width:112px;height:112px;border-radius:50%;object-fit:cover;display:grid;place-items:center;border:2px solid rgba(112,139,93,.46);background:#f4ecd9;overflow:hidden}
.za-visitor-person-card__fallback svg{width:56px;height:56px;fill:none;stroke:#245038;stroke-width:1.7}
.za-visitor-person-card>strong{font:700 25px Georgia,serif;color:#214f39}
.za-visitor-person-card__meta{display:flex;align-items:center;justify-content:center;gap:7px;color:#34483f;font-size:13px}
.za-visitor-person-card__meta svg{width:23px;height:23px;fill:none;stroke:#315e43;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-profile-mode{display:flex;align-items:center;gap:8px;color:#315e43;font-weight:700}
.za-profile-mode svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.za-visitor-summary--people{padding:20px 14px}.za-visitor-summary__head h2{font-size:30px}.za-visitor-person-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.za-visitor-person-card{padding:14px 8px}.za-visitor-person-card__avatar,.za-visitor-person-card__fallback{width:92px;height:92px}.za-visitor-person-card>strong{font-size:21px}.za-visitor-person-card__meta{font-size:11px;line-height:1.25}}

@media(max-width:760px){
  #zalesaci-app .za-mobile-nav{grid-template-columns:repeat(5,1fr)!important}
  #zalesaci-app .za-mobile-nav button{padding:4px 2px;font-size:10px}
  #zalesaci-app .za-mobile-nav__icon{width:22px;height:22px}
  #zalesaci-app .za-country-camps{padding-left:14px;padding-right:14px}
  #zalesaci-app .za-country-camps__head h2{font-size:27px}
  #zalesaci-app .za-wishlist-page .za-page-head{gap:14px}
  #zalesaci-app .za-wishlist-page .za-page-head .za-button{width:100%}
}
