@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');:root{--cream:#f8f6f2;--sand:#e9e0d3;--ink:#393631;--muted:#827b73;--line:#e6e0d8;--accent:#a28b76}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans KR',sans-serif;background:#fff;font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.top{height:84px;display:flex;justify-content:space-between;align-items:center;padding:0 max(5%,calc((100vw - 1260px)/2));border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.brand{font-family:'DM Serif Display',serif;font-size:26px;letter-spacing:.04em;line-height:1.05}.brand span{font-weight:400}.brand small{display:block;font:9px 'Noto Sans KR',sans-serif;letter-spacing:.25em;margin-top:7px}.top nav{display:flex;gap:26px;align-items:center;font-size:12px}.linkbtn{border:0;background:none;color:var(--muted);padding:5px}.hero{min-height:580px;display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.hero-copy{padding:110px 8% 100px max(9%,calc((100vw - 1160px)/2));align-self:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.25em;color:var(--accent);margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,3.7vw,58px);line-height:1.4;font-weight:400;letter-spacing:-.07em}h1 em{font-style:normal;color:#a38c76}h2{font-size:clamp(26px,2.5vw,39px);font-weight:400;letter-spacing:-.06em;line-height:1.4}h3{font-size:16px;font-weight:500}.hero-copy>p:not(.eyebrow){color:var(--muted);line-height:2}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 23px;border:1px solid var(--ink);font-size:12px;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:white}.outline{background:transparent;color:var(--ink)}.hero-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#ded0bd,#eee7dc);min-height:530px}.arch{position:absolute;width:48%;height:64%;bottom:0;left:28%;background:#f5f0e8;border-radius:50% 50% 0 0;box-shadow:0 0 50px #b7a58e66}.balloon{position:absolute;border-radius:50%;box-shadow:inset -14px -18px 20px #0000000b, inset 8px 10px 16px #ffffff55}.b1{width:32%;aspect-ratio:1;left:5%;bottom:5%;background:#e4d3c1}.b2{width:25%;aspect-ratio:1;left:17%;bottom:34%;background:#f9f5ec}.b3{width:24%;aspect-ratio:1;left:25%;top:9%;background:#bca78d}.b4{width:19%;aspect-ratio:1;left:49%;top:8%;background:#e7d4b9}.b5{width:26%;aspect-ratio:1;right:7%;top:20%;background:#f3ece1}.b6{width:29%;aspect-ratio:1;right:-5%;bottom:10%;background:#cbbba5}.b7{width:18%;aspect-ratio:1;right:26%;bottom:5%;background:#eee0ce}.b8{width:12%;aspect-ratio:1;left:42%;bottom:20%;background:#d1b89b}.hero-art span{position:absolute;top:48%;left:38%;text-align:center;font:16px 'DM Serif Display',serif;letter-spacing:.14em;line-height:1.5;color:#a18b73}.intro,.section{max-width:1200px;margin:auto;padding:92px 24px}.intro{text-align:center}.occasions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px;text-align:left}.occasions button{border:1px solid var(--line);background:#fff;padding:30px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left}.occasions button:hover{background:var(--cream)}.occasions span{font-size:10px;color:var(--accent);letter-spacing:.1em}.occasions strong{font-size:17px;font-weight:500}.occasions i{font-style:normal;font-size:22px}.catalog{max-width:none;background:#fbfaf8;padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:max(24px,calc((100vw - 1200px)/2))}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head p:not(.eyebrow){color:var(--muted)}#count{font-size:11px;letter-spacing:.14em;color:var(--accent)}.filters{margin:25px 0 28px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs button{border:1px solid var(--line);padding:10px 17px;background:#fff;color:var(--muted);font-size:12px}.tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.filter-line{display:flex;gap:10px}.filter-line input{flex:1;min-width:0}.filter-line input,.filter-line select,form input,form select,form textarea,dialog input,dialog select,dialog textarea{border:1px solid var(--line);background:#fff;border-radius:0;padding:12px;min-height:44px;width:100%;outline-color:var(--accent)}.filter-line select{width:175px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 16px}.product{border:0;background:transparent;text-align:left;padding:0;min-width:0}.product .art{aspect-ratio:4/5;overflow:hidden;position:relative;background:linear-gradient(150deg,#eee7dc,#d8c5ae);display:flex;align-items:center;justify-content:center}.product .art img{width:100%;height:100%;object-fit:cover}.art .miniarch{height:62%;width:48%;background:#f9f6f0;border-radius:50% 50% 0 0;position:absolute;bottom:0;box-shadow:0 8px 25px #6b5a4830}.art .orb{position:absolute;width:28%;aspect-ratio:1;border-radius:50%;background:#e8d9c9;box-shadow:inset -9px -10px 14px #00000010}.art .orb:nth-child(2){left:12%;top:19%;background:#faf5ea}.art .orb:nth-child(3){right:12%;top:32%;background:#c5af98}.art .orb:nth-child(4){left:15%;bottom:12%;background:#d6bfa9}.art .orb:nth-child(5){right:18%;bottom:9%;background:#f0e4d5}.art .artlabel{position:absolute;bottom:12px;left:14px;background:#ffffffc9;padding:5px 9px;font-size:9px;letter-spacing:.1em}.product .meta{padding-top:13px}.product .meta small{color:var(--muted);font-size:10px}.product .meta strong{display:block;font-size:14px;font-weight:500;margin:3px 0}.product .meta b{font-weight:500}.product:hover .art{filter:brightness(.97)}#empty{padding:50px;text-align:center;color:var(--muted)}.process{text-align:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:45px;text-align:left}.steps>div{border-top:1px solid var(--ink);padding-top:18px}.steps span{font:27px 'DM Serif Display',serif;color:var(--accent)}.steps h3{margin:15px 0 5px}.steps p{font-size:12px;color:var(--muted)}.quote-section{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;background:var(--cream);max-width:none;padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:max(24px,calc((100vw - 1200px)/2))}.quote-section>div>p:not(.eyebrow){color:var(--muted)}.notice{font-size:11px;color:#9a7966!important}form label,dialog label{display:block;font-size:12px;font-weight:500;margin-bottom:15px}form label input,form label select,form label textarea,dialog label input,dialog label select,dialog label textarea{display:block;margin-top:7px;font-weight:400}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}#formStatus{font-size:12px;color:#7c6c58;margin-top:12px}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:500}.faq details p{color:var(--muted);margin:12px 0 0}footer{background:#393631;color:#fff;padding:65px max(6%,calc((100vw - 1200px)/2));font-size:12px}footer .brand{margin-bottom:25px}footer p{color:#d6d0c7}.footnote{font-size:10px}.bottom-bar{display:none}dialog{border:0;box-shadow:0 20px 80px #0004;padding:36px;max-width:740px;width:calc(100% - 30px);max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#211d19a8}.close{position:sticky;top:0;float:right;background:#fff;border:0;font-size:29px;z-index:2}dialog h2{margin:0 0 20px}.detail-photo{height:300px;background:linear-gradient(120deg,#eadfce,#cdb9a2);display:grid;place-items:center;color:#fff;font:24px 'DM Serif Display',serif;letter-spacing:.12em;overflow:hidden}.detail-photo img{height:100%;width:100%;object-fit:cover}.detail-info{padding:24px 0}.detail-info small{color:var(--muted)}.detail-info h2{margin:8px 0}.detail-info p{color:var(--muted)}.detail-info ul{padding-left:20px;color:var(--muted)}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;min-height:auto;margin:0}@media(max-width:900px){.cards{grid-template-columns:repeat(3,1fr)}.hero-copy{padding:65px 7%}.quote-section{gap:30px}}@media(max-width:650px){.top{height:67px;padding:0 18px}.brand{font-size:21px}.top nav{gap:13px}.top nav a:nth-child(1),.top nav a:nth-child(2){display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:55px 24px 45px}.hero-art{min-height:330px}.intro,.section{padding:65px 18px}.occasions{grid-template-columns:1fr;gap:10px}.occasions button{padding:20px}.cards{grid-template-columns:repeat(2,1fr);gap:22px 12px}.filter-line{display:grid;grid-template-columns:1fr 1fr}.filter-line input{grid-column:span 2}.filter-line select{width:100%}.tabs{gap:5px}.tabs button{padding:9px 11px;font-size:11px}.section-head{align-items:start}.section-head #count{white-space:nowrap}.steps{grid-template-columns:repeat(2,1fr)}.quote-section{grid-template-columns:1fr}.two{grid-template-columns:1fr;gap:0}.bottom-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:18;box-shadow:0 -2px 15px #0001}.bottom-bar a{flex:1;text-align:center;padding:16px 8px;font-size:12px}.bottom-bar a:last-child{background:var(--ink);color:#fff}footer{padding-bottom:110px}dialog{padding:22px}.detail-photo{height:230px}}

.photo-disclaimer{font-size:12px;color:#777;background:#f7f4ee;padding:10px 12px;border-radius:6px;}

.hero-art{background:linear-gradient(0deg,rgba(25,22,20,.36),rgba(25,22,20,.04)),url("photos/181.webp") center/cover!important;} .hero-art .arch,.hero-art .balloon{display:none!important}.hero-art span{color:white!important;text-shadow:0 2px 10px #333;}

.admin-panel{padding:18px;background:#f7f4ee;border-radius:10px;margin:16px 0}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-height:55vh;overflow:auto}.photo-choice{background:white;border:1px solid #ddd;padding:4px;cursor:pointer;color:#555}.photo-choice img{width:100%;aspect-ratio:1;object-fit:cover}.photo-choice span{font-size:11px}.hero-art{background-image:linear-gradient(0deg,rgba(25,22,20,.36),rgba(25,22,20,.04)),url("photos/181.webp")}@media(max-width:600px){.photo-grid{grid-template-columns:repeat(3,1fr)}}

.admin-preview{display:block;max-width:240px;max-height:220px;object-fit:cover;border-radius:12px;margin:12px 0}.admin-preview[hidden]{display:none}.cloud-error{background:#fff2df;color:#633e12;padding:14px;margin:12px;border-radius:8px}

/* GNAL inquiry management */
.inquiry-list{display:grid;gap:16px;margin:18px 0}.inquiry-item{padding:18px;border:1px solid #d9d4ca;border-radius:12px;background:#fff}.inquiry-item h4{margin:0 0 12px;font-size:17px}.inquiry-item dl{display:grid;grid-template-columns:minmax(90px,110px) 1fr;gap:8px 12px;margin:0 0 16px}.inquiry-item dt{font-weight:700;color:#555}.inquiry-item dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.inquiry-item select{padding:8px;margin-left:8px}.quote-section input:required{border-color:#c8b5a3}#formStatus{font-weight:600;line-height:1.6}

/* v1.1: product detail photos fully visible at every viewport */
#productDialog .detail-photo{height:auto!important;min-height:0!important;max-height:none!important;display:flex;align-items:center;justify-content:center;overflow:visible;background:#f7f4ee}
#productDialog .detail-photo img{display:block;width:100%;height:auto!important;max-height:75vh;object-fit:contain!important;object-position:center}
@media(max-width:650px){#productDialog .detail-photo{height:auto!important}#productDialog .detail-photo img{max-height:65vh}}

/* v1.2: editable brand typography, stable wrapping, preview */
.brand .brand-main{display:block;white-space:normal;line-height:1.15}
#heroEyebrow,#heroTitle,#heroSubtitle,#heroOverlayText,#headerBrandName,#headerBrandTag,#footerBrandName,#footerBrandTag,#footerText,#serviceText,#footerNote{position:relative;transition:transform .12s ease,font-size .12s ease;overflow-wrap:anywhere}
#heroOverlayText{z-index:3;max-width:80%;pointer-events:none}
.text-preview-wrap{overflow:hidden;background:#fff;border:1px solid #d9d4ca;border-radius:10px;min-height:160px;padding:26px 16px;display:flex;align-items:center;justify-content:center;margin:14px 0}
#textPreview{width:100%;line-height:1.4;overflow-wrap:anywhere}
#typographyEditor input[type=range]{padding:0;accent-color:#393631}
#typographyEditor input[type=color]{padding:4px;height:48px}
#typographyEditor output{font-weight:600;color:#6b5643}
/* Never show price labels underneath product thumbnails. */
.product .meta b{display:none!important}

/* v1.3: preserve absolute positioning for editable photo overlay */
#heroImage #heroOverlayText{position:absolute!important;top:48%!important;left:38%!important;z-index:4;display:block;max-width:80%;width:max-content;white-space:normal;}
footer .business-info{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff33;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 28px;max-width:850px}footer .business-info p{margin:0 0 6px;font-size:12px;line-height:1.7}footer .business-info a{text-decoration:underline;text-underline-offset:3px}footer #footerBrandTag{font-family:'Noto Sans KR',sans-serif;letter-spacing:0.02em;line-height:1.8}footer #footerText{font-size:14px}@media(max-width:650px){footer .business-info{grid-template-columns:1fr}}

/* v1.7 inquiry management — scoped to admin panel */
.inquiry-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr);gap:12px;margin:18px 0 12px}
.inquiry-toolbar label{display:flex;flex-direction:column;gap:7px;font-weight:600}
.inquiry-toolbar input,.inquiry-toolbar select{width:100%;min-width:0;padding:12px;border:1px solid #d9d4cc;background:white;font:inherit}
.inquiry-summary{font-weight:600;margin:12px 0}
.inquiry-manager{display:grid;grid-template-columns:minmax(240px,0.9fr) minmax(0,1.4fr);gap:16px;align-items:start}
.inquiry-list{display:flex;flex-direction:column;gap:8px;max-height:540px;overflow:auto}
.inquiry-list-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:14px;border:1px solid #ddd8d0;border-radius:10px;background:#fff;color:#34312d;cursor:pointer;font:inherit}
.inquiry-list-row.selected{border:2px solid #34312d;background:#f8f5f0}
.inquiry-list-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.inquiry-list-main strong{font-size:15px;overflow-wrap:anywhere}
.inquiry-list-main small{font-size:12px;color:#81796e}
.inquiry-status-badge{font-size:12px;white-space:nowrap;padding:5px 9px;background:#eee9e2;border-radius:20px}
.inquiry-detail{min-width:0;background:#fff;border:1px solid #ddd8d0;border-radius:12px;padding:20px}
.inquiry-detail h4{margin:0 0 16px}
.inquiry-detail-fields{display:grid;grid-template-columns:minmax(90px,120px) minmax(0,1fr);gap:12px 16px}
.inquiry-detail-fields dt{font-weight:600;color:#6e6257}
.inquiry-detail-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.inquiry-status-control{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-weight:600}
.inquiry-status-control select{width:100%;padding:12px;border:1px solid #ddd8d0;background:white}
@media(max-width:760px){.inquiry-toolbar,.inquiry-manager{grid-template-columns:1fr}.inquiry-list{max-height:340px}.inquiry-detail{padding:14px}}

/* v1.8 detail photo and button only */
#productDialog .detail-info-minimal{padding:22px 0 0;display:flex;justify-content:center}
#productDialog .detail-photo{height:auto!important;overflow:visible!important}
#productDialog .detail-photo img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}

/* v1.9 product detail */
.detail-product-heading{text-align:center;margin:18px auto 22px;color:#383530}
.detail-product-heading small{display:block;font-size:14px;letter-spacing:.08em;color:#8b8073;margin-bottom:7px}
.detail-product-heading h3{font-size:clamp(19px,2.5vw,28px);font-weight:600;margin:0}

/* v1.10 quote CTA */
#productDialog #detailQuote{font-size:clamp(19px,2vw,25px);font-weight:700;line-height:1.4;min-height:76px;padding:22px 34px;letter-spacing:-.02em}

/* v1.11: balanced quote CTA and 40 products per page */
#productDialog #detailQuote{font-size:clamp(17px,1.65vw,21px)!important;font-weight:600;line-height:1.45;min-height:62px;padding:17px 28px;letter-spacing:0}
.catalog-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:38px auto 8px}
.catalog-pagination[hidden]{display:none!important}
.catalog-page-btn{border:1px solid #ded9d3;background:white;color:#383530;min-width:44px;min-height:44px;padding:9px 12px;font:inherit;cursor:pointer;border-radius:3px}
.catalog-page-btn.active{background:#383530;color:white;border-color:#383530}
.catalog-page-btn:disabled{opacity:.3;cursor:default}
.catalog-page-btn:focus-visible{outline:2px solid #8a7662;outline-offset:2px}
@media(max-width:600px){.catalog-pagination{gap:5px}.catalog-page-btn{min-width:36px;min-height:40px;padding:7px 9px}}

/* v1.13: new-product form and quick contact links */
.new-product-dialog{max-width:560px}.new-product-dialog .admin-preview{display:block;max-height:240px;max-width:100%;object-fit:contain;margin:12px auto}.new-product-dialog .admin-preview[hidden]{display:none}.new-product-dialog #newProductStatus{min-height:24px;white-space:pre-wrap;color:#76604f}
.gnal-quick-links{position:fixed;right:18px;bottom:24px;z-index:19;display:flex;flex-direction:column;gap:9px}.gnal-quick-links a{min-width:126px;display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:999px;box-shadow:0 5px 22px #0002;font-size:13px;font-weight:600}.gnal-quick-phone{background:#393631;color:white}.gnal-quick-kakao{background:#fee500;color:#211b00}.gnal-quick-links a span:first-child{font-size:14px;font-weight:800}.gnal-quick-links a:hover{transform:translateY(-2px)}
#productDialog .image-unavailable{min-height:240px;background:#f2eee9}#productDialog .image-unavailable:after,.product .image-unavailable:after{content:attr(data-error);color:#796b5f;font:13px 'Noto Sans KR',sans-serif;text-align:center;padding:18px}.product .image-unavailable{background:#f2eee9}
@media(max-width:650px){.gnal-quick-links{right:12px;bottom:77px;gap:7px}.gnal-quick-links a{min-width:0;padding:10px 12px;font-size:11px}}

/* v1.14: single square KakaoTalk quick-contact button */
.gnal-quick-links{right:22px;bottom:24px;gap:0}
.gnal-quick-links .gnal-quick-kakao{
  width:94px;min-width:94px;height:94px;box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:8px;padding:10px;border-radius:15px;
  background:#f5eadc;color:#39312a;border:1px solid #e6d7c7;
  box-shadow:0 6px 24px #0000001c;font-size:14px;line-height:1.2;
}
.gnal-quick-links .gnal-kakao-talk{
  display:flex;align-items:center;justify-content:center;
  width:43px;height:36px;border-radius:50%;
  background:#a38361;color:white;font-size:12px;font-weight:800;
  position:relative;
}
.gnal-quick-links .gnal-kakao-talk:after{
  content:"";position:absolute;left:6px;bottom:-4px;
  border-top:8px solid #a38361;border-right:8px solid transparent;
}
@media(max-width:650px){
 .gnal-quick-links{right:12px;bottom:77px}
 .gnal-quick-links .gnal-quick-kakao{width:76px;min-width:76px;height:76px;padding:7px;gap:5px;font-size:12px;border-radius:12px}
 .gnal-quick-links .gnal-kakao-talk{width:35px;height:29px;font-size:10px}
}

/* v1.15 balloon color charts and quote integration */
.color-section{max-width:1200px}.color-intro{color:var(--muted);max-width:780px}.color-toolbar{margin:24px 0}.color-toolbar label{display:block;max-width:370px;font-size:12px}.color-toolbar select,.color-entry select,.color-entry input{width:100%;padding:12px;border:1px solid var(--line);background:#fff;min-height:46px}.color-reference{background:#fbfaf8;border:1px solid var(--line);padding:24px;text-align:center;border-radius:8px}.color-reference img{display:block;margin:0 auto;max-width:100%;width:auto;height:auto;max-height:none;image-rendering:auto}.color-reference img[hidden]{display:none}.color-reference p{font-size:12px;color:var(--muted);margin:12px 0 0}.color-no-image{padding:36px}.color-picker{border:1px solid var(--line);padding:24px;margin-top:22px}.color-entry{display:grid;grid-template-columns:1fr 1.3fr 1fr auto;gap:12px;align-items:end}.color-entry label{font-size:12px}.color-entry .btn{white-space:nowrap}.chosen-colors{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.color-chip{display:inline-flex;align-items:center;gap:10px;border:1px solid #d7c6b2;background:#f6f0e9;padding:7px 10px;border-radius:6px;font-size:12px}.color-chip button{border:0;background:transparent;font-size:20px;line-height:1;color:#80654e}.color-empty,.color-source-note{font-size:12px;color:var(--muted)}.color-source-note{margin-top:18px}.color-source-note a{text-decoration:underline;text-underline-offset:3px}#colorEntryStatus{font-size:12px;color:#80654e}@media(max-width:800px){.color-entry{grid-template-columns:1fr 1fr}.color-entry .btn{grid-column:1/-1}}@media(max-width:600px){.color-entry{grid-template-columns:1fr}.color-entry .btn{grid-column:auto}.color-reference{padding:10px}.color-picker{padding:16px}.top nav{gap:9px}.top nav a[href="#colors"]{font-size:11px}}
