/* Modern Korean Food Market: owner brief, native WordPress presentation. */
:root {
  --cb-ink:#20211f; --cb-cream:#f6f4ed; --cb-paper:#fffefa; --cb-red:#c6332c;
  --cb-muted:#62645e; --cb-line:#deded5; --cb-blue:#1f4fa3; --cb-yellow:#f2c230; --cb-green:#1e8a4c;
  --cb-card-radius:12px; --cb-control-radius:4px;
  --cb-width:1280px; --cb-gutter:clamp(20px,4vw,56px); --cb-section:clamp(48px,5vw,72px);
  --chilbo-accent:var(--cb-red); --chilbo-ink:var(--cb-ink); --chilbo-muted:var(--cb-muted);
  --chilbo-soft:var(--cb-cream); --chilbo-line:var(--cb-line); --button:var(--cb-red); --border:var(--cb-line);
}
body { background:var(--cb-paper); color:var(--cb-ink); font-family:var(--font-body); }
h1,h2,h3 { font-family:var(--font-heading); font-weight:700; letter-spacing:-.02em; }
a,button { -webkit-tap-highlight-color:transparent; }
a { transition:color .18s ease, background-color .18s ease; }
:focus-visible { outline:3px solid var(--cb-blue); outline-offset:5px; }
.cb-container { width:min(calc(100% - 2 * var(--cb-gutter)),var(--cb-width)); margin-inline:auto; }
.brand-colour-band { height:5px; background:linear-gradient(to right,var(--cb-blue) 0 25%,var(--cb-yellow) 25% 50%,var(--cb-green) 50% 75%,var(--cb-red) 75%); }
.cb-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:13px 21px; border:1px solid var(--cb-red); border-radius:var(--cb-control-radius); background:var(--cb-red); color:var(--cb-paper); font-size:14px; font-weight:600; line-height:1.45; text-decoration:none; white-space:nowrap; }
.cb-button:hover { color:var(--cb-paper); background:#a32923; border-color:#a32923; opacity:1; }
.cb-button:active { transform:translateY(1px); }
.cb-button-light { background:var(--cb-paper); border-color:var(--cb-paper); color:var(--cb-ink); }
.cb-button-light:hover { background:var(--cb-cream); color:var(--cb-ink); border-color:var(--cb-cream); }
.cb-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:600; text-decoration:none; text-underline-offset:5px; }
.cb-text-link:hover,.cb-text-link:focus-visible { text-decoration:underline; }
.site-header { position:relative; background:var(--cb-paper); border-bottom:1px solid var(--cb-line); }
.header-inner { max-width:calc(var(--cb-width) + 2 * var(--cb-gutter)); padding:0 var(--cb-gutter); min-height:78px; gap:18px; flex-wrap:nowrap; }
.site-brand { display:flex; align-items:center; flex-shrink:0; margin:0; }
.site-brand .brand-lockup { display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--cb-ink); }
.site-brand img { display:block; width:194px; height:auto; max-height:none; object-fit:contain; }
.brand-wordmark { font:700 20px/1.15 var(--font-heading); letter-spacing:-.025em; max-width:none; white-space:nowrap; }
.header-whatsapp { padding:12px 16px; font-size:13px; min-height:44px; }
.header-search { display:block; }
.icon-button,.submenu-toggle,.menu-close { color:var(--cb-ink); }
.primary-menu a { font-size:13px; padding:14px 9px; }
.primary-menu > li.current-menu-item > a { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.nav-enhanced .primary-navigation { background:var(--cb-paper); }
.primary-menu .sub-menu a { min-height:44px; padding:12px 20px; font-size:14px; }
.home .site-main { margin:0; max-width:none; padding:0; }
.cb-hero { background:var(--cb-ink); color:var(--cb-paper); }
.cb-hero-inner { display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:56px; padding-block:40px; min-height:546px; }
.cb-hero-copy { min-width:0; padding-block:12px; }
.cb-hero h1 { margin:0 0 24px; color:var(--cb-paper); font-size:clamp(40px,4.7vw,68px); font-weight:800; line-height:1.1; letter-spacing:-.025em; text-wrap:balance; }
.cb-hero-intro { color:#d1d3c9; font-size:16px; line-height:1.75; margin:0 0 32px; }
.cb-hero-copy p:empty { display:none; }
.cb-hero-copy p:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0; }
.cb-hero-copy a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 18px; color:var(--cb-paper); background:var(--cb-red); border:1px solid var(--cb-red); border-radius:4px; font-size:14px; font-weight:600; text-decoration:none; }
.cb-hero-copy a + a { background:transparent; border-color:#83877a; }
.cb-hero-copy a:hover { background:#a32923; border-color:#a32923; }
.cb-hero-photo { min-width:0; }
.cb-hero-photo img { width:100%; display:block; height:clamp(360px,35vw,470px); object-fit:cover; object-position:50% 50%; border-radius:4px; }
.cb-hero :focus-visible,.site-footer :focus-visible,.cb-order :focus-visible { outline-color:var(--cb-yellow); }
.cb-trust { background:var(--cb-cream); border-bottom:1px solid var(--cb-line); }
.cb-trust-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:24px; padding-block:16px; }
.cb-trust-item { min-width:0; display:flex; align-items:center; gap:14px; }
.cb-trust-item + .cb-trust-item { border-left:1px solid var(--cb-line); padding-left:28px; }
.cb-trust-icon { display:block; flex-shrink:0; color:var(--cb-red); }
.cb-trust-item h2 { font:700 16px/1.35 var(--font-heading); letter-spacing:-.02em; margin:0 0 3px; }
.cb-trust p,.cb-trust a { margin:0; font-size:13px; font-weight:600; line-height:1.5; }
.cb-trust a { min-height:0; padding-block:4px; display:inline-flex; align-items:center; text-decoration:none; }
.cb-trust a:hover,.cb-trust a:focus-visible { text-decoration:underline; text-underline-offset:5px; }
.cb-collections { padding-block:var(--cb-section); }
.cb-section-heading { margin-bottom:24px; }
.cb-section-heading h2,.cb-story h2,.cb-visit .cb-section-heading > h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.12; margin:0 0 12px; }
.cb-collection-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
.cb-collection-card { --collection-accent:var(--cb-ink); min-width:0; display:block; overflow:hidden; background:var(--cb-paper); border:1px solid var(--cb-line); border-top:4px solid var(--collection-accent); border-radius:var(--cb-card-radius); color:var(--cb-ink); text-decoration:none; cursor:pointer; transition:border-color .18s ease,background-color .18s ease; }
/* Slug identity keeps the accent with its collection when the owner reorders cards. */
:is(.cb-collection-card,.product-card)[data-collection="signature"] { --collection-accent:var(--cb-red); }
:is(.cb-collection-card,.product-card)[data-collection="kimchi"] { --collection-accent:var(--cb-green); }
:is(.cb-collection-card,.product-card)[data-collection="meal-kit"] { --collection-accent:var(--cb-yellow); }
:is(.cb-collection-card,.product-card)[data-collection="frozen-product"] { --collection-accent:var(--cb-blue); }
:is(.cb-collection-card,.product-card)[data-collection^="side-dish"] { --collection-accent:var(--cb-ink); }
.cb-collection-image { aspect-ratio:4/5; overflow:hidden; background:var(--cb-cream); }
.cb-collection-image img { display:block; width:100%; height:100%; object-fit:cover; }
.cb-collection-card > span { display:block; padding:14px 16px; font:600 17px/1.3 var(--font-heading); }
.cb-collection-card:hover { background:var(--cb-cream); border-color:var(--collection-accent); }
.cb-collection-card:hover > span,.cb-collection-card:focus-visible > span { text-decoration:underline; text-underline-offset:5px; }
.cb-collection-card:focus-visible { outline-offset:4px; }
/* Shared product listing presentation; all callers use product-card.php. */
.product-card { --collection-accent:var(--cb-ink); overflow:hidden; border:1px solid var(--cb-line); border-top:4px solid var(--collection-accent); border-radius:var(--cb-card-radius); background:var(--cb-paper); }
.product-card-link { display:flex; flex-direction:column; height:100%; color:var(--cb-ink); cursor:pointer; transition:background-color .18s ease; }
.product-card img { width:100%; aspect-ratio:1; object-fit:cover; padding:0; background:var(--cb-cream); }
.product-card .chilbo-placeholder { display:grid; place-items:center; aspect-ratio:1; padding:16px; border:0; background:var(--cb-cream); font-size:14px; }
.product-card-copy { padding:14px 16px; }
.product-card h2 { margin:0; font-family:var(--font-heading); font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.product-card .catalogue-price { margin:6px 0 0; font-family:var(--font-body); font-size:14px; line-height:1.5; color:var(--cb-muted); }
.product-card-link:hover { background:var(--cb-cream); }
.product-card-link:focus-visible { outline:3px solid var(--cb-blue); outline-offset:-3px; }
.product-card-link:focus-visible h2 { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:479.98px) { .product-card-copy { padding:12px; } }
@media (max-width:359.98px) { .catalogue { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .product-card-link { transition:none; } }
.cb-story { background:var(--cb-cream); padding-block:var(--cb-section); }
.cb-story-inner { display:grid; grid-template-columns:1.08fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.cb-story-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:50% 60%; border-radius:4px; }
.cb-story-copy { min-width:0; }
.cb-story-copy p { font-size:17px; line-height:1.85; max-width:52ch; margin:24px 0; color:var(--cb-muted); }
.cb-story-copy h2 { max-width:15ch; text-wrap:balance; }
.cb-visit { padding-block:var(--cb-section); scroll-margin-top:24px; }
.cb-visit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.cb-visit-card { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid var(--cb-line); border-radius:var(--cb-card-radius); }
.cb-visit-card-dark { background:var(--cb-ink); color:var(--cb-paper); border-color:var(--cb-ink); }
.cb-visit-card-light { background:var(--cb-paper); color:var(--cb-ink); }
.cb-visit-eyebrow { margin:0 0 10px; font-size:11px; font-weight:600; line-height:1.5; letter-spacing:.09em; }
.cb-visit-card h3 { font-size:26px; line-height:1.2; margin:0 0 12px; color:inherit; text-wrap:balance; }
.cb-visit-card h3 a { color:inherit; text-decoration:none; }
.cb-visit-card h3 a:hover { text-decoration:underline; }
.cb-visit-address p,.cb-visit-hours p { margin:0; font-size:14px; line-height:1.65; }
.cb-visit-address a { color:inherit; text-underline-offset:4px; }
.cb-visit-hours { margin:16px 0 20px; }
.cb-visit-hours h4 { margin:0 0 6px; font:600 14px/1.5 var(--font-body); color:inherit; }
.cb-visit-hours strong { font-weight:400; }
.cb-visit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:auto; }
.cb-visit-actions .cb-button { padding:11px 14px; font-size:13px; min-height:44px; }
.cb-visit-menu { background:transparent; color:inherit; border-color:var(--cb-line); }
.cb-visit-card-dark .cb-visit-menu { border-color:#85877f; }
.cb-visit-menu:hover { background:var(--cb-cream); color:var(--cb-ink); border-color:var(--cb-line); }
.cb-visit-card-dark :focus-visible { outline-color:var(--cb-yellow); }
.cb-visit-contact { display:flex; flex-wrap:wrap; align-items:center; gap:0 24px; margin-top:16px; }
.cb-visit-contact p { display:flex; flex-wrap:wrap; align-items:center; gap:0 16px; margin:0; font-size:13px; }
.cb-visit-contact br { display:none; }
.cb-visit-contact a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.cb-order { background:var(--cb-red); color:var(--cb-paper); }
.cb-order-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:40px; padding-block:36px; }
.cb-order h2 { max-width:24ch; font-size:clamp(30px,3vw,40px); line-height:1.12; margin:0; color:inherit; text-wrap:balance; }
.cb-order p { margin:8px 0 0; font-size:15px; }
.site-footer { background:var(--cb-ink); color:#d1d3c9; padding:24px 0 8px; border:0; font-size:13px; }
.site-footer a:hover { color:var(--cb-paper); }
.footer-grid { width:min(calc(100% - 2 * var(--cb-gutter)),var(--cb-width)); grid-template-columns:.8fr 1.3fr 1.1fr; gap:40px; margin-inline:auto; align-items:start; }
.footer-identity,.footer-contact,.footer-hours { min-width:0; }
.footer-logo { display:block; width:240px; max-width:100%; height:auto; padding:0; border-radius:var(--cb-control-radius); }
.footer-name { color:var(--cb-paper); font:600 24px/1.2 var(--font-body); margin:0 0 12px; }
.footer-navigation { margin-top:12px; }
.footer-navigation ul { display:flex; flex-wrap:wrap; gap:20px; padding:0; margin:0; list-style:none; }
.footer-navigation a,.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.footer-navigation a:hover,.footer-bottom a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-contact > h2,.footer-hours > h2 { font:600 17px/1.3 var(--font-body); color:var(--cb-paper); letter-spacing:-.02em; margin:0 0 12px; }
.footer-business { margin:0 0 8px; }
.footer-business h3 { font:600 14px/1.4 var(--font-body); color:var(--cb-paper); letter-spacing:0; margin:0 0 4px; }
.footer-business h3 a { text-decoration:none; }
.footer-business h3 a:hover { text-decoration:underline; }
.footer-business p,.footer-contact > p,.footer-hours > p { font-size:13px; line-height:1.6; margin:0; }
.footer-business strong { font-weight:400; }
.footer-address a { display:inline-flex; align-items:center; min-height:44px; }
.footer-contact > p { display:flex; flex-wrap:wrap; column-gap:16px; }
.footer-contact > p br { display:none; }
.footer-contact > p a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; overflow-wrap:anywhere; }
.footer-contact > p a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { border-top:1px solid #474940; margin-top:16px; padding-top:8px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; font-size:12px; }
.footer-bottom p { margin:0; margin-right:auto; }
.footer-social { display:flex; gap:20px; }
@media (max-width:1023.98px) and (min-width:768px) {
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 32px; }
  .footer-identity { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; }
  .footer-navigation { margin-top:0; }
  .cb-trust-item { gap:10px; }
  .cb-trust-item + .cb-trust-item { padding-left:20px; }
}
@media (min-width:960px) {
  .primary-navigation { flex:1; width:auto; min-width:0; }
  .primary-menu { display:flex; align-items:center; justify-content:center; }
  .primary-menu > li:nth-child(2) { position:relative; }
  .primary-menu > li:nth-child(2) > .sub-menu { left:0; right:auto; min-width:220px; }
  .nav-enhanced .primary-menu > li:nth-child(2) > .sub-menu[data-open=true] { display:block; }
  .primary-menu > li > .sub-menu { background:var(--cb-paper); min-width:220px; border:1px solid var(--cb-line); border-radius:4px; padding:8px 0; box-shadow:0 12px 24px #20211f12; }
  .menu-toggle { display:none!important; }
}
@media (min-width:960px) and (max-width:1199.98px) {
  .brand-wordmark { display:inline; font-size:19px; }
  .site-brand img { width:176px; }
  .site-brand .brand-lockup { gap:10px; }
  .header-inner { gap:10px; padding-inline:24px; }
  .primary-menu a { padding-inline:6px; font-size:12px; }
  .submenu-toggle { width:22px; }
  .header-whatsapp { padding-inline:12px; font-size:12px; }
  .cb-hero-inner { gap:32px; min-height:496px; }
  .cb-hero h1 { font-size:46px; }
}
@media (max-width:959.98px) {
  .header-inner { min-height:72px; }
  .site-brand { margin-right:auto; }
  .menu-toggle { order:3; flex-shrink:0; }
  .header-whatsapp { order:2; }
  .brand-wordmark { max-width:none; }
  .primary-navigation { order:4; }
  .primary-menu a { font-size:16px; }
  .cb-hero-inner { gap:28px; min-height:0; padding-block:32px; grid-template-columns:1fr; }
  .cb-hero h1 { max-width:18ch; font-size:clamp(40px,7.2vw,62px); }
  .cb-hero-copy { padding:0; }
  .cb-hero-intro { margin-bottom:24px; }
  .cb-hero-photo img { height:auto; aspect-ratio:16/10; }
  .cb-collection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 18px; }
  .cb-collection-card > span { font-size:16px; }
  .cb-story-inner { gap:32px; }
  .cb-visit-grid { gap:20px; }
}
@media (max-width:767.98px) {
  .cb-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cb-trust-inner { grid-template-columns:1fr; gap:0; padding-block:8px; }
  .cb-trust-item { display:grid; grid-template-columns:28px 1fr; gap:14px; padding-block:12px; }
  .cb-trust-item + .cb-trust-item { border-left:0; border-top:1px solid var(--cb-line); padding-left:0; }
  .home { --cb-section:40px; }
  .cb-story-inner,.cb-visit-grid { grid-template-columns:1fr; }
  .cb-story-copy h2 { max-width:14ch; }
  .cb-story-copy p { font-size:16px; }
  .cb-visit-card { padding:24px; }
  .cb-visit-card h3 { font-size:24px; }
  .cb-order-inner { grid-template-columns:1fr; justify-items:start; gap:20px; padding-block:28px; }
  .cb-order h2 { font-size:32px; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .footer-logo { width:240px; }
  .site-footer { padding-top:28px; }
  .footer-bottom { margin-top:20px; gap:4px 20px; }
  .footer-bottom p { flex-basis:100%; }

}
@media (max-width:479.98px) {
  .header-inner { padding-inline:16px; gap:8px; min-height:66px; }
  .site-brand img { width:176px; }
  .site-brand .brand-lockup { gap:8px; }
  .brand-wordmark { font-size:18px; max-width:none; }
  .header-whatsapp { display:none; }
  .cb-hero-inner { padding-block:28px; gap:28px; }
  .cb-hero h1 { font-size:42px; max-width:13ch; margin-bottom:20px; }
  .cb-hero-intro { font-size:14px; line-height:1.8; }
  .cb-hero-copy a { padding:12px 14px; font-size:13px; }
  .cb-section-heading h2,.cb-story h2,.cb-visit .cb-section-heading > h2 { font-size:32px; }
  .cb-section-heading { margin-bottom:20px; }
  .cb-collection-grid { gap:28px 14px; }
  .cb-collection-card > span { font-size:16px; padding:12px; }
  .cb-collection-image { aspect-ratio:4/5; }
}
@media (prefers-reduced-motion:reduce) { .cb-collection-card { transition:none; } }


/* Preserve the original secondary hero photo. */
.cb-hero-photo { position:relative; }
.cb-hero-photo img.cb-hero-secondary { position:absolute; width:160px; height:160px; aspect-ratio:1; right:-12px; bottom:-20px; border:8px solid var(--cb-ink); border-radius:4px; }
@media (max-width:959.98px) { .cb-hero-photo { margin-bottom:12px; } .cb-hero-photo img.cb-hero-secondary { width:120px; height:120px; right:-8px; bottom:-12px; border-width:6px; } }

@media (max-width:959.98px) { .header-search { order:2; } }

@media (max-width:379.98px) {
  .header-inner { gap:6px; }
  .site-brand img { width:164px; }
  .brand-wordmark { font-size:16px; }
}

