.pam-puzzle{--pam-puzzle-board-max:760px;width:min(100%,calc(var(--pam-puzzle-board-max) + 330px));margin:28px auto;padding:18px;background:#fff;border:1px solid rgba(20,30,45,.12);border-radius:var(--pam-puzzle-radius,12px);box-shadow:0 14px 36px rgba(0,0,0,.08);box-sizing:border-box}
.pam-puzzle-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.pam-puzzle-head h3{margin:0;font-size:clamp(20px,3vw,30px)}
.pam-puzzle-actions{display:flex;gap:8px;flex-wrap:wrap}.pam-puzzle-actions button{appearance:none;border:1px solid rgba(20,30,45,.18);background:#fff;color:#18202a;border-radius:999px;padding:8px 13px;font:inherit;font-weight:650;cursor:pointer}.pam-puzzle-actions button:hover,.pam-puzzle-actions button:focus{background:#f5f7fa;border-color:rgba(20,30,45,.32);outline:none}.pam-puzzle-actions button[hidden]{display:none!important}
.pam-puzzle-layout{display:grid;grid-template-columns:minmax(0,var(--pam-puzzle-board-max)) 290px;gap:18px;align-items:start;justify-content:center}.pam-puzzle:not(.has-selector) .pam-puzzle-layout{grid-template-columns:minmax(0,var(--pam-puzzle-board-max))}.pam-puzzle:not(.has-selector) .pam-puzzle-side{display:none}
.pam-puzzle-main{min-width:0}.pam-puzzle-stage{position:relative;width:100%;max-width:var(--pam-puzzle-board-max);overflow:hidden;border-radius:calc(var(--pam-puzzle-radius,12px) * .75);background:#e9edf2;touch-action:none}.pam-puzzle-board{display:grid;gap:var(--pam-puzzle-gap,2px);width:100%;aspect-ratio:var(--pam-puzzle-ratio,1/1);padding:var(--pam-puzzle-gap,2px);box-sizing:border-box}
.pam-puzzle-piece{appearance:none;position:relative;min-width:0;min-height:0;border:0;padding:0;background-color:#dfe5ec;background-repeat:no-repeat;cursor:grab;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);touch-action:none;user-select:none;-webkit-user-select:none}.pam-puzzle-piece:active,.pam-puzzle-piece.is-dragging{cursor:grabbing;z-index:4;transform:scale(.97);opacity:.82}.pam-puzzle-piece.is-target{outline:3px solid #2f6df6;outline-offset:-3px}
.pam-puzzle-preview{position:absolute;inset:0;z-index:7;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center}.pam-puzzle-preview[hidden]{display:none}.pam-puzzle-preview img{width:100%;height:100%;object-fit:contain;display:block}
.pam-puzzle-status{min-height:24px;margin-top:10px;text-align:center;font-weight:700}.pam-puzzle.is-complete .pam-puzzle-board{box-shadow:0 0 0 3px rgba(32,170,92,.25)}.pam-puzzle.is-complete .pam-puzzle-status{color:#168447}
.pam-puzzle-side{display:flex;flex-direction:column;gap:14px;min-width:0;position:sticky;top:20px}.pam-puzzle-picker,.pam-puzzle-detail{background:#f8fafc;border:1px solid #dfe5ec;border-radius:14px;box-shadow:0 7px 20px rgba(15,23,42,.06);overflow:hidden}.pam-puzzle-picker-head{padding:11px 13px;font-weight:800;border-bottom:1px solid #e4e9ef;background:#fff}.pam-puzzle-picker-list{display:grid;gap:7px;padding:9px;max-height:390px;overflow:auto}.pam-puzzle-picker-item{appearance:none;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:7px;border:1px solid transparent;border-radius:10px;background:transparent;color:#1d2939;text-align:left;cursor:pointer}.pam-puzzle-picker-item:hover,.pam-puzzle-picker-item:focus{background:#fff;border-color:#d8e0e8;outline:none}.pam-puzzle-picker-item.is-active{background:#fff;border-color:#2f6df6;box-shadow:0 0 0 2px rgba(47,109,246,.10)}.pam-puzzle-picker-item img{display:block;width:54px;height:54px;border-radius:8px;object-fit:cover;background:#eef2f6}.pam-puzzle-picker-item span{font-size:13px;line-height:1.25;font-weight:700;overflow-wrap:anywhere}
.pam-puzzle-detail{padding:13px;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.pam-puzzle-detail[hidden]{display:none}.pam-puzzle-detail.is-visible{opacity:1;transform:translateY(0)}
.pam-puzzle-detail-below{margin-top:18px;max-width:var(--pam-puzzle-board-max);margin-left:auto;margin-right:auto;background:#f8fafc;border:1px solid #dfe5ec;border-radius:18px;box-shadow:0 10px 26px rgba(15,23,42,.07);overflow:hidden;padding:14px}.pam-puzzle-detail-kicker{font-size:12px;font-weight:800;color:#168447;margin-bottom:12px;text-transform:uppercase;letter-spacing:.03em}.pam-puzzle-detail-card{display:grid;grid-template-columns:minmax(220px,38%) minmax(0,1fr);gap:0;background:#fff;border:1px solid #e6ebf1;border-radius:16px;overflow:hidden}.pam-puzzle-detail-media{background:#eef1f5;padding:28px;display:flex;align-items:center;justify-content:center}.pam-puzzle-detail-image{display:block;width:100%;max-width:430px;max-height:620px;object-fit:contain;border-radius:2px;background:#fff;margin:0}.pam-puzzle-detail-body{padding:24px 26px 26px}.pam-puzzle-detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pam-puzzle-detail-flags{display:flex;align-items:center;gap:8px}.pam-puzzle-detail-flag{display:inline-flex;align-items:center;justify-content:center;width:34px;height:24px;border-radius:6px;background:#fff;border:1px solid #d8e0e8;font-size:18px;line-height:1;box-shadow:0 1px 2px rgba(15,23,42,.05)}.pam-puzzle-detail-flag.is-active{box-shadow:0 0 0 2px rgba(220,38,38,.20);border-color:#ef4444}.pam-puzzle-detail-fav{appearance:none;border:1px solid #f1b5be;background:#fff7f8;color:#d71c34;border-radius:999px;padding:10px 18px;font:inherit;font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.pam-puzzle-detail-fav:hover,.pam-puzzle-detail-fav:focus{background:#111827;border-color:#111827;color:#fff;outline:none}.pam-puzzle-detail-title{font-size:clamp(28px,4vw,46px);line-height:1.02;margin:0 0 20px;color:#111827;font-family:Georgia,"Times New Roman",serif;font-weight:600}.pam-puzzle-detail-technique{font-size:17px;font-style:italic;font-weight:700;color:#344054;margin-bottom:12px}.pam-puzzle-detail-meta{font-size:17px;font-weight:800;color:#111827;margin-bottom:18px}.pam-puzzle-detail-description{font-size:18px;line-height:1.58;color:#2c3641;white-space:pre-line;max-height:520px;overflow:auto;padding-right:6px}.pam-puzzle-detail-link{display:inline-flex;align-items:center;justify-content:center;margin-top:22px;padding:14px 22px;border-radius:999px;background:#172033;color:#fff;text-decoration:none;font-size:16px;font-weight:800;box-shadow:0 6px 16px rgba(15,23,42,.12);transition:background .18s ease,transform .18s ease}.pam-puzzle-detail-link:hover,.pam-puzzle-detail-link:focus{background:#000;color:#fff;transform:translateY(-1px)}
@media(max-width:900px){.pam-puzzle{width:min(100%,var(--pam-puzzle-board-max));padding:14px}.pam-puzzle-layout,.pam-puzzle:not(.has-selector) .pam-puzzle-layout{grid-template-columns:1fr}.pam-puzzle:not(.has-selector) .pam-puzzle-side{display:none}.pam-puzzle-side{position:static}.pam-puzzle-picker-list{display:flex;overflow-x:auto;overflow-y:hidden;max-height:none}.pam-puzzle-picker-item{grid-template-columns:48px 120px;min-width:180px}.pam-puzzle-picker-item img{width:48px;height:48px}.pam-puzzle-detail-below{margin-top:14px;padding:12px}.pam-puzzle-detail-card{grid-template-columns:1fr}.pam-puzzle-detail-media{padding:22px}.pam-puzzle-detail-body{padding:18px 18px 20px}.pam-puzzle-detail-title{font-size:clamp(26px,7vw,40px)}.pam-puzzle-detail-description{font-size:16px;max-height:360px}}
@media(max-width:640px){.pam-puzzle{padding:12px;margin:18px auto}.pam-puzzle-head{align-items:flex-start;flex-direction:column}.pam-puzzle-actions{width:100%}.pam-puzzle-actions button{flex:1}.pam-puzzle-board{gap:max(1px,var(--pam-puzzle-gap,2px));padding:max(1px,var(--pam-puzzle-gap,2px))}.pam-puzzle-detail-image{max-height:340px}.pam-puzzle-detail-top{align-items:flex-start;flex-direction:column}.pam-puzzle-detail-fav{padding:9px 16px}.pam-puzzle-detail-meta,.pam-puzzle-detail-technique{font-size:15px}.pam-puzzle-detail-description{font-size:15px;line-height:1.52}}

/* v2.2.16 – Puzzle indító ikon / tooltip */
.pam-puzzle-launcher{z-index:99958;display:inline-flex;align-items:center;position:relative;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pam-puzzle-launcher.is-floating{position:fixed;right:24px;bottom:112px}
.pam-puzzle-launcher-link{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;padding:0;border:1px solid rgba(15,23,42,.18);border-radius:999px;background:rgba(255,255,255,.96);color:#18202a;text-decoration:none;box-shadow:0 8px 24px rgba(15,23,42,.18);backdrop-filter:blur(10px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.pam-puzzle-launcher-link:hover,.pam-puzzle-launcher-link:focus{transform:translateY(-2px) scale(1.04);background:#fff;color:#18202a;border-color:rgba(15,23,42,.30);box-shadow:0 12px 30px rgba(15,23,42,.24);outline:none}
.pam-puzzle-launcher-icon{display:block;font-size:30px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.10))}
.pam-puzzle-launcher-tooltip{position:absolute;right:calc(100% + 10px);top:50%;transform:translate(8px,-50%);padding:8px 11px;border-radius:9px;background:#111827;color:#fff;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.20);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.pam-puzzle-launcher-tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#111827}
.pam-puzzle-launcher:hover .pam-puzzle-launcher-tooltip,.pam-puzzle-launcher:focus-within .pam-puzzle-launcher-tooltip{opacity:1;visibility:visible;transform:translate(0,-50%)}
.pam-puzzle-launcher.is-inline{vertical-align:middle;margin:4px 6px}.pam-puzzle-launcher.is-inline .pam-puzzle-launcher-link{width:48px;height:48px}.pam-puzzle-launcher.is-inline .pam-puzzle-launcher-icon{font-size:25px}
@media(max-width:700px){.pam-puzzle-launcher.is-floating{right:16px;bottom:96px}.pam-puzzle-launcher-link{width:52px;height:52px}.pam-puzzle-launcher-icon{font-size:27px}.pam-puzzle-launcher-tooltip{display:none}}


/* v2.2.22 – Puzzle részletes adatlap teljes szélesség + hover színjavítás */
.pam-puzzle-detail-below{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
}
.pam-puzzle-detail-card{
    grid-template-columns:minmax(240px,34%) minmax(0,1fr);
}
.pam-puzzle-picker-item,
.pam-puzzle-picker-item span{
    color:#111827!important;
}
.pam-puzzle-picker-item:hover,
.pam-puzzle-picker-item:focus,
.pam-puzzle-picker-item.is-active{
    color:#111827!important;
}
.pam-puzzle-picker-item:hover span,
.pam-puzzle-picker-item:focus span,
.pam-puzzle-picker-item.is-active span{
    color:#111827!important;
}
@media(max-width:900px){
    .pam-puzzle-detail-below{
        width:100%;
        max-width:none;
    }
    .pam-puzzle-detail-card{
        grid-template-columns:1fr;
    }
}


/* v2.2.23 – lebegő puzzle ikon egérrel / érintéssel mozgatható */
.pam-puzzle-launcher.is-floating{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.pam-puzzle-launcher.is-floating .pam-puzzle-launcher-link{cursor:grab;touch-action:none}
.pam-puzzle-launcher.is-floating.is-dragging,.pam-puzzle-launcher.is-floating.is-dragging .pam-puzzle-launcher-link{cursor:grabbing}
.pam-puzzle-launcher.is-floating.is-dragging .pam-puzzle-launcher-link{transform:none!important;box-shadow:0 14px 34px rgba(15,23,42,.28)}
.pam-puzzle-launcher.is-floating.is-dragging .pam-puzzle-launcher-tooltip{opacity:0!important;visibility:hidden!important}


/* v2.2.24 – puzzle ikon drag javítás */
.pam-puzzle-launcher.is-floating{
  cursor:grab!important;
  touch-action:none!important;
  -webkit-user-drag:none;
}
.pam-puzzle-launcher.is-floating .pam-puzzle-launcher-link,
.pam-puzzle-launcher.is-floating .pam-puzzle-launcher-icon{
  cursor:grab!important;
  touch-action:none!important;
  -webkit-user-drag:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.pam-puzzle-launcher.is-floating.is-dragging,
.pam-puzzle-launcher.is-floating.is-dragging *{cursor:grabbing!important}

/* Hide the manual kiosk launch button only inside the automated puzzle screen saver. */
.pam-puzzle-idle-kiosk>.pamk-player>.pamk-start{display:none!important}

/* v2.3.59: a választólista a puzzle játéktér aljáig érjen. */
@media (min-width:901px){
 .pam-puzzle.has-selector .pam-puzzle-picker{display:flex;flex-direction:column;min-height:0;height:var(--pam-puzzle-picker-height,auto)}
 .pam-puzzle.has-selector .pam-puzzle-picker-list{display:grid;align-content:start;grid-auto-rows:max-content;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}
}

/* Tologatós puzzle: a hiányzó mező jól látható, csak a szomszédos lapok mozdíthatók. */
.pam-puzzle.is-sliding .pam-puzzle-piece{cursor:pointer;transition:transform .12s ease}
.pam-puzzle.is-sliding .pam-puzzle-empty{background-image:none!important;background:#cbd5e1;box-shadow:inset 0 0 0 2px #94a3b8;cursor:default;opacity:.55}

/* v2.3.61: a választó teljes magassága már az első betöltéskor a játéktérhez igazodik. */
@media(min-width:901px){
 .pam-puzzle.has-selector .pam-puzzle-side{position:relative;top:auto;min-height:0}
 .pam-puzzle.has-selector .pam-puzzle-picker{box-sizing:border-box;display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .pam-puzzle.has-selector .pam-puzzle-picker-head{flex:0 0 auto}
 .pam-puzzle.has-selector .pam-puzzle-picker-list{box-sizing:border-box;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;align-content:start;grid-auto-rows:max-content}
}

/* v2.3.62: a tologatós változat egyetlen, jól látható üres mezője. */
.pam-puzzle.is-sliding .pam-puzzle-empty{background:#eef2f7!important;border:2px dashed #94a3b8!important;opacity:1!important;box-shadow:inset 0 0 0 1px #fff!important;pointer-events:none}
.pam-puzzle.is-sliding .pam-puzzle-piece:not(.pam-puzzle-empty){cursor:pointer}
.pam-puzzle.is-sliding .pam-puzzle-piece:not(.pam-puzzle-empty):focus-visible{outline:3px solid #2563eb;outline-offset:-3px}

/* Custom puzzle header link shares the built-in action-button appearance. */
.pam-puzzle-actions a.pam-puzzle-custom-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;appearance:none;border:1px solid rgba(20,30,45,.18);background:#fff;color:#18202a;border-radius:999px;padding:8px 13px;font:inherit;font-weight:650;cursor:pointer}
.pam-puzzle-actions a.pam-puzzle-custom-button:hover,.pam-puzzle-actions a.pam-puzzle-custom-button:focus{background:#f5f7fa;border-color:rgba(20,30,45,.32)}
@media(max-width:640px){.pam-puzzle-actions a.pam-puzzle-custom-button{flex:1}}
