/* BOS! Activation Stories — on top of ../css/style.css (same colours and fonts as the rest of the site) */
.st-banner{width:100%;display:block;background:linear-gradient(135deg,var(--green-dark),var(--green-mid));padding:34px 0;color:#fff;}
.st-banner h1{color:#fff;margin:0 0 6px;}
.st-banner p{color:#dce8f5;margin:0;max-width:760px;}
.st-banner .btn{margin-top:16px;}
.st-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}

.st-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px;}
.st-tab{border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:999px;padding:8px 16px;font-size:.92rem;font-weight:600;cursor:pointer;}
.st-tab:hover{border-color:var(--green-mid);}
.st-tab.on{background:var(--green-dark);border-color:var(--green-dark);color:#fff;}

.st-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px;}
.st-chips{display:flex;flex-wrap:wrap;gap:6px;}
.st-chip{border:1px solid var(--border);background:#fff;color:#333;border-radius:999px;padding:5px 12px;font-size:.82rem;cursor:pointer;}
.st-chip:hover{border-color:var(--green-mid);}
.st-chip.on{background:var(--green);border-color:var(--green);color:#fff;}
.st-search{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;min-width:220px;flex:0 1 280px;}
.st-active-filter{background:var(--green-light);color:var(--green-dark);border-radius:8px;padding:8px 12px;font-size:.88rem;margin-bottom:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.st-active-filter a{font-weight:600;}

.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;}
.st-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s;}
.st-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.st-card .ph{aspect-ratio:4/3;background:var(--grey-light) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:2.6rem;color:#b9c4d6;}
.st-card .bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.st-card h3{margin:0;font-size:1.08rem;line-height:1.3;color:var(--green-dark);}
.st-card .meta{font-size:.82rem;color:var(--grey);}
.st-card .ex{font-size:.88rem;color:#3c4842;line-height:1.45;margin:0;}
.st-card .ft{margin-top:auto;display:flex;gap:14px;font-size:.85rem;color:var(--grey);padding-top:6px;}
.st-call{font-weight:700;color:var(--green-dark);font-family:Consolas,monospace;letter-spacing:.3px;}

.st-badges{display:flex;flex-wrap:wrap;gap:5px;}
.st-badge{display:inline-block;font-size:.72rem;font-weight:700;color:#fff;background:#5c6b62;border-radius:5px;padding:2px 7px;letter-spacing:.3px;}
.st-badge.ONFF{background:#16a085}.st-badge.BCA{background:#8B4513}.st-badge.BELMOTA{background:#2E7D32}.st-badge.BLHA{background:#B71C1C}
.st-badge.TOTA{background:#1565C0}.st-badge.ONBOTA{background:#34495e}.st-badge.SOTA{background:#7f8c8d}.st-badge.GMA{background:#6d4c41}
.st-badge.POTA{background:#c0392b}.st-badge.IWI{background:#00838f}

.st-more{text-align:center;margin:24px 0 8px;}
.st-empty{text-align:center;color:var(--grey);padding:40px 10px;background:var(--grey-light);border-radius:var(--radius);}
.st-msg{margin-top:10px;font-size:.92rem;}
.st-msg.ok{color:#1a7a4c;}
.st-msg.err{color:#b3392f;}
.st-hint{background:#fff8e1;border:1px solid #f0d899;border-radius:8px;padding:10px 14px;font-size:.9rem;color:#6b5300;margin:14px 0;}

#st-map{height:560px;border-radius:var(--radius);border:1px solid var(--border);}
.st-pop{width:210px;}
.st-pop img{width:100%;height:120px;object-fit:cover;border-radius:6px;display:block;margin-bottom:6px;}
.st-pop b{display:block;color:var(--green-dark);margin-bottom:2px;}

.st-top{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.st-top th,.st-top td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem;}
.st-top th{background:var(--green-dark);color:#fff;font-weight:600;}
.st-top td.n{text-align:right;font-variant-numeric:tabular-nums;}
.st-top tr:nth-child(1) td:first-child::after{content:' 🥇'}
.st-top tr:nth-child(2) td:first-child::after{content:' 🥈'}
.st-top tr:nth-child(3) td:first-child::after{content:' 🥉'}

/* story page */
.st-story{max-width:900px;margin:0 auto;}
.st-story h1{margin:0 0 8px;color:var(--green-dark);line-height:1.2;}
.st-story .meta{color:var(--grey);font-size:.95rem;display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:14px;}
.st-refs{display:flex;flex-direction:column;gap:6px;margin:0 0 20px;}
.st-refs .row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.92rem;}
.st-gallery .main{width:100%;max-height:600px;object-fit:contain;background:#111;border-radius:var(--radius);display:block;cursor:zoom-in;}
.st-gallery .thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px;}
.st-gallery .thumbs img{width:92px;height:70px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.65;border:2px solid transparent;flex:none;}
.st-gallery .thumbs img.on{opacity:1;border-color:var(--orange);}
.st-text{font-size:1.04rem;line-height:1.7;margin:24px 0;}
.st-text p{margin:0 0 1em;}
.st-box{background:var(--grey-light);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin:16px 0;}
.st-box h4{margin:0 0 6px;color:var(--green-dark);font-size:.95rem;}
.st-box p{margin:0;white-space:pre-line;}
#st-minimap{height:260px;border-radius:var(--radius);border:1px solid var(--border);margin:8px 0 0;}
.st-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.st-like{border:2px solid #e25555;background:#fff;color:#e25555;border-radius:999px;padding:8px 18px;font-weight:700;font-size:1rem;cursor:pointer;}
.st-like.on{background:#e25555;color:#fff;}
.st-like[disabled]{opacity:.55;cursor:default;}
.st-bar .sp{flex:1;}
.st-linkbtn{background:none;border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-size:.88rem;cursor:pointer;color:var(--ink);text-decoration:none;}
.st-linkbtn:hover{border-color:var(--green-mid);}
.st-linkbtn.danger{color:#b3392f;border-color:#e7b8b3;}
.st-comments h3{margin:26px 0 12px;}
.st-comment{border-left:3px solid var(--green-mid);background:#fff;padding:10px 14px;margin-bottom:10px;border-radius:0 8px 8px 0;box-shadow:var(--shadow);}
.st-comment .h{font-size:.84rem;color:var(--grey);display:flex;gap:10px;align-items:center;margin-bottom:4px;}
.st-comment .h button{margin-left:auto;background:none;border:none;color:#b3392f;cursor:pointer;font-size:.8rem;text-decoration:underline;}
.st-comment p{margin:0;white-space:pre-line;}
.st-comment-form textarea{width:100%;min-height:90px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;}
#st-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:2000;}
#st-lightbox.on{display:flex;}
#st-lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;}
#st-lightbox button{position:absolute;background:rgba(255,255,255,.15);color:#fff;border:none;font-size:2rem;width:52px;height:52px;border-radius:50%;cursor:pointer;}
#st-lightbox .x{top:16px;right:16px;font-size:1.6rem;}
#st-lightbox .pv{left:14px;top:50%;transform:translateY(-50%);}
#st-lightbox .nx{right:14px;top:50%;transform:translateY(-50%);}

/* form */
.st-form{max-width:860px;margin:0 auto;}
.st-form .fld{margin-bottom:16px;}
.st-form label.l{display:block;font-weight:700;font-size:.9rem;margin-bottom:5px;color:var(--ink);}
.st-form .help{font-weight:400;color:var(--grey);font-size:.84rem;}
.st-form input[type=text],.st-form input[type=date],.st-form input[type=url],.st-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:.95rem;}
.st-form textarea{min-height:240px;line-height:1.55;}
.st-form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pick-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.pick-row label{display:flex;align-items:center;gap:6px;margin:0;background:#fff;border:1px solid var(--border);border-radius:20px;padding:6px 14px;cursor:pointer;font-size:.9rem;user-select:none;}
.pick-row label:hover{border-color:var(--green-mid);}
.pick-row label.on{background:var(--green-dark);border-color:var(--green-dark);color:#fff;}
.pick-row input{margin:0;width:16px;height:16px;}
.prog-row{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--green-mid);border-radius:8px;background:#f3f8f3;margin-bottom:8px;}
.prog-row[hidden]{display:none;}
.prog-row .t{font-weight:600;font-size:.88rem;color:var(--green-dark);padding-top:9px;}
.prog-row .names{font-size:.82rem;color:var(--grey);margin-top:4px;}
.st-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:10px;}
.st-photos .p{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--grey-light) center/cover no-repeat;border:1px solid var(--border);}
.st-photos .p button{position:absolute;top:5px;right:5px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:.95rem;line-height:1;}
.st-photos .p .cv{position:absolute;left:5px;bottom:5px;background:var(--orange);color:#fff;font-size:.7rem;font-weight:700;border-radius:4px;padding:1px 6px;}
.st-drop{border:2px dashed var(--border);border-radius:var(--radius);padding:18px;text-align:center;color:var(--grey);cursor:pointer;background:#fff;}
.st-drop:hover,.st-drop.over{border-color:var(--green-mid);color:var(--green-dark);}
#st-pickmap{height:280px;border-radius:var(--radius);border:1px solid var(--border);margin-top:8px;}
.st-progress{height:8px;background:var(--grey-light);border-radius:4px;overflow:hidden;margin-top:10px;display:none;}
.st-progress div{height:100%;width:0;background:var(--orange);transition:width .2s;}
@media(max-width:640px){
  .st-form .two{grid-template-columns:1fr;}
  .prog-row{grid-template-columns:1fr;gap:4px;}
  .prog-row .t{padding-top:0;}
  #st-map{height:440px;}
  .st-top th:nth-child(4),.st-top td:nth-child(4){display:none;}
  .st-search{min-width:0;flex:1 1 100%;}
}
