/* 푸른나무가구 정적 사이트 스타일
   [공개 전] 임시 라벨(노란 '임시')을 한 번에 숨기려면 아래 한 줄을 맨 끝에 추가하세요:
   .tmp{display:none!important}
*/
@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/pretendard-400.woff2) format("woff2")}
@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/pretendard-500.woff2) format("woff2")}
@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/fonts/pretendard-700.woff2) format("woff2")}
:root{--blue:#3BACF6;--blue-text:#0B6FB8;--text:#222;--name:#333;--note:#555;--line:#e8e8e8;--tile:#f3f3f3;--maxw:1200px;--hbar:56px;--bbar:56px;
 --hero-h:clamp(420px,calc(100vh - 56px - 56px - 80px),600px)}
@supports (height:100svh){:root{--hero-h:clamp(420px,calc(100svh - 56px - 56px - 80px),600px)}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:Pretendard,"Noto Sans KR","Noto Sans CJK KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-weight:400;font-size:14px;line-height:1.65;color:var(--text);background:#fff;letter-spacing:-.01em;padding-bottom:calc(var(--bbar) + env(safe-area-inset-bottom,0px));word-break:keep-all;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--blue-text);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 14px;z-index:100}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}

/* ----- 임시·확인 필요 표시 ----- */
.tmp{display:inline-block;background:#FFE45C;color:#5a4a00;font-size:13px;font-weight:500;line-height:1.3;padding:1px 7px;border-radius:3px;vertical-align:middle;letter-spacing:0;white-space:nowrap}
.need{background:#FFF1B8;color:#7a3b00;font-weight:500;padding:0 3px;border-radius:2px}

/* ----- 맨윗줄 (흰 바탕, 메뉴 3개: 로고·푸른나무 소개·오시는길) ----- */
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.hbar{max-width:var(--maxw);margin:0 auto;height:var(--hbar);padding:0 8px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.logo{display:flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0}
.logo img{height:36px;width:auto}
.logo span{font-size:17px;font-weight:700;letter-spacing:-.03em;color:#111;white-space:nowrap}
.gnav ul{display:flex;align-items:center}
.gnav a{display:flex;align-items:center;min-height:44px;padding:0 10px;font-size:14px;font-weight:500;color:#222;white-space:nowrap}
.gnav a[aria-current="page"]{color:var(--blue-text)}

/* ----- 큰 사진 자동 슬라이드 ----- */
.hero{position:relative;max-width:var(--maxw);margin:0 auto;overflow:hidden;background:#eee}
.hero-track{display:flex;transition:transform .7s ease}
.hero-slide{flex:0 0 100%;height:var(--hero-h);position:relative}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero .tmp{position:absolute;left:10px;top:10px;z-index:2}
.hero-dots{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;z-index:2}
.hero-dots button{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.hero-dots button i{display:block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1.5px rgba(0,0,0,.5)}
.hero-dots button[aria-current="true"] i{background:#fff;width:22px;border-radius:6px;box-shadow:0 0 0 1.5px rgba(0,0,0,.6)}

/* ----- 그림 카테고리 (큰 사진 바로 밑) ----- */
.cats{max-width:var(--maxw);margin:0 auto;padding:16px 12px 0}
.cats-tmp{display:flex;justify-content:flex-end;margin-bottom:6px;padding-right:4px}
.cat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.cat{text-align:center;min-width:0}
.cat-img{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--tile)}
.cat-img img{width:100%;height:100%;object-fit:cover}
.cat figcaption{margin-top:6px;font-size:13px;line-height:1.35;color:var(--name);letter-spacing:-.04em;min-height:2.7em}

/* ----- 상품 칸 ----- */
.sec{max-width:var(--maxw);margin:0 auto;padding:36px 16px 0}
.sec-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.sec h2,.page h1,.page h2{letter-spacing:-.02em}
.sec h2{font-size:19px;font-weight:700;line-height:1.3}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
.card a{display:block}
.card .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--tile);border-radius:6px}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .nm{margin-top:8px;font-size:13px;font-weight:400;color:var(--name);line-height:1.4}
.card .pr{margin-top:2px;font-size:14px;font-weight:500;color:var(--text);line-height:1.4}
.card.sold .thumb img{filter:grayscale(.45);opacity:.78}
.card.sold .pr{color:#666}

/* ----- 맨 아래: 지도·영업시간·전화 ----- */
.visit-lead{font-size:14px;color:var(--note);margin-bottom:16px}
.visit-grid{display:grid;gap:20px}
.yakdo{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;max-width:360px}
.yakdo img{width:100%}
.info dt{font-size:14px;font-weight:500;color:#111;margin-top:14px}
.info dt:first-child{margin-top:0}
.info dd{font-size:14px;color:var(--note)}
.info a.tel{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid #cfcfcf;border-radius:6px;font-size:14px;font-weight:500;background:#fff;color:#222}
.btn.primary{background:var(--blue-text);border-color:var(--blue-text);color:#fff}
.sms-note{margin-top:14px;font-size:14px;color:var(--note)}

/* ----- 하단 ----- */
.site-footer{margin-top:48px;border-top:1px solid var(--line);padding:22px 16px 28px;font-size:13px;color:var(--note)}
.footer-in{max-width:var(--maxw);margin:0 auto}
.f-links{display:flex;gap:4px 14px;flex-wrap:wrap;margin-bottom:6px}
.f-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--note);text-decoration:underline;text-underline-offset:3px}
.biz{margin-bottom:10px}
.biz summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--note);list-style:none}
.biz summary::-webkit-details-marker{display:none}
.biz summary::after{content:"+";margin-left:6px}
.biz[open] summary::after{content:"−"}
.biz p{font-size:13px;line-height:1.7;color:var(--note)}
.copy{font-size:13px;color:#666}

/* ----- 하단 고정 버튼(휴대폰) ----- */
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.bbar a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:var(--bbar);font-size:14px;font-weight:500;color:#222;border-right:1px solid var(--line)}
.bbar a:last-child{border-right:0}
.bbar svg{width:18px;height:18px;fill:none;stroke:var(--blue-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.bbar .tmp{font-size:13px;padding:0 4px}

/* ----- 안쪽 페이지 공통 ----- */
.page{max-width:820px;margin:0 auto;padding:22px 16px 0}
.crumb{font-size:13px;color:var(--note);margin-bottom:14px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.crumb span[aria-hidden]{margin:0 6px}
.page h1{font-size:23px;font-weight:700;line-height:1.35;margin-bottom:14px}
.page h2{font-size:18px;font-weight:700;line-height:1.35;margin:30px 0 10px}
.page p{font-size:14px;color:var(--note);margin-bottom:8px}
.page p.lead{font-size:15px;color:var(--text)}
.place{color:var(--blue-text);font-weight:500}
.fig{margin:14px 0}
.fig img{width:100%;border-radius:8px;border:1px solid var(--line)}
.fig figcaption{font-size:13px;color:var(--note);margin-top:6px}
.fig.narrow{max-width:420px}
.steps{counter-reset:s;margin:6px 0 4px}
.steps li{position:relative;padding:8px 0 8px 34px;font-size:14px;color:var(--text);border-bottom:1px solid #f0f0f0}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:9px;width:22px;height:22px;border-radius:50%;background:var(--blue-text);color:#fff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center}
.notice{background:#f7fbff;border:1px solid #cfe6f8;border-radius:8px;padding:12px 14px;margin:16px 0;font-size:14px;color:var(--text)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0;font-size:14px}
.facts dt{font-weight:500;color:#111}
.facts dd{color:var(--note)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;min-height:48px;padding:6px 0;font-size:14px;font-weight:500;color:#111;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";color:var(--blue-text);font-weight:700;margin-right:10px}
.faq details[open] summary{color:var(--blue-text)}
.faq .ans{padding:0 0 14px 22px;font-size:14px;color:var(--note)}
.faq .ans ol{list-style:decimal;padding-left:18px}
.review{border:1px dashed #d9c34a;background:#fffdf0;border-radius:8px;padding:14px;margin:10px 0;font-size:14px}

/* ----- 상품 상세 ----- */
.p-gallery{display:grid;gap:8px;margin:6px 0 16px}
.p-gallery figure:first-child{grid-column:1/-1}
.p-gallery img{width:100%;border-radius:8px;background:var(--tile)}
.p-gallery.multi{grid-template-columns:repeat(3,1fr)}
.page p.price{font-size:20px;font-weight:500;color:#111;margin:4px 0 14px}
.page p.price.soldp{color:#666}
.spec{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 16px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}
.spec dt{font-weight:500;color:#111}
.spec dd{color:var(--note)}
.lines{margin:6px 0 16px}
.lines li{position:relative;padding:3px 0 3px 14px;font-size:14px;color:var(--note)}
.lines li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.blog-link{display:block;margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--text)}
.blog-link b{color:var(--blue-text);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.cta .btn{min-height:48px}
.more{margin:24px 0 0}

@media (min-width:768px){
 :root{--hbar:72px;--hero-h:clamp(360px,50vw,600px)}
 body{padding-bottom:0}
 .hbar{padding:0 20px}
 .logo img{height:44px}.logo span{font-size:20px}
 .gnav a{font-size:16px;padding:0 16px}
 .cats{padding:28px 20px 0}
 .cats-tmp{padding-right:0}
 .cat-grid{gap:20px;max-width:760px;margin:0 auto}
 .cat figcaption{font-size:14px;min-height:0;letter-spacing:-.02em}
 .sec{padding:56px 20px 0}
 .sec h2{font-size:24px}
 .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
 .card .nm{font-size:13px}
 .visit-grid{grid-template-columns:360px 1fr;gap:40px;align-items:start}
 .bbar{display:none}
 .site-footer{margin-top:72px;padding:28px 20px 36px}
 .page{padding:34px 20px 0}
 .page h1{font-size:28px}
 .p-gallery{grid-template-columns:repeat(3,1fr)}
 .p-gallery.single{grid-template-columns:1fr;max-width:560px}
 .p-gallery figure:first-child{grid-column:1/-1}
 .cta{max-width:420px}
}
@media (max-width:359px){
 .logo span{font-size:15px}
 .gnav a{padding:0 7px;font-size:13px}
 .bbar a{font-size:13px;gap:3px}
 .bbar svg{display:none}
}
@media (prefers-reduced-motion:reduce){.hero-track{transition:none}html{scroll-behavior:auto}}
