/* TJ Unified Related – shared styles */
.tj-related { margin-top: 2.5rem; }
.tj-related__title { font-weight: 800; margin: 0 0 1rem; color:#519C29; }
.tj-related__title::after { content:''; display:block; width:64px; height:3px; background:#519C29; border-radius:2px; margin-top:6px; }

/* ---- Card base ---- */
.tj-card { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.06); transition:transform .18s ease, box-shadow .18s ease; height:100%; display:flex; flex-direction:column; }
.tj-card:hover { transform: translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.09); }
.tj-card__link { display:block; text-decoration:none; color:inherit; }
.tj-card__figure { aspect-ratio:16/9; background:#f3f4f6; overflow:hidden; }
.tj-card__thumb { width:100%; height:100%; object-fit:cover; display:block; }
.tj-card__placeholder { width:100%; height:100%; background:linear-gradient(180deg,#f5f5f5,#ececec); }
.tj-card__title { font-size:1rem; line-height:1.3; font-weight:700; padding:.75rem .9rem 0; margin:0; }
.tj-card__title a { color:#111827; text-decoration:none; }
.tj-card__title a:hover { color:#519C29; }

.tj-card__date { display:block; padding:.4rem .9rem 1rem; font-size:.85rem; color:#6b7280; }
.tj-card__actions { padding:.75rem .9rem 1rem; display:flex; gap:.5rem; }

/* ---- Buttons ---- */
.tj-btn { display:inline-block; padding:.5rem .9rem; border-radius:10px; text-decoration:none; font-weight:700; }
.btn-solid { background:#519C29; color:#fff; }
.btn-solid:hover { filter:brightness(1.05); }
.btn-outline { border:2px solid #519C29; color:#519C29; background:#fff; }
.btn-outline:hover { background:#519C29; color:#fff; }
.btn-link { background:transparent; color:#519C29; text-decoration:underline; padding:0; }

/* ---- Slider styles ---- */
.tj-related--slider .swiper { overflow: visible; }
.swiper-button-prev, .swiper-button-next { color: #519C29; }
.swiper-pagination-bullet { opacity:.5; background:#519C29; }
.swiper-pagination-bullet-active { opacity:1; background:#519C29; }
@media (max-width:640px){.tj-related--slider .swiper-wrapper{align-items:stretch}.tj-related--slider .swiper-slide{width:100%!important;height:auto}.tj-card{height:100%}}

/* ---- List styles ---- */
.tj-related--list .tj-list { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.tj-related--list .tj-list__item { display:grid; grid-template-columns: 128px 1fr; gap:14px; background:#fff; border:1px solid #eee; border-radius:14px; overflow:hidden; padding:10px; align-items:center; }
.tj-related--list .tj-list__media { display:block; border-radius:10px; overflow:hidden; }
.tj-related--list .tj-list__thumb { width:100%; height:100%; object-fit:cover; aspect-ratio: 4/3; display:block; }
.tj-related--list .tj-list__placeholder { width:100%; height:100%; min-height:96px; background:linear-gradient(180deg,#f5f5f5,#ececec); border-radius:10px; }
.tj-related--list .tj-list__title { font-size:1rem; line-height:1.3; margin:0; }
.tj-related--list .tj-list__title a { text-decoration:none; color:#111827; }
.tj-related--list .tj-list__title a:hover { color:#519C29; }
.tj-related--list .tj-list__date { display:block; margin:.25rem 0 .25rem; font-size:.85rem; color:#6b7280; }
.tj-related--list .tj-list__excerpt { margin:.25rem 0 0; color:#374151; }
@media (max-width:640px){.tj-related--list .tj-list__item{grid-template-columns:100px 1fr;}}

/* ---- Grid styles ---- */
.tj-related--grid .tj-grid { list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.tj-cols-2 .tj-grid { grid-template-columns: repeat(2, 1fr); }
.tj-cols-3 .tj-grid { grid-template-columns: repeat(3, 1fr); }
.tj-cols-4 .tj-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width:1024px){ .tj-related--grid .tj-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width:640px){ .tj-related--grid .tj-grid { grid-template-columns: 1fr !important; } }

/* alignment */
.tj-align-center .tj-related__title { text-align:center; }
