/* Shared storefront header runtime. All selectors are namespaced so the component
   can replace legacy headers on the homepage, collection, and PDP without leaking
   typography or layout rules into page content. */
.cn-shared-promo { min-height: 36px; display: grid; place-items: center; padding: 7px 16px; background: #13b3ff; color: #000; font: 800 11px/1.3 ui-sans-serif,system-ui,sans-serif; text-align: center; }
.cn-shared-header { position: sticky; top: 0; z-index: 40; display: grid; grid-template-columns: 44px minmax(0,1fr) 44px 44px; align-items: center; min-height: 58px; padding: 7px 8px; border-bottom: 1px solid #17191f; background: rgba(255,255,255,.98); color: #17191f; font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.cn-shared-logo { justify-self: center; color: #17191f; font-size: 21px; font-weight: 900; letter-spacing: -.04em; text-decoration: none; white-space: nowrap; }
.cn-shared-desktop-nav { display: none; }
.cn-shared-actions { display: contents; }
.cn-icon-button { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: 21px; cursor: pointer; }
.cn-menu-trigger { background-image: url('./icons/lucide/menu.svg'); }
.cn-menu-trigger[aria-expanded="true"] { background-image: url('./icons/lucide/x.svg'); }
.cn-search-trigger { background-image: url('./icons/lucide/search.svg'); }
.cn-cart-trigger { background-image: url('./icons/lucide/shopping-bag.svg'); }
.cn-action-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cn-cart-count { display: none; }
.cn-mobile-menu { position: fixed; inset: 94px 0 0; z-index: 39; overflow-y: auto; padding: 10px 18px 18px; background: #fff; color: #17191f; font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.cn-shop-destination { display: grid; grid-template-columns: 64px minmax(0,1fr) 18px; gap: 14px; align-items: center; min-height: 67px; padding: 7px 0; border-bottom: 1px solid #d8dce3; color: #17191f; text-decoration: none; }
.cn-shop-image { display: grid; width: 64px; height: 54px; place-items: center; background: #f0f1f3; color: #737883; font-size: 9px; font-weight: 800; }
.cn-shop-copy { display: grid; gap: 2px; }
.cn-shop-copy strong { font-size: 18px; line-height: 1.1; letter-spacing: -.02em; }
.cn-shop-copy span { color: #62656f; font-size: 11px; line-height: 1.35; }
.cn-lucide { display: block; width: 19px; height: 19px; }
.cn-utility-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #17191f; }
.cn-utility-group h2 { margin: 0 0 3px; font-size: 11px !important; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; }
.cn-utility-group a { display: flex; min-height: 34px; align-items: center; color: #4b4f58; font-size: 12px; font-weight: 700; text-decoration: none; }
.cn-menu-bottom { padding-top: 12px; }
.cn-shop-all { display: flex; min-height: 50px; align-items: center; justify-content: center; background: #17191f; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; }
.cn-menu-support { margin: 10px 0 0; color: #62656f; font-size: 10px; line-height: 1.4; text-align: center; }
.cn-menu-support strong { color: #17191f; }
.cn-overlay { position: fixed; inset: 0; z-index: 70; background: rgba(0,0,0,.42); font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.cn-search-panel,.cn-cart-drawer { position: absolute; inset: 0 0 0 auto; display: flex; width: min(430px,100%); flex-direction: column; background: #fff; color: #17191f; box-shadow: -12px 0 36px rgba(0,0,0,.16); }
.cn-panel-head { display: flex; min-height: 68px; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid #17191f; }
.cn-panel-head h2 { margin: 0; font-size: 21px !important; line-height: 1.2; letter-spacing: -.01em; }
.cn-close { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.cn-search-body,.cn-cart-scroll { flex: 1; overflow: auto; padding: 18px; }
.cn-search-field { display: grid; grid-template-columns: 1fr 22px; gap: 10px; align-items: center; padding: 0 12px; border: 1px solid #17191f; }
.cn-search-field input { min-width: 0; min-height: 48px; border: 0; outline: 0; font: inherit; }
.cn-search-hint { margin: 10px 0 0; color: #62656f; font-size: 12px; }
.cn-search-results { display: grid; margin-top: 14px; border-top: 1px solid #d8dce3; }
.cn-search-result { display: grid; grid-template-columns: 58px 1fr 18px; gap: 12px; align-items: center; min-height: 76px; padding: 9px 0; border-bottom: 1px solid #d8dce3; color: #17191f; text-decoration: none; }
.cn-result-image,.cn-cart-image { display: grid; width: 58px; height: 58px; place-items: center; background: #f0f1f3; color: #737883; font-size: 9px; font-weight: 800; }
.cn-search-result strong,.cn-search-result small { display: block; }
.cn-search-result small { margin-top: 2px; color: #62656f; }
.cn-cart-empty { display: grid; gap: 16px; }
.cn-cart-empty h3,.cn-cart-empty p { margin: 0; }
.cn-cart-empty p { color: #62656f; }
.cn-cart-recommendation { display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center; padding: 12px 0; border-block: 1px solid #d8dce3; }
.cn-cart-recommendation .cn-cart-image { width: 76px; height: 88px; }
.cn-cart-recommendation h4,.cn-cart-line h3 { margin: 0 0 3px; font-size: 14px; }
.cn-price { font-weight: 800; }
.cn-secondary-button { min-height: 40px; padding: 8px 12px; border: 1px solid #17191f; background: #fff; font-weight: 800; cursor: pointer; }
.cn-cart-line { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 14px; }
.cn-cart-line .cn-cart-image { width: 86px; height: 105px; }
.cn-cart-variant { margin: 0 0 10px; color: #62656f; font-size: 11px; }
.cn-cart-actions { display: flex; align-items: center; gap: 10px; margin-top: 9px; }
.cn-quantity { display: grid; grid-template-columns: repeat(3,34px); min-height: 36px; border: 1px solid #17191f; }
.cn-quantity button,.cn-quantity output { display: grid; place-items: center; border: 0; background: #fff; font-weight: 800; }
.cn-remove { display: grid; width: 38px; height: 38px; place-items: center; border: 0; background: transparent; cursor: pointer; }
.cn-shipping { display: grid; gap: 8px; margin-top: 20px; padding: 14px; background: #eef9fd; }
.cn-shipping p { margin: 0; font-size: 12px; }
.cn-shipping-bar { height: 5px; overflow: hidden; background: #c9edf9; }
.cn-shipping-bar span { display: block; width: 100%; height: 100%; background: #13b3ff; }
.cn-cart-footer { position: sticky; bottom: 0; padding: 14px 18px 18px; border-top: 1px solid #17191f; background: #fff; }
.cn-cart-total { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 15px; }
.cn-checkout { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; border: 0; background: #17191f; color: #fff; font-weight: 800; cursor: pointer; }
.cn-cart-trust { display: flex; gap: 7px; align-items: flex-start; margin: 10px 0 0; color: #62656f; font-size: 10px; line-height: 1.4; }
.cn-cart-trust .cn-lucide { width: 15px; height: 15px; flex: 0 0 auto; }
.cn-toast { position: fixed; right: 18px; bottom: 18px; z-index: 90; max-width: 320px; padding: 12px 14px; background: #17191f; color: #fff; font: 700 12px/1.4 ui-sans-serif,system-ui,sans-serif; }
[hidden] { display: none !important; }
@media (min-width:760px) {
  .cn-shared-header { grid-template-columns: 150px minmax(450px,1fr) auto; gap: 18px; padding-inline: 28px; }
  .cn-menu-trigger { display: none; }
  .cn-shared-logo { justify-self: start; }
  .cn-shared-desktop-nav { display: flex; align-items: center; justify-content: center; gap: 18px; }
  .cn-shared-desktop-nav a { display: inline-flex; min-height: 44px; align-items: center; color: #17191f; font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
  .cn-shared-actions { display: flex; align-items: center; gap: 4px; }
  .cn-search-trigger,.cn-cart-trigger { width: auto; min-width: max-content; padding: 0 8px; background-image: none; font-size: 12px; font-weight: 800; }
  .cn-action-text { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .cn-cart-count { display: inline; margin-left: 4px; }
  .cn-mobile-menu { display: none !important; }
  .cn-overlay { padding-top: 0; }
}
