/**
 * Outdoor Haven v3 header system.
 * One authoritative responsive header layer shared by every template.
 */
.site-header__main {
	min-height: 92px;
	grid-template-columns: minmax(210px, .78fr) minmax(360px, 1.72fr) auto;
	align-items: center;
	gap: clamp(1rem, 2.35vw, 2.2rem);
}

.site-branding,
.custom-logo-link,
.ch-brand-fallback {
	min-width: 0;
	align-items: center;
}

.custom-logo-link {
	min-height: 76px;
}

.custom-logo {
	width: auto;
	max-width: 210px;
	max-height: 82px;
	object-fit: contain;
}

.ch-brand-fallback img {
	width: 114px;
	height: 80px;
	object-fit: contain;
}

.site-header__search {
	width: 100%;
	max-width: 720px;
	justify-self: center;
}

.site-header__search .ch-product-search {
	position: relative;
	display: block;
}

.site-header__search .ch-product-search input[type="search"] {
	width: 100%;
	min-height: 54px;
	padding: .8rem 7.3rem .8rem 1.2rem;
	border: 1px solid #d8d2ca;
	border-radius: var(--ch-radius-pill);
	background: #fff;
	box-shadow: 0 4px 16px rgba(23, 63, 67, .045);
	font-size: .86rem;
	transition: border-color var(--ch-transition), box-shadow var(--ch-transition);
}

.site-header__search .ch-product-search input[type="search"]:focus {
	outline: 0;
	border-color: var(--ch-blue-deep);
	box-shadow: 0 0 0 3px rgba(14, 107, 111, .11), 0 6px 20px rgba(23, 63, 67, .055);
}

.site-header__search .ch-product-search button {
	position: absolute;
	top: 5px;
	right: 5px;
	display: inline-flex;
	width: auto;
	min-width: 104px;
	height: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: .42rem;
	padding: 0 1rem;
	border: 1px solid var(--ch-blue-deep);
	border-radius: var(--ch-radius-pill);
	background: var(--ch-blue-deep);
	color: var(--ch-white);
	box-shadow: none;
	font-size: .72rem;
	font-weight: 800;
}

.site-header__search .ch-product-search button span {
	display: inline;
}

.site-header__search .ch-product-search button svg {
	width: 17px;
	height: 17px;
}

.site-header__search .ch-product-search button:hover,
.site-header__search .ch-product-search button:focus-visible {
	border-color: var(--ch-blue);
	background: var(--ch-blue);
	color: var(--ch-white);
}

.site-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .5rem;
}

.ch-header-action {
	position: relative;
	display: inline-flex;
	min-width: 0;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	gap: .48rem;
	padding: .52rem .78rem;
	border: 1px solid #ded8d0;
	border-radius: var(--ch-radius-pill);
	background: var(--ch-white);
	color: var(--ch-ink);
	box-shadow: none;
	font-size: .72rem;
	font-weight: 780;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: border-color var(--ch-transition), background var(--ch-transition), color var(--ch-transition), box-shadow var(--ch-transition);
}

.ch-header-action:hover,
.ch-header-action:focus-visible {
	border-color: rgba(14, 107, 111, .48);
	background: #F5F8F4;
	color: var(--ch-blue-deep);
	box-shadow: 0 5px 16px rgba(23, 63, 67, .055);
	transform: none;
}

.ch-header-action.is-current {
	border-color: rgba(14, 107, 111, .45);
	background: #EDF4F1;
	color: var(--ch-blue-deep);
	box-shadow: inset 0 0 0 1px rgba(14, 107, 111, .04);
}

.ch-header-action svg {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.ch-cart-link {
	padding-right: .7rem;
}

.site-header__actions .ch-cart-count {
	position: static;
	display: inline-grid;
	min-width: 22px;
	height: 22px;
	margin-left: .05rem;
	place-items: center;
	padding: 0 5px;
	border: 0;
	border-radius: 999px;
	background: #E6EFEC;
	color: var(--ch-blue-deep);
	box-shadow: none;
	font-size: .64rem;
	font-weight: 850;
	line-height: 1;
}

.site-header__actions .ch-header-action.is-current .ch-cart-count {
	background: var(--ch-blue-deep);
	color: var(--ch-white);
}

.ch-cart-count[hidden],
.ch-menu-close[hidden] {
	display: none !important;
}

/* The drawer close control must never participate in desktop header layout. */
@media (min-width: 901px) {
	.site-header__nav-row .ch-menu-close {
		display: none !important;
	}
}

@media (max-width: 1180px) and (min-width: 901px) {
	.site-header__main {
		grid-template-columns: minmax(180px, .65fr) minmax(280px, 1.35fr) auto;
		gap: .85rem;
	}

	.custom-logo {
		max-width: 190px;
		max-height: 76px;
	}

	.site-header__search .ch-product-search button {
		min-width: 48px;
		width: 48px;
		padding: 0;
	}

	.site-header__search .ch-product-search button span {
		display: none;
	}

	.site-header__search .ch-product-search input[type="search"] {
		padding-right: 4rem;
	}

	.ch-header-action {
		padding-inline: .68rem;
		font-size: .68rem;
	}
}

@media (max-width: 900px) {
	.site-header__main {
		min-height: 76px;
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: .55rem;
	}

	.site-branding {
		justify-content: center;
	}

	.custom-logo-link {
		min-height: 0;
	}

	.custom-logo {
		max-width: 168px;
		max-height: 64px;
	}

	.ch-brand-fallback img {
		width: 90px;
		height: 64px;
	}

	.site-header__search {
		display: none;
	}

	.ch-search-toggle {
		display: inline-flex;
	}

	.ch-header-action {
		width: 44px;
		min-width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		border-radius: 50%;
		box-shadow: none;
	}

	.ch-header-action > span:not(.ch-cart-count) {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.site-header__actions .ch-cart-count {
		position: absolute;
		top: -5px;
		right: -5px;
		min-width: 19px;
		height: 19px;
		padding: 0 4px;
		border: 2px solid var(--ch-white);
		background: var(--ch-blue-deep);
		color: var(--ch-white);
		font-size: .6rem;
	}

	.site-header__nav-row .primary-navigation.is-open .ch-menu-close:not([hidden]) {
		display: inline-flex;
	}
}

@media (max-width: 640px) {
	.custom-logo {
		max-width: 154px;
		max-height: 60px;
	}

	.site-header__actions {
		gap: .25rem;
	}
}



/* Navigation polish and predictable interaction states. */
.site-header {
	background: rgba(255,255,255,.985);
	border-bottom: 1px solid rgba(39,53,65,.08);
}
.site-header.is-sticky {
	box-shadow: 0 10px 30px rgba(39,53,65,.055);
}
.primary-navigation a {
	text-underline-offset: .2em;
}
.primary-navigation > .menu > li > a,
.primary-navigation > .nav-menu > li > a {
	font-weight: 760;
}
.ch-header-action:focus-visible,
.site-header__search .ch-product-search input[type="search"]:focus-visible,
.site-header__search .ch-product-search button:focus-visible {
	outline: 3px solid rgba(84,136,177,.22);
	outline-offset: 2px;
}

/* v3.1 Smart Product Search */
.ch-product-search{position:relative}
.ch-smart-search{position:absolute;z-index:1200;top:calc(100% + 10px);left:0;right:0;min-width:min(620px,92vw);max-height:min(620px,72vh);overflow:auto;background:#fff;border:1px solid rgba(56,107,147,.16);border-radius:18px;box-shadow:0 22px 60px rgba(39,53,65,.18);padding:8px}
.ch-smart-search[hidden]{display:none!important}
.ch-smart-search__item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:9px 10px;border-radius:13px;text-decoration:none;color:inherit;transition:background .16s ease,transform .16s ease}
.ch-smart-search__item:hover,.ch-smart-search__item:focus,.ch-smart-search__item.is-active{background:#FAF6E9;outline:none;transform:translateY(-1px)}
.ch-smart-search__media{display:grid;place-items:center;width:64px;height:64px;border-radius:11px;overflow:hidden;background:#F8F2E8}
.ch-smart-search__media img{width:100%;height:100%;object-fit:contain}
.ch-smart-search__image-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--ch-ivory),var(--ch-sky))}
.ch-smart-search__copy{min-width:0;display:grid;gap:3px}
.ch-smart-search__copy strong{font-size:.92rem;line-height:1.25;color:var(--ch-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-smart-search__copy small{font-size:.73rem;color:var(--ch-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-smart-search__price{font-size:.88rem;font-weight:750;color:var(--ch-blue-deep)}
.ch-smart-search__price del{opacity:.55;margin-right:5px}.ch-smart-search__price ins{text-decoration:none;color:#b84b38}
.ch-smart-search__all{display:flex;align-items:center;justify-content:center;margin-top:4px;padding:11px 12px;border-radius:12px;background:var(--ch-blue-soft);color:var(--ch-blue-deep);font-weight:800;text-decoration:none}
.ch-smart-search__all:hover,.ch-smart-search__all:focus{background:#DDEAE5;outline:none}
.ch-smart-search__empty{padding:18px 14px;text-align:center;color:var(--ch-ink-soft);font-size:.9rem}
.ch-product-search.is-smart-loading::after{content:"";position:absolute;right:58px;top:50%;width:15px;height:15px;margin-top:-7px;border:2px solid rgba(56,107,147,.22);border-top-color:var(--ch-blue-deep);border-radius:50%;animation:chSmartSpin .7s linear infinite}
@keyframes chSmartSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.ch-smart-search{position:fixed;top:96px;left:12px;right:12px;min-width:0;max-height:calc(100vh - 120px);border-radius:16px}.ch-search-panel .ch-smart-search{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:55vh}}

/* Footer headings become accordion controls only when core.js enhances them. */
.ch-footer-toggle {
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: default;
}

.ch-footer-toggle svg {
	display: none;
}

/* Mobile-only components are hidden universally so they cannot flash or leak
 * onto desktop while the media-scoped mobile stylesheet is loading. */
.ch-mobile-searchbar,
.ch-mobile-menu-head,
.ch-mobile-menu-shortcuts {
	display: none;
}

@media (min-width: 901px) {
	.ch-mobile-searchbar,
	.ch-mobile-menu-head,
	.ch-mobile-menu-shortcuts {
		display: none !important;
	}
}


/* Outdoor Haven v4.0.0 brand lockup */
.site-header__main{min-height:104px;grid-template-columns:minmax(255px,.9fr) minmax(360px,1.65fr) auto}
.ch-brand-fallback{display:inline-flex;gap:.72rem;text-decoration:none;color:var(--ch-ink);white-space:nowrap}
.ch-brand-fallback img{width:88px;height:88px;object-fit:contain;flex:0 0 88px}
.ch-brand-lockup{display:flex;flex-direction:column;justify-content:center;line-height:1}
.ch-brand-lockup strong{font-family:var(--ch-font-display);font-size:clamp(1.45rem,2vw,2rem);font-weight:900;letter-spacing:.015em;color:var(--ch-blue-deep);text-transform:uppercase}
.ch-brand-lockup small{margin-top:.42rem;font-size:.78rem;font-weight:800;letter-spacing:.015em;color:#B95F30}
.ch-brand-fallback--footer{white-space:normal}
.ch-brand-fallback--footer img{width:104px;height:104px;flex-basis:104px}
.ch-brand-fallback--footer .ch-brand-lockup strong{font-size:1.8rem}
.ch-brand-fallback--footer .ch-brand-lockup small{font-size:.84rem}
.site-header__nav-row{border-top:1px solid rgba(233,199,154,.55)}
.primary-navigation>.menu>li>a{font-weight:780}
.primary-navigation>.menu>li.current-menu-item>a,
.primary-navigation>.menu>li>a:hover{color:#B95F30}
.site-header__search .ch-product-search button{border-color:var(--ch-blue-deep);background:var(--ch-blue-deep)}
.site-header__search .ch-product-search button:hover{border-color:#B95F30;background:#B95F30}
.ch-announcement{background:var(--ch-blue-deep);color:#fff}


/* === Outdoor Haven v4.0.2 approved header recreation === */
:root{--ch-container:1480px}
.ch-announcement{min-height:40px;background:#17696d;color:#fff;font-size:.83rem;font-weight:700;letter-spacing:0}
.ch-announcement__inner.ch-announcement__promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:40px;align-items:center;gap:1.5rem;padding-inline:34px}
.ch-announcement__promise{display:flex;align-items:center;justify-content:center;gap:.65rem;min-width:0;color:#fff;text-decoration:none;white-space:nowrap}
.ch-announcement__promise svg{width:18px;height:18px;flex:0 0 18px;stroke-width:1.9}
.ch-announcement__promise--support:hover,.ch-announcement__promise--support:focus-visible{color:#ffe3ca}
.site-header{background:#fffaf2;border-bottom:0}
.site-header.is-sticky{background:rgba(255,250,242,.985);box-shadow:0 10px 30px rgba(31,79,84,.08)}
.site-header__main{min-height:132px;grid-template-columns:minmax(390px,.95fr) minmax(410px,1.35fr) minmax(285px,.75fr);gap:clamp(1.15rem,2.5vw,2.8rem);padding-inline:34px}
.site-branding{overflow:visible}
.ch-brand-fallback{display:flex;align-items:center;gap:1rem;white-space:nowrap;color:#1f4f54;text-decoration:none}
.ch-brand-mark{display:grid;width:112px;height:112px;flex:0 0 112px;place-items:center}
.ch-brand-mark .custom-logo,.ch-brand-mark img{width:112px!important;height:112px!important;max-width:none!important;max-height:none!important;object-fit:contain}
.ch-brand-lockup{display:flex;flex-direction:column;justify-content:center;line-height:1}
.ch-brand-lockup strong{font-family:var(--ch-font-display);font-size:clamp(2.25rem,3.25vw,3.35rem);font-weight:900;line-height:.92;letter-spacing:-.035em;color:#17696d;text-transform:uppercase}
.ch-brand-lockup small{margin-top:.48rem;font-size:clamp(.9rem,1.15vw,1.13rem);font-weight:850;line-height:1;color:#a34d27;letter-spacing:.01em}
.site-header__search{max-width:650px}
.site-header__search .ch-product-search input[type="search"]{min-height:56px;padding:.75rem 5rem .75rem 1.35rem;border:1px solid #ddc7ad;border-radius:999px;background:#fff;color:#30484a;box-shadow:none;font-size:.93rem}
.site-header__search .ch-product-search input[type="search"]::placeholder{color:#8a8a86}
.site-header__search .ch-product-search input[type="search"]:focus{border-color:#d87842;box-shadow:0 0 0 3px rgba(216,120,66,.13)}
.site-header__search .ch-product-search button{top:0;right:0;width:64px;min-width:64px;height:56px;min-height:56px;padding:0;border:0;border-radius:0 999px 999px 0;background:#df7138;color:#fff}
.site-header__search .ch-product-search button span{display:none}
.site-header__search .ch-product-search button svg{width:25px;height:25px;stroke-width:2.3}
.site-header__search .ch-product-search button:hover,.site-header__search .ch-product-search button:focus-visible{background:#bb572d;border-color:#bb572d}
.site-header__actions{gap:.35rem}
.ch-header-action{min-width:78px;min-height:74px;flex-direction:column;gap:.42rem;padding:.35rem .45rem;border:0;border-radius:14px;background:transparent;color:#073f45;box-shadow:none;font-size:.78rem;font-weight:760;line-height:1.15}
.ch-header-action:hover,.ch-header-action:focus-visible,.ch-header-action.is-current{border:0;background:rgba(241,227,203,.55);color:#17696d;box-shadow:none}
.ch-header-action svg{width:29px;height:29px;flex-basis:29px;stroke-width:1.6}
.site-header__actions .ch-cart-count{position:absolute;top:5px;right:10px;display:grid;min-width:21px;height:21px;margin:0;padding:0 5px;border:2px solid #fffaf2;border-radius:999px;background:#df7138;color:#fff;font-size:.65rem;font-weight:900}
.site-header__actions .ch-cart-count[hidden]{display:grid!important}
.site-header__nav-row{min-height:56px;border-top:1px solid #ead8c1;border-bottom:1px solid #ead8c1;background:#fffdf8}
.ch-nav-shell{display:flex;min-height:56px;align-items:center;gap:1rem;padding-inline:34px}
.site-header__nav-row .primary-navigation{flex:1;min-width:0;min-height:56px;margin:0}
.site-header__nav-row .primary-navigation>.menu,.site-header__nav-row .primary-navigation>.nav-menu{min-height:56px;justify-content:flex-start;gap:clamp(.78rem,1.65vw,1.65rem)}
.primary-navigation>.menu>li>a,.primary-navigation>.nav-menu>li>a{min-height:56px;color:#133f43;font-size:.82rem;font-weight:790;letter-spacing:0}
.primary-navigation>.menu>li:first-child>a,.primary-navigation>.nav-menu>li:first-child>a{gap:.5rem;color:#df7138}
.primary-navigation .ch-nav-home-icon{width:19px;height:19px;flex:0 0 19px;stroke-width:2}
.primary-navigation>.menu>li>a::after,.primary-navigation>.nav-menu>li>a::after{bottom:2px;height:4px;background:#df7138;border-radius:6px}
.primary-navigation>.menu>li:hover>a,.primary-navigation>.menu>li:focus-within>a,.primary-navigation>.menu>li.current-menu-item>a,.primary-navigation>.menu>li.current-menu-ancestor>a,.primary-navigation>.nav-menu>li:hover>a,.primary-navigation>.nav-menu>li:focus-within>a,.primary-navigation>.nav-menu>li.current-menu-item>a,.primary-navigation>.nav-menu>li.current-menu-ancestor>a{color:#c75e31}
.ch-menu-sale-item{display:none}
.ch-nav-sale{display:inline-flex;min-width:150px;height:48px;align-items:center;justify-content:center;gap:.6rem;padding:0 1.2rem;border-radius:999px;background:#df7138;color:#fff;font-size:.9rem;font-weight:850;text-decoration:none;box-shadow:0 7px 18px rgba(185,87,45,.14);transition:background .18s ease,transform .18s ease}
.ch-nav-sale svg{width:20px;height:20px;stroke-width:2}
.ch-nav-sale:hover,.ch-nav-sale:focus-visible{background:#ba542a;color:#fff;transform:translateY(-1px)}
@media(max-width:1320px) and (min-width:901px){
  .site-header__main{grid-template-columns:minmax(310px,.85fr) minmax(330px,1.2fr) minmax(230px,.7fr);padding-inline:24px;gap:1.1rem}
  .ch-brand-mark{width:94px;height:94px;flex-basis:94px}.ch-brand-mark .custom-logo,.ch-brand-mark img{width:94px!important;height:94px!important}
  .ch-brand-lockup strong{font-size:2.15rem}.ch-brand-lockup small{font-size:.86rem}
  .ch-header-action{min-width:64px;font-size:.7rem}.ch-header-action svg{width:25px;height:25px}
  .site-header__nav-row .primary-navigation>.menu,.site-header__nav-row .primary-navigation>.nav-menu{gap:.72rem}.primary-navigation>.menu>li>a,.primary-navigation>.nav-menu>li>a{font-size:.73rem}.ch-nav-sale{min-width:126px;padding-inline:1rem}
}
.ch-wishlist-link{position:relative}
.ch-wishlist-count{position:absolute;top:5px;right:9px;display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border:2px solid #fffaf2;border-radius:999px;background:#df7138;color:#fff;font-size:.65rem;font-weight:900;line-height:1}
@media(max-width:900px){.ch-wishlist-count{top:-1px;right:-1px;min-width:18px;height:18px;font-size:.56rem}}
@media(min-width:901px){.primary-navigation>.menu>li.menu-item-has-children,.primary-navigation>.nav-menu>li.menu-item-has-children{padding-right:10px}.primary-navigation>.menu>li.menu-item-has-children>.ch-submenu-toggle,.primary-navigation>.nav-menu>li.menu-item-has-children>.ch-submenu-toggle{position:absolute;top:50%;right:-5px;display:grid;width:18px;height:18px;place-items:center;padding:0;border:0;background:transparent;color:#133f43;pointer-events:none;transform:translateY(-50%)}.primary-navigation>.menu>li.menu-item-has-children>.ch-submenu-toggle svg,.primary-navigation>.nav-menu>li.menu-item-has-children>.ch-submenu-toggle svg{width:12px;height:12px;stroke-width:2}}
