/* AI anyagkalkulátor – B terv (a csempewebaruhaz sablon --cw-* tokenjeit használja, tartalékszínekkel). */
.ak-page, .ak-set {
    --ak-green: var(--cw-green, #1E3B33);
    --ak-coral: var(--cw-coral, #E8623D);
    --ak-ink: var(--cw-ink, #1D2420);
    --ak-muted: var(--cw-muted, #6B716C);
    --ak-line: var(--cw-line, #ECE6DE);
    --ak-sand: var(--cw-sand, #F6F2EC);
    --ak-mint: var(--cw-mint, #EEF3F0);
}
.ak-page { padding-bottom: 48px; }
.ak-linegroup { margin: 14px 0 4px; font-size: 12.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--ak-green); }
.ak-linegroup:first-child { margin-top: 0; }
.ak-linegroup small { font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ak-muted); }
.ak-page .bk-pills[data-ak-heights] { flex-wrap: wrap; }
.ak-hero { position: relative; overflow: hidden; background: var(--ak-green); color: #fff; }
.ak-hero__inner { position: relative; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; padding-block: 26px 30px; }
.ak-hero__title { margin: 6px 0; font-weight: 800; font-size: clamp(28px, 4.4vw, 42px); line-height: 1.05; letter-spacing: -1px; color: #fff; }
.ak-hero p { margin: 0; max-width: 700px; opacity: .9; }
.ak-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; font-weight: 700; }
.ak-steps li { height: 36px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.12); display: flex; align-items: center; }
.ak-steps li.is-on { background: var(--ak-coral); }

.ak-layout { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; padding-top: 20px; }
.ak-col { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ak-col--wide { flex: 1.25 1 520px; }
@media (min-width: 992px) { .ak-col--wide { position: sticky; top: 140px; } }
.ak-card { padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--ak-line); display: flex; flex-direction: column; gap: 12px; }
.ak-step { font-size: 16px; font-weight: 800; }
.ak-label { font-size: 13px; font-weight: 600; color: var(--ak-muted); }
.ak-field { display: flex; flex-direction: column; gap: 6px; }

.ak-ai { padding: 16px; border-radius: 18px; background: var(--cw-coral-soft, #FFF4EF); border: 1px solid var(--cw-coral-line, #F6D8CB); display: flex; flex-direction: column; gap: 10px; }
.ak-ai__head { display: flex; align-items: center; gap: 10px; font-weight: 800; flex-wrap: wrap; }
.ak-ai__head .cw-hand { font-size: 20px; }
.ak-ai__row { display: flex; gap: 6px; align-items: center; padding: 4px 4px 4px 18px; border-radius: 999px; background: #fff; border: 1px solid var(--cw-coral-line, #F3C9B8); }
.ak-ai__row input { flex: 1; min-width: 0; height: 44px; border: 0; outline: 0; background: transparent; font: inherit; color: var(--ak-ink); }
.ak-ai__row .cw-pill { min-height: 42px; padding: 0 18px; }
.ak-ai__note { font-size: 12.5px; color: #8A4B33; }

.ak-rooms { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.ak-rooms button { min-height: 72px; padding: 8px 4px; border-radius: 16px; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-ink); font-weight: 700; font-size: 12.5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; line-height: 1.2; text-align: center; }
.ak-rooms button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ak-rooms button[aria-checked="true"] { background: var(--ak-green); border-color: var(--ak-green); color: #fff; }
.ak-dims { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 420px) { .ak-dims { grid-template-columns: 1fr; } }
.ak-dims .bk-stepper__val input { width: 58px; }
.ak-page .bk-pills button { height: 44px; }

.ak-tilepick { display: flex; flex-direction: column; gap: 8px; }
.ak-tilepick__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ak-tilesearch input { height: 36px; width: 220px; max-width: 100%; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--ak-line); background: var(--ak-sand); font: inherit; font-size: 13px; }
.ak-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; }
.ak-tile { position: relative; display: flex; flex-direction: column; padding: 0; border-radius: 14px; overflow: hidden; border: 2px solid var(--ak-line); background: #fff; text-align: left; font: inherit; color: var(--ak-ink); cursor: pointer; }
.ak-tile__img { display: block; height: 70px; background: var(--ak-sand); }
.ak-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ak-tile__body { padding: 7px 9px; display: flex; flex-direction: column; line-height: 1.25; }
.ak-tile__body b { font-size: 12.5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ak-tile__body small { font-size: 11.5px; color: var(--ak-muted); }
.ak-tile__check { position: absolute; right: 6px; top: 6px; width: 22px; height: 22px; border-radius: 50%; background: var(--ak-coral); color: #fff; display: none; align-items: center; justify-content: center; }
.ak-tile__check svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.ak-tile.is-on { border-color: var(--ak-coral); }
.ak-tile.is-on .ak-tile__check { display: flex; }
.ak-empty { margin: 0; font-size: 13px; color: var(--ak-muted); }

.ak-toggles { display: flex; flex-direction: column; gap: 8px; }
.ak-toggle { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; border: 1.5px solid var(--ak-line); background: #fff; text-align: left; font: inherit; color: var(--ak-ink); }
.ak-toggle span:last-child { display: flex; flex-direction: column; line-height: 1.3; }
.ak-toggle small { font-size: 12.5px; color: var(--ak-muted); }
.ak-switch { position: relative; flex: none; width: 46px; height: 26px; border-radius: 13px; background: #D5CFC6; transition: background .15s; }
.ak-switch i { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: left .15s; }
.ak-toggle[aria-pressed="true"] .ak-switch { background: var(--ak-coral); }
.ak-toggle[aria-pressed="true"] .ak-switch i { left: 23px; }

.ak-preview { position: relative; height: 230px; border-radius: 18px; overflow: hidden; background: #E9E4DC; }
.ak-preview__wall { position: absolute; inset: 0 0 40% 0; background: linear-gradient(#D3CCC1 2px, transparent 2px) 0 0/100% 24px, linear-gradient(90deg, #D3CCC1 2px, transparent 2px) 0 0/64px 24px, linear-gradient(180deg, #FCFBF8, #EFEBE4); }
.ak-preview__wall[style*="url"] { background-size: 22% auto; background-repeat: repeat; }
.ak-preview[data-room="nappali"] .ak-preview__wall, .ak-preview[data-room="egyeb"] .ak-preview__wall { background: radial-gradient(70% 60% at 80% 10%, rgba(255,236,205,.9), transparent 70%), linear-gradient(180deg, #E9DFD1, #D8CAB7); }
.ak-preview[data-room="terasz"] .ak-preview__wall { background: linear-gradient(rgba(255,255,255,.12) 1.5px, transparent 1.5px) 0 0/100% 34px, linear-gradient(90deg, rgba(255,255,255,.12) 1.5px, transparent 1.5px) 0 0/68px 100%, linear-gradient(160deg, #3E6B5C, #1E3B33); }
.ak-preview__floor { position: absolute; left: 0; right: 0; bottom: 0; height: 42%; perspective: 700px; overflow: hidden; }
.ak-preview__floor i { position: absolute; left: -30%; right: -30%; top: 0; bottom: -90%; transform: rotateX(62deg); transform-origin: top center; background: linear-gradient(rgba(255,255,255,.85) 2px, transparent 2px) 0 0/100% 25%, linear-gradient(90deg, rgba(255,255,255,.85) 2px, transparent 2px) 0 0/12.5% 100%, linear-gradient(135deg, #C9C4BA, #A9A39A); }
.ak-preview__floor i[style*="url"] { background-size: 12.5% auto; background-repeat: repeat; }
.ak-preview__item { position: absolute; left: 12%; bottom: 26%; width: 30%; height: 20%; border-radius: 12px; background: linear-gradient(180deg, #fff, #E7E2DA); box-shadow: 0 18px 30px rgba(0,0,0,.16); }
.ak-preview[data-room="konyha"] .ak-preview__item { left: 0; width: 100%; border-radius: 0; height: 24%; background: linear-gradient(180deg, #2F6A55, #1E3B33); box-shadow: inset 0 4px 0 #EDE6DA; }
.ak-preview[data-room="nappali"] .ak-preview__item { width: 42%; border-radius: 20px 20px 8px 8px; background: linear-gradient(180deg, #E7DFD3, #CFC4B5); }
.ak-preview__tag { position: absolute; left: 14px; top: 14px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.94); font-size: 12.5px; font-weight: 700; }
.ak-preview__cta { position: absolute; right: 14px; bottom: 14px; min-height: 42px !important; padding: 0 16px !important; font-size: 13.5px !important; }

.ak-list { box-shadow: 0 22px 54px rgba(30,59,51,.08); }
.ak-list__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.ak-list__head h2 { margin: 0; font-weight: 800; font-size: 26px; }
.ak-list__head span { font-size: 13.5px; color: var(--ak-muted); }
.ak-areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ak-areas > span { padding: 10px 12px; border-radius: 14px; background: var(--ak-sand); display: flex; flex-direction: column; }
.ak-areas small { font-size: 12px; color: var(--ak-muted); }
.ak-areas b { font-size: clamp(17px, 2.2vw, 22px); }
.ak-areas .is-mint { background: var(--ak-mint); color: var(--ak-green); }
.ak-areas .is-mint small { color: var(--ak-green); }
.ak-lines { display: flex; flex-direction: column; gap: 8px; transition: opacity .15s; }
.is-busy .ak-lines { opacity: .55; }
.ak-line { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 14px; border: 1px solid var(--ak-line); background: #fff; }
.ak-line__img { flex: none; width: 48px; height: 48px; border-radius: 12px; overflow: hidden; background: var(--ak-sand); }
.ak-line__img img { width: 100%; height: 100%; object-fit: cover; }
.ak-line__body { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.ak-line__body b { font-size: 14px; }
.ak-line__body a { color: var(--ak-ink); }
.ak-line__body small { font-size: 12px; color: var(--ak-muted); }
.ak-line__qty { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; text-align: right; }
.ak-line__qty small { font-size: 12.5px; color: var(--ak-muted); }
.ak-line__toggle { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-muted); font-size: 17px; line-height: 1; }
span.ak-line__toggle { border: 0; }
.ak-line.is-off { opacity: .5; background: var(--ak-sand); }
.ak-line.is-info .ak-line__qty small { color: #B45309; }
@media (max-width: 575.98px) { .ak-line { flex-wrap: wrap; } .ak-line__qty { flex-direction: row; gap: 8px; align-items: baseline; } }
.ak-tip { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: var(--ak-mint); font-size: 14px; color: #24453C; }
.ak-totalrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--ak-line); }
.ak-totalrow > span { display: flex; flex-direction: column; }
.ak-totalrow small { font-size: 13px; color: var(--ak-muted); }
.ak-totalrow b { font-size: clamp(26px, 3.4vw, 34px); font-weight: 800; color: var(--ak-coral); line-height: 1.05; }
.ak-totalrow .cw-pill[disabled] { opacity: .5; pointer-events: none; }
.ak-added { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--ak-mint); border: 1px solid var(--cw-mint-line, #C9DCD3); }
.ak-added > span:nth-child(2) { flex: 1 1 200px; font-weight: 700; }
.ak-added.is-error { background: #FDECE7; border-color: #F3C9B8; }
.ak-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ak-email { flex: 1 1 280px; display: flex; align-items: center; height: 48px; padding: 0 4px 0 16px; border-radius: 999px; background: #fff; border: 1.5px solid var(--ak-line); }
.ak-email input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; }
.ak-email button { height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--ak-green); color: #fff; font-weight: 700; font-size: 13.5px; }
.ak-msg { margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--ak-mint); color: var(--ak-green); font-weight: 600; }
.ak-msg.is-error { background: #FDECE7; color: #8A2B14; }

/* Termékoldali szett */
.ak-set { margin-block: 18px; background: transparent; }
.ak-set__inner { position: relative; overflow: hidden; border-radius: 18px; background: var(--ak-green); color: #fff; padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.ak-set__leaf { right: 40px; top: -10px; width: 90px; height: 50px; transform: rotate(-30deg); opacity: .5; }
.ak-set__head { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; }
.ak-set__title { margin: 4px 0 0; font-weight: 800; font-size: clamp(22px, 3vw, 30px); line-height: 1.1; color: #fff; }
.ak-set__total { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ak-set__total > span { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.ak-set__total small { font-size: 12.5px; opacity: .8; }
.ak-set__total b { font-size: 24px; }
.ak-set__grid { position: relative; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.ak-set__item { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: 14px; border: 2px solid var(--ak-coral); background: #fff; color: var(--ak-ink); font: inherit; text-align: left; cursor: pointer; }
.ak-set__item[aria-pressed="false"] { border-color: var(--ak-line); opacity: .6; }
.ak-set__top { display: flex; justify-content: space-between; align-items: center; }
.ak-set__img { width: 54px; height: 54px; border-radius: 12px; overflow: hidden; background: var(--ak-sand); }
.ak-set__img img { width: 100%; height: 100%; object-fit: cover; }
.ak-set__check { width: 26px; height: 26px; border-radius: 50%; background: var(--ak-coral); color: #fff; display: flex; align-items: center; justify-content: center; }
.ak-set__check svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.ak-set__item[aria-pressed="false"] .ak-set__check { background: #fff; border: 1.5px solid var(--ak-line); color: transparent; }
.ak-set__item b { font-size: 14px; line-height: 1.3; }
.ak-set__item small { font-size: 12.5px; color: var(--ak-muted); }
.ak-set__foot { display: flex; justify-content: space-between; margin-top: auto; font-size: 13.5px; }
.ak-set__msg { margin: 0; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.12); }
.ak-set__msg a { color: #fff; text-decoration: underline; font-weight: 700; }

/* ---- Kosár: „Elfelejtetted?” ---- */
.ak-cartsug { --ak-green: var(--cw-green, #1E3B33); --ak-coral: var(--cw-coral, #E8623D); --ak-ink: var(--cw-ink, #1D2420); --ak-muted: var(--cw-muted, #6B716C); --ak-line: var(--cw-line, #ECE6DE);
    margin-top: 22px; padding: 20px; border-radius: 20px; background: #fff; border: 1.5px dashed #F2B9A6; }
.ak-cartsug__head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 12px; }
.ak-cartsug__head h2 { margin: 0; font-size: 19px; font-weight: 800; color: var(--ak-ink); }
.ak-cartsug__head h2 .cw-hand { color: var(--ak-coral); font-weight: 400; font-size: 1.05em; }
.ak-cartsug__head p { margin: 4px 0 0; font-size: 13.5px; color: var(--ak-muted); }
.ak-cartsug__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ak-cartsug__item { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 14px; background: #FBF8F4; cursor: pointer; }
.ak-cartsug__item:has(input:not(:checked)) { opacity: .55; }
.ak-cartsug__item input { width: 20px; height: 20px; flex: none; accent-color: var(--ak-green); }
.ak-cartsug__img { width: 52px; height: 52px; flex: none; border-radius: 12px; overflow: hidden; background: #fff; }
.ak-cartsug__img img { width: 100%; height: 100%; object-fit: contain; }
.ak-cartsug__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ak-cartsug__text a { font-size: 14px; font-weight: 700; color: var(--ak-ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ak-cartsug__text a:hover { color: var(--ak-coral); }
.ak-cartsug__text small { font-size: 12.5px; color: var(--ak-muted); }
.ak-cartsug__cost { font-size: 14px; white-space: nowrap; color: var(--ak-ink); }
.ak-cartsug__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; font-size: 14px; color: var(--ak-muted); }
.ak-cartsug__foot b { color: var(--ak-ink); font-size: 16px; }
.ak-cartsug__msg { margin: 10px 0 0; font-size: 13.5px; color: var(--ak-green); font-weight: 700; }

.ak-cartsug__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 8px; }
.ak-cartsug__row .ak-cartsug__item { min-width: 0; }
.ak-cartsug__row.is-swapped .ak-cartsug__item { box-shadow: inset 0 0 0 1.5px var(--ak-green); }
.ak-cartsug__swap { height: 36px; padding: 0 12px; border: 1.5px solid var(--ak-line); border-radius: 999px; background: #fff; color: var(--ak-green); font: inherit; font-size: 12.5px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.ak-cartsug__swap:hover, .ak-cartsug__swap[aria-expanded="true"] { border-color: var(--ak-green); }
.ak-cartsug__picker { grid-column: 1 / -1; padding: 10px; border-radius: 14px; background: #fff; border: 1.5px solid var(--ak-line); }
.ak-cartsug__picker input { width: 100%; height: 42px; padding: 0 14px; border: 1.5px solid var(--ak-line); border-radius: 12px; background: #FBF8F4; font: inherit; font-size: 14px; }
.ak-cartsug__picker input:focus { outline: 0; border-color: var(--ak-green); background: #fff; }
.ak-cartsug__options { list-style: none; margin: 8px 0 0; padding: 0; max-height: 280px; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; }
.ak-cartsug__opt { width: 100%; display: flex; align-items: center; gap: 10px; padding: 6px 8px; border: 0; border-radius: 10px; background: transparent; text-align: left; font: inherit; font-size: 13.5px; color: var(--ak-ink); cursor: pointer; }
.ak-cartsug__opt:hover, .ak-cartsug__opt:focus-visible { background: #F3EEE6; }
.ak-cartsug__opt img { width: 40px; height: 40px; border-radius: 8px; object-fit: contain; background: #fff; flex: none; }
.ak-cartsug__opt span { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.ak-cartsug__opt small { color: var(--ak-muted); font-size: 12px; }
.ak-cartsug__opt b { white-space: nowrap; }
.ak-cartsug__opt.is-wait { color: var(--ak-muted); cursor: default; }
@media (max-width: 575.98px) { .ak-cartsug__row { grid-template-columns: minmax(0, 1fr); } .ak-cartsug__swap { justify-self: end; } }
.ak-cartsug__swap { display: inline-flex; align-items: center; gap: 6px; }
.ak-cartsug__swap svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ak-cartsug__swap .ak-ico-close, .ak-cartsug__swap[aria-expanded="true"] .ak-ico-swap { display: none; }
.ak-cartsug__swap[aria-expanded="true"] .ak-ico-close { display: block; }

/* ---- Közös anyaglista: törlés (áthúzva, visszaállítható) és csere azonos kategóriájú termékre ---- */
.ak-line { flex-wrap: wrap; }
.ak-line.is-off { opacity: 1; background: var(--ak-sand); }
.ak-line.is-off .ak-line__img, .ak-line.is-off .ak-line__body, .ak-line.is-off .ak-line__qty { opacity: .5; }
.ak-line.is-off .ak-line__body b, .ak-line.is-off .ak-line__qty b { text-decoration: line-through; }
.ak-line.is-swapped { border-color: color-mix(in srgb, var(--ak-green) 45%, var(--ak-line)); }
.ak-line__acts { display: flex; align-items: center; gap: 6px; flex: none; }
.ak-act { height: 34px; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-green); font: inherit; font-size: 12.5px; font-weight: 800; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; cursor: pointer; }
.ak-act svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ak-act:hover, .ak-act[aria-expanded="true"] { border-color: var(--ak-green); }
.ak-act--restore { color: #B8401F; border-color: var(--ak-coral); }
.ak-x { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--ak-line); background: #fff; color: var(--ak-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ak-x svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.ak-x:hover { border-color: var(--ak-coral); color: var(--ak-coral); }
.ak-badge { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--ak-mint); color: var(--ak-green); font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; vertical-align: 2px; }
.ak-unswap { align-self: flex-start; margin-top: 2px; padding: 0; border: 0; background: none; color: var(--ak-muted); font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; }
.ak-swap { flex-basis: 100%; margin: 4px 0 0 60px; padding: 10px; border-radius: 14px; background: var(--ak-sand); border: 1.5px solid var(--ak-line); }
.ak-swap__search input { width: 100%; height: 42px; padding: 0 14px; border-radius: 12px; border: 1.5px solid var(--ak-green); background: #fff; font: inherit; font-size: 14px; }
.ak-swap__list { list-style: none; margin: 8px 0 0; padding: 0; max-height: 300px; overflow-y: auto; display: flex; flex-direction: column; gap: 4px; }
.ak-swap__opt { width: 100%; display: flex; align-items: center; gap: 10px; padding: 7px 8px; border: 0; border-radius: 10px; background: transparent; text-align: left; font: inherit; font-size: 13.5px; color: var(--ak-ink); cursor: pointer; }
.ak-swap__opt:hover, .ak-swap__opt:focus-visible { background: #fff; }
.ak-swap__opt img { width: 40px; height: 40px; border-radius: 8px; object-fit: contain; background: #fff; flex: none; }
.ak-swap__opt span { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.ak-swap__opt small { font-size: 12px; color: var(--ak-muted); }
.ak-swap__opt b { display: flex; flex-direction: column; align-items: flex-end; white-space: nowrap; }
.ak-swap__opt b small { font-weight: 800; }
.ak-swap__opt b small.is-up { color: #B8401F; }
.ak-swap__opt b small.is-down { color: #2F6A55; }
.ak-swap__wait { padding: 8px; font-size: 13px; color: var(--ak-muted); }
.ak-why { margin-top: 3px; font-size: 12.5px; }
.ak-why summary { cursor: pointer; color: #2F6A55; font-weight: 700; list-style: none; }
.ak-why summary::-webkit-details-marker { display: none; }
.ak-why span { display: block; margin-top: 3px; color: #4A524D; line-height: 1.45; }
.ak-pics { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 5px; align-items: center; }
.ak-pics i { width: 14px; height: 14px; border-radius: 4px; background: #E9B38F; }
.ak-pics em { margin-left: 3px; font-style: normal; font-size: 11.5px; font-weight: 800; color: var(--ak-muted); }
@media (max-width: 575.98px) { .ak-swap { margin-left: 0; } .ak-line__acts { margin-left: auto; } }

/* ================= Változatok (A/B/C) – közös elemek ================= */
.akv-hero { position: relative; overflow: hidden; background: var(--ak-green); color: #fff; }
.akv-hero__inner { padding-top: 34px; padding-bottom: 30px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px; }
.akv-hero__inner > div:first-child { max-width: 720px; }
.akv-eyebrow { display: block; margin-bottom: 8px; font-size: 12.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #F2A98E; }
.akv-title { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.05; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.akv-title .cw-hand { color: #F08A64; font-size: 1.12em; }
.akv-hero p { margin: 12px 0 0; font-size: 16px; line-height: 1.5; color: #CFE0D8; }
.akv-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 4px; border-radius: 999px; background: #F1ECE4; }
.akv-seg button { border: 0; border-radius: 999px; padding: 8px 14px; background: transparent; color: #4A524D; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.akv-seg button[aria-pressed="true"] { background: var(--ak-green); color: #fff; }
.akv-seg--dark { background: rgba(255,255,255,.1); }
.akv-seg--dark button { color: #DDE7E2; }
.akv-seg--dark button[aria-pressed="true"] { background: #fff; color: var(--ak-green); }
.akv-seg--full { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
.akv-seg--inline { padding: 3px; }
.akv-seg--inline button { padding: 6px 10px; font-size: 12.5px; }
.akv-totaldark { padding: 16px 18px; border-radius: 18px; background: var(--ak-green); color: #fff; }
.akv-totaldark small { color: #CFE0D8 !important; }
.akv-totaldark b { color: #fff; }
.akv-weight { display: block; margin-top: 4px; font-size: 12.5px; }

/* ================= A · Élő 3D szoba ================= */
.akv-a__layout { padding-top: 26px; padding-bottom: 60px; display: flex; flex-wrap: wrap; gap: 26px; align-items: flex-start; }
.akv-a__main { flex: 999 1 600px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.akv-a__aside { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 12px; position: sticky; top: 140px; }
.akv-stage { position: relative; height: 560px; border-radius: 26px; overflow: hidden; background: radial-gradient(90% 80% at 50% 30%, #FFFFFF, #EFE8DD); box-shadow: inset 0 0 0 1px var(--ak-line); }
.akv-stage__chips { position: absolute; left: 18px; top: 16px; z-index: 3; display: flex; flex-wrap: wrap; gap: 8px; }
.akv-stage__chips span { padding: 7px 12px; border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 700; color: var(--ak-green); box-shadow: 0 4px 12px rgba(30,59,51,.1); }
.akv-stage__chips span.is-coral { background: var(--ak-coral); color: #fff; }
.akv-stage__view { position: absolute; right: 16px; top: 14px; z-index: 3; background: #fff; box-shadow: 0 4px 12px rgba(30,59,51,.1); }
.akv-stage__vp { position: absolute; inset: 40px 0 70px; perspective: 1700px; display: flex; align-items: center; justify-content: center; }
.akv-scene { transform-style: preserve-3d; transition: transform .6s cubic-bezier(.2,.8,.2,1); transform: rotateX(57deg) rotateZ(40deg) translateZ(-30px); }
.akv-stage[data-view="top"] .akv-scene { transform: none; }
.akv-room { position: relative; transform-style: preserve-3d; transition: width .35s ease, height .35s ease; }
.akv-floor, .akv-grout { position: absolute; inset: 0; background-repeat: repeat; }
.akv-floor { box-shadow: 0 30px 60px rgba(30,59,51,.25); background-color: #EDE8E1; }
.akv-fb--tile { background: linear-gradient(118deg, transparent 38%, rgba(110,112,120,.22) 39.4%, transparent 41.5%), radial-gradient(120% 90% at 20% 10%, #FCFBF9, #E2DED8); }
.akv-fb--wood { background: repeating-linear-gradient(90deg, transparent 0 30px, rgba(60,35,15,.08) 30px 31px), linear-gradient(180deg, #D7B48A, #B88B5E); }
.akv-fb--wall { background: linear-gradient(180deg, #FCFBF8, #EFEBE4); }
.akv-wall { position: absolute; left: 0; top: 0; background: linear-gradient(180deg, #F4EFE7, #EAE3D8); transform-style: preserve-3d; transition: width .35s ease, height .35s ease; }
.akv-wall--back { transform-origin: top; transform: rotateX(90deg); }
.akv-wall--left { transform-origin: left; transform: rotateY(-90deg); filter: brightness(.94); }
.akv-wall__tiles { position: absolute; display: block; background-repeat: repeat; transition: height .35s ease, width .35s ease; }
.akv-stage[data-view="top"] .akv-wall { display: none; }
.akv-shower { position: absolute; left: 6px; top: 6px; border-radius: 6px; background: rgba(255,255,255,.7); box-shadow: inset 0 0 0 3px rgba(30,59,51,.25); }
.akv-dim { position: absolute; font-size: 20px; font-weight: 800; color: var(--ak-green); white-space: nowrap; }
.akv-dim--x { left: 0; right: 0; bottom: -32px; text-align: center; }
.akv-dim--y { top: 50%; right: -74px; transform: translateY(-50%); }
.akv-stage__bar { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 3; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.akv-dimctl { display: flex; align-items: center; gap: 6px; padding: 5px 6px 5px 14px; border-radius: 999px; background: #fff; box-shadow: 0 8px 22px rgba(30,59,51,.12); font-size: 12.5px; font-weight: 700; color: var(--ak-muted); }
.akv-dimctl > button { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid #E2DBD0; background: #fff; font: inherit; font-size: 18px; font-weight: 700; color: var(--ak-ink); cursor: pointer; }
.akv-dimctl > button:hover { border-color: var(--ak-green); }
.akv-dimctl__val { display: inline-flex; align-items: baseline; gap: 2px; font-size: 16px; font-weight: 800; color: var(--ak-ink); }
.akv-dimctl__val input { width: 44px; border: 0; background: transparent; font: inherit; text-align: right; color: inherit; }
.akv-dimctl--h { padding-right: 4px; }
.akv-a__pickers { gap: 14px; }
.akv-a__details { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-start; justify-content: space-between; }
.akv-a .ak-pics i { background: #C9B79C; }
.akv-roomlink { align-self: stretch; justify-content: center; }
@media (max-width: 767.98px) {
    .akv-stage { height: 470px; }
    .akv-a__aside { position: static; }
    .akv-dim { font-size: 15px; }
}


/* ================= B · Mondd el ================= */
.akv-b__heroin { max-width: 980px; padding-top: 46px; padding-bottom: 38px; text-align: center; display: block; }
.akv-b__heroin p { margin-left: auto; margin-right: auto; max-width: 640px; }
.akv-b__prompt { margin: 24px auto 0; padding: 10px; border-radius: 26px; background: #fff; text-align: left; box-shadow: 0 30px 70px rgba(0,0,0,.25); }
.akv-b__prompt textarea { width: 100%; border: 0; resize: none; padding: 12px 14px; font: inherit; font-size: 18px; line-height: 1.45; outline: 0; color: var(--ak-ink); background: transparent; }
.akv-b__promptbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 2px 4px; }
.akv-b__spacer { flex: 1; }
.akv-b__mic { width: 46px; height: 46px; border-radius: 50%; border: 0; background: #F1ECE4; color: var(--ak-green); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.akv-b__mic svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.akv-b__mic.is-on { background: var(--ak-coral); color: #fff; }
.akv-b__manual { border: 0; background: none; color: var(--ak-muted); font: inherit; font-size: 13.5px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.akv-b__examples { margin-top: 16px; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; align-items: center; }
.akv-b__examples span { font-size: 13px; color: #9FBDB1; }
.akv-b__examples button { border: 1.5px solid rgba(255,255,255,.22); background: transparent; color: #DDE7E2; border-radius: 999px; padding: 8px 14px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.akv-b__examples button:hover { border-color: #F08A64; color: #fff; }
.akv-b__status { margin: 16px auto 0; display: inline-block; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 14px; font-weight: 600; color: #fff; }
.akv-b__result { padding-top: 26px; padding-bottom: 60px; display: flex; flex-direction: column; gap: 20px; }
.akv-b__result[hidden] { display: none; }
.akv-b__chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.akv-b__chips [data-akb-chips] { display: contents; }
.akv-b__chipslabel { font-size: 14px; font-weight: 800; color: var(--ak-muted); }
.akv-b__chip { display: inline-flex; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1.5px solid var(--ak-line); font-size: 14px; font-weight: 700; color: var(--ak-green); }
.akv-b__manual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.akv-b__cols { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.akv-b__col { flex: 1 1 280px; min-width: 0; }
.akv-b__col--wide { flex: 2 1 460px; display: flex; flex-direction: column; gap: 16px; }
.akv-b__lbl { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ak-coral); }
.akv-b__planbox { height: 210px; border-radius: 16px; background: var(--ak-sand); display: flex; align-items: center; justify-content: center; }
.akv-b__plan { position: relative; background: linear-gradient(118deg, transparent 38%, rgba(110,112,120,.22) 39.4%, transparent 41.5%), radial-gradient(120% 90% at 20% 10%, #FCFBF9, #E2DED8); box-shadow: 0 0 0 6px var(--ak-green); transition: width .35s, height .35s; }
.akv-b__plan.is-wood { background: repeating-linear-gradient(90deg, transparent 0 30px, rgba(60,35,15,.08) 30px 31px), linear-gradient(180deg, #D7B48A, #B88B5E); }
.akv-b__shower { position: absolute; right: 0; top: 0; background: repeating-linear-gradient(45deg, rgba(30,59,51,.25) 0 2px, rgba(255,255,255,.6) 2px 8px); box-shadow: inset 0 0 0 2px rgba(30,59,51,.45); }
.akv-b__dimx { position: absolute; left: 50%; bottom: -28px; transform: translateX(-50%); font-size: 13px; font-weight: 800; color: var(--ak-green); }
.akv-b__dimy { position: absolute; top: 50%; left: -50px; transform: translateY(-50%); font-size: 13px; font-weight: 800; color: var(--ak-green); }
.akv-b__areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.akv-b__areas > span { padding: 12px; border-radius: 14px; background: var(--ak-mint); display: flex; flex-direction: column; }
.akv-b__areas small { font-size: 12px; color: #4A524D; }
.akv-b__areas b { font-size: 20px; }
.akv-b__budgethead { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; flex-wrap: wrap; }
.akv-b__budgethead .is-ok { color: #2F6A55; }
.akv-b__budgethead .is-over { color: #B8401F; }
.akv-b__meter { margin-top: 8px; height: 12px; border-radius: 999px; background: #F1ECE4; overflow: hidden; }
.akv-b__meter i { display: block; height: 100%; border-radius: 999px; transition: width .5s ease; }
.akv-b__meter i.is-ok { background: #2F6A55; }
.akv-b__meter i.is-over { background: var(--ak-coral); }
.akv-b__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.akv-b__tile { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 8px 12px; padding: 12px; border-radius: 16px; background: var(--ak-sand); align-items: start; }
.akv-b__tile img { width: 76px; height: 76px; border-radius: 12px; object-fit: cover; flex: none; }
.akv-b__tile > span { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.akv-b__tile small { font-size: 11.5px; font-weight: 800; letter-spacing: .06em; color: var(--ak-coral); }
.akv-b__tile b { font-size: 14px; line-height: 1.3; }
.akv-b__tile em, .akv-b__tile i { font-style: normal; font-size: 12.5px; color: var(--ak-muted); }
.akv-b__tile .ak-act { grid-column: 1 / -1; justify-self: end; }
.akv-b__steps { list-style: none; margin: 14px 0 0; padding: 0; counter-reset: st; }
.akv-b__steps li { position: relative; padding: 0 0 16px 36px; counter-increment: st; display: flex; flex-direction: column; }
.akv-b__steps li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--ak-mint); color: var(--ak-green); font-size: 11.5px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.akv-b__steps li.is-first::before { background: var(--ak-coral); color: #fff; }
.akv-b__steps li::after { content: ""; position: absolute; left: 11px; top: 26px; bottom: 0; width: 2px; background: var(--ak-line); }
.akv-b__steps li:last-child::after { display: none; }
.akv-b__steps b { font-size: 14px; }
.akv-b__steps small { font-size: 12.5px; color: var(--ak-muted); }
.akv-b__plannote { margin: 4px 0 0; padding: 12px; border-radius: 14px; background: #F8E6DC; font-size: 13px; font-weight: 700; color: var(--ak-green); }
@media (max-width: 767.98px) { .akv-b__manual-grid { grid-template-columns: minmax(0, 1fr); } .akv-b__prompt textarea { font-size: 16px; } }

/* ================= C · Lerakási terv ================= */
.akv-c__layout { padding-top: 26px; padding-bottom: 60px; display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.akv-c__main { flex: 999 1 640px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.akv-c__aside { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.akv-c__planhead { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.akv-c__planhead b { font-size: 16px; }
.akv-c__legend { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--ak-muted); }
.akv-c__legend i { width: 16px; height: 16px; border-radius: 4px; margin-left: 6px; }
.akv-c__legend i.is-whole, .akv-c__t.is-whole { background: linear-gradient(118deg, transparent 38%, rgba(110,112,120,.2) 39.4%, transparent 41.5%), radial-gradient(120% 90% at 20% 10%, #FFFFFF, #E7E3DD); box-shadow: inset 0 0 0 1px #C9C2B8; }
.akv-c__legend i.is-cut, .akv-c__t.is-cut { background: repeating-linear-gradient(45deg, rgba(232,98,61,.30) 0 3px, rgba(232,98,61,.12) 3px 9px), #FBE7DE; box-shadow: inset 0 0 0 1px var(--ak-coral); }
.akv-c__legend i.is-thin, .akv-c__t.is-thin { background: repeating-linear-gradient(45deg, rgba(232,98,61,.75) 0 3px, rgba(232,98,61,.45) 3px 7px), #F6C3B1; box-shadow: inset 0 0 0 2px #B8401F; }
.akv-c__t.is-whole.is-plank { background: repeating-linear-gradient(90deg, transparent 0 46px, rgba(60,35,15,.10) 46px 47px), linear-gradient(180deg, #D7B48A, #BE9266); box-shadow: inset 0 0 0 1px rgba(60,35,15,.35); }
.akv-c__canvas { position: relative; display: flex; justify-content: center; padding: 40px 70px 46px; border-radius: 18px; overflow-x: auto; background-color: var(--ak-sand); background-image: radial-gradient(circle, rgba(30,59,51,.13) 1px, transparent 1.5px); background-size: 17px 17px; }
.akv-c__room { position: relative; flex: none; box-shadow: 0 0 0 7px var(--ak-green), 0 24px 50px rgba(30,59,51,.2); transition: width .3s, height .3s; }
.akv-c__t { position: absolute; transition: left .35s ease, top .35s ease, width .35s ease, height .35s ease; }
.akv-c__showerzone { position: absolute; top: 0; background: #fff; box-shadow: inset 0 0 0 3px var(--ak-green); display: flex; align-items: center; justify-content: center; text-align: center; font-size: 12px; font-weight: 800; color: var(--ak-green); }
.akv-c__start { position: absolute; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: var(--ak-coral); box-shadow: 0 0 0 4px rgba(232,98,61,.3); transition: left .35s, top .35s; }
.akv-c__start em { position: absolute; left: 14px; top: -24px; padding: 3px 8px; border-radius: 999px; background: var(--ak-coral); color: #fff; font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.akv-c__dimx { position: absolute; left: 0; right: 0; top: -30px; text-align: center; font-size: 13px; font-weight: 800; color: var(--ak-green); }
.akv-c__dimy { position: absolute; top: 50%; right: -60px; transform: translateY(-50%); font-size: 13px; font-weight: 800; color: var(--ak-green); }
.akv-c__note { margin: 0; padding: 10px 12px; border-radius: 12px; background: #FFF3EC; font-size: 13px; color: #8A3A1F; }
.akv-c__controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.akv-c__controls .akv-dimctl { box-shadow: none; border: 1.5px solid var(--ak-line); }
.akv-c__settings { gap: 14px; }
.akv-c__settings .ak-label { display: block; margin-bottom: 6px; }
.akv-c__opt { width: 100%; justify-content: center; background: var(--ak-green); color: #fff; }
.akv-c__opt.is-on { background: #2F6A55; }
.akv-c__opt svg { fill: none; stroke: currentColor; stroke-width: 2; }
.akv-c__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.akv-c__stats > div { padding: 12px 14px; border-radius: 14px; background: var(--ak-sand); display: flex; flex-direction: column; }
.akv-c__stats small { font-size: 12px; font-weight: 600; color: var(--ak-muted); }
.akv-c__stats b { font-size: 24px; letter-spacing: -.02em; }
.akv-c__stats b.is-cut { color: #C9502C; }
.akv-c__stats b.is-bad { color: #B8401F; }
.akv-c__stats b.is-good { color: #2F6A55; }
.akv-c__tip { margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--ak-mint); font-size: 13.5px; line-height: 1.45; font-weight: 600; color: var(--ak-green); }
.akv-c__tip.is-bad { background: #FBE7DE; }
.akv-c__print { width: 100%; justify-content: center; }
.akv-c__print svg { fill: none; stroke: currentColor; stroke-width: 2; }
@media (max-width: 767.98px) {
    .akv-c__canvas { padding: 36px 46px 40px 16px; }
    .akv-c__dimy { right: -44px; font-size: 12px; }
    .akv-c__start em { font-size: 10px; top: 16px; left: 10px; }
    .akv-c__showerzone { font-size: 10px; }
    .akv-c__controls { flex-direction: column; align-items: stretch; }
    .akv-c__controls .akv-dimctl { justify-content: space-between; }
    .akv-c__stats b { font-size: 20px; }
}
@media print {
    body * { visibility: hidden !important; }
    .akv-c__printable, .akv-c__printable * { visibility: visible !important; }
    .akv-c__printable { position: relative; box-shadow: none !important; border: 0 !important; break-inside: avoid; }
    .akv-c__plancard { position: absolute; left: 0; top: 0; width: 100%; }
    .ak-list.akv-c__printable { position: absolute; left: 0; top: 640px; width: 100%; }
    .ak-line__acts, .akv-c__controls, [data-ak-addall], .ak-added, .ak-email, .ak-msg, .ak-unswap { display: none !important; }
    .akv-c__canvas { background: #fff !important; }
}

/* ---- Anyaglista-sor keskeny helyen (telefon, valamint az A/C oldalsávja):
   kép + név felül, alatta mennyiség és ár egy sorban, legalul jobbra a gombok ---- */
@media (max-width: 575.98px) {
    .ak-line { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 10px; row-gap: 6px; align-items: start; }
    .ak-line__img { width: 44px; height: 44px; }
    .ak-line__qty { grid-column: 2; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 8px; text-align: left; }
    .ak-line__acts { grid-column: 1 / -1; justify-content: flex-end; margin-left: 0; }
    .ak-swap { grid-column: 1 / -1; margin-left: 0; }
    .ak-swap__opt b { font-size: 13px; }
}
@media (min-width: 576px) {
    .akv-a__aside .ak-line, .akv-c__aside .ak-line { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 10px; row-gap: 6px; align-items: start; }
    .akv-a__aside .ak-line__img, .akv-c__aside .ak-line__img { width: 44px; height: 44px; }
    .akv-a__aside .ak-line__qty, .akv-c__aside .ak-line__qty { grid-column: 2; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 8px; text-align: left; }
    .akv-a__aside .ak-line__acts, .akv-c__aside .ak-line__acts { grid-column: 1 / -1; justify-content: flex-end; }
    .akv-a__aside .ak-swap, .akv-c__aside .ak-swap { grid-column: 1 / -1; margin-left: 0; }
}

/* ---- Változatok: telefon és tablet ---- */
@media (max-width: 767.98px) {
    /* A hero helyiségválasztója: vízszintesen görgethető sáv (nem törik több sorba) */
    .akv-hero .akv-seg--dark { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; border-radius: 16px; }
    .akv-hero .akv-seg--dark::-webkit-scrollbar { display: none; }
    .akv-hero .akv-seg--dark button { flex: none; white-space: nowrap; }
    .akv-hero__inner { padding-top: 24px; padding-bottom: 22px; }
    .akv-hero p { font-size: 15px; }
    /* A · 3D-tér: feliratok fölötte, vezérlők alatta – nem csúsznak egymásra */
    .akv-stage { height: auto; display: flex; flex-direction: column; gap: 10px; padding: 12px; }
    .akv-stage__chips, .akv-stage__view, .akv-stage__bar { position: static; }
    .akv-stage__view { align-self: flex-start; }
    .akv-stage__vp { position: relative; inset: auto; height: 300px; }
    .akv-stage__bar { flex-direction: column; align-items: stretch; }
    .akv-dimctl { justify-content: space-between; }
    .akv-dimctl--h { flex-wrap: wrap; border-radius: 18px; }
    .akv-a__layout, .akv-c__layout { padding-top: 16px; gap: 16px; }
    .akv-a__details { flex-direction: column; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .akv-a__aside, .akv-c__aside { flex-basis: 100%; position: static; }
    .akv-stage { height: 520px; }
}
@media (max-width: 575.98px) {
    .akv-b__heroin { padding-top: 26px; padding-bottom: 26px; }
    .akv-b__promptbar .cw-pill { flex: 1 1 100%; justify-content: center; }
    .akv-b__spacer { display: none; }
    .akv-b__chip { padding: 6px 11px; font-size: 13px; }
    .akv-b__chipslabel { flex-basis: 100%; }
    .akv-b__tile { grid-template-columns: 60px minmax(0, 1fr); }
    .akv-b__tile img { width: 60px; height: 60px; }
    .akv-b__planbox { height: 180px; }
}
/* C telefonon és tableten: alaprajz → beállítások és eredmény → lapválasztó → anyaglista */
@media (max-width: 1199.98px) {
    .akv-c__layout { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
    .akv-c__main, .akv-c__aside { display: contents; }
    .akv-c__plancard { order: 1; }
    .akv-c__settings { order: 2; }
    .akv-c__main > .ak-card:not(.akv-c__plancard) { order: 3; }
    .akv-c__aside > .ak-list { order: 4; }
}
/* B tableten: Helyiség + Munkaterv egymás mellett, alattuk teljes szélességben a lapok és az anyaglista */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .akv-b__col { flex: 1 1 calc(50% - 10px); }
    .akv-b__col--wide { order: 3; flex-basis: 100%; }
}

