/* Lapszabó prototype — A4 "Antracit este" + W-A4 layout + W4 giant headings. Montserrat, self-hosted. */
:root{--ok:#C49A3E;--okm:#9C7A2E;--an:#1C2027;--an2:#262A31;--gr:#486B5F;--st:#98A2AD;--oak:#BFA378;--bg:#F2F2F0;--tx:#2B2F36;--mut:#6E737B;--line:#E4E3DE}
*{box-sizing:border-box;margin:0;padding:0} a{color:inherit;text-decoration:none} button{font:inherit}
html{overflow-x:hidden} body{overflow-x:clip;font-family:Montserrat,Arial,sans-serif;color:var(--tx);background:var(--bg);font-size:16px;line-height:1.6}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
/* header (AlpenParks structure, dark) */
.hd{position:sticky;top:0;z-index:20;background:var(--an);color:#fff;padding-top:env(safe-area-inset-top,0)}
.hd-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:80px;padding:0 34px}
.hl{display:flex;align-items:center;gap:26px;position:relative} .navtog{display:none}
.burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;font-size:8px;letter-spacing:.24em;font-weight:600} .burger i{display:block;width:28px;height:2px;background:#fff}
.co{font-size:11px;line-height:1.35;letter-spacing:.04em} .co b{display:block;font-weight:700} .co span{opacity:.7}
.drawer{display:none;position:absolute;top:58px;left:-34px;background:var(--an);padding:14px 34px 22px;min-width:300px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.drawer a{display:block;padding:10px 0;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #33363C} .drawer a.on{color:var(--ok)}
.navtog:checked~.drawer{display:block}
.logo svg{height:40px;width:auto;display:block}
.hr{display:flex;align-items:center;gap:22px;justify-content:flex-end} .srch{display:flex;flex-direction:column;align-items:center;font-size:8px;letter-spacing:.16em;font-weight:600;gap:3px}
.pills{display:flex;border-radius:99px} .pills a{padding:11px 22px;font-size:11px;letter-spacing:.14em;font-weight:600;white-space:nowrap;transition:filter .2s}
.pills a:hover{filter:brightness(1.1)} .p1{background:var(--gr);color:#fff;border-radius:99px 0 0 99px} .p1.ok{background:var(--ok);color:var(--an)} .p2{background:#fff;color:var(--tx);border-radius:0 99px 99px 0}
.pills.big a{padding:15px 30px;font-size:13px} .lang{font-size:12px;font-weight:700}
.pillbtn{display:inline-block;background:var(--ok);color:var(--an);border:0;border-radius:99px;padding:13px 26px;font-size:12px;font-weight:700;letter-spacing:.14em;cursor:pointer}
.pillbtn:hover{filter:brightness(1.08)} .pillbtn.wide{display:block;text-align:center}
/* István 10551: the bútortervező add button (#bt-add) -- arrow icon that turns into a tick, greenish background while "HOZZÁADVA" */
.pillbtn.btadd{display:inline-flex;align-items:center;gap:10px;transition:background-color .25s ease,color .25s ease}
.pillbtn.btadd svg{width:18px;height:18px;flex:none}
.pillbtn.btadd.kesz{background:#486B5F;color:#fff}
.pillbtn.btadd:disabled{cursor:default}
.kick{font-size:13px;font-weight:300;letter-spacing:.2em;color:var(--st)} .kick b{color:var(--ok);font-weight:700}
/* giant W4-style headings in Montserrat */
.giant{font-weight:800;font-size:clamp(56px,11vw,168px);line-height:.9;letter-spacing:-.01em;text-transform:uppercase;margin:14px 0 18px} .giant span{display:block} .ok{color:var(--ok)}
.giant2{font-weight:800;font-size:clamp(40px,6vw,76px);line-height:.95;letter-spacing:.005em;text-transform:uppercase} .giant2 span{display:block;color:var(--an)} .giant2 .gr{color:var(--gr)} .giant2 .ok{color:var(--ok)} .giant2 .w{color:#fff}
.ctr{text-align:center}
/* hero */
.hero{position:relative;background:var(--an);color:#fff;min-height:700px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,32,39,.94) 30%,rgba(28,32,39,.55) 70%,rgba(28,32,39,.35)),url(img/slide_1.webp) right 30%/cover;animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.07)}}
.ht{position:relative;padding-top:40px;padding-bottom:90px} .sub{font-weight:300;letter-spacing:.2em;font-size:15px;color:#D8DBE0;margin-bottom:30px}
.torn{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:46px;display:block} .torn.top{top:-45px;bottom:auto;transform:scaleY(-1)}
/* stats row (W4) */
.stats{background:var(--an);color:#fff} .st-g{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:2px solid #3A3E46}
.st-g>div{padding:30px 28px 38px 0;border-right:2px solid #3A3E46} .st-g>div+div{padding-left:28px} .st-g>div:last-child{border:0}
.st-g b{display:block;font-size:40px;font-weight:800;line-height:1;letter-spacing:-.005em} .st-g p{color:var(--st);font-size:15px;margin-top:8px}
.st-g .go{background:var(--ok);color:var(--an)} .st-g .go p{color:#3B2E10} .st-g .go .pillbtn{background:var(--an);color:var(--ok);margin-top:14px}
.brands{background:var(--ok);color:var(--an);overflow:hidden;white-space:nowrap;padding:16px 0;font-weight:800;font-size:30px;letter-spacing:.04em}
.br-in{display:inline-block;animation:mq 40s linear infinite} .br-in span{margin:0 18px} .br-in i{font-style:normal;font-size:18px;vertical-align:middle;opacity:.6}
@keyframes mq{to{transform:translateX(-50%)}}
/* sections */
section{position:relative} .intro{padding:80px 0;background:#fff} .narrow{max-width:780px;margin:0 auto;padding:0 24px}
.intro h2{font-size:34px;font-weight:700;color:var(--an);line-height:1.2} .zig{display:block;margin:18px 0 22px;color:var(--ok)} .intro p{font-weight:300;color:#555;line-height:1.8} .intro b{color:var(--gr);font-weight:700}
.hls{background:var(--bg);padding:80px 0} .hls-in{display:grid;grid-template-columns:360px 1fr;align-items:center;gap:40px}
.hlg{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;text-align:center} .hli span{display:block;font-size:14px;color:#6E6E6E;margin-top:12px;line-height:1.55}
.teaser{background:var(--an);color:#fff;padding:90px 0} .te-g{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.teaser p{color:var(--st);margin:20px 0 28px;max-width:440px} .te-card{background:var(--an2);border:1px solid #33363C;border-radius:16px;padding:26px}
.te-card .pid span{display:block;font-size:11px;letter-spacing:.14em;color:var(--st)} .te-card .pid b{color:var(--ok);font-size:24px}
.te-card table{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px} .te-card th{text-align:left;font-size:10px;letter-spacing:.12em;color:var(--st);padding:8px 6px;border-bottom:1px solid #33363C}
.te-card td{padding:10px 6px;border-bottom:1px solid #33363C}
.dekor{background:#fff;padding:90px 0 60px} .dk-g{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;margin-top:40px}
.dk img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block;transition:transform .3s} .dk:hover img{transform:scale(1.05)}
.dk figcaption{font-size:11.5px;color:var(--mut);margin-top:8px;line-height:1.35} .dk b{display:block;color:var(--an)}
.arrows{display:flex;gap:14px;justify-content:center;margin-top:34px} .ar{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ok);display:flex;align-items:center;justify-content:center;color:var(--okm);font-size:20px;cursor:pointer} .ar.off{opacity:.3}
.services{background:var(--bg);padding:90px 0 120px} .svc-g{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.svc-img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:14px} .svc h3{font-size:15px;letter-spacing:.08em;font-weight:700} .svc p{font-weight:300;font-size:15px;color:var(--mut)}
.cta{background:var(--an);color:#fff;padding:70px 0 60px} .cta-in{display:flex;justify-content:space-between;align-items:center;gap:30px} .cta h2 span{color:#fff} .cta p{color:var(--st);letter-spacing:.06em;margin-top:10px}
.ft{background:#15181D;color:#E6E6E6;padding:60px 0 26px} .ft-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px} .ft svg{height:34px;width:auto}
.ft p{color:#9AA0A8;font-size:14px;margin-top:14px;max-width:300px} .ft h4{font-size:12px;letter-spacing:.14em;color:var(--ok);margin-bottom:12px} .ft a{display:block;font-size:14px;color:#C9CDD2;margin-bottom:6px}
.ft-b{margin-top:36px;font-size:12px;color:#7D838B}
/* szabás page */
.phead{background:var(--an);color:#fff;padding:50px 0 90px} .app{padding:30px 0 90px}
.tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px} .chip{border:1px solid #CFCEC8;background:#fff;border-radius:99px;padding:8px 16px;font-size:13px;cursor:pointer} .chip[disabled]{opacity:.45;cursor:not-allowed}
.app-g{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.app-main{background:#fff;border-radius:16px;padding:26px;border:1px solid var(--line)}
.form h3{font-size:14px;letter-spacing:.14em;color:var(--gr);margin-bottom:14px}
.form-g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px} .fld.w2{grid-column:span 2}
.fld span{display:block;font-size:12px;color:var(--mut);margin-bottom:4px} .fld input,.fld select{width:100%;border:1px solid #D6D5CF;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;background:#FAFAF8}
.fld input:focus,.fld select:focus{outline:2px solid var(--ok);border-color:var(--ok)} .err{color:#C8372D;font-size:13px;margin-top:8px;min-height:1em}
.tbl{width:100%;border-collapse:collapse;font-size:14px;margin-top:24px} .tbl th{text-align:left;font-size:10.5px;letter-spacing:.12em;color:var(--mut);padding:10px 8px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 8px;border-bottom:1px solid var(--line)} .tbl td small{display:block;color:var(--mut);font-size:12px} .tbl .empty td{color:var(--mut)} .del{border:0;background:none;color:#C8372D;cursor:pointer;font-size:18px}
.tbl tr.new{animation:rowin .5s ease} @keyframes rowin{from{background:#FFF4DC}to{background:transparent}}
.side{background:var(--an);color:#fff;border-radius:16px;padding:26px;position:sticky;top:100px}
.plbl{font-size:11px;letter-spacing:.14em;color:var(--st)} .pval{font-size:44px;font-weight:800;color:var(--ok);line-height:1.1;margin:6px 0} .pval small{font-size:20px}
.pnote{font-size:12px;color:var(--st);display:block;line-height:1.5} .sum{list-style:none;margin:20px 0;border-top:1px solid #33363C} .sum li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #33363C;font-size:14px}
@media (max-width:760px){
 .wrap{padding:0 18px} .hd-in{grid-template-columns:auto 1fr auto;padding:0 16px;height:66px} .co,.srch,.lang,.hr .pills{display:none} .logo{justify-self:center} .logo svg{height:30px}
 .drawer{left:-16px;min-width:100vw} .hero{min-height:600px} .pills.big a{padding:13px 18px;font-size:11px}
 .st-g{grid-template-columns:1fr} .st-g>div{border-right:0;border-bottom:2px solid #3A3E46;padding:24px 0} .st-g>div+div{padding-left:0} .st-g .go{padding:24px 18px;margin:0 -18px}
 .brands{font-size:22px} .hls-in,.te-g{grid-template-columns:1fr} .hlg{grid-template-columns:1fr 1fr} .dk-g{grid-template-columns:repeat(4,1fr)} .svc-g,.ft-g{grid-template-columns:1fr 1fr}
 .cta-in{flex-direction:column;align-items:flex-start} .app-g{grid-template-columns:1fr} .form-g{grid-template-columns:1fr 1fr} .side{position:static}
 .tbl th:nth-child(3),.tbl td:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){.hero-bg,.br-in{animation:none}}
.phead .giant{font-size:clamp(30px,8.4vw,118px)}
.h1k{display:block;font-size:13px;font-weight:300;letter-spacing:.2em;line-height:1.4;color:var(--st);margin-bottom:10px;text-transform:uppercase}
.hy::after{content:"-"}

/* ---- v2 additions: wide layout, searchable material, data card, info bubbles, funnel, catalogue ---- */
.wrap.wide{max-width:1480px}
.drawer details{border-bottom:1px solid #33363C} .drawer summary{padding:10px 0;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;list-style:none}
.drawer summary::after{content:" ▾";color:var(--ok)} .drawer details a{padding:7px 0 7px 14px;font-size:12px;border:0;letter-spacing:.06em}
.steps4{display:flex;gap:10px;list-style:none;margin:0 0 20px;flex-wrap:wrap} .steps4 li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding:6px 14px 6px 6px;border-radius:99px;background:#fff;border:1px solid var(--line)}
.steps4 li b{width:26px;height:26px;border-radius:50%;background:var(--line);color:var(--an);display:flex;align-items:center;justify-content:center;font-size:12px}
.steps4 li.on b{background:var(--gr);color:#fff} .steps4 li.cur{color:var(--an);border-color:var(--ok)} .steps4 li.cur b{background:var(--ok)}
.app-g{grid-template-columns:1fr 360px}
.row1{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;margin-bottom:16px;align-items:start}
.anyag-kereso{position:relative} .anyag-kereso input{width:100%;border:2px solid var(--ok);border-radius:12px;padding:14px 16px;font:inherit;font-size:16px;background:#fff}
.mat-list{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -18px rgba(0,0,0,.4);max-height:420px;overflow:auto}
.ml-g{position:sticky;top:0;background:var(--bg);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gr);padding:6px 12px}
.ml-i{display:flex;gap:10px;align-items:center;padding:7px 12px;cursor:pointer;font-size:14px} .ml-i small{display:block;color:var(--mut);font-size:12px}
.ml-i img,.ml-i .noimg{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:none} .ml-i.act,.ml-i:hover{background:#FFF4DC} .ml-none{padding:14px;color:var(--mut)}
.noimg{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#EFEDE8 0 6px,#E6E3DC 6px 12px);color:#8a8a8a;font-size:10px;font-weight:700;letter-spacing:.04em}
.adatlap{background:var(--bg);border-radius:14px;padding:14px;display:grid;grid-template-columns:150px 1fr;gap:16px;min-height:150px}
.al-ures{grid-column:1/-1;color:var(--mut);align-self:center;text-align:center;font-size:14px}
.al-img img,.al-img .noimg{width:150px;height:150px;border-radius:50%;object-fit:cover;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)} .al-img .noimg{font-size:13px}
.al-d small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gr);font-weight:700} .al-d b{font-size:18px;display:block} .al-c{font-weight:700;color:var(--okm)}
.al-d dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px;margin-top:8px} .al-d dt{color:var(--mut)} .al-link{font-size:12px;color:var(--gr);font-weight:600}
.row2{display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr 1.1fr 1fr;gap:12px;margin-bottom:14px} .fld.sm{min-width:0}
.inf{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--gr);color:#fff;font-size:11px;font-weight:700;font-style:normal;cursor:help;position:relative;vertical-align:1px;margin-left:4px;font-family:Georgia,serif}
.inf .tip{display:none;position:absolute;z-index:40;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:280px;background:var(--an);color:#fff;font:400 13px/1.5 Montserrat,sans-serif;padding:10px 12px;border-radius:10px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);text-align:left;letter-spacing:0;text-transform:none}
.inf:hover .tip,.inf:focus .tip,.inf.open .tip{display:block}
.pillbtn.disabled{opacity:.45;cursor:not-allowed}
.mbar{display:none} @media (max-width:1100px){.mbar.show{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--an);color:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0));align-items:center;justify-content:space-between;box-shadow:0 -8px 20px -10px rgba(0,0,0,.5)} .mbar span{font-size:11px;color:var(--st);display:block} .mbar b{font-size:20px;color:var(--ok)} body{padding-bottom:70px}}
.empty-box{padding:30px;text-align:center} .empty-box p{margin:10px 0 18px} .chk{display:flex;gap:8px;align-items:center;font-size:14px;margin:6px 0 14px} .back{display:inline-block;margin-top:14px;color:#fff;border-color:#555;background:transparent}
.phead.sm{padding:40px 0 80px} .g2{font-size:clamp(34px,6vw,84px)} .g3{font-size:clamp(28px,4.4vw,60px)} .crumb{font-size:12px;color:var(--st);margin-bottom:10px} .crumb a{color:#fff}
.mt{margin-top:30px} .dekor .dk{text-decoration:none;color:inherit} .dekor .dk span{display:block;font-size:11.5px;color:var(--mut);margin-top:8px;line-height:1.35} .dekor .dk b{display:block;color:var(--an)}
.dekor .dk .noimg{width:100%;aspect-ratio:1;border-radius:10px}
.kat{padding:30px 0 90px} .kat-g{display:grid;grid-template-columns:270px 1fr;gap:30px;align-items:start}
.fside{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow:auto}
.fs-b{margin-bottom:18px} .fs-h{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--gr);margin-bottom:8px}
.fside input[type=search]{width:100%;border:1px solid #D6D5CF;border-radius:10px;padding:9px 12px;font:inherit;font-size:14px}
.fs-logos{display:grid;grid-template-columns:1fr 1fr;gap:8px} .lg-a{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:6px;height:44px;background:#fff}
.lg-a img{max-width:100%;max-height:30px} .lg-a.on,.lg-t.on{outline:2px solid var(--ok)} .lg-t{display:block;font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:99px;margin-bottom:6px;color:var(--tx)}
.ck{display:flex;gap:8px;align-items:center;font-size:13.5px;padding:3px 0;cursor:pointer} .chips2{display:flex;flex-wrap:wrap;gap:6px}
.ck2 input{display:none} .ck2 span{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:4px 10px;font-size:12.5px;cursor:pointer} .ck2 input:checked+span{background:var(--gr);color:#fff;border-color:var(--gr)}
.fs-note{font-size:11.5px;color:var(--mut);line-height:1.5}
.pc-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px} .pc{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.pc:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(0,0,0,.45)} .pc-img img,.pc-img .noimg{width:100%;aspect-ratio:1;object-fit:cover;display:flex}
.pc-b{padding:10px 12px 14px;display:flex;flex-direction:column;gap:2px} .pc-b small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gr);font-weight:700}
.pc-b b{font-size:14.5px;line-height:1.3} .pc-c{font-size:12.5px;color:var(--okm);font-weight:700} .pc-m{font-size:12px;color:var(--mut)} .pc-p{font-size:14px;font-weight:700;margin-top:4px}
.none{padding:30px;text-align:center;color:var(--mut)}
.prod{padding:30px 0 90px} .prod-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.prod-img img,.prod-img .noimg{width:100%;max-width:560px;aspect-ratio:1;object-fit:cover;border-radius:16px;display:flex;font-size:18px}
.prod-ar{background:var(--an);color:#fff;border-radius:14px;padding:16px 20px;margin-bottom:16px} .prod-ar b{display:block;font-size:30px;color:var(--ok)}
table.adat{width:100%;border-collapse:collapse;font-size:14.5px;margin-bottom:16px} .adat th{text-align:left;color:var(--mut);font-weight:500;padding:8px 10px 8px 0;width:40%;border-bottom:1px solid var(--line)} .adat td{padding:8px 0;border-bottom:1px solid var(--line)}
.prod-desc{font-weight:300;line-height:1.7;margin-bottom:18px}
@media (max-width:1100px){.row1{grid-template-columns:1fr} .row2{grid-template-columns:repeat(3,1fr)} .app-g{grid-template-columns:1fr} .side{position:static}}
@media (max-width:760px){.row2{grid-template-columns:1fr 1fr} .adatlap{grid-template-columns:96px 1fr} .al-img img,.al-img .noimg{width:96px;height:96px}
 .kat-g{grid-template-columns:1fr} .fside{position:static;max-height:none} .pc-g{grid-template-columns:1fr 1fr} .prod-g{grid-template-columns:1fr} .inf .tip{width:230px;left:auto;right:-10px;transform:none}}
[hidden]{display:none!important}
.fld .inf{display:inline-flex;color:#fff;margin:0 0 0 5px;font-size:11px;width:17px;height:17px}
.fld .inf .tip{display:none} .fld .inf:hover .tip,.fld .inf:focus .tip,.fld .inf.open .tip{display:block}
.fld > span:first-child{display:flex;align-items:center;gap:2px}
.mbar .mb-ar{font-size:inherit;display:inline;color:inherit}
.fdet summary{display:none} @media (max-width:760px){.fdet summary{display:block;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gr);padding:4px 0 10px} .fdet summary::after{content:" ▾"}}

/* István 7654: the form row must not break - one-line labels, fields bottom-aligned, equal control height */
.row2{align-items:end}
.row2 .fld > span:first-child{white-space:nowrap;min-height:20px;overflow:visible}
.row2 .fld input,.row2 .fld select{height:44px;box-sizing:border-box;line-height:1.2}
.row2 .fld select{padding-top:0;padding-bottom:0}
.row2{grid-template-columns:1.15fr 1fr 1fr .6fr 1.35fr 1fr}
@media (max-width:1100px){.row2{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.row2{grid-template-columns:1fr 1fr}}

/* István 7657: size limits - red field, reason under it (absolute, so the row stays aligned) */
.row2 .fld{position:relative} .row2{margin-bottom:30px}
.fld.bad input{border-color:#C0392B;background:#FDF1EF;outline-color:#C0392B}
.fld .fmsg{position:absolute;left:2px;top:100%;margin-top:3px;font-size:12px;font-weight:600;color:#C0392B;white-space:nowrap}
.tbl tr.bad td{background:#FDF1EF;color:#8E2A1F}

.fld.bad select{border-color:#C0392B;background:#FDF1EF}
.fld select:disabled{opacity:.6;cursor:not-allowed}

/* István 7667: swatches + grouping in the cut list */
.grp{display:flex;align-items:center;gap:6px;margin-top:22px;flex-wrap:wrap;font-size:12px;color:var(--mut)}
.grp span{margin-right:4px;letter-spacing:.06em}
.grp button{border:1px solid #D6D5CF;background:#fff;border-radius:30px;padding:6px 14px;font:600 12px Montserrat,sans-serif;color:var(--an);cursor:pointer}
.grp button.on{background:var(--an);color:#fff;border-color:var(--an)}
.grp + .tbl{margin-top:10px}
.tbl .tmw{display:flex;align-items:center;gap:10px}
.tsw img,.tsw .noimg{width:30px;height:30px;border-radius:7px;object-fit:cover;display:block;flex:none;box-shadow:0 0 0 1px rgba(28,32,39,.08)}
.tsw .noimg{font-size:7px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tbl tr.gh td{background:#F2F2F0;font-size:13px;padding:10px 8px;border-bottom:1px solid var(--line)}
.tbl tr.gh td .tsw{display:inline-block;vertical-align:middle;margin-right:10px}
.tbl tr.gh em{font-style:normal;color:var(--mut);margin-left:12px;font-size:12px}

/* István 7670: row edit (old-site style: edit row under the row) */
.tbl td.act{white-space:nowrap;text-align:right}
.tbl .edt{border:0;background:none;color:var(--zo,#486B5F);cursor:pointer;padding:4px 6px;vertical-align:middle}
.tbl .edt:hover{color:var(--ok)}
.tbl tr.edtr td{background:#FFF8E8;padding:14px 12px;border-bottom:2px solid var(--ok)}
.edf{display:grid;grid-template-columns:2.2fr 1.2fr 1fr 1fr .6fr 1.2fr 1fr;gap:10px;align-items:end}
.edf .fld.w2{grid-column:auto}
.edf .fld input,.edf .fld select{height:40px;box-sizing:border-box}
.edb{display:flex;align-items:center;gap:14px;margin-top:12px}
.edb .pillbtn{padding:11px 20px;font-size:12px}
.edb .e-cancel{border:0;background:none;text-decoration:underline;color:var(--mut);cursor:pointer;font:inherit}
.edb .e-hint{color:var(--mut);font-size:12px}
@media (max-width:1100px){.edf{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:760px){.edf{grid-template-columns:1fr 1fr} .tbl tr.edtr td{padding:12px 6px}}
.tbl tr.edtr .e-err:empty{display:none} .tbl tr.edtr .e-err{margin:10px 0 0}
/* István 7673: Excel import panel */
.tools .chip{cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.imp{background:#fff;border:2px solid var(--ok);border-radius:16px;padding:18px 20px;margin-bottom:22px}
.imp-h{display:flex;align-items:center;gap:12px} .imp-h b{font-size:16px} .imp-h span{color:var(--mut);font-size:13px}
.imp-x{margin-left:auto;border:0;background:none;font-size:22px;cursor:pointer;color:var(--mut)}
.imp-t{font-size:13px;color:var(--mut);margin:8px 0 12px}
.imp-s{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.imp-map{border-collapse:collapse;font-size:12px;min-width:100%}
.imp-map th{background:#F2F2F0;text-align:left;padding:8px;vertical-align:top;font-weight:700;min-width:130px}
.imp-map th select{margin-top:6px;width:100%;font:inherit;font-weight:500;border:1px solid #D6D5CF;border-radius:8px;padding:5px 6px;background:#fff}
.imp-map td{padding:6px 8px;border-top:1px solid var(--line);white-space:nowrap}
.imp-sum{margin:12px 0 6px;font-size:14px} .imp-sum .okc{color:#2E7D4F} .imp-sum .bdc{color:#C0392B}
.imp-bad{margin-top:6px} .imp-bad td{font-size:13px} .imp-fix{border:1px solid #C0392B;border-radius:8px;padding:6px 8px;font:inherit;width:100%;max-width:260px}
.imp-b{display:flex;gap:14px;align-items:center;margin-top:14px} .imp-b .pillbtn[disabled]{opacity:.45;cursor:not-allowed}
.imp-cancel{border:0;background:none;text-decoration:underline;color:var(--mut);cursor:pointer;font:inherit}

/* István 7677: used materials */
.felh{margin-top:30px;border-top:2px solid var(--line);padding-top:22px}
.felh h3{font-size:13px;letter-spacing:.16em;color:var(--gr,#486B5F);font-weight:800;margin-bottom:14px} .felh h3 span{color:var(--mut)}
.felh-g{display:grid;grid-template-columns:1fr;gap:16px}
.fa{display:grid;grid-template-columns:1fr 230px;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.fa .adatlap{border-radius:0;min-height:0}
.fa .al-img img,.fa .al-img .noimg{width:120px;height:120px}
.fa .adatlap{grid-template-columns:120px 1fr}
.fa-s{list-style:none;margin:0;padding:14px 16px;background:var(--an);color:#fff;display:flex;flex-direction:column;gap:8px;font-size:13px}
.fa-s li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #3A3E46;padding-bottom:6px} .fa-s li:last-child{border:0}
.fa-s span{color:#98A2AD} .fa-s b{text-align:right;font-weight:700}
@media (max-width:760px){.fa{grid-template-columns:1fr} .fa .adatlap{grid-template-columns:84px 1fr} .fa .al-img img,.fa .al-img .noimg{width:84px;height:84px}}

/* István 7680: project name */
.pnev{margin-top:22px;max-width:520px}
.pnev label{display:block;font-size:11px;letter-spacing:.16em;color:var(--st);font-weight:700;margin-bottom:6px}
.pnev input{width:100%;box-sizing:border-box;height:46px;border-radius:10px;border:1px solid #3A3E46;background:#262B33;color:#fff;padding:0 14px;font:inherit;font-size:16px}
.pnev input:focus{outline:2px solid var(--ok);border-color:var(--ok)}
.pnev small{display:block;margin-top:6px;font-size:12px;color:#98A2AD}
.side .pnm{display:block;font-size:14px;font-weight:700;color:#fff;margin:4px 0 2px}
.side .pnm:empty{display:none}
/* István 7683: account widget + account/admin skeleton */
.acct{display:flex;align-items:center;gap:10px;position:relative}
.acct-in{background:#fff;color:var(--an);border-radius:30px;padding:10px 16px;font-size:11px;font-weight:800;letter-spacing:.12em;text-decoration:none}
.acct-reg{color:#fff;font-size:11px;text-decoration:none;opacity:.8}
.acct-u{display:flex;align-items:center;gap:8px;background:none;border:1px solid #3A3E46;color:#fff;border-radius:30px;padding:7px 14px 7px 10px;font:700 12px Montserrat,sans-serif;cursor:pointer}
.acct-m{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.25);min-width:210px;padding:8px;z-index:50}
.acct-m a{display:block;padding:10px 12px;border-radius:8px;color:var(--an);text-decoration:none;font-size:14px} .acct-m a:hover{background:#F2F2F0}
.acct-m .acct-out{border-top:1px solid var(--line);margin-top:4px;color:#8E2A1F}
.acc{padding:30px 0 70px}
.proto-note{background:#FFF8E8;border:1px solid var(--ok);border-radius:12px;padding:12px 16px;font-size:13px;margin-bottom:22px}
.acc-box{display:grid;grid-template-columns:minmax(0,440px) minmax(0,300px);gap:28px}
.acc-f{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}
.acc-f .fld input{height:44px;box-sizing:border-box} .acc-l{font-size:13px} .acc-l .dis{opacity:.5;pointer-events:none}
.chk{font-size:13px;display:flex;gap:8px;align-items:flex-start}
.acc-demo{background:var(--an);color:#fff;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px;align-self:start} .acc-demo p{color:#98A2AD;font-size:13px}
.acc-g{display:grid;grid-template-columns:230px 1fr;gap:24px}
.acc-nav{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:16px;padding:12px;align-self:start}
.acc-nav a{padding:11px 14px;border-radius:10px;color:var(--an);text-decoration:none;font-weight:600;font-size:14px} .acc-nav a.on{background:var(--an);color:#fff} .acc-nav a:hover:not(.on){background:#F2F2F0}
.acc-c{background:#fff;border-radius:16px;padding:24px;min-height:320px} .acc-e h2{font-size:22px;margin-bottom:12px} .acc-e p{color:#3A3F47} .acc-n{font-size:12px;color:var(--mut);margin-top:12px}
.acc-dl{display:grid;grid-template-columns:120px 1fr;gap:8px 16px} .acc-dl dt{color:var(--mut)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px} .kpi{background:#F2F2F0;border-radius:12px;padding:16px} .kpi span{display:block;font-size:12px;color:var(--mut)} .kpi b{font-size:28px}
.deny{text-align:center;padding:40px;background:#fff;border-radius:16px;max-width:520px;margin:0 auto} .deny .pillbtn{margin-top:14px;display:inline-block}
@media (max-width:760px){.acct-reg,.acct-u span{display:none} .acct-in{padding:8px 12px} .acc-box,.acc-g{grid-template-columns:1fr} .kpis{grid-template-columns:1fr 1fr}}
/* István 7686: development view switch (removed at launch) */
.devsw{display:flex;align-items:center;gap:2px;border:1px dashed var(--ok);border-radius:30px;padding:3px 3px 3px 10px}
.devsw span{font-size:9px;letter-spacing:.16em;color:var(--ok);font-weight:800;margin-right:4px}
.devsw button{border:0;background:none;color:#fff;font:700 11px Montserrat,sans-serif;padding:6px 10px;border-radius:20px;cursor:pointer}
.devsw button.on{background:var(--ok);color:var(--an)}
a.acct-u{text-decoration:none}
@media (max-width:760px){.devsw span{display:none} .devsw button{padding:5px 7px}}
.acct-u span{white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.acct-m .acct-mn{display:block;padding:8px 12px 10px;font-size:13px;border-bottom:1px solid var(--line);margin-bottom:4px}
@media (max-width:1680px){.devsw span,.srch span{display:none} .hr{gap:14px}}
@media (max-width:1560px){.acct-u span{display:none} .acct-u{padding:7px 9px} .pills a{padding:11px 15px}}
@media (max-width:1280px){.hr .pills{display:none}}
/* István 7694: parent menu items are links; active item okker; hamburger 540° -> X, okker */
.drawer summary{display:flex;align-items:center;justify-content:space-between}
.drawer summary a.dd-p{display:inline;padding:0;border:0}
.drawer summary a.dd-p.on,.drawer details a.on{color:var(--ok)}
.drawer summary::after{padding:0 4px 0 16px}
.burger .bl{display:flex;flex-direction:column;gap:5px;transition:transform .6s cubic-bezier(.6,.05,.3,1)}
.burger i{transition:transform .6s cubic-bezier(.6,.05,.3,1),opacity .3s,background .3s}
.burger span{transition:color .3s}
.navtog:checked+.burger .bl{transform:rotate(540deg)}
.navtog:checked+.burger i{background:var(--ok)}
.navtog:checked+.burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navtog:checked+.burger i:nth-child(2){opacity:0}
.navtog:checked+.burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.navtog:checked+.burger span{color:var(--ok)}
@media (prefers-reduced-motion:reduce){.burger .bl,.burger i,.burger span{transition:none} .navtog:checked+.burger .bl{transform:none}}
/* István 7605/7761: "Minden egy helyen" image cards, staggered entrance */
.hls-in{grid-template-columns:340px 1fr;gap:36px}
.ktg{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.kt{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(28,32,39,.10)}
.kt-img{position:relative;aspect-ratio:4/3;overflow:hidden} .kt-img img{width:100%;height:100%;object-fit:cover;display:block}
.kt-img small{position:absolute;right:6px;bottom:5px;font-size:9px;font-weight:500;color:#fff;background:rgba(28,32,39,.55);padding:2px 6px;border-radius:4px}
.kt figcaption{padding:16px 18px 20px} .kt b{display:block;font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--ok)}
.kt figcaption span{display:block;margin-top:6px;font-size:14px;line-height:1.5;color:#2B2F36}
html.js [data-reveal]>*{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*150ms)}
html.js [data-reveal].in>*{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js [data-reveal]>*{opacity:1;transform:none;transition:none}}
/* István 9410: bútortervező cards, a quicker stagger than the 150 ms of the home page grids (up to 17 cards) */
html.js #bt-cards[data-reveal]>*{transition-duration:.55s;transition-delay:calc(var(--i,0)*50ms)} html.js #bt-cards[data-reveal].in>.off{opacity:.45}
@media (prefers-reduced-motion:reduce){html.js #bt-cards[data-reveal]>*{transition:none}}
@media (max-width:1100px){.hls-in{grid-template-columns:1fr} .ktg{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ktg{grid-template-columns:1fr}}
.hls-in{grid-template-columns:1fr;gap:30px} .hls .giant2 span{white-space:nowrap}
/* István 7776: checkout, functionally 1:1 with the old lapszabo.hu */
.co-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;margin-top:10px}
.co-h{font-size:22px;font-weight:800;letter-spacing:.02em;margin:26px 0 8px} .co-h::after{content:"";display:block;width:46px;height:3px;background:var(--ok);margin-top:10px}
.co-l .co-h:first-child,.co-r .co-h{margin-top:0}
.co-box{background:#fff;border-radius:16px;padding:20px;margin-bottom:14px}
.co-box.form-g,.co-l .form-g{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-l .fld input,.co-l .fld textarea{height:44px;box-sizing:border-box} .co-l .fld textarea{height:auto;min-height:80px;width:100%;border:1px solid #D6D5CF;border-radius:10px;padding:10px 12px;font:inherit;background:#FAFAF8}
.co-l .fld.bad input{border-color:#C0392B;background:#FDF1EF}
.rad{display:flex;gap:12px;align-items:flex-start;padding:10px 4px;cursor:pointer} .rad b{display:block;font-size:14px} .rad small{display:block;color:var(--mut);font-size:13px;margin-top:3px;line-height:1.5}
.rad input{margin-top:3px;accent-color:var(--ok)} .rad.dis{opacity:.5;cursor:not-allowed}
.co-l > .chk,.co-box .chk{margin:10px 4px}
.co-sum{background:#fff;border-radius:16px;padding:22px;position:sticky;top:100px}
.co-pid{font-size:11px;letter-spacing:.14em;color:var(--mut);margin-bottom:10px} .co-pid b{color:var(--ok)} .co-pid .pnm{display:inline;color:var(--an);letter-spacing:0;font-weight:700;margin-left:6px}
.co-t{width:100%;border-collapse:collapse;font-size:14px} .co-t th{text-align:left;font-size:11px;letter-spacing:.12em;color:var(--mut);padding:8px 0;border-bottom:1px solid var(--line)} .co-t th:last-child,.co-t td:last-child{text-align:right;white-space:nowrap}
.co-t td{padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top} .co-t td b{display:block;font-weight:600} .co-t td small{color:var(--mut);font-size:12px} .co-t td:last-child{font-weight:800}
.co-tot div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px} .co-tot span{color:var(--mut);font-weight:700;font-size:12px;letter-spacing:.06em}
.co-tot b{text-align:right} .co-tot .big b{font-size:20px;color:var(--an)} #co-szall{font-weight:500;color:var(--mut);font-size:13px}
.pay{border-top:1px solid var(--line);margin-top:6px} .co-sum .chk{margin:8px 0} .co-sum .pillbtn{margin-top:10px}
@media (max-width:1000px){.co-g{grid-template-columns:1fr} .co-sum{position:static}}
@media (max-width:560px){.co-box.form-g,.co-l .form-g{grid-template-columns:1fr} .co-l .fld.w2{grid-column:auto}}
.co-sum .back{color:var(--an);border-color:#CFCEC8;background:#fff}
.co-sum .chk{display:block} .co-sum .chk input{margin-right:8px;vertical-align:-2px} .co-sum .chk a{color:var(--ok);font-weight:700;text-decoration:none}
/* István 7779: order confirmation step */
.veg-dl{display:block;margin:0} .veg-dl div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px} .veg-dl div:last-child{border:0}
.veg-dl dt{font-weight:700;color:var(--an)} .veg-dl dd{margin:0;line-height:1.55} .veg-note{display:block;margin-top:8px}
#veg .co-sum .back{margin-top:12px}
@media (max-width:560px){.veg-dl div{grid-template-columns:1fr;gap:2px}}
/* István 7610/7796: two-way entry "SZABÁS / VAGY TERVEZÉS?" (B3) */
.b3{background:var(--an);color:#fff;padding:70px 0 90px}
.b3 .q{margin:0;font-size:13px;font-weight:700;letter-spacing:.2em;color:#98A2AD}
/* István 10551 (2026-10-04): the title drops in letter by letter (src/betu.js splits it) -- same as the furdo.woodframe.hu hero */
/* István 10566: the big "SZABÁS / VAGY TERVEZÉS?" (.b3 .h1) too, same parameters */
.b3 .q .w,.b3 .h1 .w{display:inline-block;white-space:nowrap}
.b3 .q.betu .ch,.b3 .h1.betu .ch{display:inline-block;animation:betuBe .7s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i) * 25ms + .15s)}
@keyframes betuBe{from{transform:translateY(110%) rotate(8deg);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.b3 .q.betu .ch,.b3 .h1.betu .ch{animation:none}}
.b3 .h1{font-weight:800;font-size:clamp(44px,6.4vw,92px);line-height:.92;text-transform:uppercase;margin:10px 0 40px;color:#fff}
.b3 .h1 span.h1b{display:block;color:var(--ok)}   /* István 10566: only the second-line span (was ".b3 .h1 span": it would also hit the letter spans of betu.js) */
.b3g{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.b3c{position:relative;border-radius:18px;overflow:hidden;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;text-decoration:none;color:#fff;border:2px solid #3A3F47;transition:border-color .3s,box-shadow .3s}
.b3c:hover,.b3c:focus-visible{border-color:var(--ok);box-shadow:0 0 0 4px rgba(196,154,62,.25)}
.b3c .bg{position:absolute;inset:0} .b3c .bg>img{width:100%;height:100%;object-fit:cover}
.b3c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,32,39,.15) 15%,rgba(28,32,39,.95) 68%);pointer-events:none}
.b3c>*:not(.bg){position:relative;z-index:1}
.b3c h2{font-size:40px;font-weight:800;line-height:1;text-transform:uppercase} .b3c.l h2 span{color:var(--ok)} .b3c.t h2 span{color:#8FB5A7}
.b3c p{font-size:16px;line-height:1.5;margin:10px 0 18px;max-width:460px;color:#E6E8EA}
/* István 10571/10576 (2026-10-04): a lépéssor V1 -- vonallal összekötött, számozott körök, alattuk a felirat; az 1. kitöltött, a vonal
   félig színes. Korábban pill-ek voltak: ".b3c ol{...flex-wrap:wrap;gap:10px} .b3c li{...background:rgba(255,255,255,.1);border-radius:30px;padding:7px 12px}
   .b3c li b{color:var(--ok);margin-right:6px} .b3c.t li b{color:#8FB5A7}". A jelölés (ol > li > b) változatlan. */
.b3c.l{--ac:var(--ok)} .b3c.t{--ac:#8FB5A7}
.b3c ol{list-style:none;display:flex;flex-wrap:nowrap;gap:0;margin:4px 0 26px;padding:0;position:relative}
.b3c li{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:relative;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;color:#E6E8EA}
.b3c li:not(:last-child)::after{content:"";position:absolute;top:17px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:linear-gradient(90deg,var(--ac) 0 60%,rgba(255,255,255,.25) 60%)}
.b3c li b{width:36px;height:36px;border-radius:50%;border:2px solid var(--ac);color:var(--ac);display:flex;align-items:center;justify-content:center;font-size:15px;background:rgba(28,32,39,.6)}
.b3c li:first-child b{background:var(--ac);color:#1C2027}
.b3c .cta{align-self:flex-start;padding:15px 26px;border-radius:40px;font-size:13px;font-weight:800;letter-spacing:.1em;background:var(--ok);color:var(--an)} .b3c.t .cta{background:var(--gr,#486B5F);color:#fff}
.soon{font-size:10px;font-weight:800;letter-spacing:.14em;font-style:normal;background:#fff;color:var(--an);border-radius:20px;padding:4px 9px;margin-left:6px}
/* sketch/render split (István 7794) */
.split{position:relative;width:100%;height:100%;overflow:hidden;--p:50%} .split img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.split .sr{clip-path:inset(0 0 0 var(--p))} .split .sl{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:var(--ok);box-shadow:0 0 0 1px rgba(255,255,255,.35)}
@property --p{syntax:"<percentage>";inherits:true;initial-value:50%}
.split{animation:swp 9s ease-in-out infinite alternate} @keyframes swp{0%{--p:38%}100%{--p:62%}}
@media (prefers-reduced-motion:reduce){.split{animation:none}}
/* side cards: the other function stays visible (István 7610) */
.sidecol{position:sticky;top:100px;align-self:start} .sidecol .side{position:static}
.xs{margin-top:18px;background:#F2F2F0;border:2px solid var(--gr,#486B5F);border-radius:16px;overflow:hidden;color:var(--an)}
.xs-img{aspect-ratio:16/9;position:relative;overflow:hidden} .xs-img>img{width:100%;height:100%;object-fit:cover;display:block}
.xs .t{padding:16px 20px 20px} .xs .k{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--gr,#486B5F)} .xs h3{font-size:20px;font-weight:800;line-height:1.15;margin:6px 0 8px} .xs p{font-size:14px;line-height:1.5;color:#3A3F47}
.xs a{display:inline-block;margin-top:12px;background:var(--gr,#486B5F);color:#fff;border-radius:30px;padding:11px 18px;font-size:12px;font-weight:800;letter-spacing:.1em;text-decoration:none}
.xs.l{border-color:var(--ok);max-width:460px;margin:0 auto} .xs.l .k{color:#9C7A2E} .xs.l a{background:var(--ok);color:var(--an)}
.xs-sec{padding:0 0 90px}
@media (max-width:1100px){.sidecol{position:static}}
@media (max-width:760px){.b3g{grid-template-columns:1fr} .b3c{min-height:400px;padding:24px} .b3c h2{font-size:30px}}

/* István 7828: line-reveal headings */
.lr-g{display:block}
.lrw{position:relative;display:inline-block;max-width:100%}
.lrc{display:inline-block;max-width:100%}
.lrb{position:absolute;left:-.14em;top:.06em;bottom:.06em;width:max(3px,.06em);background:var(--ok);opacity:0;transform:scaleY(0);transform-origin:50% 50%;pointer-events:none}
html.js [data-lr] .lrc{clip-path:inset(-30% 100% -30% 0);transform:translateX(-.35em)}
html.js [data-lr].in .lrc{animation:lrTxt .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0ms) + .28s)}
html.js [data-lr].in .lrb{animation:lrBar 1.35s cubic-bezier(.6,.05,.3,1) both;animation-delay:var(--d,0ms)}
@keyframes lrTxt{0%{clip-path:inset(-30% 100% -30% 0);transform:translateX(-.35em)}100%{clip-path:inset(-30% -8% -30% -8%);transform:none}}
@keyframes lrBar{0%{opacity:1;transform:scaleY(0)}22%{opacity:1;transform:scaleY(1)}62%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(.15)}}
@media (prefers-reduced-motion:reduce){html.js [data-lr] .lrc{clip-path:none;transform:none;animation:none} .lrb{display:none}}
[data-lr] span.lr-g{display:block;color:inherit}
[data-lr] span.lrw,[data-lr] span.lrc{display:inline-block;color:inherit;white-space:inherit}
/* Gloria 19:49: the tile images must read clearly - image in the upper part at full brightness, dark band only under the text */
.b3c{min-height:540px;background:var(--an)}
.b3c .bg{bottom:auto;height:58%}
/* István 10576: a V1 lépéssor (a margókkal) gépen 33 px-szel magasabb a pill-sornál (mérve: 60+4+26 vs 35+22) -> a kártya ennyivel
   nő (540 -> 573), a KÉP magassága marad a régi (a 2 px-es keret miatt 536 x 58% = 311 px), így a cím ugyanott van a kép aljához képest.
   Telefonon (<=760 px) a kártya nem nő; ott a lépéssor 5 px-szel alacsonyabb, a +8 px margót az alsó margó 23 px-e egyenlíti ki. */
@media (min-width:761px){.b3c{min-height:573px} .b3c .bg{height:calc(536px * .58)}}
@media (max-width:760px){.b3c ol{margin-bottom:23px}}
.b3c .bg>img{object-position:50% 55%}
.b3c .bg .split img{object-position:50% 72%}
.b3c::after{background:linear-gradient(180deg,rgba(28,32,39,0) 0%,rgba(28,32,39,0) 40%,rgba(28,32,39,.85) 56%,rgba(28,32,39,1) 60%)}
@media (max-width:760px){.b3c{min-height:520px} .b3c .bg{height:50%} .b3c::after{background:linear-gradient(180deg,rgba(28,32,39,0) 0%,rgba(28,32,39,0) 34%,rgba(28,32,39,.85) 48%,rgba(28,32,39,1) 52%)}}

/* István 7962/7964: a one-word heading never breaks into two lines (BÚTOR|LAPOK, SZOLGÁL|TATÁSAINK, manufacturer
   titles). Two colours stay inside the line. Size follows the container: --n = characters, --mx = the old maximum. */
.cq{container-type:inline-size}
.giant.one,.giant2.one,.phead .giant.one{white-space:nowrap;font-size:min(var(--mx), calc(100cqi / (var(--n) * .88)))}
.one span:not(.lr-g):not(.lrw):not(.lrc){display:inline}
.one .lrw{max-width:none}
/* István 7970: the cut-board price label and the "whole boards" note under the estimate */
.szt{display:block;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--mut,#6b6f76);text-transform:none}
.side .pnote.egesz{color:#fff;font-weight:500;font-size:13px;line-height:1.45;opacity:1}

/* István 7973: the estimate + the furniture-designer banner follow the scroll on the cut-list page. The column sticks
   under the header; when it would be taller than the screen the banner gets compact (text only), so the price always
   stays visible on top. Below 1100 px the column drops under the list: there the price lives in the fixed bottom bar. */
.sidecol{top:92px}
@media (min-width:1101px) and (max-height:1080px){.sidecol .xs-img{display:none}}
@media (min-width:1101px) and (max-height:820px){.sidecol .pnote:not(.egesz):not(#tovabb-hint){display:none} .sidecol .xs p{display:none}}
@media (min-width:1101px) and (max-height:700px){.sidecol .xs{display:none}}
@media (max-width:1100px){body:has(.mbar.show){padding-bottom:72px}}

/* István 7982: partial-code candidates in the import */
.imp-cands{display:grid;gap:6px;max-height:260px;overflow:auto}
.imp-cands label{display:flex;gap:8px;align-items:center;cursor:pointer;font-size:13px;line-height:1.3}
.imp-cands .tsw img,.imp-cands .tsw .noimg{width:32px;height:32px;border-radius:6px;object-fit:cover;display:block;font-size:8px}
.imp-cands small{display:block;color:var(--mut)}
.imp-auto{margin-top:10px} .imp-auto td{font-size:13px}

/* István 7985: help/blank rows are visibly out; any row can be left out with "Kihagyom" */
.imp-s{max-height:380px;overflow:auto}
.imp-map td.imp-ctl,.imp-map th.imp-ctl{min-width:0;width:1%;white-space:nowrap;background:#fff;position:sticky;left:0;z-index:1}
.imp-map tr.imp-skip td:not(.imp-ctl),.imp-map tr.imp-excl td:not(.imp-ctl){color:#A3A7AD;text-decoration:line-through}
.imp-map tr.imp-skip td.imp-ctl small{color:var(--mut);font-style:italic}
.imp-map tr.imp-err td:not(.imp-ctl){color:#C0392B}
.imp-del{border:1px solid #D6D5CF;background:#fff;border-radius:20px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--an);white-space:nowrap}
.imp-del:hover{border-color:#C0392B;color:#C0392B} .imp-del.on{border-color:var(--gr);color:var(--gr)}

/* István 7988: one material choice for every row with the same typed code */
.imp-grp{border:2px solid var(--ok);border-radius:12px;padding:12px 14px;margin:10px 0;background:#FBF7EE}
.imp-grp h4{font-size:14px;margin:0 0 8px} .imp-grp h4 small{font-weight:500;color:var(--mut)}
.ig{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:8px 0;border-top:1px solid #EADFC6;align-items:start}
.ig:first-of-type{border-top:0} .ig-k small{display:block;color:var(--mut);font-size:12px}
.ig-c input.imp-gfix{width:100%;max-width:420px;padding:7px 10px;border:1px solid #D6D5CF;border-radius:8px;font:inherit}
.imp-auto input.imp-fix{border:1px solid #D6D5CF!important;background:#fff} .ig-c .imp-cands input{width:auto;margin:0}
.ig-ok{color:#2E7D4F;font-weight:600;font-size:13px} .imp-gclr{border:0;background:none;color:var(--gr);text-decoration:underline;cursor:pointer;font:inherit;font-size:12px}
.ig-ref{display:block;font-size:12px;color:var(--mut);margin-bottom:4px} input.imp-fix.sm{padding:4px 8px;font-size:12px;max-width:220px}
@media (max-width:760px){.ig{grid-template-columns:1fr}}

/* István 8099 + 8102: two header states, switch widths MEASURED (not estimated):
   A) where it fits: MENÜ + two-line company label left, coloured logo + ".HU - AZ ONLINE LAPSZABÁSZAT" in the centre;
   B) where the centre would collide: the company label disappears, the logo (+ continuation if it fits) sits next to MENÜ. */
.lg{display:flex;align-items:center;min-width:0}
.tagl{display:flex;align-items:baseline;white-space:nowrap;color:#fff;line-height:1;margin-left:1px}
.tagl .hu{font-size:21px;font-weight:800;letter-spacing:.01em;position:relative;top:0}
.tagl .tl2{font-size:12px;font-weight:700;letter-spacing:.14em;opacity:.9;margin-left:10px}
@media (min-width:761px){.hd-in{grid-template-columns:auto auto minmax(0,1fr)} .lg{justify-self:start;margin-left:18px}}
/* István 8187: the centred variant (1080-1280) is gone - logo + .HU next to MENÜ at every width (this line used to centre it) */
@media (max-width:819px){.tagl{display:none}}   /* measured: below 820 px the continuation would touch the right group */
/* István 8016: quote request + registration (preview) */
.aj-g{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.aj-l{background:#fff;border-radius:16px;padding:26px;border:1px solid var(--line)}
.aj-lead{font-size:18px;line-height:1.55;font-weight:600;color:var(--an);margin:0 0 14px}
.aj-pont{margin:0 0 22px;padding:0;list-style:none} .aj-pont li{position:relative;padding:6px 0 6px 26px;line-height:1.5}
.aj-pont li::before{content:"";position:absolute;left:0;top:13px;width:14px;height:3px;background:var(--ok);border-radius:2px}
.aj-drop{display:block;border:2px dashed #CFCBBF;border-radius:12px;padding:22px;text-align:center;cursor:pointer;background:#FAF9F6}
.aj-drop.on{border-color:var(--ok);background:#FBF7EE} .aj-drop b{display:block;color:var(--an)} .aj-drop small{color:var(--mut)}
.aj-files{list-style:none;margin:10px 0 0;padding:0} .aj-files li{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.aj-files li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .aj-files small{color:var(--mut)}
.aj-files button{border:0;background:none;font-size:18px;cursor:pointer;color:var(--mut)}
.aj-kesz{background:#fff;border:2px solid var(--gr);border-radius:16px;padding:26px} .aj-kesz h2{color:var(--gr);font-size:24px;margin:0 0 10px}
.aj-kesz.sm{padding:14px 16px;margin-top:12px;border-width:1px}
.aj-r .side{position:sticky;top:100px} .aj-side{color:#C9CDD3;font-size:14px;line-height:1.55;margin:8px 0 16px} .aj-side.sm{font-size:13px;margin:14px 0 0}
.form-g.one-col{grid-template-columns:1fr}
@media (max-width:1100px){.aj-g{grid-template-columns:1fr} .aj-r .side{position:static}}
.fld textarea{width:100%;box-sizing:border-box;border:1px solid #D6D5CF;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5;background:#FAFAF8;resize:vertical}
.fld textarea:focus{outline:2px solid var(--ok);border-color:var(--ok)}
@media (max-width:760px){.aj-form .form-g{grid-template-columns:1fr}}

/* István 8030: the filter column is never a scroll box of its own - it shows in full and scrolls with the page */
.fside{position:static;max-height:none;overflow:visible}
/* Gloria 2026-10-01: on a phone the material card + "Felhasznált anyagok" card stack, nothing is cut off (size, price) */
@media (max-width:760px){
 .adatlap,.fa .adatlap{grid-template-columns:1fr;gap:10px}
 .al-img{justify-self:start}
 .al-d{min-width:0}
 .al-d dl{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}
 .al-d dd,.al-d dt{min-width:0;overflow-wrap:anywhere}
 .fa-s li{min-width:0} .fa-s b{min-width:0;overflow-wrap:anywhere}
 .app-main{min-width:0;padding:18px}
}

/* Gloria 2026-10-01: product page title - readable size, normal case, at most 2-3 lines (long names wrapped to 5-6 lines
   because .phead .giant overrode .g3). Measured on the 10 longest names at 1440 and 390 px. */
.phead h1.ptl{font-weight:800;font-size:clamp(22px,2.8vw,40px);line-height:1.15;letter-spacing:0;text-transform:none;margin:10px 0 12px;max-width:24em;text-wrap:balance}

/* István 8212: product gallery (decor + larger manufacturer images) and surface block */
.gal-main{display:block;cursor:zoom-in;max-width:560px}
.gal-th{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;max-width:560px}
.gal-th button{border:2px solid transparent;border-radius:10px;padding:0;background:none;cursor:pointer;width:96px;height:64px;overflow:hidden}
.gal-th button.on{border-color:var(--ok)} .gal-th img{width:100%;height:100%;object-fit:cover;display:block}
.gal-src{font-size:12px;color:var(--mut);margin:8px 0 0}
.lb{position:fixed;inset:0;background:rgba(20,22,26,.88);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;cursor:zoom-out}
.lb.on{display:flex} .lb img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lb button{position:absolute;top:14px;right:18px;border:0;background:none;color:#fff;font-size:34px;cursor:pointer}
.felulet{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;background:#fff;border-radius:14px;padding:14px;margin:18px 0}
.felulet img{width:96px;height:96px;object-fit:cover;border-radius:10px}
.felulet.nokep{grid-template-columns:1fr} .felulet b{display:block;font-size:14px} .felulet p{margin:4px 0 0;font-size:14px;line-height:1.5;color:#2B2F36}
.felulet small{display:block;margin-top:6px;font-size:11px;color:var(--mut)}

/* István 8246: bútortervező (preview) */
.bt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.bt-tab{border:1px solid #CFCEC8;background:#fff;border-radius:999px;padding:9px 16px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;color:var(--an)}
.bt-tab.on{background:var(--an);color:#fff;border-color:var(--an)} .bt-tab small{opacity:.6;font-weight:600}
.bt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.bt-card{background:#fff;border:2px solid transparent;border-radius:14px;padding:10px;text-align:left;font:inherit;cursor:pointer;box-shadow:0 6px 18px rgba(28,32,39,.06)}
.bt-card img{width:100%;aspect-ratio:1;object-fit:contain;display:block;margin-bottom:8px;border-radius:8px} .bt-card img[src*="x640."]{aspect-ratio:3/4}   /* István 9419: the ÁLLÓ images are 3:4 */
.bt-card b{display:block;font-size:13px} .bt-card small{display:block;color:var(--mut);font-size:11px;margin-top:3px}
.bt-card.on{border-color:var(--ok)} .bt-card.off{opacity:.45;cursor:default}
.bt-conf{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 26px rgba(28,32,39,.08)}
.bt-g{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}
.bt-big{width:100%;max-width:340px;aspect-ratio:1;object-fit:contain;background:#FAFAF8;border-radius:12px} .bt-big[src*="x640."]{aspect-ratio:3/4}
.bt-f{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0} .bt-f2{display:grid;gap:10px}
.bt-f label,.bt-f2 label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--mut)}
.bt-f input,.bt-f2 input,.bt-f2 select{height:42px;border:1px solid #D6D5CF;border-radius:10px;padding:0 12px;font:inherit;font-size:14px;color:var(--an);background:#FAFAF8}
.bt-t{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:8px} .bt-t th,.bt-t td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left}
.bt-t th{font-size:11px;letter-spacing:.08em;color:var(--mut)} .bt-t .n{text-align:right;white-space:nowrap} .bt-t tfoot td{border:0;font-size:15px}
.bt-v{margin:0 0 6px;padding-left:18px;font-size:13px;line-height:1.7}
@media (max-width:900px){.bt-g{grid-template-columns:1fr} .bt-big{max-width:220px}}
.bt-f input,.bt-f2 input,.bt-f2 select{width:100%;box-sizing:border-box;min-width:0}
.bt-l{min-width:0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* István 8263: Kapcsolat */
.kap-c{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}
.kap-i{background:#FAFAF8;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.kap-big{display:block;font-size:20px;font-weight:800;color:var(--an);text-decoration:none;margin-top:4px}
.kap-p{font-size:15px;line-height:1.6;margin:0 0 12px}
.kap-map img{width:100%;height:auto;border-radius:14px;display:block;border:1px solid var(--line)}
.kap-links{font-size:13px;margin:8px 0 0} .kap-links a{color:var(--gr);font-weight:700;text-decoration:none}
.kap-dl{display:grid;grid-template-columns:170px 1fr;gap:8px 14px;font-size:14px;margin:0} .kap-dl dt{color:var(--mut);font-weight:700} .kap-dl dd{margin:0}
.kap-form{background:#fff;color:var(--an);border:1px solid var(--line);border-radius:16px;padding:22px} .kap-form .fld{margin-bottom:10px} .kap-form .fld textarea{width:100%;box-sizing:border-box}
.kap-h{margin-top:0} .kap-aj{background:var(--an);border-radius:14px;padding:18px;margin-top:18px;color:#fff}
@media (max-width:640px){.kap-c{grid-template-columns:1fr} .kap-dl{grid-template-columns:1fr} .kap-dl dt{margin-top:6px}}
.kap-form .chk{display:block;margin:8px 0 12px;line-height:1.45} .kap-form .chk input{margin-right:8px;vertical-align:-2px} .kap-form .chk a{color:var(--gr);font-weight:700;text-decoration:none}
/* István 8269: bútortervező colour picker (carousel + name ring, after Anton's fürdő calculator) and the coloured front view */
.bt-vis{position:relative;background:#FAFAF8;border-radius:14px;padding:14px 14px 8px}
.bt-fv svg{display:block;width:100%;height:auto;max-height:340px}
.bt-capr{display:flex;gap:10px;align-items:center;margin-top:6px} .bt-mini{flex:0 0 56px;width:56px;height:56px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px}
.bt-cap{font-size:11px;color:var(--mut);margin:0;line-height:1.4}
.sz-p{background:#F6F5F2;border-radius:16px;padding:14px 16px 12px;margin-bottom:22px;min-width:0}
.sz-tg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sz-t{display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:2px solid transparent;border-radius:12px;padding:8px 10px;font:inherit;cursor:pointer;color:var(--an);min-width:0}
.sz-t.on{border-color:var(--ok)} .sz-t i{flex:0 0 34px;height:34px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.sz-t span{display:flex;flex-direction:column;min-width:0} .sz-t small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:700}
.sz-t b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* István 9449: "A front ugyanaz, mint a korpusz" */
.sz-t.off{opacity:.45;filter:grayscale(1);cursor:default} .sz-egy{display:flex;align-items:center;gap:8px;margin:10px 2px 2px;font-size:13px;font-weight:600;color:var(--an);cursor:pointer} .sz-egy input{width:18px;height:18px;accent-color:var(--ok);margin:0}
.sz-f{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 4px}
.sz-g{display:flex;flex-wrap:wrap;gap:6px}
.sz-gb{border:1px solid #CFCEC8;background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--an)}
.sz-gb.on{background:var(--an);border-color:var(--an);color:#fff} .sz-gb small{opacity:.6;font-weight:600}
.sz-f select,.sz-f input{height:36px;border:1px solid #D6D5CF;border-radius:999px;padding:0 14px;font:inherit;font-size:13px;background:#fff;color:var(--an);min-width:0}
.sz-f input{flex:1 1 180px}
.sz-kh{position:relative;height:clamp(170px,16vw,220px);margin-top:6px;overflow:hidden;touch-action:pan-y;user-select:none}
.sz-pal{position:absolute;inset:0}
.sz-e{position:absolute;left:50%;top:6%;width:clamp(130px,13vw,180px);aspect-ratio:1;margin-left:calc(clamp(130px,13vw,180px)/-2);padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;
  box-shadow:0 12px 26px rgba(28,32,39,.18);transition:transform .7s cubic-bezier(.6,0,.2,1),filter .7s,opacity .55s;will-change:transform}
.sz-e img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.sz-ny{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid rgba(28,32,39,.2);background:rgba(255,255,255,.9);
  color:var(--an);font:400 22px/1 Montserrat,sans-serif;cursor:pointer}
.sz-ny:hover{background:var(--an);color:#fff} .sz-ny.bal{left:4px} .sz-ny.jobb{right:4px}
.sz-ures{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:14px;color:var(--mut)}
.sz-ures[hidden]{display:none}
.sz-gy{max-width:600px;margin:-20px auto 0;overflow:hidden}
.sz-gy svg{display:block;width:100%;height:auto}
.sz-gy .forgo{transition:transform .7s cubic-bezier(.6,0,.2,1);transform-box:view-box;transform-origin:380px 330px}
.sz-gy text{font:700 15px Montserrat,sans-serif;fill:var(--an);transition:opacity .45s,fill .45s}
.sz-gy text.akt{fill:var(--okm)}
.sz-gy .alcim{font:600 12px Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;fill:var(--mut)}
.sz-gy .kor{fill:none;stroke:rgba(28,32,39,.14);stroke-dasharray:3 5}
.sz-info{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.sz-info .sz-br{font-size:11px;letter-spacing:.1em;color:var(--mut);font-weight:700;text-transform:uppercase} .sz-info b{grid-column:1;font-size:15px}
.sz-info .sz-tag{grid-column:1;font-size:12px;color:var(--mut)} .sz-info .sz-db{grid-column:2;grid-row:1 / span 3;align-self:center;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--mut);font-variant-numeric:tabular-nums}
@media (max-width:600px){.sz-gy svg{width:170%;margin-left:-35%} .sz-kh{height:170px} .sz-e{width:120px;margin-left:-60px} .sz-tg{grid-template-columns:1fr}}
.bt-r{min-width:0} @media (max-width:900px){.bt-g{grid-template-columns:minmax(0,1fr)}}
/* ÁSZF / Adatkezelés draft pages (István 8255) */
.jogi{background:#fff;border-radius:18px;padding:28px 32px;max-width:900px;margin:0 auto;box-shadow:0 10px 26px rgba(28,32,39,.06);font-size:15px;line-height:1.65;color:var(--tx);overflow-wrap:anywhere}
.jogi-tv{background:#FDECC8;color:#7a5200;border-radius:10px;padding:10px 14px;font-weight:700;font-size:13px;letter-spacing:.02em;margin:0 0 18px}
.jogi h2{font-size:20px;margin:30px 0 10px;padding-top:12px;border-top:1px solid var(--line);color:var(--an)} .jogi h3{font-size:16px;margin:20px 0 6px;color:var(--an)}
.jogi p{margin:6px 0 10px} .jogi p.ind{margin:2px 0 2px 18px} .jogi ul{margin:4px 0 12px 20px;padding:0} .jogi li{margin:3px 0}
.jogi mark.jogi-kt{background:#FDECC8;color:#7a5200;border-radius:4px;padding:0 3px}
@media (max-width:640px){.jogi{padding:20px 16px;font-size:14.5px}}
/* István 8385: bútortervező note + sketch, and their echo on the order page */
.bt-mj{margin-top:12px} .bt-mj textarea{min-height:7.5em;line-height:1.5;width:100%;box-sizing:border-box;border:1px solid #D6D5CF;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;background:#FAFAF8;color:var(--an);resize:vertical}
.bt-mj input[type=file]{font:inherit;font-size:13px;padding:8px 0;color:var(--an);max-width:100%} .bt-mj small{font-weight:500}
.bt-skl{margin:0;font-size:12px;color:var(--gr);overflow-wrap:anywhere}
.co-bt{border-top:1px solid var(--line);margin-top:6px;padding-top:8px} .co-bth{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--mut);margin:0 0 6px}
.co-bti{font-size:13px;margin-bottom:8px} .co-bti small{color:var(--mut)} .co-bti p{margin:2px 0 0;overflow-wrap:anywhere}
.bt-fk{margin-top:12px;background:#FAFAF8;border:1px solid var(--line);border-radius:12px;padding:10px 12px} .bt-fkh{margin:0 0 6px;font-size:12px;font-weight:800;color:var(--an)} .bt-fkh small{font-weight:500;color:var(--mut)}
.bt-fkr{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;font-size:12px;padding:3px 0} .bt-fkr>span:first-child{font-weight:700;color:var(--an)} .bt-fkt{font-size:10.5px;color:var(--mut);letter-spacing:.04em;padding:0} .bt-fkr select{width:100%}
.bt-fkr label{display:flex;align-items:center;gap:6px} .bt-fkr select{height:34px;border:1px solid #D6D5CF;border-radius:8px;padding:0 6px;font:inherit;font-size:13px;background:#fff;color:var(--an)}
.bt-fkd{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--mut);margin-top:8px} .bt-fkd select{height:38px;border:1px solid #D6D5CF;border-radius:10px;padding:0 10px;font:inherit;font-size:13px;background:#fff;color:var(--an);width:100%}
.bt-ck{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--an)!important} .bt-ck input{width:auto!important;height:auto!important} .bt-ck small{font-weight:500;color:var(--mut)}
.pending{opacity:.55;transition:opacity .2s}
/* István 8481 / 8486 (Misi 2026-10-02): real customer account, discount band, saved projects, login, web app guide */
.acc-c .kpis{grid-template-columns:repeat(3,1fr)} .kpi small{display:block;font-size:12px;color:var(--mut);margin-top:2px}
.acc-c .acc-e+.acc-e{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.kedv-f{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap} .kedv-big{background:var(--an);color:#fff;border-radius:16px;padding:18px 22px;min-width:150px;text-align:center}
.kedv-big b{display:block;font-size:44px;line-height:1;color:var(--ok)} .kedv-big span{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.kedv-r{flex:1 1 320px;min-width:0} .kedv-r p{margin:0 0 10px;font-size:14px} .kedv-r .extra{color:var(--okm);font-weight:600}
.kedv-bar{position:relative;height:12px;border-radius:99px;background:#ECEBE6;margin:16px 0 26px} .kedv-bar>span{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--ok)}
.kedv-bar i{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--an)} .kedv-bar em{position:absolute;top:18px;left:-12px;font-style:normal;font-size:11px;font-weight:700;color:var(--an)}
.fz-ok{color:#3C7A3A;font-weight:600} .fz-no{color:#C8372D;font-weight:600} .tbl td.r,.tbl th.r{text-align:right;white-space:nowrap}
.tbl .st{display:inline-block;background:#F2F2F0;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600}
.fk-msg{font-size:13px;margin:8px 0 0;min-height:1em} .fk-msg.ok{color:#3C7A3A} .fk-msg.err{color:#C8372D}
.pr-loc{background:#F7F5EE;border:1px solid #E7E1CF;border-radius:12px;padding:12px 14px;margin:10px 0 6px;font-size:14px}
.pillbtn.sm{padding:9px 16px;font-size:11px;margin:0} .lnk{border:0;background:none;color:var(--mut);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
details.jsz{margin-top:14px} details.jsz summary{cursor:pointer;font-weight:700;font-size:14px;margin-bottom:10px}
.bel-g{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px;align-items:start} .bel-r{background:#fff;border-radius:16px;padding:22px}
.bel-l{margin:0;padding-left:18px;line-height:1.9;font-size:14px}
.fment{margin-top:12px;text-align:center} .fment .chip{width:100%;font-weight:700;letter-spacing:.08em;font-size:11.5px} .fment .pnote a{color:var(--ok)}
.pwa-hely{margin-top:24px} .pwa-hely.elol{margin:0 0 24px}
@media (max-width:760px){.acc-c .kpis{grid-template-columns:1fr} .bel-g{grid-template-columns:1fr} .acc-c{padding:18px 14px} .kedv-big{min-width:0;flex:1 1 100%}}

/* István 8501 d): drawer front heights on the computed-front types (2 and 4 drawers): 4th column, the last row shows the remainder */
.bt-fk.ffa .bt-fkr{grid-template-columns:52px minmax(0,1fr) minmax(0,1fr) 88px} .bt-fkr .fk-f{height:34px;width:100%;border:1px solid #D6D5CF;border-radius:8px;padding:0 6px;font:inherit;font-size:13px}
.bt-fkr .fk-mar{font-size:12px;font-weight:700;color:var(--an);text-align:center} .bt-fkr .fk-mar.err{color:#C8372D} .bt-fkn{font-size:11.5px;color:var(--mut);margin:6px 0 0}
.bt-hmax{display:block;font-size:11px;color:var(--mut);margin-top:-4px}

/* István 9446: bútortervező KOSÁR -- desktop: right sticky column; mobile: floating button + bottom sheet; checkout summary modal */
.bt-lay{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.bt-kosar{position:sticky;top:90px;background:#fff;border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(28,32,39,.08);max-height:calc(100vh - 110px);overflow:auto}
.bk-fej{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px} .bk-fej h3{font-size:18px;margin:0} .bk-fej small{font-size:13px;color:var(--mut);font-weight:600}
.bk-zar{display:none;border:0;background:var(--an);color:#fff;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer}
.bk-l0{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}
.bk-i{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px;border:1.5px solid var(--line);border-radius:12px} .bk-i.szerk{border-color:var(--ok);background:#FBF6EA}
.bk-i img,.bk-noimg{width:64px;height:auto;border-radius:8px;background:#eee;display:block}
.bk-t{display:flex;flex-direction:column;gap:2px;min-width:0} .bk-t b{font-size:14px} .bk-t small{font-size:12px;color:var(--mut);display:flex;align-items:flex-start;gap:6px;line-height:1.35}   /* Gloria 4771: the lines wrap (was nowrap + ellipsis: "Front: ugyanaz, mint a korp") */
.bk-t small i{flex:0 0 14px;height:14px;margin-top:1px;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.bk-a{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.bk-db{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:18px;overflow:hidden} .bk-db button{border:0;background:#F2F2F0;width:30px;height:28px;font-size:16px;cursor:pointer;color:var(--an)} .bk-db b{min-width:28px;text-align:center;font-size:13px}
.bk-l{border:0;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--an);text-decoration:underline;cursor:pointer;padding:2px}
.bk-ures{font-size:13px;color:var(--mut)}
#bt-tovabb[disabled]{opacity:.45;cursor:default}
.bt-kfab{display:none} .bt-kh{display:none}
.bt-pen{position:fixed;inset:0;z-index:300;background:rgba(18,21,26,.55);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto}
.bt-pen[hidden]{display:none} .bp-in{position:relative;background:#fff;border-radius:18px;padding:24px;width:min(640px,100%)} .bp-in .bk-zar{display:block;position:absolute;top:14px;right:14px}
html.bk-pen body{overflow:hidden}
#bt-megse{margin-left:8px}
@media (max-width:1100px){.bt-lay{grid-template-columns:1fr} .bt-kosar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:250;border-radius:18px 18px 0 0;max-height:80vh;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
 html.bk-nyitva .bt-kosar{transform:none} .bk-zar{display:block}
 .bt-kfab{display:flex;position:fixed;right:16px;bottom:16px;z-index:240;align-items:center;gap:6px;background:var(--an);color:#fff;border:0;border-radius:28px;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer;font:inherit;font-weight:800}
 .bt-kfab[hidden]{display:none} .bt-kfab svg{width:22px;height:22px} .bt-kfab span{background:var(--ok);color:var(--an);border-radius:12px;min-width:24px;padding:2px 7px;font-size:13px;text-align:center}
 html.bk-nyitva .bt-kh{display:block;position:fixed;inset:0;z-index:245;background:rgba(18,21,26,.45)}}
@media (prefers-reduced-motion:reduce){.bt-kosar{transition:none}}

/* István 9543/9549: "MIÉRT A LAPSZABO BÚTORTERVEZŐ?" icon cards (full at the bottom of /butortervezo, short on the home page) */
.miert{padding:60px 0 70px} .miert .giant2{margin-bottom:28px}
.mi-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.miert.rovid .mi-g{grid-template-columns:repeat(4,minmax(0,1fr))}
.mi-k{position:relative;background:#fff;border-radius:16px;padding:20px 18px 22px;box-shadow:0 6px 18px rgba(28,32,39,.06);display:flex;flex-direction:column;gap:8px}
.mi-ik{width:56px;height:56px;border-radius:50%;background:#E3ECE8;color:var(--an);display:grid;place-items:center;margin-bottom:4px} .mi-ik .ac{stroke:var(--ok)}
.mi-ik.mi-ik-foto{width:64px;height:64px;overflow:hidden} .mi-ik-foto img{display:block;width:84%;height:84%;object-fit:contain}   /* István 9688: foil-wrapped cabinet render */
.mi-ik.mi-ik-logo{width:auto;border-radius:0;background:none;justify-content:start} .mi-logo{display:block;height:40px;width:auto}   /* István 9626: original Blum logo, as is */
.mi-n{position:absolute;top:18px;right:18px;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--gr)}
.mi-k h3{font-size:16px;line-height:1.25;margin:0;color:var(--an);font-weight:800} .mi-k p{font-size:14px;line-height:1.5;margin:0;color:var(--tx)}
.mi-tovabb{display:inline-block;margin-top:22px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--an);text-decoration:none;border-bottom:2px solid var(--ok);padding-bottom:3px}
html.js .mi-g[data-reveal]>*{transition-delay:calc(var(--i,0)*70ms)}
@media (max-width:1100px){.mi-g,.miert.rovid .mi-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.mi-g,.miert.rovid .mi-g{grid-template-columns:1fr} .miert{padding:44px 0 50px}}

/* István 9573: BLUM VASALAT block (2 large cards) + the "Blum" text label at the configurator's hardware heading */
.miert.blum{padding-top:10px}
.bl-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bl-k{padding:24px 24px 26px} .bl-k h3{font-size:17px;letter-spacing:.02em}
/* István 9638-9658 (preview): Blum photos + videos in the cards, own sub page link next to the designer tabs */
.bl-foto{margin:-24px -24px 6px;border-radius:16px 16px 0 0;overflow:hidden;background:#fff} .bl-foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.bl-vid{margin:14px 0 0} .bl-vid video{display:block;width:100%;height:auto;border-radius:10px;background:#000}
.bl-vid figcaption{margin-top:7px;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--an)}
.bl-forras{margin:14px 0 0;font-size:12px;color:#6b7078}
.bt-tul{display:inline-block;margin-top:16px;font-size:12.5px;font-weight:800;letter-spacing:.1em;color:#fff;text-decoration:none;border-bottom:2px solid var(--ok);padding-bottom:3px} .bt-tul:hover{color:var(--ok)}
.bl-k ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.bl-k li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.5;color:var(--tx)} .bl-k li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--ok)}
html.js .bl-g[data-reveal]>*{transition-delay:calc(var(--i,0)*120ms)}
.blum-cimke{display:inline-block;vertical-align:middle;margin-left:8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--an);border:1.5px solid var(--ok);border-radius:20px;padding:3px 10px}
.blum-cimke:hover{background:#FBF6EA}
@media (max-width:760px){.bl-g{grid-template-columns:1fr}}
#miert,#blum{scroll-margin-top:84px}

/* István 9409/9588: sub-group headers inside a bútortervező tab */
.bt-ac{grid-column:1/-1;margin:14px 2px 0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gr)} .bt-ac:first-child{margin-top:0}

/* István 9720/9725: colour picker variant D (colour families, always open) under the carousel; the carousel stays */
.sz-d{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.sz-d-c{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--an)} .sz-d-c small{font-weight:600;letter-spacing:0;text-transform:none;color:var(--mut);margin-left:6px}
.sz-d-cs h4{font-size:14px;margin:12px 0 7px;color:var(--an)} .sz-d-cs h4 small{color:var(--mut);font-weight:600}
.sz-d-sav{display:grid;grid-auto-flow:column;grid-auto-columns:112px;gap:9px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.sz-d-it{scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;gap:2px;background:#fff;border:2px solid transparent;border-radius:12px;padding:5px 5px 7px;font:inherit;cursor:pointer;color:var(--an);min-width:0;box-shadow:0 2px 8px rgba(28,32,39,.06)}
.sz-d-it:hover{border-color:#e3d3a6} .sz-d-it.on{border-color:var(--ok);box-shadow:0 0 0 3px rgba(196,154,62,.25)}
.sz-d-im{display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;margin-bottom:4px} .sz-d-im img{width:100%;height:100%;object-fit:cover;display:block}
.sz-d-it b{font-size:12px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical} .sz-d-it small{font-size:10.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){.sz-d-sav{grid-auto-columns:100px}}
.sz-d-im.nokep{display:flex;align-items:center;justify-content:center;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#8a8f97;background:repeating-linear-gradient(135deg,#f4f4f2 0 8px,#ebebe8 8px 16px)}

/* István 9740 (preview, .bt-fo[data-fiok]): chooser mode. Before a choice only the cards; after it they live in a pull-out drawer */
.bt-ful,.bt-fiokhatter,.bt-kat-zar{display:none}
.bt-fo[data-fiok] .bt-kat-fej{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bt-fo[data-fiok] .bt-kat-cim{margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--an)}
html.js #bt-cards.kiusz>*{opacity:0!important;transform:translateX(-56px) scale(.96)!important;transition:opacity .34s ease,transform .4s cubic-bezier(.4,0,.2,1)!important;transition-delay:calc(min(var(--i,0),14)*35ms)!important}
html.bt-kiusz .bt-fo[data-fiok] .bt-tabs,html.bt-kiusz .bt-fo[data-fiok] .bt-kat-cim{opacity:0;transition:opacity .3s}
html.bt-valaszt .bt-fo[data-fiok] .bt-katalog{position:fixed;left:0;top:0;bottom:0;width:min(420px,88vw);z-index:246;background:#F2F2F0;overflow:auto;padding:22px 18px 28px;
  transform:translateX(-104%);transition:transform .36s cubic-bezier(.2,.7,.2,1);box-shadow:12px 0 32px rgba(0,0,0,.18);visibility:hidden}
html.bt-fiok-nyitva .bt-fo[data-fiok] .bt-katalog{transform:none;visibility:visible}
html.bt-valaszt .bt-fo[data-fiok] .bt-kat-zar{display:block;font:inherit;font-weight:800;font-size:20px;line-height:1;border:0;background:var(--an);color:#fff;border-radius:22px;width:40px;height:40px;cursor:pointer;margin:-6px 0 6px}
html.bt-valaszt .bt-fo[data-fiok] .bt-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html.bt-fiok-nyitva .bt-fiokhatter{display:block;position:fixed;inset:0;z-index:245;background:rgba(18,21,26,.45)}
html.bt-fiok-nyitva body{overflow:hidden}
html.bt-valaszt .bt-fo[data-fiok] .bt-ful{display:flex;position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:244;flex-direction:column;align-items:center;gap:8px;
  writing-mode:vertical-rl;background:var(--an);color:#fff;border:0;border-radius:0 14px 14px 0;padding:18px 11px;cursor:pointer;font:inherit;font-size:13px;font-weight:800;letter-spacing:.16em;box-shadow:4px 0 18px rgba(0,0,0,.18)}
html.bt-valaszt .bt-fo[data-fiok] .bt-ful small{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ok);max-height:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.bt-valaszt .bt-fo[data-fiok] .bt-ful span::after{content:" ▸";color:var(--ok)}
.bt-conf.be{animation:btConfBe .5s cubic-bezier(.2,.7,.2,1)}
@keyframes btConfBe{from{opacity:0;transform:translateX(40px)}}
@media (min-width:761px){html.bt-valaszt .bt-fo[data-fiok]{padding-left:58px}}
html.bt-valaszt .bt-fo[data-fiok] .bt-conf{scroll-margin-top:96px}   /* the sticky header must not cover the title after the scroll */
@media (max-width:760px){
 html.bt-valaszt .bt-fo[data-fiok] .bt-ful{position:sticky;top:64px;left:auto;transform:none;writing-mode:horizontal-tb;flex-direction:row;justify-content:space-between;width:100%;
   border-radius:12px;padding:12px 16px;margin:0 0 12px;letter-spacing:.12em}
 html.bt-valaszt .bt-fo[data-fiok] .bt-ful small{max-width:60%;max-height:none}
 html.bt-valaszt .bt-fo[data-fiok] .bt-ful span::after{content:" ▾"}
 html.bt-valaszt .bt-fo[data-fiok] .bt-katalog{width:100vw}
 html.bt-valaszt .bt-fo[data-fiok] .bt-conf{scroll-margin-top:136px}
 html.bt-fiokmod.bt-valaszt .bt-fo[data-fiok] .bt-ful{top:138px} html.bt-fiokmod.bt-valaszt .bt-fo[data-fiok] .bt-conf{scroll-margin-top:206px}   /* only under the preview's top cart button */
}
@media (prefers-reduced-motion:reduce){html.bt-valaszt .bt-fo[data-fiok] .bt-katalog,.bt-conf.be{transition:none;animation:none}}


/* István 9761 (preview, chooser mode): the floating cart button on TOP, bigger, white frame, with a label (was: small, bottom right) */
@media (max-width:1100px){
 html.bt-fiokmod .bt-kfab{top:calc(env(safe-area-inset-top,0px) + 92px);bottom:auto;right:16px;border:3px solid #fff;padding:12px 18px;gap:10px;font-size:15px;letter-spacing:.02em;box-shadow:0 10px 28px rgba(0,0,0,.35)}
 html.bt-fiokmod .bt-kfab svg{width:26px;height:26px} html.bt-fiokmod .bt-kfab span{font-size:14px;min-width:28px;padding:3px 8px}
 html.bt-fiokmod .bt-kfab .kf-t{font-weight:800;white-space:nowrap}
}
@media (max-width:760px){ html.bt-fiokmod .bt-kfab{top:calc(env(safe-area-inset-top,0px) + 74px);left:12px;right:12px;justify-content:center;font-size:14px;padding:11px 14px} }

/* István 9780 (preview): the bútortervező cart in the cut-list editor */
.bt-szerk-info{background:#FBF6EA;border:1px solid #e9d9ae;border-radius:12px;padding:12px 14px;margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--an)} .bt-szerk-info b{display:block;margin-bottom:2px}
.sz-tag{display:inline-block;margin:3px 0 0 0;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:#6b5a2b;background:#FBF6EA;border:1px solid #e9d9ae;border-radius:8px;padding:1px 6px} .sz-tag.km{color:#8a2b1d;background:#fbecea;border-color:#f0c3bd}   /* István 9780 */
.sz-tagm{display:none} .sz-tagm .sz-tag{margin-right:4px}   /* István 9839: tags under the material only where the name column is hidden */
@media (max-width:760px){.sz-tagm{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px} .sz-tagm .sz-tag{margin:0}
 .sz-nevm{flex:0 0 100%;font-size:12px;font-weight:600;color:var(--an);line-height:1.3}   /* István 9840: row name under the material */
 .tbl tr.gh td{white-space:normal;word-break:break-word} .tbl tr.gh td em{display:block;margin:2px 0 0}
 .gh-in{position:sticky;left:8px;max-width:calc(100vw - 72px);white-space:normal}}   /* stays in view when the table scrolls sideways */   /* the furniture header wraps instead of running off */
/* István 9870/9871 (preview: data-kartya): always-visible element card + "Kosárba" that flies into the cart */
.bt-kartya{position:sticky;top:-16px;z-index:3;margin:-16px -16px 14px;padding:14px 16px 16px;background:#fff;border-bottom:1.5px solid var(--line);border-radius:16px 16px 0 0}
.bt-kartya[hidden]{display:none}
.kc-fej{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}
.kc-fej img,.kc-noimg{width:72px;height:72px;object-fit:cover;border-radius:10px;background:#eee;display:block}
.kc-t{display:flex;flex-direction:column;gap:1px;min-width:0} .kc-t b{font-size:15px;line-height:1.25} .kc-t small{font-size:12px;color:var(--mut)}
.kc-mat{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.kc-a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center}
.kc-a i{width:28px;height:28px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.kc-a em{display:block;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.kc-a b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .kc-a small{font-size:11px;color:var(--mut)}
.kc-add{width:100%;justify-content:center}
.kc-repul{background:#fff;border-radius:16px;box-shadow:0 18px 40px rgba(28,32,39,.28);overflow:hidden;padding:14px 16px}
.bk-i.bk-uj{border-color:var(--ok);background:#FBF6EA;transition:background .6s}
@media (max-width:1100px){
 html.bt-kartya-mob .bt-kartya{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;z-index:230;border-radius:16px 16px 0 0;border:0;
   box-shadow:0 -8px 24px rgba(28,32,39,.16);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
   display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"fej add" "mat add";gap:6px 10px;align-items:center}
 html.bt-kartya-mob .bt-kartya[hidden]{display:none}
 html.bt-kartya-mob .kc-fej{grid-area:fej;grid-template-columns:44px minmax(0,1fr);gap:8px} html.bt-kartya-mob .kc-fej img,html.bt-kartya-mob .kc-noimg{width:44px;height:44px}
 html.bt-kartya-mob .kc-t b{font-size:14px} html.bt-kartya-mob .kc-t small{font-size:11px;line-height:1.25}
 html.bt-kartya-mob .kc-t small+small{display:inline}
 html.bt-kartya-mob .kc-mat{grid-area:mat;flex-direction:row;gap:10px;margin:0}
 html.bt-kartya-mob .kc-a{grid-template-columns:20px minmax(0,1fr);gap:6px;min-width:0;flex:1}
 html.bt-kartya-mob .kc-a i{width:20px;height:20px;border-radius:5px} html.bt-kartya-mob .kc-a small{display:none} html.bt-kartya-mob .kc-a b{font-size:12px}
 html.bt-kartya-mob .kc-add{grid-area:add;width:auto;padding:12px 16px;font-size:13px}
 html.bt-kartya-mob.bt-kartya-be body{padding-bottom:132px}
 html.bk-nyitva .bt-kartya{display:none}
}
@media (prefers-reduced-motion:reduce){.bk-i.bk-uj{transition:none}}
/* István 9883/9885/9889 (preview: data-kartya): "+ Bútor hozzáadása", choice after Kosárba */
.bt-cofej{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bt-ujbutor{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--an);background:#fff;color:var(--an);border-radius:99px;padding:9px 16px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.06em;cursor:pointer;white-space:nowrap}
.bt-ujbutor b{font-size:17px;line-height:1} .bt-ujbutor:hover{background:var(--an);color:#fff}
#bt-klista .bt-ujbutor{width:100%;justify-content:center;margin:0 0 12px}
.bt-pop{position:fixed;inset:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(18,21,26,.45)}
.bt-pop[hidden]{display:none}
.bp-ko{position:relative;background:#fff;border-radius:18px;padding:26px 22px 22px;width:min(420px,100%);display:flex;flex-direction:column;gap:10px;box-shadow:0 24px 60px rgba(18,21,26,.3)}
.bp-ko .bk-zar{display:block;position:absolute;top:12px;right:12px}
.bp-cim{margin:0 40px 6px 0;font-weight:800;font-size:17px}
.bp-ko .pillbtn{width:100%;text-align:center} .bp-ko .pillbtn b{font-size:16px}
.bp-ko .pillbtn.ghost{background:#fff;color:var(--an);box-shadow:inset 0 0 0 1.5px var(--an)}
.bp-ko .pillbtn.sotet{background:var(--an);color:#fff}
@media (min-width:1101px){ .bp-ko{animation:bpbe .28s cubic-bezier(.2,.9,.3,1.2)} }
@media (max-width:1100px){ .bt-pop{align-items:flex-end;padding:0} .bp-ko{width:100%;border-radius:18px 18px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));animation:bpfel .28s ease-out} }
@keyframes bpbe{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
@keyframes bpfel{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.bp-ko{animation:none}}
html.bt-pop-nyitva body{overflow:hidden}
/* István 9904 (preview): "i" data sheet next to the chosen carcass/front decor */
.sz-tw{position:relative;min-width:0;display:flex} .sz-tw .sz-t{flex:1;padding-right:46px}
.sz-i{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:1.5px solid var(--an);background:#fff;color:var(--an);font:italic 700 16px/1 Georgia,'Times New Roman',serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.sz-i:hover,.sz-i:focus-visible{background:var(--an);color:#fff}
.szi-ko{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;gap:12px}
.szi-fej{margin:0 40px 0 0;display:flex;flex-direction:column} .szi-fej small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:700} .szi-fej b{font-size:20px}
.szi-kep{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.szi-t{width:100%;font-size:14px} .szi-t th{text-align:left;font-weight:600;color:var(--mut);padding:7px 12px 7px 0;width:42%;vertical-align:top} .szi-t td{padding:7px 0;font-weight:600}
.szi-t tr+tr th,.szi-t tr+tr td{border-top:1px solid rgba(0,0,0,.07)}
.szi-p{margin:0;font-size:13px;line-height:1.5;color:var(--an)}
.szi-l{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;font-weight:700} .szi-l:empty{display:none} .szi-l a{color:var(--an)}
@media (max-width:1100px){ .szi-ko{max-height:88vh} }
@media (max-width:600px){ .sz-i{width:34px;height:34px;right:12px} .szi-kep{aspect-ratio:4/3} }
.szi-gal{margin:0;position:relative} .szi-kep.kont{object-fit:contain;background:#f1efea!important}
.szi-gal figcaption{position:absolute;left:10px;bottom:10px;background:rgba(18,21,26,.72);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 9px;border-radius:99px}
.szi-th{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:thin}
.szi-th button{flex:0 0 64px;height:48px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#eee;cursor:pointer}
.szi-th button.on{border-color:var(--ok)} .szi-th img{width:100%;height:100%;object-fit:cover;display:block}
.szi-ko>*{flex-shrink:0}
/* István 9909 (preview): layered render canvas, same box as the card image */
canvas.bt-rt{display:block;height:auto}
/* István 9960 (preview, data-szet): the right column splits into two cards. Top: the element being edited (gold frame + label,
   a gold notch pointing at the editor on the left, like the chosen decor); bottom: the cart, its own neutral card. */
.kc-cimke{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:4px 10px 4px 8px;border-radius:99px;background:#FBF3DF;color:#7A5A17;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.kc-cimke svg{width:13px;height:13px}
@media (min-width:1101px){
 .bt-kosar[data-szet="1"]{background:transparent;box-shadow:none;padding:4px 4px 8px;border-radius:0;display:flex;flex-direction:column;gap:18px}
 .bt-kosar[data-szet="1"] .bt-kartya{position:relative;top:auto;margin:0;padding:16px;background:#fff;border:2px solid var(--ok);border-radius:16px;box-shadow:0 8px 22px rgba(196,154,62,.18)}
 .bt-kosar[data-szet="1"] .bt-kartya::before{content:"";position:absolute;left:-9px;top:44px;width:14px;height:14px;background:#fff;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(45deg);border-radius:0 0 0 3px}
 .bt-kosar[data-szet="1"] #bt-klista{background:#F6F5F1;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 4px 14px rgba(28,32,39,.05)}
 .bt-kosar[data-szet="1"] #bt-klista .bk-i:not(.szerk):not(.bk-uj){background:#fff}
}
@media (max-width:1100px){ html.bt-kartya-mob .bt-kartya .kc-cimke{grid-column:1 / -1;margin:0 0 2px;padding:2px 8px;font-size:10px;justify-self:start}
 html.bt-kartya-mob .bt-kartya:has(.kc-cimke){border-top:3px solid var(--ok);grid-template-areas:"cim cim" "fej add" "mat add"} html.bt-kartya-mob .bt-kartya .kc-cimke{grid-area:cim}
 html.bt-kartya-mob.bt-kartya-be:has(.kc-cimke) body{padding-bottom:156px} }
/* István 9966 (preview, data-dz): sketch upload drop zone + file list */
.dz-w{display:flex;flex-direction:column;gap:6px}
.dz-cim{font-size:12px;font-weight:700;color:var(--mut)} .dz-cim small{font-weight:600}
.dz{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 14px;border:2px dashed #CFCBBF;border-radius:14px;background:#FAFAF8;color:var(--an);text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.dz:hover,.dz:focus-visible,.dz.over{border-color:var(--ok);background:#FBF6EA;outline:none}
.dz.over{transform:scale(1.01)}
.dz svg{width:30px;height:30px;color:var(--ok)}
.dz b{font-size:14px;font-weight:700} .dz u{color:#9C7A2E;text-decoration-thickness:1.5px;text-underline-offset:3px}
.dz small{font-size:11.5px;color:var(--mut);font-weight:500}
.dz.tele{opacity:.55}
.dz-in{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dz-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px} .dz-l:empty{display:none}
.dz-l li{display:grid;grid-template-columns:40px minmax(0,1fr) 32px;gap:10px;align-items:center;padding:6px 6px 6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.dz-l img,.dz-ik{width:40px;height:40px;border-radius:7px;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#F1EEE6;color:#9C7A2E;font-size:10px;font-weight:800;letter-spacing:.06em}
.dz-n{display:flex;flex-direction:column;min-width:0} .dz-n b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--an)} .dz-n small{font-size:11px;color:var(--mut)}
.dz-x{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--mut);font-size:20px;line-height:1;cursor:pointer} .dz-x:hover{background:#F3E3E1;color:#B3261E}
.dz-h{margin:0;font-size:12px;color:#B3261E;font-weight:600} .dz-h:empty{display:none}
@media (prefers-reduced-motion:reduce){.dz{transition:none}.dz.over{transform:none}}
.dz .dz-mob{display:none} @media (hover:none) and (pointer:coarse){.dz .dz-asz{display:none}.dz .dz-mob{display:inline}}
/* István 9981/9984/9990 (preview, data-mrend): cut list from the bútortervező */
.osz-fej{margin:0 0 18px} .osz-fej .co-h{margin:0 0 10px;font-size:26px}
.osz-fej p{margin:0;max-width:760px;font-size:14.5px;line-height:1.55;color:var(--tx)}
.form.f-alul{margin-top:26px}
.bontas{margin:14px 0 6px;padding:12px 0 4px;border-top:1px solid rgba(255,255,255,.14);transition:opacity .2s}
.bontas.pending{opacity:.55}
.bontas .bo-cim{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#c9ccd1} .bontas .bo-cim small{font-weight:600;letter-spacing:.06em;text-transform:none;color:#98A2AD;margin-left:4px}
.bontas ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bontas li{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#e8eaed} .bontas li b{font-weight:700;white-space:nowrap}
.bontas li.bo-ossz{margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14);color:#fff} .bontas li.bo-ossz b{color:var(--ok)}
.bontas .bo-netto{margin:8px 0 0;font-size:12px;color:#98A2AD}

/* István 10164/10167 (preview): drawer info window (Blum Antaro) -- reuses the decor info window (.szi) */
.bt-fkh{display:flex;align-items:center;gap:8px}
.fk-i{width:24px;height:24px;flex:0 0 24px;border-radius:50%;border:1.5px solid var(--an);background:#fff;color:var(--an);font:700 13px/1 Georgia,serif;cursor:pointer;padding:0}
.fk-i:hover,.fk-i:focus-visible{background:var(--an);color:#fff}
.fki .fk-kep{object-fit:cover;background:#eef0f2}
.fki .szi-th button span{display:block;font-size:11px;font-weight:800;margin-top:2px}
.fk-t{width:100%;margin:6px 0 4px;font-size:13px;border-collapse:collapse} .fk-t th,.fk-t td{padding:7px 8px 7px 0;vertical-align:top} .fk-t td:last-child,.fk-t th:last-child{padding-right:0} .fk-t td:nth-child(n+3){white-space:nowrap} .fk-t th{font-size:11px;text-align:left} .fk-t td small{display:block;font-size:11px;color:var(--mut);font-weight:500}
.fk-t tr.on td{background:#FFF6E2} .fk-m{font-size:12px;color:var(--mut)} .fk-forras{font-size:11px;color:var(--mut)}
@media (max-width:600px){ .fk-i{width:30px;height:30px;flex-basis:30px} .fk-t{font-size:12px} }
/* István 10173 (preview): "HAMAROSAN" badge on the not yet available card payment */
.rad.pay .hamar{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.06em;color:#7a5a12;background:#FFF1CC;border-radius:99px;padding:2px 8px;margin-left:6px;vertical-align:middle}

/* István 10203: SimplePay logo + data-transfer statement under the card option */
.sp-blk{margin:4px 0 14px 30px}.sp-logo img{display:block;height:27px;width:auto;background:#fff}
.sp-ny{margin-top:10px;font-size:12.5px;line-height:1.5;color:#4A4F57;background:#F7F5F0;border-radius:12px;padding:12px 14px}.sp-ny p{margin:0 0 8px}
@media (max-width:600px){.sp-blk{margin-left:0}}
/* checklist 2/3: single-column account forms keep one column even when a .fld.w2 would open an implicit 2nd track */
.form-g.one-col > *{grid-column:1/-1}

/* István 10158/7 (preview): first-login ÁSZF / adatkezelés acceptance dialog */
.aszf-pop{position:fixed;inset:0;z-index:9999;background:rgba(20,23,28,.72);display:flex;align-items:center;justify-content:center;padding:16px}
html.aszf-nyitva{overflow:hidden}
.aszf-k{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:26px 24px;box-shadow:0 10px 40px rgba(0,0,0,.25);max-height:calc(100vh - 32px);overflow:auto}
.aszf-k h2{font-size:20px;line-height:1.3;margin:0 0 12px}.aszf-k p{line-height:1.55;margin:0 0 10px}.aszf-k ul{margin:0 0 14px;padding-left:20px;line-height:1.8}
.aszf-k .chk{margin:6px 0 4px}.aszf-k .pillbtn{margin-top:10px}.aszf-k .chip{display:block;margin:12px auto 0}
.aszf-k a{color:#9C7524;text-decoration:underline;font-weight:600}

/* István 10320 (preview): per-element note */
.mj-sor{margin:4px 0 12px}.mj-nyit{background:none;border:0;padding:4px 0;font:600 13px Montserrat,Arial,sans-serif;color:#9C7524;cursor:pointer}
.mj-fld{max-width:520px}.el-mj{display:block;font-style:italic;color:#6E737B;font-size:12px;margin-top:2px}
/* the note under the material on mobile, where the name column is hidden */
td .el-mj.el-mj-m{display:none}   /* .tbl td small{display:block} outranked the bare class: the note showed twice on desktop */
@media (max-width:760px){td .el-mj.el-mj-m{display:block}}
/* István 10323 (preview): duplungolt element */
.dup-chk{display:flex;align-items:center;gap:8px;margin:2px 0 14px;font:600 13px Montserrat,Arial,sans-serif;color:#2B2F36;cursor:pointer}.dup-chk input{width:18px;height:18px;accent-color:#9C7524}
.edf .dup-chk{align-self:end;margin:0 0 10px}
td small.dup-tag{display:block;color:#9C7524;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
/* István 11458: induló kedvezmény row (sidebar, order page) */
.sum li.kedv b,.co-tot .kedv b{color:#9C7524}
.bontas li.bo-resz{margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.14)} .bontas li.bo-kedv b{color:#E2C67F}
/* István 11488 (preview): bútortervező project save in the cart */
.bk-ment{margin:14px 0 4px;padding:12px 0 0;border-top:1px solid var(--line,#e4e3de);display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;font-size:13px}.bk-ment label{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;font-weight:600}.bk-ment label span{font-size:12px;color:#6E737B}.bk-ment input{font:inherit;padding:9px 12px;border:1px solid #d9d6cf;border-radius:10px}.bk-ment .fk-msg{flex-basis:100%;margin:0}
/* István 10439 (2026-10-10): door opening BALOS / JOBBOS -- mandatory radio pair + (i) explanation on hover and on tap */
.bt-ny{position:relative;margin:4px 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#FAFAF8}
.bt-ny.hiany{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.ny-fej{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--mut);margin-bottom:8px}
.ny-req{color:#B3261E}
.ny-i{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--an);background:#fff;color:var(--an);font:700 13px/1 Georgia,serif;cursor:pointer;padding:0}
.ny-i:hover,.ny-i:focus-visible,.ny-iw.nyitva .ny-i{background:var(--an);color:#fff}
.ny-pop{display:none;position:absolute;left:8px;right:8px;top:44px;z-index:30;max-width:400px;padding:14px;border-radius:12px;background:#fff;color:var(--tx);
  border:1px solid var(--line);box-shadow:0 12px 32px rgba(28,32,39,.18);font-size:13px;font-weight:400;line-height:1.45}
.ny-iw.nyitva .ny-pop{display:block}
@media (any-hover:hover){ .ny-iw:hover .ny-pop{display:block} }   /* any-hover: touch laptops with a mouse too */
.ny-pop>b{display:block;font-size:14px;color:var(--an);margin-bottom:8px}
.ny-pk{display:flex;gap:14px;justify-content:center;margin-bottom:8px}
.ny-pf{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--an)}
.ny-pf .ny-ik{width:40px;height:52px}
.ny-pf .ny-fv{width:76px;height:82px}
.ny-pf b{font-size:13px}
.ny-pt{display:block;margin-top:6px}
.ny-tipp{color:var(--mut);font-size:12px}
.ny-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ny-o{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #D6D5CF;border-radius:10px;background:#fff;cursor:pointer;color:var(--an);min-height:48px}
.ny-o input{position:absolute;opacity:0;width:1px;height:1px}
.ny-o .ny-ik{width:28px;height:36px;flex:0 0 28px;color:var(--st)}
.ny-o span{display:flex;flex-direction:column;font-size:14px}
.ny-o small{font-size:11px;color:var(--mut);font-weight:400}
.ny-o:has(input:checked){border-color:var(--an);box-shadow:0 0 0 2px var(--an) inset}
.ny-o:has(input:checked) .ny-ik{color:var(--ok)}
.ny-o:has(input:focus-visible){outline:2px solid var(--ok);outline-offset:2px}
.ny-hiba{margin:6px 0 0;font-size:12px;color:#B3261E;min-height:0}
.ny-hiba:empty{display:none}
.bk-hiany{color:#B3261E;font-weight:700}
@media (max-width:600px){ .ny-i{width:30px;height:30px} .ny-pop{left:0;right:0;top:48px} }

/* István 11844 + 11847 (2026-10-11), chosen on webpage.woodframe.hu/lapszabo-javitas (Apple audit, 11781):
   1. choice cards variant B: the darkening starts at 25% and is 0.88 under the title (measured worst glyph pixel 4.79:1).
      Until then: .b3c::after 0 until 40%, .85 at 56%, solid at 60% (phone: 34/48/52%), the phone card 520 px with a 50% image. */
.b3c::after{background:linear-gradient(180deg,rgba(28,32,39,0) 0,rgba(28,32,39,0) 25%,rgba(28,32,39,.88) 39%,rgba(28,32,39,.94) 54%,#1C2027 58%)}
@media (max-width:760px){.b3c{min-height:600px}.b3c .bg{height:320px}
.b3c::after{background:linear-gradient(180deg,rgba(28,32,39,0) 0,rgba(28,32,39,0) 25%,rgba(28,32,39,.88) 28%,rgba(28,32,39,.94) 50%,#1C2027 54%)}}
/* 2. variant V2: one deep gold for gold text on light grounds (5.43:1 on #F2F2F0, 6.09:1 on white; until then --ok #C49A3E, 2.33 / 2.61:1);
      the intro paragraph from weight 300 #555 to 400 #5A5F66 (6.43:1) */
.miert .giant2 .ok{color:#7A5E1F}.kt b{color:#7A5E1F}.intro p{font-weight:400;color:#5A5F66}
/* 3. "BÚTORTERVEZŐ?" fits on phones: the size is capped by the line's width (9.4 px per px of font size, measured, +3%) */
.miert .giant2{font-size:min(clamp(40px,6vw,76px),calc((100vw - 36px) / 9.7))}
/* 4. the home page shows 4 of the 10 reasons: no numbers there (01 02 03 05 looked like a missing card) */
.miert.rovid .mi-n{display:none}
/* 5. the menu opener is a <button aria-expanded> now (was a <label> for the hidden checkbox: not reachable with Tab);
      11 px label and a 44x44 px target as in the audit (was 8 px). The skip link and the screen-reader-only text of the big titles. */
.burger{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;font-size:11px;letter-spacing:.24em;font-weight:600;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.burger:focus-visible{outline:2px solid var(--ok);outline-offset:4px}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:#1C2027;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.skip:focus{left:16px}
main:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* István 10498 (tester, 2026-10-11): a clearly visible way back to editing (order page, final check, bútortervező Összesítő) */
.vissza-szerk{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0 0 14px;padding:10px 18px;border:2px solid var(--an);border-radius:40px;
  background:#fff;color:var(--an);font:800 12px/1.2 Montserrat,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.vissza-szerk:hover{background:var(--an);color:#fff}
.vissza-szerk:focus-visible{outline:2px solid var(--ok);outline-offset:3px}
.bt-szerk-info .vissza-szerk{display:flex;width:max-content;margin-bottom:10px}
.vissza-sor{margin:0 0 4px}.vissza-sor[hidden]{display:none}
/* István 10577: whole-cabinet delete on the Összesítő header */
.gh-del{margin-left:12px;border:1px solid #D6D5CF;background:#fff;color:#B3261E;border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer} .gh-del:hover{border-color:#B3261E;background:#FCEFEE}
/* István 10580: note on the cart card (one source with the configurator's field) */
.bk-mjp{white-space:pre-line;font-size:12px;line-height:1.45;color:var(--an);background:#F7F6F2;border-left:3px solid #C49A3E;padding:6px 8px;margin:6px 0 0;word-break:break-word}
.bk-mj{margin:8px 0 0} .bk-mj label{display:block;font-size:12px;font-weight:600} .bk-mj textarea{display:block;width:100%;box-sizing:border-box;min-height:7.5em;margin-top:4px;border:1px solid #D6D5CF;border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;line-height:1.5;background:#FAFAF8;color:var(--an);resize:vertical}
.bk-mj span{display:flex;gap:6px;margin-top:6px}
/* István 12078/12080/12096/12104 (2026-10-12): "összeszerelve is kérheted" highlight, approved variant A2 (home band + hero line + card badge,
   /butortervezo hero line, the assembly option boxed in the configurator) */
#bt-conf .bt-osz{flex-wrap:wrap;background:#FBF3E1;border:1.5px solid var(--ok);border-radius:10px;padding:11px 14px!important;font-weight:700}
#bt-conf .bt-osz::after{content:"Beépítésre készen, fóliába csomagolva érkezik.";flex-basis:100%;padding-left:42px;font-size:12.5px;font-weight:500;color:var(--okm);line-height:1.35}
#bt-conf .bt-osz small{color:var(--okm)!important;flex-basis:100%;padding-left:42px;margin-top:-6px}
.b3c>.osz-badge{position:absolute;top:18px;right:18px;z-index:2;width:max-content;background:var(--ok);color:var(--an);font-size:12px;font-weight:800;letter-spacing:.12em;padding:8px 14px;border-radius:99px;box-shadow:0 4px 14px rgba(0,0,0,.25);display:flex;align-items:center;gap:7px}
.osz-badge svg{flex:none}
.osz-band{background:var(--ok);color:var(--an);padding:56px 0;overflow:hidden}
.osz-band .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.osz-k{font-size:13px;font-weight:800;letter-spacing:.22em;color:#5A4517}
.osz-band h2{font-weight:800;font-size:clamp(38px,6vw,78px);line-height:.95;text-transform:uppercase;margin:10px 0 18px;color:var(--an)}
.osz-band h2 span{display:block} .osz-band h2 .w{color:#fff}
.osz-band p{font-size:18px;line-height:1.55;max-width:34em;color:#2E2511}
.osz-pont{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px;padding:0}
.osz-pont li{background:rgba(28,32,39,.1);border-radius:99px;padding:8px 14px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px}
.osz-cta{display:inline-block;background:var(--an);color:var(--ok);border-radius:99px;padding:15px 28px;font-size:13px;font-weight:800;letter-spacing:.12em;text-decoration:none}
.osz-cta:hover{color:#fff}
.osz-img{justify-self:center;width:100%;max-width:400px;height:auto}
.osz-top{display:flex;align-items:center;gap:12px;margin:-6px 0 30px;padding:12px 18px;border-left:4px solid var(--ok);background:rgba(196,154,62,.12);color:#fff;font-size:clamp(16px,1.6vw,20px);line-height:1.4;text-decoration:none;max-width:max-content;border-radius:0 10px 10px 0}
.osz-top svg{flex:none;width:22px;height:22px;color:var(--ok)} .osz-top b{color:var(--ok)} .osz-top:hover b{text-decoration:underline}
.osz-hs{margin-top:18px;font-size:clamp(20px,2.6vw,32px);font-weight:300;color:#fff;line-height:1.25}
.osz-hs b{color:var(--ok);font-weight:800}
@media (max-width:760px){.osz-band{padding:40px 0}.osz-band .wrap{grid-template-columns:1fr;gap:18px}.osz-img{max-width:250px;order:-1}.osz-band p{font-size:16px}}
