/* ------------------------------------------------------------------
   Shop card and header geometry.

   Measured at 1900px before writing this.

   Product card -- computed padding was 0px and display was block, so the
   earlier store snippet's card rule was losing to a later theme rule. Every
   part sat 1px from the card border: image edge to edge, title and price
   with no inset, and the button flush against the bottom edge with 1px
   clearance. Restored with the specificity needed to win, and the card is
   now a column flexbox so the button can be pinned to the bottom and line
   up across cards whatever the title length.

   Sticky bar -- the bar is 51px tall and was rendering the wordmark at
   42px, leaving 4px above and 5px below. That is what reads as clipped on
   scroll. The main header row is 70px, so it keeps the full size; only the
   sticky copy is reduced.

   Header social icons -- see the note on that block below.
   ------------------------------------------------------------------ */

/* ---------- product cards ---------- */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product.type-product {
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	padding: 12px 12px 16px !important;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 10px;
	margin: 0 !important;
	background: #f3f4f8;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	margin: 13px 0 6px !important;
	padding: 0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	margin: 0 0 14px !important;
	padding: 0 !important;
}

/* margin-top:auto pins the button to the card floor, so buttons align
   across the row even when one title wraps to two lines */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	margin: auto 0 0 !important;
	min-height: 48px;
	padding: 11px 14px !important;
	border-radius: 10px !important;
	text-align: center;
}

.woocommerce ul.products li.product .button::before,
.woocommerce ul.products li.product .button::after {
	margin: 0 !important;
}

/* ---------- sticky bar ---------- */

.jeg_stickybar .jeg_logo a,
.jeg_stickybar .jeg_logo h1,
.jeg_stickybar .jeg_logo h1 a,
.jeg_navbar_wrapper.jeg_stickybar .jeg_logo a {
	font-size: 26px !important;
	line-height: 1.2 !important;
}

.jeg_stickybar .jeg_nav_row,
.jeg_stickybar .item_wrap,
.jeg_stickybar .jeg_nav_item {
	align-items: center !important;
}

.jeg_stickybar .jeg_logo {
	display: flex !important;
	align-items: center;
}

/* ---------- header social icons ----------
   These were given a 26px minimum earlier for target size. The header row
   has no spare width: its three columns measure 255 + 779 + 226 and the row
   is 1260, so it is exactly full. At 26px the social block grew from 134px
   to 178px, overflowed the 226px right column, wrapped onto a second line
   and pushed that column to 77px inside a 70px row.

   Target size loses to layout here, so the header icons go back to the
   theme's own sizing. The same icons in the footer keep their 40px targets,
   where there is room, so an accessible route to them still exists. */
.jeg_header .jeg_social_icon_block a,
.jeg_nav_item .jeg_social_icon_block a,
.jeg_stickybar .jeg_social_icon_block a {
	display: inline-block !important;
	min-width: 0 !important;
	min-height: 0 !important;
}

/* the right-hand header group must never wrap */
.jeg_header .jeg_nav_row .jeg_nav_right .item_wrap {
	flex-wrap: nowrap !important;
}
