/*
Theme Name: KNT Factory Automation
Theme URI: https://www.e-knt.co.kr
Author: K.N.T
Description: KNT 기업 홈페이지 전용 블록 테마. 투명 헤더, 가로 띠 하위 메뉴, 메인 배경 영상, 스크롤 등장 효과를 포함합니다. 활성화하면 홈, 회사소개, 제품, 서비스, 갤러리, 오시는 길·문의 페이지와 사진이 자동으로 준비됩니다.
Version: 2.0.2
Requires at least: 6.4
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: knt
*/

/* =========================================================
   0. 기준값
   - 본문 폭 1240px, 칸 간격 24px, 4칸 격자 기준
   - 헤더·본문·푸터가 같은 좌우 기준선(--knt-pad)을 사용
   ========================================================= */
:root{
  --knt-red:#C41B23;--knt-red-d:#A5141B;--knt-pink:#FF5A61;
  --knt-char:#2A2A2A;--knt-ink:#1E1E1E;--knt-band:#3A3A3A;--knt-light:#F3F3F2;
  --knt-muted:#555;--knt-line:#E4E4E4;
  --knt-max:1240px;--knt-gap:24px;--knt-side:40px;
  --knt-pad:max(var(--knt-side),calc((100% - var(--knt-max)) / 2));
  --knt-hdr:96px;
  --knt-top:var(--wp-admin--admin-bar--height,0px);
  --knt-ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:599px){:root{--knt-side:24px;--knt-hdr:72px}}

html{scroll-padding-top:calc(var(--knt-hdr) + var(--knt-top) + 16px)}
body{-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3,h4,.knt-hero-title,.knt-lead,.knt-step-desc,.knt-desc,.knt-cta-title{text-wrap:balance}
p{text-wrap:pretty}

/* 여백 초기화: 모든 간격은 아래 클래스에서 직접 지정 */
.wp-site-blocks>*{margin-block-start:0!important}
.knt-main{margin:0!important}
.knt-main>.wp-block-post-content>*{margin-block:0!important}
.knt-main>.wp-block-post-content>.alignfull{margin-inline:0!important;max-width:none}
.knt-main :is(h1,h2,h3,h4,p,figure,.wp-block-buttons,.wp-block-table,.wp-block-gallery,.wp-block-group){margin-block:0}

/* =========================================================
   1. 헤더 (투명 → 흰색 전환, 가로 띠 하위 메뉴)
   ========================================================= */
.wp-site-blocks>header.wp-block-template-part{position:fixed;top:var(--knt-top);left:0;right:0;z-index:100}
body:not(.knt-has-cover) .wp-site-blocks{padding-top:var(--knt-hdr)}

.wp-block-group.knt-header{position:relative;min-height:var(--knt-hdr);margin:0!important;padding:0 var(--knt-pad)!important;gap:24px;
  background:transparent;color:#fff;border-bottom:1px solid rgba(255,255,255,.16);
  transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}
.knt-logos{gap:0!important;margin:0!important}
.knt-logo{margin:0!important}
.knt-logo img{height:48px!important;width:auto!important;display:block}
.knt-logo-dark{display:none!important}

/* 흰색 헤더 상태: 커버 없는 페이지 / 스크롤 / 마우스 올림 / 키보드 이동 / 모바일 메뉴 열림 */
body:not(.knt-has-cover) .knt-header,
.knt-scrolled .knt-header,
.knt-header:hover,
.knt-header:focus-within,
.has-modal-open .knt-header{background:#fff;color:var(--knt-ink);border-bottom-color:var(--knt-line)}
.knt-scrolled .knt-header{box-shadow:0 6px 20px rgba(0,0,0,.06)}
body:not(.knt-has-cover) .knt-logo-light,.knt-scrolled .knt-logo-light,.knt-header:hover .knt-logo-light,.knt-header:focus-within .knt-logo-light,.has-modal-open .knt-logo-light{display:none!important}
body:not(.knt-has-cover) .knt-logo-dark,.knt-scrolled .knt-logo-dark,.knt-header:hover .knt-logo-dark,.knt-header:focus-within .knt-logo-dark,.has-modal-open .knt-logo-dark{display:block!important}

.knt-nav{font-size:15px;font-weight:500;color:inherit}
.knt-nav .wp-block-navigation__responsive-container-open{color:inherit}

@media (min-width:600px){
  /* 하위 메뉴 띠가 헤더 전체 폭을 기준으로 펼쳐지도록 기준점을 헤더로 이동 */
  .knt-header .knt-nav,
  .knt-nav .wp-block-navigation__responsive-container,
  .knt-nav .wp-block-navigation__responsive-close,
  .knt-nav .wp-block-navigation__responsive-dialog,
  .knt-nav .wp-block-navigation__responsive-container-content,
  .knt-nav .wp-block-navigation__container,
  .knt-nav .wp-block-navigation-item{position:static!important}
  .knt-nav .wp-block-navigation__container{gap:0!important;align-items:stretch}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{
    position:relative;display:flex;align-items:center;min-height:var(--knt-hdr);padding:0 22px!important;color:inherit;opacity:.88;transition:opacity .2s,color .2s}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{
    content:"";position:absolute;left:22px;right:22px;bottom:-1px;height:2px;background:var(--knt-red);transform:scaleX(0);transition:transform .25s var(--knt-ease)}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content,
  .knt-nav .wp-block-navigation__container>.knt-current>.wp-block-navigation-item__content{opacity:1}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after,
  .knt-nav .wp-block-navigation__container>.knt-current>.wp-block-navigation-item__content::after{transform:scaleX(1)}

  /* 가로 띠 하위 메뉴 */
  .knt-nav .has-child>.wp-block-navigation__submenu-container{
    position:absolute!important;left:0!important;right:0!important;top:100%!important;
    width:auto!important;min-width:0!important;height:auto!important;
    flex-direction:row!important;flex-wrap:nowrap;justify-content:center;gap:0 40px;
    padding:0 var(--knt-pad)!important;margin:0!important;
    background:#fff!important;color:var(--knt-ink)!important;border:0!important;border-bottom:1px solid var(--knt-line)!important;
    box-shadow:0 14px 24px rgba(0,0,0,.06);transform:translateY(-6px);
    transition:opacity .2s,transform .2s,visibility .2s}
  /* 스크립트가 위치를 계산한 경우: 상위 메뉴 중심 기준으로 배치 */
  .knt-nav .has-child>.wp-block-navigation__submenu-container.knt-sub-placed{justify-content:flex-start;padding-left:var(--knt-sub-x)!important;padding-right:0!important}
  .knt-nav .has-child:hover>.wp-block-navigation__submenu-container,
  .knt-nav .has-child:focus-within>.wp-block-navigation__submenu-container{visibility:visible!important;opacity:1!important;transform:none}
  .knt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item{width:auto!important}
  .knt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    display:block;padding:18px 2px!important;font-size:15px;font-weight:500;color:#555!important;white-space:nowrap;transition:color .2s}
  .knt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .knt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus{color:var(--knt-red)!important}
}
@media (min-width:600px) and (max-width:1023px){
  .knt-nav{font-size:14px}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{padding:0 12px!important}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{left:12px;right:12px}
  .knt-nav .has-child>.wp-block-navigation__submenu-container{gap:0 28px}
}
@media (min-width:600px) and (max-width:767px){
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{padding:0 8px!important}
  .knt-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{left:8px;right:8px}
}

/* 모바일 전체 화면 메뉴 */
.knt-nav .wp-block-navigation__responsive-container.is-menu-open{background:#fff!important;color:var(--knt-ink)!important;padding:24px 24px 40px!important}
.knt-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:48px!important;align-items:flex-start!important}
.knt-nav .is-menu-open .wp-block-navigation__container{gap:0!important;width:100%}
.knt-nav .is-menu-open .wp-block-navigation__container>.wp-block-navigation-item{width:100%;border-bottom:1px solid var(--knt-line);padding:14px 0}
.knt-nav .is-menu-open .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{font-size:20px;font-weight:700}
.knt-nav .is-menu-open .knt-current>.wp-block-navigation-item__content{color:var(--knt-red)}
.knt-nav .is-menu-open .wp-block-navigation__submenu-container{padding:8px 0 0!important;gap:0!important}
.knt-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:15px;font-weight:500;color:#666;padding:6px 0!important}

@media (max-width:599px){.knt-logo img{height:38px!important}}

/* =========================================================
   2. 커버 (메인 영상, 하위 페이지 제목, 배경 사진 띠)
   ========================================================= */
.knt-cover{position:relative;display:flex;align-items:center;background:var(--knt-ink);color:#fff;overflow:hidden}
.knt-cover>.knt-cover-img,.knt-cover>.knt-cover-media{position:absolute!important;inset:0;z-index:0;width:100%!important;height:100%;max-width:none!important;margin:0!important}
.knt-cover>.knt-cover-img img,.knt-cover>.knt-cover-media video{width:100%!important;height:100%!important;object-fit:cover;display:block}
.knt-cover::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(20,20,20,.5)}
.knt-cover::before{content:"";position:absolute;left:0;right:0;top:0;height:240px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0))}
.knt-cover>.knt-cover-inner{position:relative;z-index:2;width:100%;box-sizing:border-box;margin:0!important;max-width:none!important;padding:80px var(--knt-side)}
.knt-has-cover .knt-main>.wp-block-post-content>.knt-cover:first-child>.knt-cover-inner{padding-top:calc(var(--knt-hdr) + 80px)}

.knt-hero{min-height:max(640px,100svh);text-align:center}
.knt-has-cover .knt-main>.wp-block-post-content>.knt-hero:first-child>.knt-cover-inner{padding-block:calc(var(--knt-hdr) + 40px)}
.knt-hero .knt-eyebrow{color:#fff;font-size:16px;letter-spacing:.24em;margin-bottom:20px!important}
.knt-hero-title{color:#fff;font-size:clamp(30px,8vw,80px)!important;font-weight:900;line-height:1.18;letter-spacing:-.025em;margin:0!important}
.knt-rotator{margin:0 auto 44px!important}
.knt-rotator>*:not(:first-child){display:none}
.knt-motion .knt-rotator{display:grid}
.knt-motion .knt-rotator>*{display:block!important;grid-area:1/1;opacity:0;transform:translateY(18px);transition:opacity .9s var(--knt-ease),transform .9s var(--knt-ease)}
.knt-motion .knt-rotator>.is-active{opacity:1;transform:none}
.knt-motion .knt-hero .knt-cover-inner>*{animation:knt-up 1.1s var(--knt-ease) both}
.knt-motion .knt-hero .knt-cover-inner>*:nth-child(2){animation-delay:.12s}
.knt-motion .knt-hero .knt-cover-inner>*:nth-child(3){animation-delay:.24s}
@keyframes knt-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

.knt-pagetitle{min-height:460px}
.knt-pagetitle::after{background:rgba(20,20,20,.62)}
.knt-page-h1{color:#fff;font-size:clamp(34px,5vw,60px)!important;line-height:1.2;margin-bottom:16px!important}
.knt-crumb{color:#D0D0D0;font-size:15px}
.knt-ctaband{min-height:380px}
.knt-ctaband::after{background:rgba(30,30,30,.72)}
.knt-cta-title{color:#fff;font-size:clamp(26px,3vw,40px)!important;line-height:1.4;margin-bottom:32px!important}
.knt-asband::after{background:rgba(30,30,30,.8)}
.knt-asband>.knt-cover-inner{padding-block:120px}

.knt-gray img,.knt-gray video{filter:grayscale(1) contrast(1.05);transition:filter .3s}
.knt-hover:hover img{filter:none}

/* =========================================================
   3. 섹션 · 격자
   - 모든 격자는 칸 간격 24px → 세로 기준선이 섹션끼리 일치
   ========================================================= */
.knt-sec{padding:120px var(--knt-side)!important}
.knt-sec-sm{padding:96px var(--knt-side)!important}
.knt-white{background:#fff}
.knt-dark{background:var(--knt-char);color:#fff}
.knt-band{background:var(--knt-band);color:#fff;padding:96px var(--knt-side)!important}

.knt-grid-2,.knt-grid-3,.knt-grid-4,.knt-split,.knt-about-grid{display:grid!important;gap:var(--knt-gap)}
:is(.knt-grid-2,.knt-grid-3,.knt-grid-4,.knt-split,.knt-about-grid)>*{margin:0!important;min-width:0}
.knt-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.knt-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.knt-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.knt-vcenter{align-items:center}
.knt-about-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.knt-about-grid>.knt-about-body{grid-column:2 / span 3}
.knt-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.knt-sticky{position:sticky;top:calc(var(--knt-hdr) + var(--knt-top) + 48px)}

/* 회사소개 띠: "회사소개" 제목과 설명 마지막 줄의 글자 기준선(베이스라인)을 한 줄로 맞춤
   (4칸 격자로 보이는 1024px 이상에서만 적용, 버튼은 설명 아래 줄로 분리) */
@media (min-width:1024px){
  .knt-about-grid:has(>.knt-about-body>.knt-band-text){align-items:last baseline;row-gap:32px}
  .knt-about-grid:has(>.knt-about-body>.knt-band-text)>.knt-about-head{grid-row:1;grid-column:1}
  .knt-about-grid>.knt-about-body:has(>.knt-band-text){display:contents}
  .knt-about-body>.knt-band-text{grid-row:1;grid-column:2 / span 3;margin:0!important}
  .knt-about-body:has(>.knt-band-text)>.wp-block-buttons{grid-row:2;grid-column:2 / span 3;align-self:start;margin:0!important}
}

/* 섹션 머리: 제목 → [설명 | 버튼] 한 줄, 설명과 버튼의 세로 중심 일치 */
.knt-head{margin-bottom:56px!important}
.knt-row{display:flex!important;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.knt-row>*{margin:0!important}
.knt-row>.knt-lead{flex:1 1 420px}
.knt-center{justify-content:center}

/* =========================================================
   4. 글자 체계
   대제목 44 / 띠·문의 제목 34 / 단계 제목 22 / 본문 17 / 설명 16
   ========================================================= */
.knt-eyebrow{font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:15px;line-height:1.5;letter-spacing:.18em;color:var(--knt-red);margin-bottom:14px!important}
.knt-dark .knt-eyebrow,.knt-band .knt-eyebrow,.knt-cover .knt-eyebrow{color:var(--knt-pink)}
.knt-hero .knt-eyebrow,.knt-pagetitle .knt-eyebrow{color:#fff}
.knt-h2{font-size:clamp(30px,3.2vw,44px)!important;line-height:1.3;margin-bottom:16px!important}
.knt-h3{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.35}
.knt-dark .knt-h3,.knt-band .knt-h3,.knt-cover .knt-h2{color:#fff}
.knt-lead{font-size:18px;line-height:1.75;color:var(--knt-muted)}
.knt-dark .knt-lead,.knt-band .knt-lead,.knt-cover .knt-lead{color:#BDBDBD}
.knt-h3+.knt-lead{margin-top:10px!important}
.knt-sticky .knt-lead{margin-bottom:36px!important}
.knt-lead-gap{margin-bottom:32px!important}
.knt-band-text{font-size:18px;line-height:1.8;color:#E0E0E0;margin-bottom:32px!important}
.knt-strong{font-size:19px;font-weight:500;line-height:1.85;margin-bottom:16px!important}
.knt-body{font-size:17px;line-height:1.85;color:#444}
.knt-body+.knt-body{margin-top:16px!important}
.knt-dark .knt-body,.knt-cover .knt-body{color:#D0D0D0}
.knt-pt-eyebrow{padding-top:35px}
.knt-sign{border-top:1px solid #E0E0E0;padding-top:24px;margin-top:32px!important;font-size:22px;font-weight:700}
.knt-sign span{font-size:15px;font-weight:400;color:var(--knt-muted);margin-right:16px}
.knt-phone{font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:26px;line-height:1.3;margin-bottom:20px!important}
.knt-phone span{display:block;font-family:'Noto Sans KR',sans-serif;font-size:14px;font-weight:500;color:var(--knt-pink);margin-bottom:4px}
.knt-label{color:var(--knt-red);font-weight:700;font-size:15px;line-height:1.5;margin:20px 0 6px!important}
.knt-desc{font-size:16px;line-height:1.7;color:var(--knt-muted);margin-bottom:20px!important}
.knt-step-title{font-size:22px!important;line-height:1.35;margin-bottom:8px!important}
.knt-step-title.knt-lg{font-size:28px!important;margin-bottom:0!important}
.knt-step-desc{font-size:16px;line-height:1.7;color:var(--knt-muted)}
.knt-card .knt-step-desc,.knt-cover .knt-step-desc{color:#C9C9C9}

/* =========================================================
   5. 버튼: 주요 64px / 보조 48px 두 단계
   ========================================================= */
.wp-block-buttons{gap:12px}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;border-radius:0;font-weight:700;line-height:1;box-sizing:border-box;transition:background-color .2s,color .2s,border-color .2s}
.knt-btn .wp-block-button__link,.knt-btn-ghost .wp-block-button__link,.knt-btn-dark-lg .wp-block-button__link{min-height:64px;padding:0 32px;font-size:16px}
.knt-btn-dark .wp-block-button__link,.knt-btn-line .wp-block-button__link{min-height:48px;padding:0 20px;font-size:14px}
.knt-btn .wp-block-button__link{background:var(--knt-red);color:#fff}
.knt-btn .wp-block-button__link:hover{background:var(--knt-red-d);color:#fff}
.knt-btn-ghost .wp-block-button__link{background:transparent;color:#fff;border:1px solid #fff}
.knt-btn-ghost .wp-block-button__link:hover{background:#fff;color:var(--knt-ink)}
.knt-btn-dark .wp-block-button__link,.knt-btn-dark-lg .wp-block-button__link{background:var(--knt-char);color:#fff}
.knt-btn-dark .wp-block-button__link:hover,.knt-btn-dark-lg .wp-block-button__link:hover{background:var(--knt-red);color:#fff}
.knt-btn-line .wp-block-button__link{background:transparent;color:#fff;border:1px solid #8A8A8A}
.knt-btn-line .wp-block-button__link:hover{background:#fff;border-color:#fff;color:var(--knt-ink)}

/* =========================================================
   6. 구성 요소
   ========================================================= */
/* 번호 원 */
.knt-num{width:64px;height:64px;border-radius:50%;background:var(--knt-red);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:24px;line-height:1;flex-shrink:0}

/* 홈 서비스 목록 */
.knt-step-row{display:grid!important;grid-template-columns:64px minmax(0,1fr);gap:28px;align-items:center;padding:32px 0!important;border-top:1px solid #D6D6D6}
.knt-step-row:last-child{border-bottom:1px solid #D6D6D6}
.knt-step-row>*{margin:0!important}

/* 카드 */
.knt-card{background:var(--knt-char);color:#fff;padding:44px 36px!important;height:100%;box-sizing:border-box}
.knt-card .knt-num{margin-bottom:28px!important}
.knt-card .knt-step-title{color:#fff}
.knt-redline{border-top:3px solid var(--knt-red);padding-top:24px!important}
.knt-redline .knt-step-title{color:#fff}

/* 제품 카드 (홈): 설명 길이가 달라도 버튼 위치가 같도록 */
.knt-card-prod{display:flex!important;flex-direction:column;height:100%}
.knt-card-prod>.knt-desc{flex-grow:1}
.knt-card-prod>.wp-block-buttons{margin-top:auto!important}
.knt-ratio img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}
.knt-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;max-height:640px;display:block}

/* 제품 페이지 */
.knt-list>*+*{margin-top:32px!important}
.knt-product{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff}
.knt-product>*{margin:0!important;min-width:0}
.knt-product:nth-child(even)>.knt-fill{order:2}
.knt-fill{height:100%}
.knt-fill img{width:100%;height:100%!important;min-height:400px;object-fit:cover;display:block}
.knt-product-body{padding:56px!important;display:flex!important;flex-direction:column;justify-content:center}
.knt-product-body .knt-h3{margin-bottom:16px!important}
.knt-tag-label{font-size:14px;font-weight:700;border-top:1px solid #E6E6E6;padding-top:20px;margin-top:24px!important;margin-bottom:6px!important}
.knt-tags{font-size:15px;color:#3A3A3A;margin-bottom:28px!important}

/* 서비스 페이지 5단계 */
.knt-process-row{display:grid!important;grid-template-columns:64px minmax(0,1fr) minmax(0,2fr);gap:28px;align-items:center;padding:40px 0!important;border-top:1px solid #D6D6D6}
.knt-process-row>*{margin:0!important}
.knt-process-row:first-child{border-top:2px solid var(--knt-char)}
.knt-process-row:last-child{border-bottom:2px solid var(--knt-char)}
.knt-process-row .knt-eyebrow{font-size:13px;margin-bottom:4px!important}

/* 문의 띠: 오른쪽 칸 시작선 = 4칸 격자의 3번째 칸 */
.knt-contact-band{align-items:center}
.knt-contact-band>.wp-block-buttons{justify-content:flex-start}

/* 표 */
.knt-table table{border-collapse:collapse;width:100%}
.knt-table td{border:0!important;border-top:1px solid #5A5A5A!important;padding:20px 0!important;font-size:17px;vertical-align:top}
.knt-table tr:last-child td{border-bottom:1px solid #5A5A5A!important}
.knt-table td:first-child{width:170px;color:#BDBDBD}

/* 갤러리 */
.wp-block-gallery.knt-mosaic,.wp-block-gallery.knt-grid3{display:grid!important;gap:var(--knt-gap)!important}
.wp-block-gallery.knt-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px}
.wp-block-gallery.knt-mosaic>figure:first-child{grid-column:span 2;grid-row:span 2}
.wp-block-gallery.knt-grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:280px}
.wp-block-gallery.knt-mosaic>figure.wp-block-image,.wp-block-gallery.knt-grid3>figure.wp-block-image{width:auto!important;margin:0!important;height:100%}
.wp-block-gallery.knt-mosaic>figure img,.wp-block-gallery.knt-grid3>figure img{width:100%!important;height:100%!important;object-fit:cover}
.wp-block-gallery.knt-grid3 figcaption{font-size:15px;font-weight:700}
.knt-gal-group+.knt-gal-group{margin-top:64px!important}
.knt-gal-head{font-size:24px!important;margin-bottom:20px!important;padding-left:14px;border-left:4px solid var(--knt-red);line-height:1.3}

/* 문의 페이지 */
.knt-box{background:#fff;padding:44px!important}
.knt-map iframe{width:100%;height:380px;border:0;display:block;filter:grayscale(.6)}
.knt-info{background:var(--knt-char);color:#fff;padding:36px 40px!important;margin-top:24px!important}
.knt-info p{margin:0 0 14px!important;font-size:17px}
.knt-info p:last-child{margin-bottom:0!important}
.knt-info strong{display:inline-block;width:100px;color:var(--knt-pink)}

.knt-form{display:grid;gap:16px}
.knt-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.knt-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700}
.knt-form input[type=text],.knt-form input[type=tel],.knt-form input[type=email],.knt-form select,.knt-form textarea{background:var(--knt-light);border:1px solid #E0E0E0;border-radius:0;padding:15px;font:inherit;font-size:16px;font-weight:400;color:var(--knt-ink);outline:none;width:100%;box-sizing:border-box}
.knt-form input:focus,.knt-form select:focus,.knt-form textarea:focus{border-color:var(--knt-red)}
.knt-form .knt-check{flex-direction:row;align-items:center;gap:10px;font-weight:400;font-size:15px;color:var(--knt-muted)}
.knt-form .knt-check input{accent-color:var(--knt-red);width:18px;height:18px;flex-shrink:0}
.knt-form button{background:var(--knt-red);color:#fff;border:0;min-height:64px;padding:0 20px;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.knt-form button:hover{background:var(--knt-red-d)}
.knt-hp{position:absolute!important;left:-9999px!important}
.knt-form-error{background:#FDECEC;color:var(--knt-red-d);padding:12px 16px;margin:0}
.knt-form-done-title{font-size:26px;font-weight:700;margin:0 0 8px}

/* =========================================================
   7. 푸터 (헤더·본문과 같은 좌우 기준선)
   ========================================================= */
.wp-block-group.knt-footer{background:var(--knt-ink);color:#9A9A9A;padding:56px var(--knt-pad)!important;margin:0!important;font-size:14px}
.knt-footer-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--knt-gap);align-items:start}
.knt-footer-grid>*{margin:0!important}
.knt-footer-body{grid-column:2 / span 3}
.knt-logo-sm img{height:40px!important}
.knt-footer-links{font-size:15px;margin-bottom:16px!important}
.knt-footer-links a{color:#D0D0D0;text-decoration:none;margin-right:28px;display:inline-block}
.knt-footer-links a:hover{color:#fff}
.knt-footer-info{line-height:1.9}

/* =========================================================
   8. 스크롤 효과 (블록 "추가 CSS 클래스"에 이름을 넣으면 적용)
   knt-reveal  : 아래에서 올라오며 나타남
   knt-stagger : 안의 항목이 차례로 나타남
   knt-focus   : 화면 가운데 항목만 진하게
   * 스크립트가 없거나 "애니메이션 줄이기" 설정이면 모든 내용이 그대로 보입니다
   ========================================================= */
.knt-motion .knt-reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--knt-ease),transform .9s var(--knt-ease)}
.knt-motion .knt-reveal.is-in{opacity:1;transform:none}
.knt-motion .knt-stagger>*{opacity:0;transform:translateY(32px);transition:opacity .8s var(--knt-ease),transform .8s var(--knt-ease);transition-delay:calc(var(--i,0) * 110ms)}
.knt-motion .knt-stagger.is-in>*{opacity:1;transform:none}
.knt-motion .knt-focus>*{opacity:.3;transition:opacity .45s ease}
.knt-motion .knt-focus>.is-focus{opacity:1}

/* =========================================================
   9. 편집 화면 보정 (편집기에서 모든 요소가 보이도록)
   ========================================================= */
.knt-rotator.block-editor-block-list__layout>*{display:block!important;opacity:1!important;transform:none!important}
.knt-rotator.block-editor-block-list__layout>*+*{margin-top:16px!important;opacity:.6!important}
.knt-header.block-editor-block-list__layout{background:var(--knt-char)}
.knt-logos.block-editor-block-list__layout .knt-logo-dark{display:block!important;background:#fff;padding:4px}
.knt-cover-inner.block-editor-block-list__layout{padding-top:80px!important}

/* =========================================================
   10. 반응형
   노트북·태블릿 1023px 이하 / 태블릿 781px 이하 / 모바일 599px 이하
   ========================================================= */
@media (max-width:1023px){
  .knt-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .knt-split{grid-template-columns:minmax(0,1fr);gap:48px}
  .knt-sticky{position:static}
  .knt-about-grid,.knt-footer-grid{grid-template-columns:minmax(0,1fr)}
  .knt-about-grid>.knt-about-body,.knt-footer-body{grid-column:auto}
  .knt-product-body{padding:40px!important}
  .knt-process-row{grid-template-columns:64px minmax(0,1fr);row-gap:12px}
  .knt-process-row>.knt-body{grid-column:2}
}
@media (max-width:781px){
  .knt-sec{padding:80px var(--knt-side)!important}
  .knt-sec-sm,.knt-band{padding:72px var(--knt-side)!important}
  .knt-asband>.knt-cover-inner{padding-block:80px}
  .knt-grid-2,.knt-grid-3{grid-template-columns:minmax(0,1fr)}
  .knt-contact-band{gap:28px}
  .knt-product{grid-template-columns:minmax(0,1fr)}
  .knt-product:nth-child(even)>.knt-fill{order:0}
  .knt-fill img{min-height:260px}
  .knt-pt-eyebrow{padding-top:0}
  .wp-block-gallery.knt-mosaic,.wp-block-gallery.knt-grid3{gap:12px!important}
  .wp-block-gallery.knt-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}
  .wp-block-gallery.knt-grid3{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}
  .knt-head{margin-bottom:40px!important}
  .knt-box{padding:28px 20px!important}
  .knt-table td:first-child{width:110px}
  .knt-pagetitle{min-height:380px}
}
@media (max-width:599px){
  .knt-hero{min-height:max(560px,100svh)}
  .knt-hero .knt-eyebrow{font-size:13px;letter-spacing:.14em;margin-bottom:16px!important}
  .knt-rotator{margin-bottom:36px!important}
  .knt-hero .wp-block-buttons{gap:10px}
  .knt-hero .wp-block-button .wp-block-button__link{min-height:56px;padding:0 22px;font-size:15px}
  .knt-step-row{grid-template-columns:48px minmax(0,1fr);gap:18px;padding:24px 0!important}
  .knt-step-row .knt-num,.knt-process-row .knt-num{width:48px;height:48px;font-size:18px}
  .knt-process-row{grid-template-columns:48px minmax(0,1fr);gap:12px 18px;padding:28px 0!important}
  .knt-step-title.knt-lg{font-size:22px!important}
  .knt-card{padding:32px 24px!important}
  .knt-product-body{padding:32px 24px!important}
  .knt-info{padding:28px 24px!important}
  .knt-info strong{width:80px}
  /* 제품 카드: 옆으로 넘기는 방식 */
  .knt-sec .knt-swipe{display:grid!important;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;gap:16px;
    overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--knt-side) * -1)!important;padding-inline:var(--knt-side);scroll-padding-inline:var(--knt-side);
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .knt-swipe::-webkit-scrollbar{display:none}
  .knt-swipe>*{scroll-snap-align:start}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
