/* Granica Portal Core: dzień meczowy i krótkie wideo (P9). Ładowany tylko tam, gdzie moduł coś wypisuje. Własna grafika w CSS, bez obrazków z cudzych serwerów. */

/* ---------- pas pionowych kart 9:16 (Granica TV, karta meczu) ---------- */
.gpc-tvs-sec{margin:0 0 22px}
.gpc-tvs-h{margin:0 0 10px;font:800 22px/1.1 var(--hf,"Arial Narrow",Arial,sans-serif);text-transform:uppercase;letter-spacing:.03em;color:#063d1f}
.gpc-tvs-wrap{position:relative;margin:4px 0 12px}
.gpc-tvs{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:#009B3A #e3ede7}
.gpc-tvs:focus-visible{outline:3px solid #00AEEF;outline-offset:2px}
.gpc-tvs-card{flex:0 0 min(62vw,236px);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px}
.gpc-tvs-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#587063}
.gpc-tvs-kind{display:inline-block;background:#FFF200;color:#1b1a00;font:800 12px/1 var(--hf,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px 4px;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}
.gpc-tvs-frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:
 var(--diag-bands,none) center/cover no-repeat,
 linear-gradient(172deg,#007a31 0,#00682b 72%);
 border-bottom:4px solid #00AEEF;box-shadow:0 16px 30px -18px rgba(0,70,28,.6)}
.gpc-tvs-play{position:absolute;z-index:1;left:50%;top:36%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:#FFF200;box-shadow:0 0 0 8px rgba(255,242,0,.28),0 10px 24px rgba(0,0,0,.35);cursor:pointer}
.gpc-tvs-play::after{content:"";position:absolute;left:50%;top:50%;margin:-15px 0 0 -9px;border-left:26px solid #1b1a00;border-top:15px solid transparent;border-bottom:15px solid transparent}
@media (prefers-reduced-motion:no-preference){
 .gpc-tvs-play{animation:gpcmd-pulse 2.6s ease-out infinite}
 .gpc-tvs-card{transition:transform .2s}
 .gpc-tvs-card:hover{transform:translateY(-3px)}
}
@keyframes gpcmd-pulse{0%{box-shadow:0 0 0 0 rgba(255,242,0,.55),0 10px 24px rgba(0,0,0,.35)}70%{box-shadow:0 0 0 18px rgba(255,242,0,0),0 10px 24px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 0 rgba(255,242,0,0),0 10px 24px rgba(0,0,0,.35)}}
.gpc-tvs-card:target .gpc-tvs-frame{outline:4px solid #FFF200;outline-offset:2px}
/* osadzenie wewnątrz ramki: komunikat o zgodzie na dole, po zgodzie film na całą ramkę */
.gpc-tvs-frame .gpc-embed{position:absolute;z-index:2;inset:0;margin:0;background:none;border:0;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}
.gpc-tvs-frame .gpc-embed-ph{pointer-events:auto;padding:30px 10px 10px;text-align:center;background:linear-gradient(180deg,rgba(0,70,28,0),rgba(0,70,28,.9) 38%)}
.gpc-tvs-frame .gpc-embed-m{margin:0 0 8px;color:#e9f4ed;font-size:12px;line-height:1.35}
.gpc-tvs-frame .gpc-btn{padding:8px 12px;font-size:13px;background:#FFF200;color:#1b1a00;border-color:#FFF200}
.gpc-tvs-frame .gpc-btn:hover{background:#fff;border-color:#fff;color:#063d1f}
.gpc-tvs-frame .gpc-embed-ph .gpc-btn-ghost{color:#e9f4ed;background:none;border:0;padding:6px 6px 0;font-size:12px}
.gpc-tvs-frame .gpc-embed-ph .gpc-btn-ghost:hover{color:#fff;background:none}
.gpc-tvs-frame .gpc-embed[data-gpc-on="1"]{pointer-events:auto}
.gpc-tvs-frame .gpc-embed iframe{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;background:#000}
.gpc-tvs-t{margin:2px 0 0;font:700 17px/1.2 var(--hf,Arial,sans-serif);text-transform:none;color:#14261b;overflow-wrap:anywhere}
.gpc-tvs-match,.gpc-tvs-sp{margin:0;font-size:13px;color:#587063}
.gpc-tvs-sp{font-weight:700;color:#063d1f}
.gpc-tvs-card .gpc-tv-yt{font-size:13px}
.gpc-tvs-nav{position:absolute;top:34%;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:var(--green-dd,#00682b);color:#FFF200;font:700 28px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.gpc-tvs-nav[hidden]{display:none}
.gpc-tvs-nav:hover{background:#009B3A;color:#fff}
.gpc-tvs-prev{left:4px}.gpc-tvs-next{right:4px}
@media (hover:none){.gpc-tvs-nav{display:none}}
@media (min-width:700px){.gpc-tvs-card{flex-basis:236px}}

/* ---------- karta meczu: sekcja „Wideo z meczu” ---------- */
.gpc-md-vsp{margin:0 0 10px;font-weight:700;color:#063d1f}
.gpc-md-videos .gpc-tvs-wrap{margin-top:0}
.gpc-tv-match{margin-top:6px}

/* ---------- strona główna: sekcja „Dzień meczowy” ---------- */
.gpc-md{position:relative;overflow:hidden;margin:0 0 14px;padding:18px 16px 16px;color:#fff;background:
 var(--diag-bands,none) center/cover no-repeat,
 linear-gradient(160deg,#007a31 0,#00682b 80%);
 border-bottom:6px solid #FFF200;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.gpc-md-main,.gpc-md-vid{min-width:0}
.gpc-md a{color:#fff}
.gpc-md-kick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 6px}
.gpc-md-h{margin:0;font:800 clamp(26px,7vw,38px)/1 var(--hf,"Arial Narrow",Arial,sans-serif);text-transform:uppercase;letter-spacing:.02em;color:#fff}
.gpc-md-badge{display:inline-block;background:#FFF200;color:#1b1a00;font:800 14px/1 var(--hf,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase;padding:6px 12px 5px;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.gpc-md-comp{margin:0 0 8px;font:700 14px/1.2 var(--hf,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#d7ead9}
.gpc-md-teams{margin:0;font:800 clamp(28px,8vw,46px)/1.05 var(--hf,"Arial Narrow",Arial,sans-serif);text-transform:uppercase;overflow-wrap:anywhere}
.gpc-md-teams .gpc-md-vs{color:#FFF200;padding:0 .2em}
.gpc-md-score{display:block;margin-top:6px;font:800 clamp(40px,12vw,64px)/1 var(--hf,"Arial Narrow",Arial,sans-serif);color:#FFF200;font-variant-numeric:tabular-nums}
.gpc-md-facts{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-size:15px;color:#e9f4ed}
.gpc-md-count{margin:10px 0 0;font:800 24px/1 var(--hf,Arial,sans-serif);color:#FFF200;font-variant-numeric:tabular-nums}
.gpc-md-btns{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.gpc-md-btns a{display:inline-block;background:#FFF200;color:#1b1a00;font:800 14px/1 var(--hf,Arial,sans-serif);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:11px 18px;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.gpc-md-btns a:hover{background:#fff;color:#063d1f}
.gpc-md-btns .gpc-md-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff;clip-path:none}
.gpc-md-btns .gpc-md-ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.gpc-md-sp{margin:14px 0 0;display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(255,255,255,.96);color:#14261b;max-width:420px}
.gpc-md-sp img{display:block;max-height:44px;max-width:120px;width:auto;height:auto;object-fit:contain}
.gpc-md-sp span{font-size:14px;line-height:1.3}
.gpc-md-sp b{display:block;color:#063d1f}
.gpc-md-sp a{color:#063d1f}
.gpc-md-vh{margin:0 0 8px;font:800 16px/1 var(--hf,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase;color:#FFF200}
.gpc-mdv-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:2px 2px 10px;margin:0;list-style:none;scrollbar-width:thin;scrollbar-color:#FFF200 rgba(255,255,255,.2)}
.gpc-mdv{flex:0 0 min(38vw,138px);scroll-snap-align:start}
.gpc-mdv a{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;text-decoration:none;color:#fff;background:
 var(--diag-bands,none) center/cover no-repeat,
 linear-gradient(172deg,#007a31,#00682b 80%);
 border-bottom:3px solid #00AEEF}
.gpc-mdv a:hover{filter:brightness(1.1)}
.gpc-mdv a:focus-visible{outline:3px solid #FFF200;outline-offset:2px}
.gpc-mdv a::before{content:"";position:absolute;left:50%;top:32%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#FFF200}
.gpc-mdv a::after{content:"";position:absolute;left:50%;top:32%;margin:-9px 0 0 -5px;border-left:16px solid #1b1a00;border-top:9px solid transparent;border-bottom:9px solid transparent}
.gpc-mdv-t{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;font:700 14px/1.15 var(--hf,Arial,sans-serif);background:linear-gradient(180deg,transparent,rgba(0,70,28,.92));display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.gpc-mdv small{display:block;margin-top:4px;font-size:12px;color:#d7ead9}
.gpc-md-more{margin:2px 0 0;font-size:14px}
@media (min-width:800px){
 .gpc-md{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;padding:24px 24px 20px}
 .gpc-mdv{flex-basis:138px}
}
@media (prefers-reduced-motion:no-preference){.gpc-mdv a{transition:filter .15s}}

/* ---------- strona główna: kafelki Granicy TV z krótkimi filmami (parts/tv.php) ---------- */
.gp-vid.gp-vid-short{flex-basis:132px}
.gp-vid-short .gp-tn{aspect-ratio:9/16}
.gp-vid-short .gp-tn::before{top:36%}
.gp-vid-short .gp-tn::after{top:36%}

/* ---------- panel „Dzień meczowy” ---------- */
.gpcmd-admin .gpcmd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}
.gpcmd-admin .gpcmd-card{background:#fff;border:1px solid #c3c4c7;border-left:5px solid #009B3A;padding:14px 16px}
.gpcmd-admin .gpcmd-card h2{margin-top:0}
.gpcmd-admin .gpcmd-check{list-style:none;margin:0;padding:0}
.gpcmd-admin .gpcmd-check li{padding:6px 0;border-bottom:1px solid #eee}
.gpcmd-admin .gpcmd-check label{display:flex;gap:8px;align-items:flex-start}
.gpcmd-admin .gpcmd-field{margin:0 0 14px}
.gpcmd-admin .gpcmd-field label{display:block;font-weight:600;margin-bottom:4px}
.gpcmd-admin .gpcmd-field textarea,.gpcmd-admin .gpcmd-field input[type=text]{width:100%}
.gpcmd-admin .gpcmd-len{font-size:12px;color:#50575e}
.gpcmd-admin .gpcmd-len.is-over{color:#b32d2e;font-weight:700}
.gpcmd-admin .gpcmd-copied{margin-left:8px;color:#007A2E;font-weight:600}
