
:root{
  --ink:#141414;
  --muted:#6f7378;
  --line:#e5e7eb;
  --soft:#f5f6f7;
  --panel:#f1f3f5;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,"Pretendard","Noto Sans KR","Apple SD Gothic Neo",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:19px;font-weight:800;letter-spacing:.05em}
.logo span{font-weight:500;color:#8a8f95}
.nav{display:flex;gap:30px;font-size:14px;color:#363a3f}
.hero{padding:92px 0 84px;background:linear-gradient(180deg,#fafafa 0%,#fff 100%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:72px;align-items:center}
.kicker{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.16em;color:#7a7f85}
h1{margin:0;font-size:58px;line-height:1.08;letter-spacing:-.045em}
.lead{max-width:700px;margin:24px 0 30px;color:var(--muted);font-size:18px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:6px;font-size:14px;font-weight:700;border:1px solid #1f2328}
.btn-dark{background:#1f2328;color:white}
.btn-light{background:white;color:#1f2328}
.trust-list{display:flex;gap:22px;flex-wrap:wrap;list-style:none;padding:0;margin:28px 0 0;color:#666;font-size:13px}
.trust-list li::before{content:"✓";margin-right:7px;color:#111;font-weight:700}
.info-panel{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:30px}
.badge{display:inline-block;background:#1f2328;color:white;padding:5px 8px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.08em}
.info-panel h2{font-size:26px;line-height:1.3;margin:20px 0 10px}
.info-panel p{margin:0;color:var(--muted)}
.divider{height:1px;background:var(--line);margin:24px 0}
dl{margin:0}
dl div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}
dt{color:#777;font-size:13px}
dd{margin:0;font-weight:700;font-size:13px}
.section{padding:88px 0}
.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.section h2{font-size:38px;letter-spacing:-.035em;line-height:1.2;margin:0}
.section-desc{margin:0;color:#92979c;font-size:13px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}
.image-placeholder{aspect-ratio:1/1;background:var(--panel);display:flex;align-items:center;justify-content:center;color:#9ba0a5;font-size:12px}
.product-content{padding:18px}
.category{font-size:11px;font-weight:800;color:#777}
.product-content h3{font-size:18px;margin:8px 0 6px}
.product-content p{font-size:13px;color:var(--muted);margin:0 0 18px;min-height:42px}
.price{display:block;border-top:1px solid var(--line);padding-top:13px;font-size:12px;font-weight:800}
.about{background:var(--soft)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.about-text p{margin:0 0 18px;color:#555b61;font-size:16px}
.guide h2{margin-bottom:28px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{border-top:2px solid #202326;padding:20px 0 0}
.step span{font-size:12px;font-weight:800;color:#969ba0}
.step h3{font-size:18px;margin:12px 0 6px}
.step p{margin:0;color:var(--muted);font-size:14px}
.contact{padding-top:32px}
.contact-box{border:1px solid var(--line);border-radius:12px;padding:38px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.contact-box p{color:var(--muted)}
.contact-actions{text-align:right}
.contact-actions p{font-size:11px;margin:10px 0 0;color:#9b9fa4}
footer{border-top:1px solid var(--line);padding:28px 0}
.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8a8f94}
.footer-inner strong{color:#2a2d30}
@media(max-width:900px){
  .hero-grid,.about-grid,.contact-box{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .contact-actions{text-align:left}
}
@media(max-width:640px){
  .container{width:min(100% - 28px,1180px)}
  .nav{gap:14px;font-size:12px}
  .hero{padding:64px 0}
  h1{font-size:42px}
  .lead{font-size:16px}
  .product-grid,.steps{grid-template-columns:1fr}
  .section{padding:64px 0}
  .section-title-row{align-items:start;flex-direction:column}
  .footer-inner{flex-direction:column}
}


/* Wide B2B information bar */
.info-panel.wide{
  margin-top:44px;
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(260px,1.7fr) minmax(160px,.8fr) minmax(130px,.6fr);
  align-items:center;
  gap:28px;
  padding:24px 28px;
  background:#f5f6f7;
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-shadow:none;
}
.info-panel.wide .badge{
  margin:0;
  justify-self:start;
}
.info-panel.wide h2{
  margin:0;
  font-size:22px;
  line-height:1.35;
}
.info-panel.wide > p{
  margin:0;
  font-size:14px;
  color:#6f7378;
}
.info-panel.wide .divider{
  display:none;
}
.info-panel.wide dl{
  display:contents;
}
.info-panel.wide dl div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:0;
}
.info-panel.wide dt{
  font-size:12px;
  color:#8a8f95;
}
.info-panel.wide dd{
  margin:0;
  font-size:14px;
  font-weight:800;
}

@media(max-width:900px){
  .info-panel.wide{
    grid-template-columns:1fr 1fr;
    gap:18px 24px;
  }
}
@media(max-width:640px){
  .info-panel.wide{
    grid-template-columns:1fr;
    padding:22px;
    margin-top:30px;
  }
}


/* Bottom merged contact + B2B info panel */
.contact{
  padding-top:40px;
  padding-bottom:72px;
}
.contact-merged{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:36px 40px;
  display:grid;
  grid-template-columns:1.45fr 1fr .72fr;
  gap:36px;
  align-items:center;
  background:#fff;
}
.contact-main h2{
  margin:0 0 14px;
  font-size:34px;
  line-height:1.25;
  letter-spacing:-.035em;
}
.contact-main > p{
  margin:0 0 22px;
  color:#6f7378;
}
.contact-main .btn{
  margin-top:2px;
}
.contact-main small{
  display:block;
  margin-top:10px;
  color:#9aa0a6;
  font-size:11px;
}
.contact-price{
  padding-left:32px;
  border-left:1px solid #e5e7eb;
}
.contact-price h3{
  margin:16px 0 8px;
  font-size:22px;
  line-height:1.35;
}
.contact-price p{
  margin:0;
  color:#6f7378;
  font-size:14px;
}
.contact-hours{
  padding-left:32px;
  border-left:1px solid #e5e7eb;
  display:grid;
  gap:18px;
}
.contact-hours div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.contact-hours span{
  color:#8a8f95;
  font-size:12px;
}
.contact-hours strong{
  font-size:15px;
}

@media(max-width:900px){
  .contact-merged{
    grid-template-columns:1fr 1fr;
  }
  .contact-main{
    grid-column:1 / -1;
  }
  .contact-price{
    padding-left:0;
    border-left:0;
  }
}
@media(max-width:640px){
  .contact-merged{
    grid-template-columns:1fr;
    padding:26px 22px;
    gap:26px;
  }
  .contact-main{
    grid-column:auto;
  }
  .contact-main h2{
    font-size:28px;
  }
  .contact-price,
  .contact-hours{
    padding-left:0;
    border-left:0;
    border-top:1px solid #e5e7eb;
    padding-top:22px;
  }
}


/* Clean horizontal contact strip */
.contact{
  padding-top:36px;
  padding-bottom:72px;
}
.contact-strip{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  display:grid;
  grid-template-columns:1.15fr 1fr 1.45fr 1fr .8fr;
  align-items:stretch;
  overflow:hidden;
}
.contact-item{
  min-height:118px;
  padding:24px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  border-right:1px solid #e5e7eb;
}
.contact-item:last-child{
  border-right:0;
}
.contact-label{
  font-size:12px;
  color:#8a8f95;
  letter-spacing:.02em;
}
.contact-item strong{
  font-size:16px;
  line-height:1.45;
}
.contact-item a{
  color:inherit;
  text-decoration:none;
}
.contact-item a:hover{
  text-decoration:underline;
}

@media(max-width:1000px){
  .contact-strip{
    grid-template-columns:repeat(2,1fr);
  }
  .contact-item{
    border-right:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb;
  }
  .contact-item:nth-child(2n){
    border-right:0;
  }
  .contact-item:nth-last-child(-n+2){
    border-bottom:0;
  }
}
@media(max-width:640px){
  .contact-strip{
    grid-template-columns:1fr;
  }
  .contact-item{
    min-height:auto;
    padding:20px 22px;
    border-right:0;
    border-bottom:1px solid #e5e7eb;
  }
  .contact-item:last-child{
    border-bottom:0;
  }
}


/* redesigned information board */
.service-info{
  padding-top:44px;
  padding-bottom:72px;
}
.service-board{
  border-top:1px solid #e5e7eb;
}
.board-top{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
  padding:34px 0 42px;
  border-bottom:1px solid #e5e7eb;
}
.top-card{
  padding:0 36px;
  min-height:280px;
  border-right:1px solid #e5e7eb;
}
.top-card:last-child{
  border-right:0;
}
.top-card h3,
.bottom-card h3{
  margin:0 0 26px;
  font-size:20px;
  line-height:1.35;
}
.big-number{
  margin:0 0 8px;
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  color:#111827;
}
.sub-number{
  margin:0 0 22px;
  color:#6b7280;
  font-weight:600;
}
.info-list{
  list-style:none;
  padding:0;
  margin:0 0 22px;
  display:grid;
  gap:10px;
}
.info-list li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#4b5563;
}
.info-list strong{
  color:#111827;
}
.mini-btn{
  display:inline-block;
  padding:12px 18px;
  background:#4b5563;
  color:#fff;
  text-decoration:none;
  border-radius:4px;
  font-weight:600;
}
.simple-list{
  display:grid;
  gap:14px;
  margin:0;
}
.simple-list div{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:12px;
}
.simple-list dt{
  color:#6b7280;
}
.simple-list dd{
  margin:0;
  color:#111827;
}
.simple-list a{
  color:inherit;
  text-decoration:none;
}
.notice-box{
  margin-top:18px;
  display:inline-block;
  padding:10px 14px;
  background:#f3f4f6;
  color:#111827;
}

.board-bottom{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:0;
  padding:42px 0 0;
}
.bottom-card{
  padding:0 36px;
  min-height:260px;
}
.company-info-card{
  border-right:1px solid #e5e7eb;
}
.company-grid{
  display:grid;
  grid-template-columns:170px 1fr;
  row-gap:14px;
  column-gap:16px;
}
.company-grid span{
  color:#4b5563;
}
.company-grid strong{
  color:#111827;
  font-weight:600;
}
.company-grid a{
  color:inherit;
  text-decoration:none;
}
.notice-card p{
  margin:0 0 14px;
  color:#4b5563;
  line-height:1.7;
}
.policy-links{
  display:flex;
  gap:12px;
  margin:18px 0 18px;
  flex-wrap:wrap;
}
.policy-links a{
  display:inline-block;
  padding:10px 14px;
  border:1px solid #d1d5db;
  color:#374151;
  text-decoration:none;
  border-radius:4px;
  background:#fff;
}
.copyright{
  margin-top:24px;
  color:#6b7280;
  font-size:14px;
}
.site-footer{
  border-top:1px solid #e5e7eb;
  padding:22px 0 30px;
  background:#fafafa;
}
.site-footer .footer-inner{
  display:grid;
  gap:6px;
}
.site-footer p{
  margin:0;
  color:#6b7280;
  font-size:14px;
}
.site-footer strong{
  color:#111827;
}

@media(max-width:960px){
  .board-top{
    grid-template-columns:1fr;
    padding:24px 0 30px;
  }
  .top-card{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid #e5e7eb;
    padding:0 22px 24px;
    margin-bottom:24px;
  }
  .top-card:last-child{
    border-bottom:0;
    margin-bottom:0;
    padding-bottom:0;
  }
  .board-bottom{
    grid-template-columns:1fr;
    padding-top:30px;
  }
  .company-info-card{
    border-right:0;
    border-bottom:1px solid #e5e7eb;
    padding-bottom:26px;
    margin-bottom:26px;
  }
  .bottom-card{
    min-height:auto;
    padding:0 22px;
  }
}
@media(max-width:640px){
  .simple-list div,
  .company-grid{
    grid-template-columns:1fr;
  }
  .info-list li{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* v7 refined B2B visual system */
body{
  background:#fff;
}
.header{
  box-shadow:0 1px 0 rgba(17,24,39,.02);
}
.hero{
  padding-top:104px;
  padding-bottom:94px;
  background:
    radial-gradient(circle at 85% 20%, rgba(17,24,39,.035), transparent 28%),
    linear-gradient(180deg,#fbfbfb 0%,#ffffff 100%);
}
.hero-copy{
  max-width:760px;
}
.hero h1{
  max-width:760px;
}
.actions .btn{
  min-width:142px;
}
.products{
  background:#fff;
}
.product-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-card:hover{
  transform:translateY(-3px);
  border-color:#d7dade;
  box-shadow:0 10px 28px rgba(17,24,39,.06);
}
.product-image{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  background:#f2f3f4;
  border-bottom:1px solid #e5e7eb;
}
.product-content{
  min-height:185px;
  display:flex;
  flex-direction:column;
}
.product-content .price{
  margin-top:auto;
}
.about{
  border-top:1px solid #eceef0;
  border-bottom:1px solid #eceef0;
}
.service-board{
  background:#fff;
}
.service-info{
  background:#fafafa;
}
.site-footer{
  background:#f7f7f8;
}
.footer-policy a{
  color:#6b7280;
  text-decoration:none;
}
.footer-policy a:hover{
  text-decoration:underline;
}

/* legal pages */
.legal-page{
  padding:72px 0 96px;
}
.legal-wrap{
  max-width:900px;
  margin:0 auto;
}
.legal-wrap h1{
  font-size:42px;
  line-height:1.2;
  letter-spacing:-.04em;
  margin:0 0 16px;
}
.legal-updated{
  color:#8a8f95;
  font-size:13px;
  margin-bottom:42px;
}
.legal-section{
  padding:28px 0;
  border-top:1px solid #e5e7eb;
}
.legal-section h2{
  font-size:20px;
  margin:0 0 12px;
}
.legal-section p,
.legal-section li{
  color:#4b5563;
  line-height:1.8;
  font-size:15px;
}
.legal-section ul{
  padding-left:20px;
}
.back-home{
  display:inline-block;
  margin-top:30px;
  font-weight:700;
  text-decoration:none;
  color:#111827;
}


/* v8 contact + compact footer */
.service-board-horizontal{
  padding:0;
  border:1px solid #e5e7eb;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
}

.contact-merged-bar{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1.1fr;
  gap:0;
  align-items:stretch;
}

.contact-block{
  padding:34px 36px;
  border-right:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:180px;
}

.contact-block:last-child{
  border-right:0;
}

.contact-block h3{
  margin:0 0 14px;
  font-size:18px;
  letter-spacing:-0.02em;
  color:#111827;
}

.contact-block p{
  margin:0 0 8px;
  color:#4b5563;
  line-height:1.7;
  font-size:16px;
}

.contact-block a{
  color:#111827;
  text-decoration:none;
  font-weight:600;
}

.contact-phone{
  font-size:36px !important;
  font-weight:800;
  line-height:1.15 !important;
  color:#111827 !important;
  letter-spacing:-0.04em;
  margin-bottom:8px !important;
}

.contact-sub{
  font-weight:600;
  color:#374151 !important;
}

.footer-compact{
  display:grid;
  gap:10px;
}

.footer-compact p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#6b7280;
}

.footer-compact strong{
  color:#111827;
}

.footer-compact a{
  color:inherit;
  text-decoration:none;
}

.footer-compact a:hover{
  text-decoration:underline;
}

.copyright-line{
  color:#8a8f95;
  font-size:14px !important;
}

@media(max-width:1100px){
  .contact-merged-bar{
    grid-template-columns:1fr 1fr;
  }
  .contact-block:nth-child(2){
    border-right:0;
  }
  .contact-block:nth-child(1),
  .contact-block:nth-child(2){
    border-bottom:1px solid #e5e7eb;
  }
}

@media(max-width:700px){
  .contact-merged-bar{
    grid-template-columns:1fr;
  }
  .contact-block{
    border-right:0;
    border-bottom:1px solid #e5e7eb;
    min-height:auto;
    padding:26px 22px;
  }
  .contact-block:last-child{
    border-bottom:0;
  }
  .contact-phone{
    font-size:28px !important;
  }
}


/* ===== v9 Footer ===== */
.site-footer{
  background:#f6f7f8;
  border-top:1px solid #e5e7eb;
  padding:34px 0 38px;
}
.footer-pro{
  display:grid;
  gap:18px;
}
.footer-brand{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
}
.footer-brand strong{
  color:#111827;
  font-size:16px;
  letter-spacing:.04em;
}
.footer-brand span{
  color:#6b7280;
  font-size:14px;
}
.footer-meta{
  display:grid;
  gap:6px;
}
.footer-meta p{
  margin:0;
  color:#6b7280;
  font-size:13px;
  line-height:1.7;
}
.footer-meta a{
  color:inherit;
  text-decoration:none;
}
.footer-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.footer-links a{
  font-size:13px;
  color:#4b5563;
  text-decoration:none;
}
.footer-links a:hover{
  text-decoration:underline;
}
.copyright-line{
  margin:2px 0 0;
  color:#9aa0a6;
  font-size:12px;
}

/* ===== v9 Product Cards ===== */
.product-grid{
  gap:22px;
}
.product-card{
  overflow:hidden;
  border-radius:14px;
  background:#fff;
}
.product-image{
  aspect-ratio:4/3;
  transition:transform .25s ease;
}
.product-card:hover .product-image{
  transform:scale(1.015);
}
.product-content{
  padding:20px 20px 18px;
}
.product-content h3{
  margin-top:10px;
  font-size:19px;
}
.product-card-bottom{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.product-card-bottom .price{
  border:0;
  padding:0;
  font-size:12px;
  font-weight:800;
  color:#111827;
}
.product-link{
  font-size:12px;
  font-weight:700;
  color:#6b7280;
  text-decoration:none;
}
.product-link:hover{
  color:#111827;
}

/* ===== v9 Category Area ===== */
.category-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
}
.category-chips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid #e2e5e8;
  border-radius:999px;
  background:#fff;
  color:#5b6168;
  font-size:12px;
  font-weight:700;
}
.category-banner{
  margin-bottom:28px;
  padding:28px 30px;
  border-radius:16px;
  background:linear-gradient(135deg,#f3f4f5 0%,#fafafa 100%);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:30px;
  border:1px solid #e8eaec;
}
.category-banner h3{
  margin:0;
  font-size:30px;
  line-height:1.25;
  letter-spacing:-.035em;
}
.category-banner > p{
  margin:0;
  max-width:420px;
  color:#747a80;
  font-size:14px;
  line-height:1.7;
}

/* Contact area slight refinement */
.service-board-horizontal{
  box-shadow:0 12px 34px rgba(17,24,39,.035);
}
.contact-block{
  min-height:170px;
}
.contact-block h3{
  font-size:16px;
  color:#6b7280;
  font-weight:700;
}
.contact-block p{
  color:#111827;
}
.contact-block-main h3{
  color:#111827;
  font-size:18px;
}

@media(max-width:900px){
  .category-banner{
    grid-template-columns:1fr;
    align-items:start;
  }
}
@media(max-width:640px){
  .category-banner{
    padding:22px;
  }
  .category-banner h3{
    font-size:25px;
  }
}


/* ===== v10 category photo catalog ===== */
.category-catalog{
  padding-top:82px;
  padding-bottom:92px;
  background:#fff;
}
.category-title-row{
  margin-bottom:36px;
}
.category-photo-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  column-gap:20px;
  row-gap:46px;
}
.category-tile{
  min-width:0;
  color:#1f2937;
  text-decoration:none;
  text-align:center;
}
.category-image-wrap{
  width:100%;
  aspect-ratio:1.25/1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
  margin-bottom:15px;
}
.category-image-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  transition:transform .2s ease;
}
.category-tile span{
  display:block;
  font-size:15px;
  line-height:1.35;
  letter-spacing:-.02em;
  white-space:normal;
}
.category-tile:hover .category-image-wrap img{
  transform:translateY(-3px) scale(1.025);
}
.category-tile:hover span{
  color:#000;
  font-weight:700;
}

@media(max-width:1250px){
  .category-photo-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .category-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:14px;
    row-gap:30px;
  }
  .category-tile span{
    font-size:14px;
  }
}


/* ===== v11 numbered category placeholders ===== */
.category-placeholder{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:18px 14px 16px;
  background:#fff;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.category-placeholder:hover{
  transform:translateY(-2px);
  border-color:#d4d8dc;
  box-shadow:0 8px 22px rgba(17,24,39,.05);
}
.category-number{
  width:64px;
  height:64px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f4f5;
  color:#111827;
  font-size:22px;
  font-weight:800;
  margin-bottom:14px;
}
.category-placeholder span{
  font-size:14px;
  color:#555b61;
  font-weight:700;
}


/* ===== v12 blank image slot + label below ===== */
.category-empty{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:center;
  color:#1f2937;
}
.category-image-empty{
  width:100%;
  aspect-ratio:1.25/1;
  background:#f5f6f7;
  border:1px solid #e4e7ea;
  border-radius:12px;
  margin-bottom:14px;
  overflow:hidden;
}
.category-empty span{
  display:block;
  font-size:15px;
  line-height:1.35;
  color:#374151;
  font-weight:600;
}
