/* Questy w okolicy: a board-game map. Chatka in the middle, a crossroads, two roads of places. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.questy-page{background:var(--paper)}
.questy-page .main-nav a[aria-current=page]::after{transform:scaleX(1)}

.quest-intro{padding:150px var(--gutter) 46px;max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;gap:28px 70px;align-items:end}
.quest-intro .eyebrow{grid-column:1/-1;margin:0}
.quest-intro h1{font-family:var(--serif);font-weight:500;font-size:clamp(50px,6vw,92px);line-height:1.02;letter-spacing:-.055em;font-variation-settings:'SOFT' 100,'WONK' 1}
.quest-intro h1 em{font-weight:400}
.quest-lede{font-size:17px;line-height:1.75;max-width:520px;padding-bottom:10px}

/* The board lies on the cottage's own wooden boards. */
.quest-board-wrap{padding:54px var(--gutter) 46px;background:linear-gradient(180deg,rgba(40,24,10,.46),rgba(40,24,10,.3) 45%,rgba(40,24,10,.5)),url(./textures/deska.jpg) center/auto 320px repeat,var(--wood,#a36a2a)}
.quest-picker{max-width:1320px;margin:0 auto 18px;display:flex;flex-wrap:wrap;gap:10px}
.quest-picker button{min-height:44px;padding:9px 18px;border-radius:100px;border:1px solid rgba(255,244,217,.55);color:var(--cream);font-size:14px;background:rgba(20,32,25,.28);backdrop-filter:blur(2px);transition:background .2s,color .2s}
.quest-picker button:hover{background:rgba(255,244,217,.18)}
.quest-picker button[aria-pressed=true]{background:var(--cream);color:var(--green);border-color:var(--cream)}
.quest-card{max-width:1320px;margin:0 auto 18px;padding:18px 22px;background:var(--cream);color:var(--green);border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:6px 26px;align-items:center;box-shadow:0 10px 26px #1a0e0440}
.quest-card h3{font:500 26px/1.15 var(--serif);letter-spacing:-.03em}
.quest-card p{font-size:14px;line-height:1.6;max-width:760px}
.quest-card .quest-meta{font-size:12px;color:var(--muted);letter-spacing:.02em}
.quest-card .button{grid-row:1/4;grid-column:2;min-height:48px;font-size:14px;gap:16px;padding:10px 20px}

.quest-board{position:relative;max-width:1320px;margin:0 auto;border:14px solid var(--green);border-radius:28px;background-color:#f6efdc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='300' viewBox='0 0 420 300'%3E%3Cg fill='none' stroke='%23233e32' stroke-opacity='.075' stroke-width='1.2'%3E%3Cpath d='M-20 60c60-30 120 25 190 0s120-40 270 10'/%3E%3Cpath d='M-20 90c70-30 130 25 200 0s110-35 260 12'/%3E%3Cpath d='M-20 180c80 30 140-30 210 0s120 30 250-15'/%3E%3Cpath d='M-20 210c70 25 150-25 220 2s110 28 240-14'/%3E%3Cpath d='M-20 245c90 20 150-22 220 5s120 22 240-10'/%3E%3C/g%3E%3C/svg%3E");box-shadow:0 26px 50px #140a0266,inset 0 0 0 1px #233e3226;overflow:hidden}
.board-roads{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.road-bed{fill:none;stroke:#e7d6b4;stroke-width:26;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.road-dots{fill:none;stroke:var(--wood,#a36a2a);stroke-width:7;stroke-linecap:round;stroke-dasharray:0 17}
.quest-route{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 9;animation:route-march 1.4s linear infinite}
@keyframes route-march{to{stroke-dashoffset:-19}}
.road-end{font:600 11px var(--sans);letter-spacing:.2em;fill:var(--green)}

.board-start{position:absolute;z-index:3;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;background:var(--green);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 0 0 6px #f6efdc,0 0 0 8px var(--green),0 14px 26px #233e3240}
.board-start svg{width:54px;height:54px}
.start-flag{font-size:10px;font-weight:600;letter-spacing:.3em}
.start-name{font:italic 15px/1 var(--serif)}
.board-signpost{position:absolute;z-index:2;width:0;height:0}
.board-signpost i{position:absolute;left:-3px;top:-6px;width:6px;height:62px;background:var(--wood-dark,#3b2512);border-radius:2px}
.board-signpost .sign{position:absolute;top:0;white-space:nowrap;padding:5px 12px;font:600 11px/1.2 var(--sans);letter-spacing:.06em;color:#fff6e6;background:var(--wood,#a36a2a);box-shadow:0 3px 8px #3b25123d}
.board-signpost .sign-left{right:-2px;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);padding-left:18px;transform:rotate(-4deg);transform-origin:right center}
.board-signpost .sign-right{left:-2px;top:24px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);padding-right:18px;transform:rotate(3deg);transform-origin:left center}

.board-stops{position:absolute;inset:0;list-style:none;margin:0;padding:0}
.board-stops li{position:absolute;z-index:2;transform:translate(-50%,-50%)}
.stop-tile{display:flex;flex-direction:column;align-items:center;gap:5px;width:128px;text-align:center;color:var(--green);transition:transform .25s cubic-bezier(.2,.65,.3,1),opacity .25s}
.stop-tile:hover,.stop-tile:focus-visible{transform:translateY(-4px) scale(1.04)}
.stop-mini{--r:4px;position:relative;width:70px;height:70px;display:grid;place-items:center;color:var(--green);background:radial-gradient(var(--r),#0000 97%,#fffaf0) round calc(-1.5*var(--r)) calc(-1.5*var(--r))/calc(3*var(--r)) calc(3*var(--r)),linear-gradient(#fffaf0 0 0) no-repeat 50%/calc(100% - 3*var(--r)) calc(100% - 3*var(--r));filter:drop-shadow(0 4px 7px #233e3233)}
.stop-mini svg{width:40px;height:40px}
.stop-mini .stop-min{position:absolute;bottom:-9px;right:-12px;min-width:40px;padding:2px 7px;border-radius:99px;background:var(--wood,#a36a2a);color:#fff6e6;font:600 11px/1.5 var(--sans)}
.stop-name{font:500 14px/1.15 var(--serif);letter-spacing:-.02em;max-width:128px;padding:2px 6px;border-radius:6px;background:rgba(246,239,220,.86)}
.stop-tile .stop-order{position:absolute;top:-10px;left:18px;width:26px;height:26px;border-radius:50%;background:var(--green);color:var(--cream);font:600 13px/26px var(--sans);display:none}
.board-stops li.is-meta .stop-name::after{content:' · meta';font:600 9px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--wood,#a36a2a)}
.quest-board.has-quest .board-stops li:not(.in-quest) .stop-tile{opacity:.32}
.quest-board.has-quest .board-stops li.in-quest .stop-order{display:block}
.quest-board.has-quest .board-stops li.in-quest .stop-mini{filter:drop-shadow(0 0 0 var(--green)) drop-shadow(0 6px 10px #233e3255)}

.board-note{max-width:1320px;margin:16px auto 0;font-size:12px;color:#f3e2c4;line-height:1.7}

.quest-list-wrap{padding:80px var(--gutter) 70px;max-width:1480px;margin:0 auto}
.quest-list-wrap h2{font-size:clamp(46px,5vw,72px);margin-bottom:34px}
.quest-list{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px}
.quest-list h3{font:600 11px var(--sans);letter-spacing:.25em;text-transform:uppercase;margin:0 0 6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.quest-list ul{list-style:none;margin:0;padding:0}
.quest-list li button{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);text-align:left;transition:background .2s}
.quest-list li button:hover{background:#ebe3cc}
.quest-list li svg{width:36px;height:36px}
.quest-list .row-name{font:500 20px/1.2 var(--serif);letter-spacing:-.02em}
.quest-list .row-sub{display:block;font:400 12px/1.5 var(--sans);color:var(--muted);letter-spacing:0;margin-top:2px}
.quest-list .row-min{font-size:13px;color:var(--muted);white-space:nowrap}

.quest-back{padding:70px var(--gutter) 90px;background:var(--green);color:var(--cream);text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
.quest-back p{font:italic 400 clamp(30px,3.6vw,48px)/1.15 var(--serif);letter-spacing:-.035em}
.quest-back .button-green{background:var(--cream);color:var(--green);border-color:var(--cream)}

/* Enlarged place: a big postcard. */
.stop-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100svh - 40px);margin:auto;border-radius:18px;background:var(--cream);color:var(--green);overflow:auto;box-shadow:0 30px 70px #0f1a1466}
.stop-dialog::backdrop{background:rgba(20,30,24,.62);backdrop-filter:blur(3px)}
.stop-card{position:relative;display:grid;grid-template-columns:260px 1fr}
.stop-art{position:relative;min-height:100%;background:linear-gradient(180deg,rgba(35,62,50,.55),rgba(35,62,50,.75)),url(./textures/deska.jpg) center/auto 300px repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px 20px}
.stop-stamp{--r:6px;width:150px;height:170px;display:grid;place-items:center;color:var(--green);transform:rotate(-4deg);background:radial-gradient(var(--r),#0000 97%,#fffaf0) round calc(-1.5*var(--r)) calc(-1.5*var(--r))/calc(3*var(--r)) calc(3*var(--r)),linear-gradient(#fffaf0 0 0) no-repeat 50%/calc(100% - 3*var(--r)) calc(100% - 3*var(--r));filter:drop-shadow(0 10px 16px #0000004d)}
.stop-stamp svg{width:92px;height:92px}
.stop-drive{color:var(--cream);font:italic 22px var(--serif);text-align:center}
.stop-body{padding:44px 46px 36px 40px}
.stop-body .eyebrow{margin-bottom:12px;color:var(--wood,#a36a2a)}
.stop-body h2{font-size:clamp(36px,4vw,52px);line-height:1.04}
.stop-place{font-size:13px;color:var(--muted);margin-top:8px}
.stop-tldr{font:italic 400 21px/1.45 var(--serif);letter-spacing:-.02em;margin:20px 0 18px}
.stop-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 28px;margin:0 0 22px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stop-facts dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.stop-facts dd{margin:0;font-size:14px;grid-row:2}
.stop-body h3{font:600 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:20px 0 8px}
.stop-body p,.stop-body li{font-size:15px;line-height:1.7}
.stop-body ul{list-style:none;margin:0;padding:0}
.stop-body ul li{padding-left:22px;position:relative}
.stop-body ul li::before{content:'';position:absolute;left:4px;top:.75em;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--wood,#a36a2a)}
.stop-tip{margin-top:18px;padding:12px 16px;background:#efe5cb;border-radius:10px;font-size:14px}
.stop-tip:empty,.stop-quests:empty{display:none}
.stop-quests{margin-top:14px;font-size:13px;color:var(--muted)}
.stop-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px}
.stop-actions .button{min-height:50px;font-size:14px;gap:18px;padding:12px 24px}
.stop-actions .text-link{margin:0;font-size:13px}
.stop-close{position:absolute;top:14px;right:14px;background:var(--cream)}
.stop-nav{position:absolute;left:16px;bottom:16px;display:flex;gap:8px}
.stop-nav .icon-button{background:var(--cream);border-color:transparent}

@media(max-width:940px){.quest-intro{grid-template-columns:1fr}.stop-card{grid-template-columns:200px 1fr}.stop-body{padding:36px 30px 30px}}
@media(max-width:700px){
  .quest-intro{padding:112px var(--gutter) 34px;gap:18px}
  .quest-intro h1{font-size:46px}
  .quest-lede{font-size:15px}
  .quest-board-wrap{padding:30px 10px 30px}
  .quest-picker{gap:8px;padding:0 4px}
  .quest-picker button{font-size:13px;padding:8px 14px;min-height:40px}
  .quest-card{grid-template-columns:1fr;padding:16px}
  .quest-card .button{grid-row:auto;grid-column:auto;justify-self:start;margin-top:8px}
  .quest-board{border-width:8px;border-radius:20px}
  .board-start{width:104px;height:104px;margin:-52px 0 0 -52px}
  .board-start svg{width:42px;height:42px}
  .stop-tile{width:112px}
  .stop-mini{width:58px;height:58px}
  .stop-mini svg{width:33px;height:33px}
  .stop-name{font-size:12.5px;max-width:112px}
  .board-note{padding:0 6px}
  .quest-list{grid-template-columns:1fr;gap:34px}
  .quest-list .row-name{font-size:18px}
  .stop-dialog{width:100vw;max-width:100vw;height:100svh;max-height:100svh;border-radius:0;margin:0}
  .stop-card{grid-template-columns:1fr}
  .stop-art{flex-direction:row;justify-content:flex-start;padding:22px 20px;min-height:0}
  .stop-stamp{width:96px;height:108px}
  .stop-stamp svg{width:58px;height:58px}
  .stop-drive{font-size:18px;text-align:left}
  .stop-body{padding:26px 20px 96px}
  .stop-facts{grid-template-columns:repeat(3,auto);gap:2px 18px}
  .stop-nav{position:fixed;left:auto;right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){.quest-route{animation:none}}

.board-cartouche,.board-compass{position:absolute;z-index:1;color:var(--green);display:none}
.quest-board.is-wide .board-cartouche,.quest-board.is-wide .board-compass{display:flex}
.board-cartouche{top:34px;right:40px;flex-direction:column;align-items:flex-end;gap:2px;transform:rotate(-2deg)}
.board-cartouche span{font:600 10px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--wood,#a36a2a)}
.board-cartouche strong{font:500 40px/1 var(--serif);letter-spacing:-.05em}
.board-cartouche strong em{font-weight:400}
.board-cartouche svg{width:150px;height:36px;opacity:.6}
.board-compass{left:36px;bottom:30px;flex-direction:column;align-items:center;gap:2px;opacity:.75}
.board-compass svg{width:54px;height:54px}
.board-compass span{font:600 11px var(--sans);letter-spacing:.2em}
@media(max-width:700px){.start-name{font-size:12px}.start-flag{font-size:9px}}
.stop-mini .stop-unesco{position:absolute;top:-8px;left:-10px;padding:1px 5px;border-radius:4px;background:var(--green);color:var(--cream);font:600 8.5px/1.6 var(--sans);letter-spacing:.12em}
/* Facts as label/value rows: seasons can be long sentences. */
.stop-facts{grid-template-columns:96px 1fr;gap:9px 18px;align-items:baseline}
.stop-facts dt{padding-top:2px}
.stop-facts dd{grid-row:auto;font-size:14px;line-height:1.55}
.stop-tile .stop-order{left:auto;right:18px;top:-12px;z-index:2}
@media(max-width:700px){.stop-facts{grid-template-columns:82px 1fr;gap:8px 12px}.stop-tile .stop-order{right:12px}}
@media(min-width:701px){.stop-nav{top:16px;bottom:auto}}
/* On this page "Zaplanuj pobyt" is a link, so the nav's plain-link rules must not strip its pill padding or add the underline. */
.main-nav>a.nav-book{padding:10px 22px}
.main-nav>a.nav-book::after{display:none}
@media(max-width:700px){.main-nav>a.nav-book{padding:14px 29px;margin-top:8px}}
