/* blocks.css — 區塊前台樣式唯一來源（依賴頁面提供的 CSS 變數） */
.blk{margin-top:30px}
.blk-title{margin:0 0 14px;font-size:18px;font-weight:700}
.blk-mt{margin-top:14px}
.blk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.blk-card{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.blk-card:hover{background:var(--card-h);border-color:var(--border2);transform:translateY(-3px)}
.blk-thumb{aspect-ratio:3/2;background:var(--bg3);overflow:hidden}
.blk-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.blk-info{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.blk-scene{font-size:15px;font-weight:700}
.blk-name{font-size:12px;color:var(--text3)}
.blk-copy{margin-top:11px;width:100%;padding:10px 14px;border-radius:9px;background:var(--accent);color:#fff;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.2s;border:none;cursor:pointer;text-decoration:none}
.blk-copy:hover{filter:brightness(1.12)}
.blk-copy.ok{background:#22c55e}
.blk-article{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px 26px;font-size:14.5px}
.blk-article p{margin:0 0 12px}
.blk-article p:last-child{margin-bottom:0}
.blk-article img{border-radius:10px;margin:10px 0;max-width:100%}
.blk-article a{color:var(--accent)}
.blk-article h3{margin:16px 0 8px;font-size:16px}
.blk-article ul,.blk-article ol{padding-left:22px;margin:0 0 12px}
.blk-acc{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:10px}
.blk-acc summary{list-style:none;cursor:pointer;padding:14px 18px;font-weight:700;font-size:14.5px;display:flex;gap:8px;align-items:center}
.blk-acc summary::-webkit-details-marker{display:none}
.blk-acc summary .blk-arrow{margin-left:auto;color:var(--text3);transition:transform .2s;font-size:12px}
.blk-acc[open] summary .blk-arrow{transform:rotate(180deg)}
.blk-acc ul{padding:0 22px 16px 40px;color:var(--text2);font-size:13.5px;display:grid;gap:6px}
.blk-acc .blk-fa{padding:0 18px 14px;color:var(--text2);font-size:13.5px}
.blk-carousel{position:relative;border-radius:18px;overflow:hidden;background:var(--bg3);border:1px solid var(--border)}
.blk-carousel .blk-track{display:flex;transition:transform .35s ease}
.blk-carousel .blk-track img{width:100%;flex-shrink:0;object-fit:contain;max-height:560px;background:var(--bg3)}
.blk-carousel .blk-cbtn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,0.45);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;opacity:.8;border:none;cursor:pointer}
.blk-carousel .blk-cbtn:hover{opacity:1}
.blk-carousel .blk-prev{left:12px}
.blk-carousel .blk-next{right:12px}
.blk-carousel .blk-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.blk-carousel .blk-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.45);cursor:pointer}
.blk-carousel .blk-dots i.on{background:#fff}
.blk-vid{position:relative;width:100%;padding-bottom:56.25%;border-radius:18px;overflow:hidden;background:#000;border:1px solid var(--border)}
.blk-vid iframe,.blk-vid video{position:absolute;inset:0;width:100%;height:100%;border:0}
.blk-dl{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:10px}
.blk-dl .blk-dl-ico{font-size:20px}
.blk-dl .blk-dn{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blk-dl a{flex-shrink:0;padding:8px 16px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;text-decoration:none}
.blk-dl a:hover{filter:brightness(1.12)}
.blk-btnrow{display:flex;gap:10px;flex-wrap:wrap}
.blk-btnrow a{padding:11px 20px;border-radius:10px;font-size:14px;font-weight:600;transition:.2s;text-decoration:none}
.blk-btnrow a.pri{background:var(--accent);color:#fff}
.blk-btnrow a.pri:hover{filter:brightness(1.12)}
.blk-btnrow a.line{border:1px solid var(--border2);color:var(--text)}
.blk-btnrow a.line:hover{border-color:var(--accent);color:var(--accent)}
.blk-twocol{display:flex;gap:22px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px}
.blk-twocol img{width:44%;border-radius:10px;flex-shrink:0}
.blk-twocol .blk-tc{flex:1;font-size:14.5px}
.blk-twocol.img-right{flex-direction:row-reverse}
@media(max-width:700px){.blk-twocol,.blk-twocol.img-right{flex-direction:column}.blk-twocol img{width:100%}}
.blk-embed{border-radius:18px;overflow:hidden;border:1px solid var(--border);background:var(--bg3)}
.blk-embed iframe{display:block;width:100%;border:0}
