
:root{--pink:#ff2d6f;--text:#111;--muted:#777;--line:#eee}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",Arial,sans-serif;color:var(--text);background:#fff}a{color:inherit}
.sd-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:28px 44px 22px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.sd-logo{font-size:32px;font-weight:900;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}.sd-fav-pill{display:inline-flex;gap:8px;align-items:center;padding:12px 22px;border:1px solid #eee;border-radius:999px;background:#fff;color:var(--pink);font-size:20px;font-weight:900;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.sd-main,.sd-page{max-width:1180px;margin:0 auto;padding:0 20px}.sd-hero{text-align:center;padding:30px 8px 24px}.sd-hero h1{margin:0 0 8px;font-size:26px;font-weight:900;letter-spacing:-.05em}.sd-hero p{margin:0 0 18px;color:#666;font-size:14px;font-weight:700;line-height:1.8}
.sd-search{display:flex;max-width:560px;margin:0 auto;gap:8px}.sd-search input{flex:1;height:48px;border:1px solid #ddd;border-radius:999px;padding:0 18px;font-size:15px}.sd-search button,.sd-more-btn,.sd-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--pink);color:#fff!important;font-weight:900;text-decoration:none;cursor:pointer}
.sd-home-section{margin:28px 0}.sd-home-title,.sd-section-title{margin:0 0 16px;font-size:24px;font-weight:900;letter-spacing:-.04em}.sd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}.sd-card{position:relative;text-decoration:none}.sd-thumb{position:relative;overflow:hidden;border-radius:18px;background:#f6f6f6;aspect-ratio:3/4}.sd-thumb img{width:100%;height:100%;object-fit:cover;display:block}.sd-fav-btn{position:absolute;right:10px;top:10px;width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--pink);font-size:25px;font-weight:900;cursor:pointer}.sd-fav-btn.active{background:var(--pink);color:#fff}.sd-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 4px;font-size:13px;font-weight:800;line-height:1.45}.sd-card-tags{display:flex;gap:8px;flex-wrap:wrap;color:#666;font-size:12px;font-weight:900}
.sd-more-wrap{text-align:center;margin:26px 0}.sd-slim-ad,.sd-footer-ad{display:flex;justify-content:center;align-items:center;margin:24px auto}.sd-ad-box{display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f6f6f6;color:#aaa;font-size:12px;font-weight:900}.sd-ad-slim{width:468px;max-width:100%;height:60px}.sd-ad-rect{width:300px;height:250px}
.sd-tabs{display:flex;gap:12px;overflow:auto;padding:18px 20px;border-bottom:1px solid var(--line);scrollbar-width:none}.sd-tabs::-webkit-scrollbar{display:none}.sd-tabs a{display:inline-flex;align-items:center;justify-content:center;min-width:max-content;height:48px;padding:0 22px;border:1px solid #eee;border-radius:999px;text-decoration:none;font-size:15px;font-weight:900}.sd-tabs a.active{background:#111;color:#fff}
.sd-list-head{max-width:1180px;margin:0 auto;padding:24px 20px 12px}.sd-list-head h1{margin:0;font-size:28px;font-weight:900}.sd-count{margin-left:6px;color:#777;font-size:14px;font-weight:800}.sd-sort{display:flex;gap:8px;margin-top:14px}.sd-sort a{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:38px;border-radius:999px;background:#f5f5f5;text-decoration:none;font-size:13px;font-weight:900}.sd-sort a.active{background:var(--pink);color:#fff}
.sd-pagination{display:flex;justify-content:center;gap:8px;margin:28px 0}.sd-pagination button{min-width:42px;height:42px;border:1px solid #eee;border-radius:999px;background:#fff;font-weight:900}.sd-pagination button.active{background:#111;color:#fff}
.sd-work-main-img img{width:100%;max-height:740px;object-fit:cover;border-radius:18px;display:block}.sd-title{margin:20px 0 10px;font-size:28px;line-height:1.35;font-weight:900}.sd-detail-tags{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.sd-detail-tags a{padding:9px 14px;border-radius:999px;background:#f5f5f5;color:#555;text-decoration:none;font-size:13px;font-weight:900}.sd-sample-images{display:flex;flex-direction:column;gap:12px}.sd-sample-images img{width:100%;border-radius:14px;display:block}.sd-video{width:100%;border-radius:14px;display:block;background:#000}
.sd-info{border:1px solid #eee;border-radius:20px;overflow:hidden}.sd-info-row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #eee}.sd-info-row:last-child{border-bottom:0}.sd-info-label{padding:18px;background:#fafafa;color:#777;font-weight:900}.sd-info-value{padding:18px;font-weight:800}
.sd-footer{margin-top:54px;padding:34px 20px 38px;text-align:center;border-top:1px solid #eee}.sd-footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}.sd-footer-links a{color:#666;text-decoration:none;font-size:13px;font-weight:700}.sd-footer-copy{color:#999;font-size:12px}.sd-empty{padding:40px 0;color:#777;font-weight:800;text-align:center}
@media(max-width:760px){.sd-header{padding:28px 28px 22px}.sd-logo{font-size:26px}.sd-fav-pill{padding:10px 20px;font-size:17px}.sd-main,.sd-page{padding:0 16px}.sd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.sd-hero h1{font-size:22px}.sd-search input,.sd-search button{height:44px}.sd-ad-slim{width:320px;height:50px}.sd-tabs{padding:16px}.sd-tabs a{height:44px;padding:0 20px}.sd-title{font-size:23px}.sd-info-row{grid-template-columns:110px 1fr}.sd-info-label,.sd-info-value{padding:15px}}


/* v2.1 spacing/header fix */
.sd-header{
  gap:14px;
}

.sd-logo{
  line-height:1.05;
}

.sd-section-title{
  margin-top:34px;
}

.sd-sample-images{
  margin-bottom:38px;
}

.sd-info{
  margin-bottom:38px;
}

.sd-work-main-img{
  margin-top:22px;
}

@media(max-width:760px){
  .sd-header{
    padding:22px 22px 18px;
    gap:10px;
  }

  .sd-logo{
    font-size:22px;
    letter-spacing:-.09em;
    max-width:calc(100vw - 128px);
    overflow:hidden;
    white-space:nowrap;
  }

  .sd-fav-pill{
    flex:0 0 auto;
    padding:9px 16px;
    font-size:16px;
    min-width:76px;
    justify-content:center;
  }

  .sd-work-main-img{
    margin-top:18px;
  }

  .sd-section-title{
    margin-top:36px;
    margin-bottom:18px;
  }

  .sd-sample-images{
    margin-bottom:42px;
  }

  .sd-info{
    margin-bottom:42px;
  }
}

@media(max-width:390px){
  .sd-logo{
    font-size:20px;
    max-width:calc(100vw - 116px);
  }

  .sd-fav-pill{
    min-width:68px;
    padding:8px 13px;
  }
}


/* v2.2 header + work spacing fix */
.sd-header{
  justify-content:flex-start !important;
  gap:18px !important;
  padding:18px 36px 16px !important;
}

.sd-logo{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
  font-size:30px !important;
  line-height:1 !important;
  letter-spacing:-.085em !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}

.sd-fav-pill{
  flex:0 0 auto !important;
  min-width:92px !important;
  height:54px !important;
  justify-content:center !important;
  padding:0 20px !important;
  font-size:18px !important;
}

.sd-work-main-img{
  margin-top:24px !important;
  margin-bottom:24px !important;
}

.sd-title{
  margin-top:24px !important;
  margin-bottom:14px !important;
}

.sd-cta{
  margin:18px 0 26px !important;
}

.sd-sample-images{
  margin-top:18px !important;
  margin-bottom:46px !important;
}

.sd-video{
  margin-top:18px !important;
  margin-bottom:44px !important;
}

.sd-info{
  margin-top:18px !important;
  margin-bottom:48px !important;
}

.sd-page .sd-section-title{
  margin-top:46px !important;
  margin-bottom:18px !important;
}

.sd-info + .sd-section-title{
  margin-top:58px !important;
}

@media(max-width:760px){
  .sd-header{
    padding:17px 24px 15px !important;
    gap:12px !important;
  }

  .sd-logo{
    font-size:23px !important;
    max-width:calc(100vw - 124px) !important;
  }

  .sd-fav-pill{
    min-width:78px !important;
    height:46px !important;
    padding:0 14px !important;
    font-size:16px !important;
  }

  .sd-work-main-img{
    margin-top:18px !important;
    margin-bottom:24px !important;
  }

  .sd-title{
    margin-top:22px !important;
    margin-bottom:14px !important;
  }

  .sd-cta{
    margin:18px 0 30px !important;
  }

  .sd-page .sd-section-title{
    margin-top:44px !important;
    margin-bottom:18px !important;
  }

  .sd-sample-images{
    margin-top:18px !important;
    margin-bottom:48px !important;
  }

  .sd-video{
    margin-top:18px !important;
    margin-bottom:46px !important;
  }

  .sd-info{
    margin-top:18px !important;
    margin-bottom:52px !important;
  }

  .sd-info + .sd-section-title{
    margin-top:60px !important;
  }
}

@media(max-width:390px){
  .sd-header{
    padding:16px 20px 14px !important;
  }

  .sd-logo{
    font-size:21px !important;
    max-width:calc(100vw - 112px) !important;
  }

  .sd-fav-pill{
    min-width:70px !important;
    height:44px !important;
    padding:0 12px !important;
  }
}


/* v2.3 compact header + list title fix */

/* ロゴをさらに小さく */
.sd-header{
  padding:14px 34px 13px !important;
  gap:14px !important;
}

.sd-logo{
  font-size:22px !important;
  letter-spacing:-.08em !important;
  line-height:1 !important;
}

.sd-fav-pill{
  min-width:78px !important;
  height:44px !important;
  padding:0 15px !important;
  font-size:16px !important;
}

/* タグページのタグスクロールを削除 */
body:has(.sd-list-head) #tagNav{
  display:none !important;
}

/* タグ/シリーズページの見出しを小さめに */
.sd-list-head{
  padding:20px 20px 12px !important;
}

.sd-list-head h1{
  display:flex !important;
  align-items:baseline !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  font-size:24px !important;
  line-height:1.25 !important;
  letter-spacing:-.04em !important;
}

.sd-count{
  margin-left:0 !important;
  font-size:13px !important;
  white-space:nowrap !important;
}

/* 新着順/人気順も少し小さめ */
.sd-sort a{
  min-width:82px !important;
  height:36px !important;
  padding:0 14px !important;
  font-size:12px !important;
}

@media(max-width:760px){
  .sd-header{
    padding:15px 24px 14px !important;
    gap:10px !important;
  }

  .sd-logo{
    font-size:19px !important;
    max-width:calc(100vw - 108px) !important;
  }

  .sd-fav-pill{
    min-width:66px !important;
    height:40px !important;
    padding:0 11px !important;
    font-size:15px !important;
  }

  .sd-list-head{
    padding:18px 16px 10px !important;
  }

  .sd-list-head h1{
    font-size:22px !important;
    gap:7px !important;
  }

  .sd-count{
    font-size:12px !important;
  }
}

@media(max-width:390px){
  .sd-header{
    padding:14px 20px 13px !important;
  }

  .sd-logo{
    font-size:18px !important;
    max-width:calc(100vw - 102px) !important;
  }

  .sd-fav-pill{
    min-width:62px !important;
    height:38px !important;
    padding:0 10px !important;
  }

  .sd-list-head h1{
    font-size:20px !important;
  }

  .sd-count{
    font-size:11px !important;
  }
}


/* v3.3 real ad layout */
.sd-ad-slot{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}

.sd-slim-ad{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:28px auto;
  min-height:60px;
}

.sd-footer-ad{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:34px auto 30px;
  min-height:250px;
}

@media(max-width:760px){
  .sd-slim-ad{
    margin:24px auto;
    min-height:50px;
  }

  .sd-footer-ad{
    margin:30px auto 28px;
  }
}


/* complete v1.0 */
.sd-card .sd-fav-btn,.sd-thumb .sd-fav-btn{display:none!important}
.sd-card-title{-webkit-line-clamp:2!important;min-height:2.9em}
.sd-grid{gap:18px 14px!important}
.sd-list-head{padding-left:16px!important;padding-right:16px!important}
.sd-list-head h1{font-size:22px!important;line-height:1.25!important}
.sd-count{white-space:nowrap!important}
.sd-work-page{max-width:520px;margin:0 auto}
.sd-work-main-img{max-width:520px;margin:22px auto!important}
.sd-work-main-img img{max-height:none!important;aspect-ratio:3/4;object-fit:cover}
.sd-title{font-size:24px!important}
.sd-center-action{display:flex;justify-content:center;align-items:center;margin:18px auto}
.sd-cta,.sd-detail-btn,.sd-video-link-btn,.sd-favorite-detail-btn{width:min(320px,100%);min-height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:15px;text-decoration:none}
.sd-detail-btn,.sd-video-link-btn{background:#ff2d6f;color:#fff!important;border:0}
.sd-favorite-detail-btn{background:#fff;color:#ff2d6f;border:2px solid #ff2d6f;cursor:pointer}
.sd-favorite-detail-btn.active{background:#ff2d6f;color:#fff}
.sd-sample-images{gap:14px!important}
.sd-sample-images img{width:100%;height:auto;border-radius:14px}
.sd-related-title{margin-top:54px!important}
.sd-info{margin-bottom:44px!important}
@media(min-width:900px){.sd-work-page .sd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sd-grid{gap:16px 12px!important}.sd-card-title{font-size:12.5px!important}.sd-list-head{padding-left:14px!important;padding-right:14px!important}.sd-list-head h1{font-size:20px!important}.sd-work-page{max-width:100%}.sd-title{font-size:22px!important}}

/* complete v1.1 */
.sd-thumb{border-radius:0!important;background:#fff!important;aspect-ratio:3/4!important}
.sd-thumb img{object-fit:contain!important;border-radius:0!important;background:#fff!important}
.sd-work-main-img{background:#fff!important}
.sd-work-main-img img{border-radius:0!important;object-fit:contain!important;background:#fff!important;aspect-ratio:auto!important;width:100%!important;height:auto!important}
.sd-sample-images img{border-radius:0!important;background:#fff!important}
.sd-info{border-radius:0!important}
.sd-card .sd-fav-btn,.sd-thumb .sd-fav-btn{display:none!important}
.sd-card-title{-webkit-line-clamp:2!important;min-height:2.9em}
.sd-grid{gap:18px 14px!important}
.sd-list-head{padding-left:16px!important;padding-right:16px!important}
.sd-list-head h1{font-size:22px!important;line-height:1.25!important}
.sd-count{white-space:nowrap!important}
.sd-work-page{max-width:520px;margin:0 auto}
.sd-title{font-size:24px!important}
.sd-center-action{display:flex;justify-content:center;align-items:center;margin:18px auto}
.sd-cta,.sd-detail-btn,.sd-video-link-btn,.sd-favorite-detail-btn{width:min(320px,100%);min-height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:15px;text-decoration:none}
.sd-detail-btn,.sd-video-link-btn{background:#ff2d6f;color:#fff!important;border:0}
.sd-favorite-detail-btn{background:#fff;color:#ff2d6f;border:2px solid #ff2d6f;cursor:pointer}
.sd-favorite-detail-btn.active{background:#ff2d6f;color:#fff}
.sd-related-title{margin-top:54px!important}
@media(max-width:760px){.sd-grid{gap:16px 12px!important}.sd-card-title{font-size:12.5px!important}.sd-list-head{padding-left:14px!important;padding-right:14px!important}.sd-list-head h1{font-size:20px!important}.sd-work-page{max-width:100%}.sd-title{font-size:22px!important}}


/* v1.3 hard fix */
.sd-thumb{aspect-ratio:2/3!important;border-radius:0!important;background:#fff!important}
.sd-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:#fff!important}
.sd-card .sd-fav-btn,.sd-thumb .sd-fav-btn{display:none!important}
.sd-card-title{-webkit-line-clamp:2!important;min-height:2.9em!important}
.sd-grid{gap:18px 14px!important}
.sd-work-page{max-width:520px!important;margin:0 auto!important}
.sd-work-main-img{max-width:520px!important;margin:22px auto!important;background:#fff!important}
.sd-work-main-img img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;background:#fff!important}
.sd-sample-images img{width:100%!important;height:auto!important;border-radius:0!important;background:#fff!important}
.sd-info{border-radius:0!important}
.sd-center-action{display:flex!important;justify-content:center!important;align-items:center!important;margin:18px auto!important}
.sd-cta,.sd-detail-btn,.sd-video-link-btn,.sd-favorite-detail-btn{width:min(320px,100%)!important;min-height:52px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-weight:900!important;font-size:15px!important;text-decoration:none!important}
.sd-detail-btn,.sd-video-link-btn{background:#ff2d6f!important;color:#fff!important;border:0!important}
.sd-favorite-detail-btn{background:#fff!important;color:#ff2d6f!important;border:2px solid #ff2d6f!important;cursor:pointer!important}
.sd-favorite-detail-btn.active{background:#ff2d6f!important;color:#fff!important}
.sd-list-head{padding-left:14px!important;padding-right:14px!important}
.sd-list-head h1{font-size:21px!important;line-height:1.25!important}
.sd-count{white-space:nowrap!important}
.sd-ad-pc{display:block}
.sd-ad-sp{display:none}
@media(max-width:760px){.sd-ad-pc{display:none}.sd-ad-sp{display:block}.sd-grid{gap:16px 12px!important}.sd-card-title{font-size:12.5px!important}.sd-work-page{max-width:100%!important}.sd-title{font-size:22px!important}}

/* PHP template v1.4 */
.sd-thumb{aspect-ratio:2/3!important;border-radius:0!important;background:#fff!important}.sd-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:#fff!important}.sd-card .sd-fav-btn,.sd-thumb .sd-fav-btn{display:none!important}.sd-card-title{-webkit-line-clamp:2!important;min-height:2.9em!important}.sd-grid{gap:18px 14px!important}.sd-work-page{max-width:520px!important;margin:0 auto!important}.sd-work-main-img{max-width:520px!important;margin:22px auto!important;background:#fff!important}.sd-work-main-img img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;background:#fff!important}.sd-sample-images img{width:100%!important;height:auto!important;border-radius:0!important;background:#fff!important}.sd-info{border-radius:0!important}.sd-center-action{display:flex!important;justify-content:center!important;align-items:center!important;margin:18px auto!important}.sd-cta,.sd-detail-btn,.sd-video-link-btn,.sd-favorite-detail-btn{width:min(320px,100%)!important;min-height:52px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-weight:900!important;font-size:15px!important;text-decoration:none!important}.sd-detail-btn,.sd-video-link-btn{background:#ff2d6f!important;color:#fff!important;border:0!important}.sd-favorite-detail-btn{background:#fff!important;color:#ff2d6f!important;border:2px solid #ff2d6f!important;cursor:pointer!important}.sd-favorite-detail-btn.active{background:#ff2d6f!important;color:#fff!important}.sd-list-head{padding-left:14px!important;padding-right:14px!important}.sd-list-head h1{font-size:21px!important;line-height:1.25!important}.sd-count{white-space:nowrap!important}.sd-ad-pc{display:block}.sd-ad-sp{display:none}@media(max-width:760px){.sd-ad-pc{display:none}.sd-ad-sp{display:block}.sd-grid{gap:16px 12px!important}.sd-card-title{font-size:12.5px!important}.sd-work-page{max-width:100%!important}.sd-title{font-size:22px!important}}


/* v1.5 pagination + left align fix */
.sd-list-head{
  max-width:1180px !important;
  margin:0 auto 18px !important;
  padding:28px 18px 6px !important;
  text-align:left !important;
}

.sd-list-head h1{
  display:flex !important;
  align-items:baseline !important;
  justify-content:flex-start !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  text-align:left !important;
  margin:0 0 18px !important;
}

.sd-sort{
  display:flex !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin:0 !important;
}

.sd-sort a{
  margin:0 !important;
}

.sd-pagination{
  max-width:1180px;
  margin:34px auto 42px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.sd-page-btn{
  min-width:44px;
  height:44px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #eee;
  background:#fff;
  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  line-height:1;
}

.sd-page-btn.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.sd-page-nextprev{
  min-width:68px;
}

.sd-page-ellipsis{
  height:44px;
  min-width:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#777;
  font-weight:900;
}

@media(max-width:760px){
  .sd-list-head{
    padding:24px 14px 4px !important;
    margin-bottom:14px !important;
  }

  .sd-list-head h1{
    gap:8px !important;
    margin-bottom:16px !important;
  }

  .sd-sort{
    gap:10px !important;
  }

  .sd-pagination{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:8px;
    padding:0 14px 8px;
    margin:28px auto 36px;
  }

  .sd-pagination::-webkit-scrollbar{
    display:none;
  }

  .sd-page-btn{
    min-width:42px;
    height:42px;
    flex:0 0 auto;
  }

  .sd-page-nextprev{
    min-width:64px;
  }

  .sd-page-ellipsis{
    flex:0 0 auto;
  }
}


/* v1.6 thumbnail + pager fix */
.sd-thumb{
  aspect-ratio:2/3 !important;
  border-radius:0 !important;
  background:#fff !important;
  overflow:hidden !important;
}

.sd-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  border-radius:0 !important;
  background:#fff !important;
}

.sd-pagination{
  max-width:1180px !important;
  margin:34px auto 42px !important;
  padding:0 18px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.sd-pagination::-webkit-scrollbar{display:none !important}

.sd-page-btn{
  min-width:54px !important;
  height:54px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid #eee !important;
  background:#fff !important;
  color:#111 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  font-weight:900 !important;
  font-size:15px !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

.sd-page-btn.active{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

.sd-page-nextprev{min-width:72px !important}

.sd-page-ellipsis{
  height:54px !important;
  min-width:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#777 !important;
  font-weight:900 !important;
  flex:0 0 auto !important;
}

.sd-count{
  font-size:.55em !important;
  color:#777 !important;
}

@media(max-width:760px){
  .sd-pagination{
    justify-content:flex-start !important;
    gap:8px !important;
    padding:0 14px 8px !important;
    margin:28px auto 36px !important;
  }
  .sd-page-btn{
    min-width:52px !important;
    height:52px !important;
    padding:0 16px !important;
    font-size:15px !important;
  }
  .sd-page-nextprev{min-width:68px !important}
}


/* v1.7 forced pager fix */
.sd-pagination,.sd-pagination *{box-sizing:border-box!important}
.sd-pagination{width:100%!important;max-width:1180px!important;margin:34px auto 42px!important;padding:0 18px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.sd-pagination::-webkit-scrollbar{display:none!important}
.sd-pagination .sd-page-btn{appearance:none!important;min-width:54px!important;height:54px!important;padding:0 18px!important;border-radius:999px!important;border:1px solid #eee!important;background:#fff!important;color:#111!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-weight:900!important;font-size:15px!important;line-height:1!important;flex:0 0 auto!important}
.sd-pagination .sd-page-btn.active{background:#111!important;color:#fff!important;border-color:#111!important}
.sd-pagination .sd-page-nextprev{min-width:72px!important}
.sd-pagination .sd-page-ellipsis{height:54px!important;min-width:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#777!important;font-weight:900!important;flex:0 0 auto!important}
.sd-thumb{aspect-ratio:2/3!important;border-radius:0!important;background:#fff!important;overflow:hidden!important}
.sd-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:#fff!important}
@media(max-width:760px){.sd-pagination{justify-content:flex-start!important;gap:8px!important;padding:0 14px 8px!important;margin:28px auto 36px!important}.sd-pagination .sd-page-btn{min-width:52px!important;height:52px!important;padding:0 16px!important;font-size:15px!important}.sd-pagination .sd-page-nextprev{min-width:68px!important}}


/* v1.8 absolute pager + thumbnail crop */
.sd-pagination,
.sd-pagination *{box-sizing:border-box!important}
.sd-pagination{width:100%!important;max-width:1180px!important;margin:34px auto 42px!important;padding:0 18px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.sd-pagination::-webkit-scrollbar{display:none!important}
.sd-pagination .sd-page-btn{appearance:none!important;min-width:54px!important;height:54px!important;padding:0 18px!important;border-radius:999px!important;border:1px solid #eee!important;background:#fff!important;color:#111!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-weight:900!important;font-size:15px!important;line-height:1!important;flex:0 0 auto!important}
.sd-pagination .sd-page-btn.active{background:#111!important;color:#fff!important;border-color:#111!important}
.sd-pagination .sd-page-nextprev{min-width:72px!important}
.sd-pagination .sd-page-ellipsis{height:54px!important;min-width:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#777!important;font-weight:900!important;flex:0 0 auto!important}

.sd-thumb{aspect-ratio:2/3!important;border-radius:0!important;background:#fff!important;overflow:hidden!important}
.sd-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:#fff!important;transform-origin:center center!important}
.sd-thumb.sd-thumb-cropped img{object-fit:cover!important}

@media(max-width:760px){
  .sd-pagination{justify-content:flex-start!important;gap:8px!important;padding:0 14px 8px!important;margin:28px auto 36px!important}
  .sd-pagination .sd-page-btn{min-width:52px!important;height:52px!important;padding:0 16px!important;font-size:15px!important}
  .sd-pagination .sd-page-nextprev{min-width:68px!important}
}


/* v2.0 safe hotfix: smaller pager/headings */
.sd-pagination{gap:6px!important;padding:0 14px 8px!important;margin:24px auto 30px!important;justify-content:center!important;max-width:1180px!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important}
.sd-pagination .sd-page-btn{min-width:38px!important;height:38px!important;padding:0 11px!important;font-size:13px!important;border-radius:999px!important}
.sd-pagination .sd-page-nextprev{min-width:54px!important}
.sd-pagination .sd-page-ellipsis{min-width:24px!important;height:38px!important;font-size:13px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.sd-list-head{padding-top:20px!important;margin-bottom:12px!important}
.sd-list-head h1,.sd-home-title{font-size:20px!important;line-height:1.25!important}
.sd-count{font-size:13px!important}
.sd-thumb.sd-thumb-cropped img{object-fit:cover!important}
@media(max-width:760px){.sd-pagination{justify-content:flex-start!important;gap:6px!important;padding:0 12px 8px!important;margin:20px auto 28px!important}.sd-pagination .sd-page-btn{min-width:36px!important;height:36px!important;padding:0 10px!important;font-size:12.5px!important}.sd-pagination .sd-page-nextprev{min-width:50px!important}.sd-list-head h1,.sd-home-title{font-size:18px!important}.sd-count{font-size:12px!important}}


/* v2.1 vertical package thumbnails + centered pager */
.sd-thumb{aspect-ratio:2/3!important;border-radius:0!important;background:#fff!important;overflow:hidden!important}
.sd-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center;border-radius:0!important;background:#fff!important;transform-origin:center center!important}
.sd-thumb.sd-thumb-cropped img{object-fit:cover!important}
.sd-pagination{width:100%!important;max-width:1180px!important;margin:24px auto 30px!important;padding:0 12px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.sd-pagination::-webkit-scrollbar{display:none!important}
.sd-pagination .sd-page-btn{min-width:38px!important;height:38px!important;padding:0 11px!important;border-radius:999px!important;border:1px solid #eee!important;background:#fff!important;color:#111!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-weight:900!important;font-size:13px!important;line-height:1!important;flex:0 0 auto!important}
.sd-pagination .sd-page-btn.active{background:#111!important;color:#fff!important;border-color:#111!important}
.sd-pagination .sd-page-nextprev{min-width:54px!important}
.sd-pagination .sd-page-ellipsis{min-width:24px!important;height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;color:#777!important;font-weight:900!important;flex:0 0 auto!important}
.sd-list-head h1,.sd-home-title{font-size:20px!important;line-height:1.25!important}
.sd-count{font-size:13px!important}
@media(max-width:760px){.sd-pagination{justify-content:center!important;gap:5px!important;padding:0 8px 8px!important;margin:20px auto 28px!important}.sd-pagination .sd-page-btn{min-width:34px!important;height:34px!important;padding:0 9px!important;font-size:12px!important}.sd-pagination .sd-page-nextprev{min-width:48px!important}.sd-pagination .sd-page-ellipsis{min-width:20px!important;height:34px!important;font-size:12px!important}.sd-list-head h1,.sd-home-title{font-size:18px!important}.sd-count{font-size:12px!important}}


/* v2.2 thumbnail crop actually works */
.sd-thumb{aspect-ratio:2/3!important;border-radius:0!important;background:#fff!important;overflow:hidden!important}
.sd-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center;border-radius:0!important;background:#fff!important;transform-origin:center center!important}
.sd-thumb.sd-thumb-contain img{object-fit:contain!important}
.sd-thumb.sd-thumb-cover img,.sd-thumb.sd-thumb-cropped img{object-fit:cover!important}
.sd-pagination{justify-content:center!important}

/* v2.5 ps thumb + free translate */
.sd-thumb img{transform-origin:center center!important;will-change:transform!important}.sd-thumb.sd-thumb-cover img{object-fit:cover!important}.sd-thumb.sd-thumb-contain img{object-fit:contain!important}


/* v2.6 full-source thumbnail crop */
.sd-thumb{
  aspect-ratio:2/3 !important;
  overflow:hidden !important;
  background:#f7f7f7 !important;
  border-radius:0 !important;
}

.sd-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform-origin:center center !important;
  will-change:transform !important;
  border-radius:0 !important;
}

.sd-thumb.sd-thumb-cover img,
.sd-thumb.sd-thumb-contain img{
  object-fit:contain !important;
}


/* v2.7 final horizontal thumbnail layout */
.sd-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px 18px !important;
}

.sd-card-horizontal{
  background:#fff;
}

.sd-thumb,
.sd-thumb-horizontal{
  aspect-ratio:16/9 !important;
  border-radius:0 !important;
  background:#f7f7f7 !important;
  overflow:hidden !important;
}

.sd-thumb img,
.sd-thumb-horizontal img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform-origin:center center !important;
  will-change:transform !important;
  border-radius:0 !important;
}

.sd-thumb.sd-thumb-contain img,
.sd-thumb-horizontal.sd-thumb-contain img{
  object-fit:contain !important;
}

.sd-card-title{
  font-size:14px !important;
  line-height:1.45 !important;
  min-height:2.9em !important;
}

@media(max-width:760px){
  .sd-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .sd-card-title{
    font-size:14px !important;
  }
}


/* v2.8 auto horizontal package thumbnail */
.sd-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px 18px !important;
}

.sd-card-horizontal{
  background:#fff;
}

.sd-thumb,
.sd-thumb-horizontal{
  aspect-ratio:16/9 !important;
  border-radius:0 !important;
  background:#f7f7f7 !important;
  overflow:hidden !important;
}

.sd-thumb img,
.sd-thumb-horizontal img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform-origin:center center !important;
  will-change:transform !important;
  border-radius:0 !important;
}

.sd-thumb.sd-thumb-contain img,
.sd-thumb-horizontal.sd-thumb-contain img{
  object-fit:contain !important;
}

.sd-card-title{
  font-size:14px !important;
  line-height:1.45 !important;
  min-height:2.9em !important;
}

@media(max-width:760px){
  .sd-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .sd-card-title{
    font-size:14px !important;
  }
}


/* v2.9 thumbnail alignment + horizontal ps default */
.sd-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px 20px !important;
  align-items:start !important;
}

.sd-card,
.sd-card-horizontal{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}

.sd-thumb,
.sd-thumb-horizontal{
  width:100% !important;
  max-width:100% !important;
  aspect-ratio:16/9 !important;
  border-radius:0 !important;
  background:#f7f7f7 !important;
  overflow:hidden !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

.sd-thumb img,
.sd-thumb-horizontal img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform-origin:center center !important;
  will-change:transform !important;
  border-radius:0 !important;
  display:block !important;
}

.sd-thumb.sd-thumb-contain img,
.sd-thumb-horizontal.sd-thumb-contain img{
  object-fit:contain !important;
}

.sd-card-title,
.sd-card-tags{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.sd-card-title{
  margin-top:10px !important;
  margin-bottom:6px !important;
  font-size:14px !important;
  line-height:1.45 !important;
  min-height:auto !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  color:#111 !important;
}

.sd-card-tags{
  margin-top:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px 10px !important;
}

@media(max-width:760px){
  .sd-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .sd-card-title{
    font-size:14px !important;
  }
}


/* v3.0 thumb wide fix: remove centered narrow image gap */
.sd-main{box-sizing:border-box!important}

.sd-grid{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.sd-card,
.sd-card-horizontal{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
}

.sd-card .sd-thumb,
.sd-card-horizontal .sd-thumb,
.sd-card .sd-thumb-horizontal,
.sd-card-horizontal .sd-thumb-horizontal{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#f7f7f7!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

.sd-card .sd-thumb img,
.sd-card-horizontal .sd-thumb img,
.sd-card .sd-thumb-horizontal img,
.sd-card-horizontal .sd-thumb-horizontal img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-width:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
}

.sd-card-title,
.sd-card-tags{
  width:100%!important;
  max-width:none!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:760px){
  .sd-main{
    padding-left:28px!important;
    padding-right:28px!important;
  }

  .sd-grid{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:none!important;
    gap:24px!important;
  }

  .sd-card,
  .sd-card-horizontal{
    width:100%!important;
    max-width:none!important;
  }

  .sd-card .sd-thumb,
  .sd-card-horizontal .sd-thumb,
  .sd-card .sd-thumb-horizontal,
  .sd-card-horizontal .sd-thumb-horizontal{
    width:100%!important;
    max-width:none!important;
  }
}

@media(min-width:761px){
  .sd-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v3.1 package ratio fix: match DMM horizontal package around 800x538 */
.sd-thumb,
.sd-thumb-horizontal,
.sd-card .sd-thumb,
.sd-card-horizontal .sd-thumb,
.sd-card .sd-thumb-horizontal,
.sd-card-horizontal .sd-thumb-horizontal{
  aspect-ratio:800/538 !important;
}

.sd-thumb img,
.sd-thumb-horizontal img,
.sd-card .sd-thumb img,
.sd-card-horizontal .sd-thumb img,
.sd-card .sd-thumb-horizontal img,
.sd-card-horizontal .sd-thumb-horizontal img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* Admin thumbnail candidates also use same ratio */
.thumb-crop-preview,
.thumb-candidate{
  aspect-ratio:800/538 !important;
}
