/* =============================================
   Ver.1286 - Global density tokens + full-row work lists
   기준: Ver.1285(Ver.1284 기반)를 재정리. 특정 페이지 보정이 아니라 전체 화면 배율의 기준점을
   root token, container max-width, fluid type/spacing token으로 통합한다.
   - CSS zoom/transform scale 사용 금지.
   - 전역 html 16px 강제 복귀 금지.
   - 페이지별 CSS 뒤에서 마지막 공통 CSS로 로드한다.
   References: MDN clamp()/media queries/max-width, Bootstrap/Tailwind container patterns.
   ============================================= */

html:not(.blur-page){
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body:not(.blur-page) :where(img, picture, video, canvas, svg){
  max-width:100%;
}

body:not(.blur-page) :where(img, video):not(.wd-smart-matte-img):not(.blur-canvas-img){
  height:auto;
}

body:not(.blur-page) :where(h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, .work-title, .wt-title, .actor-name, .card-title){
  overflow-wrap:anywhere;
}

:root{
  --site-public-max:1120px;
  --site-admin-max:1180px;
  --site-page-x:clamp(10px, 1.15vw, 18px);
  --site-card-gap:clamp(10px, .95vw, 14px);
  --site-card-pad:clamp(10px, 1vw, 14px);
  --site-radius:14px;
  --site-h1:clamp(1.55rem, 1.18rem + .85vw, 2.2rem);
  --site-h2:clamp(1.28rem, 1.06rem + .55vw, 1.75rem);
  --site-h3:clamp(1.08rem, .98rem + .28vw, 1.36rem);
  --site-body:clamp(.94rem, .91rem + .08vw, 1rem);
  --site-small:clamp(.82rem, .80rem + .05vw, .9rem);
  --site-xs:clamp(.76rem, .74rem + .04vw, .84rem);
}

@media (min-width:1024px){
  html:not(.blur-page){
    /* 1920px PC/브라우저 zoom에서 전체 rem UI가 과대해지지 않도록 root 자체를 유동 축소한다. */
    font-size:clamp(12.5px, 12px + .08vw, 13.25px);
  }

  body:not(.blur-page){
    --content-max:var(--site-public-max);
    --container:var(--site-public-max);
    --wd-page-max:var(--site-public-max);

    --fs-12:var(--site-xs);
    --fs-14:var(--site-small);
    --fs-16:var(--site-body);
    --fs-18:clamp(1rem, .96rem + .12vw, 1.12rem);
    --fs-20:clamp(1.08rem, 1rem + .18vw, 1.24rem);
    --fs-24:clamp(1.22rem, 1.05rem + .36vw, 1.52rem);
    --fs-30:clamp(1.48rem, 1.16rem + .75vw, 2rem);
    --fs-36:clamp(1.72rem, 1.28rem + 1vw, 2.42rem);
    --fs-sm:var(--site-small);
    --fs-md:var(--site-body);
    --fs-lg:var(--fs-18);

    --space-1:clamp(4px, .32vw, 6px);
    --space-2:clamp(6px, .48vw, 9px);
    --space-3:clamp(9px, .72vw, 12px);
    --space-4:clamp(12px, .9vw, 16px);
    --space-5:clamp(16px, 1.2vw, 22px);
    --space-6:clamp(20px, 1.55vw, 28px);
    --space-7:clamp(26px, 1.95vw, 34px);
    --space-8:clamp(32px, 2.4vw, 42px);
    --section-gap:var(--space-6);
    --section-gap-sm:var(--space-4);

    --h1:var(--site-h1);
    --h2:var(--site-h2);
    --h3:var(--site-h3);
    font-size:var(--site-body) !important;
    line-height:1.55;
  }

  body.admin-body:not(.blur-page){
    --content-max:var(--site-admin-max);
    --container:var(--site-admin-max);
  }

  body:not(.blur-page) :where(h1, .page-title, .home-hero__title){
    font-size:var(--site-h1) !important;
    line-height:1.18 !important;
  }

  body:not(.blur-page) :where(h2, .section-title){
    font-size:var(--site-h2) !important;
    line-height:1.22 !important;
  }

  body:not(.blur-page) :where(h3, .card-title, .panel-title){
    font-size:var(--site-h3) !important;
    line-height:1.28 !important;
  }

  body:not(.blur-page) :where(.site-header-top-inner, .site-nav-inner, .container, .public-container, .detail-container, .home-container, .community-hub, .board-container, .post-container, .search-results, .subtitle-materials-page.public-container, .board-modern-page.public-container, .post-modern-page.public-container, .write-modern-page.public-container){
    max-width:var(--container) !important;
    padding-inline:var(--site-page-x) !important;
  }

  body:not(.blur-page) .public-wrapper > :where(.g-page, .site_body, section.site_body, .work-list-page, .maker-detail-page){
    max-width:var(--container) !important;
    padding-inline:var(--site-page-x) !important;
  }

  body.admin-body:not(.blur-page) :where(.admin-shell, .manage-shell, .admin-shell.manage-shell){
    max-width:var(--site-admin-max) !important;
    padding:var(--space-4) var(--site-page-x) !important;
  }

  body:not(.blur-page) .site-logo{
    font-size:clamp(17px, 1.15rem, 19px) !important;
  }

  body:not(.blur-page) :where(.site-nav-item, .account-link--plain, .mob-menu-title){
    font-size:var(--site-small) !important;
  }

  body:not(.blur-page) .site-header-top-inner,
  body:not(.blur-page) .site-nav-inner{
    gap:var(--space-3) !important;
    padding-block:var(--space-3) !important;
  }

  body:not(.blur-page) :where(.public-card, .home-card, .wd-card, .wd-title-card, .community-card, .board-list-container, .post-modern-page, .search-card, .manage-card, .admin-card, .panel, .card){
    border-radius:var(--site-radius) !important;
  }

  body:not(.blur-page) :where(.home, .public-modern-grid, .works-grid, .works-category-grid, .actor-grid, .board-list, .manage-grid){
    gap:var(--site-card-gap) !important;
  }

  body:not(.admin-body):not(.blur-page) .home-hero{
    min-height:clamp(220px, 23vw, 320px) !important;
    padding:clamp(26px, 3.2vw, 50px) clamp(16px, 2vw, 32px) !important;
  }

  body:not(.admin-body):not(.blur-page) .home-hero__desc,
  body:not(.admin-body):not(.blur-page) .home-hero__lead{
    font-size:clamp(.88rem, .84rem + .12vw, 1rem) !important;
  }

  body:not(.admin-body):not(.blur-page) :where(.work-list-card .work-title, .search-page .works-grid .work-title, .wt-title){
    font-size:clamp(12px, .9rem, 13px) !important;
    line-height:1.35 !important;
  }

  body:not(.admin-body):not(.blur-page) :where(.work-code, .wt-code, .wt-date, .work-meta, .work-info, .actor-meta){
    font-size:var(--site-xs) !important;
  }

  body:not(.admin-body):not(.blur-page) .actors-view-grid .actor-card.public-card .actor-thumb-grid img{
    height:min(210px, 26vw) !important;
  }

  body:not(.admin-body):not(.blur-page) .work-detail .wd-top-grid{
    grid-template-columns:minmax(230px, 292px) minmax(0, 1fr) minmax(215px, 272px) !important;
    gap:var(--space-3) !important;
  }

  body:not(.admin-body):not(.blur-page) .work-detail .wd-title{
    font-size:clamp(15px, 1.12rem, 17px) !important;
  }

  body:not(.admin-body):not(.blur-page) :where(.work-detail .wd-cover, .work-detail-page .wd-shot img, .work-detail-page .work-detail-main-image img){
    max-height:min(390px, 54vh) !important;
  }

  :is(.work-list-page, .maker-detail-page) .works-grid,
  :is(.work-list-page, .maker-detail-page) .works-category-grid{
    align-items:stretch !important;
    grid-auto-rows:1fr !important;
  }

  :is(.work-list-page, .maker-detail-page) .work-list-card{
    height:100% !important;
  }
}

@media (min-width:1600px){
  :root{
    --site-public-max:1140px;
    --site-admin-max:1200px;
  }
}
