/* RAVENO Konfigurator v4.1 — scoped to #raveno-konfigurator, prefix .rvk- */
/* No external fonts (GDPR): system stack, price digits tabular. */
#raveno-konfigurator{
  --rvk-paper:#EDEBE4; --rvk-card:#F6F4EE; --rvk-ink:#1E1E1C; --rvk-muted:#79746A;
  --rvk-forest:#3C5A46; --rvk-forest-dark:#33503e; --rvk-line:#CDC9BE;
  background:var(--rvk-paper); color:var(--rvk-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased;
  padding:0 clamp(16px,4vw,40px) 40px; max-width:1320px; margin:0 auto;
}
#raveno-konfigurator *{box-sizing:border-box}
#raveno-konfigurator img{max-width:100%}
#raveno-konfigurator h2,#raveno-konfigurator h3{margin:0;font-weight:650;letter-spacing:-.01em;line-height:1.25}
#raveno-konfigurator .rvk-num, #raveno-konfigurator .val, #raveno-konfigurator .n,
#raveno-konfigurator .pr, #raveno-konfigurator .rvk-priceline b{font-variant-numeric:tabular-nums}

/* topbar */
.rvk-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0 4px}
.rvk-brandline{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--rvk-muted);font-weight:600}
.rvk-topprice{display:flex;align-items:baseline;gap:10px}
.rvk-topprice .lbl{font-size:10px;letter-spacing:.16em;color:var(--rvk-muted);text-transform:uppercase}
.rvk-topprice .val{font-weight:700;font-size:18px}

/* steps */
.rvk-steps{display:flex;gap:8px;align-items:center;justify-content:center;padding:14px 0 10px;flex-wrap:wrap}
.rvk-stepitem{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.04em;color:var(--rvk-muted);
  background:none;border:none;padding:4px;cursor:default;font-family:inherit}
.rvk-stepitem:not([disabled]){cursor:pointer}
.rvk-stepitem .rvk-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--rvk-line);display:flex;align-items:center;justify-content:center;font-size:11px;background:var(--rvk-card)}
.rvk-stepitem.active{color:var(--rvk-ink);font-weight:600}
.rvk-stepitem.active .rvk-dot{background:var(--rvk-forest);color:#fff;border-color:var(--rvk-forest)}
.rvk-stepitem.done .rvk-dot{background:var(--rvk-ink);color:#fff;border-color:var(--rvk-ink)}
.rvk-stepsep{width:26px;height:1px;background:var(--rvk-line)}

/* layout */
.rvk-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,4vw,52px);padding:10px 0 60px}
@media(max-width:960px){.rvk-grid{grid-template-columns:1fr;padding-bottom:90px}}
.rvk-stage{position:sticky;top:90px;align-self:start}
@media(max-width:960px){.rvk-stage{position:static;margin-bottom:8px}}
.rvk-stageinner{background:linear-gradient(160deg,#F2F0E9,#E6E3DA);border:1px solid var(--rvk-line);border-radius:3px;padding:8px}
.rvk-viz{position:relative;border-radius:2px;overflow:hidden;background:#E9E6DD;min-height:120px}
.rvk-viz img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.rvk-ph{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--rvk-muted);font-size:12px}
.rvk-eyebrow{position:absolute;top:12px;left:14px;z-index:2;font-size:10px;letter-spacing:.18em;color:#fff;text-transform:uppercase;background:rgba(30,30,28,.55);padding:4px 9px;border-radius:2px;backdrop-filter:blur(3px)}
.rvk-summary{padding:16px 8px 6px}
.rvk-h2{font-size:21px}
.rvk-sub{font-size:12px;color:var(--rvk-muted);margin:3px 0 12px;letter-spacing:.03em}
.rvk-desc{color:var(--rvk-muted);font-size:13px;margin:0 0 10px}
.rvk-fromprice{border-top:1px solid var(--rvk-line);padding-top:12px;font-size:14px}
.rvk-fromprice b{font-size:22px}
.rvk-fromprice span{display:block;font-size:11px;color:var(--rvk-muted);margin-top:2px}
.rvk-pricebox{border-top:1px solid var(--rvk-line);padding-top:14px}
.rvk-priceline{display:flex;justify-content:space-between;font-size:13px;color:var(--rvk-muted);margin-bottom:6px}
.rvk-priceline b{color:var(--rvk-ink);font-weight:600}
.rvk-pricetotal{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:10px;border-top:1px solid var(--rvk-ink)}
.rvk-pricetotal .t{font-weight:650;font-size:15px}
.rvk-pricetotal .n{font-weight:750;font-size:28px;letter-spacing:-.02em}
.rvk-vat{font-size:10.5px;color:var(--rvk-muted);margin-top:6px}
.rvk-cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.rvk-mt18{margin-top:18px}
.rvk-btn{appearance:none;border:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:14px;padding:13px 22px;border-radius:3px;letter-spacing:.01em;transition:transform .15s,background .2s,border-color .2s}
.rvk-btn-primary{background:var(--rvk-forest);color:#F4F2EA}
.rvk-btn-primary:hover{background:var(--rvk-forest-dark);transform:translateY(-1px)}
.rvk-btn-ghost{background:transparent;color:var(--rvk-ink);border:1px solid var(--rvk-line)}
.rvk-btn-ghost:hover{border-color:var(--rvk-ink)}
.rvk-btn[disabled]{opacity:.4;cursor:not-allowed;transform:none}
.rvk-btn-big{width:100%;padding:15px 22px;font-size:15px}
.rvk-finehint{font-size:11px;color:var(--rvk-muted);margin-top:12px;line-height:1.5}
.rvk-finehint a{color:inherit}

/* panel */
.rvk-panelhead{margin-bottom:14px}
.rvk-panelhead p{color:var(--rvk-muted);font-size:13.5px;margin:6px 0 0;max-width:52ch}
.rvk-k{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--rvk-forest);margin-bottom:6px;font-weight:600}

/* line cards */
.rvk-linecards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.rvk-linecards{grid-template-columns:1fr}}
.rvk-linecard{text-align:left;background:var(--rvk-card);border:1px solid var(--rvk-line);border-radius:3px;overflow:hidden;cursor:pointer;transition:border-color .18s,box-shadow .18s;padding:0;font:inherit;color:inherit}
.rvk-linecard:hover{border-color:#B7B2A5}
.rvk-linecard.sel{border-color:var(--rvk-forest);box-shadow:0 0 0 1px var(--rvk-forest) inset}
.rvk-linecard .im{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#e5e2d9}
.rvk-linecard .bd{padding:12px 14px 14px}
.rvk-linecard .nm{font-weight:650;font-size:17px}
.rvk-linecard .tg{font-size:11px;color:var(--rvk-muted);margin-top:2px;letter-spacing:.03em}
.rvk-linecard .ds{font-size:12.5px;color:var(--rvk-muted);margin-top:8px;line-height:1.45}
.rvk-linecard .ab{font-size:12px;margin-top:10px;padding-top:9px;border-top:1px solid var(--rvk-line);color:var(--rvk-muted)}
.rvk-linecard .ab b{color:var(--rvk-ink);font-size:14px}

/* variant cards */
.rvk-vcards{display:grid;gap:11px}
.rvk-vcard{display:flex;gap:14px;align-items:center;background:var(--rvk-card);border:1px solid var(--rvk-line);border-radius:3px;overflow:hidden;cursor:pointer;transition:border-color .18s,box-shadow .18s;padding:0;font:inherit;color:inherit;text-align:left}
.rvk-vcard:hover{border-color:#B7B2A5}
.rvk-vcard.sel{border-color:var(--rvk-forest);box-shadow:0 0 0 1px var(--rvk-forest) inset}
.rvk-vcard .im{width:150px;height:110px;object-fit:cover;flex:0 0 auto;background:#e5e2d9;align-self:stretch}
.rvk-vcard .im.ph{display:flex;align-items:center;justify-content:center;color:var(--rvk-muted);font-size:10px;text-align:center;padding:6px;width:150px}
.rvk-vcard .bd{flex:1;padding:12px 14px}
.rvk-vcard .ln{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rvk-forest);font-weight:600}
.rvk-vcard .dm{font-weight:650;font-size:17px;margin-top:2px}
.rvk-vcard .ms{font-size:11.5px;color:var(--rvk-muted);margin-top:3px}
.rvk-vcard .pr{font-weight:700;font-size:14px;margin-top:6px}
.rvk-vcard .pr small{color:var(--rvk-muted);font-weight:400;font-size:11px}
@media(max-width:480px){.rvk-vcard .im,.rvk-vcard .im.ph{width:110px}}

/* option sections */
.rvk-section{padding:22px 0;border-top:1px solid var(--rvk-line);margin-top:8px}
.rvk-sectag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--rvk-forest);margin-bottom:6px;font-weight:600}
.rvk-sectitle{font-size:18px;margin-bottom:3px}
.rvk-secdesc{color:var(--rvk-muted);font-size:13px;margin-bottom:14px;max-width:48ch}
.rvk-choices{display:grid;gap:10px}
.rvk-choices.cols-2{grid-template-columns:1fr 1fr}
.rvk-choices.cols-3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:520px){.rvk-choices.cols-2,.rvk-choices.cols-3{grid-template-columns:1fr}}
.rvk-choice{display:flex;align-items:center;gap:12px;text-align:left;background:var(--rvk-card);border:1px solid var(--rvk-line);border-radius:3px;padding:11px 13px;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s;position:relative;width:100%;font:inherit;color:inherit}
.rvk-choice:hover{border-color:#B7B2A5}
.rvk-choice.sel{border-color:var(--rvk-forest);background:#EFF3EC;box-shadow:0 0 0 1px var(--rvk-forest) inset}
.rvk-choice .chip{flex:0 0 auto;width:36px;height:36px;border-radius:2px;overflow:hidden;border:1px solid rgba(0,0,0,.12);background:#fff}
.rvk-choice .chip svg{display:block;width:100%;height:100%}
.rvk-choice .txt{flex:1;min-width:0}
.rvk-choice .nm{display:block;font-weight:600;font-size:13.5px;line-height:1.25}
.rvk-choice .mt{display:block;font-size:11px;color:var(--rvk-muted);margin-top:2px}
.rvk-choice .pr{font-size:12.5px;font-weight:700;white-space:nowrap;padding-left:6px}
.rvk-choice .pr.free{color:var(--rvk-muted);font-weight:400}
.rvk-choice .tick{position:absolute;top:7px;right:9px;width:13px;height:13px;opacity:0;transition:opacity .15s}
.rvk-choice.sel .tick{opacity:1}

/* Selected state = green frame + tick + a light tint, nothing else. Text stays dark in
   every state. The theme paints button:hover/:focus white, which outranks the plain
   .rvk-* class selectors, so every card pins its own colours with the #id prefix. */
#raveno-konfigurator .rvk-choice,
#raveno-konfigurator .rvk-choice:hover,
#raveno-konfigurator .rvk-choice:focus,
#raveno-konfigurator .rvk-choice:active,
#raveno-konfigurator .rvk-choice.sel,
#raveno-konfigurator .rvk-choice.sel:hover,
#raveno-konfigurator .rvk-choice.sel:focus{color:var(--rvk-ink)}
#raveno-konfigurator .rvk-choice:hover,
#raveno-konfigurator .rvk-choice:focus,
#raveno-konfigurator .rvk-choice:active{background:var(--rvk-card)}
#raveno-konfigurator .rvk-choice.sel:hover,
#raveno-konfigurator .rvk-choice.sel:focus,
#raveno-konfigurator .rvk-choice.sel:active{background:#EFF3EC}
#raveno-konfigurator .rvk-choice .nm,
#raveno-konfigurator .rvk-choice.sel .nm{color:#111}
#raveno-konfigurator .rvk-choice .mt,
#raveno-konfigurator .rvk-choice.sel .mt{color:var(--rvk-muted)}
#raveno-konfigurator .rvk-choice .pr,
#raveno-konfigurator .rvk-choice.sel .pr{color:var(--rvk-ink)}
#raveno-konfigurator .rvk-choice .pr.free,
#raveno-konfigurator .rvk-choice.sel .pr.free{color:var(--rvk-muted)}

/* Locked by a dependency (see DEPS in konfigurator.js): visible, but not selectable. */
#raveno-konfigurator .rvk-choice.locked,
#raveno-konfigurator .rvk-choice.locked:hover{opacity:.45;cursor:not-allowed;border-color:var(--rvk-line);background:var(--rvk-card);box-shadow:none}
#raveno-konfigurator .rvk-choice.locked .mt{color:#8A6A2F}

/* Same guard for the other card types. */
#raveno-konfigurator .rvk-linecard,
#raveno-konfigurator .rvk-linecard:hover,
#raveno-konfigurator .rvk-linecard:focus,
#raveno-konfigurator .rvk-linecard.sel,
#raveno-konfigurator .rvk-vcard,
#raveno-konfigurator .rvk-vcard:hover,
#raveno-konfigurator .rvk-vcard:focus,
#raveno-konfigurator .rvk-vcard.sel{color:var(--rvk-ink);background:var(--rvk-card)}
#raveno-konfigurator .rvk-varchip,
#raveno-konfigurator .rvk-varchip:hover,
#raveno-konfigurator .rvk-varchip:focus,
#raveno-konfigurator .rvk-varchip.sel{color:var(--rvk-ink);background:#fff}
#raveno-konfigurator .rvk-linecard .nm,
#raveno-konfigurator .rvk-linecard.sel .nm,
#raveno-konfigurator .rvk-vcard .dm,
#raveno-konfigurator .rvk-vcard.sel .dm,
#raveno-konfigurator .rvk-varchip .vn,
#raveno-konfigurator .rvk-varchip.sel .vn{color:#111}
#raveno-konfigurator .rvk-linecard .tg,#raveno-konfigurator .rvk-linecard .ds,
#raveno-konfigurator .rvk-vcard .ms,#raveno-konfigurator .rvk-varchip .vd{color:var(--rvk-muted)}
#raveno-konfigurator .rvk-linecard .ab b,#raveno-konfigurator .rvk-vcard .pr{color:var(--rvk-ink)}
#raveno-konfigurator .rvk-vcard .ln{color:var(--rvk-forest)}

/* trust */
.rvk-trust{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--rvk-line)}
@media(max-width:640px){.rvk-trust{grid-template-columns:1fr}}
.rvk-trust b{display:block;font-size:13px}
.rvk-trust span{display:block;font-size:11.5px;color:var(--rvk-muted);margin-top:2px}
.rvk-trust a{color:inherit;font-weight:600;text-decoration:none}

/* lead form */
.rvk-leadwrap{background:var(--rvk-card);border:1px solid var(--rvk-line);border-radius:3px;padding:20px;margin-top:20px}
.rvk-form{margin-top:4px}
.rvk-frow{margin-bottom:12px}
.rvk-frow.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.rvk-frow.cols-2{grid-template-columns:1fr}}
.rvk-form label{display:block;font-size:12px;font-weight:600;color:var(--rvk-ink)}
.rvk-form label .opt{font-weight:400;color:var(--rvk-muted)}
.rvk-form input,.rvk-form select,.rvk-form textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--rvk-line);border-radius:3px;background:#fff;font:inherit;font-size:14px;color:var(--rvk-ink)}
.rvk-form input:focus,.rvk-form select:focus,.rvk-form textarea:focus{outline:none;border-color:var(--rvk-forest);box-shadow:0 0 0 1px var(--rvk-forest)}
.rvk-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.rvk-formstate{font-size:13px;margin-top:8px;min-height:18px}
.rvk-formstate.err{color:#9B3B2E;font-weight:600}
.rvk-success{text-align:center;padding:16px 8px}
.rvk-success .ic{width:44px;height:44px;border-radius:50%;background:var(--rvk-forest);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.rvk-success h3{font-size:19px;margin-bottom:8px}
.rvk-success p{font-size:13.5px;color:var(--rvk-muted);margin:6px 0}
.rvk-success a{color:var(--rvk-forest);font-weight:700;text-decoration:none}

/* floor plan variants (step 2) */
.rvk-variants{margin-top:16px;padding:14px 16px;background:var(--rvk-card);border:1px solid var(--rvk-line);border-radius:3px}
.rvk-varhead{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rvk-muted);font-weight:600;margin-bottom:10px}
.rvk-varchips{display:flex;flex-wrap:wrap;gap:10px}
.rvk-varchip{flex:1 1 180px;text-align:left;background:#fff;border:1px solid var(--rvk-line);border-radius:3px;padding:10px 12px;cursor:pointer;font:inherit;color:inherit;transition:border-color .18s,box-shadow .18s}
.rvk-varchip:hover{border-color:#B7B2A5}
.rvk-varchip.sel{border-color:var(--rvk-forest);box-shadow:0 0 0 1px var(--rvk-forest) inset}
.rvk-varchip .vn{display:block;font-weight:700;font-size:13.5px}
.rvk-varchip .vd{display:block;font-size:11px;color:var(--rvk-muted);margin-top:3px;line-height:1.35}
.rvk-varnote{font-size:11.5px;color:var(--rvk-muted);margin-top:9px}

/* mandatory question (step 3) */
.rvk-req{display:inline-block;margin-left:8px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#9B3B2E;vertical-align:middle}
.rvk-required.miss .rvk-choices{outline:2px solid #9B3B2E;outline-offset:6px;border-radius:3px}

/* mobile bar */
.rvk-mobilebar{display:none}
@media(max-width:960px){
  .rvk-mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;justify-content:space-between;align-items:center;gap:12px;background:rgba(237,235,228,.96);backdrop-filter:blur(8px);border-top:1px solid var(--rvk-line);padding:11px clamp(16px,4vw,40px)}
  .rvk-mobilebar .n{font-weight:700;font-size:18px}
  .rvk-mobilebar .lbl{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--rvk-muted)}
}
@media(prefers-reduced-motion:reduce){#raveno-konfigurator *{transition:none!important;scroll-behavior:auto!important}}

/* v5: reopened configuration (?k=ID) */
.rvk-restorebox{margin:0 0 14px;padding:10px 14px;border-radius:8px;background:#E6ECE5;color:#1E1E1C;font-size:13px;line-height:1.5;border:1px solid #cfd9cf}
.rvk-restorebox-warn{background:#FBF1E6;border-color:#e8cfae}
.rvk-restorebox a{color:inherit}
#raveno-konfigurator .rvk-restorebox b{font-weight:700}

/* v5.2: photo strip under each model card + lightbox */
.rvk-vwrap{display:flex;flex-direction:column;gap:6px}
.rvk-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 2px}
.rvk-thumb{position:relative;display:block;padding:0;margin:0;border:1px solid var(--rvk-line);border-radius:3px;overflow:hidden;background:#e5e2d9;cursor:zoom-in;aspect-ratio:3/2;font:inherit;color:inherit}
.rvk-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rvk-thumb:hover{border-color:#B7B2A5}
.rvk-thumb:focus-visible{outline:2px solid var(--rvk-forest);outline-offset:1px}
.rvk-thumbs-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(30,30,28,.55);color:#fff;font-size:15px;font-weight:600;letter-spacing:.04em}
.rvk-lb{position:fixed;inset:0;z-index:99999;background:rgba(20,20,18,.92);display:flex;align-items:center;justify-content:center;padding:52px 64px}
.rvk-lb[hidden]{display:none}
.rvk-lb-fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.rvk-lb-fig img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border-radius:3px;background:#111}
.rvk-lb-fig figcaption{color:#e5e2d9;font-size:13px;text-align:center}
.rvk-lb-close,.rvk-lb-prev,.rvk-lb-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}
.rvk-lb-close:hover,.rvk-lb-prev:hover,.rvk-lb-next:hover{background:rgba(255,255,255,.25)}
.rvk-lb-close{top:14px;right:14px}
.rvk-lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.rvk-lb-next{right:12px;top:50%;transform:translateY(-50%)}
.rvk-lb-prev[hidden],.rvk-lb-next[hidden]{display:none}
body.rvk-lb-open{overflow:hidden}
@media (max-width:640px){
  .rvk-lb{padding:56px 8px 16px}
  .rvk-lb-prev{left:4px}.rvk-lb-next{right:4px}
  .rvk-lb-fig img{max-height:calc(100vh - 100px)}
}
