.workshop-page { padding-bottom: 4rem; }
.workshop-page-intro { max-width: 860px; margin: 2rem 0 1.5rem; }
.workshop-page-intro h1 { margin:.15rem 0 .75rem; font-family: Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,7vw,5.8rem); line-height:.94; }
.workshop-filters { display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 2rem; }
.workshop-filter { display:inline-flex; align-items:center; min-height:42px; padding:.55rem .9rem; border:1px solid var(--line,#e7e1d6); border-radius:999px; color:var(--ink,#22231f); text-decoration:none; font-weight:750; background:#fff; }
.workshop-filter.active { background:var(--accent,#6b8e23); color:#fff; border-color:var(--accent,#6b8e23); }
.workshop-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.workshop-archive-card { overflow:hidden; border:1px solid var(--line,#e7e1d6); border-radius:22px; background:#fff; }
.workshop-archive-media { position:relative; display:block; overflow:hidden; background:var(--soft,#f3f0e8); }
.workshop-archive-media img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .2s ease; }
.workshop-archive-media:hover img { transform:scale(1.015); }
.workshop-play { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:#fff; background:rgba(35,32,24,.78); }
.workshop-archive-content { padding:1.2rem; }
.workshop-archive-content h2 { margin:.25rem 0 .65rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.55rem,2.6vw,2.25rem); line-height:1.02; }
.workshop-archive-content h2 a { color:inherit; text-decoration:none; }
.workshop-archive-content p { color:var(--muted,#63645f); }
.workshop-card-link,.workshop-back { color:var(--accent-dark,#516f18); font-weight:800; }
.workshop-message { padding:2rem; border:1px solid var(--line,#e7e1d6); border-radius:20px; background:#fff; }

.workshop-root--detail { display:block; }
.workshop-detail { max-width:980px; margin:1.5rem auto 3rem; }
.workshop-back { display:inline-block; margin-bottom:1.5rem; }
.workshop-detail-head { max-width:800px; margin-bottom:1.5rem; }
.workshop-detail-head h1 { margin:.2rem 0 .8rem; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.8rem,7vw,5.6rem); line-height:.94; }
.workshop-video { overflow:hidden; border-radius:24px; background:#000; margin:1.5rem 0; }
.workshop-video iframe { display:block; width:100%; aspect-ratio:16/9; border:0; }
.workshop-detail-image { margin:1.5rem 0; }
.workshop-detail-image img { display:block; width:100%; max-height:720px; object-fit:cover; border-radius:24px; }
.workshop-body { max-width:780px; font-size:1.08rem; line-height:1.75; }
.workshop-detail-action { margin:1.5rem 0; }
.workshop-related { margin-top:2.5rem; padding:1.4rem; border:1px solid var(--line,#e7e1d6); border-radius:22px; background:#fff; }
.workshop-related h2 { margin-top:0; }
.workshop-related-links { display:flex; flex-wrap:wrap; gap:.6rem; }
.workshop-related-links a { padding:.5rem .75rem; border-radius:999px; background:var(--soft,#f3f0e8); color:var(--ink,#22231f); text-decoration:none; font-weight:700; }

.workshop-home-more { margin-top:1rem; }
.workshop-home-more a { color:var(--accent-dark,#516f18); font-weight:800; }

@media (max-width:950px){ .workshop-archive-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:650px){
  .workshop-archive-grid{grid-template-columns:1fr;}
  .workshop-page-intro{margin-top:1rem;}
  .workshop-detail-head h1{font-size:clamp(2.35rem,12vw,4rem);}
}
