/*==================================
	ADDITIONAL OVERRRIDES
 ==================================*/
 
:root {
  scroll-behavior: auto;
} 
 
/* =========================
		ALERTS 
   ========================= */

.alert {
	font: var(--text-body-md-compact);
}

.alert-info {
	--bs-alert-link-color: var(--color-text-support-info);
}

.alert-success {
	--bs-alert-link-color: var(--color-text-support-success);
}

.alert-warning {
    --bs-alert-color: var(--color-text-support-warning);
    --bs-alert-bg: var(--color-surface-support-warning);
    --bs-alert-border-color: var(--color-border-support-warning);
	--bs-alert-link-color: var(--color-text-support-warning);
}

.alert-danger {
    --bs-alert-color: var(--color-text-support-critical);
    --bs-alert-bg: var(--color-surface-support-critical);
    --bs-alert-border-color: var(--color-border-support-critical);
	--bs-alert-link-color: var(--color-text-support-critical);
}

.alert-link {
	font-weight: var(--font-weight-reg);
}

.alert-warning .alert-link,
.alert-link:visited,
.alert-link:hover  {
	color: var(--bs-alert-link-color);
}

/* =========================
		BUTTONS 
   ========================= */

:root {
	--bs-btn-focus-shadow-rgb: 49, 132, 253;
}

.btn-outline-dark {
	--bs-btn-focus-shadow-rgb: 49, 132, 253;
}

.btn:disabled, .btn.disabled, fieldset:disabled .btn {
	pointer-events:auto;
}

/* Brand Button (.button-brand) */

.button-brand {
    --bs-btn-color: var(--color-brand-text-on-primary);
    --bs-btn-bg: var(--color-brand-primary-01);;
    --bs-btn-border-color: var(--color-brand-primary-01);

    --bs-btn-hover-color: var(--color-brand-text-on-primary);
    --bs-btn-hover-bg: var(--color-brand-primary-02);
    --bs-btn-hover-border-color: var(--color-brand-primary-02);

    --bs-btn-active-color: var(--color-brand-primary-02);
    --bs-btn-active-bg: var(--color-brand-primary-02);
    --bs-btn-active-border-color: var(--color-brand-primary-02);

    --bs-btn-disabled-color: var(--color-brand-text-on-primary);
    --bs-btn-disabled-bg: var(--color-brand-primary-01);
    --bs-btn-disabled-border-color: var(--color-brand-primary-01);
}

.btn-check:checked+.btn.button-brand.disabled,
:not(.btn-check)+.btn.button-brand.disabled:hover,
.btn.button-brand.disabled:first-child:hover,
:not(.btn-check)+.btn.button-brand.disabled:active,
.btn.button-brand.disabled:first-child:active {
    background-color: var(--color-brand-primary-01);
    border-color: var(--color-brand-primary-01);
    color: var(--color-brand-text-on-primary);    
}

.btn-check:checked+.btn.button-brand,
:not(.btn-check)+.btn.button-brand:active,
.btn.button-brand:first-child:active,
.btn.button-brand.active {
    background-color: var(--color-brand-primary-02);
    border-color: var(--color-brand-primary-02);
    color: var(--color-brand-text-on-primary);    
}

/* Cart Button (.button-cart) */
.button-cart {
    --bs-btn-color: var(--color-text-button-on-cart);
    --bs-btn-bg: var(--color-surface-button-cart);;
    --bs-btn-border-color: var(--color-surface-button-cart);

    --bs-btn-hover-color: var(--color-text-button-on-cart);
    --bs-btn-hover-bg: var(--color-surface-button-cart-hover);
    --bs-btn-hover-border-color: var(--color-surface-button-cart-hover);

    --bs-btn-active-color: var(--color-text-button-on-cart);
    --bs-btn-active-bg: var(--color-surface-button-cart-hover);
    --bs-btn-active-border-color: var(--color-surface-button-cart-hover);

    --bs-btn-disabled-color: var(--color-text-button-on-cart);
    --bs-btn-disabled-bg: var(--color-surface-button-cart);
    --bs-btn-disabled-border-color: var(--color-surface-button-cart);
}

.btn-check:checked+.btn.button-cart.disabled,
:not(.btn-check)+.btn.button-cart.disabled:hover,
.btn.button-cart.disabled:first-child:hover,
:not(.btn-check)+.btn.button-cart.disabled:active,
.btn.button-cart.disabled:first-child:active {
    background-color: var(--color-surface-button-cart);
    border-color: var(--color-surface-button-cart);
    color: var(--color-text-button-on-cart);    
}

.btn-check:checked+.btn.button-cart,
:not(.btn-check)+.btn.button-cart:active,
.btn.button-cart:first-child:active,
.btn.button-cart.active {
    background-color: var(--color-surface-button-cart);
    border-color: var(--color-surface-button-cart);
    color: var(--color-text-button-on-cart);    
}



:root {
	--color-border-checkout-primary: var(--color-border-form-default);
}


.form-control,
.form-select {
	border-color: var(--color-border-form-default);
}

.form-floating>:disabled~label::after, .form-floating>.form-control:disabled~label::after {
	background-color: transparent;
	color: var(--color-text-secondary);
	
}

.form-control:disabled,
.form-control[readonly] {
	border-color: var(--color-border-form-default);
	background-color: var(--color-surface-secondary);
	opacity: 1;
	color: var(--color-text-secondary);
}

.form-check-input {
	--bs-border-color: var(--color-border-form-default);
}

.offcanvas, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
	--bs-offcanvas-width: 480px;
}

.modal-header button.close { border: 0 }

.modal-header {
	justify-content: space-between;
}



/* MARK Password Show/Hide */

.form-control--with-show-password,
.form-control--with-show-password.is-invalid,
.form-control--with-show-password.is-invalid:focus
{
	border-right-color: rgba(0, 0, 0, 0);
}

.btn.show-password-button,
.btn.show-password-button:focus,
.btn.show-password-button:active {
	border-color: var(--color-border-form-default);
	border-left-color: rgba(0, 0, 0, 0);
}

.input-group >.btn.show-password-button:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
	border-top-right-radius: var(--border-radius-sm);
    border-bottom-right-radius: var(--border-radius-sm);
}

.btn.show-password-button:focus-visible {
	border-color: rgb(134,182.5,254);
	border-left-color: rgba(0, 0, 0, 0);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}

.btn.show-password-button--is-invalid,
.btn.show-password-button--is-invalid:focus,
.btn.show-password-button--is-invalid:active {
	border-color: rgb(220, 53, 69);
	border-left-color: rgba(0, 0, 0, 0);
}

.btn.show-password-button--is-invalid:focus-visible {
	border-color: rgb(220, 53, 69);
	border-left-color: rgba(0, 0, 0, 0);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(220, 53, 69, 0.25);
}


/* MARK Checkout: Layout */

.l-content-area.is-checkout {
	max-width: var(--bs-breakpoint-xl);
}

.l-content-area.is-checkout {
	padding: 0 var(--spacing-03);
}

@media screen and (min-width: 576px) {
	.l-content-area.is-checkout {
		padding: 0 18px;
	}		
}

@media screen and (min-width: 768px) {
	.l-content-area.is-checkout {
		padding: 0 var(--spacing-06);
	}		
}

.co-body--in-page-modal {
	background-color: var(--color-surface-secondary);
}

/* MARK Checkout: In Page Modal */

.co-in-page-modal {
	max-width: 380px;
	margin:auto;
	padding: var(--spacing-04);
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-border-checkout-primary);
	background: var(--color-surface-primary);
}

/*.co-in-page-modal a {
	font: var(--text-link-lg);
	letter-spacing: var(--letter-spacing-text-link-lg);
}*/

.co-in-page-modal__link {
	font: var(--text-link-lg);
	letter-spacing: var(--letter-spacing-text-link-lg);
}

.co-in-page-modal__link:visited {
	color: var(--color-text-link-default);
}

.co-in-page-modal__link:hover {
	color: var(--color-text-link-hover);
}

.co-in-page-modal__heading {
	font: var(--text-title-xl);
	letter-spacing: var(--letter-spacing-text-title-xl);
	padding: 0 0 var(--spacing-04);
}

.co-in-page-modal__section-stack {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-06);
}

.co-in-page-modal__text-section {
	font: var(--text-body-sm-compact);
	letter-spacing: var(--letter-spacing-text-body-sm-compact);
}

.co-in-page-modal__text-section--with-border {
	padding-bottom: var(--spacing-04);
	border-bottom: 1px solid var(--color-border-secondary);
}

.co-in-page-modal__text-section-wrap { 
	padding-bottom: var(--spacing-04);
}

.co-in-page-modal__text-section ul {
	margin:0;
}


.co-in-page-modal__field-stack {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-04);
}

.co-in-page-modal__button-section {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-04);
	align-items: center;
}

.co-in-page-modal__button-section-link {
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
	color: var(--color-text-link-default);
}

.co-in-page-modal__button-section-link:visited {
	color: var(--color-text-link-default);
}

.co-in-page-modal__button-section-link:hover {
	color: var(--color-text-link-hover);
}


.co-in-page-modal__button {
	width: 100%
}

.co-in-page-modal__button-link {
	border:none;
	padding:0;
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
	text-decoration: underline;	
}

.co-in-page-modal__button-link:hover,
.co-in-page-modal__button-link:focus {
	text-decoration: none;
	color: var(--color-text-link-hover);
}



/* MARK Checkout: Generic Headings & Links */

.co-heading {
	font: var(--text-heading-01-NC);
	letter-spacing: var(--letter-spacing-text-heading-01-NC);
	padding-bottom: var(--spacing-04);
}

.l-content-area.is-checkout h2.co-subheading,
.co-subheading {
	font: var(--text-heading-02-NC);
	letter-spacing: var(--letter-spacing-text-heading-02-NC);
	padding-bottom: var(--spacing-04);
}

.co-section {
	padding-bottom: var(--spacing-06);
}

.co-section--end-section {
	padding-bottom: var(--spacing-10);
}

.co-section__stack {
	display:flex;
	flex-direction: column;
	gap: var(--spacing-06);
}


.co-form-section {
	padding-bottom: var(--spacing-04);
}

.co-login-link-section {
	padding-bottom: var(--spacing-04);
}

.co-login-link-section__link {
	font: var(--text-link-lg);	
	letter-spacing: var(--letter-spacing-text-link-lg);
}

.co-login-link-section__link:visited {
	color: var(--color-text-link-default);
}

.co-login-link-section__link:hover {
	color: var(--color-text-link-hover);
}


.co-login-link-section__button-link {
	border:none;
	padding:0;
	font: var(--text-link-lg);
	letter-spacing: var(--letter-spacing-text-link-lg);
	text-decoration: underline;	
}

.co-login-link-section__button-link:hover,
.co-login-link-section__button-link:focus {
	text-decoration: none;		
}


/* MARK Checkout: Header (Framework) */
.co-header {
	position: relative;
	z-index: 10;
}

.co-header--sticky-top {
	position: sticky;
	top: 0;
}


.co-header__section-wrapper {
	background-color: var(--color-brand-secondary-01);
}

.co-header__section-wrapper--sub {
	background-color: var(--color-surface-primary);
	color: var(--color-text-form-active);
	border-bottom: var(--border-weight-01) solid var(--color-border-primary);
}

.co-header__section {
	display: flex;
	height: 3.875rem;
	max-width: var(--bs-breakpoint-xl);
	margin:0 auto;
	padding: var(--spacing-04) var(--spacing-03);
	justify-content: center;
	align-items: center;
	gap: 1rem;
	align-self: stretch;
}

@media screen and (min-width: 576px) {
	.co-header__section {
		padding: var(--spacing-04) 1.125rem;
	}
}

@media screen and (min-width: 768px) {
	.co-header__section {
		padding: var(--spacing-04) var(--spacing-06);
	}
}

.co-header__heading {
	font: var(--text-heading-03);
	letter-spacing: var(--letter-spacing-text-heading-03);
	color: var(--color-brand-text-on-secondary);
}

.co-header__heading--sub {
	font: var(--text-title-md);
	letter-spacing: var(--letter-spacing-text-title-md);
	color: var(--color-text-primary-dark);
}
		
.co-header__heading {
	margin-right:auto;
}

.co-header__back-to-cart {
	margin-left:auto;
	color: var(--color-brand-text-on-secondary);
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
	text-decoration-line: underline;
	text-decoration-style: solid;
}

.co-header__back-to-cart:hover,
.co-header__back-to-cart:visited {
	color: var(--color-brand-text-on-secondary);
}

.co-header__summary-link {
	display: flex;
	margin-left:auto;
	gap: .5rem;
	align-items: center;
	text-decoration: none;
	color: var(--color-text-primary-dark, #000);
}

.co-header__summary-link:visited {
	color: var(--color-text-primary-dark, #000);
}


.co-header__summary-link::after {
	content: "";
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/ui-arrow-right.svg');
	background-size: var(--icon-size-xs);
	background-position: var(--icon-position-xs-black);
	width: var(--icon-size-xs);
	height: var(--icon-size-xs);
}

.co-header__summary-items {
	font: var(--text-body-sm-compact);
	letter-spacing: var(--letter-spacing-text-body-sm-compact);
	text-decoration: underline;
}

.co-header__summary-total {
	font: var(--text-price-sm);
	letter-spacing: var(--letter-spacing-text-price-sm);
	font-weight: var(--font-weight-bold);
}

.co-header__logo {
	width: 2.5rem;
	height: 0;
	padding: 2.5rem 0 0;
	background-size: 2.5rem 2.5rem;
	overflow: hidden;
	text-indent:-9999px;
	display: block;
	background-repeat: no-repeat;
	background-image: var(--logo-header-checkout-bg-image);
}

/* MARK Checkout: Content - Single Column (Framework) */

.co-content__main-inner {
	max-width:588px;
	margin:auto;
}


/* MARK Checkout: Split Content (Framework) */

.co-split-content {
	display:flex;
	gap:24px;			
}

.co-split-content__main {
	flex-grow:1;
}

.co-split-content__main-inner {
	max-width:588px;
	margin:auto;
}

.co-split-content__summary {
	width:390px;
	flex-shrink:0;
	margin-left:auto;
	display:none;
}

.co-split-content__summary-inner {
	position: sticky;
	top: var(--spacing-06);
}

@media screen and (min-width: 992px) {
	.co-split-content__summary {
		display:block;
	}
	.co-split-content__no-summary {
		display:none;
	}

	.co-split-content__main-inner {
		margin:0;
	}
}


/* MARK Checkout: Breadcrumb */

.co-breadcrumb {
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	column-gap:8px;
	padding:0 0 1rem;
	margin:0;	
}

.co-breadcrumb__item {
	display:flex;
	align-items: center;
	gap:8px;
	color: var(--color-text-primary-dark);	
}

.co-breadcrumb__item::after {
	content: "";
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/ui-arrow-right.svg');
	background-size: var(--icon-size-xs);
	background-position: var(--icon-position-xs-black);
	width: var(--icon-size-xs);
	height: var(--icon-size-xs);
}
.co-breadcrumb__item--current::after,
.co-breadcrumb__item--upcoming::after {
	background-position: var(--icon-position-xs-gray);
}

.co-breadcrumb__item-text {
	color: var(--color-text-link-default);
}

.co-breadcrumb__item-text--current {
	text-decoration: none;	
}

.co-breadcrumb__item-text--upcoming {
	color: var(--color-text-primary-dark);
	opacity: var(--opacity-disabled);
}

.co-breadcrumb__item-link {
	color: var(--color-text-link-default);
}

.co-breadcrumb__item-link:visited {
	color: var(--color-text-link-default);
}

.co-breadcrumb__item-link:hover {
	color: var(--color-text-link-hover);
}


/* MARK Checkout: Fieldset for Customer Info*/

.co-info-fieldset {
	padding-bottom: var(--spacing-06);		
}

.l-content-area.is-checkout h2.co-info-fieldset__legend,
.co-info-fieldset__legend {
	float:none;
	margin-bottom:0;
	padding-bottom: var(--spacing-04);
	color: var(--color-text-primary-dark);
	font: var(--text-heading-02-NC);
	letter-spacing: var(--letter-spacing-text-heading-02-NC);
}


.co-info-fieldset__stack {
	display:flex;
	flex-direction: column;
	gap: var(--spacing-04);
	padding-bottom: var(--spacing-04);
}

.co-info-fieldset__collapse-wrap {
	padding-bottom: var(--spacing-04);
}

.co-info-fieldset__stack--in-collapse {
	display:flex;
	flex-direction: column;
	gap: var(--spacing-04);
	padding-bottom: 0;
	padding-top: var(--spacing-04);
}

.co-info-fieldset__checkbox-wrap {
	padding: var(--spacing-04);
	border-radius: var(--border-radius-sm);
	border: 1px solid var(--color-border-form-default);
}

.co-info-fieldset__subsection-heading {
	padding-bottom: var(--spacing-04);
	color: var(--color-text-primary-dark);
	font: var(--text-title-lg);
	letter-spacing: var(--letter-spacing-text-title-lg);
}

.co-info-fieldset__text-card {
	font: var(--text-body-md-compact);
	letter-spacing: var(--letter-spacing-text-body-md-compact);
	color: var(--color-text-primary-dark);
	padding: var(--spacing-04);
	border-radius: var(--border-radius-sm);
	border: 1px solid var(--color-border-checkout-primary);
}

/* MARK Checkout: Creat Account Collapsible */

.co-create-account {
	padding: var(--spacing-04);
	border-radius: var(--border-radius-sm);
	background-color: var(--color-surface-primary);
	border: 1px solid var(--color-border-form-default);
}

.co-create-account--with-collapse {
	padding-bottom: 0;
}

.co-create-account__collapse-wrap {
	padding-bottom: var(--spacing-04);
}

.co-create-account__content-stack {
	display: flex;
    flex-direction: column;
    gap: var(--spacing-04);
    padding-top: var(--spacing-04);
}

.co-create-account__list {
	font: var(--text-body-sm-compact);
	letter-spacing: var(--letter-spacing-text-body-sm-compact);
	margin: 0;
}

.co-create-account__disclaimer {
	font: var(--text-body-xs-compact);
	letter-spacing: var(--letter-spacing-text-body-xs-compact);
	margin: 0;
}

/* MARK: Checkout: Submit Button Section*/

.co-submit-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-06);
}

.co-submit-section__submit-button {
	width:100%;
}

.co-submit-section__payment-buttons-section {
	width:100%;
}

.co-submit-section__payment-button-container {
	width:100%;
}

.co-submit-section__payment-button {
	width:100%;
}

.co-submit-section__link {
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
	text-decoration: underline;
}

.co-submit-section__back-link {
	display: flex;	
	gap: var(--spacing-02);
	align-items: center;
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
	text-decoration: underline;
}

.co-submit-section__link:visited,
.co-submit-section__back-link:visited {
	color: var(--color-text-link-default);
}

.co-submit-section__link:hover,
.co-submit-section__back-link:hover {
	color: var(--color-text-link-hover);
}


.co-submit-section__back-link::before {
	content: "";
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/ui-arrow-left.svg');
	background-size: var(--icon-size-xs);
	background-position: var(--icon-position-xs-black);
	width: var(--icon-size-xs);
	height: var(--icon-size-xs);
}

.co-submit-section--split-layout {
	flex-direction: row;
	align-items: center;
	gap: 0;
}

.co-submit-section__submit-button--split-layout {
	width:auto;
}

.co-submit-section__back-link--split-layout {
	margin-right:auto;
}

.co-submit-section__payment-button-container {
	
}

.co-submit-section__payment-button-container--for-paypal {
	height:50px;
}

.co-submit-section__payment-button-container--hidden {
	display:none;
}


@media screen and (min-width: 480px) {
	.co-submit-section {
		flex-direction: row-reverse;
		align-items: center;
		gap: 0;
	}
	
	.co-submit-section__submit-button {
		width:50%;
	}
	
	.co-submit-section__payment-buttons-section {
		width:50%;
	}


	.co-submit-section__submit-button--full-width {
		width:100%;
	}
	
	.co-submit-section__link,
	.co-submit-section__back-link {
		margin-right:auto;
	}
}

/* MARK Checkout: Item Summary Card */
.co-item-summary-card {
	padding: var(--spacing-04) var(--spacing-04) 0;
	border: 1px solid var(--color-border-form-default);
	border-radius: var(--border-radius-md);
}

.co-item-summary-card__header {
	display:flex;
	padding-bottom: var(--spacing-04);
	justify-content: space-between;
}

.co-item-summary-card__heading {
	font: var(--text-title-lg);
	letter-spacing: var(--letter-spacing-text-title-lg);
}

.co-item-summary-card__header-link {
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
}

.co-item-summary-card__header-link:visited {
	color: var(--color-text-link-default);
}

.co-item-summary-card__header-link:hover {
	color: var(--color-text-link-hover);
}

.co-item-summary-card__item-list {
	display:flex;
	container-type: inline-size;
	gap: var(--spacing-04);
	flex-wrap: wrap;
	padding-bottom: var(--spacing-04);
}


.co-item-summary-card__item {
	position: relative;
	display:flex;
	justify-content: center;
	align-items : center;
	width: 48px;
	height:64px;
}

/* show only specific number by breakpoint */

.co-item-summary-card__item {
	display:none;
}

.co-item-summary-card__item:nth-child(-n + 3) {
	display:flex;
}

@container (min-width: 240px) {
	.co-item-summary-card__item:nth-child(-n + 4) {
		display:flex;
	}
}

@container (min-width: 304px) {
	.co-item-summary-card__item:nth-child(-n + 5) {
		display:flex;
	}
}

@container (min-width: 368px) {
	.co-item-summary-card__item:nth-child(-n + 6) {
		display:flex;
	}
}

@container (min-width: 432px) {
	.co-item-summary-card__item:nth-child(-n + 7) {
		display:flex;
	}
}

@container (min-width: 496px) {
	.co-item-summary-card__item:nth-child(-n + 8) {
		display:flex;
	}
}

@container (min-width: 560px) {
	.co-item-summary-card__item:nth-child(-n + 9) {
		display:flex;
	}
}

.co-item-summary-card__item-count {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(50%, -50%);
	background: var(--color-surface-primary-inverse);
	color: var(--color-text-primary-light);
	border-radius: 50%;
	width:22px;
	height:22px;
	border: 2px solid #FFF;
	font-family: var(--font-family-02);
	font-weight: var(--font-weight-bold);
	font-size:10px;
	line-height:18px;
	text-align:center;
}

.co-item-summary-card__item-count--hidden {
	display: none;
}

.l-content-area.is-checkout {
	padding: 0 var(--spacing-03);
}

@media screen and (min-width: 400px) {
	.l-content-area.is-checkout {
		padding: 0 18px;
	}		
}

@media screen and (min-width: 768px) {
	.l-content-area.is-checkout {
		padding: 0 var(--spacing-06);
	}		
}


.co-item-summary-card__item-image {
	max-width:100%;
	max-height:100%;
	border-radius: var(--border-radius-sm);
}


/* MARK Checkout: Summary Card */

.co-summary-card {
	padding: var(--spacing-04);
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-border-checkout-primary);
	background: var(--color-surface-primary);
}

.co-summary-card--content-only {
	padding: 0;
	border-radius: 0;
	border: none;
}

.co-summary-card__card-wrapper {
	padding-bottom: var(--spacing-10);
	position: sticky;
	top: var(--spacing-06);
}

.co-summary-card__header {
	display: flex;
	padding-bottom: var(--spacing-04);
}

.co-summary-card__heading,
.l-content-area.is-checkout h2.co-summary-card__heading {
	font: var(--text-title-lg);	
	letter-spacing: var(--letter-spacing-text-title-lg);
}

.co-summary-card__header-link {
	margin-left: auto;
	display:flex;
	align-items: center;
	gap: var(--spacing-02);
	font: var(--text-link-md);
	letter-spacing: var(--letter-spacing-text-link-md);
}

.co-summary-card__header-link:visited {
	color: var(--color-text-link-default);
}
.co-summary-card__header-link:hover {
	color: var(--color-text-link-hover);
}


.co-summary-card__header-link::after {
	content: "";
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/ui-arrow-right.svg');
	background-size: var(--icon-size-xs);
	background-position: var(--icon-position-xs-black);
	width: var(--icon-size-xs);
	height: var(--icon-size-xs);
}


.co-summary-card__section-stack {
	display:flex;
	flex-direction: column;
	gap: var(--spacing-04);
	padding-bottom: var(--spacing-04);
}


.co-summary-card__section {
	padding-bottom: var(--spacing-02);
	border-bottom: 1px solid var(--color-border-secondary);
}

.co-summary-card__section-header {
	display: flex;
	justify-content: space-between;
	padding-bottom: var(--spacing-02);
	font: var(--text-body-sm-compact);
	letter-spacing: var(--letter-spacing-text-body-sm-compact);
}

.co-summary-card__section-heading {
	font-weight: var(--font-weight-bold);
}

.co-summary-card__section-header-link:visited {
	color: var(--color-text-link-default);
}

.co-summary-card__section-header-link:hover {
	color: var(--color-text-link-hover);
}

.co-summary-card__row {
	display: flex;
	justify-content: space-between;
	padding-bottom: var(--spacing-02);
	font: var(--text-body-sm-compact);
	letter-spacing: var(--letter-spacing-text-body-sm-compact);
}

.co-summary-card__row--total {
	font: var(--text-body-lg-compact);
	letter-spacing: var(--letter-spacing-text-body-lg-compact);
	font-weight: var(--font-weight-bold);
	padding-bottom: 0;
}


/* MARK Checkout: Summary Panel */

.co-summary-panel.offcanvas.offcanvas-end {
	border-left: none;
}

.co-summary-panel {
	overflow:hidden;
}

.co-summary-panel__content {
	background: var(--color-surface-primary);
	width: var(--bs-offcanvas-width);
	max-width: 100%;
	display:flex;
	flex-direction:column;
	top:0;
	bottom:0;
	position: absolute;
	right:0;
	transition-property: right, visibility;
	transition-duration:.3s;
	transition-timing-function: ease-in-out;
}

.co-summary-panel__content--hidden {
	visibility: hidden;
}

.co-summary-panel__content--subpanel {
	visibility:hidden;
	position: absolute;
	right:-100%;
}

.co-summary-panel__content--subpanel-shown {
	display:flex;
	right:0;
	visibility:visible;
}

.co-summary-panel__header {
	padding: var(--spacing-04);
	border-bottom: 1px solid var(--color-border-primary);
	display: flex;
	justify-content: space-between;
}

.co-summary-panel__body { 
	display:flex;
	flex-direction: column;
	gap: var(--spacing-06);
	flex-grow:1;
	overflow-y:auto;
	padding: var(--spacing-06) var(--spacing-04) var(--spacing-10);
}

.co-summary-panel__body--in-page { 
	padding: 0;
}

/*
.co-summary-panel__body--subpanel { 
	gap: var(--spacing-06);
}
*/

.co-summary-panel__footer {
	padding: var(--spacing-04);
	margin-top:auto;
	border-top: 1px solid var(--color-border-primary);	
}

.co-summary-panel__heading-text {
	display:flex;
	flex-direction:column;
	gap: var(--spacing-02);
}

.co-summary-panel__heading {
	color: var(--color-text-primary-dark);
	font: var(--text-heading-03);
	letter-spacing: var(--letter-spacing-text-heading-03);
}

.co-summary-panel__heading--subpanel {
	font: var(--text-title-xl);
	letter-spacing: var(--letter-spacing-text-title-xl);
}

.co-summary-panel__heading-total {
	color: var(--color-text-secondary);
	font: var(--text-md-compact);
	letter-spacing: var(--letter-spacing-text-md-compact);
}

.co-summary-panel__close-button {
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/ui-close.svg');
    background-color: transparent;
    border: 0;
    cursor: pointer;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    background-size: var(--icon-size-lg);
    background-position: var(--icon-position-lg-black);    
}

.co-summary-panel__continue-button {
	width:100%;
}

.co-summary-panel__section-heading {
	font: var(--text-title-lg);
	letter-spacing: var(--letter-spacing-text-title-lg);
}

.co-summary-panel__section-heading--in-page {
	font: var(--text-heading-03);
	letter-spacing: var(--letter-spacing-text-heading-03);
}



.co-item-list-card {
	padding: var(--spacing-04) var(--spacing-04) 0;
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-border-checkout-primary);
	background: var(--color-surface-primary);
}

.co-item-list-card__header {
	display: flex;
	padding-bottom: var(--spacing-04);
}

.co-item-list-card__heading,
.l-content-area.is-checkout h2.co-item-list-card__heading {
	font: var(--text-title-lg);	
	letter-spacing: var(--letter-spacing-text-title-lg);
}



.co-item-list-card__item-list {

}

.co-item-list-card__item-list--in-page {
	border: 1px solid var(--color-border-form-default);
}


.co-item-list-card__item {
	border-top: 1px solid var(--color-border-primary);
	padding-bottom: var(--spacing-04);
	padding-top: var(--spacing-04);
	display:flex;
	gap: var(--spacing-04);
}

.co-item-list-card__item--comp-base {	
	padding-bottom: 0;
}


.co-item-list-card__item:first-child {
	border-top: none;
	padding-top: 0;
}

.co-item-list-card__item-image-col {
	flex: 0 0 64px;
	overflow:hidden;
}

.co-item-list-card__item-image {
	display:block;
	margin: auto;
}

.co-item-list-card__item-icon {
	width:100%;
	padding-top:100%;
	background-size:100%;
}

.co-item-list-card__item-main-col {
	flex-grow: 1;
}

.co-item-list-card__item-info-section {
	display:flex;
	flex-direction:column;
	gap: var(--spacing-01);
	padding-bottom: var(--spacing-04);
}

.co-item-list-card__item-name {
	font: var(--text-product-name-lg);
	letter-spacing: var(--letter-spacing-text-product-name-lg);
}

.co-item-list-card__item-stocknum {
	color: var(--color-text-secondary);
	font: var(--text-body-xs-compact);
	letter-spacing: var(--letter-spacing-text-body-xs-compact);
}


.co-item-list-card__item-qty-section {
	display: flex;
	align-items: end;
	padding-bottom: var(--spacing-04);
}

.co-item-list-card__item-qty-label {
	font: var(--text-form-label);
	letter-spacing: var(--letter-spacing-text-form-label);
	text-transform: uppercase;
	padding-bottom: var(--spacing-01);
}


.co-item-list-card__item-qty-value {
	background: var(--color-surface-secondary);
	padding: var(--spacing-01) var(--spacing-03);
	border-radius: var(--border-radius-sm);
	text-align:center;
	min-width: 66px;
}

.co-item-list-card__item-total {
	font: var(--text-price-md);
	letter-spacing: var(--letter-spacing-text-price-md);
	margin-left: auto;
}

.co-item-list-card__item-comment-section {
	padding-bottom: var(--spacing-04)
}

.co-item-list-card__item-comment-box {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-02);	
	border-radius: var(--border-radius-md);
	background: var(--color-surface-secondary);
	padding: var(--spacing-03);
	overflow-wrap: anywhere;	
}

.co-item-list-card__item-comment-heading {
	color: var(--color-text-primary-dark);
	font: var(--text-title-sm);
	letter-spacing: var(--letter-spacing-text-title-sm);
}

.co-item-list-card__item-comment-body {
	color: var(--color-text-primary-dark);
	font: var(--text-body-sm-compact);	
	letter-spacing: var(--letter-spacing-text-body-sm-compact);
}

.co-item-list-card__item-comp-section {
	display:flex;
	align-items:flex-start;
	gap: var(--spacing-02);
	padding-bottom: var(--spacing-02);
}

.co-item-list-card__item-comp-label {
	color: var(--color-text-primary-dark);
	font: var(--text-title-sm);
	letter-spacing: var(--letter-spacing-text-title-sm);
}

.co-item-list-card__item-comp-button {
	margin-left:auto;
}






/* MARK Spinner Modal */

.co-spinner-modal__dialog.modal-dialog.modal-fullscreen {
	max-width: none;
}

.modal.modal-static .co-spinner-modal__dialog.modal-dialog {
    transform: none;
}

.co-spinner-modal__body {
	display: flex;
	flex-direction: column;
	align-items: center;
/*	justify-content: center;*/
	gap: var(--spacing-06);
	padding: var(--spacing-16) var(--spacing-03) var(--spacing-06);
}

.co-spinner-modal__spinner {
	width:64px;
	height:64px;
}

.co-spinner-modal__spinner.spinner-border {
	border: var(--bs-spinner-border-width) solid var(--color-brand-primary-01);
	border-right-color: rgba(0,0,0,0);
	--bs-spinner-animation-speed: 1.25s;
}

@media (prefers-reduced-motion: reduce) {
	.co-spinner-modal__spinner.spinner-border {
		--bs-spinner-animation-speed: 1.5s;
	}
}

.co-spinner-modal__spinner-title {
	font: var(--text-title-md);
	max-width:480px;
}

.co-spinner-modal__spinner-text-box {
	display:flex;
	flex-direction: column;
	padding: var(--spacing-04);
	gap: var(--spacing-04);
	width:296px;
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-border-checkout-primary);
}

.co-spinner-modal__spinner-text {
	font: var(--text-body-sm-compact);
	text-align: center;
	margin: auto;
}

.check-block__stack {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-03);
}

.check-block__stack--padded {
	padding-bottom: var(--spacing-03);
}

.check-block {
	display: flex;
	gap: var(--spacing-02);
	padding: var(--spacing-04);
	border: 1px solid var(--color-border-form-default);
	border-radius: var(--border-radius-md);
}

.check-block:has(:checked) {
	border: 1px solid var(--color-border-form-selected);
	box-shadow: 0px 0px 0px 1px var(--color-border-form-selected);
}

.check-block__content {
	flex-grow: 1;
	display: flex;
	flex-direction:column;
	gap: var(--spacing-04);
}

.check-block__heading {
	display: flex;
	gap: var(--spacing-02);	
	font: var(--text-form-option);
}

.check-block__label-text {
	flex-grow: 1;
}

.check-block__body {
	font: var(--text-body-sm-compact);
	color: var(--color-text-primary-dark);
}

.check-block__body--subtle {
	color: var(--color-text-secondary);
}

.check-block__body-label-text {
	font: var(--text-form-label);
	text-transform: uppercase;
}

.check-block__succes-text {
	color: var(--color-text-support-success);
}

.check-block:has(:checked) .check-block__label-text {
	color: var(--color-text-support-info);
}



/* MARK: Gift Card Redeem Link */
.co-gc-redeem-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-02);
	font: var(--text-link-lg);	
}

.co-gc-redeem-link:visited {
	color: var(--color-text-link-default);
}

.co-gc-redeem-link--disabled {
	opacity: var(--opacity-disabled);
}


.co-gc-redeem-link::before {
	content: "";
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/gift-card.svg');
	background-size: var(--icon-size-md);
	background-position: var(--icon-position-md-black);
	width: var(--icon-size-md);
	height: var(--icon-size-md);
}

.co-gc-redeem-link__section {
	padding-bottom: var(--spacing-06);
	font: var(--text-link-lg)
}


/* MARK: Gift Card Redeem Card */

.co-gc-redeem-card {
	border: 1px solid var(--color-border-form-default);
	border-radius: var(--border-radius-md);
	padding: var(--spacing-04);
	
	display:flex;
	flex-direction:column;	
	gap: var(--spacing-04);
}

.co-gc-redeem-card__heading {
	font: var(--text-title-lg);
}

.co-gc-redeem-card__text {
	font: var(--text-body-sm-compact);
}

.co-gc-redeem-card__disclaimer {
	color: var(--color-text-secondary);
	font: var(--text-body-xs-compact);
}

.co-gc-redeem-card__submit-button--disabled {
	opacity: var(--opacity-disabled);
}


/* MARK: Applied Gift Card List */

.co-gc-applied {
	border: 1px solid var(--color-border-form-default);
	border-radius: var(--border-radius-md);	
	padding: var(--spacing-04);
}

.co-gc-applied__heading {
	font: var(--text-title-lg);
}

.co-gc-applied__list {
	margin: 0;
	padding: 0;
}


.co-gc-applied__item {
    border-bottom: 1px solid var(--color-border-secondary);
	margin: 0;
	padding: var(--spacing-04) 0 ;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-02);
}

.co-gc-applied__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.co-gc-applied__item-info {
	display: flex;
	align-items: center;
	justify-content: space-between;	
}

.co-gc-applied__remove-button {
	display: flex;
	gap: var(--spacing-02);
	align-items: center;
	font: var(--text-link-md);
	text-decoration: underline;
	color: var(--color-text-primary-dark);
	padding-left: 0;
}

.co-gc-applied__remove-button:hover {
	text-decoration: none;
	color: var(--color-text-primary-dark);
}

.co-gc-applied__remove-button:active {
	color: var(--color-text-primary-dark);
}

.co-gc-applied__remove-button::before {
	content: "";
	background-image: url('https://img.tacklewarehouse.com/graphics-resizer/icons/ui-trash.svg');
	background-size: var(--icon-size-sm);
	background-position: var(--icon-position-sm-black);
	width: var(--icon-size-sm);
	height: var(--icon-size-sm);
}


.co-submitted-message {
	border: 1px solid var(--color-border-support-success);
	border-radius: var(--border-radius-md);
	background: var(--color-surface-support-success);
	padding: var(--spacing-06);
	display: flex;
	flex-direction:column;
	gap: var(--spacing-04);
	
}

.co-submitted-message__heading {
	display:flex;
	font: var(--text-title-lg);
	color: var(--color-text-support-success);
	gap: var(--spacing-02);
	align-items: center;
}

.co-submitted-message__body-text {
	font: var(--text-body-md-compact);
	color: var(--color-text-primary-dark);
}

.co-submitted-message__link {
	font: var(--text-link-lg);
	color: var(--color-text-link-default);
}

.co-submitted-message__link:visited {
	color: var(--color-text-link-default);
}

.co-submitted-message__link:hover {
	color: var(--color-text-link-hover);
}