/* =====================================================================
   Perfect Plants Club – fiók modul: belépés, regisztráció, üdvözlő varázsló,
   beállítások, jogi oldalak, Rólunk. (A bardi-public.css + app.css-re épül.)
   ===================================================================== */
.sr-only,.sr-file{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.row.center{justify-content:center}
.rot180{transform:rotate(180deg)}
.opt{font-style:normal;font-weight:400;font-size:11.5px;color:var(--muted);opacity:.8;margin-left:4px}
.req{color:var(--terra2);font-weight:700}
.link-sm{font-size:13px;color:var(--gold2)}
.link-sm:hover{text-decoration:underline}

/* ---------- mezők: hibák, előtag, jelszó ---------- */
.field.has-err input,.field.has-err textarea,.field.has-err select{border-color:rgba(229,120,100,.75)!important;box-shadow:0 0 0 4px rgba(229,120,100,.1)}
.f-err{display:flex!important;align-items:center;gap:6px;color:#ffb8a6!important;font-size:12.5px!important;animation:errIn .35s var(--ease)}
.f-err .ic{width:13px;height:13px}
@keyframes errIn{from{opacity:0;transform:translateY(-4px)}}
.f-hint{font-size:12px;color:var(--muted);transition:color .25s}
.f-hint.ok{color:#c9e6b3}.f-hint.bad{color:#ffb8a6}
.input-prefix{position:relative}
.input-prefix>b{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;pointer-events:none}
.form .input-prefix input{padding-left:32px}
.pw-wrap{position:relative}
.form .pw-wrap input{padding-right:52px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background .25s,color .25s}
.pw-toggle:hover{background:rgba(255,248,235,.07);color:var(--gold2)}
.pw-toggle .eye-closed,.pw-toggle[aria-pressed="true"] .eye-open{display:none}
.pw-toggle[aria-pressed="true"] .eye-closed{display:block}
html:not(.js) .pw-toggle{display:none}
.pw-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:2px}
.pw-meter i{height:5px;border-radius:5px;background:rgba(255,248,235,.09);transition:background .35s}
.pw-meter span{grid-column:1/-1;font-size:12px;color:var(--muted);transition:color .3s}
.pw-meter[data-score="1"] i:nth-child(-n+1){background:#d9655a}
.pw-meter[data-score="2"] i:nth-child(-n+2){background:#e3905c}
.pw-meter[data-score="3"] i:nth-child(-n+3){background:#e8bd68}
.pw-meter[data-score="4"] i{background:#8fae76}
.pw-meter[data-score="1"] span{color:#ffb8a6}.pw-meter[data-score="4"] span{color:#c9e6b3}
.row2>.field{align-content:start}
.check input{flex-shrink:0}
.field .spread label{font-size:13px;font-weight:600;color:var(--muted)}
.checks{display:grid;gap:12px;padding:16px;border-radius:18px;background:rgba(255,248,235,.03);border:1px solid var(--line)}
.checks .check a{color:var(--gold2);text-decoration:underline;text-underline-offset:2px}
.check.has-err{color:#ffd2c6}
.check.has-err input{outline:2px solid rgba(229,120,100,.7);outline-offset:1px;border-radius:4px}

/* ---------- belépés / regisztráció – osztott elrendezés ---------- */
.auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;padding-top:68px}
.auth-art{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(28px,5vw,70px)}
.auth-art-bg{position:absolute;inset:-2%;z-index:-2;background:url('../img/hero-greenhouse.webp') 50% 40%/cover no-repeat;animation:kenburns 32s ease-in-out infinite alternate}
.auth-art::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,19,14,.15) 0%,rgba(11,19,14,.5) 40%,rgba(11,19,14,.94) 100%),linear-gradient(90deg,transparent 60%,rgba(11,19,14,.85))}
.auth-art-inner{max-width:560px;animation:cardIn .9s var(--ease) both}
.auth-art h2{font:600 clamp(36px,4.4vw,62px)/1.04 'Playfair Display',Georgia,serif;letter-spacing:-1.2px;margin:16px 0 0;text-shadow:0 6px 30px rgba(0,0,0,.5)}
.auth-art h2 em{font-style:italic;font-weight:500;background:linear-gradient(100deg,var(--gold2),var(--gold) 40%,var(--terra2) 70%,var(--gold2));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite;padding:0 .05em}
.auth-art-sub{margin:16px 0 26px;font-size:16px;line-height:1.7;color:rgba(243,239,228,.86);max-width:470px}
.auth-feats{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.auth-feats li{display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border-radius:20px;background:rgba(14,22,16,.55);border:1px solid rgba(255,240,215,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:cardIn .8s var(--ease) both;animation-delay:calc(150ms + var(--i) * 110ms)}
.af-ic{flex:0 0 52px;height:52px;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 50% 40%,#fff9ee,#ecd9b9);box-shadow:0 10px 20px -10px rgba(0,0,0,.8)}
.af-ic img{width:38px;height:38px;object-fit:contain}
.auth-feats strong{display:block;font-size:15px}
.auth-feats small{display:block;font-size:13px;color:var(--muted);line-height:1.45}
.auth-panel{position:relative;display:grid;place-items:center;padding:48px clamp(16px,4vw,56px);background:radial-gradient(ellipse at 80% 0,rgba(227,144,92,.14),transparent 55%),radial-gradient(ellipse at 0 100%,rgba(143,174,118,.1),transparent 50%),var(--bg)}
.auth-card{position:relative;width:min(440px,100%);padding:clamp(24px,3.4vw,38px);border-radius:28px;background:linear-gradient(160deg,rgba(28,48,36,.78),rgba(19,33,26,.72));border:1px solid rgba(255,240,215,.16);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);animation:cardIn .7s var(--ease) both}
.auth-card-wide{width:min(580px,100%)}
.auth-card h1{font:600 clamp(30px,3.2vw,40px)/1.1 'Playfair Display',serif;margin:0;letter-spacing:-.5px}
.auth-lead{margin:8px 0 22px;color:var(--muted)}
.auth-logo{width:auto;height:64px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.5));animation:floaty 6s ease-in-out infinite}
.auth-card .form-error,.auth-card .form-ok{margin-bottom:16px}
.auth-card .btn-block{margin-top:4px}
.auth-alt{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:center;font-size:14px;color:var(--muted)}
.auth-alt a{color:var(--gold2);font-weight:600}
.auth-legal{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:14px 0 0;font-size:12px;color:var(--muted);text-align:center}
.auth-legal a{color:var(--sage);text-decoration:underline}
.auth-solo{margin:20px auto;text-align:center}
.auth-solo .form{text-align:left}
.auth-solo .auth-logo{margin-left:auto;margin-right:auto}
@media (max-width:900px){
  .auth{grid-template-columns:1fr;padding-top:60px}
  .auth-art{min-height:250px;padding:28px 20px 70px;align-items:flex-end}
  .auth-art::before{background:linear-gradient(180deg,rgba(11,19,14,.2),rgba(11,19,14,.7) 60%,var(--bg))}
  .auth-art h2{font-size:clamp(30px,8vw,40px)}
  .auth-art-sub{margin:10px 0 0;font-size:14.5px}
  .auth-feats{display:none}
  .auth-panel{padding:0 16px 40px;margin-top:-50px;background:none;place-items:start center}
  .auth-register .auth-art .auth-art-sub{display:none}
}
@media (max-width:420px){.auth-card{padding:22px 18px;border-radius:24px}}

/* ---------- e-mail megerősítés sáv, eredménykártya ---------- */
.acc-verify{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:12px 14px 12px 16px;border-radius:18px;background:linear-gradient(100deg,rgba(232,189,104,.14),rgba(196,104,63,.1));border:1px solid rgba(232,189,104,.35);animation:cardIn .6s var(--ease)}
.acc-verify.strict{border-color:rgba(229,120,100,.5)}
.acc-verify p{flex:1;margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.acc-verify-ic{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(232,189,104,.18);color:var(--gold2)}
.acc-verify form{margin:0}
@media (max-width:560px){.acc-verify{flex-wrap:wrap}.acc-verify form{width:100%}.acc-verify .btn{width:100%}}
.result-card{text-align:center;padding:44px 24px;margin-top:20px}
.result-card h1,.auth-solo h1{font:600 clamp(26px,3.2vw,36px)/1.15 'Playfair Display',serif;margin:14px 0 8px}
.result-card p{color:var(--muted);max-width:480px;margin:0 auto 22px}
.result-ic{display:grid;place-items:center;width:76px;height:76px;margin:0 auto;border-radius:50%;background:radial-gradient(circle,rgba(143,174,118,.3),rgba(143,174,118,.08));color:#c9e6b3;box-shadow:0 0 0 8px rgba(143,174,118,.07);animation:popIn .7s var(--ease) both}
.result-ic .ic{width:34px;height:34px;stroke-width:2.4}
.is-bad .result-ic,.result-ic.bad{background:radial-gradient(circle,rgba(229,120,100,.3),rgba(229,120,100,.08));color:#ffb8a6;box-shadow:0 0 0 8px rgba(229,120,100,.07)}
.result-ic.ok{color:var(--gold2);background:radial-gradient(circle,rgba(232,189,104,.28),rgba(232,189,104,.06))}
@keyframes popIn{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.08)}100%{opacity:1;transform:none}}

/* ---------- üdvözlő varázsló ---------- */
.welcome .page-narrow{max-width:820px}
.wz-steps{display:flex;justify-content:center;gap:0;list-style:none;margin:6px auto 22px;padding:0;counter-reset:s}
.wz-steps li{position:relative;flex:1;max-width:190px;display:flex;justify-content:center}
.wz-steps li:not(:last-child)::after{content:'';position:absolute;top:19px;left:calc(50% + 26px);right:calc(-50% + 26px);height:2px;border-radius:2px;background:rgba(255,248,235,.1)}
.wz-steps li.done:not(:last-child)::after{background:linear-gradient(90deg,var(--sage2),var(--sage))}
.wz-steps a{display:grid;justify-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.wz-steps b{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:rgba(255,248,235,.04);font:700 15px 'DM Sans';color:var(--text);transition:background .3s,transform .3s var(--ease)}
.wz-steps .done b{background:linear-gradient(135deg,#8fae76,#6f8f5c);border-color:transparent;color:#0f1a12}
.wz-steps .cur b{background:linear-gradient(135deg,var(--gold2),var(--terra2));border-color:transparent;color:#1a120a;box-shadow:0 0 0 6px rgba(232,189,104,.14);transform:scale(1.08)}
.wz-steps .cur a{color:var(--gold2);font-weight:600}
.wz-card{position:relative;overflow:hidden;padding:clamp(24px,4vw,44px);animation:cardIn .6s var(--ease) both}
.wz-card::before{content:'';position:absolute;inset:0 0 auto;height:220px;z-index:0;background:radial-gradient(ellipse at 50% -20%,rgba(232,189,104,.16),transparent 70%);pointer-events:none}
.wz-card>*{position:relative;z-index:1}
.wz-head{text-align:center;max-width:560px;margin:0 auto 26px}
.wz-head h1{font:600 clamp(28px,3.6vw,40px)/1.12 'Playfair Display',serif;margin:12px 0 10px;letter-spacing:-.5px}
.wz-head p{margin:0;color:var(--muted);line-height:1.7}
.wz-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}
.wz-actions .btn-primary{margin-left:auto}
.avatar-drop{position:relative;display:grid;justify-items:center;gap:12px;cursor:pointer;text-align:center}
.avatar-drop small{max-width:380px;color:var(--muted);font-size:12.5px;line-height:1.5}
.avatar-ring{position:relative;display:block;padding:4px;border-radius:50%;background:conic-gradient(from 200deg,var(--gold2),var(--terra),var(--sage),var(--gold2));box-shadow:0 24px 50px -24px rgba(227,144,92,.6);transition:transform .5s var(--ease)}
.avatar-ring>.av{display:grid;border:4px solid var(--bg)}
.avatar-drop:hover .avatar-ring{transform:scale(1.04) rotate(-2deg)}
.avatar-drop:focus-within .avatar-ring{outline:2px solid var(--gold);outline-offset:4px}
.wz-preview{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);border-radius:50%;object-fit:cover;border:4px solid var(--bg);animation:popIn .5s var(--ease)}
.avatar-cta{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:rgba(255,248,235,.08);border:1px solid rgba(255,240,215,.22);font-weight:600;font-size:14px;transition:background .3s,border-color .3s}
.avatar-drop:hover .avatar-cta{background:rgba(255,248,235,.14);border-color:rgba(246,220,160,.5)}
.avatar-drop.sm{gap:8px}
.avatar-drop.sm .avatar-cta{padding:6px 12px;font-size:12.5px}
.interest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.interest{position:relative;cursor:pointer}
.interest input{position:absolute;opacity:0;pointer-events:none}
.interest-card{position:relative;display:grid;justify-items:center;gap:8px;padding:20px 12px 16px;border-radius:20px;background:rgba(255,248,235,.035);border:1px solid var(--line);text-align:center;transition:transform .35s var(--ease),background .3s,border-color .3s,box-shadow .3s;animation:cardIn .5s var(--ease) both;animation-delay:calc(var(--i) * 45ms)}
.interest-card img{width:62px;height:62px;object-fit:contain;filter:grayscale(.35) brightness(.92);transition:transform .5s var(--ease),filter .3s}
.interest-card strong{font-size:14px;font-weight:600}
.interest:hover .interest-card{transform:translateY(-3px);border-color:rgba(179,201,154,.45)}
.interest input:focus-visible+.interest-card{outline:2px solid var(--gold);outline-offset:3px}
.interest input:checked+.interest-card{background:linear-gradient(160deg,rgba(143,174,118,.22),rgba(143,174,118,.06));border-color:rgba(179,201,154,.7);box-shadow:0 14px 30px -18px rgba(143,174,118,.9)}
.interest input:checked+.interest-card img{filter:none;transform:scale(1.1) rotate(-6deg)}
.tick{position:absolute;top:10px;right:10px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#8fae76,#6f8f5c);color:#0f1a12;opacity:0;transform:scale(.4);transition:opacity .25s,transform .35s var(--ease)}
.tick .ic{width:14px;height:14px;stroke-width:3}
.interest input:checked+.interest-card .tick{opacity:1;transform:none}
.wz-done .wz-trophy{width:96px;height:96px;object-fit:contain;margin:0 auto 6px;animation:trophy 1.1s var(--ease) both,floaty 6s ease-in-out 1.2s infinite}
@keyframes trophy{0%{opacity:0;transform:scale(.3) rotate(-30deg)}60%{transform:scale(1.15) rotate(8deg)}100%{opacity:1;transform:none}}
.wz-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wz-tile{display:grid;justify-items:center;gap:8px;padding:24px 16px;border-radius:22px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);text-align:center;transition:transform .4s var(--ease),border-color .3s,box-shadow .3s;animation:cardIn .7s var(--ease) both;animation-delay:calc(500ms + var(--i) * 120ms)}
.wz-tile img{width:64px;height:64px;object-fit:contain;transition:transform .5s var(--ease)}
.wz-tile strong{font:600 19px 'Playfair Display',serif}
.wz-tile small{color:var(--muted);font-size:13px}
.wz-tile:hover{transform:translateY(-5px);border-color:rgba(232,189,104,.45);box-shadow:0 24px 40px -24px rgba(0,0,0,.9)}
.wz-tile:hover img{transform:rotate(-8deg) scale(1.1)}
.wz-tile:first-child{background:radial-gradient(ellipse at 50% 0,rgba(227,144,92,.22),transparent 70%),linear-gradient(160deg,var(--panel2),var(--panel));border-color:rgba(227,144,92,.4)}
.wz-foot{text-align:center;margin:22px 0 0;font-size:13.5px}
.wz-foot a{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.wz-foot a:hover{color:var(--gold2)}
.confetti{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}
.confetti i{position:absolute;top:-24px;left:var(--x);width:var(--s);height:calc(var(--s) * .5);border-radius:2px;background:var(--c);opacity:0;animation:confetti var(--t) cubic-bezier(.25,.6,.45,1) var(--d) forwards}
.confetti i:nth-child(3n){border-radius:50%;height:var(--s)}
.confetti i:nth-child(4n){--sway:-60px}
@keyframes confetti{0%{opacity:1;transform:translate3d(0,0,0) rotate(var(--r))}85%{opacity:1}100%{opacity:0;transform:translate3d(var(--sway,60px),105vh,0) rotate(calc(var(--r) + 760deg))}}
@media (max-width:700px){.wz-next{grid-template-columns:1fr}.wz-tile{grid-template-columns:56px 1fr;justify-items:start;text-align:left;padding:16px;column-gap:14px}.wz-tile img{grid-row:span 2;width:56px;height:56px}.wz-steps li:not(:last-child)::after{left:calc(50% + 24px);right:calc(-50% + 24px)}.interest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- beállítások ---------- */
.set-hero{position:relative;isolation:isolate;overflow:hidden;min-height:190px;display:flex;align-items:flex-end;border-radius:28px;border:1px solid var(--line);background:url('../img/hero-greenhouse.webp') center/cover no-repeat}
.set-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,19,14,.15),rgba(11,19,14,.88) 85%)}
.set-hero-inner{display:flex;align-items:center;gap:18px;width:100%;padding:22px clamp(18px,3vw,30px);flex-wrap:wrap}
.set-av{border:3px solid var(--bg);box-shadow:0 0 0 3px var(--gold),0 18px 30px -12px rgba(0,0,0,.8)}
.set-hero-txt{flex:1;min-width:200px}
.set-hero h1{font:600 clamp(26px,3vw,36px)/1.1 'Playfair Display',serif;margin:6px 0 2px;overflow-wrap:anywhere}
.set-hero .muted{font-size:13.5px}
.set-grid{display:grid;grid-template-columns:232px minmax(0,1fr);gap:22px;margin-top:22px;align-items:start}
.set-nav{position:sticky;top:84px;display:grid;gap:4px;padding:8px;border-radius:22px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line)}
.set-nav a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:15px;color:rgba(243,239,228,.82);font-weight:500;transition:background .25s,color .25s}
.set-nav a:hover{background:rgba(255,248,235,.06);color:var(--text)}
.set-nav a[aria-current]{background:linear-gradient(135deg,#8fae76,#6f8f5c);color:#0f1a12;font-weight:700;box-shadow:0 10px 22px -14px rgba(143,174,118,.9)}
.set-body{display:grid;gap:18px;min-width:0}
.set-card{animation:cardIn .5s var(--ease) both}
.set-card h2{display:flex;align-items:center;gap:10px;font-size:22px;margin:0}
.set-card h2.mt{margin-top:10px}
.set-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.set-note.warn{color:var(--gold2)}
.set-note code,.field code{padding:2px 7px;border-radius:7px;background:rgba(255,248,235,.07);font-size:12.5px;color:var(--gold2)}
.set-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ok-pill,.warn-pill,.count-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;font-style:normal}
.ok-pill{background:rgba(143,174,118,.18);color:#c9e6b3}.ok-pill .ic{width:12px;height:12px}
.warn-pill{background:rgba(232,189,104,.16);color:var(--gold2)}
.count-pill{background:rgba(255,248,235,.08);color:var(--muted);font-family:'DM Sans'}
.media-pick{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}
.media-pick>div{display:grid;gap:8px;justify-items:start}
.mp-avatar{justify-items:center!important}
.mp-label{font-size:13px;font-weight:600;color:var(--muted)}
.cover-drop{position:relative;width:100%;height:150px;display:grid;place-items:center;overflow:hidden;border-radius:20px;border:1px dashed rgba(255,240,215,.26);background:radial-gradient(ellipse at 50% 120%,rgba(143,174,118,.18),transparent 70%),rgba(255,248,235,.03) center/cover no-repeat;background-size:cover;background-position:center;cursor:pointer;transition:border-color .3s}
.cover-drop:hover,.cover-drop:focus-within{border-color:rgba(246,220,160,.6)}
.cover-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-drop .avatar-cta{position:relative;background:rgba(10,18,13,.65);backdrop-filter:blur(8px)}
.mini-link.danger{color:#ffb8a6}
.mini-link.danger:hover{color:#ffd2c6}
.seg{display:inline-flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:999px;background:rgba(255,248,235,.04);border:1px solid var(--line);justify-self:start}
.seg-opt input,.opt-card input{position:absolute;opacity:0;pointer-events:none}
.seg-opt span{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;cursor:pointer;font-weight:600;font-size:14px;color:rgba(243,239,228,.8);transition:background .25s,color .25s}
.seg-opt input:checked+span{background:linear-gradient(135deg,#8fae76,#6f8f5c);color:#0f1a12}
.seg-opt input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.seg .flag{width:20px;height:14px;border-radius:3px;flex-shrink:0}
.opt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.opt-card{position:relative;cursor:pointer}
.opt-card>span{display:grid;gap:4px;height:100%;padding:16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,248,235,.03);transition:border-color .25s,background .25s,transform .3s var(--ease)}
.opt-card>span .ic{width:22px;height:22px;color:var(--muted);margin-bottom:4px}
.opt-card strong{font-size:15px}
.opt-card small{font-size:12.5px;color:var(--muted);line-height:1.45}
.opt-card:hover>span{transform:translateY(-2px);border-color:rgba(179,201,154,.4)}
.opt-card input:checked+span{border-color:rgba(232,189,104,.7);background:linear-gradient(160deg,rgba(232,189,104,.14),rgba(232,189,104,.03));box-shadow:0 0 0 3px rgba(232,189,104,.1)}
.opt-card input:checked+span .ic{color:var(--gold2)}
.opt-card input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.switch-row strong{display:block;font-size:15px}
.switch-row small{display:block;margin-top:2px;font-size:13px;color:var(--muted);line-height:1.5}
.switch{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 52px;width:52px;height:30px;margin:0;border-radius:999px;background:rgba(255,248,235,.14);border:1px solid var(--line);cursor:pointer;transition:background .3s}
.switch::before{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#f3efe4;box-shadow:0 2px 6px rgba(0,0,0,.4);transition:transform .35s var(--ease)}
.switch:checked{background:linear-gradient(135deg,#8fae76,#6f8f5c)}
.switch:checked::before{transform:translateX(22px)}
.switch:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.block-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.block-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:16px;background:rgba(255,248,235,.03);border:1px solid var(--line)}
.block-list form{margin:0}
.storage-top{display:flex;align-items:center;gap:clamp(18px,4vw,36px);flex-wrap:wrap;margin:6px 0 4px}
.ring{position:relative;width:150px;height:150px;flex-shrink:0}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:11}
.ring-bg{stroke:rgba(255,248,235,.08)}
.ring-fg{stroke:var(--sage);stroke-linecap:round;stroke-dasharray:var(--p) 100;animation:ringIn 1.4s var(--ease) both}
.ring.warn .ring-fg{stroke:var(--gold)}.ring.crit .ring-fg{stroke:#e5675a}
@keyframes ringIn{from{stroke-dasharray:0 100}}
.ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ring strong{font:600 30px/1 'Playfair Display',serif}
.ring span{font-size:12px;color:var(--muted)}
.storage-nums p{margin:0 0 4px}
.storage-nums .big{font-size:18px}
.storage-nums .big strong{font:600 30px 'Playfair Display',serif}
.stack-bar{display:flex;gap:2px;height:12px;border-radius:999px;background:rgba(255,248,235,.06);overflow:hidden}
.stack-bar i{display:block;height:100%;animation:barIn 1.2s var(--ease) both;transform-origin:left}
@keyframes barIn{from{transform:scaleX(0)}}
.legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:13.5px}
.legend li{display:flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.legend b{margin-left:auto;font-weight:600}
.info-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.info-grid>div{display:grid;gap:6px;align-content:start}
.info-grid img{width:48px;height:48px;object-fit:contain}
.info-grid strong{font:600 17px 'Playfair Display',serif}
.info-grid .mini-link{font-family:'DM Sans',sans-serif;font-size:13px;color:var(--gold2)}
.info-grid p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.6}
.data-list{list-style:none;margin:4px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.data-list li{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:14px;background:rgba(255,248,235,.035);border:1px solid var(--line);font-size:14px}
.data-list .ic{color:var(--sage)}
.danger-zone{border-color:rgba(229,120,100,.35)!important;background:radial-gradient(ellipse at 100% 0,rgba(229,120,100,.12),transparent 60%),linear-gradient(160deg,var(--panel2),var(--panel))!important}
.danger-zone h2{color:#ffc2b3}
.danger-zone .btn-danger[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
@media (max-width:900px){
  .set-grid{grid-template-columns:1fr;gap:14px}
  .set-nav{position:static;display:flex;overflow-x:auto;padding:5px;border-radius:999px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .set-nav::-webkit-scrollbar{display:none}
  .set-nav a{flex-shrink:0;padding:9px 14px;border-radius:999px;font-size:14px;white-space:nowrap}
  .info-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .set-hero{min-height:170px;border-radius:22px}
  .set-hero-inner{gap:12px}
  .set-hero .set-av{--s:64px!important;width:64px;height:64px}
  .set-hero .btn{width:100%}
  .media-pick{grid-template-columns:1fr}
  .mp-avatar{justify-items:start!important}
  .opt-cards,.data-list,.legend{grid-template-columns:1fr}
  .set-actions .btn{width:100%}
  .ring{width:124px;height:124px}
  .block-list li{flex-wrap:wrap}
}

/* ---------- jogi oldalak ---------- */
.legal-hero{position:relative;isolation:isolate;overflow:hidden;padding:120px clamp(16px,6vw,100px) 46px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#1a2416,var(--bg) 70%)}
.legal-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:url('../img/hero-greenhouse.webp') 50% 40%/cover;opacity:.18}
.legal-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--bg),transparent 70%)}
.legal-hero img{width:70px;height:70px;object-fit:contain;margin:0 auto 12px;animation:floaty 6s ease-in-out infinite}
.legal-hero h1{font:600 clamp(34px,5vw,58px)/1.05 'Playfair Display',serif;letter-spacing:-1px;margin:12px 0 0}
.legal-hero p{max-width:640px;margin:14px auto 0;color:var(--muted)}
.legal-wrap{max-width:1120px;margin:0 auto;padding:10px clamp(16px,4vw,40px) 60px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:start}
.legal-toc{position:sticky;top:86px;padding:16px;border-radius:20px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);font-size:13.5px}
.legal-toc strong{display:block;margin:0 0 8px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold2)}
.legal-toc ol{margin:0;padding:0 0 0 18px;display:grid;gap:6px;color:var(--muted)}
.legal-toc a:hover{color:var(--gold2)}
.legal-body{display:grid;gap:16px;min-width:0}
.legal-body section{padding:clamp(20px,3vw,30px);border-radius:22px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);scroll-margin-top:90px}
.legal-body h2{font:600 clamp(21px,2.2vw,26px)/1.25 'Playfair Display',serif;margin:0 0 12px;display:flex;gap:12px;align-items:baseline}
.legal-body h2 .n{font:700 13px 'DM Sans';color:var(--gold2);min-width:24px}
.legal-body h3{font-size:15.5px;margin:18px 0 6px;color:var(--cream)}
.legal-body p,.legal-body li{color:rgba(243,239,228,.84);line-height:1.75;font-size:15px}
.legal-body p{margin:0 0 10px}
.legal-body ul{margin:0 0 10px;padding-left:20px}
.legal-body a{color:var(--gold2);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.legal-body address{font-style:normal;line-height:1.7;padding:14px 16px;border-radius:14px;background:rgba(255,248,235,.04);border:1px solid var(--line)}
.legal-note{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:18px;border:1px dashed rgba(232,189,104,.5);background:rgba(232,189,104,.07);font-size:14px;line-height:1.6;color:var(--gold2)}
.legal-note .ic{margin-top:3px}
.ph{padding:1px 6px;border-radius:6px;background:rgba(229,120,100,.16);color:#ffc2b3;font-style:normal}
.legal-meta{font-size:13px;color:var(--muted)}
.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.rule{display:flex;gap:12px;padding:14px;border-radius:16px;background:rgba(255,248,235,.035);border:1px solid var(--line)}
.rule img{width:42px;height:42px;object-fit:contain;flex-shrink:0}
.rule strong{display:block;margin-bottom:2px}
.rule p{margin:0!important;font-size:14px!important;color:var(--muted)!important;line-height:1.55!important}
@media (max-width:900px){.legal-wrap{grid-template-columns:1fr}.legal-toc{position:static}.rule-grid{grid-template-columns:1fr}}

/* ---------- Rólunk ---------- */
.about-page .subhero{padding-top:140px}
.about-page .about-main{padding-top:10px}
.about-page .values{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-page .value h3{font-size:20px}
.about-section-head{text-align:center;margin:60px auto 8px;max-width:680px}
.about-section-head h2{font:600 clamp(28px,3.6vw,42px)/1.1 'Playfair Display',serif;margin:12px 0 0;letter-spacing:-.5px}
.founder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;margin-top:22px;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel2),var(--panel))}
.founder-txt{padding:clamp(24px,4vw,44px);display:grid;align-content:center;gap:12px}
.founder-txt h3{font:600 clamp(24px,2.8vw,32px)/1.15 'Playfair Display',serif;margin:4px 0 0}
.founder-txt p{margin:0;color:var(--muted);line-height:1.7}
.founder-who{display:flex;align-items:center;gap:14px}
.founder-who strong{display:block;font-size:17px}
.founder-who span{font-size:13px;color:var(--muted)}
.founder-pics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;min-height:320px;background:#0a120d}
.founder-pics img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.founder-pics a{overflow:hidden;display:block}
.founder-pics a:hover img{transform:scale(1.06)}
.about-cta{position:relative;isolation:isolate;overflow:hidden;margin-top:22px;padding:clamp(30px,5vw,60px);border-radius:28px;text-align:center;border:1px solid rgba(232,189,104,.3);background:radial-gradient(ellipse at 50% 0,rgba(227,144,92,.28),transparent 65%),linear-gradient(160deg,var(--panel2),var(--panel))}
.about-cta h2{font:600 clamp(28px,3.6vw,44px)/1.1 'Playfair Display',serif;margin:12px 0 10px}
.about-cta p{max-width:560px;margin:0 auto 22px;color:var(--muted)}
.about-cta .row{justify-content:center}
@media (max-width:900px){.about-page .values{grid-template-columns:repeat(2,minmax(0,1fr))}.founder{grid-template-columns:1fr}.founder-pics{min-height:240px}}
@media (max-width:600px){.about-page .values{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  .confetti{display:none}
  .auth-art-bg,.auth-logo,.wz-trophy,.legal-hero img{animation:none!important}
  .auth-card,.auth-feats li,.auth-art-inner,.wz-card,.wz-tile,.interest-card,.set-card,.ring-fg,.stack-bar i,.result-ic{animation:none!important}
}
.set-card:not(.form){display:grid;gap:14px}

/* ---------- Okosotthon / Home Assistant ---------- */
.ha-card h2 .ic{color:var(--sage)}
.ha-lead{display:block}
.ha-token{display:grid;gap:10px;padding:16px 18px;border-radius:18px;border:1px solid rgba(232,189,104,.42);background:radial-gradient(ellipse at 100% 0,rgba(232,189,104,.14),transparent 65%),rgba(255,248,235,.035)}
.ha-token-head{display:flex;align-items:center;gap:9px;color:var(--gold2);font-size:15px}
.ha-token p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}
.ha-token-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ha-token-row code{flex:1 1 300px;min-width:0;padding:11px 14px;border-radius:12px;background:#0a120d;border:1px solid var(--line);font:600 14.5px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.4px;color:var(--gold2);overflow-wrap:anywhere;user-select:all}
.ha-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.ha-meta>div{padding:11px 14px;border-radius:14px;background:rgba(255,248,235,.035);border:1px solid var(--line)}
.ha-meta dt{font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.ha-meta dd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 0;font-size:14.5px}
.ha-meta code{padding:2px 7px;border-radius:7px;background:rgba(255,248,235,.07);font-size:12.5px;color:var(--gold2)}
.ha-meta .muted{color:var(--muted)}
.ha-danger{color:#ffc2b3;border-color:rgba(229,120,100,.45)}
.ha-danger::before{background:#e57864}
.ha-danger:hover{color:#1d0f0b;border-color:#e57864}
.ha-block{display:grid;gap:8px}
.ha-block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.ha-block-head strong{display:block;font:600 15px 'DM Sans',sans-serif;color:var(--text)}
.ha-block-head small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted);line-height:1.45}
.ha-code{margin:0;overflow:auto;padding:14px 16px;border-radius:14px;background:#0a120d;border:1px solid var(--line);font:12.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#dfe9cf;white-space:pre;tab-size:2;scrollbar-width:thin}
.ha-code code{font:inherit;color:inherit;background:none;padding:0}
.ha-copy{flex-shrink:0}
.ha-copy .ha-copied{display:none}
.ha-copy.is-copied .ha-copied{display:inline-block}
.ha-copy.is-copied{border-color:var(--sage);color:#c9e6b3}
.ha-api{border-top:1px solid var(--line);padding-top:12px}
.ha-api summary{cursor:pointer;font-weight:600;color:var(--gold2);font-size:14px}
.ha-api[open] summary{margin-bottom:10px}
.ha-api .set-note{display:block;margin-bottom:10px}
.ha-api .set-note code{margin:0 2px}
@media (max-width:640px){
  .ha-meta{grid-template-columns:1fr}
  .ha-block-head{align-items:flex-start;flex-direction:column}
  .ha-token-row .btn{width:100%}
}
