/* Shared storefront header, based on the supplied 1920 x 200 reference. */
.coolnivo-site.coolnivo-shared-header { --orange:#ff8a00; position:relative; z-index:20; overflow:visible; width:100%; max-width:none; margin:0; background:#fff; color:#111; font:16px/1.4 Arial,Helvetica,sans-serif; }
.coolnivo-shared-header *,.coolnivo-shared-header *::before,.coolnivo-shared-header *::after { box-sizing:border-box; }
.coolnivo-shared-header a { text-decoration:none; color:inherit; }
.coolnivo-shared-header a:focus-visible,.coolnivo-shared-header button:focus-visible,.coolnivo-shared-header input:focus-visible { outline:3px solid #ff8a00; outline-offset:5px; }
.cn-site-header { position:relative; width:85.416667%; max-width:1640px; min-height:clamp(112px,10.416667vw,200px); margin:0 auto; padding:0; display:grid; grid-template-columns:15.55% minmax(0,1fr) 12.2%; column-gap:6.5%; align-items:center; border:0; border-radius:0; background:#fff; }
.cn-header-brand { display:block; width:100%; }
.cn-header-logo { display:block; width:100%; aspect-ratio:255/70; background-image:url('header-reference.png'); background-repeat:no-repeat; background-size:752.941176% 285.714286%; background-position:8.108108% 46.153846%; }
.cn-header-brand img { display:block; width:100%; height:auto; max-height:70px; object-fit:contain; }
.cn-header-nav { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:20px; color:#808080; font-size:clamp(17px,1.666667vw,32px); font-weight:600; line-height:1.25; white-space:nowrap; }
.coolnivo-shared-header .cn-header-nav a { color:#808080; }
.coolnivo-shared-header .cn-header-nav a:hover { color:#ff8a00; }
.cn-header-tools { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:12px; }
.coolnivo-shared-header .cn-header-button { appearance:none; display:grid; place-items:center; flex-shrink:0; width:clamp(26px,2.5vw,48px); height:clamp(30px,2.5vw,48px); padding:0; margin:0; border:0; border-radius:0; box-shadow:none; background:transparent; color:#111; cursor:pointer; font:inherit; }
.coolnivo-shared-header .cn-header-button svg { display:block; width:100%; height:100%; }
.cn-header-cart { position:relative; display:block; }
.coolnivo-shared-header .cart-count { position:absolute; top:-5px; right:-9px; min-width:clamp(17px,1.56vw,30px); height:clamp(17px,1.56vw,30px); padding:0 3px; display:grid; place-items:center; background:#ff7900; border-radius:50%; color:#fff; font:500 clamp(11px,1.04vw,20px)/1 Arial,Helvetica,sans-serif; pointer-events:none; }
.coolnivo-shared-header .cn-menu-toggle { display:none; }
.cn-header-search { width:min(620px,calc(100vw - 36px)); max-width:none; padding:48px 28px 28px; border:0; border-radius:20px; color:#222; background:#fff; box-shadow:0 20px 80px #0004; font:16px/1.4 Arial,Helvetica,sans-serif; }
.cn-header-search::backdrop { background:#11243988; backdrop-filter:blur(5px); }
.coolnivo-shared-header .cn-search-close { position:absolute; right:15px; top:10px; width:32px; height:32px; font-size:30px; }
.coolnivo-shared-header .cn-header-search h2 { margin:0 0 24px; font:600 28px/1.3 Arial,Helvetica,sans-serif; }
.cn-header-search form { display:flex; gap:10px; }
.cn-header-search input { min-width:0; flex:1; padding:12px 15px; border:1px solid #bbb; border-radius:999px; background:#fff; color:#222; font:16px Arial,Helvetica,sans-serif; }
.cn-search-submit { padding:12px 20px; border:0; border-radius:999px; background:#ff8a00; color:#fff; font:600 16px Arial,Helvetica,sans-serif; cursor:pointer; }
.cn-header-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1100px) {
 .cn-site-header { width:100%; max-width:none; min-height:82px; padding:16px 5%; display:flex; justify-content:space-between; gap:20px; }
 .cn-header-brand { flex:0 1 174px; width:36%; min-width:100px; }
 .cn-header-tools { flex:0 0 auto; gap:8px; }
 .coolnivo-shared-header .cn-header-button { width:34px; height:38px; }
 .coolnivo-shared-header .cn-menu-toggle { display:grid; }
 .cn-header-nav { display:none; position:absolute; top:100%; left:0; right:0; margin:0; padding:18px 5% 24px; background:#fff; box-shadow:0 12px 18px #00000012; font-size:19px; white-space:normal; }
 .cn-header-nav.is-open { display:grid; gap:0; }
 .cn-header-nav a { display:block; padding:13px 0; }
 .coolnivo-shared-header .cart-count { top:-2px; right:-5px; min-width:19px; height:19px; font-size:12px; }
}
@media(max-width:380px) {
 .cn-site-header { min-height:74px; gap:12px; padding-inline:4%; }
 .cn-header-tools { gap:5px; }
 .coolnivo-shared-header .cn-header-button { width:29px; height:36px; }
 .cn-search-submit { padding-inline:14px; }
 .cn-header-search { padding-inline:20px; }
}
/* The original homepage photo includes an old navigation strip: omit that strip. */
@media(min-width:681px) {
 .coolnivo-site .hero.uses-design-hero { aspect-ratio:1920/732; }
 .hero.uses-design-hero .picture-hero { background-size:100% 619.672131%; background-position:0 6.309148%; }
 .hero.uses-design-hero::after { inset:0 49% 0 0; }
 .hero.uses-design-hero .hero-copy { top:22%; }
}
@media(max-width:680px) {
 .coolnivo-site .hero { padding-top:328px; }
 .coolnivo-site .hero-art { top:0; }
 .hero.uses-design-hero::after { inset:289px 0 0; }
}
