/* Moto-Tarnów – dodatki aplikacji do style.css z makiety (style.css kopiujemy z makiety bez zmian).
   Tylko elementy, których makieta nie ma: komunikaty błędów, zdjęcia we wpisach, moderacja, panel, wyszukiwarka. */

/* formularze w linii (wyloguj, moderacja) */
form.inline{display:inline-flex;margin:0}
.head-cta .who{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.head-cta .btn svg{width:16px;height:16px}

/* komunikaty: .notice z makiety (zielony) + wariant błędu */
.notice.show{margin:0 0 22px}
.notice.err{border-color:var(--red)}
.notice.err svg{color:var(--red)}
.formbox .notice.show,.auth-main .notice.show{margin:14px 0 0}

/* pułapka na boty – pole niewidoczne dla ludzi */
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* filtr aktualności jako linki */
a.chip{display:inline-flex;align-items:center;text-decoration:none}
.chip[aria-current="page"]{background:var(--ink);color:var(--chalk)}

/* temat */
.thread-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;color:var(--mute-d);font-size:.92rem;margin-bottom:24px}
.thread-meta .badge{margin-left:0;top:0}
.msg-acts{flex-wrap:wrap;align-items:center;gap:6px 16px}
.msg-acts a{display:inline-flex;gap:6px;align-items:center;padding:6px 0;font:600 .88rem/1 var(--body);color:var(--mute);text-decoration:none}
.msg-acts a svg{width:16px;height:16px}
.msg-acts a:hover{color:var(--red)}
.msg-acts .ip{font-size:.8rem;color:var(--mute)}
.msg-acts .ip a{display:inline;padding:0;text-decoration:underline}
.msg-body .edited{font-size:.8rem;color:var(--mute);margin:.4em 0 0}
.msg-body a[rel~="ugc"]{word-break:break-all}
.msg-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:12px 0 4px}
.msg-photos a,.photo-pick{display:block;border-radius:var(--r);overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.msg-photos img{width:100%;height:100%;object-fit:cover}
.photo-pick{position:relative;aspect-ratio:auto}
.photo-pick img{aspect-ratio:4/3;object-fit:cover;width:100%}
.photo-pick span{display:flex;gap:8px;align-items:center;padding:8px 10px;font-size:.9rem}
.photos-edit{border:0;padding:0;margin:0}
.locked-h{font:800 1.6rem/1 var(--display);text-transform:uppercase;font-style:italic}
.modbar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;background:var(--paper-2);border:1px dashed var(--line-ui);border-radius:var(--r);padding:12px 14px;margin:0 0 22px;font-size:.92rem}
.modbar .ip{color:var(--mute);font-size:.82rem}
.modbar select{font:600 .9rem/1 var(--body);padding:8px;border:2px solid var(--ink);border-radius:var(--r);background:#fffdf9;min-height:40px;max-width:200px}
.move{gap:6px}

/* wyszukiwarka w bocznej kolumnie */
.search-row{display:flex;gap:8px}
.search-row input{flex:1;min-width:0;font:400 1rem/1.3 var(--body);padding:10px 12px;border:2px solid var(--ink);border-radius:var(--r);background:#fffdf9;min-height:44px}
.search-row .btn svg{width:18px;height:18px}

/* panel zarządu */
.panel .ph2{font-size:clamp(1.9rem,4vw,2.6rem)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.tile{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);padding:16px 18px}
.tile b{display:block;font:900 italic 2.4rem/1 var(--display)}
.tile span{font-size:.9rem;color:var(--mute)}
.ptable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r);font-size:.95rem}
.ptable th{text-align:left;font:700 .75rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:12px 12px;border-bottom:2px solid var(--ink)}
.ptable td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable td form.inline + form.inline{margin-left:6px}
@media (max-width:760px){
  .ptable,.ptable tbody,.ptable tr,.ptable td{display:block;width:100%}
  .ptable thead{display:none}
  .ptable tr{border-bottom:2px solid var(--line-2);padding:8px 0}
  .ptable td{border:0;padding:4px 12px}
  .ptable td[data-l]:not([data-l=""])::before{content:attr(data-l);display:block;font:700 .7rem/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
}
.filters-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px 0}
.filters-row .field{display:grid;gap:6px;min-width:200px}
.filters-row .btn{min-height:50px}
.form-row.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.form-row.three{grid-template-columns:1fr}}
.settings fieldset.formbox{margin:0}
.settings legend{font:800 italic 1.5rem/1 var(--display);text-transform:uppercase;padding:0 8px}
.settings fieldset{display:grid;gap:16px}
.thumb{max-width:260px;border-radius:var(--r);margin:6px 0}
.btn.danger{border-color:var(--red);color:var(--red)}
.btn.danger:hover{background:var(--red);color:#fff}

/* ---------- Ekipa (27.10.2026): profil, członkowie, mapy, trasy, czat, WhatsApp ---------- */
.av.has-img{padding:0;overflow:hidden;background:var(--paper-2)}
.av.has-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.av-sm{width:40px;height:40px;font-size:1.05rem;margin:0;flex:none}
.av-xl{width:120px;height:120px;font-size:2.8rem;margin:0;flex:none}
.msg-user .av.has-img img{border-radius:50%}
.msg-who{text-decoration:none;color:inherit}
.msg-who:hover{color:var(--red);text-decoration:underline}
.mt-badge{background:var(--paper-2);color:var(--ink);border:1px solid var(--line-2)}
.mt-badge-aktywny{background:#2f7d32;color:#fff;border-color:#2f7d32}
.mt-badge-sympatyk{background:var(--card);color:var(--red-dk);border-color:var(--red)}
.btn-link{background:none;border:0;padding:4px 0;font:600 .85rem/1 var(--body);color:var(--mute);cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.btn-link:hover{color:var(--red)}

.mt-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.mt-tile{display:grid;gap:6px;background:var(--card);border:2px solid var(--ink);border-radius:var(--r);padding:20px;text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s}
.mt-tile:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--red)}
.mt-tile .ic svg{width:30px;height:30px;color:var(--red)}
.mt-tile b{font:900 italic 1.9rem/1 var(--display);text-transform:uppercase}
.mt-tile span:last-child{color:var(--mute);font-size:.95rem}
.mt-perks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.mt-perks li{display:flex;gap:12px;align-items:flex-start}
.mt-perks svg{width:24px;height:24px;flex:none;color:var(--red);margin-top:2px}

.member-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.member-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:grid;gap:8px}
.member-card > a{display:flex;gap:12px;align-items:center;text-decoration:none;min-width:0}
.member-card .av{width:56px;height:56px;margin:0;flex:none;font-size:1.4rem}
.mc-txt{display:grid;gap:2px;min-width:0}
.mc-txt b{font:800 1.25rem/1.1 var(--display)}
.mc-txt span{font-size:.9rem;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-card > a:hover b{color:var(--red)}
.mc-badges{margin:0}
.mc-badges .badge:first-child{margin-left:0}
.profile-card{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.profile-card > div{flex:1;min-width:220px}
.profile-card .about{margin-top:12px}
.profile-edit{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.profile-edit .field{flex:1;min-width:220px}
fieldset.vis{border:0;padding:0;margin:0;display:grid;gap:10px}
fieldset.vis legend{font:700 .95rem/1.2 var(--body);padding:0;margin-bottom:6px}
.field .check input{width:22px;height:22px;min-height:0;padding:0}
@media (max-width:640px){.sec-head .filters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px;-webkit-overflow-scrolling:touch}.sec-head .filters .chip{flex:none}}

.trip-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.trip-grid.small{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:14px}
.trip-grid figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.trip-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.trip-grid figcaption{padding:8px 10px;font-size:.92rem;display:grid;gap:2px}
.trip-grid figcaption span{color:var(--mute);font-size:.85rem}
.trip-grid li > form{margin-top:4px}

.map{height:min(62vh,560px);min-height:300px;border:2px solid var(--ink);border-radius:var(--r);background:var(--paper-2);z-index:0}
.map-small{height:300px}
.map-pick{height:320px}
html:not(.js) .map{display:none}
.coords{font-size:.95rem}
.coords summary{cursor:pointer;color:var(--mute);padding:4px 0}
.coords .form-row{margin-top:10px}
.mt-pin{background:var(--red);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px rgba(23,21,18,.5)}
.mt-pin-widok{background:#2f6db1}
.mt-pin-zakrety{background:var(--red)}
.mt-pin-kawa{background:#8a5a2b}
.mt-pin-spot{background:#c48a00}
.mt-pin-warsztat{background:var(--ink)}
.mt-pin-inne{background:#6b6459}
.mt-pin-wybor{background:var(--red)}
.leaflet-popup-content{font:400 .95rem/1.4 var(--body)}
.leaflet-popup-content .pop-more{display:block;margin-top:6px;font-weight:700;color:var(--red)}
.leaflet-container a{color:var(--ink)}
.draw-km{font-weight:700;align-self:center}

.spot-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.spot-row{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;text-decoration:none}
.spot-row:hover{border-color:var(--ink);box-shadow:-4px 0 0 var(--red)}
.spot-row .thumb{width:64px;height:64px;flex:none;border-radius:var(--r);overflow:hidden;background:var(--paper-2);display:flex;align-items:center;justify-content:center}
.spot-row .thumb img{width:100%;height:100%;object-fit:cover}
.spot-row .thumb svg{width:28px;height:28px;color:var(--red)}
.spot-row b{display:block;font:800 1.2rem/1.15 var(--display)}
.spot-row .meta{font-size:.88rem;color:var(--mute)}

.comments{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.comment,.chat-msg{display:flex;gap:12px;align-items:flex-start}
.comment > div,.chat-msg > div{min-width:0;flex:1}
.comment p,.chat-msg p{margin:0 0 .4em}
.c-meta{font-size:.88rem;color:var(--mute);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:0 0 4px}
.c-meta a{color:var(--ink);text-decoration:none}
.c-meta .badge{margin-left:0;top:0}

.chat-box{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);padding:12px}
.chat-list{list-style:none;margin:0;padding:4px;display:grid;gap:12px;max-height:min(60vh,600px);overflow-y:auto;overscroll-behavior:contain}
.chat-msg .c-body{overflow-wrap:anywhere}
.chat-msg .c-body a{word-break:break-all}
.chat-empty{color:var(--mute);margin:8px 4px}
.chat-form{display:flex;gap:8px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.chat-form input{flex:1;min-width:0;font:400 1.05rem/1.3 var(--body);padding:12px 14px;border:2px solid var(--ink);border-radius:var(--r);background:#fffdf9;min-height:50px}
.chat-form input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(177,42,23,.22)}

.wa-card h2{display:flex;gap:10px;align-items:center}
.wa-card h2 svg{width:30px;height:30px;color:#1f8a4c;flex:none}
.wa-state{display:flex;gap:10px;align-items:flex-start;margin:10px 0 14px}
.wa-state svg{width:22px;height:22px;flex:none;color:var(--red)}
.wa-state.ok svg{color:#2f7d32}
.wa-steps{margin:0 0 14px}
.wa-steps li{color:var(--ink)}
.wa-code{font:800 1.1rem/1 var(--display);letter-spacing:.08em}
.auth-main .wa-card{border:2px solid var(--ink);border-radius:var(--r);padding:18px;background:var(--card);display:grid;gap:12px}
.auth-main .wa-card h2{font-size:1.6rem;margin:0}
.auth-main .wa-card p{margin:0}

/* rysowanie tras po drogach (27.10.2026) */
.map-draw{height:min(66vh,560px);min-height:340px}
.draw-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.seg-group{display:inline-flex;border:2px solid var(--ink);border-radius:var(--r);overflow:hidden}
.seg{position:relative;display:flex}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:flex;align-items:center;min-height:46px;padding:0 16px;font:800 1rem/1 var(--display);text-transform:uppercase;letter-spacing:.04em;background:var(--card)}
.seg + .seg span{border-left:2px solid var(--ink)}
.seg input:checked + span{background:var(--ink);color:var(--chalk)}
.seg input:focus-visible + span{outline:3px solid var(--red);outline-offset:-3px}
.draw-km{font:900 italic 1.6rem/1 var(--display)}
.draw-note{margin:8px 0 0;padding:10px 12px;border-left:4px solid var(--todo);background:#fff7d6;font-size:.95rem}
.draw-btns .btn{min-height:48px}
.mt-wp{background:var(--red);color:#fff;border:3px solid #fff;border-radius:50%;display:flex!important;align-items:center;justify-content:center;font:800 1rem/1 var(--display);box-shadow:0 2px 8px rgba(23,21,18,.5)}
.mt-wp.first{background:var(--ink)}
.going{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;background:var(--card);border:2px solid var(--ink);border-left:8px solid var(--red);border-radius:var(--r);padding:12px 16px;margin:0 0 22px}
.going p{display:flex;gap:10px;align-items:flex-start;margin:0}
.going p svg{width:22px;height:22px;flex:none;color:var(--red)}
.going .btn{min-height:48px}
.trip-route .map{height:280px}
/* panel: filtry rodzaju treści w Moderacji (28.10.2026) */
.chips a{display:inline-block;padding:6px 12px;border:1px solid var(--line,#cfc6b6);border-radius:999px;text-decoration:none;color:inherit;font-weight:600}
.chips a.on{background:var(--ink,#171512);color:var(--chalk,#f3eee4);border-color:transparent}
