/* dst overrides since their source is minified */
body .site-content li.product img { object-fit: contain !important; }
.woocommerce-tabs { margin: 0 !important }
#woo-tabs-mobile { margin: 0 !important }

body.home {
	/* background: #e9f5f8; */
	background: linear-gradient(180deg,#e9f5f8 500px,#ffffff);
	background-repeat: no-repeat;
}

main > .container { 
	/* padding-top: calc(var(--dst--top-offset) + 4rem); only affects product and account? */
	padding:0 130px;
	/*
	background: #e9f5f8;
	background: linear-gradient(180deg,#e9f5f8 0%, #ffffff 5%, #ffffff 100%);
	*/
	min-height:400px;
	color:var(--dst--primary-color2)
}
@media (max-width: 1113px) {
	main > .container { 
		padding:0 10px;
	}
}
main > .container h1 { color:var(--dst--primary-color2); font-size:3.7rem; font-weight:bold }
main > .container h2 { margin-top:3rem; font-size:3rem }
main > .container p { color:var(--dst--primary-color2) }
main > .container p.error, .wrapper label.error, .wrapper div.error {
	color:var(--dst--validation-error-color); font-weight:bold
}

.innerPadding { 
	padding-top: calc(var(--dst--top-offset) + 4rem);
	/* padding:0 60px */
}

.fieldset { max-width:950px; }
.fieldset > div { padding:5px }
.fieldset > div::after { content:""; display:block; clear:both } /* clearfix */
.fieldset > div > label { display:block; float:left; width:270px; padding-top:5px; }
.fieldset > div > div { float:left; width:350px }
@media (max-width: 550px) {
	.fieldset > div { padding:10px 5px }
	.fieldset > div > label { display:block; width:96% }
	.fieldset > div > div { display:block; width:96% }
}

.field, .wrapper input[type="text"], .wrapper input[type="password"], .wrapper select { width: auto }

.note { font-style:italic; font-size:1.4rem }

/*
	ok, btn, w btn--navy?
	want to get away from the orange - robyn
	so, this is a teal, navy:hover
	white as secondary, hover?
	k
	--dst--secondary-color2: #151544;
	--dst--secondary-color3: #81c3d7;

*/
.btn {
  position:relative;
  display:inline-flex;
  justify-content:center;
  flex-direction:row;
  align-items:center;
  backface-visibility:hidden;
  text-decoration:none;
  text-align:center;
  white-space:nowrap;
  font-size:var(--dst--btn-font-size, 1.8rem);
  font-family:var(--dst--btn-font),serif;
  text-transform:var(--dst--btn-text-transform, none);
  font-weight:var(--dst--btn-font-weight, 400);
  border-radius:var(--dst--btn-border-radius, 0);
  background-color: var(--dst--secondary-color3); /* --dst--btn-primary-bg */
  color:var(--dst--secondary-color2); /* --dst--btn-primary-color-hover */
  border:var(--dst--btn-primary-border, 1px) solid var(--dst--secondary-color2); /* --dst--btn-primary-border-color */
  padding:var(--dst--btn-padding-block, 10px) var(--dst--btn-padding-inline, 20px);
  transition:var(--dst--base-transition);
  line-height:1.2em;
}
@media (hover: hover) {
  .btn:hover {
    background-color:var(--dst--secondary-color2); /* --dst--btn-primary-bg-hover */
    color:white; /* --dst--btn-primary-color-hover */
    /* border-color:var(); --dst--btn-primary-border-color-hover */
    transition:var(--dst--base-transition)
  }
}
.btn:focus { box-shadow:none }
.btn.disabled { opacity:.5; pointer-events:none; -webkit-user-select:none; user-select:none }
.btn--navy { background-color:var(--dst--primary-color2) }
.btn-secondary { background-color:white }

/* flipped the teal and navy */
.c-btn.-secondary {
	background-color: var(--dst--btn-secondary-bg-hover);
	color: var(--dst--btn-secondary-bg);
	border:1px solid  var(--dst--btn-secondary-bg);
}
.c-btn.-secondary:hover { 
	background-color: var(--dst--btn-secondary-bg);
	color:white;
}

.account-columns { display:flex }
.account-columns .account-left { flex: 0 0 30%; position: sticky; top:80px; }
.account-columns .account-right { flex: 0 0 70%; }

.account-columns .account-left ul { margin:0; padding:0 15% 0 0; }
.account-columns .account-left ul li { margin:0; padding:0; }
.account-columns .account-left ul li a { display:block; font-size:1.4em; padding:10px 0; border-bottom:1px solid #ddd }
.account-columns .account-left ul li:last-child a { border-bottom:none }

.menu-button { font-size: 1.2em; display:none; border-bottom:1px solid #eee; cursor: pointer; }
.menu-button button { display:inline-block; width:24px; margin:5px 5px 0 0; border:0; background:none }
.menu-button button span { display:block; width:24px; height:7px; border-bottom:2px solid #888 }

.menu-left { position:relative; z-index:99; }

@media (max-width: 640px) { 
	.account-columns { display:block }
	.account-columns .account-left { background-color:white; }
	.menu-button { display:block }
	.menu-items { display:none; position:absolute; width:50%; background-color:white; padding:0 15px; max-height:80vh; overflow:auto }
	.menu-items.show { display:block }
}

/* Gallery — left column */
.product-gallery {
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: calc(var(--nav-height) + 2rem);
	max-width:640px;
}

/* Main image */
.product-gallery__main {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--off-white);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-gallery__main-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.4s ease;
	display: block;
}

/* Thumbnails */
.product-gallery__thumbs {
	display: flex !important;
	flex-direction: row !important;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.product-gallery__thumb {
	width: 72px !important;
	height: 72px !important;
	border: 2px solid var(--light-gray);
	overflow: hidden;
	cursor: pointer;
	padding: 0;
	background: var(--off-white);
	transition: border-color var(--transition);
	flex-shrink: 0;
	display: block;
}

.product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.product-gallery__thumb.is-active,
.product-gallery__thumb:hover {
	border-color: var(--navy);
}

.twoCol { display:flex; }
.leftCol {
	flex:1
}
.rightCol {
	flex:1;
}
.rightCol > div {
	padding-left:10%;
}

.product-rating { padding-bottom: 20px }

.benefits { display: flex; gap: 1rem; margin: 7rem 0; font-size:12px; line-height:1.1; }
.benefits img { flex:1 }
.benefits p { flex:6 }

.productSize { display:flex; gap:10px; align-items: center; justify-content: center; }
.productSize label { flex:1 }
.productSize select { flex:10 }

.pricePanel { font-size:3rem; font-weight:bold; color:var(--dst--primary-color2); padding-top:20px }
.pricePanel > label { display:block; padding: 5px 0; }

.bbPanel { display:none }
.bbPanel > div { display:flex; align-items: center; justify-content: center; padding: 10px 10px 25px 25px; gap:5px; }
.bbPanel > div label { width:auto; white-space: nowrap; }
.bbPanel > div input { width:auto }
.bbPanel > div span { flex:auto; color:var(--dst--primary-color2) }

.productSKU { padding: 0 0 25px 25px; color:var(--dst--primary-color2); font-size:1.3rem; }
.addWidget { display:flex; padding-top: 25px}
.addWidget input { flex:5; 
	border-right:none !important; 
	border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important
}
.addWidget div { flex:1; 
	border-top: var(--dst--input-border-width, 1px) solid var(--dst--input-border-color, #666); 
	border-bottom: var(--dst--input-border-width, 1px) solid var(--dst--input-border-color, #666); 
	line-height:1.4;
	color:var(--dst--primary-color2);	
}
.addWidget div span { cursor:pointer; user-select: none; }
.addWidget button {
	flex:10;
	position: relative;
	display: inline-flex;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	backface-visibility: hidden;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	font-size: var(--dst--btn-font-size, 1.8rem);
	font-family: var(--dst--btn-font),serif;
	text-transform: var(--dst--btn-text-transform, none);
	font-weight: var(--dst--btn-font-weight, 400);
	border-radius: var(--dst--btn-border-radius, 0);
	background-color: var(--dst--btn-secondary-bg-hover);
	color: var(--dst--btn-primary-color);
	border: var(--dst--btn-primary-border, 1px) solid var(--dst--btn-primary-color);
	padding: var(--dst--btn-padding-block, 10px) var(--dst--btn-padding-inline, 20px);
	transition: var(--dst--base-transition);
	border-left:none !important; 
	border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important
}
.addWidget button svg { fill:var(--dst--btn-primary-color); }
.addWidget button:hover {
	color:white;
	background-color: var(--dst--btn-primary-color);
	border-color: var(--dst--btn-primary-border-color-hover);
	transition: var(--dst--base-transition);
}
.addWidget button:hover svg { fill:white; }

.wrapper .productBubbles { margin:10px 0 20px 0 }
.wrapper .productBubbles label { display:inline; padding-right:10px }

.calculators { margin: 20px 0 }

.infoTabs { display:flex; gap:10px; background-color:var(--dst--primary-color2); 
	padding-inline: var(--dst--page-gutter);
}
@media (max-width: 1113px) {
  .infoTabs { display: none; } /* coordinate w .woocommerce-tabs */
}
.infoTabs > div { flex:1; text-align:center }
.infoTabs > div a { display:block; color:white; border-bottom: 2px solid var(--dst--primary-color2); padding:10px 0; }
.infoTabs > div a:hover, .infoTabs > div a.active { color:var(--dst--primary-color1); border-bottom-color: var(--dst--primary-color1); }

.infoPanels { padding:50px;  }
.infoPanels > div { display:none }

.ds-wc-tab-benefits__heading {
	text-align:center;
}

.ds-wc-tab-benefits__pre-title {
	color: var(--dst--pretitle-color, var(--dst--primary-color2));
	line-height: var(--dst--pretitle-line-height, 1.4);
	letter-spacing: var(--dst--pretitle-letter-spacing, 0);
	margin-bottom: 5rem;
	font-family: var(--dst--pretitle-font);
	font-weight: var(--dst--pretitle-font-weight, 500);
	text-transform: var(--dst--pretitle-text-transform);
	font-size: calc(var(--dst--pretitle-font-size-mobile, 18px) * 1.15);
	border: 1px solid var(--dst--pretitle-color, var(--dst--primary-color2));
	border-radius: 50px;
	display: inline-flex;
	padding: 6px 20px;
}

.ds-wc-tab-benefits__title {
	max-width: 920px;
	margin: auto;
	margin-bottom: auto;
	line-height: var(--dst--h2-line-height, 1);
	font-weight: var(--dst--h2-font-weight, 600);
	font-family: var(--dst--h2-font);
	text-transform: var(--dst--h2-text-transform);
	letter-spacing: var(--dst--h2-letter-spacing, 0);
	font-size: clamp(var(--dst--h2-font-size-mobile) * 1.25,var(--dst--h-clamp-formula),var(--dst--h2-font-size));
	margin-bottom: 8rem;
}

.ds-wc-tab-benefits__title strong {
	color: var(--dst--secondary-color1)
}

.breadcrumbs, .breadcrumbs a { color: var(--dst--primary-color2); font-size:1.6rem }

#cartMessage { color:var(--dst--validation-error-color); display:none }


/* ============================================================
   SIDE CART — matches kenzen_render_side_cart() output
   ============================================================ */

.kk-side-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1100;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.kk-side-cart-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.kk-side-cart {
    position: fixed;
    top: 0; /* 100px */
    right: 0; /* 420px */
    bottom: 0;
    width: 100%;
    max-width: 420px;
    background: white;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
}

.kk-side-cart.is-open {
    transform: translateX(0);
}

/* Header */
.kk-side-cart__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--light-gray);
    flex-shrink: 0;
	margin-top:150px;
}

.kk-side-cart__title {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.875em;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dst--primary-color2);
    margin: 0;
}

.kk-side-cart__title svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.kk-side-cart__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: var(--crimson);
    color: var(--white);
    font-size: 0.65em;
    font-weight: 700;
    border-radius: 50%;
}

.kk-side-cart__close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 50%;
    transition: background var(--transition);
}

.kk-side-cart__close:hover {
    background: var(--off-white);
}

/* Body */
.kk-side-cart__body {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* Empty state */
.kk-side-cart__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 3rem 1.5rem;
    text-align: center;
    flex: 1;
}

.kk-side-cart__empty svg {
    width: 48px;
    height: 48px;
    color: var(--light-gray);
}

.kk-side-cart__empty p {
    font-size: 0.9375em;
    color: #3A3A3A;
    margin: 0;
}

.kk-side-cart__shop-btn {
    border-radius: 10px;
}

/* Items list */
.kk-side-cart__items {
    padding: 0 1.5rem;
    flex: 1;
}

.kk-side-cart__item {
    display: grid;
    grid-template-columns: 72px 1fr 20px;
    gap: 0.875rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--light-gray);
    align-items: start;
}

.kk-side-cart__item:last-child {
    border-bottom: none;
}

.kk-side-cart__img-link {
    display: block;
    width: 72px;
    height: 72px;
    background: var(--off-white);
    overflow: hidden;
    flex-shrink: 0;
}

.kk-side-cart__img-link img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.kk-side-cart__img-placeholder {
    width: 72px;
    height: 72px;
    background: var(--off-white);
}

.kk-side-cart__item-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.kk-side-cart__item-name {
    font-size: 0.8125em;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
    margin: 0;
}

.kk-side-cart__item-name a {
    color: var(--dst--primary-color2);
    transition: color var(--transition);
}

.kk-side-cart__item-name a:hover {
    color: var(--crimson);
}

.kk-side-cart__item-meta {
    font-size: 0.75em;
    color: #3A3A3A;
    margin: 0;
}

.kk-side-cart__item-price {
    font-size: 0.8125em;
    color: #3A3A3A;
    margin: 0.25rem 0 0;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.kk-sc-line {
    color: var(--navy);
    font-weight: 700;
}

.kk-sc-x,
.kk-sc-line-sep {
    color: #3A3A3A;
    opacity: 0.5;
}

.kk-side-cart__remove {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3A3A3A;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: color var(--transition);
    flex-shrink: 0;
}

.kk-side-cart__remove:hover {
    color: var(--crimson);
}

.kk-side-cart__remove svg {
    width: 14px;
    height: 14px;
}

/* Footer */
.kk-side-cart__footer {
    padding: 1.25rem 1.5rem;
    border-top: 2px solid var(--light-gray);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.kk-side-cart__subtotal {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 0.875em;
    color: #3A3A3A;
}

.kk-side-cart__subtotal strong {
    font-size: 1.1em;
    font-weight: 800;
    color: var(--navy);
}

.kk-sc-view-cart {
    display: block;
    text-align: center;
    padding: 0.7rem 1rem;
    border: 2px solid var(--navy);
    border-radius: 10px;
    font-size: 0.8125em;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--navy);
    background: transparent;
    transition: background var(--transition), color var(--transition);
}

.kk-sc-view-cart:hover {
    background: var(--navy);
    color: var(--white);
}

.kk-sc-checkout {
    display: block;
    text-align: center;
    padding: 0.85rem 1rem;
    border: 2px solid var(--navy);
    border-radius: 10px;
    font-size: 0.875em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background: var(--navy);
    color: var(--white);
    transition: background var(--transition), border-color var(--transition);
}

.kk-sc-checkout:hover {
    background: #081528;
    border-color: #081528;
}

/* wc specific */
.wc-block-mini-cart {
  display: inline-block;
}

.wc-block-mini-cart__button {
  align-items: center;
  background-color: transparent;
  border: none;
  color: inherit;
  display: flex;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  gap: .5em;
  line-height: 1;
  padding: .5em;
  white-space: nowrap;
}

.wc-block-mini-cart__quantity-badge {
  align-items: center;
  display: flex;
  position: relative;
}

.wc-block-mini-cart__icon {
  display: block;
  height: 2em;
  margin: -.25em;
  width: 2em;
}

.wc-block-mini-cart__button .wc-block-mini-cart__icon {
  height: 1.5em;
  margin: 0;
  width: 1.5em;
}

.wc-block-mini-cart__badge {
  align-items: center;
  border-radius: 1em;
  box-sizing: border-box;
  display: flex;
  font-size: .875em;
  font-weight: 600;
  height: 1.4285714286em;
  justify-content: center;
  left: 100%;
  margin-left: -44%;
  min-width: 1.4285714286em;
  padding: 0 .25em;
  position: absolute;
  transform: translateY(-50%);
  white-space: nowrap;
  z-index: 1;
}

body  .wc-block-mini-cart__badge {
	background-color: rgb(38, 52, 96); color: rgb(255, 144, 21);
	padding: .1em .25em;
}

/* cart/checkout */

.azeret-mono {
	font-family: "Azeret Mono", monospace;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

.itemColumn img { max-width:120px; max-height:120px }
#cartForm > .error { margin-top:2rem }

#cartProducts thead tr th { border-bottom: 1px solid #ccc }
#cartProducts tbody tr.topBorder2 td { border-top: 1px solid #ccc }
#cartProducts tbody tr td { padding:5px; }
#cartProducts tbody tr td .cartProduct { padding:0 }
#cartProducts tbody tr td .cartSKU { padding:0; font-size:1.2rem }
#cartProducts img { max-width:80px; max-height:80px }
#cartProducts tbody tr td.itemImg { width:80px; }
#cartProducts tbody tr td.itemDesc { width:300px; }
#cartProducts tbody tr td.itemPrice { min-width:65px; text-align:right; }
#cartProducts tbody tr td.itemQty { min-width:50px; text-align:right }
#cartProducts tbody tr td.itemTotal { min-width:65px; text-align:right }

#fedexPanel { padding:1.5rem 0 0 0 }
#fedexPanel h3 { font-weight:500; font-size:2.5rem }
#fedexPanel label { font-weight:normal; display:contents }

#fedexExpressForm { display:grid; grid-template-columns: 40px auto 60px; max-width:400px }
.fedexExpressRow { display:contents }
.fedexExpressRow > div { cursor:pointer }
.fedexExpressNote { display:block; font-style:italic; padding-bottom:10px; font-size:13px }
.fedexExpressRate { text-align:right }
