/* ============================================================
   RELOKAT — CALCULATOR WIZARD v6 (2026-07-25)
   Stiluri autonome pentru #rlw-root. Mobile-first, fără overflow la 375px.
   ============================================================ */
#rlw-root { max-width: 720px; margin: 0 auto; padding: 4px 12px 40px; font-family: inherit; }
.rlw-wrap { background: #ffffff; border: 1px solid #dde5ec; border-radius: 16px; padding: 18px 16px 14px; box-shadow: 0 10px 30px rgba(20, 40, 60, .07); }
.rlw-head { margin-bottom: 12px; }
.rlw-prog { font-size: 13px; font-weight: 700; color: #5a6b7a; margin-bottom: 6px; }
.rlw-bar { height: 6px; background: #edf1f5; border-radius: 4px; overflow: hidden; }
.rlw-bar i { display: block; height: 100%; background: #f69323; border-radius: 4px; transition: width .3s; }

.rlw-done { margin-bottom: 10px; }
.rlw-donerow { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #e6ecf1; border-radius: 10px; margin-bottom: 6px; background: #fafcfe; }
.rlw-donerow .num { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: #e3f0fa; color: #f69323; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.rlw-donerow .body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.rlw-donerow .lbl { font-size: 11px; font-weight: 700; color: #8395a3; text-transform: uppercase; letter-spacing: .3px; }
.rlw-donerow .val { font-size: 13.5px; color: #1d3052; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rlw-donerow .edit { flex: 0 0 auto; border: none; background: #f7f2ea; color: #f69323; border-radius: 8px; width: 30px; height: 30px; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; line-height: 1; padding: 0; }

.rlw-card { border: 1.5px solid #cfe0ee; border-radius: 14px; padding: 16px 14px; background: #fff; }
.rlw-done > .rlw-card { margin: 4px 0 10px; }
.rlw-q { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.rlw-q .qn { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: #f69323; color: #fff; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.rlw-q .qt { font-size: 16.5px; font-weight: 800; color: #12213b; line-height: 1.35; }
.rlw-hint { font-size: 12.5px; color: #6a7883; margin: -2px 0 10px; line-height: 1.45; }
.rlw-note { font-size: 12.5px; color: #6d5a12; background: #fdf7e3; border: 1px solid #f0e3ae; border-radius: 9px; padding: 7px 10px; margin: 6px 0; line-height: 1.4; }
.rlw-refuz { font-size: 12.5px; color: #9a3b32; background: #fdf1f0; border: 1px solid #ecc7c2; border-radius: 9px; padding: 7px 10px; margin: 6px 0; }
.rlw-err { display: none; font-size: 12.5px; color: #b3261e; background: #fdf1f0; border-radius: 8px; padding: 7px 10px; margin-top: 8px; }

.rlw-opt { display: block; width: 100%; text-align: left; background: #f7fafc; border: 1.5px solid #d7e2ec; border-radius: 11px; padding: 12px 14px; font-size: 14.5px; font-weight: 700; color: #1d3052; cursor: pointer; margin-bottom: 8px; }
.rlw-opt:hover { border-color: #f69323; }
.rlw-opt.sel { border-color: #f69323; background: #fbf3e6; }
.rlw-optgrid { display: flex; flex-wrap: wrap; gap: 8px; }
.rlw-optgrid .rlw-opt { flex: 1 0 44%; width: auto; text-align: center; }
.rlw-check { font-weight: 600; }
.rlw-yn { flex: 1; background: #f7fafc; border: 1.5px solid #d7e2ec; border-radius: 11px; padding: 12px; font-size: 15px; font-weight: 800; cursor: pointer; color: #1d3052; }
.rlw-yn.sel { border-color: #f69323; background: #fbf3e6; }
.rlw-row { display: flex; gap: 8px; margin-top: 10px; align-items: center; flex-wrap: wrap; }
.rlw-inp { width: 100%; box-sizing: border-box; border: 1.5px solid #cfd9e2; border-radius: 10px; padding: 11px 12px; font-size: 14.5px; margin-bottom: 8px; background: #fff; color: #1d3052; }
.rlw-inp:focus { outline: none; border-color: #f69323; }
.rlw-ta { width: 100%; box-sizing: border-box; min-height: 96px; border: 1.5px solid #cfd9e2; border-radius: 10px; padding: 11px 12px; font-size: 14.5px; resize: vertical; background: #fff; color: #1d3052; }
.rlw-ta:focus { outline: none; border-color: #f69323; }
.rlw-tarow { position: relative; }
.rlw-mic { position: absolute; right: 8px; bottom: 8px; border: none; background: #f7f2ea; border-radius: 50%; width: 38px; height: 38px; font-size: 17px; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; line-height: 1; }
.rlw-mic svg { display: block; width: 19px; height: 19px; }
.rlw-mic.on { background: #fde3e0; animation: rlwpulse 1s infinite; }
@keyframes rlwpulse { 50% { transform: scale(1.12); } }
.rlw-next { flex: 1; background: #f69323; color: #fff; border: none; border-radius: 11px; padding: 13px 16px; font-size: 15px; font-weight: 800; cursor: pointer; }
.rlw-next:hover { background: #0e5f96; }
.rlw-quick { background: #f7f2ea; color: #f69323; border: none; border-radius: 10px; padding: 10px 14px; font-size: 13px; font-weight: 700; cursor: pointer; margin-top: 6px; text-decoration: none; display: inline-block; }
.rlw-quick:hover { background: #e0edf7; text-decoration: none; color: #0e5f96; }
.rlw-send { display: block; width: 100%; background: #f5a300; color: #12213b; border: none; border-radius: 12px; padding: 15px; font-size: 16px; font-weight: 900; cursor: pointer; margin-top: 14px; }
.rlw-send:hover { background: #e29600; }
.rlw-send:disabled { opacity: .55; cursor: default; }
.rlw-status { font-size: 13.5px; margin-top: 10px; line-height: 1.5; }
.rlw-status.ok { color: #1b7f3b; }
.rlw-status.errst { color: #b3261e; }

.rlw-addr { position: relative; }
.rlw-dd { display: none; position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% - 6px); background: #fff; border: 1px solid #cfd9e2; border-radius: 10px; box-shadow: 0 12px 28px rgba(20, 40, 60, .14); overflow: hidden; }
.rlw-dd .it { padding: 9px 12px; font-size: 13.5px; cursor: pointer; }
.rlw-dd .it:hover { background: #f7f2ea; }
.rlw-dd .it small { display: block; color: #8395a3; font-size: 11px; }
.rlw-dd .src { font-size: 10px; color: #a5b2bd; padding: 4px 12px; }

.rlw-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.rlw-chip { background: #fbf3e6; border: 1px solid #bcd7ea; color: #14496e; border-radius: 9px; padding: 5px 9px; font-size: 12.5px; font-weight: 700; }
.rlw-chip .x { cursor: pointer; color: #9a3b32; margin-left: 3px; }
.rlw-chip.add { background: #fdf7e3; border-color: #f0e3ae; color: #6d5a12; }
.rlw-addrow { display: flex; gap: 8px; margin-top: 8px; }
.rlw-addrow .rlw-inp { margin-bottom: 0; }

.rlw-drop { border: 1.5px dashed #b9c6d2; border-radius: 11px; padding: 16px; text-align: center; font-size: 13.5px; color: #5a6b7a; font-weight: 700; cursor: pointer; }
.rlw-drop:hover { border-color: #f69323; color: #f69323; }
.rlw-files { list-style: none; margin: 8px 0 0; padding: 0; }
.rlw-files li { font-size: 12.5px; padding: 5px 0; border-bottom: 1px dashed #e6ecf1; display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.rlw-files li button { border: none; background: none; color: #b3261e; cursor: pointer; font-size: 12px; }

.rlw-price { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: #12213b; color: #fff; border-radius: 12px; padding: 12px 15px; margin-top: 12px; flex-wrap: wrap; }
.rlw-price .pl { font-size: 12px; color: #9fb3c4; font-weight: 700; }
.rlw-price .pv { font-size: 19px; font-weight: 900; color: #f6b323; }
.rlw-final { border: 2px solid #f69323; border-radius: 14px; padding: 14px; margin: 12px 0; }
.rlw-final .fv { font-size: 24px; font-weight: 900; color: #12213b; margin-bottom: 8px; }
.rlw-final ul { margin: 0; padding-left: 20px; font-size: 13.5px; color: #33434f; line-height: 1.65; }
.rlw-subtitle { font-size: 14px; font-weight: 800; color: #12213b; margin: 12px 0 6px; }
.rlw-offer { background: #f8fafc; border: 1px solid #dde5ec; border-radius: 11px; padding: 12px 14px; font-size: 13px; white-space: pre-wrap; color: #1d3052; line-height: 1.55; }
.rlw-msgbox { background: #f8fafc; border: 1px solid #dde5ec; border-radius: 11px; padding: 10px 13px; font-size: 12.5px; color: #33434f; margin-bottom: 10px; line-height: 1.5; }
.rlw-stopbox { margin-top: 8px; }

.rlw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.rlw-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; }
.rlw-clear { border: none; background: none; color: #8395a3; font-size: 12px; cursor: pointer; text-decoration: underline; }
.rlw-trust { font-size: 12px; color: #5a6b7a; font-weight: 700; }

.rlw-jtoggle { font-size: 11.5px; color: #f69323; font-weight: 800; cursor: pointer; text-align: center; margin-top: 8px; }
.rlw-jurnal { background: #1a2430; color: #cfe4f3; border-radius: 12px; padding: 12px 14px; margin-top: 8px; font-size: 11.5px; font-family: Consolas, monospace; white-space: pre-wrap; line-height: 1.5; }
.rlw-jurnal b { color: #f6b323; }

@media (max-width: 420px) {
    #rlw-root { padding: 2px 6px 30px; }
    .rlw-wrap { padding: 14px 10px 12px; border-radius: 12px; }
    .rlw-optgrid .rlw-opt { flex: 1 0 100%; }
    .rlw-price .pv { font-size: 17px; }
    .rlw-final .fv { font-size: 21px; }
}

/* Text public obligatoriu sub intervalul de preț — decizia proprietarul 2026-07-27 (doar Relokat) */
.rlw-tva { font-size: 12.5px; color: #5a5346; background: transparent; padding: 2px 2px 0; margin: 4px 0 2px; text-align: right; }

/* Rezervă spațiu pentru butonul flotant WhatsApp (assets/relokat-float.css), ca butoanele
   wizardului să nu ajungă niciodată sub el în timpul scroll-ului pe mobil — bug real 2026-07-27:
   click pe „1 cameră" / pe creionul de editare interceptat de butonul WhatsApp (z-index mai mare,
   poziție fixă), utilizatorul rămânea blocat, singura acțiune care mai funcționa era „Sar peste". */
@media (max-width: 800px) {
    .rlw-wrap, .rlw-donerow { padding-right: 70px; }
}

/* Recenzii reale (sectiune ascunsa cand e goala) - stil aliniat temei g5plus-moveco */
#rlk-reviews { padding: 26px 0 10px; }
#rlk-reviews .rlk-reviews-title { text-align: center; color: #202020; font-weight: 800; margin: 0 0 18px; }
.rlk-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 14px; }
.rlk-review { background: #fff; border: 1px solid #e8e8e8; border-radius: 4px; padding: 16px 17px; }
.rlk-stars { color: #f69323; letter-spacing: 2px; margin-bottom: 6px; }
.rlk-review-meta { font-size: 12.5px; color: #777; font-weight: 600; }
/* --- matricea de usi pentru mai multe dulapuri (2026-07-31, punctul 19) --- */
.rlw-doorsmix { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 8px; }
.rlw-doorsmix-row {
    flex: 1 1 130px; display: flex; align-items: center; gap: 10px;
    background: #faf8f4; border: 1px solid #e6e2d9; border-radius: 10px; padding: 10px 12px;
}
.rlw-doorsmix-lbl { font-weight: 700; font-size: 14px; color: #1d3052; flex: 1 1 auto; }
.rlw-doorsmix-inp {
    width: 64px !important; flex: none; text-align: center; font-weight: 700;
    font-size: 16px; padding: 8px 6px !important; margin: 0 !important;
}
@media (max-width: 520px) { .rlw-doorsmix-row { flex: 1 1 100%; } }
