/* Stavanger Open – kafésiden [so_kafe] */
.so-kafe{max-width:760px;margin:0 auto;font-size:15px;color:#1d2327}
.so-kafe-card{background:#fff;border:1px solid #e3e3dc;border-radius:12px;padding:18px}
.so-kafe-login{max-width:420px;margin:0 auto}
.so-kafe-login h2{margin:0 0 6px;font-size:1.3rem}
.so-kafe-hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:14px}
.so-kafe-hd b{font-size:1.15rem}
.so-kafe-hd span{margin-left:auto;color:#6b7280;font-size:14px}
.so-kafe-sec{margin:0 0 18px}
.so-kafe-lbl{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.so-kafe-lbl span{font-weight:400;color:#6b7280}
.so-kafe-hint{margin:5px 0 0;font-size:13px;color:#6b7280}
.so-kafe-f{display:flex;flex-direction:column;gap:4px}
.so-kafe-f span{font-weight:600;font-size:14px}
.so-kafe input[type=email],.so-kafe input[type=text],.so-kafe textarea{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid #c3c4c7;border-radius:7px;font:inherit;font-size:15px;background:#fff;color:#1d2327}
.so-kafe textarea{resize:vertical}
.so-kafe-list{display:flex;flex-direction:column;gap:8px}
.so-kafe-prod{display:grid;grid-template-columns:20px minmax(0,1fr) 110px auto 28px;gap:8px;align-items:center;border:1px solid #e3e3dc;border-radius:10px;padding:9px 10px;background:#fafaf7}
.so-kafe-prod.is-out{background:#fdf3f3;border-color:#f0c9c9}
.so-kafe-prod.is-out [data-k="name"],.so-kafe-prod.is-out [data-k="price"]{text-decoration:line-through;color:#8c8f94}
.so-kafe-prod.is-drag{opacity:.5}
.so-kafe-handle{color:#b0b0a8;cursor:grab;font-size:18px;user-select:none;text-align:center}
.so-kafe-in--desc{grid-column:2 / 5;font-size:14px !important}
.so-kafe-img{grid-column:5;font-size:11px;color:#6b7280;white-space:nowrap}
.so-kafe-tog{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;white-space:nowrap;user-select:none}
.so-kafe-tog input{position:absolute;opacity:0;width:1px;height:1px}
.so-kafe-tog i{width:34px;height:19px;border-radius:999px;background:#c3c4c7;position:relative;transition:background .15s;flex:none}
.so-kafe-tog i::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .15s}
.so-kafe-tog input:checked + i{background:#b32d2e}
.so-kafe-tog input:checked + i::after{left:17px}
.so-kafe-tog input:focus-visible + i{outline:2px solid #1c1c14;outline-offset:2px}
.so-kafe button.so-kafe-x,.so-kafe button.so-kafe-x:hover,.so-kafe button.so-kafe-x:focus{background:none !important;border:0 !important;box-shadow:none !important;color:#b32d2e !important;font-size:16px !important;padding:2px !important;cursor:pointer;min-height:0;line-height:1}
.so-kafe button.so-kafe-link,.so-kafe button.so-kafe-link:hover,.so-kafe button.so-kafe-link:focus{background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important;color:#2271b1 !important;font-size:14px !important;font-weight:600 !important;text-decoration:underline;text-transform:none !important;cursor:pointer;min-height:0}
.so-kafe button.so-kafe-btn,.so-kafe button.so-kafe-btn:hover,.so-kafe button.so-kafe-btn:focus{display:inline-block;background:#1c1c14 !important;color:#fff !important;border:0 !important;border-radius:7px !important;padding:10px 20px !important;font-size:15px !important;font-weight:700 !important;text-transform:none !important;letter-spacing:normal !important;box-shadow:none !important;cursor:pointer}
.so-kafe button.so-kafe-btn--y,.so-kafe button.so-kafe-btn--y:hover,.so-kafe button.so-kafe-btn--y:focus{background:#F6C404 !important;color:#1c1c14 !important}
.so-kafe button.so-kafe-btn.is-dirty{box-shadow:0 0 0 3px rgba(246,196,4,.45) !important}
.so-kafe button.so-kafe-btn[disabled]{opacity:.6}
.so-kafe-save{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;bottom:0;background:#fff;padding:10px 0 4px;border-top:1px solid #eee}
.so-kafe-msg{font-size:14px;color:#6b7280}
.so-kafe-msg.is-ok{color:#1a7a3f}
.so-kafe-msg.is-err{color:#b32d2e}
.so-kafe-loading{color:#6b7280}
@media (max-width:620px){
	.so-kafe-prod{grid-template-columns:20px minmax(0,1fr) 84px 28px}
	.so-kafe-tog{grid-column:2 / 4;grid-row:3}
	.so-kafe-in--desc{grid-column:2 / 4}
	.so-kafe-img{grid-column:2 / 4}
}