/* KAHALOA shared content styles */
:root { --kahaloa-ink:#183a3d; --kahaloa-deep:#0b343b; --kahaloa-sea:#14616b; --kahaloa-coral:#e47763; --kahaloa-sand:#eee5d5; --kahaloa-paper:#f8f6f1; --kahaloa-line:rgba(24,58,61,.18); }
html { scroll-behavior:smooth; }
body { background:var(--kahaloa-paper); color:var(--kahaloa-ink); font-family:'DM Sans','Noto Sans KR',sans-serif; }
.main-container,.s-container { width:min(1240px,calc(100% - 64px)); margin:0 auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.s-topbar { position:relative; z-index:20; border-bottom:1px solid var(--kahaloa-line); background:var(--kahaloa-paper); color:var(--kahaloa-ink); }
.s-topbar-inner { display:flex; justify-content:space-between; align-items:center; min-height:34px; font-family:'DM Mono',monospace; letter-spacing:.06em; }
.s-topbar-inner strong { margin-left:14px; color:var(--kahaloa-coral); font-weight:500; }
.s-topbar-inner a { margin-left:18px; }
.s-header { position:relative; z-index:20; border-bottom:1px solid var(--kahaloa-line); background:var(--kahaloa-paper); }
.s-header-main { display:flex; align-items:center; justify-content:space-between; min-height:86px; gap:30px; }
.s-logo { display:inline-flex; align-items:center; gap:12px; color:var(--kahaloa-ink); }
.s-logo img { width:38px; height:38px; }
.s-logo span { font-family:'DM Mono',monospace; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; }
.s-search { display:flex; align-items:center; width:min(350px,34vw); border-bottom:1px solid var(--kahaloa-ink); }
.s-search label { position:absolute; width:1px; height:1px; overflow:hidden; }
.s-search input { width:100%; padding:11px 0; border:0; outline:0; background:transparent; color:var(--kahaloa-ink); font-family:'Noto Sans KR',sans-serif; }
.s-search button { border:0; background:transparent; color:var(--kahaloa-ink); cursor:pointer; }
.s-header-tools { display:flex; align-items:center; gap:16px; }
.s-header-tools a { display:inline-flex; align-items:center; gap:4px; color:var(--kahaloa-ink); }
.s-header-tools .material-symbols-rounded { font-size:17px; }
.s-cart-link { position:relative; }
.s-cart-link b { position:absolute; top:-8px; right:-8px; display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:var(--kahaloa-coral); color:#fff; font-family:'DM Mono',monospace; }
.s-mobile-menu { display:none; border:0; background:transparent; color:var(--kahaloa-ink); }
.s-nav { position:relative; z-index:19; border-bottom:1px solid var(--kahaloa-line); background:var(--kahaloa-paper); }
.s-nav-inner { display:flex; align-items:center; min-height:54px; gap:33px; }
.nav-signature { display:flex; align-items:center; gap:9px; color:var(--kahaloa-sea); font-family:'DM Mono',monospace; letter-spacing:.1em; white-space:nowrap; }
.nav-signature span { width:7px; height:7px; border-radius:50%; background:var(--kahaloa-coral); }
.s-nav-list { display:flex; align-items:center; gap:32px; margin:0; padding:0; list-style:none; }
.s-nav-list > li { position:relative; padding:20px 0; }
.s-nav-list a,.s-nav-promo { color:var(--kahaloa-ink); font-family:'DM Mono',monospace; letter-spacing:.12em; }
.s-nav-list a:hover,.s-nav-promo:hover { color:var(--kahaloa-coral); }
.s-nav-sub { position:absolute; top:55px; left:-12px; z-index:5; display:none; min-width:145px; padding:12px; background:var(--kahaloa-paper); box-shadow:0 12px 24px rgba(24,58,61,.12); }
.s-nav-sub a { display:block; padding:7px 0; font-family:'Noto Sans KR',sans-serif; letter-spacing:0; white-space:nowrap; }
.s-nav-list > li:hover .s-nav-sub { display:block; }
.s-nav-promo { margin-left:auto; color:var(--kahaloa-coral); }
#sidebarMenu { display:none; }
.s-footer { background:var(--kahaloa-deep); color:rgba(255,255,255,.68); }
.s-footer a { color:inherit; }
.jw-topbtn { position:fixed; right:24px; bottom:24px; z-index:30; display:grid; width:42px; height:42px; place-items:center; border:0; border-radius:50%; background:var(--kahaloa-coral); color:#fff; opacity:0; pointer-events:none; transition:opacity .2s; }
.jw-topbtn.is-show { opacity:1; pointer-events:auto; }
@media (max-width:768px) {
	.main-container,.s-container { width:calc(100% - 40px); }
	.s-topbar { display:none; }
	.s-header-main { min-height:68px; gap:15px; }
	.s-logo img { width:34px; height:34px; }
	.s-logo span,.s-header-tools { display:none; }
	.s-search { flex:1; width:auto; }
	.s-mobile-menu { display:block; }
	.s-nav { display:none; }
	.s-nav.is-mobile-open { display:block; }
	.s-nav-inner { display:block; padding:18px 20px; }
	.nav-signature { display:none; }
	.s-nav-list { display:grid; gap:17px; }
	.s-nav-list > li { padding:0; }
	.s-nav-promo { display:block; margin-top:20px; }
	#sidebarMenu { position:fixed; inset:0 0 0 auto; z-index:50; display:block; width:min(84vw,340px); padding:24px; background:var(--kahaloa-paper); transform:translateX(100%); transition:transform .25s ease; box-shadow:-10px 0 35px rgba(24,58,61,.15); }
	#sidebarMenu.is-open { transform:translateX(0); }
	.sidebarMenu-close { display:flex; justify-content:flex-end; }
	.sidebarMenu-close button { border:0; background:transparent; font-size:24px; }
	#sidebarMenu ul { margin:40px 0 0; padding:0; list-style:none; }
	#sidebarMenu li { border-bottom:1px solid var(--kahaloa-line); }
	#sidebarMenu a { display:block; padding:17px 0; font-size:17px; font-weight:600; }
}
