/* 자사몰과 공유하는 Worldframe 브랜드: 흰 바탕, 블루, 검정 버튼. */
.wf-showcase-page { background:#fff; color:#171717; display:block; min-height:100vh; }
.wf-store-container { width:calc(100% - 80px); max-width:1280px; margin-left:auto; margin-right:auto; }
.wf-store-header { position:sticky; top:0; z-index:40; background:#fff; border-bottom:1px solid #ededed; }
.wf-store-header-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; max-width:1440px; min-height:96px; padding:20px 40px; margin:auto; }
.wf-store-header .wf-logo { flex-shrink:0; gap:12px; }
.wf-store-header .wf-logo img { width:172px; height:auto; }
.wf-logo-tag { font-family:"Pretendard Variable",Pretendard,sans-serif; }
.wf-store-nav,.wf-store-account { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }
.wf-store-nav { margin-left:auto; margin-right:auto; }
.wf-store-account { gap:22px; font-size:13px; }
.wf-store-nav a,.wf-store-account a { padding:8px 0; white-space:nowrap; }
.wf-store-nav a:hover,.wf-store-account a:hover,a[aria-current="page"] { color:#005dff; }
.wf-store-nav span { font-size:12px; margin-left:3px; }
.wf-brand-hero { background:radial-gradient(ellipse 55% 70% at 72% 40%,rgba(255,255,255,.45),transparent 70%),linear-gradient(105deg,#eef4ff 0%,#c9dcff 38%,#8fb4ff 72%,#5b86f5 100%); }
.wf-brand-hero-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; max-width:1360px; height:540px; margin:auto; padding:0 48px; gap:40px; }
.wf-brand-copy h1 { margin:0; font-size:clamp(34px,3.2vw,46px); line-height:1.35; font-weight:800; letter-spacing:-1.6px; color:#000; }
.wf-brand-copy p { margin:24px 0 0; font-size:17px; line-height:1.8; color:#202020; }
.wf-hero-actions { display:flex; align-items:center; gap:24px; margin-top:32px; }
.wf-pill { display:inline-flex; justify-content:center; align-items:center; min-height:56px; padding:0 30px; background:#000; color:#fff; border-radius:999px; font-weight:700; font-size:15px; }
.wf-pill:hover { background:#242424; color:#fff; }
.wf-hero-secondary { font-size:14px; font-weight:600; }
.wf-hero-secondary span { margin-left:12px; }
.wf-hero-art { position:relative; height:100%; display:grid; place-items:center; }
.wf-frame-scene { position:relative; z-index:1; height:74%; aspect-ratio:712/760; perspective:1500px; }
.wf-frame-block { position:relative; width:100%; height:100%; transform-style:preserve-3d; transform:rotateY(-22deg) rotateX(4deg) rotateZ(-1deg); }
.wf-frame-block img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:3px; box-shadow:0 30px 50px -24px rgba(20,50,110,.45); }
.wf-frame-side { position:absolute; top:0; left:100%; width:32px; height:100%; transform-origin:left center; transform:rotateY(90deg); background:linear-gradient(90deg,#9cc7cf,#e2f1f3 28%,#86b3bc 70%,#5f8f9a); box-shadow:inset 0 0 0 1px rgba(255,255,255,.6); }
.wf-frame-top { position:absolute; left:0; bottom:100%; width:100%; height:32px; transform-origin:center bottom; transform:rotateX(90deg); background:linear-gradient(#eaf5f7,#a9cdd4); }
.wf-frame-gloss { position:absolute; inset:0; border-radius:3px; background:linear-gradient(118deg,transparent 30%,rgba(255,255,255,.32) 42%,transparent 54%); }
.wf-frame-shadow { position:absolute; left:50%; bottom:6%; width:62%; height:7%; transform:translateX(-50%); background:radial-gradient(closest-side,rgba(28,62,128,.28),rgba(28,62,128,.12) 60%,transparent); filter:blur(6px); }
.wf-login-section { display:grid; grid-template-columns:1fr 2fr; align-items:center; gap:40px; padding:42px 0; border-bottom:1px solid #e9e9e9; scroll-margin-top:110px; }
.wf-login-heading h2 { font-size:23px; font-weight:800; margin:0 0 10px; }
.wf-login-heading p { margin:0 0 12px; color:#666; font-size:13px; line-height:1.7; }
.wf-text-link { display:inline-flex; align-items:center; gap:16px; font-size:13px; font-weight:650; }
.wf-text-link:hover { color:#005dff; }
.wf-login-form-area { min-width:0; }
#loginForm { display:grid; grid-template-columns:1fr 1fr 110px; align-items:end; gap:16px; }
#loginForm .wf-field { margin:0; }
#loginForm .wf-btn { height:50px; border-radius:6px; }
.wf-showcase-page .wf-input,.wf-showcase-page .wf-textarea { background:#fff; border:1px solid #d9d9d9; border-radius:5px; box-shadow:none; font-size:14px; }
.wf-showcase-page .wf-input { height:50px; }
.wf-showcase-page .wf-input:focus,.wf-showcase-page .wf-textarea:focus { border-color:#005dff; box-shadow:0 0 0 2px rgba(0,93,255,.1); }
.wf-showcase-page .wf-field-label { color:#171717; font-size:13px; font-weight:650; margin-bottom:8px; }
.wf-password-wrap { display:block; position:relative; }
.wf-password-wrap .wf-input { padding-right:62px; width:100%; }
.wf-password-toggle { position:absolute; right:6px; top:6px; height:38px; padding:0 10px; font-size:12px; color:#666; border-radius:4px; }
.wf-password-toggle:hover { background:#f1f5ff; color:#005dff; }
.wf-showcase-page .wf-btn-primary { background:#005dff; box-shadow:none; border-radius:6px; }
.wf-showcase-page .wf-btn-primary:hover { background:#0049cc; }
.wf-showcase-page .wf-notice { margin:14px 0 0; border-radius:5px; }
.wf-home-products { padding-top:76px; padding-bottom:80px; }
.wf-store-section-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:28px; }
.wf-store-section-head h2 { margin:0; font-size:28px; font-weight:800; line-height:1.4; }
.wf-store-section-head p { margin:8px 0 0; font-size:14px; color:#777; line-height:1.65; }
.wf-home-product-grid,.wf-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.wf-thumb { aspect-ratio:1; overflow:hidden; background:#f4f4f4; border-radius:4px; }
.wf-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.wf-home-product:hover .wf-thumb img { transform:scale(1.025); }
.wf-home-product h3 { margin:20px 0 5px; font-size:18px; font-weight:700; }
.wf-home-product p { margin:0; font-size:13px; color:#777; }
.wf-home-guide { display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#eef4ff; margin-bottom:88px; border-radius:8px; overflow:hidden; }
.wf-home-guide>div { padding:48px 60px; }
.wf-home-guide h2 { margin:0; font-size:32px; line-height:1.35; font-weight:800; }
.wf-home-guide p { font-size:14px; color:#555; line-height:1.8; margin:20px 0 24px; }
.wf-home-guide img { width:100%; height:350px; object-fit:contain; background:#e4e5df; }
.wf-showcase-page .wf-footer { margin-left:0; background:#f8f8f8; border-top:1px solid #eee; padding:38px 40px; }
.wf-showcase-page .wf-footer-inner { max-width:1280px; padding:0; align-items:flex-start; gap:40px; }
.wf-footer-brand { display:block; margin-bottom:12px; color:#171717; font-weight:750; font-size:20px; letter-spacing:-.7px; }
.wf-showcase-page .wf-footer p { color:#888; font-size:11px; line-height:1.9; margin:0; }
.wf-showcase-page .wf-footer-right { max-width:720px; }
.wf-apply-main { display:grid; grid-template-columns:.9fr 1fr; gap:120px; padding-top:70px; padding-bottom:90px; max-width:1080px; }
.wf-apply-intro h2 { font-size:38px; font-weight:800; line-height:1.35; margin:0 0 20px; }
.wf-apply-intro p { margin:0 0 30px; color:#666; font-size:14px; line-height:1.85; }
.wf-apply-intro img { width:100%; height:auto; max-width:360px; display:block; border-radius:4px; margin-bottom:22px; }
.wf-apply-form-area h1 { margin:0 0 12px; font-size:28px; font-weight:800; }
.wf-form-desc { margin:0 0 32px; color:#777; font-size:14px; line-height:1.75; }
.wf-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.wf-required { margin-left:4px; font-size:10px; color:#005dff; font-weight:500; }
.wf-showcase-page .wf-auth-foot { font-size:13px; margin-top:22px; }
.wf-showcase-page .wf-auth-foot a { color:#171717; text-decoration:underline; text-underline-offset:4px; margin-left:8px; }
.wf-catalog-intro { background:#eef4ff; padding:45px 0 30px; }
.wf-catalog-intro h1 { font-size:36px; margin:0 0 10px; font-weight:800; }
.wf-catalog-intro p { margin:0; color:#555; font-size:15px; }
.wf-category-nav { display:flex; gap:12px; margin-top:30px; }
.wf-category-nav a { padding:9px 22px; font-size:13px; font-weight:600; border:1px solid #d6dfef; border-radius:999px; background:#fff; }
.wf-category-nav a:hover { border-color:#005dff; color:#005dff; }
.wf-catalog { padding-top:54px; padding-bottom:72px; }
.wf-catalog-product { min-width:0; scroll-margin-top:116px; }
.wf-catalog-product h3 { font-size:20px; font-weight:750; margin:22px 0 8px; }
.wf-catalog-product-desc { margin:0; color:#777; font-size:13px; line-height:1.7; min-height:44px; }
.wf-catalog-price { display:flex; align-items:baseline; gap:8px; margin:18px 0 6px; }
.wf-catalog-price strong { font-size:23px; font-weight:800; }
.wf-catalog-price span { font-size:12px; color:#777; }
.wf-catalog-spec { font-size:12px; color:#666; margin:0 0 22px; }
.wf-price-details { border-top:1px solid #e9e9e9; border-bottom:1px solid #e9e9e9; margin-bottom:20px; }
.wf-price-details summary { cursor:pointer; font-size:13px; font-weight:600; list-style:none; display:flex; justify-content:space-between; padding:15px 0; }
.wf-price-details summary::-webkit-details-marker { display:none; }
.wf-price-details summary span { font-size:18px; font-weight:400; }
.wf-price-details[open] summary span { transform:rotate(45deg); }
.wf-price-table-wrap { max-height:390px; overflow:auto; margin-bottom:14px; }
.wf-price-table { width:100%; font-size:12px; border-collapse:collapse; }
.wf-price-table caption { text-align:left; color:#888; font-size:11px; padding-bottom:10px; }
.wf-price-table th,.wf-price-table td { text-align:left; padding:9px 10px; border-bottom:1px solid #efefef; }
.wf-price-table thead th { background:#f7f7f7; font-weight:650; }
.wf-price-table tbody th { font-weight:500; }
.wf-price-table td { text-align:right; font-variant-numeric:tabular-nums; }
.wf-product-detail { padding:56px 0 72px; border-top:1px solid #e9e9e9; }
.wf-real-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.wf-real-detail-grid figure { margin:0; }
.wf-real-detail-grid img { display:block; width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; border-radius:4px; }
.wf-real-detail-grid figcaption { margin-top:14px; font-size:14px; font-weight:600; }
.wf-order-guide { padding:56px 0 72px; border-top:1px solid #e9e9e9; scroll-margin-top:100px; }
.wf-order-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin:0; }
.wf-order-steps li { border-top:2px solid #171717; padding:23px 0; }
.wf-order-steps li>span { font-size:13px; color:#005dff; font-weight:700; }
.wf-order-steps h3 { font-size:19px; margin:16px 0 10px; }
.wf-order-steps p { color:#777; font-size:14px; line-height:1.75; margin:0; }
.wf-catalog-note { font-size:12px; color:#888; margin:24px 0 0; }
.wf-showcase-page a:focus-visible,.wf-showcase-page button:focus-visible,.wf-showcase-page summary:focus-visible { outline:3px solid rgba(0,93,255,.45); outline-offset:4px; }
@media(max-width:1100px) {
  .wf-store-header-inner { gap:20px; padding:20px 28px; }
  .wf-store-nav { gap:20px; }
  .wf-store-account { gap:16px; }
  .wf-store-header .wf-logo img { width:150px; }
  .wf-brand-hero-inner { height:490px; padding:0 40px; gap:24px; }
  .wf-brand-copy h1 { font-size:36px; }
  .wf-brand-copy p { font-size:15px; }
  .wf-frame-scene { height:66%; }
  .wf-login-section { grid-template-columns:.8fr 2fr; gap:24px; }
  #loginForm { grid-template-columns:1fr 1fr; gap:12px; }
  #loginForm .wf-btn { grid-column:1/-1; }
  .wf-home-guide>div { padding:40px; }
  .wf-apply-main { gap:70px; }
}
@media(max-width:760px) {
  .wf-store-container { width:calc(100% - 36px); }
  .wf-store-header-inner { min-height:70px; padding:18px; gap:12px; flex-wrap:wrap; }
  .wf-store-header .wf-logo img { width:136px; }
  .wf-store-header .wf-logo-tag { font-size:9px; margin-left:0; padding:3px 7px; }
  .wf-store-nav { order:3; width:100%; margin:2px 0 -8px; padding-top:8px; border-top:1px solid #f2f2f2; justify-content:center; gap:28px; font-size:12px; }
  .wf-store-account { margin-left:auto; gap:16px; font-size:11px; }
  .wf-brand-hero-inner { display:flex; flex-direction:column-reverse; height:auto; padding:12px 24px 32px; gap:0; }
  .wf-hero-art { height:240px; width:100%; }
  .wf-frame-scene { height:82%; }
  .wf-frame-side { width:16px; }
  .wf-frame-top { height:16px; }
  .wf-frame-shadow { width:54%; bottom:1%; }
  .wf-brand-copy { width:100%; }
  .wf-brand-copy h1 { font-size:30px; line-height:1.3; letter-spacing:-1px; }
  .wf-brand-copy p { font-size:13px; line-height:1.65; margin-top:16px; }
  .wf-hero-actions { margin-top:22px; gap:24px; }
  .wf-pill { min-height:46px; font-size:13px; padding:0 24px; }
  .wf-hero-secondary { font-size:12px; }
  .wf-login-section { grid-template-columns:1fr; padding:32px 0; gap:22px; scroll-margin-top:130px; }
  .wf-login-heading h2 { font-size:22px; }
  .wf-login-heading p { font-size:12px; }
  #loginForm { grid-template-columns:1fr; }
  #loginForm .wf-btn { margin-top:2px; }
  .wf-showcase-page .wf-input { height:48px; font-size:16px; }
  .wf-showcase-page .wf-textarea { font-size:16px; }
  .wf-home-products { padding-top:42px; padding-bottom:44px; }
  .wf-store-section-head { align-items:flex-start; margin-bottom:22px; gap:12px; }
  .wf-store-section-head h2 { font-size:23px; }
  .wf-store-section-head p { font-size:12px; margin-top:6px; }
  .wf-store-section-head>.wf-text-link { flex-shrink:0; margin-top:9px; font-size:12px; gap:8px; }
  .wf-home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
  .wf-home-product h3 { font-size:15px; margin-top:14px; }
  .wf-home-product p { font-size:11px; line-height:1.65; }
  .wf-home-guide { grid-template-columns:1fr; margin-bottom:48px; }
  .wf-home-guide>div { padding:28px; }
  .wf-home-guide h2 { font-size:26px; }
  .wf-home-guide p { font-size:12px; }
  .wf-home-guide img { height:250px; }
  .wf-showcase-page .wf-footer { padding:30px 18px; }
  .wf-showcase-page .wf-footer-inner { flex-direction:column; gap:20px; }
  .wf-showcase-page .wf-footer-right { text-align:left; }
  .wf-apply-main { grid-template-columns:1fr; gap:32px; padding-top:32px; padding-bottom:48px; }
  .wf-apply-intro { border-bottom:1px solid #e9e9e9; padding-bottom:24px; }
  .wf-apply-intro h2 { font-size:28px; margin-bottom:14px; }
  .wf-apply-intro p { margin-bottom:16px; font-size:13px; }
  .wf-apply-intro img { display:none; }
  .wf-apply-form-area h1 { font-size:25px; }
  .wf-form-desc { font-size:13px; margin-bottom:26px; }
  .wf-form-row { grid-template-columns:1fr; gap:0; }
  .wf-catalog-intro { padding:30px 0 24px; }
  .wf-catalog-intro h1 { font-size:28px; }
  .wf-catalog-intro p { font-size:13px; }
  .wf-category-nav { margin-top:22px; gap:8px; }
  .wf-category-nav a { padding:8px 20px; font-size:12px; }
  .wf-catalog { padding-top:32px; padding-bottom:36px; }
  .wf-catalog>.wf-store-section-head { display:block; }
  .wf-catalog-grid { grid-template-columns:1fr; gap:44px; }
  .wf-catalog-product { scroll-margin-top:130px; }
  .wf-catalog-product h3 { font-size:20px; margin-top:18px; }
  .wf-catalog-product-desc { min-height:0; }
  .wf-product-detail { padding:32px 0 40px; }
  .wf-real-detail-grid { gap:14px; }
  .wf-real-detail-grid img { aspect-ratio:1; }
  .wf-real-detail-grid figcaption { margin-top:10px; font-size:12px; }
  .wf-order-guide { padding:32px 0 40px; scroll-margin-top:130px; }
  .wf-order-guide>.wf-store-section-head { display:block; }
  .wf-order-steps { grid-template-columns:1fr; gap:0; }
  .wf-order-steps li { padding:20px 0; border-top:1px solid #d9d9d9; }
  .wf-order-steps h3 { font-size:17px; margin:8px 0; }
  .wf-order-steps p { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .wf-thumb img { transition:none; } }
