@charset "utf-8";

/*
 * File    : blocks.css
 * Author  : STUDIO-JT
 *
 * SUMMARY:
 * VARIABLE
 * LAYOUT
 * OPTIONS
 * PARAGRAPH
 * HEADING
 * LIST
 * BUTTONS
 * QUOTE
 * TABLE
 * IMAGE
 * GALLERY
 * EMBED
 * SEPARATOR
 * SPACER
 * LIGHTBOX
 * OVERWRITE
 * SINGLE
 * HOVER
 */



/* **************************************** *
 * VARIABLE
 * **************************************** */
:root {
    /* CONTAINER */
    --wp--style--global--content-size: 830rem;
    --wp--style--global--wide-size: 1200rem;

    /* SPACING */
    --wp--preset--spacing--jt-xxxsmall: 12rem;
    --wp--preset--spacing--jt-xxsmall: 20rem;
    --wp--preset--spacing--jt-xsmall: 24rem;
    --wp--preset--spacing--jt-small: 32rem;
    --wp--preset--spacing--jt-medium: 36rem;
    --wp--preset--spacing--jt-large: 40rem;
    --wp--preset--spacing--jt-xlarge: 48rem;
    --wp--preset--spacing--jt-xxlarge: 80rem;
    --wp--preset--spacing--jt-xxxlarge: 120rem;

    /* TYPOGRAPHY */
    --wp--preset--font-size--jt-01: 48rem;
    --wp--preset--font-size--jt-02: 38rem;
    --wp--preset--font-size--jt-03: 32rem;
    --wp--preset--font-size--jt-04: 28rem;
    --wp--preset--font-size--jt-05: 24rem;
    --wp--preset--font-size--jt-06: 20rem;
    --wp--preset--font-size--jt-07: 18rem;
    --wp--preset--font-size--jt-08: 15rem;

    /* TYPOGRAPHY: 편집자용 T 프리셋 (theme.json 의 fontSizes 와 짝)
       theme.json 은 px 로 선언한다(에디터 드롭다운 라벨용). 실제 출력은 뷰포트 비례 rem 이라
       같은 이름의 변수를 여기서 덮는다. 두 곳의 숫자는 항상 같아야 한다. */
    --wp--preset--font-size--xx-large: 30rem;
    --wp--preset--font-size--x-large: 24rem;
    --wp--preset--font-size--large: 21rem;
    --wp--preset--font-size--medium: 18rem;
    --wp--preset--font-size--small: 16rem;
    --wp--preset--font-size--x-small: 14rem;
    --wp--preset--font-size--xx-small: 13rem;

    /* 행간·자간은 단위가 rem 이 아니라 프론트·에디터가 같으므로 theme.json 이 그대로 내보낸다.
       여기서 다시 선언하면 출처가 둘로 갈린다. */

    /* TYPOGRAPHY: 본문 기본값 내부 토큰
       theme.json 프리셋이 아니라 코어가 내보내지 않으므로,
       아래 규칙들이 참조하는 이름 그대로 여기서 선언한다. */
    --wp--custom--typography--line-height--jt-01: 1.29;
    --wp--custom--typography--line-height--jt-02: 1.36;
    --wp--custom--typography--line-height--jt-03: 1.43;
    --wp--custom--typography--line-height--jt-04: 1.5;
    --wp--custom--typography--line-height--jt-05: 1.58;
    --wp--custom--typography--line-height--jt-06: 1.7;
    --wp--custom--typography--line-height--jt-07: 1.77;
    --wp--custom--typography--line-height--jt-08: 1.73;
    --wp--custom--typography--letter-spacing--jt-01: 0em;

    /* BORDER */
    --wp--preset--border-radius--jt-01: 20rem;
}



/* **************************************** *
 * LAYOUT
 * **************************************** */
/* ALIGNMENT */
.jt-blocks > * { max-width: var(--wp--style--global--content-size); margin: 0 auto; }
.jt-blocks > *.alignwide { max-width: var(--wp--style--global--wide-size); }
.jt-blocks > *.alignfull { max-width: none; }

/* RESET */
.jt-blocks .is-layout-flow > *,
.jt-blocks .is-layout-constrained > * { margin-block-start: 0; }

.jt-blocks .is-layout-flow > .alignleft,
.jt-blocks .is-layout-constrained > .alignleft { margin-inline-end: 0; }

.jt-blocks .is-layout-flow > .alignright,
.jt-blocks .is-layout-constrained > .alignright { margin-inline-start: 0; }



/* **************************************** *
 * OPTIONS
 * **************************************** */
/* 크기 프리셋과 내부 텍스트 상속은 마지막에 로드하는 blocks-typo.css 에서 적용한다. */

/* MORE OPTIONS */
.jt-blocks :where(strong) { font-weight: var(--font-weight-bold); }
.jt-blocks sub { vertical-align: sub; }
.jt-blocks sup { vertical-align: super; }
.jt-blocks em { font-style: italic; }
.jt-blocks code { font-family: inherit; background: #fffcb8; }
.jt-blocks mark { color: inherit; background: inherit; }

/* LINK */
.jt-blocks a:not(.wp-element-button) { word-break: break-all; text-decoration: none; color: currentColor; box-shadow: 0 1px 0 0 currentColor; transition: box-shadow .3s; -webkit-box-decoration-break: clone; }



/* **************************************** *
 * PARAGRAPH
 * **************************************** */
.jt-blocks p { margin-bottom: var(--wp--preset--spacing--jt-xxsmall); }
.jt-blocks :where(p) { letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); } /* 크기·행간·굵기는 SINGLE 섹션의 :where(:is(p, li)) 가 정한다 */



/* **************************************** *
 * HEADING
 * **************************************** */
.jt-blocks .wp-block-heading { margin-top: var(--wp--preset--spacing--jt-xxxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxsmall); }
.jt-blocks :where(.wp-block-heading) { letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-bold); }
/* 제목 위계 = 폰트 가이드 T 스케일의 700 굵기 단계 (T1·T3·T5·T7·T10, h6만 T12).
   기준은 약관 페이지의 검증된 위계(대제목 30/700 → 소제목 18/700 → 본문 16). */
/* 본문 제목은 h2 부터 시작한다.
   페이지 제목(.stories-single__visual-title 등)이 이미 h1 이므로 본문에서 h1 을 또 쓰면
   한 페이지에 h1 이 둘이 된다. 에디터에서도 h1 을 제외했다(assets/js/admin/blocks.js).
   h1 규칙은 혹시 남아 있는 콘텐츠를 위한 폴백이라 h2 와 같은 값으로 둔다.

   정책 본문(.privacy-policy__blocks)에도 함께 건다: 이 컨테이너는 .jt-blocks 를 쓰지 않아
   여기 없으면 브라우저 기본값(스타일 없음)으로 나온다.
   기본값은 낮은 특정도로 두고 편집자가 고른 크기 프리셋을 우선한다. */
:is(.jt-blocks, .privacy-policy__blocks) :where(h1.wp-block-heading, h2.wp-block-heading) { font-size: var(--font-size-primary-01); line-height: var(--font-lineheight-primary-01); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-02); } /* T1: 대제목 */
:is(.jt-blocks, .privacy-policy__blocks) :where(h3.wp-block-heading) { font-size: var(--font-size-primary-02); line-height: var(--font-lineheight-primary-02); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-01); } /* T3: 중제목 */
:is(.jt-blocks, .privacy-policy__blocks) :where(h4.wp-block-heading) { font-size: var(--font-size-primary-04); line-height: var(--font-lineheight-primary-04); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-01); } /* T5: 소제목 */
:is(.jt-blocks, .privacy-policy__blocks) :where(h5.wp-block-heading) { font-size: var(--font-size-primary-05); line-height: var(--font-lineheight-primary-05); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-01); } /* T7 */
:is(.jt-blocks, .privacy-policy__blocks) :where(h6.wp-block-heading) { font-size: var(--font-size-primary-06); line-height: var(--font-lineheight-primary-06); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-01); } /* T10 */



/* **************************************** *
 * LIST
 * **************************************** */
.jt-blocks .wp-block-list { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); }
.jt-blocks :where(.wp-block-list) { font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }
.jt-blocks .wp-block-list li { position: relative; }
.jt-blocks .wp-block-list li ~ li { margin-top: 0.34em; }
.jt-blocks .wp-block-list .wp-block-list { margin: 0.34em 0 0 1.2em; }
.jt-blocks :where(.wp-block-list .wp-block-list) { font-size: inherit; line-height: inherit; }

/* UL */
.jt-blocks ul.wp-block-list > li { padding-left: 1em; }
.jt-blocks ul.wp-block-list > li:before { content: ''; display: block; width: 6rem; height: 6rem; position: absolute; top: 13rem; left: 0; background: var(--wp--preset--color--black); border: 1px solid var(--wp--preset--color--black); border-radius: 50%; box-sizing: border-box; }
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li:before,
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li:before { background: transparent; border-radius: 50%; }
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li:before { background: var(--wp--preset--color--black); border-radius: 0; }
.jt-blocks ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li > ul.wp-block-list > li:before { border-radius: 50%; }

.jt-blocks ul.wp-block-list:is(.has-xx-large-font-size, .has-x-large-font-size) > li { padding-left: 0.57em; }
.jt-blocks ul.wp-block-list:is(.has-large-font-size, .has-medium-font-size) > li { padding-left: 0.75em; }

/* 크기 프리셋별 불릿 top: (크기×행간 − 3) / 2 로 잡은 값이다.
   실제 불릿 지름은 6rem 이라 첫 줄 가운데보다 약 1.5rem 아래에 놓인다. */
.jt-blocks ul.wp-block-list.has-xx-large-font-size > li:before { top: 17rem; }
.jt-blocks ul.wp-block-list.has-x-large-font-size > li:before { top: 13rem; }
.jt-blocks ul.wp-block-list.has-large-font-size > li:before { top: 12rem; }
.jt-blocks ul.wp-block-list.has-medium-font-size > li:before { top: 11rem; }
.jt-blocks ul.wp-block-list.has-small-font-size > li:before { top: 10rem; }
.jt-blocks ul.wp-block-list.has-x-small-font-size > li:before { top: 8rem; }
.jt-blocks ul.wp-block-list.has-xx-small-font-size > li:before { top: 6rem; }

/* OL */
.jt-blocks ol.wp-block-list { list-style-position: inside; list-style-type: decimal; }



/* **************************************** *
 * BUTTONS
 * **************************************** */
.jt-blocks .wp-block-buttons { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); gap: 10rem; }

.jt-blocks :where(.wp-block-button) { font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-bold); }
.jt-blocks .wp-block-button__link { padding: 10rem 48rem; position: relative; color: var(--wp--preset--color--white); background: var(--wp--preset--color--black); border: 2rem solid var(--wp--preset--color--black); transition: color .3s, background-color .3s, border-color .3s; }

/* OUTLINE */
.jt-blocks .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--black); background: var(--wp--preset--color--white); }



/* **************************************** *
 * QUOTE
 * **************************************** */
.jt-blocks .wp-block-quote { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-large); padding: 0; position: relative; }
.jt-blocks .wp-block-quote cite { display: block; margin-top: var(--wp--preset--spacing--jt-xxxsmall); opacity: 0.8; }
.jt-blocks :where(.wp-block-quote cite) { font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }

.jt-blocks .wp-block-quote > *:first-child { margin-top: 0; }
.jt-blocks .wp-block-quote:has(cite) > *:nth-last-child(2) { margin-bottom: 0; }
.jt-blocks .wp-block-quote:not(:has(cite)) > *:nth-last-child(1) { margin-bottom: 0; }

/* DEFAULT */
.jt-blocks .wp-block-quote:not(.is-style-plain):not(.has-text-align-center, .has-text-align-right) { padding-left: var(--wp--preset--spacing--jt-small); border-left: 4rem solid var(--wp--preset--color--black); }
.jt-blocks .wp-block-quote:not(.is-style-plain).has-text-align-right { padding-right: var(--wp--preset--spacing--jt-small); border-right: 4rem solid var(--wp--preset--color--black); }

/* PLAIN */
.jt-blocks .wp-block-quote.is-style-plain { padding-top: 30rem; }
.jt-blocks .wp-block-quote.is-style-plain:before { content: ''; display: block; width: 18rem; height: 13rem; position: absolute; top: 0; left: 0; background: url(../images/blocks/quote.svg) no-repeat center center / contain; }

.jt-blocks .wp-block-quote.is-style-plain.has-text-align-center:before { left: 50%; transform: translate(-50%, 0); }
.jt-blocks .wp-block-quote.is-style-plain.has-text-align-right:before { left: auto; right: 0; }



/* **************************************** *
 * TABLE
 * **************************************** */
.jt-blocks .wp-block-table { margin-top: var(--wp--preset--spacing--jt-large); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); }
.jt-blocks :where(.wp-block-table) { font-size: var(--wp--preset--font-size--jt-07); line-height: var(--wp--custom--typography--line-height--jt-07); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }
.jt-blocks .wp-block-table table { border-collapse: separate; }
.jt-blocks .wp-block-table tr { width: 100%; }
.jt-blocks .wp-block-table :is(th, td) { padding: var(--wp--preset--spacing--jt-medium) var(--wp--preset--spacing--jt-xxsmall); vertical-align: middle; border: none; }
.jt-blocks .wp-block-table :is(th, td):first-child { padding-left: var(--wp--preset--spacing--jt-medium); }
.jt-blocks .wp-block-table :is(th, td):last-child { padding-right: var(--wp--preset--spacing--jt-medium); }

.jt-blocks .wp-block-table thead { border: none; }
.jt-blocks .wp-block-table thead th { padding-top: 0; padding-bottom: var(--wp--preset--spacing--jt-xsmall); border: none; }
.jt-blocks :where(.wp-block-table thead th) { font-size: 0.888em; line-height: 1.77; }

.jt-blocks .wp-block-table tbody td { border: solid var(--wp--preset--color--gray-300); border-width: 0 0 1px 0; }
.jt-blocks .wp-block-table tbody tr:first-child td { border-top-width: 1px; border-top-color: var(--wp--preset--color--black); }
.jt-blocks .wp-block-table tbody tr:last-child td { border-bottom-color: var(--wp--preset--color--black); }

.jt-blocks .wp-block-table tfoot { border: none; }
.jt-blocks .wp-block-table tfoot td { padding-top: var(--wp--preset--spacing--jt-xsmall); padding-bottom: 0; border: none; }
.jt-blocks :where(.wp-block-table tfoot td) { font-size: 0.888em; line-height: 1.77; }

.jt-blocks .wp-block-table figcaption { display: block; margin-top: var(--wp--preset--spacing--jt-xsmall); padding: 0 var(--wp--preset--spacing--jt-medium); color: var(--wp--preset--color--gray-700); }
.jt-blocks :where(.wp-block-table figcaption) { font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }
.jt-blocks .wp-block-table img { max-width: 100%; }

/* 국문 표 칸: 코어의 고정 폭 표 규칙(word-break: break-word)이 음절 사이에서도 줄을 나눠('병/원') 어절 단위로 되돌린다.
   칸보다 긴 토큰(메일 주소 등)만 아무 곳에서나 끊는다. 짧은 칸에서 한두 음절만 다음 줄에 남지 않게 pretty 를 함께 준다 */
html[lang="ko-KR"] .wp-block-table .has-fixed-layout :is(td, th) { word-break: keep-all; overflow-wrap: anywhere; }
html[lang="ko-KR"] .wp-block-table :is(td, th) { text-wrap: pretty; }

/* STRIPES */
.jt-blocks .wp-block-table.is-style-stripes { border: none; }
.jt-blocks .wp-block-table.is-style-stripes thead th { border-bottom: 1px solid var(--wp--preset--color--black); }
.jt-blocks .wp-block-table.is-style-stripes tbody td { border: none; }
.jt-blocks .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: var(--wp--preset--color--gray-100); }
.jt-blocks .wp-block-table.is-style-stripes tfoot td { border-top: 1px solid var(--wp--preset--color--black); }

/* ALIGN */
.jt-blocks .wp-block-table:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-table.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-table.alignright { margin-left: auto !important; margin-right: 0 !important; }



/* **************************************** *
 * IMAGE
 * **************************************** */
.jt-blocks .wp-block-image { margin-top: var(--wp--preset--spacing--jt-xxxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); }
.jt-blocks :where(.wp-block-image) { font-size: 0; }
.jt-blocks .wp-block-image > a { display: block; box-shadow: none !important; }
.jt-blocks .wp-block-image figcaption { display: block; margin: var(--wp--preset--spacing--jt-xxsmall) 0 0; color: var(--wp--preset--color--gray-700); }
.jt-blocks :where(.wp-block-image figcaption) { font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }

/* SHAPE */
.jt-blocks .wp-block-image.is-style-rounded img { border-radius: var(--wp--preset--border-radius--jt-01); }

/* ALIGN */
.jt-blocks .wp-block-image.alignfull figcaption { padding-left: var(--wp--preset--spacing--jt-xxsmall); padding-right: var(--wp--preset--spacing--jt-xxsmall); }

.jt-blocks .wp-block-image:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-image.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-image.alignright { margin-left: auto !important; margin-right: 0 !important; }

/* LIGHTBOX */
.jt-blocks .wp-block-image.wp-lightbox-container button { width: 40rem; height: 40rem; right: 16rem !important; top: 16rem !important; background: var(--wp--preset--color--white) !important; border-radius: 4rem; }
.jt-blocks .wp-block-image.wp-lightbox-container button svg { display: block; width: 16rem; height: auto; }
.jt-blocks .wp-block-image.wp-lightbox-container button svg path { fill: var(--wp--preset--color--black); }



/* **************************************** *
 * GALLERY
 * **************************************** */
.jt-blocks .wp-block-gallery { margin-top: var(--wp--preset--spacing--jt-xxxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); }

/* GALLERY */
.jt-blocks .wp-block-gallery.has-nested-images > figcaption { display: block; margin: calc(-1 * var(--wp--style--unstable-gallery-gap) + var(--wp--preset--spacing--jt-xxsmall)) 0 0; text-align: left; color: var(--wp--preset--color--gray-700); }
.jt-blocks :where(.wp-block-gallery.has-nested-images > figcaption) { font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }

/* GALLERY ITEM */
.jt-blocks .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { margin: 0; padding: var(--wp--preset--spacing--jt-xxsmall); position: absolute; text-align: left; color: var(--wp--preset--color--white); background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%); }
.jt-blocks :where(.wp-block-gallery.has-nested-images figure.wp-block-image figcaption) { font-size: var(--wp--preset--font-size--jt-08); }

/* SHAPE */
.jt-blocks .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { border-radius: 0 0 var(--wp--preset--border-radius--jt-01) var(--wp--preset--border-radius--jt-01); }

/* ALIGN */
.jt-blocks .wp-block-gallery.has-nested-images.alignfull > figcaption { padding-left: var(--wp--preset--spacing--jt-xxsmall); padding-right: var(--wp--preset--spacing--jt-xxsmall); }

.jt-blocks .wp-block-gallery.has-nested-images:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-gallery.has-nested-images.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-gallery.has-nested-images.alignright { margin-left: auto !important; margin-right: 0 !important; }



/* **************************************** *
 * EMBED
 * **************************************** */
.jt-blocks .wp-block-embed { margin-top: var(--wp--preset--spacing--jt-xxxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); }
.jt-blocks .wp-block-embed figcaption { display: block; margin: var(--wp--preset--spacing--jt-xxsmall) 0 0; color: var(--wp--preset--color--gray-700); }
.jt-blocks :where(.wp-block-embed figcaption) { font-size: var(--wp--preset--font-size--jt-08); line-height: var(--wp--custom--typography--line-height--jt-08); letter-spacing: var(--wp--custom--typography--letter-spacing--jt-01); font-weight: var(--font-weight-regular); }

/* ALIGN */
.jt-blocks .wp-block-embed.alignfull figcaption { padding-left: var(--wp--preset--spacing--jt-xxsmall); padding-right: var(--wp--preset--spacing--jt-xxsmall); }

.jt-blocks .wp-block-embed:is(.alignleft, .alignright) { float: none; max-width: var(--wp--style--global--content-size); }
.jt-blocks .wp-block-embed.alignleft { margin-left: 0 !important; margin-right: auto !important; }
.jt-blocks .wp-block-embed.alignright { margin-left: auto !important; margin-right: 0 !important; }



/* **************************************** *
 * SEPARATOR
 * **************************************** */
.jt-blocks .wp-block-separator { height: 2rem; margin-top: var(--wp--preset--spacing--jt-xxxlarge); margin-bottom: var(--wp--preset--spacing--jt-xxxlarge); padding: 0; position: relative; color: var(--wp--preset--color--gray-300); background: none; border: none; }
.jt-blocks .wp-block-separator:after { content: ''; width: 160rem; height: 100%; background: currentColor; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }

/* WIDE */
.jt-blocks .wp-block-separator.is-style-wide { height: 1px; }
.jt-blocks .wp-block-separator.is-style-wide:after { width: 100%; }

/* DOTS */
.jt-blocks .wp-block-separator.is-style-dots { height: 27rem; color: var(--wp--preset--color--black); }
.jt-blocks .wp-block-separator.is-style-dots:after { display: none; }
.jt-blocks .wp-block-separator.is-style-dots:before { padding-left: 0.5em; }
.jt-blocks :where(.wp-block-separator.is-style-dots):before { font-size: 27rem; letter-spacing: 0.5em; }



/* **************************************** *
 * SPACER
 * **************************************** */
.jt-blocks .wp-block-spacer { margin: 0 auto; padding: 0; }



/* **************************************** *
 * LIGHTBOX
 * **************************************** */
/* IMAGE */
.wp-lightbox-overlay .wp-block-image img { border-radius: 0; }
.wp-lightbox-overlay .wp-block-image.is-style-rounded img { border-radius: var(--wp--preset--border-radius--jt-01); }

.wp-lightbox-overlay .scrim { background: var(--wp--preset--color--white) !important; }

.wp-lightbox-overlay .wp-lightbox-close-button { min-width: inherit; min-height: inherit; padding: 0; gap: 5rem; right: 40rem; top: 40rem; background: transparent !important; border-radius: 4rem; transition: background-color .3s; }
.wp-lightbox-overlay .wp-lightbox-close-button .wp-lightbox-close-icon svg { width: 40rem; height: auto; }
.wp-lightbox-overlay .wp-lightbox-close-button .wp-lightbox-close-icon svg path { fill: var(--wp--preset--color--gray-500); transition: fill .3s; }
.wp-lightbox-overlay .wp-lightbox-close-text { font-size: var(--font-size-primary-05); line-height: 1; font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-01); color: var(--wp--preset--color--white); transition: color .3s; }
.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-icon:not([hidden])):has(.wp-lightbox-close-text[hidden]) { width: 40rem; height: 40rem; }
.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])):has(.wp-lightbox-close-icon[hidden]) { padding: 18rem 12rem; background: var(--wp--preset--color--gray-700) !important; }
.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-icon:not([hidden])):has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon { order: 2; }
.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-icon:not([hidden])):has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg { width: 30rem; height: auto; }
.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-icon:not([hidden])):has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-text { order: 1; color: var(--wp--preset--color--gray-500); }

.wp-lightbox-overlay .wp-lightbox-navigation-button-next,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev { flex-direction: column; min-width: inherit; min-height: inherit; padding: 0 !important; gap: 12rem; top: 50%; bottom: auto; background: transparent !important; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next { right: 40rem; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev { left: 40rem; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next .wp-lightbox-navigation-icon,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev .wp-lightbox-navigation-icon { width: 48rem; height: 48rem; position: relative; background: var(--wp--preset--color--gray-700); border-radius: 50%; transition: background-color .3s; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next .wp-lightbox-navigation-icon svg,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev .wp-lightbox-navigation-icon svg { display: block; width: 28rem; height: auto; position: absolute; top: 50%; left: 50%; translate: -50% -50%; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next .wp-lightbox-navigation-icon svg path,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev .wp-lightbox-navigation-icon svg path { fill: var(--wp--preset--color--white); transition: fill .3s; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next .wp-lightbox-navigation-text,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev .wp-lightbox-navigation-text { position: relative; font-size: var(--font-size-primary-05); line-height: 1; font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-01); color: var(--wp--preset--color--gray-500); transition: color .3s; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next .wp-lightbox-navigation-text:before,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev .wp-lightbox-navigation-text:before { content: ''; display: block; width: 100%; height: 1px; position: absolute; left: 0; bottom: -3rem; background: currentColor; transform-origin: 100% 50%; transform: scale3d(0, 1, 1); transition: transform .3s; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-icon:not([hidden])):has(.wp-lightbox-navigation-text[hidden]) .wp-lightbox-navigation-icon,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-icon:not([hidden])):has(.wp-lightbox-navigation-text[hidden]) .wp-lightbox-navigation-icon { display: block; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])):has(.wp-lightbox-navigation-icon[hidden]),
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])):has(.wp-lightbox-navigation-icon[hidden]) { padding: 8rem 0 !important; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-icon:not([hidden])):has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-icon:not([hidden])):has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon { display: block; order: 1; }
.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-icon:not([hidden])):has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-text,
.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-icon:not([hidden])):has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-text { order: 2; font-size: var(--font-size-primary-05); color: var(--wp--preset--color--gray-700); }



/* **************************************** *
 * OVERWRITE
 * **************************************** */
.jt-blocks > *:first-child { margin-top: 0; }
.jt-blocks > *:last-child { margin-bottom: 0; }



/* **************************************** *
 * SINGLE
 * **************************************** */
/* 전 single 공통: 포스트타입별 오버라이드 금지. 특정도는 (0,2,0) 이하 유지:
   편집자가 고른 T 값(blocks-typo.css, 마지막 로드)이 이겨야 한다. */
.jt-blocks > *,
.jt-blocks > *.alignwide { margin-left: 0; margin-right: 0; } /* 좌측 정렬: 인용문 좌측 바와 같은 기준선 */

/* 본문 문단 = T6 (primary-04 18rem). 블록 프리셋으로는 jt-07 이 18: jt-06(20) 아님, 번호 겹침 주의 */
.jt-blocks :where(:is(p, li)) { font-size: var(--font-size-primary-04); line-height: var(--font-lineheight-primary-04); font-weight: var(--font-weight-regular); }
.jt-blocks p + p { margin-top: 48rem; }

/* 인용구 = T1. 프리셋 xx-large(30) 는 밴드 스케일이 없어 primary 토큰을 유지한다 */
.jt-blocks :where(.wp-block-quote, .wp-block-quote p) { font-size: var(--font-size-primary-01); line-height: var(--font-lineheight-primary-01); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-02); }
.jt-blocks .wp-block-quote p + p { margin-top: 16rem; }



/* **************************************** *
 * HOVER
 * **************************************** */
@media (hover: hover) and (pointer: fine) {

    /* LINK */
    .jt-blocks a:not(.wp-element-button):hover { box-shadow: 0 2px 0 0 currentColor; }

    /* BUTTONS */
    .jt-blocks .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }
    .jt-blocks .wp-block-button.is-style-outline .wp-block-button__link:hover { color: var(--wp--preset--color--white); background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }

    /* LIGHTBOX */
    .wp-lightbox-overlay .wp-lightbox-close-button:hover .wp-lightbox-close-icon svg path { fill: var(--wp--preset--color--gray-700); }
    .wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])):has(.wp-lightbox-close-icon[hidden]):hover { background: var(--wp--preset--color--gray-500) !important; }
    .wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-icon:not([hidden])):has(.wp-lightbox-close-text:not([hidden])):hover .wp-lightbox-close-text { color: var(--wp--preset--color--gray-700); }

    .wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover .wp-lightbox-navigation-icon,
    .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover .wp-lightbox-navigation-icon { background: var(--wp--preset--color--gray-500); }
    .wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover .wp-lightbox-navigation-text,
    .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover .wp-lightbox-navigation-text { color: var(--wp--preset--color--gray-700); }
    .wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])):has(.wp-lightbox-navigation-icon[hidden]):hover .wp-lightbox-navigation-text:before,
    .wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])):has(.wp-lightbox-navigation-icon[hidden]):hover .wp-lightbox-navigation-text:before { transform-origin: 0% 50%; transform: scale3d(1, 1, 1); }

}