/* Homepage holiday gift module (.kcg). Built from the KnifeCenter design system; design canvas UdjNkRNe8wnxjYerL7jANG. Tabs: /assets/home-gift-module-1.js */
.kcg{--orange:#f05a29;--orange-strong:#cc4900;--orange-deep:#b03f00;--orange-text:#bb3800;--on-orange:#ffffff;--ink-900:#222222;--ink-800:#333333;--ink-700:#595959;--on-ink:#ffffff;--surface:#ffffff;--surface-sunk:#f5f5f5;--surface-band:#e8e8e8;--rule-soft:#e8e8e8;--rule:#dddddd;--rule-strong:#8a8a8a;--link:#17608f;--accent-link:var(--link);
  max-width:1200px;margin:0 auto 30px;text-align:left;font-family:"Open Sans",Arial,Helvetica,sans-serif;font-size:14px;line-height:20px;color:var(--ink-800);-webkit-font-smoothing:antialiased}
.kcg *,.kcg *::before,.kcg *::after{box-sizing:border-box}
.kcg :focus-visible{outline:2px solid var(--link);outline-offset:2px}
.kcg-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 48px;background:var(--ink-900);color:var(--on-ink)}
.kcg-hero :focus-visible{outline-color:var(--on-ink)}
.kcg-eyebrow{margin:0 0 10px;font-size:16px;line-height:22px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--orange)}
.kcg-h2{margin:0;font-size:44px;line-height:52px;font-weight:500;color:inherit}
.kcg a.kcg-btn,.kcg a.kcg-btn:visited{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:8px;background:var(--orange-strong);color:var(--on-orange);font-size:16px;line-height:20px;font-weight:600;text-decoration:none;transition:background-color 150ms ease,transform 100ms ease-out}
.kcg-btn:active{transform:scale(.98)}
.kcg-tabs{display:flex;gap:28px;padding:0 48px;background:var(--surface);border-bottom:1px solid var(--rule-soft);overflow-x:auto;scrollbar-width:none}
.kcg-tabs::-webkit-scrollbar{display:none}
/* Edge fade only while tabs are hidden that way (JS sets data-more-*), so the row reads as swipeable. */
.kcg-tabs[data-more-right]{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent)}
.kcg-tabs[data-more-left]{-webkit-mask-image:linear-gradient(to right,transparent,#000 56px);mask-image:linear-gradient(to right,transparent,#000 56px)}
.kcg-tabs[data-more-left][data-more-right]{-webkit-mask-image:linear-gradient(to right,transparent,#000 56px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,transparent,#000 56px,#000 calc(100% - 56px),transparent)}
.kcg-tab{position:relative;flex-shrink:0;min-height:48px;padding:15px 0;border:0;background:none;font:inherit;font-size:15px;line-height:18px;font-weight:600;color:var(--ink-700);white-space:nowrap;cursor:pointer;transition:color 150ms ease}
.kcg-tab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--orange-strong);opacity:0;transition:opacity 150ms ease}
.kcg-tab[aria-selected="true"]{color:var(--ink-800)}
.kcg-tab[aria-selected="true"]::after{opacity:1}
.kcg-tab:focus-visible{outline-offset:-2px}
.kcg-panels{padding:32px 48px 36px;background:var(--surface-sunk)}
.kcg-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.kcg-panel-title{margin:0;font-size:20px;line-height:26px;font-weight:500;color:var(--ink-900)}
.kcg-panel-sub{margin:4px 0 0;color:var(--ink-700)}
.kcg a.kcg-all,.kcg a.kcg-all:visited{flex-shrink:0;font-weight:600;color:var(--accent-link);text-decoration:none}
.kcg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kcg a.kcg-card,.kcg a.kcg-card:visited{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--rule);border-radius:6px;color:inherit;text-decoration:none;transition:border-color 150ms ease}
.kcg-card-img{display:flex;align-items:center;justify-content:center;height:240px;padding:8px;box-sizing:border-box;background:var(--surface);border-bottom:1px solid var(--rule-soft)}
.kcg-card-img img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.kcg-card-body{display:flex;flex-direction:column;flex:1 1 auto;gap:4px;padding:16px}
.kcg-card-title{font-size:16px;line-height:22px;font-weight:600;color:var(--ink-900)}
.kcg-card-desc{font-size:13px;line-height:18px;color:var(--ink-700)}
.kcg .kcg-card-cta{margin-top:auto;padding-top:8px;font-size:13px;line-height:18px;font-weight:600;color:var(--accent-link)}
.kcg-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}
.kcg-chips-label{margin-right:4px;font-size:13px;line-height:18px;font-weight:600;color:var(--ink-900)}
.kcg a.kcg-chip,.kcg a.kcg-chip:visited{display:inline-flex;align-items:center;min-height:36px;padding:8px 14px;border:1px solid var(--rule);border-radius:18px;background:var(--surface);font-size:14px;line-height:1.2;color:var(--ink-800);text-decoration:none;transition:border-color 150ms ease,color 150ms ease,transform 100ms ease-out}
.kcg-chip:active{transform:scale(.97)}
.kcg a:hover,.kcg a:focus{text-decoration:none}
@media (hover:hover){
  .kcg a.kcg-btn:hover{background:var(--orange-deep)}
  .kcg-tab:hover{color:var(--ink-800)}
  .kcg a.kcg-all:hover{text-decoration:underline}
  .kcg a.kcg-card:hover{border-color:var(--rule-strong)}
  .kcg a.kcg-card:hover .kcg-card-cta{text-decoration:underline}
  .kcg a.kcg-chip:hover{border-color:var(--orange-strong);color:var(--orange-strong)}
}
@media (max-width:979px){.kcg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .kcg-hero{flex-direction:column;align-items:stretch;padding:24px 16px}
  .kcg-h2{font-size:28px;line-height:34px}.kcg-eyebrow{font-size:14px;line-height:20px}
  .kcg-btn{width:100%}
  .kcg-tabs{gap:24px;padding:0 16px}
  .kcg-panels{padding:24px 16px}
  .kcg-panel-head{align-items:baseline;margin-bottom:16px}
  .kcg-panel-sub{display:none}
  .kcg-grid{gap:12px}
  .kcg-card-img{height:170px;padding:6px}
  .kcg-card-body{padding:12px}
  .kcg-card-title{font-size:14px;line-height:20px}
  .kcg-card-cta{display:none}
  .kcg-chips-label{width:100%}
  .kcg a.kcg-chip{min-height:44px}
}
@media (prefers-reduced-motion:reduce){.kcg *{transition:none!important;transform:none!important}}
