/* 공통 클래스 */
:root {
  --rc-brown-dark: #46312C;
  --rc-brown-mid: #8B6F47;
  --rc-bg-row: #FAFAFA;
  --rc-border: #E0E0E0;
  --rc-border-light: #F0F0F0;
  --rc-text: #212121;
  --rc-text2: #5D5D5D;
  --rc-muted: #999;
  --rc-red: #b71c1c;
  --brown-dark: #46312C;
  --text-primary: #212121;
  --text-secondary: #5D5D5D;
  --border-light: #F0F0F0;
}
.container { overflow-x:hidden; }
.width--100vw { width:100vw; }

/* 영수증사진기® 8타입 소프트웨어별 출력 예시 */
.common-example { position:relative; display:flex; flex-direction:column; align-items:center; padding:140px 0 160px; background:#F6F1EA; color:var(--black); }
.common-example__title { font-size:60px; line-height:72px; letter-spacing:-.04em; text-align:center; text-wrap:nowrap; }
.common-example__list { display:flex; margin:80px 0 0; gap:60px; }
.common-example__item { display:flex; flex-direction:column; gap:16px; }
.common-example__item b { display:flex; align-items:center; gap:8px; font-size:32px; letter-spacing:-.025em; }
.common-example__item b::before { content:''; display:block; width:6px; height:6px; background:#46312C; }
.common-example__item img { width:390px; box-shadow:0 2px 5px rgba(70, 49, 44, 0.161); }
.common-example__button-container { position:relative; margin:-135px 0 0 -450px; }
.common-example__button-title { display:flex; align-items:center; gap:8px; font-size:32px; letter-spacing:-.025em; }
.common-example__button-title::before { content:''; display:block; width:6px; height:6px; background:#46312C; }
.common-example__button-list { display:grid; grid-template-columns:repeat(2, 1fr); margin:20px 0 0; gap:10px 60px; }
.common-example__button-item a {
  display:flex; justify-content:center; align-items:center; width:390px; height:70px; background:var(--black); border-radius:10px;
  font-size:24px; font-weight:bold; letter-spacing:-.04em; text-decoration:none; color:#FFF;
}
.common-example__button-item svg { width:30px; aspect-ratio:1; margin:0 0 0 8px; transform:translateY(4%); }

@media screen and (max-width:1401px) {
  .common-example { padding:9.9929vw 0 11.4204vw; background:#F6F1EA; color:var(--black); }
  .common-example__title { font-size:4.2827vw; line-height:5.1392vw; }
  .common-example__list { margin:5.7102vw 0 0; gap:4.2827vw; }
  .common-example__item { gap:1.1420vw; }
  .common-example__item b { gap:0.5710vw; font-size:2.2841vw; }
  .common-example__item b::before { width:0.4283vw; height:0.4283vw; }
  .common-example__item img { width:27.8373vw; box-shadow:0 0.1428vw 0.3569vw rgba(70, 49, 44, 0.161); }
  .common-example__button-container { margin:-9.6360vw 0 0 -32.1199vw; }
  .common-example__button-title { gap:0.5710vw; font-size:2.2841vw; }
  .common-example__button-title::before { width:0.4283vw; height:0.4283vw; }
  .common-example__button-list { margin:1.4276vw 0 0; gap:0.7138vw 4.2827vw; }
  .common-example__button-item a { width:27.8373vw; height:4.9964vw; font-size:1.7131vw; }
  .common-example__button-item svg { width:2.1413vw; margin:0 0 0 0.5710vw; }
}

@media screen and (max-width:801px) {
  .common-example__title { font-size:6.4919vw; line-height:8.7391vw;  }
  .common-example__list { flex-direction:column; margin:8.7391vw 0 0; gap:7.4906vw; }
  .common-example__item { gap:1.9975vw; }
  .common-example__item b { gap:1.4981vw; font-size:4.4944vw; }
  .common-example__item b::before { width:0.7491vw; height:0.7491vw; }
  .common-example__item img { width:82.3970vw; }
  .common-example__button-container { margin:8.7391vw 0 0; }
  .common-example__button-title { gap:1.4981vw; font-size:4.4944vw; }
  .common-example__button-title::before { width:0.7491vw; height:0.7491vw; }
  .common-example__button-list { display:flex; flex-direction:column; margin:1.9975vw 0 0; gap:1.4981vw; }
  .common-example__button-item a { width:82.3970vw; height:9.3633vw; font-size:3.2459vw; }
  .common-example__button-item svg { width:3.9950vw; margin:0 0 0 1.4981vw; }
}

/* 영수증사진기® 10타입 소프트웨어별 출력 예시 */
.--10inch .common-example__list { flex-wrap:wrap; justify-content:center; max-width:1290px; }
.--10inch .common-example__item:nth-of-type(4) { flex-basis:100%; margin:-20px 0 0; }
.--10inch .common-example__item:nth-of-type(4) img { width:632px; }
.--10inch .common-example__button-container { margin:-467px -900px 0 0; }
.--10inch .common-example__button-list { display:flex; flex-direction:column; }
.--10inch.--apps-3 .common-example__list { flex-wrap:nowrap; max-width:none; }
.--10inch.--apps-4 .common-example__list { display:grid; grid-template-columns:repeat(2, 390px); max-width:none; }
.--10inch.--apps-4 .common-example__item:nth-of-type(4) { flex-basis:auto; margin:0; }
.--10inch.--apps-4 .common-example__item:nth-of-type(4) img { width:390px; }
.--10inch.--apps-3 .common-example__button-container,
.--10inch.--apps-4 .common-example__button-container { margin:60px 0 0; }
.--10inch.--apps-3 .common-example__button-list,
.--10inch.--apps-4 .common-example__button-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); }

@media screen and (max-width:1401px) {
  .--10inch .common-example__list { max-width:92.0771vw; }
  .--10inch .common-example__item:nth-of-type(4) { margin:-1.4276vw 0 0; }
  .--10inch .common-example__item:nth-of-type(4) img { width:45.1106vw; }
  .--10inch .common-example__button-container { margin:-33.3333vw -64.2398vw 0 0; }
  .--10inch.--apps-3 .common-example__list { max-width:none; }
  .--10inch.--apps-4 .common-example__list { grid-template-columns:repeat(2, 27.8373vw); max-width:none; }
  .--10inch.--apps-4 .common-example__item:nth-of-type(4) { margin:0; }
  .--10inch.--apps-4 .common-example__item:nth-of-type(4) img { width:27.8373vw; }
  .--10inch.--apps-3 .common-example__button-container,
  .--10inch.--apps-4 .common-example__button-container { margin:4.2827vw 0 0; }
}

@media screen and (max-width:801px) {
  .--10inch .common-example__list { max-width:unset; }
  .--10inch .common-example__item:nth-of-type(4) { margin:0; }
  .--10inch .common-example__item:nth-of-type(4) img { width:82.3970vw; }
  .--10inch .common-example__button-container { margin:8.7391vw 0 0; }
  .--10inch.--apps-3 .common-example__list,
  .--10inch.--apps-4 .common-example__list { display:flex; flex-direction:column; }
  .--10inch.--apps-4 .common-example__item:nth-of-type(4) img { width:82.3970vw; }
  .--10inch.--apps-3 .common-example__button-list,
  .--10inch.--apps-4 .common-example__button-list { display:flex; flex-direction:column; }
}


/* 영수증사진기® 8타입 가로, 세로, 높이 사이즈 */
.common-size { position:relative; display:flex; align-items:center; margin:8.3333vw 0 0; gap:4.1667vw; }
.common-size img { width:47.9167vw; }
.common-size svg { width:31.2500vw; }
.common-size span {
  position:absolute; bottom:0; right:4.1667vw;
  font-size:0.9375vw; line-height:1.3542vw; letter-spacing:-.04em; color:#C4C4C4;
}

@media screen and (max-width:1401px) {
  .common-size span { font-size:13px; }
}

@media screen and (max-width:801px) {
  .common-size { flex-direction:column; padding:0 0 6.8664vw; margin:12.4844vw 0; gap:6.2422vw; }
  .common-size img { width:100vw; }
  .common-size svg { width:77.4032vw; }
  .common-size span { font-size:2.7466vw; }
}


/* 영수증사진기® 8타입 상세정보(옵션, 가격표) */
.common-detail section { display:flex; flex-direction:column; align-items:center; }
.common-detail__main { margin:220px 0 0; }
.common-detail__main * { letter-spacing:-.025em; text-align:center; color:var(--black); }
.common-detail__main-title { font-size:60px; font-weight:900; }
.common-detail__main-explain { margin:10px 0 40px; font-size:28px; font-weight:500; letter-spacing:-.04em; }
.common-detail__main-list { position:relative; display:flex; margin:0 0 -180px; gap:30px; z-index:1; }
.common-detail__main-list.--rental { margin:0 0 -290px; }
.common-detail__main-item { display:flex; flex-direction:column; justify-content:center; align-items:center; width:625px; padding:60px 0; border-radius:20px; background:#FFF; box-shadow:0 10px 20px rgba(0, 0, 0, 0.039); }
.common-detail__main-item.--rental { width:915px; }
.common-detail__main-item b { display:block; margin:0 0 15px; font-size:30px; font-weight:900; color:#46312C; }
.common-detail__main-item span { font-size:20px; font-weight:500; line-height:1.5; }
.common-detail__sub { position:relative; display:flex; flex-direction:column; align-items:center; width:100vw; padding:300px 0 140px; background:#FAFAFA; }
.common-detail__sub.--rental { padding:410px 0 140px; }
.common-detail__sub * { letter-spacing:-.025em; text-align:center; color:var(--black); }
.common-detail__sub-title { font-size:46px; font-weight:900; }
.common-detail__sub-title.--rental { margin:0 0 40px; }
.common-detail__sub-explain { margin:10px 0 40px; font-size:28px; font-weight:500; }
.common-detail__sub-table { width:1280px; }

@media screen and (max-width:1401px) {
  .common-detail__main { margin:15.7031vw 0 0; }
  .common-detail__main-title { font-size:4.2827vw; }
  .common-detail__main-explain { margin:0.7138vw 0 2.8551vw; font-size:1.9986vw; }
  .common-detail__main-list { gap:2.1413vw; margin:0 0 -12.8480vw; }
  .common-detail__main-list.--rental { margin:0 0 -20.6995vw; }
  .common-detail__main-item { width:44.6110vw; padding:4.2827vw 0; box-shadow:0 0.7138vw 1.4276vw rgba(0, 0, 0, 0.039); }
  .common-detail__main-item.--rental { width:65.3105vw; }
  .common-detail__main-item b { margin:0 0 1.0707vw; font-size:2.1413vw; }
  .common-detail__main-item span { font-size:1.4276vw; }
  .common-detail__sub { padding:21.4133vw 0 9.9929vw; }
  .common-detail__sub.--rental { padding:29.2648vw 0 9.9929vw; }
  .common-detail__sub-title { font-size:3.2834vw; }
  .common-detail__sub-title.--rental { margin:0 0 2.8551vw; }
  .common-detail__sub-explain { margin:0.7138vw 0 2.8551vw; font-size:1.9986vw; }
  .common-detail__sub-table { width:91.3633vw; }
}

@media screen and (max-width:801px) {
  .common-detail__main-title { font-size:6.4919vw; }
  .common-detail__main-explain { margin:2.4969vw 0 3.7453vw; font-size:3.2459vw; }
  .common-detail__main-list { flex-direction:column; }
  .common-detail__main-item b { font-size:3.7453vw; }
  .common-detail__main-item span { font-size:3.2459vw; }
  .common-detail__main-item,
  .common-detail__main-item.--rental { padding:7.4906vw 0; width:87.3908vw; }
  .common-detail__sub-title { font-size:4.9938vw; }
  .common-detail__sub-explain { font-size:3.2459vw; }
  .common-detail__sub-table { width:93.6330vw; }
}


/* 영수증사진기® 사용사례 갤러리 */
.common-gallery { display:flex; flex-direction:column; align-items:center; padding:0 50px; margin:220px 0; }
.common-gallery * { letter-spacing:-.04em; color:var(--black); }
.common-gallery__title { font-size:60px; font-weight:900; }
.common-gallery__explain { margin:10px 0 40px; font-size:28px; text-align:center; }
.common-gallery__image-list { display:grid; grid-template-columns:repeat(4, 1fr); width:100%; max-width:1820px; gap:20px; }
.common-gallery__image-item { display:flex; flex-direction:column; gap:20px; }
.common-gallery__image-item img { width:100%; }

@media screen and (max-width:1401px) {
  .common-gallery { padding:0 1.7844vw; margin:15.7031vw 0; }
  .common-gallery__title { font-size:4.2827vw; }
  .common-gallery__explain { margin:0.7138vw 0 2.8551vw; font-size:1.9986vw; }
  .common-gallery__image-list { gap:1.4276vw; }
  .common-gallery__image-item { gap:1.4276vw; }
}

@media screen and (max-width:801px) {
  .common-gallery__title { font-size:6.4919vw; }
  .common-gallery__explain { font-size:3.2459vw; margin:2.4969vw 0 4.9938vw; }
}


/* 영수증사진기® 8타입 커스터마이징 기능 */
.common-custom__text-box { display:flex; flex-direction:column; padding:70px 0 125px; gap:60px; background:#FAFAFA; text-align:center; }
.common-custom__title { font-size:50px; line-height:1; letter-spacing:-.04em; color:var(--black); }
.common-custom__title strong { display:block; margin:14px 0 0; font-weight:900; line-height:1.2; }
.common-custom__explain { font-size:32px; font-weight:500; line-height:1; letter-spacing:-.04em; }
.common-custom__explain span { display:block; margin:14px 0 0; font-size:18px; line-height:1.45; color:#5D5D5D; }
.common-custom__example-list { display:grid; grid-template-columns:repeat(3, 305px); justify-content:center; margin:-100px 0 0; gap:20px; }
.common-custom__example-item img { width:100%; }
.common-custom__example-item span { display:block; margin:16px 0 0; font-size:24px; letter-spacing:-.04em; text-align:center; color:var(--black); }

@media screen and (max-width:1401px) {
  .common-custom__text-box { padding:4.9964vw 0 8.9222vw; gap:4.2827vw; }
  .common-custom__title { font-size:3.5689vw; }
  .common-custom__title strong { margin:0.9993vw 0 0; }
  .common-custom__explain { font-size:2.2841vw; }
  .common-custom__explain span { margin:0.9993vw 0 0; font-size:1.2848vw; }
  .common-custom__example-list { grid-template-columns:repeat(3, 21.7702vw); margin:-7.1378vw 0 0; gap:1.4276vw; }
  .common-custom__example-item span { margin:1.1420vw 0 0; font-size:1.7131vw; }
}

@media screen and (max-width:801px) {
  .common-custom__text-box { padding:11.2360vw 0 18.7266vw; }
  .common-custom__title { font-size:3.7453vw; }
  .common-custom__title strong { font-size:6.4919vw; }
  .common-custom__explain { font-size:3.2459vw; }
  .common-custom__explain span { font-size:2.7466vw; }
  .common-custom__example-list { grid-template-columns:repeat(3, 30.5868vw); margin:-13.7328vw 0 0; gap:2.4969vw; }
  .common-custom__example-item span { font-size:3.2459vw; }
}

/* 영수증사진기® 10타입 커스터마이징 기능 */
.--10inch .common-custom__example-list { grid-template-columns:repeat(4, 305px); }
.--10inch.--apps-3 .common-custom__example-list { grid-template-columns:repeat(3, 305px); }
.--10inch.--apps-4 .common-custom__example-list { grid-template-columns:repeat(2, 305px); }

@media screen and (max-width:1401px) {
  .--10inch .common-custom__example-list { grid-template-columns:repeat(4, 21.7702vw); }
  .--10inch.--apps-3 .common-custom__example-list { grid-template-columns:repeat(3, 21.7702vw); }
  .--10inch.--apps-4 .common-custom__example-list { grid-template-columns:repeat(2, 21.7702vw); }
}

@media screen and (max-width:801px) {
  .--10inch .common-custom__example-list { grid-template-columns:repeat(2, 46.8165vw); }
  .--10inch.--apps-3 .common-custom__example-list { grid-template-columns:repeat(3, 30.5868vw); }
  .--10inch.--apps-4 .common-custom__example-list { grid-template-columns:repeat(2, 46.8165vw); }
}


/* 영수증사진기® 8타입 타입별 상세정보 */
.tabs { padding-top:220px; margin-top:0; }
.pd_section_1 .p_app_sikn { padding-bottom:220px; }
.pd_section_1 .skins_icon { padding-bottom:34px; }
.type-content { padding:180px 0 0; }
.type-content section { color:var(--black); }
.type-content section strong { display:block; margin:0 auto; font-size:60px; font-weight:900; letter-spacing:-.025em; text-align:center; }
.type-content section p { display:block; margin:10px 0 40px; font-size:28px; font-weight:500; letter-spacing:-.04em; text-align:center; }
.section-video { color:var(--black); }
.section-video strong { display:block; margin:0 auto; font-size:60px; font-weight:900; line-height:1.2; letter-spacing:-.025em; text-align:center; }
.section-video p { display:block; margin:10px 0 40px; font-size:28px; font-weight:500; line-height:1.65; letter-spacing:0; text-align:center; word-break:keep-all; overflow-wrap:break-word; }
.common-detail__main-explain,
.common-detail__sub-explain,
.common-gallery__explain,
.common-custom__explain,
.common-custom__explain span,
.section-skin p,
.section-present p,
.section-intro p,
.brief-frame-intro-title h3,
.steel-stand-wrapper p,
.app_info .info_subinfo,
.pd_section_1 p,
.pd_section_1 .p_app_sikn p,
.pd_section_1 .p_app_sikn .txt,
.pd_section_1 .p_app_sikn .text,
.pd_section_1 .p_model_info_wrap .sv_info,
.pd_section_1 .p_gs .etc,
.type-content .section-expendables p,
.type-content .section-expendables__text-box p {
  line-height:1.65 !important;
  letter-spacing:0 !important;
  word-break:keep-all;
  overflow-wrap:break-word;
}
.brief-app-intro-subtitle {
  margin:clamp(12px, 1.15vw, 20px) auto 0 !important;
  max-width:min(760px, calc(100% - 48px)) !important;
  color:#3f3633 !important;
  font-size:clamp(18px, 1.55vw, 27px) !important;
  font-weight:700 !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}
.section-intro > .brief-app-intro-subtitle + p { margin-top:clamp(22px, 2.2vw, 38px) !important; }
.type-content:not(#type-3) section a svg { width:30px; aspect-ratio:1; margin:0 0 0 8px; transform:translateY(4%); }
.type-content .section-intro { margin:0 0 200px; }
.type-content:not(#type-3) .section-skin a {
  display:flex; justify-content:center; align-items:center; width:400px; height:80px; margin:0 auto; background:var(--black); border-radius:10px;
  font-size:32px; font-weight:bold; letter-spacing:-.04em; text-decoration:none; color:#FFF;
}
.type-content .section-grid-example { margin:0 0 180px; }
.type-content .section-present { margin:0 0 180px; }
.type-content .section-video,
.section-video { margin:0 0 260px; }
.type-content .section-video ul,
.section-video ul { display:flex; justify-content:center; gap:20px; }
.type-content .video-wrapper { width:414px; aspect-ratio:9 / 16; border-radius:20px; overflow:hidden; }
.section-video .video-wrapper { width:414px; aspect-ratio:9 / 16; border-radius:20px; overflow:hidden; }
.type-content .video-wrapper iframe,
.section-video .video-wrapper iframe { width:100%; height:100%; }

@media screen and (max-width:1401px) {
  .tabs { margin-top:15.7031vw; }
  .pd_section_1 .p_app_sikn { padding-bottom:15.7031vw; }
  .pd_section_1 .skins_icon { padding-bottom:2.4268vw; }
  .type-content { padding:12.8480vw 0 0; }
  .type-content section strong { font-size:4.2827vw; }
  .type-content section p { margin:0.7138vw 0 2.8551vw; font-size:1.9986vw; }
  .type-content:not(#type-3) section a svg { width:2.1413vw; margin:0 0 0 0.5710vw; }
  .type-content .section-intro { margin:0 0 14.2755vw; }
  .type-content:not(#type-3) .section-skin a { width:28.5510vw; height:5.7102vw; font-size:2.2841vw; }
  .type-content .section-grid-example { margin:0 0 12.8480vw; }
  .type-content .section-present { margin:0 0 12.8480vw; }
  .section-video strong { font-size:4.2827vw; }
  .section-video p { margin:0.7138vw 0 2.8551vw; font-size:1.9986vw; }
  .type-content .section-video,
  .section-video { margin:0 0 18.5582vw; }
  .type-content .section-video ul,
  .section-video ul { gap:1.4276vw; }
  .type-content .video-wrapper { width:29.5503vw; border-radius:1.4276vw; }
  .section-video .video-wrapper { width:29.5503vw; border-radius:1.4276vw; }
}

@media screen and (max-width:801px) {
  .type-content section strong { font-size:6.4919vw; line-height:1.2; }
  .type-content section p { margin:4.3695vw 0 6.2422vw; font-size:3.2459vw; }
  .section-video strong { font-size:6.4919vw; line-height:1.2; }
  .section-video p { margin:4.3695vw 0 6.2422vw; font-size:3.2459vw; }
  .brief-app-intro-subtitle {
    max-width:calc(100% - 36px) !important;
    margin-top:10px !important;
    font-size:clamp(15px, 4vw, 19px) !important;
    line-height:1.6 !important;
  }
  .section-intro > .brief-app-intro-subtitle + p { margin-top:18px !important; }
  .type-content:not(#type-3) .section-skin a { width:49.9376vw; height:9.3633vw; font-size:3.2459vw; }
  .type-content:not(#type-3) section a svg { width:3.9950vw; margin:0 0 0 1.4981vw; }
  .type-content .section-video ul,
  .section-video ul { flex-direction:column; align-items:center; gap:2.4969vw; }
  .type-content .video-wrapper { width:91.7603vw; border-radius:2.4969vw; }
  .section-video .video-wrapper { width:91.7603vw; border-radius:2.4969vw; }
}

@media screen and (min-width:802px) {
  .section-skin.pd_section_1 > p {
    margin-bottom:clamp(24px, 2.2vh, 36px);
  }

  .pd_section_1 .p_app_sikn {
    padding-bottom:clamp(72px, 7vh, 110px);
  }

  .pd_section_1 .p_app_sikn .p_app_sink_ex {
    width:min(1106px, 72vw);
    max-width:calc(100vw - 64px);
  }

  .pd_section_1 .p_app_sikn .p_app_sink_ex > img {
    width:100%;
    height:auto;
  }

  .pd_section_1 .skins_icon {
    width:100%;
    margin-top:clamp(14px, 1.8vh, 24px);
    padding-bottom:0;
  }

  .pd_section_1 .skins_icon .swiper-slide {
    width:clamp(86px, 5.9vw, 118px);
  }

  .pd_section_1 .p_app_skin_view {
    left:50% !important;
    bottom:26.2% !important;
    width:18.1% !important;
    transform:translateX(-100%) !important;
  }

  .pd_section_1 .p_app_skin_view.lite {
    bottom:23.5% !important;
    width:20.8% !important;
    transform:translateX(-50%) !important;
  }

  .pd_section_1 .p_app_skin_view.themebox {
    bottom:45.4% !important;
    width:13.0% !important;
    transform:translateX(-50%) !important;
  }

  .pd_section_1 .p_app_skin_view.themebox_wall {
    bottom:44.6% !important;
    width:13.4% !important;
    transform:translateX(-50%) !important;
  }

  .pd_section_1 .p_app_skin_view.themebox_10inch {
    bottom:42.7% !important;
    width:37.7% !important;
    transform:translateX(-49.2%) !important;
  }

  .pd_section_1 .p_app_skin_view.themebox_10inch_label {
    bottom:42.9% !important;
    width:36.9% !important;
    transform:translateX(-50%) !important;
  }
}

@media screen and (min-width:802px) and (max-height:900px) {
  .type-content section strong {
    font-size:clamp(42px, 3.2vw, 56px);
  }

  .type-content section p {
    margin:8px 0 18px;
    font-size:clamp(20px, 1.35vw, 25px);
  }

  .pd_section_1 .p_app_sikn .p_app_sink_ex {
    width:min(820px, 64vw, calc((100vh - 350px) * 1.5755));
  }

  .pd_section_1 .skins_icon {
    margin-top:12px;
    height:78px;
  }

  .pd_section_1 .skins_icon .swiper-slide {
    width:clamp(74px, 5.4vw, 86px);
  }
}

/* 영수증사진기® 10타입 타입별 상세정보 */
.--10inch .section-present__content-box { display:flex; flex-direction:column; align-items:center; width:100vw; gap:30px; padding:80px 0; background:#F5F5F5; }
.--10inch .section-present__content-box > img { width:1280px; }
.--10inch .section-present__content-wrapper { display:flex; justify-content:space-between; width:1280px; }
.--10inch .section-present__content-wrapper > img { width:840px; }

@media screen and (max-width:1401px) {
  .--10inch .section-present__content-box { gap:2.1413vw; padding:5.7102vw 0; }
  .--10inch .section-present__content-box > img { width:91.3633vw; }
  .--10inch .section-present__content-wrapper { width:91.3633vw; }
  .--10inch .section-present__content-wrapper > img { width:59.9572vw; }
}

@media screen and (max-width:801px) {
  .--10inch .section-present__content-box { padding:12.4844vw 0; gap:4.9938vw; }
  .--10inch .section-present__content-box > img { width:91.7603vw; }
  .--10inch .section-present__content-wrapper { flex-direction:column; align-items:center; gap:4.9938vw; }
  .--10inch .section-present__content-wrapper > img { width:91.7603vw; }
}


/* 영수증사진기® 8타입 소모품(영수증용지, 라벨스티커용지) */
.type-content .section-expendables strong { line-height:1.25; }
.type-content .section-expendables p { margin:10px 0 60px; font-size:32px; line-height:1.25; letter-spacing:-.025em; }
.type-content .section-expendables { padding-bottom:220px; }
.type-content .section-expendables__content-box { display:none; justify-content:center; gap:40px; &.on { display:flex; } }
.type-content .section-expendables__content-box img { width:720px; aspect-ratio:6 / 5; }
.type-content .section-expendables__content-wrapper ul { display:flex; width:fit-content; max-width:100%; box-sizing:border-box; padding:8px; gap:3px; background:#F5F5F5; border-radius:8px; }
.type-content .section-expendables__content-wrapper li {
  display:flex; justify-content:center; align-items:center; width:162px; aspect-ratio:3; border:2px solid transparent; border-radius:8px; cursor:pointer;
  font-size:20px; font-weight:500; line-height:1; letter-spacing:-.025em; color:#999;
  &.on { background:#FFF; border-color:#E0E0E0; font-weight:bold; color:#46312C; }
}
.type-content .section-expendables__text-box { margin:130px 0 0 48px; }
.type-content .section-expendables__text-box b { font-size:40px; font-weight:bold; line-height:0.85; letter-spacing:-.03em; color:var(--black); }
.type-content .section-expendables__text-box p { margin:28px 0 0; font-size:20px; font-weight:500; line-height:1.8; letter-spacing:-.04em; text-align:left; }

@media screen and (max-width:1401px) {
  .type-content .section-expendables p { margin:0.7138vw 0 4.2827vw; font-size:2.2841vw; }
  .type-content .section-expendables { padding-bottom:15.7031vw; }
  .type-content .section-expendables__content-box { gap:2.8551vw; }
  .type-content .section-expendables__content-box img { width:51.3919vw; }
  .type-content .section-expendables__content-wrapper ul { padding:0.5710vw; gap:0.2141vw; }
  .type-content .section-expendables__content-wrapper li { width:11.5632vw; border:0.1428vw solid transparent; font-size:1.4276vw; }
  .type-content .section-expendables__text-box { margin:9.2791vw 0 0 3.4261vw; }
  .type-content .section-expendables__text-box b { font-size:2.8551vw; }
  .type-content .section-expendables__text-box p { margin:1.9986vw 0 0; font-size:1.4276vw; }
}

@media screen and (max-width:801px) {
  .tabs li { flex:1 1 0; width:auto; min-width:0; }
  .type-content .section-expendables { padding-bottom:20vw; }
  .type-content .section-expendables__content-box { flex-direction:column; align-items:center; }
  .type-content .section-expendables__content-box img { width:91.7603vw; }
  .type-content .section-expendables__content-wrapper li { width:29.8377vw; font-size:3.2459vw; }
  .type-content .section-expendables__text-box { margin:16.8539vw 0 0 4.3695vw; }
  .type-content .section-expendables__text-box b { font-size:6.4919vw; }
  .type-content .section-expendables__text-box p { font-size:3.7453vw; }
}

/* 영수증사진기® 10타입 소모품(영수증용지, 라벨스티커용지) */
.--10inch .type-content .section-expendables__content-wrapper li { width:120px; aspect-ratio:20 / 9; }

@media screen and (max-width:1401px) {
  .--10inch .type-content .section-expendables__content-wrapper li { width:8.5653vw; }
}

@media screen and (max-width:801px) {
  .--10inch .type-content .section-expendables__content-wrapper li { width:22.2222vw; }
  .type-content .section-expendables__content-wrapper { width:91.7603vw; max-width:100%; box-sizing:border-box; }
  .type-content .section-expendables__content-wrapper ul { width:100%; }
  .type-content .section-expendables__content-wrapper li,
  .--10inch .type-content .section-expendables__content-wrapper li { flex:1 1 0; width:auto; min-width:0; }
}

/* Multilingual product index text should stay inside each tile. */
.p_section_1 .product_list strong {
  max-width:calc(100% - 128px);
  overflow-wrap:normal;
  word-break:keep-all;
}

html[dir="rtl"] .p_section_1 .product_list strong {
  left:auto;
  right:64px;
  text-align:right;
  direction:rtl;
  unicode-bidi:plaintext;
}

@media screen and (max-width:1401px) {
  .p_section_1 .product_list strong {
    max-width:80%;
  }

  html[dir="rtl"] .p_section_1 .product_list strong {
    left:auto;
    right:10%;
  }
}

@media screen and (max-width:801px) {
  .p_section_1 .product_list strong {
    max-width:91.1112vw;
  }

  html[dir="rtl"] .p_section_1 .product_list strong {
    left:auto;
    right:4.4444vw;
  }
}

/* ===== 제품 상세 · 앱 기능 블록 (Figma WEB / COMMON-01) ===== */
/* 시안 기준폭 1000px, 콘텐츠 900px(좌우 50px 여백) */
.feature-block {
  max-width: 900px;
  margin: 0 auto 62px;
  padding: 0 20px;
}

.feature-block__head {
  /* 뱃지를 고정 좌측 열로 두면 제목이 줄바꿈돼도 둘째 줄부터
     첫 줄 텍스트 위치에 맞춰 들여쓰기된다. */
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: 10px;
  margin: 0 0 22px;
}

.feature-block__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 80px;
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  background: #241f1f;
  color: #fff;
  font-family: "Acumin Pro Wide", "Pretendard Variable", Pretendard, sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0;
}

/* PRO / PRO+ / MINI는 전부 대문자라 하강부 공간이 아래에만 남는다.
   flex 중앙 정렬만으로는 글자가 3px(28px 기준 0.107em)쯤 위로 떠 보인다.
   배경 알약은 그대로 두고 글자만 잉크 기준 중앙으로 내린다.
   뱃지 자체에 transform을 걸면 검은 배경까지 함께 내려간다. */
.feature-block__badge-text {
  display: block;
  font-style: normal;
  transform: translateY(0.107em);
}

.feature-block__title {
  color: #241f1f;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;   /* 40px = 뱃지 높이. 첫 줄이 뱃지와 나란히 선다 */
  letter-spacing: -0.04em;
  word-break: keep-all;
  text-wrap: balance;
}

/* 제목 끝 괄호 목록은 통째로 넘긴다. 'FRAME |'에서 끊기지 않게. */
.feature-block__title-paren {
  white-space: nowrap;
}

.feature-block__media {
  margin: 0;
  position: relative;
}

/* 라운드는 figure가 아니라 img에 준다 — 캡션 알약이 있으면
   figure에 overflow:hidden을 걸 때 알약까지 잘려 보이기 때문이다. */
.feature-block__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
  overflow: hidden;
}

/* 갤러리 이미지 아래 다크브라운 캡션 알약(Figma "랜덤 상하단 이미지 예시안" 등) */
.feature-block__caption {
  display: table;
  margin: 20px auto 0;
  padding: 10px 24px;
  border-radius: 10px;
  background: #46312c;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.04em;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
}

.feature-block__desc {
  margin: 22px 0 0;
  padding: 31px 33px;
  border-radius: 15px;
  background: #f4efe7;
  color: #241f1f;
  font-size: 22px;
  line-height: 1.73;
  letter-spacing: -0.05em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media (max-width: 768px) {
  .feature-block {
    margin-bottom: 44px;
    padding: 0 16px;
  }

  .feature-block__head {
    column-gap: 8px;
    margin-bottom: 16px;
  }

  .feature-block__badge {
    min-width: 62px;
    height: 32px;
    font-size: 21px;
    line-height: 1;
  }

  .feature-block__title {
    font-size: 22px;
    line-height: 1.45;   /* 약 32px = 모바일 뱃지 높이 */
  }

  /* 괄호 목록은 통째로 다음 줄에서 시작하고, 그 안에서만 다시 흐른다.
     '(ONE |' 처럼 여는 괄호 직후에서 끊기는 걸 막는다. */
  .feature-block__title-paren {
    display: inline-block;
    white-space: normal;
  }

  .feature-block__media img,
  .feature-block__desc {
    border-radius: 12px;
  }


  .feature-block__desc {
    margin-top: 16px;
    padding: 20px 18px;
    font-size: 16px;
    line-height: 1.75;
  }

  .feature-block__caption {
    margin-top: 14px;
    padding: 8px 18px;
    font-size: 14px;
    white-space: normal;
  }
}

/* 소형 화면: 괄호 목록이 들여쓰기 후에도 한 줄에 들어가도록 한 단계 줄인다.
   '(ONE | MORE | FRAME | GRID)'가 다시 쪼개지면 읽기 흐름이 끊긴다. */
@media (max-width: 430px) {
  .feature-block__title {
    font-size: 20px;
    line-height: 1.6;   /* 32px = 뱃지 높이 유지 */
  }
}

/* 좁은 폭에서는 뱃지가 가로를 먹어 제목 칸이 눌린다.
   뱃지를 윗줄로 올려 제목이 전체 폭을 쓰게 한다. */
@media (max-width: 560px) {
  .feature-block__head {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
  }

  .feature-block__badge {
    justify-self: start;
  }

  /* 세로 배치에서는 뱃지 열이 없으므로 모든 줄이 좌측에 정렬된다.
     별도 들여쓰기가 필요 없다. */
  .feature-block__title {
    line-height: 1.4;
  }
}

/* ===== 제품 상세 · 섹션 도입부 (Figma WEB / COMMON-01 Group 402) ===== */
.section-intro {
  max-width: 1000px;
  margin: 0 auto 46px;
  padding: 0 20px;
  color: #241f1f;
  text-align: center;
  word-break: keep-all;
}

.section-intro__title {
  margin: 0;
  font-weight: 900;
  font-size: 48px;
  line-height: 1.34;
  letter-spacing: -0.04em;
}

.section-intro__subtitle {
  margin: 4px 0 0;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.section-intro__desc {
  margin: 12px 0 0;
  font-size: 28px;
  line-height: 1.43;
  letter-spacing: -0.04em;
}

@media (max-width: 768px) {
  .section-intro {
    margin-bottom: 32px;
    padding: 0 16px;
  }

  .section-intro__title {
    font-size: 28px;
    line-height: 1.35;
  }

  .section-intro__subtitle {
    font-size: 19px;
  }

  .section-intro__desc {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.6;
  }

  /* 시안의 강제 줄바꿈은 좁은 화면에서 어색한 지점에서 끊긴다.
     모바일에서는 자연스럽게 흐르게 둔다. */
  .section-intro__desc br {
    display: none;
  }
}

/* 순번 뱃지는 원형. 프로 모드 알약과 달리 고정 지름을 쓴다. */
.feature-block__badge--num {
  min-width: 0;
  width: 40px;
  padding: 0;
  border-radius: 50%;
}

@media (max-width: 768px) {
  .feature-block__badge--num {
    width: 32px;
  }
}

/* 한 블록에 이미지가 여러 장이면 세로로 쌓는다 */
.feature-block__media-stack {
  display: grid;
  gap: 12px;
}

@media (max-width: 768px) {
  .feature-block__media-stack {
    gap: 8px;
  }
}

/* 본문 강조. 색을 바꾸지 않고 굵기로만 구분한다. */
.feature-block__desc strong,
.section-intro__desc strong {
  font-weight: 700;
}

/* ===== 제품 상세 · 레이아웃 쇼케이스 (Figma WEB / COMMON-02) ===== */
.layout-showcase {
  margin: 0 0 62px;
}

.layout-showcase__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
}

.layout-showcase__item {
  margin: 0;
}

/* 시안 샘플은 이미지 안에 사각 외곽선이 그려져 있다.
   여기에 border-radius를 주면 그 외곽선의 모서리가 잘린다. */
.layout-showcase__item img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .layout-showcase {
    margin-bottom: 44px;
  }

  /* 2열을 유지하면 영수증 출력물의 글자가 판독 불가해진다.
     좁은 화면에서는 1열로 쌓는다. */
  .layout-showcase__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 0 16px;
  }


}

/* 브랜드 협업 사례 */
.layout-showcase__cases {
  display: grid;
  gap: 20px;
  max-width: 860px;
  margin: 20px auto 0;
  padding: 0 20px;
}

.layout-showcase__cases figure {
  margin: 0;
}

.layout-showcase__cases img {
  display: block;
  width: 100%;
  height: auto;
}

.layout-showcase__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

@media (max-width: 768px) {
  .layout-showcase__cases {
    gap: 14px;
    margin-top: 14px;
    padding: 0 16px;
  }

  .layout-showcase__pair {
    gap: 14px;
  }
}

/* ===== 제품 상세 · 마무리 섹션 (Figma WEB / COMMON-END) ===== */
.product-closing {
  margin: 62px 0 0;
  color: #241f1f;
  text-align: center;
}

.product-closing__hero {
  margin: 0 auto;
  max-width: 1000px;
}

.product-closing__hero img,
.product-closing__sns img {
  display: block;
  width: 100%;
  height: auto;
}

.product-closing__head {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
  word-break: keep-all;
}

.product-closing__brand {
  margin: 0;
  font-weight: 900;
  font-size: 48px;
  line-height: 1.34;
  letter-spacing: -0.04em;
}

.product-closing__title {
  margin: 6px 0 0;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.product-closing__lead {
  margin: 16px 0 0;
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: -0.04em;
}

.product-closing__sns {
  max-width: 900px;
  margin: 46px auto 0;
  padding: 0 20px;
}




.product-closing__trademark {
  margin: 52px 0 0;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3;
  letter-spacing: -0.04em;
  word-break: keep-all;
}

@media (max-width: 768px) {
  .product-closing {
    margin-top: 44px;
  }

  .product-closing__head {
    padding: 0 16px;
  }

  .product-closing__brand {
    font-size: 28px;
  }

  .product-closing__title {
    font-size: 19px;
  }

  .product-closing__lead {
    margin-top: 12px;
    font-size: 16px;
  }

  .product-closing__sns {
    margin-top: 32px;
    padding: 0 16px;
  }



  .product-closing__trademark {
    margin-top: 36px;
    font-size: 19px;
  }
}

/* ===== 제품 상세 · 촬영 모드 예시 (Figma WEB / PRO 고유) ===== */
.pro-modes {
  margin: 0 0 62px;
}

.pro-modes__item {
  margin: 0 0 46px;
}

.pro-modes__title,
.pro-modes__caption {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
  color: #241f1f;
  text-align: center;
  word-break: keep-all;
}

.pro-modes__title {
  font-weight: 700;
  font-size: 36px;
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.pro-modes__caption {
  margin-top: 4px;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: -0.06em;
}

.pro-modes__figure {
  margin: 24px 0 0;
}

.pro-modes__figure img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== 제품 상세 · 사양 ===== */
.product-spec {
  margin: 0 0 62px;
  color: #241f1f;
}

.product-spec__head {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
  word-break: keep-all;
}

.product-spec__eyebrow {
  margin: 0;
  font-size: 40px;
  line-height: 1.6;
  letter-spacing: -0.04em;
}

.product-spec__title {
  margin: 0;
  font-weight: 900;
  font-size: 50px;
  line-height: 1.28;
  letter-spacing: -0.04em;
}

.product-spec__lead {
  margin: 24px 0 0;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.43;
  letter-spacing: -0.04em;
}

.product-spec__diagram {
  margin: 32px 0 0;
}

.product-spec__diagram img {
  display: block;
  width: 100%;
  height: auto;
}

/* 라벨 열은 가장 긴 라벨에 맞춰 한 번에 정해진다. 행마다 grid를 걸면
   로케일이 바뀔 때 'Configuration' 같은 긴 라벨이 글자 단위로 쪼개진다. */
.product-spec__table {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 24px;
  max-width: 760px;
  margin: 32px auto 0;
  padding: 0 20px;
}

.product-spec__row {
  display: contents;
}

.product-spec__row dt {
  margin: 0;
  padding: 6px 0;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.43;
  letter-spacing: -0.04em;
}

.product-spec__row dd {
  margin: 0;
  padding: 6px 0;
  color: #676767;
  font-size: 28px;
  line-height: 1.43;
  letter-spacing: -0.04em;
  word-break: keep-all;
}

@media (max-width: 768px) {
  .pro-modes,
  .product-spec {
    margin-bottom: 44px;
  }

  .pro-modes__item {
    margin-bottom: 32px;
  }

  .pro-modes__title,
  .pro-modes__caption,
  .product-spec__head,
  .product-spec__table {
    padding-left: 16px;
    padding-right: 16px;
  }

  .pro-modes__title {
    font-size: 22px;
  }

  .pro-modes__caption {
    font-size: 15px;
  }

  .pro-modes__figure {
    margin-top: 16px;
  }

  .product-spec__eyebrow {
    font-size: 20px;
  }

  .product-spec__title {
    font-size: 28px;
  }

  .product-spec__lead {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.6;
  }

  /* 시안의 강제 줄바꿈은 좁은 화면에서 어색하게 끊긴다 */
  .product-spec__lead br {
    display: none;
  }

  .product-spec__table {
    column-gap: 14px;
  }

  .product-spec__row dt,
  .product-spec__row dd {
    font-size: 16px;
    line-height: 1.6;
  }
}

/* ===== 제품 상세 · 히어로 ===== */
.product-hero {
  position: relative;
  margin: 0 0 62px;
}

.product-hero img {
  display: block;
  width: 100%;
  height: auto;
}

.product-hero__heading {
  position: absolute;
  right: 6.4%;
  bottom: 3%;
  margin: 0;
}

.product-hero.--left .product-hero__heading {
  right: auto;
  left: 6%;
}

.product-hero__heading {
  color: #fff;
  font-weight: 700;
  font-size: clamp(28px, 7.2vw, 72px);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

/* ===== 제품 상세 · 4종 촬영 모드 기본 탑재 ===== */
.builtin-modes {
  margin: 0 0 62px;
}

.builtin-modes__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  max-width: 1000px;
  margin: 32px auto 0;
  padding: 0 20px;
  list-style: none;
}

.builtin-modes__item {
  margin: 0;
  text-align: center;
}

.builtin-modes__item img {
  display: block;
  width: 100%;
  height: auto;
}

.builtin-modes__item b {
  display: block;
  margin-top: 12px;
  color: #241f1f;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.04em;
}

/* ===== 제품 상세 · 시스템 사양·가격표 ===== */
.system-table {
  margin: 0 0 62px;
}

.system-table__head {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  color: #241f1f;
  text-align: center;
  word-break: keep-all;
}

.system-table__title {
  margin: 0;
  font-weight: 900;
  font-size: 48px;
  line-height: 1.33;
  letter-spacing: -0.04em;
}

.system-table__subtitle {
  margin: 12px 0 0;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.43;
  letter-spacing: -0.04em;
}

.system-table__scroll {
  margin-top: 32px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.system-table__table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  color: #241f1f;
  text-align: center;
}

.system-table__table thead th {
  padding: 34px 20px;
  background: #46312c;
  color: #fff;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.04em;
}

.system-table__table tbody th {
  width: 192px;
  padding: 20px 12px;
  background: #fdf3e6;
  color: #46312c;
  font-weight: 700;
  font-size: 19px;
  line-height: 1.3;
  letter-spacing: -0.04em;
  word-break: keep-all;
}

.system-table__table tbody td {
  padding: 20px 16px;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.04em;
  word-break: keep-all;
}

.system-table__table tbody tr {
  border-bottom: 1px solid #e6ded2;
}

.system-table__row.--muted th,
.system-table__row.--muted td {
  background: #ededed;
}

.system-table__row.--muted th {
  color: #46312c;
}

.system-table__row.--muted td {
  font-weight: 700;
  font-size: 19px;
}

.system-table__list-price {
  display: block;
  color: rgba(36, 31, 31, 0.4);
  font-size: 14px;
  letter-spacing: -0.04em;
}

.system-table__price {
  display: block;
  margin-top: 2px;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -0.04em;
}

/* ===== 제품 상세 · 오브제 사용 현장 ===== */
.objet-gallery {
  margin: 0 0 62px;
}

.objet-gallery__figure {
  margin: 32px 0 0;
}

.objet-gallery__figure img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== 제품 상세 · 원목 전용 스탠드 ===== */
.wood-stand {
  margin: 0 0 62px;
}

.wood-stand__figure {
  max-width: 1000px;
  margin: 32px auto 0;
  padding: 0 20px;
}

.wood-stand__figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
}

/* ===== 제품 상세 · 원목 색상 ===== */
.product-colors {
  margin: 0 0 62px;
}

.product-colors__list {
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.product-colors__item + .product-colors__item {
  margin-top: 28px;
}

.product-colors__item img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .product-hero,
  .builtin-modes,
  .system-table,
  .objet-gallery,
  .wood-stand,
  .product-colors {
    margin-bottom: 44px;
  }

  .builtin-modes__list,
  .wood-stand__figure {
    padding-left: 16px;
    padding-right: 16px;
  }

  .builtin-modes__list {
    gap: 8px;
    margin-top: 20px;
  }

  .builtin-modes__item b {
    margin-top: 8px;
    font-size: 14px;
  }

  .system-table__head {
    padding-left: 16px;
    padding-right: 16px;
  }

  .system-table__title {
    font-size: 28px;
  }

  .system-table__subtitle {
    margin-top: 8px;
    font-size: 16px;
  }

  .system-table__scroll,
  .objet-gallery__figure,
  .wood-stand__figure,
  .product-colors__list {
    margin-top: 20px;
  }

  .system-table__table thead th {
    padding: 22px 16px;
    font-size: 18px;
  }

  /* 좁은 화면에서는 가로 스크롤 대신 값이 줄바꿈되도록 둔다 */
  .system-table__table {
    min-width: 0;
  }

  .system-table__table tbody th {
    width: 92px;
    padding: 16px 8px;
    font-size: 14px;
  }

  .system-table__table tbody td {
    padding: 16px 12px;
    font-size: 13px;
    line-height: 20px;
  }

  .system-table__row.--muted td {
    font-size: 14px;
  }

  .system-table__price {
    font-size: 18px;
  }

  .product-colors__item + .product-colors__item {
    margin-top: 18px;
  }
}

/* ===== 제품 상세 · 페이지 래퍼 / 단독 이미지 ===== */
/* 폭 제한은 래퍼가 아니라 자식 섹션이 건다(세로 리듬 블록 참고).
   히어로만 화면 전체를 쓰기 때문이다. */
.product-renewal {
  background: #fff;
}

.product-figure {
  margin: 0 0 62px;
}

.product-figure img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .product-figure {
    margin-bottom: 44px;
  }
}

/* 하이브리드 추가 옵션 — 값 칸이 좌우 두 칸으로 갈린다 */
.system-table__row td + td {
  border-left: 1px solid #e6ded2;
}

.system-table__price-note {
  display: block;
  margin-top: 2px;
  color: #d0021b;
  font-style: normal;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: -0.04em;
}

/* MINI — 출력 예시 2열 / 비율 예시 */
.mini-ratio__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 820px;
  margin: 32px auto 0;
  padding: 0 20px;
  list-style: none;
}

.mini-ratio__grid img,
.mini-ratio__wide img {
  display: block;
  width: 100%;
  height: auto;
}

.mini-ratio__wide {
  max-width: 860px;
  margin: 24px auto 0;
  padding: 0 20px;
}

@media (max-width: 768px) {
  .mini-ratio__grid,
  .mini-ratio__wide {
    padding-left: 16px;
    padding-right: 16px;
  }

  .mini-ratio__grid {
    gap: 12px;
    margin-top: 20px;
  }
}

/* ===== 제품 상세 · 폭과 세로 리듬 ===== */
/* 시안(Figma WEB) 기준폭이 1000px이라 본문은 그 이상 늘리지 않는다.
   더 넓히면 이미지가 원본 해상도를 넘어 흐려진다.
   폭·간격을 섹션마다 따로 주면 새 섹션을 넣을 때 빠뜨리기 쉬워서
   래퍼가 자식을 한 번에 잡는다. */
.product-renewal > * {
  max-width: 1000px;
  margin: 0 auto 110px;
}

.product-renewal > *:last-child {
  margin-bottom: 0;
}

/* 히어로만 화면 전체를 쓴다 */
.product-renewal > .product-hero {
  max-width: none;
  margin-bottom: 74px;
}

/* 제품 콘텐츠와 하단 Contact us를 선으로 나눈다 */
.product-renewal > *:last-child {
  padding-bottom: 100px;
  border-bottom: 1px solid #e0d8cc;
}

@media (max-width: 768px) {
  .product-renewal > * {
    margin-bottom: 64px;
  }

  .product-renewal > .product-hero {
    margin-bottom: 40px;
  }

  .product-renewal > *:last-child {
    padding-bottom: 60px;
  }
}

/* ===== 제품 상세 · 줄바꿈 ===== */
/* 시안의 줄바꿈 위치는 한국어 길이에 맞춰 잡은 것이다. 영문처럼 같은 내용이
   길어지는 언어는 강제 줄바꿈을 쓰지 않고 흐르게 둔다(productCopy lineBreaks).
   그때 마지막 줄에 한 단어만 남는 것을 pretty 가 막는다.
   balance 는 쓰지 않는다. 줄 길이를 고르게 맞추느라 'The new companion /
   app, RECEIPT CAMERA+' 처럼 구 한가운데를 끊어 버린다.
   제품명이 'RECEIPT / CAMERA' 로 갈리는 것만은 CSS로 못 막아
   typography() 가 줄바꿈 없는 공백으로 묶는다. */
.section-intro__title,
.section-intro__subtitle,
.section-intro__desc,
.product-spec__eyebrow,
.product-spec__title,
.product-spec__lead,
.product-spec__row dd,
.pro-modes__title,
.pro-modes__caption,
.system-table__title,
.system-table__subtitle,
.system-table__table tbody td,
.product-closing__brand,
.product-closing__title,
.product-closing__lead,
.product-closing__trademark,
.feature-block__title,
.feature-block__desc {
  text-wrap: pretty;
}
