/* override c7 styles */
body {
	--c7-field-border-radius: 0px; 
	--c7-button-border-radius: 3px; 
	--c7-primary-button-bg: #192951;
	--c7-primary-button-bg-hover:#fff;
	--c7-primary-button-text-color: #fff;
	--c7-heading-font-family: "PT Serif", Arial, Helvetica, sans-serif;
	--c7-heading-font-weight: 400;
	--c7-font-family: "Roboto", "Arial", "Helvetica", sans-serif;
	--c7-body-text-color: #192951;
	--c7-link-color: #2395ed;
	--c7-heading-text-color: #1f3162;
	--c7-field-option-selected-color: #1f3162;
	--c7-field-option-focus-color: #2395ed;
}

/* account header */
#account-header {
	display: inline-flex;
	width: 100%;
	justify-content: end;
}

.fusion-secondary-header #c7-cart,
.fusion-secondary-header #c7-cart a:not(.c7-btn) {
	color: var(--c7-body-text-color);
	font-family: var(--c7-heading-font-family);
}

body .c7-user-nav__account__name svg {
	stroke: #fff;
}

#account-header #c7-account {
	padding-right: 10px;
	display: inline-block;
}
#account-header #c7-cart .c7-user-nav__cart {
	display: flex;
}
#account-header > #c7-cart {
	display: inline-flex;
}
#c7-account, #c7-cart {
	display: inline-block;
	margin-left: 5px;
}
body #c7-account {
	margin-left: 0;
}
#c7-account .c7-user-nav__account {
	padding-right: 0;
}
#c7-account .c7-user-nav__account a {
	color: #fff;
	padding: 0px;
}
#c7-account .c7-user-nav__account__dropdown a {
	color: var(--c7-body-text-color);
}
#c7-cart .c7-user-nav__cart .c7-link:first-child {
	background-color: transparent;
	border: none;
}
body .c7-reservation-widget .c7-date-picker-dropdown button {
	padding: 0px;
}
#c7-cart .c7-user-nav__cart .c7-user-nav__cart__title svg {
	stroke: #fff;
}
#c7-cart .c7-user-nav__cart__count {
	background-color: #000;
}
#c7-cart .c7-user-nav__cart button.c7-link {
	padding: 0px !important;
}
#c7-cart .c7-order-item__description {
	margin-top: 10px;
	font-size: 10px;
}

/* button styles */
body .c7-btn {
	background: #192951 !important;
	color: #fff !important;
	text-transform: uppercase !important;
}
body .c7-btn:hover, body .c7-cart__buttons .c7-btn:hover {
	background: #2b468a !important;
	color: #fff !important;
}

/* slide out cart */
body .c7-side-cart__header button {
	background-color: transparent;
	color: #000;
}

/* shrink checkout buttons */
body .c7-order-summary__buttons a {
	/*font-size: 12px;*/
}

/* make link buttons look like links */
body button.c7-link {
	background-color: transparent;
	border: 0px;
	color: var(--c7-body-text-color);
}
body button.c7-link:hover {
	opacity: 0.6;
}

/* dashboard tweaks */
.c7-account__dashboard__message {
	margin-bottom: 20px;
}
.c7-account-row {
	max-width: 100% !important;
	justify-content: space-between !important;
}
body .c7-account-login__password-options {}
body .c7-account-login__options {}

/* cart styling */
.cart-row h1 {
	display: none;
}
.c7-cart__wrapper, .c7-account__dashboard {
	max-width: 100% !important;
	margin: 0px auto !important;
	justify-content: space-between !important;
}

/* hide club cancellation
.c7-account-club .c7-account-blocks--status .c7-account-block__actions {
	display: none !important;
}
.c7-callout--club .c7-callout__details li:nth-child(2),
.c7-callout--club .c7-callout__details li:nth-child(3) {
	display: none !important;
}*/

/* hide club skip
.c7-account-club__shipment__footer .c7-btn--skip {
	display: none !important;
}*/

/* hide delete account
.c7-account-details .c7-account-details__delete-account {
	display: none !important;
}*/

/* hide reservations
.c7-account__menu li:nth-child(4) {
	display: none;
}
.c7-account-dashboard__left-column .c7-account-block:nth-child(3) {
	display: none;
}
.c7-user-nav__account__dropdown__header ul li:nth-child(4) {
	display: none;
}*/

/* collection styling */
.c7-product-collection .c7-product {
	display: block !important;
	text-align: center !important;
}
.c7-product-collection__product-list {
	grid-template-columns: 1fr 1fr 1fr !important;
}
.c7-product-collection .c7-product img {
	width: auto;
	object-fit: cover;
}
/* fix default right margin on image grid */
.c7-product-collection .c7-product__image {
	margin-right: 0px;
}
.c7-product-collection .c7-product .c7-product__add-to-cart__form {
	justify-content: center !important;
	align-items: center !important;
}

/* calendar styling ADA fix */
.c7-reservation-widget .c7-date-picker-input button {
	background-color: transparent !important;
	border-radius: 0px !important;
}
.c7-reservation-widget .c7-date-picker-dropdown button {
	color: inherit;
	background-color: inherit;
}

body #content #c7-content h3,
body #content #c7-content h4,
body #content #c7-content h5,
body #content #c7-content h6 {
	font-weight: 400;
}

/* Beaver Builder two-column layout */
#collection-container .fl-col-group .fl-col:first-of-type {
	max-width: 220px !important;
}
#collection-container .fl-col-group .fl-col:last-of-type {
	width: calc(100% - 220px);
}

.c7-subscribe .c7-form {
	margin: 0 auto;
}


/* ═══════════════════════════════════════════════════════════════
   SHOP SIDEBAR — collection nav
═══════════════════════════════════════════════════════════════ */

.ivanhoe-sidebar-label {
	display: block;
	font-family: "PT Serif", Arial, Helvetica, sans-serif;
	font-size: 0.62rem;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #8a9ab5;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid #192951;
}

.ivanhoe-sidebar-divider {
	height: 1px;
	background: #e2e6ef;
	margin: 20px 0 24px 0;
}

#c7-collection-list ul,
#c7-collection-list ol {
	list-style: none;
	padding: 0;
	margin: 0 0 4px 0;
}

#c7-collection-list li {
	border-bottom: 1px solid #f0f2f7;
}

#c7-collection-list a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "PT Serif", Arial, Helvetica, sans-serif;
	font-size: 0.92rem;
	font-style: italic;
	font-weight: 400;
	color: #192951;
	text-decoration: none;
	padding: 9px 2px;
	transition: color 150ms ease, padding-left 150ms ease;
}

#c7-collection-list a::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 1px;
	background: #c4cde0;
	flex-shrink: 0;
	transition: width 150ms ease, background 150ms ease;
}

#c7-collection-list a:hover {
	color: #2395ed;
	padding-left: 4px;
}

#c7-collection-list a:hover::before {
	width: 18px;
	background: #2395ed;
}

#c7-collection-list a.active,
#c7-collection-list a[aria-current="page"] {
	color: #192951;
	font-weight: 400;
	padding-left: 4px;
}

#c7-collection-list a.active::before,
#c7-collection-list a[aria-current="page"]::before {
	width: 18px;
	background: #192951;
}


/* ═══════════════════════════════════════════════════════════════
   FILTER BAR — horizontal row above product grid
═══════════════════════════════════════════════════════════════ */

/* Wrapper that holds the label, dropdowns and clear button in one row */
.ivanhoe-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid #e2e6ef;
}

/* The dropdowns sit inline */
.c7-filters {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 0;
}

/* Each filter field */
.c7-filters .c7-form-field {
	min-width: 140px;
	flex: 1 1 140px;
	max-width: 200px;
}

/* Label above each dropdown */
.c7-filters .c7-form-field__label,
.c7-filters label {
	display: block;
	font-family: "PT Serif", Arial, Helvetica, sans-serif;
	font-size: 0.62rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8a9ab5;
	margin-bottom: 5px;
}

/* The select dropdown */
.c7-filters select,
.c7-filters .c7-form-field select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23192951' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	border: 1px solid #e2e6ef;
	border-left: 2px solid #192951;
	border-radius: 0px;
	padding: 9px 30px 9px 12px;
	font-family: "PT Serif", Arial, Helvetica, sans-serif;
	font-size: 0.88rem;
	font-style: italic;
	color: #192951;
	cursor: pointer;
	transition: border-color 150ms ease, box-shadow 150ms ease;
	outline: none;
}

.c7-filters select:hover,
.c7-filters .c7-form-field select:hover {
	border-color: #192951;
	border-left-color: #2395ed;
}

.c7-filters select:focus,
.c7-filters .c7-form-field select:focus {
	border-color: #2395ed;
	border-left-color: #2395ed;
	box-shadow: 0 0 0 3px rgba(35, 149, 237, 0.1);
}

/* ── Clear filters button ─────────────────────────────────── */
.ivanhoe-clear-filters {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: none;
	border: 1px solid #c4cde0;
	border-radius: 2px;
	padding: 8px 14px;
	font-family: "PT Serif", Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-style: italic;
	color: #8a9ab5;
	cursor: pointer;
	transition: color 150ms ease, border-color 150ms ease;
	white-space: nowrap;
	align-self: flex-end;
}

.ivanhoe-clear-filters:hover {
	color: #192951;
	border-color: #192951;
}


/* ═══════════════════════════════════════════════════════════════
   MOBILE OVERRIDES
═══════════════════════════════════════════════════════════════ */

@media screen and (max-width: 1024px) {
	.c7-product-collection__product-list {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media screen and (max-width: 800px) {
	#collection-container .fl-col-group .fl-col:first-of-type,
	#c7-content .c7-product-collection .c7-h1 {
		text-align: center;
	}

	.ivanhoe-filter-bar {
		gap: 8px;
	}
}

@media screen and (max-width: 767px) {
	#account-header {
		top: 0px;
	}

	.c7-product-collection__product-list {
		grid-template-columns: 1fr !important;
	}

	.c7-product-specs {
		text-align: left !important;
		margin: 0px !important;
	}
	.c7-product-specs h2 {
		text-align: left !important;
	}

	.ivanhoe-filter-bar {
		flex-direction: column;
		align-items: flex-start;
	}

	.c7-filters {
		flex-direction: column;
		width: 100%;
	}

	.c7-filters .c7-form-field {
		max-width: 100%;
		flex: 1 1 100%;
	}

	.c7-filters select,
	.c7-filters .c7-form-field select {
		width: 100%;
		font-style: normal;
	}
}


/* ═══════════════════════════════════════════════════════════════
   MOBILE SIDEBAR — collapsible collection nav
═══════════════════════════════════════════════════════════════ */

/* Toggle button — only visible on mobile */
.ivanhoe-sidebar-toggle {
	display: none;
}

@media screen and (max-width: 767px) {

	/* Show the toggle button */
	.ivanhoe-sidebar-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		background: none;
		border: 1px solid #e2e6ef;
		border-left: 2px solid #192951;
		padding: 10px 14px;
		font-family: "PT Serif", Arial, Helvetica, sans-serif;
		font-size: 0.78rem;
		font-style: italic;
		color: #192951;
		cursor: pointer;
		margin-bottom: 4px;
	}

	.ivanhoe-sidebar-toggle .toggle-arrow {
		font-style: normal;
		font-size: 0.7rem;
		transition: transform 200ms ease;
		display: inline-block;
	}

	.ivanhoe-sidebar-toggle.is-open .toggle-arrow {
		transform: rotate(180deg);
	}

	/* Hide the collection list by default on mobile */
	.ivanhoe-sidebar-collapsible {
		display: none;
		margin-bottom: 8px;
	}

	.ivanhoe-sidebar-collapsible.is-open {
		display: block;
	}

	/* Hide the desktop label on mobile — toggle replaces it */
	.ivanhoe-sidebar-label {
		display: none;
	}

	/* Collection list centered on mobile (Avada stacks columns centred) */
	#c7-collection-list a {
		justify-content: center;
		padding: 8px 4px;
		font-size: 0.88rem;
	}

	#c7-collection-list a::before {
		display: none;
	}

	#c7-collection-list li {
		text-align: center;
	}

	/* Filter bar stacks neatly */
	.ivanhoe-filter-bar {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.c7-filters {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
	}

	.c7-filters .c7-form-field {
		flex: 1 1 calc(50% - 8px);
		max-width: calc(50% - 8px);
		min-width: 120px;
	}

	.c7-filters select,
	.c7-filters .c7-form-field select {
		font-style: normal;
		font-size: 0.82rem;
		padding: 8px 28px 8px 10px;
	}

	.ivanhoe-clear-filters {
		width: 100%;
		justify-content: center;
	}
}