/* Print Farm Tycoon – website shortcodes. Colours follow the game; override the variables in your theme if needed. */
:root{--pft-accent:#ff7a1a;--pft-accent-dark:#d95f00;--pft-green:#2a8a49;--pft-ink:#1f2329;--pft-muted:#5b6470;--pft-line:rgba(31,35,41,.12);--pft-card:#fff;--pft-soft:#fff4ea;--pft-radius:16px}
.pft-empty{color:var(--pft-muted)}
.pft-badge{display:inline-block;vertical-align:middle;margin-left:.4em;padding:.15em .6em;border-radius:99px;background:var(--pft-accent);color:#fff;font-size:.6em;font-weight:800;letter-spacing:.02em;text-transform:uppercase}

/* changelog */
.pft-log{position:relative;padding-left:28px}
.pft-log:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--pft-line)}
.pft-log-item{position:relative;background:var(--pft-card);border:1px solid var(--pft-line);border-radius:var(--pft-radius);padding:20px 22px;margin:0 0 18px}
.pft-log-item.is-latest{border-color:var(--pft-accent);box-shadow:0 10px 30px rgba(255,122,26,.12)}
.pft-log-dot{position:absolute;left:-27px;top:24px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--pft-line)}
.is-latest .pft-log-dot{border-color:var(--pft-accent);background:var(--pft-accent)}
.pft-log-item header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.pft-log-item h3{margin:0;font-size:1.25em;color:var(--pft-ink)}
.pft-log-item time{color:var(--pft-muted);font-size:.9em}
.pft-log-sum{margin:.4em 0 .8em;color:var(--pft-muted)}
.pft-log-item ul{list-style:none;margin:0;padding:0}
.pft-log-item li{padding:6px 0;border-top:1px solid var(--pft-line);color:var(--pft-ink)}
.pft-log-item li:first-child{border-top:0}
.pft-tag{display:inline-block;min-width:82px;margin-right:6px;padding:.1em .55em;border-radius:6px;font-size:.78em;font-weight:800;text-align:center}
.pft-tag-new{background:#e5f6ea;color:#1d6b36}.pft-tag-improved{background:#e6efff;color:#1d4fa8}.pft-tag-fixed{background:#fff1e0;color:#a24a00}.pft-tag-balance{background:#f1eafd;color:#5b34a3}

/* FAQ */
.pft-faq-cat{margin:1.6em 0 .6em;font-size:1.1em;color:var(--pft-ink)}
.pft-faq-cat:first-child{margin-top:0}
.pft-faq-item{background:var(--pft-card);border:1px solid var(--pft-line);border-radius:12px;margin:0 0 10px;overflow:hidden}
.pft-faq-item summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:700;color:var(--pft-ink);position:relative}
.pft-faq-item summary::-webkit-details-marker{display:none}
.pft-faq-item summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.4em;line-height:1;color:var(--pft-accent);transition:transform .2s}
.pft-faq-item[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.pft-faq-item summary:focus-visible{outline:3px solid var(--pft-accent);outline-offset:-3px}
.pft-faq-a{padding:0 18px 14px;color:var(--pft-muted)}
.pft-faq-a p{margin:0 0 .6em}

/* info cards + tables */
.pft-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.pft-card{position:relative;background:var(--pft-card);border:1px solid var(--pft-line);border-radius:var(--pft-radius);padding:18px}
.pft-card h4{margin:.15em 0 .3em;font-size:1.1em;color:var(--pft-ink)}
.pft-card p{margin:0 0 .8em;color:var(--pft-muted);font-size:.95em}
.pft-card-kicker{font-size:.75em;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pft-accent-dark)}
.pft-card-price{display:inline-block;padding:.2em .7em;border-radius:99px;background:var(--pft-soft);color:var(--pft-accent-dark);font-weight:800}
.pft-swatch{position:absolute;right:16px;top:16px;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(0,0,0,.12)}
.pft-sub{margin:1.4em 0 .6em;color:var(--pft-ink)}
.pft-table-wrap{overflow-x:auto;border:1px solid var(--pft-line);border-radius:var(--pft-radius);background:var(--pft-card)}
.pft-table{width:100%;border-collapse:collapse;margin:0;font-size:.95em}
.pft-table th,.pft-table td{padding:10px 14px;border-bottom:1px solid var(--pft-line);text-align:left;vertical-align:top}
.pft-table th{font-size:.8em;text-transform:uppercase;letter-spacing:.05em;color:var(--pft-muted);background:rgba(0,0,0,.02)}
.pft-table tr:last-child td{border-bottom:0}
.pft-table small{color:var(--pft-muted)}
.pft-table td:last-child{white-space:nowrap;font-weight:700}
.pft-steps{margin:0;padding-left:1.4em}
.pft-steps li{margin:0 0 .5em}
.pft-steps span{color:var(--pft-accent-dark);font-weight:700;white-space:nowrap}

/* misc */
.pft-shot{display:block;width:100%;height:auto;border-radius:var(--pft-radius);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.pft-social{display:flex;gap:10px;flex-wrap:wrap}
.pft-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:inherit;transition:background .2s}
.pft-social a:hover{background:var(--pft-accent);color:#fff}
.pft-social svg{width:20px;height:20px;fill:currentColor}
.pft-account{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pft-btn{display:inline-block;padding:.55em 1.1em;border-radius:10px;background:var(--pft-accent);color:#fff!important;font-weight:800;text-decoration:none!important}
.pft-btn:hover{background:var(--pft-accent-dark)}
.pft-link{color:inherit!important;font-weight:700;text-decoration:none!important}
.pft-board{width:100%;border-collapse:collapse}
@media (max-width:600px){.pft-log{padding-left:20px}.pft-log-dot{left:-19px}.pft-log:before{left:3px}.pft-tag{min-width:0}}

/* header: account button + profile (greyed out until the profile exists) */
.pft-haccount{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.pft-hbtn{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:10px;border:2px solid #3a414c;color:#fff!important;font-weight:800;font-size:15px;line-height:1;text-decoration:none!important;white-space:nowrap;transition:border-color .15s,background .15s}
.pft-hbtn:hover{border-color:var(--pft-accent);background:rgba(255,122,26,.08)}
.pft-hprofile{display:inline-flex;align-items:center;gap:8px;height:42px;padding:3px 14px 3px 3px;border-radius:999px;background:#2a3039;color:#fff!important;font-weight:800;font-size:15px;text-decoration:none!important;white-space:nowrap;flex:0 0 auto;transition:background .15s}
.pft-hprofile:hover{background:#353c47}
.pft-hprofile img,.pft-hprofile svg{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.pft-hprofile svg{padding:7px;box-sizing:border-box;background:#3a414c;fill:#c9ced6}
.pft-hbtn.ghost{border-color:transparent;color:#a9b0ba!important}
@media (max-width:767px){.pft-hbtn{height:38px;padding:0 12px;font-size:14px}.pft-hprofile{height:38px;padding:3px}.pft-hprofile span{display:none}.pft-hprofile img,.pft-hprofile svg{width:32px;height:32px}}
@media (max-width:420px){.pft-haccount{gap:8px}.pft-hbtn{padding:0 10px;font-size:13px}}

/* neutral in-game currency: gold coin */
.pft-coin{display:inline-block;width:.95em;height:.95em;margin-left:.25em;vertical-align:-.14em;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff6c4 0 14%,#ffd84a 36%,#f2b705 72%,#d99a00);box-shadow:inset 0 0 0 .085em #c98a00,inset 0 0 0 .2em rgba(255,240,170,.55)}

/* versions of the game ([pft_versions]) */
.pft-versions{display:inline-flex;flex-direction:column;gap:6px;min-width:230px;max-width:100%;padding:10px 14px;border-radius:14px;background:var(--pft-card,#fff);border:1px solid var(--pft-line);box-shadow:0 2px 10px rgba(18,22,28,.06);font-family:Nunito,sans-serif;line-height:1.2;box-sizing:border-box}
.pft-ver{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--pft-ink)!important}
.pft-ver i{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--pft-green)}
.pft-ver.test i{background:var(--pft-accent)}
.pft-ver span{flex:1 1 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pft-ver b{font:800 17px "Baloo 2",sans-serif;color:var(--pft-ink)!important;opacity:1!important;visibility:visible!important}
.pft-ver.live b{color:var(--pft-green)!important}
.pft-ver.test b{color:var(--pft-accent-dark)!important}
.pft-ver span{color:inherit!important;opacity:1!important}
.pft-ver em{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--pft-accent);border-radius:8px;padding:1px 7px}
.pft-ver em.soft{color:var(--pft-accent-dark);background:var(--pft-soft)}
.pft-ver + .pft-ver{padding-top:6px;border-top:1px dashed var(--pft-line)}

/* ---------- Můj účet ([pft_profile]) ---------- */
.pft-prof{max-width:760px;margin:0 auto;font-family:Nunito,sans-serif;color:var(--pft-ink)}
.pft-prof-msg{padding:12px 16px;border-radius:12px;background:#fdecec;color:#9b1c1c;font-weight:700;margin:0 0 16px}
.pft-prof-msg.ok{background:#e6f6ec;color:#1f6b37}
.pft-prof-head{display:flex;align-items:center;gap:18px;background:var(--pft-card);border:1px solid var(--pft-line);border-radius:var(--pft-radius);padding:18px 20px}
.pft-prof-head>div{flex:1;min-width:0}
.pft-prof-head h3{margin:0;font:800 28px/1.1 "Baloo 2",sans-serif}
.pft-prof-head p{margin:2px 0 0;color:var(--pft-muted);font-weight:700}
.pft-prof-level{display:flex;align-items:center;gap:6px;color:var(--pft-ink)!important}
.pft-prof-av{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#eee;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.12);flex:0 0 auto}
.pft-prof-av.sm{width:64px;height:64px}
.pft-prof-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.pft-prof-stats>span{background:var(--pft-card);border:1px solid var(--pft-line);border-radius:14px;padding:12px;text-align:center}
.pft-prof-stats b{display:block;font:800 20px "Baloo 2",sans-serif}
.pft-prof-stats small{color:var(--pft-muted);font-weight:700}
.pft-prof-badges{display:flex;flex-wrap:wrap;gap:10px}
.pft-prof-badges span{width:92px;text-align:center;font-weight:700;font-size:12px}
.pft-prof-badges img,.pft-prof-badges i{display:block;width:48px;height:48px;margin:0 auto 4px;font-style:normal;font-size:36px;line-height:48px;color:var(--pft-accent)}
.pft-prof-form,.pft-prof-del{background:var(--pft-card);border:1px solid var(--pft-line);border-radius:var(--pft-radius);padding:6px 20px 16px;margin-top:16px}
.pft-field{display:flex;flex-direction:column;gap:5px;margin:0 0 14px}
.pft-field>label{font-weight:800}
.pft-field input[type=text],.pft-field input[type=email],.pft-field input[type=url],.pft-field input[type=password],.pft-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d6d1c9;border-radius:10px;font:600 16px Nunito,sans-serif;background:#fff}
.pft-field small{color:var(--pft-muted);font-weight:600}
.pft-av-row{display:flex;gap:14px;align-items:center}
.pft-av-row>div{display:flex;flex-direction:column;gap:6px}
.pft-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.pft-check{display:flex;gap:8px;align-items:center;font-weight:700;margin:4px 0 12px}
.pft-check.is-locked{position:relative;color:#8a919b;cursor:not-allowed;flex-wrap:wrap}.pft-check.is-locked input{cursor:not-allowed}
.pft-lock-tip{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:5;background:#1f2329;color:#fff;font-size:13px;font-weight:700;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.pft-check.is-locked:hover .pft-lock-tip,.pft-check.is-locked:focus .pft-lock-tip,.pft-check.is-locked:active .pft-lock-tip{display:block}
/* profile buttons: the theme / Elementor kit style every <button> (transparent background, coloured text) – ours win and look like „Hrát zdarma“ */
.pft-prof .pft-btn,.pft-prof button.pft-btn,.pft-prof .pft-btn[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border:0!important;border-radius:12px!important;background:var(--pft-accent)!important;color:#fff!important;font-family:Nunito,sans-serif;font-size:16px;font-weight:800;line-height:1.2;letter-spacing:0;text-transform:none;text-decoration:none!important;box-shadow:0 6px 18px rgba(255,122,26,.28);cursor:pointer;opacity:1!important;visibility:visible!important;transition:background .15s,transform .1s,box-shadow .15s}
.pft-prof .pft-btn:hover,.pft-prof .pft-btn:focus-visible{background:var(--pft-accent-dark)!important;color:#fff!important;box-shadow:0 8px 22px rgba(255,122,26,.36)}
.pft-prof .pft-btn:active{transform:translateY(1px)}
.pft-prof .pft-btn.danger{background:#c0262d!important;box-shadow:0 6px 18px rgba(192,38,45,.25)}
.pft-prof .pft-btn.danger:hover{background:#9e1f25!important}
.pft-prof a:not(.pft-btn){color:var(--pft-accent-dark)!important;text-decoration:underline;text-underline-offset:2px}
.pft-prof a:not(.pft-btn):hover{color:var(--pft-accent)!important}
.pft-prof-del summary{cursor:pointer;font-weight:800;padding:10px 0;color:#c0262d}
@media (max-width:640px){.pft-prof-head{flex-wrap:wrap}.pft-prof-stats{grid-template-columns:1fr 1fr}.pft-grid2{grid-template-columns:1fr}}
.pft-prof .pft-sub{font:800 20px "Baloo 2",sans-serif;margin:18px 0 10px;color:var(--pft-ink)}
.pft-prof-stats b{display:flex;align-items:center;justify-content:center;gap:4px}
.pft-prof-stats .pft-coin{width:18px!important;height:18px!important;flex:0 0 auto;margin:0!important}

/* ---------- Předběžný přístup ([pft_access_request]) ---------- */
.pft-access{background:#fff;border:1px solid var(--pft-line);border-radius:18px;padding:26px 24px;box-shadow:0 6px 24px rgba(18,22,28,.06)}
.pft-access h3{font:800 24px "Baloo 2",sans-serif;margin:0 0 8px;color:var(--pft-ink)}
.pft-access>p{color:var(--pft-muted);margin:0 0 14px}
.pft-choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:2px solid var(--pft-line);border-radius:14px;margin:0 0 8px;cursor:pointer;font-weight:600}
.pft-choice input{margin-top:4px;accent-color:var(--pft-accent)}
.pft-choice span{display:flex;flex-direction:column;gap:2px}.pft-choice b{font-weight:800}.pft-choice small{color:var(--pft-muted);font-weight:600}
.pft-choice:has(input:checked){border-color:var(--pft-accent);background:var(--pft-soft)}
.pft-prof .pft-btn.alt{background:#1f2329!important;box-shadow:none}
.pft-prof .pft-btn.alt:hover{background:#3a414c!important}
.pft-access-form .pft-check{align-items:flex-start}
@media (max-width:600px){.pft-access{padding:20px 16px}.pft-access .pft-grid2{grid-template-columns:1fr}}
.pft-access .pft-prof-form{border:0;padding:0;margin:0;box-shadow:none;background:none}
.pft-field input.is-readonly{background:#f4f1ec!important;color:var(--pft-muted)!important;cursor:not-allowed}
.pft-acc-hint{margin:-4px 0 14px;font-size:13px;font-weight:600;color:var(--pft-muted)}
