@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Caveat:wght@400;600;700&family=Dancing+Script:wght@400;600;700&family=Gloria+Hallelujah&family=Pacifico&family=Patrick+Hand&family=Shadows+Into+Light&family=Great+Vibes&family=Permanent+Marker&family=Kalam:wght@300;400;700&family=Satisfy&family=Lobster&family=Indie+Flower&family=Handlee&display=swap');

/* ===== Sticker Builder — base ===== */
#stb-root{
  --accent:#2d7ff9; --ink:#111; --muted:#666; --line:#e7e7e7; --card:#fff; --radius:8px; --price-blue:#2d7ff9;
  --cta-blue:#4b8cff; --cta-blue-hover:#3f7cf0; --cta-glow:rgba(75,140,255,.28);
  --focus-ring:rgba(45,127,249,.28); --focus-border:rgba(45,127,249,.65); --focus-bg:rgba(45,127,249,.12);
  color:var(--ink);
}
#stb-root, #stb-root *{ box-sizing:border-box }
#stb-root :is(h1,h2,h3,h4,h5,h6,p,span,small,button,input,label,select,textarea){
  font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif !important;
}
#stb-root .label{ font-size:.72rem !important; color:var(--muted) !important; text-transform:uppercase; letter-spacing:.04em; font-weight:700 }

/* wrapper & cards */
#stb-root .stb-wrap{ max-width:1000px; margin:10px auto; padding:0 12px }
#stb-root .stb-card{ background:var(--card); border:1px solid var(--line); border-radius:8px }
#stb-root .stb-steps{ display:grid; gap:18px }
#stb-root .stb-step{ display:none; overflow:hidden }
#stb-root .stb-step.is-active{ display:flex; flex-direction:column }
#stb-root .stb-step .step-footer{ background:#fff; padding:0 24px 24px; display:flex; justify-content:center; border-top:1px solid var(--line) }
#stb-root #stb-step-1 .order-col{ padding:24px; gap:18px; border-bottom:1px solid var(--line) }
#stb-root #stb-step-1 .step-footer{ padding:0 24px 24px }
#stb-root #stb-step-2 .step-content{ display:grid; gap:24px; padding:24px; max-width:780px; margin:0 auto }
#stb-root #stb-step-2 .step-header{ display:grid; gap:6px; text-align:center; align-items:center; justify-items:center }
#stb-root #stb-step-2 .step-title{ margin:0; font-size:1.45rem; font-weight:700; letter-spacing:.02em }
#stb-root #stb-step-2 .step-back-link{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 0;
  border:none;
  background:none;
  color:var(--cta-blue);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
}
#stb-root #stb-step-2 .step-back-link::before{
  content:'\2190';
  font-size:1rem;
}
#stb-root #stb-step-2 .step-back-link:hover{
  color:var(--cta-blue-hover);
  text-decoration:underline;
}
#stb-root #stb-step-2 .step-back-link:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--focus-ring);
  border-radius:8px;
  padding:4px 10px;
  margin-left:-10px;
}
#stb-root #stb-step-2 .step-extra-body{ display:grid; gap:20px }
#stb-root #stb-step-2 .step-extra-block{ display:grid; gap:12px }
#stb-root #stb-step-2 .step-extra-row{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
}
#stb-root #stb-step-2 .step-extra-options{ display:grid; gap:12px }
#stb-root #stb-step-2 .step-extra-option span{ font-size:.86rem; font-weight:600; color:var(--muted); }
#stb-root #stb-step-2 .step-config-panel{ margin-top:6px }
#stb-root #stb-step-2 .step-summary{ margin-top:auto; display:grid; gap:12px }
#stb-root #stb-step-2 .step-summary .price-box{ justify-items:center }
#stb-root #stb-step-2 .step-summary--extra{ justify-items:center }
#stb-root #stb-step-2 .cta{ justify-content:center }

#stb-root #stb-step-3 .step-content{ display:grid; gap:20px; padding:24px; max-width:75%; margin:0 auto }
#stb-root #stb-step-3 .step-header{ display:grid; gap:6px; text-align:center; align-items:center; justify-items:center }
#stb-root #stb-step-3 .step-title{ margin:0; font-size:1.45rem; font-weight:700; letter-spacing:.02em }
#stb-root #stb-step-3 .step-back-link{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 0;
  border:none;
  background:none;
  color:var(--cta-blue);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
}
#stb-root #stb-step-3 .step-back-link::before{
  content:'\2190';
  font-size:1rem;
}
#stb-root #stb-step-3 .step-back-link:hover{
  color:var(--cta-blue-hover);
  text-decoration:underline;
}
#stb-root #stb-step-3 .step-back-link:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--focus-ring);
  border-radius:8px;
  padding:4px 10px;
  margin-left:-10px;
}
#stb-root #stb-step-3 .step-options{ display:grid; gap:18px }
#stb-root #stb-step-3 .step-options .btn-step{
  justify-content:center;
  flex-direction:column;
  align-items:center;
  gap:14px;
  background:linear-gradient(360deg,#F3831B 0%,#FFCB00 100%) !important;
  border-color:#F3831B !important;
  box-shadow:0 18px 32px rgba(243,131,27,.35),0 0 0 1px rgba(255,203,0,.32);
  padding:38px 32px;
  font-size:1.14rem;
  letter-spacing:.09em;
}
#stb-root #stb-step-3 .step-options .btn-step:hover{
  background:linear-gradient(360deg,#ff8f1f 0%,#ffd740 100%) !important;
  border-color:#ff8f1f !important;
  box-shadow:0 22px 36px rgba(243,131,27,.4),0 0 0 1px rgba(255,215,64,.32);
}
#stb-root #stb-step-3 .step-options .btn-step:active{
  box-shadow:0 14px 24px rgba(243,131,27,.36),0 0 0 1px rgba(255,203,0,.3);
}
#stb-root #stb-step-3 .step-file-info{ margin:0; font-size:.85rem; color:var(--muted); font-weight:500; text-align:center }
#stb-root #stb-step-3 .cta{ justify-content:center }
#stb-root #stb-step-3 .step-summary{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid var(--line);
  display:grid;
  gap:12px;
  text-align:center;
}
#stb-root #stb-step-3 .step-summary .price-box{ justify-items:center }

@media (max-width:640px){
  #stb-root #stb-step-1 .order-col{ padding:18px; }
  #stb-root .step-price-panel{ padding:0 18px 18px; justify-items:center; }
  #stb-root .step-price-panel .price-box{ justify-items:center; }
  #stb-root .stb-step .step-footer{ padding:12px 18px 18px; }
  #stb-root #stb-step-2 .step-content{ padding:18px; max-width:100%; }
  #stb-root #stb-step-2 .step-title{ font-size:1.28rem; }
  #stb-root #stb-step-2 .step-back-link{ font-size:.78rem; }
  #stb-root #stb-step-3 .step-content{ padding:18px; max-width:100%; }
  #stb-root #stb-step-3 .step-title{ font-size:1.28rem; }
  #stb-root #stb-step-3 .step-back-link{ font-size:.78rem; }
  #stb-root #stb-step-3 .step-options{ gap:12px; }
}

@media (min-width:960px){
  #stb-root #stb-step-2 .step-content{ padding:32px; }
  #stb-root #stb-step-3 .step-content{ padding:32px; }
}

/* ORDER (ilość + rozmiar + cena) */
#stb-root .order-col{ padding:14px; display:grid; gap:14px; background:#fff }
#stb-root .stb-order-grid{ display:grid; gap:14px; grid-template-columns:minmax(0, calc(50% + 50px)) minmax(0, calc(50% - 50px)); align-items:start; }
@media (max-width:820px){ #stb-root .stb-order-grid{ grid-template-columns:1fr } }

#stb-root .list-section{ margin-top:2px }
#stb-root .opt-list{ display:grid; gap:6px; margin-top:6px }
#stb-root .opt-item{
  border:1px solid var(--line) !important; background:#fff !important; border-radius:8px;
  padding:8px 10px; cursor:pointer; transition:.15s; position:relative; z-index:0;
}
#stb-root .opt-item:hover{ box-shadow:0 4px 12px rgba(0,0,0,.05) }
#stb-root .opt-item[aria-pressed="true"]{ border-color:var(--focus-border) !important; box-shadow:0 0 0 2px var(--focus-ring); background:var(--focus-bg) !important; }
#stb-root .opt-line{ display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0 }
#stb-root .opt-main{ font-weight:700; font-size:.94rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
#stb-root .opt-right{ display:flex; flex-direction:row; align-items:center; gap:8px; flex-wrap:wrap }
#stb-root .opt-price{ font-size:.86rem; color:var(--price-blue); font-weight:400 }
#stb-root .opt-save{ font-size:.78rem; color:var(--accent) !important; opacity:1; font-weight:600 }

#stb-root .stb-grid-page .order-col .opt-list{ gap:4px }
#stb-root .stb-grid-page .order-col .opt-item{ padding:6px 8px }
#stb-root .stb-grid-page .order-col .opt-line{ gap:6px }
#stb-root .stb-grid-page .order-col .opt-main{ font-size:.82rem }
#stb-root .stb-grid-page .order-col .opt-price{ font-size:.74rem }
#stb-root .stb-grid-page .order-col .opt-save{ font-size:.68rem }
#stb-root .stb-grid-page .order-col .opt-toggle{ padding:6px 10px; font-size:.84rem }

#stb-root .opt-toggle{
  margin-top:6px; display:inline-flex; align-items:center; gap:8px;
  padding:7px 10px; border:1px dashed var(--line); border-radius:8px; background:#fff; cursor:pointer; font-weight:700; font-size:.9rem;
}
#stb-root .opt-custom{ display:grid; gap:8px; margin-top:8px; overflow:hidden; transition:max-height .2s, opacity .2s, margin-top .2s }
#stb-root .opt-custom.is-hidden{ max-height:0; opacity:0; margin-top:0; pointer-events:none }
#stb-root .opt-custom:not(.is-hidden){ max-height:220px; opacity:1 }

#stb-root .step-extra-option{ display:inline-flex; align-items:center; gap:10px; font-size:.86rem; color:var(--ink); }
#stb-root .step-extra-option input[type="checkbox"]{ margin:0; }

#stb-root .stb-field{ display:grid; gap:4px }
#stb-root .stb-field .stb-lbl{ font-size:.72rem; color:var(--muted) !important; font-weight:600 }
#stb-root input[type="number"],
#stb-root input[type="color"],
#stb-root input[type="range"],
#stb-root input[type="text"],
#stb-root input[type="email"],
#stb-root textarea,
#stb-root select{
  background:#fff !important; border:1px solid var(--line) !important; color:#111 !important;
  padding:8px 10px; border-radius:8px; height:36px; accent-color:var(--accent);
}
#stb-root input[type="checkbox"],
.stb-modal input[type="checkbox"],
.stb-quote-popup input[type="checkbox"]{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  width:26px;
  height:26px;
  border:2px solid var(--line);
  border-radius:8px;
  background:#fff;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  position:relative;
  flex-shrink:0;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, border-radius .2s ease;
}
#stb-root input[type="checkbox"]::after,
.stb-modal input[type="checkbox"]::after,
.stb-quote-popup input[type="checkbox"]::after{
  content:"";
  width:14px;
  height:14px;
  border-radius:8px;
  background:var(--accent);
  opacity:0;
  transform:scale(.6);
  transition:opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow:0 0 0 0 rgba(45,127,249,.35);
}
#stb-root input[type="checkbox"]:checked,
.stb-modal input[type="checkbox"]:checked,
.stb-quote-popup input[type="checkbox"]:checked{
  border-color:var(--accent);
  background:rgba(45,127,249,.1);
  border-radius:8px;
  box-shadow:0 0 0 4px rgba(45,127,249,.18),0 6px 14px rgba(45,127,249,.2);
}
#stb-root input[type="checkbox"]:checked::after,
.stb-modal input[type="checkbox"]:checked::after,
.stb-quote-popup input[type="checkbox"]:checked::after{
  opacity:1;
  transform:scale(1);
  box-shadow:0 0 12px rgba(45,127,249,.45);
}
#stb-root input[type="checkbox"]:focus-visible,
.stb-modal input[type="checkbox"]:focus-visible,
.stb-quote-popup input[type="checkbox"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px var(--focus-ring),0 6px 14px rgba(45,127,249,.15);
  border-color:var(--focus-border);
}
#stb-root input[type="checkbox"]:disabled,
.stb-modal input[type="checkbox"]:disabled,
.stb-quote-popup input[type="checkbox"]:disabled{
  cursor:not-allowed;
  opacity:.5;
  box-shadow:none;
}
#stb-root textarea{ height:auto; min-height:72px; resize:vertical; padding:8px 10px }
#stb-root select{ height:36px }
#stb-root input[type="number"]{ max-width:160px }
#stb-root input[type="color"]{ padding:0 6px; height:36px }
#stb-root input[type="file"].stb-file-input{ display:none !important }

/* Materiały */
#acc-material .stb-material-row{
  display:flex;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
#acc-material .stb-material-grid-col{
  display:grid;
  gap:8px;
  flex:1 1 0;
  min-width:260px;
}
#acc-material .stb-material-grid-scroll{
  border:1px solid var(--line);
  border-radius:8px;
  padding:6px;
  max-height:360px;
  overflow:auto;
  background:#fff;
}
#acc-material .stb-material-grid{
  display:grid;
  grid-template-columns:repeat(4, 100px);
  grid-auto-rows:100px;
  gap:4px;
  justify-content:center;
}
#acc-material .material-tile{
  position:relative;
  width:100px;
  height:100px;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:#f7f9fb;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
#acc-material .material-tile__image{
  position:absolute;
  inset:0;
  background:var(--material-image, linear-gradient(135deg, rgba(255,255,255,.8), rgba(230,233,238,.8)));
  background-size:cover;
  background-position:center;
  pointer-events:none;
}
#acc-material .material-tile__name{
  position:relative;
  z-index:1;
  width:100%;
  padding:4px 6px;
  font-size:.7rem;
  font-weight:700;
  text-align:center;
  color:#111 !important;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.92) 32%, rgba(255,255,255,.98) 100%);
  backdrop-filter:blur(2px);
  pointer-events:none;
}
#acc-material .material-tile__name strong{
  display:block;
  font-size:.72rem;
  line-height:1.1;
  font-weight:700;
}
#acc-material .material-tile__name small{
  display:block;
  font-size:.6rem;
  line-height:1.1;
  color:var(--muted) !important;
  font-weight:600;
}
#acc-material .material-tile[aria-pressed="true"]{
  border-color:var(--focus-border);
  box-shadow:0 0 0 2px var(--focus-ring);
  transform:translateY(-1px);
}
#acc-material .material-tile:focus-visible{
  outline:none;
  border-color:var(--focus-border);
  box-shadow:0 0 0 3px var(--focus-ring);
}
#acc-material .material-tile:not([aria-pressed="true"]):hover{
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
#acc-material .stb-inline{
  display:flex;
  align-items:center;
}

/* ===== CENA (na stronie) ===== */
#stb-root .step-price-panel{
  padding:0 24px 24px;
  display:grid;
  gap:12px;
  justify-items:stretch;
}
#stb-root .step-price-panel .price-box{ justify-items:end; width:100%; justify-self:end; }
#stb-root .price-box,
.stb-modal__summary .price-box{
  border:1px solid var(--line);
  border-radius:8px;
  padding:16px;
  display:grid;
  gap:8px;
  justify-items:end;
  background:linear-gradient(135deg, rgba(237,242,255,.85), rgba(255,255,255,.95));
}
#stb-root .price-box--modal,
.stb-modal__summary .price-box--modal{
  justify-items:end;
  text-align:right;
  gap:8px;
}
#stb-root .total-val,
.stb-modal__summary .total-val{
  font-size:1.95rem;
  line-height:1.1;
  font-weight:800;
  color:#0e214a;
  text-align:right;
}
#stb-root .total-net,
.stb-modal__summary .total-net{
  font-size:.95rem;
  font-weight:500;
  color:var(--muted);
  text-align:right;
  letter-spacing:.01em;
  white-space:nowrap;
  padding:0;
  margin-top:-2px;
}
#stb-root .total-vat,
.stb-modal__summary .total-vat{
  font-size:.86rem;
  font-weight:600;
  color:var(--muted);
  text-align:right;
  letter-spacing:.01em;
  white-space:nowrap;
}
#stb-root .total-unit,
.stb-modal__summary .total-unit{
  display:flex;
  gap:4px;
  align-items:baseline;
  justify-content:flex-end;
  font-size:.7rem;
  color:var(--muted);
  letter-spacing:.02em;
  line-height:1.1;
}
#stb-root .total-unit .woocommerce-Price-amount.amount,
.stb-modal__summary .total-unit .woocommerce-Price-amount.amount{
  font-weight:600;
  font-size:.82rem;
  color:inherit;
}
#stb-root .total-gross,
.stb-modal__summary .total-gross{
  width:100%;
  display:grid;
  gap:6px;
  justify-items:end;
}
#stb-root .total-gross-label,
.stb-modal__summary .total-gross-label{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
}
#stb-root .price-breakdown,
.stb-modal__summary .price-breakdown{
  width:100%;
  display:grid;
  gap:10px;
}
#stb-root .price-breakdown-row,
.stb-modal__summary .price-breakdown-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:.84rem;
  color:var(--muted);
}
#stb-root .price-breakdown-label,
.stb-modal__summary .price-breakdown-label{
  font-weight:600;
  letter-spacing:.02em;
}
#stb-root .price-breakdown-value,
.stb-modal__summary .price-breakdown-value{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  color:var(--ink);
}
#stb-root .price-breakdown-value .woocommerce-Price-amount.amount,
.stb-modal__summary .price-breakdown-value .woocommerce-Price-amount.amount{
  font-weight:700;
  color:inherit;
}
#stb-root .price-breakdown-row--unit .total-unit-label,
.stb-modal__summary .price-breakdown-row--unit .total-unit-label{
  font-size:.7rem;
  font-weight:600;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
}
#stb-root .price-breakdown-row--unit .total-unit-value,
.stb-modal__summary .price-breakdown-row--unit .total-unit-value{
  display:flex;
  align-items:center;
}
#stb-root .step-config-panel{ justify-self:stretch; }
#stb-root .step-config-panel[hidden]{ display:none; }
#stb-root .config-box{
  border:1px solid var(--line);
  border-radius:8px;
  padding:16px;
  display:grid;
  gap:12px;
  background:linear-gradient(135deg, rgba(237,242,255,.6), rgba(255,255,255,.95));
}
#stb-root .config-box-title{
  margin:0;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
}
#stb-root .config-box-list{
  margin:0;
  display:grid;
  gap:8px;
}
#stb-root .config-box-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
#stb-root .config-box-row dt{
  margin:0;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--muted);
}
#stb-root .config-box-row dd{
  margin:0;
  font-size:.92rem;
  font-weight:600;
  color:#0e214a;
  text-align:right;
}
#stb-root .config-box-shipping{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  border-top:1px dashed rgba(13,33,74,.18);
  padding-top:12px;
}
#stb-root .config-box-shipping-label{
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
}
#stb-root .config-box-shipping-date{
  font-size:.95rem;
  font-weight:700;
  color:#0e214a;
}
#stb-root .total-unit-label{
  font-weight:600;
}
#stb-root .total-net .stb-price-prefix,
#stb-root .total-vat .stb-price-prefix{ font-weight:600; color:inherit; }
#stb-root .total-save{
  font-size:.82rem;
  color:var(--accent);
  text-align:right;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}
#stb-root .total-save:empty{ display:none; }
#stb-root .cta{ display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap }
#stb-root .btn{
  appearance:none; border:1px solid var(--line) !important; background:#fff !important; color:#111 !important;
  border-radius:8px; padding:8px 14px; font-weight:800; letter-spacing:.02em; cursor:pointer; line-height:1;
  font-size:.9rem; text-transform:none !important; box-shadow:none !important; text-shadow:none !important;
  display:inline-flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; overflow:hidden;
}
#stb-root .btn-step{
  background:var(--cta-blue) !important;
  border-color:var(--cta-blue) !important;
  color:#fff !important;
  border-radius:8px;
  padding:16px 26px;
  font-size:1.02rem;
  letter-spacing:.08em;
  text-transform:uppercase !important;
  font-weight:800;
  box-shadow:0 14px 32px rgba(75,140,255,.25),0 0 0 1px rgba(255,255,255,.08);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  gap:12px;
}
#stb-root .btn-step *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
#stb-root .btn-step svg{ color:inherit; }
#stb-root .btn-step svg *{
  stroke:currentColor;
}
#stb-root .btn-step-icon{
  width:52px;
  height:52px;
  border-radius:8px;
  background:rgba(255,255,255,.14);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
}
#stb-root .btn-step-icon svg{
  width:26px;
  height:26px;
}
#stb-root .btn-step-label{ font-size:inherit; font-weight:inherit; letter-spacing:inherit; }
#stb-root .btn.btn-step,
#stb-root .btn.btn-step *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
#stb-root .btn-step:hover{
  background:var(--cta-blue-hover) !important;
  border-color:var(--cta-blue-hover) !important;
  box-shadow:0 18px 36px rgba(63,124,240,.28);
}
#stb-root .btn-step:active{
  transform:translateY(1px);
  box-shadow:0 10px 24px rgba(63,124,240,.26);
}
#stb-root .step-footer .btn-step,
#stb-root #stb-step-2 .cta .btn-step,
#stb-root #stb-step-3 .cta .btn-step{ width:100%; }
#stb-root #stb-step-3 .step-options .btn-step{ width:100%; }
#stb-root .btn-step:focus-visible{ box-shadow:0 0 0 4px rgba(255,255,255,.5),0 0 0 6px var(--cta-glow); }
#stb-root .btn-icon,
.stb-modal .btn-icon,
.stb-quote-popup .btn-icon{
  width:52px !important; height:52px !important; min-width:52px !important;
  padding:0 !important; border-radius:8px !important;
  display:inline-flex; align-items:center; justify-content:center;
  overflow:hidden !important; font-size:0; line-height:1;
}
#stb-root .btn-icon svg,
.stb-modal .btn-icon svg,
.stb-quote-popup .btn-icon svg,
#stb-root .btn-icon .stb-icon,
.stb-modal .btn-icon .stb-icon,
.stb-quote-popup .btn-icon .stb-icon{
  width:30px; height:30px; display:block;
}
#stb-root .btn-icon span,
.stb-modal .btn-icon span,
.stb-quote-popup .btn-icon span{ display:inline-flex; align-items:center; justify-content:center; width:100%; pointer-events:none; font-size:1.05rem; line-height:1; }
#stb-root .btn-primary{ background:var(--accent) !important; border-color:var(--accent) !important; color:#fff !important }
#stb-root .btn:disabled{ opacity:.6; cursor:not-allowed }

#stb-root :is(button,.btn,.opt-item,.opt-toggle,.shape-btn,input,select,textarea):focus-visible,
.stb-modal :is(button,.btn,.opt-item,.opt-toggle,.shape-btn,input,select,textarea):focus-visible,
.stb-quote-popup :is(button,.btn,.opt-item,.opt-toggle,.shape-btn,input,select,textarea):focus-visible{
  outline:none;
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 3px var(--focus-ring);
}
#stb-root :is(button,.btn,.opt-item,.opt-toggle,.shape-btn):focus-visible:not(.btn-primary),
.stb-modal :is(button,.btn,.opt-item,.opt-toggle,.shape-btn):focus-visible:not(.btn-primary),
.stb-quote-popup :is(button,.btn,.opt-item,.opt-toggle,.shape-btn):focus-visible:not(.btn-primary){
  background:var(--focus-bg) !important;
}
#stb-root .btn.btn-primary:focus-visible,
.stb-modal .btn.btn-primary:focus-visible,
.stb-quote-popup .btn.btn-primary:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.35),0 0 0 5px var(--focus-ring);
}

#stb-root input:focus-visible,
#stb-root select:focus-visible,
#stb-root textarea:focus-visible,
.stb-modal input:focus-visible,
.stb-modal select:focus-visible,
.stb-modal textarea:focus-visible,
.stb-quote-popup input:focus-visible,
.stb-quote-popup select:focus-visible,
.stb-quote-popup textarea:focus-visible{
  background:var(--focus-bg) !important;
}

#stb-root .stb-row:focus-within,
.stb-modal .stb-row:focus-within,
.stb-quote-popup .stb-row:focus-within{
  border-color:var(--focus-border);
  box-shadow:0 0 0 3px var(--focus-ring);
}

/* „Wgraj plik” na niebiesko */
#stb-upload.btn,
.stb-modal #stb-upload.btn,
#stb-upload-trigger.btn{ background:var(--accent) !important; border-color:var(--accent) !important; color:#fff !important }

/* na stronie cena obok — 2 kolumna */
#stb-root .price-in-order{ grid-column:2; }
@media (max-width:820px){ #stb-root .price-in-order{ grid-column:1 } }

/* DESIGNER na stronie chowamy — tylko modal */
#stb-root .stb-wrap > .designer{ display:none !important }

/* ========================= MODAL ========================= */
.stb-modal{
  position:fixed; inset:0; display:none; z-index:999999;
  --accent:#2d7ff9; --ink:#111; --muted:#666; --line:#e7e7e7; --card:#fff; --radius:8px; --price-blue:#2d7ff9;
  --focus-ring:rgba(45,127,249,.28); --focus-border:rgba(45,127,249,.65); --focus-bg:rgba(45,127,249,.12);
  color:var(--ink);
  font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif !important;
}
.stb-modal[aria-hidden="false"]{ display:block }
.stb-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.65) }
.stb-modal__content{
  position:absolute; inset:0; display:grid; grid-template-rows:1fr auto;
  background:#fff; overflow:auto; -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
}
.stb-modal__main{ min-height:0; overflow:auto; }
.stb-modal__summary{
  padding:18px 24px 24px;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:flex-end;
  justify-content:flex-end;
  border-top:1px solid var(--line);
  background:#fff;
}
.stb-modal__summary .price-box{
  justify-items:end;
  flex:0 1 380px;
  width:auto;
  max-width:420px;
  gap:8px;
}
.stb-modal__summary-controls{
  display:flex;
  gap:10px;
  align-items:flex-end;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
.modal-qty-control{
  background:none;
  border:none;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:stretch;
  min-width:0;
}
.modal-qty-control__label{
  font-size:.64rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  text-align:center;
}
.stb-modal__summary-controls select,
.stb-modal__summary-controls input[type="number"]{
  min-width:0;
  width:auto;
  border:1px solid var(--line);
  border-radius:8px;
  padding:6px 12px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.stb-modal__summary-controls select{
  padding-right:32px;
  appearance:none;
  -moz-appearance:none;
  -webkit-appearance:none;
  background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8" fill="none" stroke="%23666" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M1 1.5L6 6.5L11 1.5"/%3E%3C/svg%3E');
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:12px 8px;
}
.stb-modal__summary-controls input[type="number"]{
  text-align:center;
}
@media (max-width:640px){
  .stb-modal__summary{
    justify-content:center;
  }
  .stb-modal__summary .price-box{
    flex:1 1 100%;
    max-width:none;
  }
  .stb-modal__summary-controls{
    justify-content:center;
  }
}
.stb-modal__close{ position:absolute; top:12px; right:12px; z-index:2; border-color:var(--line) !important }
body.stb-lock{ overflow:hidden }

/* Wymuszony wygląd przycisków + usunięcie spinnerów */
.stb-modal button, .stb-modal .btn{
  -webkit-appearance:button !important;
  -moz-appearance:button !important;
  appearance:button !important;
}
.stb-modal input[type="number"]::-webkit-inner-spin-button,
.stb-modal input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none; margin:0;
}
.stb-modal input[type="number"]{ -moz-appearance:textfield; }

/* hard overrides na motyw */
.stb-modal button,.stb-modal .button,.stb-modal .btn{
  background:#fff !important; border:1px solid var(--line) !important; color:#111 !important;
  border-radius:8px !important; padding:8px 14px !important; font-weight:800 !important; letter-spacing:.02em !important;
  box-shadow:none !important; text-shadow:none !important; text-transform:none !important;
  display:inline-flex !important; align-items:center; justify-content:center; gap:6px; white-space:nowrap; overflow:hidden;
}
.stb-modal .btn.btn-primary,.stb-modal .button.alt,.stb-modal button.primary{
  background:var(--accent) !important; border-color:var(--accent) !important; color:#fff !important;
}
.stb-modal input[type="number"],.stb-modal input[type="color"],.stb-modal input[type="range"],
.stb-modal input[type="text"],.stb-modal input[type="email"],.stb-modal textarea,.stb-modal select{
  background:#fff !important; border:1px solid var(--line) !important; color:#111 !important;
  padding:6px 10px !important; border-radius:8px !important; height:34px !important; accent-color:var(--accent);
}
.stb-modal input[type="file"].stb-file-input{ display:none !important }
.stb-modal textarea{ height:auto !important }

/* layout modala */
.stb-modal .designer{ margin:0; height:100%; border:none; border-radius:8px; background:#fff; padding:16px; min-height:0 }
.stb-modal .designer .stb-two{
  display:grid !important; grid-template-areas:"left right" !important;
  grid-template-columns:420px 1fr !important; gap:16px !important; height:100% !important; min-height:0 !important;
}
.stb-modal .stb-controls{ grid-area:left; display:flex; flex-direction:column; gap:12px; align-content:start; min-height:0 }
/* prawa kolumna: toolbar (auto), canvas (1fr), bottom-summary (auto) */
.stb-modal .preview-panel{ grid-area:right; display:grid !important; grid-template-rows:auto 1fr auto !important; gap:10px; min-height:0 }

/* przewijany lewy panel akordeonów */
.stb-modal .stb-controls.acc{
  max-height: calc(100vh - 32px);
  overflow:auto;
  padding-right: 4px;
  scrollbar-gutter: stable;
}
.stb-modal .stb-controls.acc::-webkit-scrollbar{ width:10px }
.stb-modal .stb-controls.acc::-webkit-scrollbar-thumb{ background:#d6dff3; border-radius:8px !important }
.stb-modal .stb-controls.acc::-webkit-scrollbar-track{ background:transparent }

@media (max-width:980px){
  .stb-modal .designer .stb-two{ grid-template-areas:"left" "right" !important; grid-template-columns:1fr !important; grid-template-rows:auto 1fr !important; }
}

@media (max-width:900px){
  .stb-modal .designer{ padding:14px 12px; height:auto; min-height:100%; }
  .stb-modal .designer .stb-two{
    grid-template-areas:"right" "left" !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    height:auto !important;
  }
  .stb-modal .preview-panel{ order:0; }
  .stb-modal .stb-controls.acc{ order:1; max-height:none; padding-right:0; }
}

@media (max-width:720px){
  .stb-modal .designer .stb-two{
    display:flex !important;
    flex-direction:column;
    gap:12px !important;
  }
  .stb-modal .preview-panel{ width:100%; }
  .stb-modal .stb-toolbar{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:10px 12px;
  }
  .stb-modal .stb-toolbar::-webkit-scrollbar{ height:6px; }
  .stb-modal .stb-toolbar .btn-icon{ flex:0 0 auto; }
  .stb-modal .canvas-box{ min-height:260px; }
  .stb-modal .stb-controls.acc{ max-height:none; }
}

/* kafelki/wiersze w panelu */
.stb-modal .stb-row{
  border:1px solid var(--line); border-radius:8px; background:#fff;
  padding:10px; transition:box-shadow .15s; position:relative; z-index:0;
}
.stb-modal .stb-row:hover{ box-shadow:0 4px 12px rgba(0,0,0,.05) }
.stb-modal .stb-inline{ display:flex; gap:8px; flex-wrap:wrap; align-items:center }
.stb-modal #stb-fname{ max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#666 }

/* toolbar nad podglądem */
.stb-modal .stb-toolbar{ 
  display:flex; gap:12px; flex-wrap:wrap; align-items:center;
  border:1px solid var(--line); border-radius:8px; padding:12px 16px; background:#fff;
}
.stb-modal .stb-toolbar .btn{ border-radius:8px; padding:6px 12px }
.stb-modal .stb-toolbar .stb-toolbar-download{
  padding:10px 22px;
  height:52px;
  min-height:52px;
  font-size:.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(45,127,249,.25);
  white-space:nowrap;
}
.stb-modal .stb-toolbar .stb-toolbar-download:hover{
  box-shadow:0 12px 28px rgba(45,127,249,.32);
}
.stb-modal .stb-toolbar .stb-toolbar-download:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.5),0 0 0 5px var(--focus-ring);
}
.stb-modal .stb-toolbar .btn-icon svg{ stroke:currentColor; fill:none; }
.stb-modal .stb-toolbar .btn-icon svg.stb-icon{ width:30px; height:30px; }

/* canvas prawa kolumna */
.stb-modal .canvas-box{
  position:relative;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  height:100%;
  padding:16px;
  background:#fff;
  overflow:hidden;
  contain:layout paint;
  aspect-ratio:1 / 1;
}
.stb-modal #stb-canvas{
  width:100%;
  height:auto;
  max-width:none;
  max-height:none;
  touch-action:none;
  display:block;
  aspect-ratio:1 / 1;
  position:relative;
  z-index:1;
  background:transparent;
}

/* ===== Akordeon ===== */
.stb-controls.acc .acc__head{
  display:flex; align-items:center; justify-content:flex-start; gap:10px; width:100%; text-align:left;
  padding:12px 44px 12px 16px;
  border:1px solid var(--stb-border, #c9d7ee);
  background: var(--stb-head-bg, #f6f9ff);
  color: var(--stb-head-fg, #1d2b4f);
  border-radius:8px;
  font-weight:700;
  font-size:1.05rem;
  line-height:1.2;
  cursor:pointer;
  position:relative;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.stb-controls.acc .acc__head::after{
  content:"▸";
  position:absolute; right:14px; top:50%; transform:translateY(-50%) rotate(0deg);
  font-size:18px; line-height:1; color:var(--stb-head-fg, #1d2b4f);
  transition: transform .15s ease;
}
.stb-controls.acc .acc__item.is-active .acc__head,
.stb-controls.acc .acc__head[aria-expanded="true"]{
  background:linear-gradient(135deg, rgba(45,127,249,.14), rgba(45,127,249,.04));
  border-color:var(--focus-border);
  color:#103a7a;
  box-shadow:0 6px 22px rgba(19,77,160,.18), 0 0 0 3px var(--focus-ring);
}
.stb-controls.acc .acc__head[aria-expanded="true"]::after{ transform:translateY(-50%) rotate(90deg) }
.stb-controls.acc .acc__head:focus-visible{ color:#103a7a; }
.stb-controls.acc .acc__body{
  margin-top:8px;
  border:1px solid var(--stb-border, #c9d7ee);
  border-radius:8px;
  padding:10px;
  background:#fff;
}

#stb-root .opt-item[aria-pressed="true"],
.stb-modal .opt-item[aria-pressed="true"]{
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 2px var(--focus-ring);
  background:var(--focus-bg) !important;
}
#stb-root .opt-item:focus-visible,
.stb-modal .opt-item:focus-visible{
  box-shadow:0 0 0 3px var(--focus-ring);
}

#stb-root .shape-btn[aria-pressed="true"],
.stb-modal .shape-btn[aria-pressed="true"]{
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 2px var(--focus-ring);
  background:var(--focus-bg) !important;
}
#stb-root .shape-btn:focus-visible,
.stb-modal .shape-btn:focus-visible{
  box-shadow:0 0 0 3px var(--focus-ring);
}

.stb-modal .stb-toolbar .btn-icon:focus-visible,
.stb-modal .stb-toolbar .btn-icon[aria-pressed="true"]{
  background:var(--focus-bg) !important;
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 3px var(--focus-ring);
}

#stb-root .btn-icon[aria-pressed="true"],
.stb-modal .btn-icon[aria-pressed="true"],
#stb-root .btn-icon.is-active,
.stb-modal .btn-icon.is-active{
  background:var(--focus-bg) !important;
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 2px var(--focus-ring);
}

#stb-root .acc__head,
.stb-modal .acc__head{ text-align:left !important; }

/* Kształty — ikonki */
.stb-modal .shape-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px }
#stb-root .shape-btn,
.stb-modal .shape-btn{
  display:flex; align-items:center; justify-content:center;
  height:60px; padding:0 10px; width:100%; min-width:0;
  border:1px solid var(--line) !important; background:#fff !important; border-radius:8px; cursor:pointer; transition:.15s;
  font-weight:700; letter-spacing:.06em; font-size:.72rem; text-transform:uppercase;
  overflow:hidden; white-space:nowrap;
}
.stb-modal .shape-btn[aria-pressed="true"],
#stb-root .shape-btn[aria-pressed="true"]{ border-color:var(--focus-border) !important; box-shadow:0 0 0 2px var(--focus-ring); background:var(--focus-bg) !important; }
.stb-modal .shape-btn svg *,
#stb-root .shape-btn svg *{ stroke:currentColor !important; fill:none !important; stroke-width:2 }
.stb-modal .shape-btn svg,
#stb-root .shape-btn svg{ width:34px; height:34px; color:#111; flex:0 0 auto; display:block }

#stb-root .stb-color-field .stb-lbl{ display:flex; justify-content:space-between; align-items:center; gap:6px; }
#stb-root .stb-color-field .stb-lbl strong{ font-size:.74rem; color:var(--muted); font-weight:600; }
.stb-color-input{
  display:flex; align-items:center; gap:6px;
}
#stb-root .stb-color-input .color-reset,
.stb-modal .stb-color-input .color-reset{
  width:36px !important; height:36px !important; min-width:36px !important;
  border-radius:8px; font-size:0;
  display:inline-flex; align-items:center; justify-content:center;
  padding:0 !important; overflow:hidden !important;
}
#stb-root .stb-color-input .color-reset span,
.stb-modal .stb-color-input .color-reset span{
  font-size:1rem; line-height:1;
}
.stb-color-input input[type="color"]{ flex:1 1 auto; min-width:0; }

.qr-frame-controls{ align-items:flex-start; gap:16px; }
.qr-frame-controls label{ flex:1 1 160px; }
.qr-frame-controls input[type="range"]{ width:100%; }
.qr-frame-controls .stb-lbl strong{ font-size:.78rem; color:var(--accent); }

/* ===== Lista czcionek (zamiast kafelków) ===== */
.stb-modal .font-list{ display:grid; gap:6px }
.stb-modal .font-item{
  display:flex; align-items:baseline; justify-content:space-between;
  border:1px solid var(--line); border-radius:8px; background:#fff; padding:8px 10px; cursor:pointer; transition:.15s;
}
.stb-modal .font-item:hover{ box-shadow:0 4px 12px rgba(0,0,0,.05) }
.stb-modal .font-item[aria-pressed="true"]{ border-color:var(--focus-border) !important; box-shadow:0 0 0 2px var(--focus-ring); background:var(--focus-bg) !important; }
.stb-modal .font-item .font-name{ font-weight:700; margin-right:12px; font-size:.9rem }
.stb-modal .font-item .font-sample{ font-size:.95rem; opacity:.9; }

/* ===== Bottom summary w modalu ===== */
.stb-modal .stb-mini-summary{
  display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:12px;
  border:1px solid var(--line); border-radius:8px; padding:10px; background:#fff;
}
.stb-modal .stb-mini-summary .sum-left{ display:flex; gap:12px; flex-wrap:wrap; font-size:.9rem; color:#333 }
.stb-modal .stb-mini-summary .sum-right{ text-align:right; display:grid; gap:4px; justify-items:end; }
.stb-modal .stb-mini-summary .sum-total{ font-weight:800; font-size:1.35rem; color:#0e214a; }
.stb-modal .stb-mini-summary .sum-net{
  font-size:.95rem;
  font-weight:600;
  color:#2f4d86;
  background:rgba(45,127,249,.12);
  padding:4px 12px;
  border-radius:8px;
  display:inline-block;
  white-space:nowrap;
}
.stb-modal .stb-mini-summary .sum-cta .btn{ padding:10px 14px; font-size:.95rem }

@media (max-width:700px){
  .stb-modal .stb-mini-summary{ grid-template-columns:1fr; gap:8px }
  .stb-modal .stb-mini-summary .sum-right{ text-align:left }
  .stb-modal .stb-mini-summary .sum-cta{ justify-self:start }
}

/* corner slider disabled przy ellipse/circle */
.stb-modal #stb-corner:disabled{ opacity:.5 }

/* global inherit */
#stb-root a,#stb-root button,#stb-root .btn,#stb-root .label{ color:inherit !important }

/* ===== Canvas HUD (usunięty) — zachowujemy kontener */
.canvas-box{ position: relative; }

.stb-handle-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:5;
}
.stb-handle-panel{
  position:absolute;
  display:none;
  padding:10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.95);
  box-shadow:0 10px 22px rgba(17,25,40,0.2);
  pointer-events:auto;
  backdrop-filter:blur(8px);
}
.stb-handle-pad{
  display:grid;
  grid-template-columns:repeat(2, 46px);
  grid-auto-rows:46px;
  gap:6px;
}
.stb-handle-btn{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.15s ease;
  width:46px;
  height:46px;
  overflow:hidden;
}
.stb-handle-btn svg{
  width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}
.stb-handle-btn:hover,
.stb-handle-btn:focus{
  border-color:var(--accent);
  color:var(--accent);
  outline:none;
  box-shadow:0 0 0 2px rgba(45,127,249,.15);
}

/* ===== Pasek formatowania tekstu ===== */
.stb-text-toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:4px;
}
.stb-text-toolbar .btn-icon{ border-radius:8px !important; width:42px !important; height:42px !important; }
.stb-text-toolbar .btn-icon[aria-pressed="true"],
.stb-text-toolbar .btn-icon.is-active{
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 2px var(--focus-ring);
  background:var(--focus-bg) !important;
  color:#103a7a;
}
.stb-text-toolbar .stb-text-color{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:140px;
}
.stb-text-toolbar .stb-text-color .stb-lbl{ font-size:.72rem; color:var(--muted); font-weight:600; }
.stb-text-toolbar .stb-text-color .stb-color-input{ width:100%; }
.stb-text-size{ margin-top:4px; }
.stb-text-size .stb-lbl strong{ color:var(--accent); font-size:.78rem; font-weight:700; }
.stb-text-size input[type="range"]{ width:100%; }
.icon-letter{ font-size:1rem; font-weight:600; }
.icon-letter-bold{ font-weight:800; }
.icon-letter-italic{ font-style:italic; }

/* ===== Pasek postępu PDF obok przycisku PDF ===== */
.stb-pdf-progress{
  display:inline-flex; align-items:center; gap:8px; margin-left:8px; font-size:12px; color:#1d2b4f;
}
.stb-pdf-progress .track{
  width:120px; height:8px; border-radius:8px; background:#e9efff; overflow:hidden; border:1px solid #d4e0ff;
}
.stb-pdf-progress .bar{
  height:100%; width:0%; background:#2d7ff9; transition:width .2s ease;
}

/* ===== Drobne dopieszczenia QR ===== */
#acc-qr .stb-row{ gap:10px }
#acc-qr .stb-inline .btn{ height:38px; min-height:38px; padding:6px 14px }
#acc-qr .stb-field input[type="text"],
#acc-qr .stb-field textarea{ width:100% }
#stb-root .stb-url-input,
.stb-modal .stb-url-input{
  border-color:rgba(45,127,249,.6) !important;
  background:rgba(45,127,249,.08) !important;
  box-shadow:0 0 0 1px rgba(45,127,249,.18);
  color:var(--ink) !important;
}
#stb-root .stb-url-input:focus,
.stb-modal .stb-url-input:focus{
  box-shadow:0 0 0 3px rgba(45,127,249,.25);
  outline:none;
}

/* ===== Przycisk "Usuń" obok wgranej grafiki ===== */
#stb-img-clear.btn{ border-color:#ffd3d3 !important; }
#stb-img-clear.btn:hover{ background:#ffe9e9 !important; }

/* (opcjonalnie dostosuj kolory zmiennymi) */
:root{
  --stb-border:#c9d7ee;
  --stb-head-bg:#f6f9ff;
  --stb-head-bg-active:#eaf2ff;
  --stb-border-active:#a8c2f0;
  --stb-head-fg:#1d2b4f;
}


/* ===== Podsumowanie (edycja wymiarów i nakładu) ===== */
#stb-root .sum-section{ display:grid; gap:6px; }
#stb-root .sum-link{
  background:none; border:none; padding:0;
  font-weight:700; font-size:.9rem;
  color:var(--accent) !important; cursor:pointer;
  text-align:left;
}
#stb-root .sum-link strong{ color:inherit; }
#stb-root .sum-edit{
  border:1px solid var(--line); border-radius:8px;
  padding:8px; background:#fff; display:grid; gap:8px;
}
#stb-root .sum-edit.is-hidden{ display:none; }
#stb-root .sum-meta{ display:grid; gap:4px; font-size:.82rem; color:var(--muted); }
.outline-row{ align-items:center; gap:14px; flex-wrap:wrap; }
.outline-row .stb-field{ min-width:140px; }
.color-row{ margin-top:10px; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.color-row .stb-color-field{ flex:1 1 160px; }

#stb-diecut-slot:empty{ display:none; }
#stb-diecut-slot{ margin-top:10px; }
#stb-diecut-slot .stb-row{ margin-top:0; }
#stb-root #stb-upload-row.is-diecut,
.stb-modal #stb-upload-row.is-diecut{
  border-color:var(--focus-border) !important;
  box-shadow:0 0 0 3px var(--focus-ring);
}

.stb-quote-popup{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:none;
  --accent:#2d7ff9; --ink:#111; --focus-ring:rgba(45,127,249,.28); --focus-border:rgba(45,127,249,.65); --focus-bg:rgba(45,127,249,.12);
  font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
}
.stb-quote-popup.is-visible{ display:flex; align-items:center; justify-content:center; }
.stb-quote-popup__backdrop{
  position:absolute; inset:0; background:rgba(0,0,0,.65);
}
.stb-quote-popup__dialog{
  position:relative; z-index:1;
  background:#fff; border-radius:8px; border:1px solid var(--line, #e5eaf5);
  width:min(520px, calc(100% - 40px));
  padding:22px 24px;
  box-shadow:0 24px 60px rgba(15,30,60,.18);
  display:grid; gap:18px;
}
.stb-quote-popup__title{ font-size:1.18rem; letter-spacing:.02em; font-weight:800; color:#0e2f6f; }
.stb-quote-popup__header{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.stb-quote-popup__body{ font-size:.95rem; color:#243253; line-height:1.5; }
.stb-quote-popup__actions{ display:flex; flex-wrap:wrap; gap:10px; }
.stb-quote-popup .btn{
  appearance:none; border:1px solid var(--line, #e5eaf5) !important; background:#fff !important; color:#111 !important;
  border-radius:8px; padding:10px 18px; font-weight:800; letter-spacing:.02em; cursor:pointer; line-height:1;
  font-size:.92rem; text-transform:none !important; box-shadow:none !important; text-shadow:none !important;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.stb-quote-popup .btn.btn-primary{ background:var(--accent) !important; border-color:var(--accent) !important; color:#fff !important; }
.stb-quote-popup .btn:focus-visible{ outline:none; border-color:var(--focus-border) !important; box-shadow:0 0 0 3px var(--focus-ring); background:var(--focus-bg) !important; }
.stb-quote-popup .btn.btn-primary:focus-visible{ box-shadow:0 0 0 3px rgba(255,255,255,.3),0 0 0 5px var(--focus-ring); }
.stb-quote-popup__dialog:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--focus-ring); }

