/* re-store — Quote flow («Φτιάξ' το») styles. Port από prototype quote.html. */

/* Stepper */
.stepper{display:flex;align-items:center;gap:0;max-width:560px;margin:0 auto;}
.stp{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;width:42px;}
.stp .dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
  background:#fff;border:2px solid var(--line);color:var(--ink-soft);transition:.25s;}
.stp .lbl{font-size:11px;margin-top:7px;color:var(--ink-soft);font-weight:600;white-space:nowrap;transition:.25s;}
.stp.active .dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px rgba(237,28,36,.12);}
.stp.done .dot{background:var(--accent);border-color:var(--accent);color:#fff;}
.stp.active .lbl,.stp.done .lbl{color:var(--ink);}
.conn{flex:1;height:2px;background:var(--line);margin:0 4px;position:relative;top:-10px;border-radius:2px;overflow:hidden;}
.conn i{display:block;height:100%;width:0;background:var(--accent);transition:width .35s ease;}
.conn.fill i{width:100%;}

/* Tiles */
.tile{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:9px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:center;overflow:hidden;}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(140px 90px at 50% -12%,rgba(237,28,36,.10),transparent 70%);opacity:0;transition:.25s;pointer-events:none;}
.tile:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 34px rgba(237,28,36,.15);}
.tile:hover::before{opacity:1;}
.tile .ico{width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#f7f7f9,#ececf0);display:flex;align-items:center;justify-content:center;font-size:26px;color:#1d1d1f;box-shadow:inset 0 1px 0 #fff,0 4px 10px rgba(0,0,0,.05);transition:.2s;}
.tile .ico svg{width:27px;height:27px;}
.tile:hover .ico{background:linear-gradient(145deg,#ed1c24,#b3000a);color:#fff;box-shadow:0 8px 18px rgba(237,28,36,.42);}
.tile .t{font-weight:700;font-size:15.5px;}
.tile .hint{font-size:11.5px;color:#9a9aa2;font-weight:500;margin-top:-3px;}

/* Option (model) */
.opt{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-weight:600;font-size:14.5px;cursor:pointer;transition:.16s;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;}
.opt:hover{border-color:var(--ink);background:#fafafa;}
.opt .arr{color:#c7c7cc;transition:.16s;}
.opt:hover .arr{color:var(--ink);transform:translateX(2px);}

/* Summary chips */
.sumchip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;}
.sumchip b{color:var(--accent);font-weight:700;}

/* Price hero */
.price-hero{background:linear-gradient(135deg,#0a0a0f,#1c1c28);color:#fff;border-radius:22px;padding:30px;text-align:center;}
.price-num{font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(120deg,#fff,#ff8a8a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.incl{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);}

/* Form fields */
.field{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;outline:none;font-size:15px;transition:.16s;background:#fff;}
.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(237,28,36,.10);}

/* Anim */
.anim{animation:rise .35s ease;}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Quality tiers */
.tier{position:relative;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;transition:.16s;width:100%;}
.tier:hover{border-color:var(--ink);}
.tier.is-sel{border-color:var(--accent);box-shadow:0 0 0 4px rgba(237,28,36,.12);}
.tier-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;}
.tier .pick{position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;border:2px solid var(--line);transition:.16s;}
.tier.is-sel .pick{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #fff;}

/* Soft card */
.card-soft{background:#fafafa;border:1px solid var(--line);border-radius:14px;}
