.kshop{background:var(--warm-paper,#f1eee5);color:var(--warm-ink,#202624);padding:2.5rem max(5vw,calc((100vw - 1280px)/2));font-size:1rem;line-height:1.65;--ink:#202624;--gold:#78551a}
.kshop *{box-sizing:border-box}.kshop a{color:inherit}.kshop h1,.kshop h2,.kshop h3{color:inherit;line-height:1.15;letter-spacing:-.025em}.kshop h1{font-size:clamp(2.4rem,4.5vw,4.5rem);margin:.65rem 0 1rem}.kshop h2{font-size:1.7rem}.kshop p{max-width:none}.kshop-eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#78551a;margin:0}.kshop-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:center;padding:1rem 0 2rem;border-bottom:1px solid #d8cfbd}.kshop-intro>div>p:last-child{max-width:38rem;font-size:1.125rem}.kshop-intro aside{border-left:3px solid #d8aa4c;padding:1rem 1.5rem;max-width:29rem}.kshop-intro aside strong{font-family:Georgia,serif;font-size:1.5rem}.kshop-intro aside p{margin:.8rem 0}.kshop-intro aside a{font-weight:600;text-underline-offset:4px}.kshop-filters{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;padding:1.5rem 0}.kshop-filters label{display:grid;gap:.45rem;font-size:.875rem;font-weight:600;flex:1;min-width:10rem}.kshop-filters label:first-child{flex:1.5}.kshop-filters input,.kshop-filters select{font:inherit;font-size:1rem;color:#202624;background:#fffdf8;border:1px solid #8a7b61;border-radius:4px;padding:.8rem;width:100%;min-height:3.1rem}.kshop-button{display:inline-block;background:#243f34!important;color:#fffdf8!important;font:inherit;font-weight:600;padding:.85rem 1.25rem;border:1px solid #243f34;border-radius:4px;text-decoration:none;cursor:pointer;text-align:center}.kshop-button:hover{background:#365a49!important}.kshop-filters>a{align-self:center;margin-top:1rem}.kshop-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.4rem 0 1rem}.kshop-list-heading h2,.kshop-list-heading p{margin:0}.kshop-list-heading p,.kshop-meta{font-size:.875rem;color:#59645e}.kshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.kshop-card{background:#fffdf8;border:1px solid #d8cfbd;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.kshop-photo{margin:0;min-width:0}.kshop-photo-link{position:relative;display:block;overflow:hidden;background:#e9e1d1}.kshop-photo img{display:block;width:100%;height:14rem;object-fit:cover;transition:transform .25s}.kshop-photo-link:hover img{transform:scale(1.025)}.kshop-enlarge{position:absolute;bottom:.65rem;right:.65rem;padding:.25rem .6rem;background:#fffdf8ed;color:#202624;font-size:.8rem;border-radius:3px}.kshop-photo figcaption{font-size:.8rem;color:#59645e;padding:.65rem 1rem 0;line-height:1.5}.kshop-credit{font-size:.8rem;padding:.35rem 1rem .65rem;color:#59645e}.kshop-credit summary{cursor:pointer}.kshop-credit p{margin:.4rem 0}.kshop-card-copy{padding:1.2rem 1.25rem 1.5rem;display:flex;flex:1;flex-direction:column}.kshop-card-copy h2{font-family:Georgia,serif;font-size:1.7rem;margin:.55rem 0}.kshop-card-copy h2 a{text-decoration:none}.kshop-card-copy h2 a:hover{text-decoration:underline;text-underline-offset:4px}.kshop-card-copy>p{margin:.65rem 0}.kshop-card-copy>.kshop-eyebrow{font-size:.75rem}.kshop-detail-link{font-weight:700;text-underline-offset:5px;margin-top:auto;padding-top:1rem}.kshop-affiliate{font-size:.875rem!important;color:#59645e;display:block;margin-top:.75rem}.kshop-notes{display:grid;grid-template-columns:1fr 1fr;gap:3rem;border-top:1px solid #d8cfbd;margin:3rem 0 0;padding:2rem 0}.kshop-notes h2{font-size:1.3rem}.kshop-notes a{display:inline-block;margin:0 1rem .5rem 0}.kshop-breadcrumb{font-size:.875rem;margin-bottom:2rem}.kshop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem}.kshop-images .kshop-photo{margin-bottom:1.5rem;border:1px solid #d8cfbd;border-radius:6px;overflow:hidden}.kshop-images .kshop-photo img{height:auto;max-height:32rem;object-fit:contain}.kshop-product h1{font-size:clamp(2.3rem,3.7vw,3.6rem)}.kshop-product h2{font-size:1.4rem;margin-top:2rem}.kshop-lead{font-size:1.125rem}.kshop-purchase{border:1px solid #d8cfbd;border-left:4px solid #d8aa4c;background:#fffdf8;padding:1.2rem 1.5rem;margin:1.5rem 0}.kshop-purchase>p:first-child{margin-top:0}.kshop-related-links{display:grid;gap:.7rem;margin:2rem 0}.kshop-related{margin-top:3rem;border-top:1px solid #d8cfbd;padding-top:1.5rem}.kshop-empty{padding:3rem 1rem;text-align:center}.kshop :is(a,button,input,select):focus-visible{outline:3px solid #986311;outline-offset:4px}
@media(max-width:1000px){.kshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kshop-product{gap:1.5rem}.kshop-intro{gap:1.5rem}}
@media(max-width:650px){.kshop{padding:1.5rem 5vw}.kshop-intro,.kshop-product,.kshop-notes{grid-template-columns:1fr;gap:1.2rem}.kshop-intro aside{padding:.7rem 1rem}.kshop-grid{grid-template-columns:1fr}.kshop-photo img{height:13rem}.kshop-filters label:first-child{flex-basis:100%}.kshop-filters .kshop-button{width:100%}.kshop-product-copy{grid-row:1}.kshop-images{grid-row:2}.kshop-product h1{font-size:2.5rem}.kshop-notes{gap:.5rem}.kshop-list-heading h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.kshop-photo img{transition:none}}

/* Souvenir photographs retain the complete object at every screen size. */
.kshop-card .kshop-photo-link{aspect-ratio:4/3;background:#f4eee3}.kshop-card .kshop-photo img{height:100%;width:100%;object-fit:contain}.kshop-photo-link:hover img{transform:none}.kshop-intro{grid-template-columns:1fr 1.05fr}.kshop-intro aside{border:0;padding:0;max-width:none}.kshop-intro aside>.kshop-photo{border-radius:12px;overflow:hidden;margin-bottom:1rem}.kshop-intro aside .kshop-photo img{height:auto;object-fit:contain}.kshop-gift-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.kshop-gift-paths a{display:grid;gap:.5rem;padding:1.3rem;border:1px solid #d8cfbd;border-radius:8px;background:#fffaf0;text-decoration:none}.kshop-gift-paths a:nth-child(2){background:#e7eee2}.kshop-gift-paths a:nth-child(3){background:#f4e5df}.kshop-gift-paths span{font-size:.7rem;letter-spacing:.12em;color:#6e573a}.kshop-gift-paths strong{font:1.45rem Georgia,serif}.kshop-gift-paths small{font-size:.85rem}.kshop-gift-paths a:hover{border-color:#78551a}.kshop-card{border-radius:12px}.kshop-card .kshop-photo figcaption{min-height:3.65rem}.kshop-card-copy{padding:1.3rem}.kshop-images .kshop-photo img{max-height:none}
@media(max-width:650px){.kshop-intro,.kshop-gift-paths{grid-template-columns:1fr}.kshop-gift-paths{gap:.65rem}.kshop-gift-paths a{padding:1rem}.kshop-product-copy,.kshop-images{grid-row:auto}}

/* Modern gifts: products first, with clear recipient guidance. */
.kshop-gift-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.kshop-gift-paths a{background:#e9e7f3;padding:1.5rem}.kshop-gift-paths a:nth-child(2){background:#e1ebef}.kshop-gift-paths strong{font-size:1.3rem;font-weight:600;line-height:1.4}.kshop-gift-paths span{font-size:.8rem;color:#314257}.kshop-gift-summary{display:grid;gap:.3rem;border-left:3px solid #456376;padding:.5rem .8rem;margin:.7rem 0;background:#edf2f3;font-size:.9rem}.kshop-gift-summary span{color:#4e5961}.kshop-recipient-note{font-size:.9rem;color:#56626a;margin-top:-1rem}.kshop-intro{grid-template-columns:1.15fr 1fr}.kshop-intro aside>.kshop-photo{max-width:36rem}.kshop-card .kshop-photo-link{background:#f5f5f2}.kshop-filters label{min-width:9rem}.kshop-card .kshop-photo img{height:100%;object-fit:contain}.kshop-gift-paths a[aria-current]{border:2px solid #456376}
@media(max-width:650px){.kshop-gift-paths,.kshop-intro{grid-template-columns:1fr}.kshop-gift-paths a{padding:1rem}}

.kshop-card-buy{display:block;margin-top:1rem;padding:.7rem .85rem;border:1px solid #345346;border-radius:5px;color:#234638!important;font-weight:600;text-decoration:none;font-size:.9rem}.kshop-card-buy:hover{background:#e7efe9}.kshop-departments{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0}.kshop-departments a{padding:.6rem .9rem;border-radius:999px;background:#fffdf8;border:1px solid #c9cabc;text-decoration:none;font-size:.9rem}.kshop-departments span{display:inline-block;margin-left:.4rem;font-weight:700;color:#456376}.kshop-intro aside .kshop-photo img{max-height:260px;object-fit:contain}.kshop-intro h1{font-size:clamp(2.3rem,4vw,3.7rem)}.kshop-gift-paths{margin:1.4rem 0}


.hangul-collection{margin:32px 0;padding:clamp(18px,4vw,40px);border:1px solid #d8c7aa;border-radius:18px;background:#f4ede1}
.hangul-heading h2{margin-bottom:8px;font-size:clamp(25px,4vw,40px)}
.hangul-heading .eyebrow{color:#78531d}
.hangul-heading p:last-child,.hangul-note{color:#525d58}
.hangul-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hangul-card{overflow:hidden;border:1px solid #dbcfbb;border-radius:14px;background:#fffdf8}
.hangul-art{position:relative;background:#e8dcc7;text-align:center}
.hangul-art svg{display:block;width:100%;max-height:245px}
.hangul-edition{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.12em;color:#54442d}
.hangul-ink{--shirt:#20282c;--print:#f3dfb6;--seam:#576367}
.hangul-ivory{--shirt:#f7f1e5;--print:#314e46;--seam:#a29988;background:#d8e0d8}
.hangul-pine{--shirt:#244738;--print:#f3dfb6;--seam:#638276;background:#e2d7c2}
.shirt-body{fill:var(--shirt);stroke:var(--seam);stroke-width:1.1}
.shirt-seams{fill:none;stroke:var(--seam);stroke-width:1}
.shirt-lettering{fill:var(--print);font:700 23px "Noto Sans KR","Malgun Gothic",sans-serif}
.hangul-info{padding:14px 16px}
.hangul-info h3,.hangul-info p{margin-bottom:6px}
.hangul-info small{margin-left:5px;color:#525d58;font-size:.72em}
.hangul-info a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#193f35;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hangul-note{margin:14px 0 0;font-size:13px}
@media(max-width:620px){.hangul-grid{grid-template-columns:1fr}.hangul-art svg{max-height:205px}}


.hangul-cream{--shirt:#eadfc5;--print:#26382d;--seam:#a99d86;background:#d5c8b0}
.hangul-sky{--shirt:#a8cbda;--print:#223b55;--seam:#6e97a7;background:#e0e8e9}
.hangul-navy{--shirt:#23344e;--print:#f4e8cf;--seam:#65718a;background:#d8d9df}
.hangul-plum{--shirt:#432f46;--print:#fff0d6;--seam:#7f6580;background:#e5d5da}
.hangul-hero{margin:0 0 20px}
.hangul-hero img{display:block;width:100%;height:auto;border-radius:10px}
.hangul-hero figcaption{margin-top:6px;color:#525d58;font-size:.9rem}

/* Storefront identity is scoped to the shop shell. */
body.kshop-store {
  --shop-cobalt: #0047ff;
  --shop-ink: #111315;
  --shop-line: #dce1e8;
  margin: 0;
  background: #fff;
  color: var(--shop-ink);
  font-family: Inter, system-ui, sans-serif;
}
body.kshop-store header.kshop-header {
  display: grid;
  grid-template-columns: auto minmax(8rem, 1fr) auto auto auto;
  align-items: center;
  gap: .65rem 1.15rem;
  padding: .8rem clamp(1rem, 4vw, 3rem);
  background: #fff;
  color: var(--shop-ink);
  border-bottom: 1px solid var(--shop-line);
}
.kshop-store .kshop-header .kshop-brand {
  color: var(--shop-ink);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -.045em;
  white-space: nowrap;
}
.kshop-brand span { color: var(--shop-cobalt); }
.kshop-header-search { display: flex; min-width: 0; }
.kshop-header-search input {
  flex: 1;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--shop-line);
  border-radius: 0;
  padding: .65rem;
  background: #f5f7fa;
  color: var(--shop-ink);
  font: inherit;
}
.kshop-store .kshop-header-search button {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 0;
  background: var(--shop-cobalt);
  color: #fff;
}
.kshop-header details { position: relative; }
.kshop-header summary {
  cursor: pointer;
  padding: .65rem .35rem;
  white-space: nowrap;
  font-weight: 700;
}
.kshop-store .kshop-header details nav {
  position: absolute;
  z-index: 20;
  inset-inline-end: 0;
  display: grid;
  min-width: 10rem;
  width: max-content;
  max-width: min(80vw, 18rem);
  padding: .4rem;
  background: #fff;
  border: 1px solid var(--shop-line);
  box-shadow: 0 8px 24px #11131520;
}
.kshop-header details nav a {
  display: block;
  padding: .65rem;
  color: var(--shop-ink);
}
.kshop-header a[aria-current="page"] { color: var(--shop-cobalt); font-weight: 800; }
.kshop-header :focus-visible { outline: 2px solid var(--shop-cobalt); outline-offset: 3px; }
.kshop-store .kshop {
  background: #fff;
  color: var(--shop-ink);
  font-family: inherit;
  --gold: var(--shop-cobalt);
}
.kshop-store .kshop :is(h1,h2,h3) { font-family: inherit; font-weight: 800; }
.kshop-store .kshop :is(.kshop-card,.kshop-filters,.hangul-collection,.kshop-notes) {
  border-color: var(--shop-line);
  background: #f5f7fa;
}
.kshop-store .kshop :is(.kshop-eyebrow,.hangul-heading .eyebrow) { color: #003aca; }
.kshop-store .kshop .kshop-button { background: var(--shop-cobalt); color: #fff; }

.kshop-store header.kshop-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.kshop-header .kshop-brand { grid-column: 1; grid-row: 1; }
.kshop-header-search { grid-column: 2; grid-row: 1; }
.kshop-language-tools { grid-column: 3; grid-row: 1; }
.kshop-store .kshop-header-search button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: 0 .75rem;
  white-space: nowrap;
  font-size: .85rem;
}
.kshop-store .kshop-header .kshop-desktop-categories {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1.4rem;
  border-top: 1px solid var(--shop-line);
}
.kshop-desktop-categories a {
  display: flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 3px solid transparent;
  font-weight: 700;
  color: var(--shop-ink);
}
.kshop-desktop-categories a[aria-current="page"] { border-color: var(--shop-cobalt); }
.kshop-header .kshop-category-menu { display: none; }
@media (max-width: 760px) {
  body.kshop-store header.kshop-header {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: .6rem;
  }
  .kshop-language-tools { grid-column: 2; }
  .kshop-header-search { grid-column: 1 / -1; grid-row: 2; }
  .kshop-store .kshop-header .kshop-desktop-categories { display: none; }
  .kshop-header .kshop-category-menu {
    display: block;
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .kshop-category-menu summary {
    min-height: 44px;
    padding-inline: .75rem;
    border: 1px solid var(--shop-line);
  }
  .kshop-store .kshop-header .kshop-category-menu nav {
    position: static;
    width: 100%;
    max-width: none;
    box-shadow: none;
  }
  .kshop-category-menu nav a { min-height: 44px; }
}

/* A compact search and a centered category row keep the header balanced. */
.kshop-store .kshop-header-search {
  justify-self: center;
  width: min(100%, 26rem);
}
.kshop-store .kshop-header .kshop-desktop-categories {
  justify-content: center;
}
.kshop-store .kshop-header .kshop-category-menu {
  width: min(100%, 26rem);
  justify-self: center;
}
.kshop-store .kshop-category-menu summary { text-align: center; }
.kshop-store .kshop-ad-invitation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin: 0 0 1.25rem;
  padding: .9rem 1.1rem;
  border: 1px solid #b6caff;
  border-inline-start: 4px solid var(--shop-cobalt);
  background: #f2f6ff;
}
.kshop-store .kshop-ad-invitation h2 {
  margin: 0;
  font-size: 1.1rem;
}
.kshop-store .kshop-ad-invitation p { margin: .2rem 0 0; }
.kshop-store .kshop-ad-action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .4rem .9rem;
  background: var(--shop-cobalt);
  color: #fff;
  font-weight: 700;
}

.kshop .kshop-tee-promo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: clamp(1.25rem, 4vw, 2.25rem);
  border-radius: 12px;
  background: #172641;
  color: #f4f7ff;
}
.kshop-store .kshop .kshop-tee-promo .kshop-eyebrow { color: #ffd889; }
.kshop-tee-promo h2 { font-size: clamp(1.65rem, 4vw, 2.65rem); margin: .25rem 0 .5rem; }
.kshop-tee-promo p { margin: 0; }
.kshop-store .kshop .kshop-tee-promo .kshop-button { background: #fff1d4; color: #172641; }
.kshop-tee-promo .kshop-button:focus-visible { outline: 2px solid #fff1d4; outline-offset: 4px; }
