/* === Theme tokens === */
:root{
  --sym-red:#d81919;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --card:#ffffff;
  --ring:#60a5fa;
  --bg:rgba(15,23,42,.65);
}

/* ===== Modal wrapper / layout ===== */
.craft-stock-modal{
  position:fixed; inset:0; z-index:999999;
  display:none;
  padding:max(32px, env(safe-area-inset-top)) 16px 16px 16px;
}
.craft-stock-modal[aria-hidden="false"]{
  display:flex; align-items:center; justify-content:center;
}
.craft-stock-lock{ overflow:hidden; }

/* Backdrop */
.craft-stock-backdrop{
  position:absolute; inset:0;
  background:var(--bg); backdrop-filter:blur(6px);
}

/* Dialog */
.craft-stock-dialog{
  position:relative; z-index:1000000;
  width:min(720px,92vw);
  max-height:calc(100vh - 96px);
  overflow:auto;
  background:#fff;
  border-radius:20px;
  box-shadow:0 20px 60px rgba(2,6,23,.30);
}

/* ===== Header ===== */
.craft-stock-modal-title{
  position:sticky; top:0; z-index:2;
  background:linear-gradient(180deg,var(--sym-red) 0%, #b11414 100%);
  color:#fff;
  padding:16px 64px 12px 20px;            /* extra δεξιά για το Χ */
  font-weight:700;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.25);
}
.craft-stock-modal-title .title-text{
  font-size:16px; display:flex; align-items:center; gap:6px;
}

/* Filter (μέσα στο header) */
.craft-stock-color-label{
  color:#fff; opacity:.9; font-weight:600; font-size:13px; display:block; margin:8px 0 6px;
}
.craft-stock-color-select{
  width:100%; appearance:none; background:#fff; color:var(--ink);
  border:1px solid #e2e8f0; border-radius:10px; padding:10px 38px 10px 12px;
  font-size:14px; line-height:1.2;
  box-shadow:inset 0 0 0 1px #f1f5f9; transition:border-color .2s, box-shadow .2s;
  background-image:
    linear-gradient(45deg, transparent 50%, #94a3b8 50%),
    linear-gradient(135deg, #94a3b8 50%, transparent 50%),
    linear-gradient(to right, #e2e8f0, #e2e8f0);
  background-position:
    calc(100% - 26px) calc(50% - 3px),
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 44px) 50%;
  background-size:8px 8px, 8px 8px, 1px 22px;
  background-repeat:no-repeat;
}
.craft-stock-color-select:focus{
  outline:none; border-color:var(--ring);
  box-shadow:0 0 0 3px rgba(96,165,250,.35);
}

/* Live info line */
.craft-stock-result-info{
  font-size:12px; color:#fff; opacity:.9; margin-top:6px; font-style:italic;
}

/* ===== Body ===== */
.craft-stock-modal-body{ padding:18px; background:#f8fafc; }

/* Dealer card */
.craft-stock-dealer{
  background:var(--card); border:1px solid var(--line);
  border-radius:16px; padding:14px 16px; margin:12px 0;
  box-shadow:0 1px 2px rgba(2,6,23,.04);
}
.craft-stock-dealer-city{ color:var(--muted); font-weight:700; font-size:12px; margin-bottom:4px; letter-spacing:.3px; }
.craft-stock-dealer-head{ font-size:16px; color:#e11d48; font-weight:800; margin-bottom:6px; }
.craft-stock-dealer-addr{ color:#475569; font-size:13px; margin-bottom:4px; }
.craft-stock-dealer-tel a{ color:#0ea5e9; text-decoration:none; font-weight:600; }
.craft-stock-dealer-tel a:hover{ text-decoration:underline; }

/* Color chips */
.craft-stock-items{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0; padding:0; list-style:none; }
.craft-stock-items li{
  background:#eef7ee; border:1px solid #e5e7eb; border-radius:999px;
  padding:6px 10px; font-size:12px; color:#111827; display:flex; align-items:center; gap:8px;
  max-width:100%; white-space:nowrap; margin:.2rem 0;
}
.swatch{ width:10px; height:10px; border-radius:999px; border:1px solid rgba(0,0,0,.15); display:inline-block; }

/* Footer info */
.craft-stock-last-update{ margin-top:14px; color:#6b7280; font-size:12px; text-align:right; }

/* Close button */
.craft-stock-close{
  position:absolute; right:12px; top:12px;  /* πάνω δεξιά στο header */
  width:32px; height:32px; border-radius:999px;
  background:#fff; color:#334155; border:1px solid var(--line);
  font-size:18px; line-height:28px; cursor:pointer;
  box-shadow:0 2px 6px rgba(2,6,23,.08);
  z-index:5;
}
.craft-stock-close:hover{ background:#f8fafc; }

/* Focus visibility */
.craft-stock-modal :focus{ outline:2px solid var(--ring); outline-offset:2px; }

/* Small screens */
@media (max-width:480px){
  .craft-stock-dialog{ border-radius:14px; }
  .craft-stock-dealer-head{ font-size:15px; }
  .craft-stock-color-select{ font-size:13px; }
}

/* Scrollbar */
.craft-stock-dialog::-webkit-scrollbar { width:17px; }
.craft-stock-dialog::-webkit-scrollbar-track { background:#f1f5f9; border-radius:10px; }
.craft-stock-dialog::-webkit-scrollbar-thumb { background:#b11414; border-radius:10px; border:3px solid #f1f5f9; }
/* Firefox */
.craft-stock-dialog { scrollbar-width:thin; scrollbar-color:#b11414 #f1f5f9; }
.craft-stock-dealer--sponsor{
  background: rgba(255, 215, 0, 0.05); /* ~5% κίτρινο */
}

.craft-stock-open-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 10px 24px;
  border-radius: 16px;

  background: #202020;
  border: none;
  color: #ffffff;

  font-family: inherit;
  font-size: 16px;
  font-weight: 600;

  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
  transition:
    background 0.15s ease-out,
    transform 0.1s ease-out,
    box-shadow 0.15s ease-out;
}

/* ΣΤΑΘΕΡΟ SVG ICON */
.craft-stock-open-btn .pin-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.craft-stock-open-btn .pin-icon svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Κείμενο */
.craft-stock-open-btn .label {
  white-space: normal;
  text-align: left;
  line-height: 1.3;
}

/* hover / active */
.craft-stock-open-btn:hover {
  background: #262626;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.3);
}

.craft-stock-open-btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0,0,0,0.25);
}
