.auth-panel{max-width:460px;margin-top:40px}
.auth-panel .hint{margin-top:16px;font-size:16px}

/* ---------- batch card ---------- */
.batch{background:var(--bg-2);border:1px solid var(--line-2);margin-bottom:28px}
.batch-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;
    padding:24px 24px 18px;border-bottom:1px solid var(--line);
}
.batch-name{font-family:var(--head);font-weight:400;font-size:36px;line-height:1;margin-top:10px}
.batch-when{text-align:right;font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim)}
.batch-when strong{display:block;color:var(--orange);font-size:13px;margin-top:4px;font-weight:400}
.batch-desc{padding:16px 24px 0;color:var(--ink-dim);white-space:pre-line}

.prod{padding:22px 24px;border-bottom:1px solid var(--line-2)}
.prod.has-media{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:26px;align-items:start}
.prod-name{font-family:var(--head);font-size:30px;letter-spacing:.02em;line-height:1.05}
.prod-price{font-family:var(--mono);font-size:14px;color:var(--orange);letter-spacing:.12em;margin-top:6px}
.prod-desc{color:var(--ink-dim);font-size:17px;margin-top:12px;white-space:pre-line;max-width:640px}
.prod-qty{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

/* gallery: first photo large, the rest as thumbnails; swipeable on phones */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.shot{display:block;padding:0;border:1px solid var(--line-2);background:var(--bg);cursor:zoom-in;overflow:hidden}
.shot img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform .3s}
.shot:hover img{transform:scale(1.04)}
.shot:first-child{grid-column:1/-1}
.shot:first-child img{aspect-ratio:4/5}
.shot-count{margin-top:8px;font-size:10px;color:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase}

.size-chart{margin-top:16px;max-width:640px}
.size-chart summary{
    cursor:pointer;display:inline-flex;align-items:center;gap:8px;
    font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);
}
.size-chart summary::after{content:"+";font-size:14px}
.size-chart[open] summary::after{content:"–"}
.size-chart .table-wrap{margin-top:10px}
.size-chart th,.size-chart td{padding:8px 10px}
.size-chart tbody th{font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--bg-2)}
.size-chart thead th{color:var(--orange)}
.chart-note{margin-top:6px;color:var(--ink-dim);font-size:14px}

/* lightbox */
#lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:none;background:rgba(0,0,0,.94)}
#lightbox::backdrop{background:rgba(0,0,0,.9)}
#lightbox figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px 16px 24px;pointer-events:none}
#lightbox img{max-width:100%;max-height:calc(100% - 40px);object-fit:contain;pointer-events:auto}
#lightbox figcaption{color:var(--ink-dim);text-transform:uppercase}
.lb-btn{
    position:absolute;background:rgba(20,20,20,.8);border:1px solid var(--line);color:var(--ink);
    width:48px;height:48px;font-size:20px;cursor:pointer;font-family:var(--mono);
}
.lb-btn:hover{color:#000;background:var(--orange)}
.lb-close{top:14px;right:14px}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.lb-next{right:14px;top:50%;transform:translateY(-50%)}

.qty{display:flex;flex-direction:column;align-items:center;gap:4px}
.qty-label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ink-dim);text-transform:uppercase}
.stepper{display:flex;border:1px solid var(--line-2);background:var(--bg)}
.stepper button{
    width:34px;height:38px;background:none;border:none;color:var(--ink);cursor:pointer;
    font-family:var(--mono);font-size:18px;
}
.stepper button:hover{color:var(--orange)}
.stepper button:disabled{opacity:.3;cursor:default;color:var(--ink)}
.stepper input{
    width:40px;height:38px;padding:0;text-align:center;border:none;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);
    -moz-appearance:textfield;appearance:textfield;
}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty.has .stepper{border-color:var(--orange)}
.qty.has .qty-label{color:var(--orange)}

.batch-foot{padding:20px 24px 24px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.batch-foot textarea{min-height:52px}
.order-state{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;color:var(--ink-dim)}
.order-state.saved{color:var(--ok)}
.order-state.dirty{color:var(--orange)}
.order-total{font-family:var(--head);font-size:34px;line-height:1;text-align:right;margin-bottom:12px}
.order-total small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.25em;color:var(--ink-dim);margin-bottom:6px}
.order-summary{color:var(--ink-dim);font-size:16px;margin-top:8px}

/* ---------- upcoming + history ---------- */
.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.mini{background:var(--bg-2);border:1px solid var(--line-2);padding:20px}
.mini h4{font-family:var(--head);font-weight:400;font-size:26px;line-height:1;margin:10px 0 8px}
.mini ul{list-style:none;margin-top:10px;font-size:16px}
.mini li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line-2);padding:6px 0}
.mini li span:last-child{font-family:var(--mono);font-size:13px;color:var(--ink-dim)}

.history-item{border:1px solid var(--line-2);margin-bottom:14px}
.history-item summary{
    list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;
    padding:16px 20px;flex-wrap:wrap;
}
.history-item summary::-webkit-details-marker{display:none}
.history-item summary b{font-family:var(--head);font-weight:400;font-size:24px}
.history-item .table-wrap{border:none;border-top:1px solid var(--line-2)}

@media (max-width:700px){
    .prod.has-media{grid-template-columns:1fr;gap:16px}
    .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin:0 -16px;padding:0 16px}
    .shot,.shot:first-child{flex:0 0 82%;scroll-snap-align:center}
    .shot img,.shot:first-child img{aspect-ratio:4/5}
    .shot-count::before{content:"← wischen → · "}
    .batch-head,.prod,.batch-foot{padding-left:16px;padding-right:16px}
    .batch-desc{padding-left:16px;padding-right:16px}
    .batch-when{text-align:left}
    .batch-foot{grid-template-columns:1fr}
    .order-total{text-align:left}
}
