/* FreeTory Platform: base styles for consent notice, shout-outs and privacy controls.
   The FreeTory Pro theme overrides the custom properties below to match its look. */
:root{--ft-accent:#ffc83d;--ft-accent-2:#ff2e93;--ft-ink:#17141f;--ft-bg:#fff;--ft-surface:#f6f4fa;--ft-line:#e6e1ef;--ft-muted:#6b6678;--ft-radius:16px}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid var(--ft-line);background:var(--ft-surface);color:var(--ft-ink);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s}
.ft-btn:hover{transform:translateY(-1px)}
.ft-btn:disabled{opacity:.6;cursor:wait}
.ft-btn-main{border:0;color:var(--ft-on-accent,#1a1020);background:linear-gradient(135deg,var(--ft-accent),#ff9a3d 55%,var(--ft-accent-2))}

.ft-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 18px;border-radius:var(--ft-radius);background:rgba(15,12,24,.96);color:#f4effa;box-shadow:0 18px 50px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12);font-size:.92rem;line-height:1.5}
.ft-consent p{margin:0;flex:1 1 300px}
.ft-consent a{color:var(--ft-accent)}
.ft-consent-btns{display:flex;gap:8px}
.ft-consent .ft-btn{padding:9px 16px;font-size:.88rem;background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.ft-consent .ft-btn-main{color:var(--ft-on-accent,#1a1020);border:0}

.ft-privacy-box{padding:18px;border:1px solid var(--ft-line);border-radius:var(--ft-radius);background:var(--ft-surface);max-width:520px}
.ft-privacy-status{margin:0 0 12px;font-weight:600}

.ft-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:18px 0}
.ft-so{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--ft-radius);background:var(--ft-surface);border:1px solid var(--ft-line);transition:transform .2s,box-shadow .2s}
.ft-so:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.ft-so::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:hsl(var(--h) 85% 58%)}
.ft-so-head{display:flex;gap:12px;align-items:center}
.ft-so-head strong{display:block;line-height:1.2}
.ft-so-head small{color:var(--ft-muted)}
.ft-so-av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,hsl(var(--h) 80% 55%),hsl(calc(var(--h) + 50) 80% 45%))}
.ft-so p{margin:0;line-height:1.55}
.ft-like{align-self:flex-start;margin-top:auto;display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--ft-line);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.ft-like .ft-heart{color:var(--ft-muted);transition:color .2s,transform .2s}
.ft-like:hover .ft-heart,.ft-like.on .ft-heart{color:var(--ft-accent-2)}
.ft-like.on{border-color:var(--ft-accent-2)}
.ft-like.pop .ft-heart{animation:ftpop .5s}
@keyframes ftpop{40%{transform:scale(1.7)}}
.ft-demo-tag{margin-left:auto;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--ft-accent);color:var(--ft-on-accent,#1a1020)}
.ft-more-wrap{text-align:center}
.ft-empty-wall{grid-column:1/-1;color:var(--ft-muted)}

.ft-so-form{display:grid;gap:14px;max-width:720px;padding:22px;border-radius:var(--ft-radius);background:var(--ft-surface);border:1px solid var(--ft-line)}
.ft-so-form .ft-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.ft-so-form label{display:grid;gap:6px;font-weight:700;font-size:.92rem}
.ft-so-form label small{font-weight:400;color:var(--ft-muted)}
.ft-so-form input[type=text],.ft-so-form textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--ft-line);background:var(--ft-bg);color:var(--ft-ink);font:inherit;font-weight:400}
.ft-so-form input:focus,.ft-so-form textarea:focus{outline:3px solid color-mix(in srgb,var(--ft-accent) 60%,transparent);border-color:var(--ft-accent)}
.ft-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important}
.ft-counter{margin:-8px 0 0;text-align:right;color:var(--ft-muted);font-size:.82rem}
.ft-form-msg{min-height:1.4em;margin:0;font-weight:600}
.ft-form-msg.ok{color:#14a06a}.ft-form-msg.err{color:#e0334c}
.ft-fine{margin:0;font-size:.8rem;color:var(--ft-muted)}
@media(prefers-reduced-motion:reduce){.ft-so,.ft-btn{transition:none}.ft-like.pop .ft-heart{animation:none}}
