/* ==========================================================================
   The Jolly Pops — WooCommerce
   ========================================================================== */

/* Shared buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.single_add_to_cart_button,
.wc-block-components-button:not(.is-link),
.wp-element-button.wc-block-components-button {
	background: var(--jp-indigo) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: var(--jp-font-ui);
	font-weight: 600;
	padding: 14px 26px;
	text-decoration: none !important;
	transition: background-color .2s;
}
.woocommerce .button:hover,
.single_add_to_cart_button:hover,
.wc-block-components-button:not(.is-link):hover { background: var(--jp-navy) !important; }
.woocommerce .button.alt,
.woocommerce .checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { background: var(--jp-orange) !important; }
.woocommerce .button.alt:hover,
.woocommerce .checkout-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--jp-berry) !important; }

/* ---------- Shop archive ---------- */
.jp-shop { padding: 40px 0 30px; }
.jp-shop__head { text-align: center; margin-bottom: 26px; }
.jp-shop .woocommerce-products-header { display: none; }
.jp-shop a { text-decoration: none; }
.jp-shop__head h1 { font-size: 38px; line-height: 1.25; color: #fff; margin-bottom: 4px; }
.jp-shop__head h1 span { font-size: 44px; }
.jp-shop__head p { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 19px; line-height: 1.2; margin: 0; }

.jp-shop ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px 20px;
	margin: 0;
	padding: 0;
}
.jp-shop ul.products::before,
.jp-shop ul.products::after { display: none; }
.jp-shop ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	text-align: left;
	position: relative;
}
ul.products li.product a.woocommerce-LoopProduct-link { display: block; text-decoration: none; color: inherit; }
ul.products li.product img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	margin: 0 0 22px !important;
	transition: opacity .2s;
}
ul.products li.product:hover img { opacity: .88; }
.jp-shop ul.products li.product .woocommerce-loop-product__title {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 700;
	font-size: 18px !important;
	line-height: 1.22;
	color: #fff;
	padding: 0 !important;
	margin: 0 0 8px !important;
}
.jp-shop ul.products li.product .price {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 18px;
	color: #fff;
	margin: 0;
	display: block;
}
.jp-shop ul.products li.product .price del { opacity: .7; }
.jp-shop ul.products li.product .price ins { background: none; font-weight: 700; }
.jp-shop .woocommerce-pagination { text-align: center; margin-top: 30px; }
.jp-shop .woocommerce-pagination a, .jp-shop .woocommerce-pagination span { color: #fff; }
.jp-shop .woocommerce-info { background: rgba(255,255,255,.15); color: #fff; border: 0; }

/* Ribbon */
.jp-ribbon {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	padding: 3px 12px;
	background: var(--jp-indigo);
	color: #fff;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 14px;
	line-height: 1.3;
}
.single-product .jp-ribbon { position: static; display: inline-block; margin-bottom: 14px; }

/* Related products on light pages */
.related ul.products,
.upsells ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.related ul.products::before, .related ul.products::after { display: none; }
.related ul.products li.product,
.upsells ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; position: relative; }
.related ul.products .woocommerce-loop-product__title,
.upsells ul.products .woocommerce-loop-product__title { font-family: Georgia, serif; font-weight: 700; font-size: 16px !important; color: var(--jp-ink); }
.related ul.products .price,
.upsells ul.products .price { font-family: Georgia, serif; color: var(--jp-ink); }
.related > h2, .upsells > h2 { font-size: 34px; text-align: center; color: var(--jp-indigo); margin: 20px 0 26px; }

/* ---------- Single product ---------- */
.single-product .site-content { padding-top: 26px; }
.woocommerce-breadcrumb { font-family: var(--jp-font-ui); font-size: 14px; margin-bottom: 26px; color: #666; }
.woocommerce-breadcrumb a { color: var(--jp-ink); }
.single-product div.product { display: flow-root; }
.single-product div.product .woocommerce-product-gallery { width: 48% !important; float: left; margin-right: 4% !important; }
.single-product div.product .summary { width: 48% !important; float: right; margin-right: 0 !important; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 22%; margin-right: 4%; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(4n) { margin-right: 0; }
.single-product div.product .product_title {
	text-align: left;
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 1.25;
	color: var(--jp-ink);
	margin-bottom: 10px;
}
.single-product div.product p.price {
	font-family: Georgia, serif;
	font-size: 22px;
	color: var(--jp-ink);
	margin-bottom: 24px;
}
.single-product div.product .woocommerce-product-details__short-description { margin-bottom: 20px; }
.single-product div.product form.cart { padding: 0; margin-bottom: 18px; border: 0; }
.single-product div.product table.variations { margin-bottom: 14px; }
.single-product div.product table.variations th,
.single-product div.product table.variations td { display: block; padding: 0; background: none; text-align: left; }
.single-product div.product table.variations label { font-family: var(--jp-font-ui); font-weight: 400; font-size: 15px; }
.single-product div.product table.variations select {
	width: 100%;
	max-width: 340px;
	height: 44px;
	padding: 0 12px;
	margin: 6px 0 4px;
	border: 1px solid #ccc;
	background-color: #fff;
	font-size: 15px;
}
.single-product div.product .reset_variations { font-size: 13px; }
.single-product div.product form.cart .quantity { margin-right: 12px; }
.single-product div.product form.cart .quantity .qty { width: 70px; height: 50px; border: 1px solid #ccc; background: #fff; }
.single-product div.product form.cart .single_add_to_cart_button { min-width: 220px; height: 50px; padding: 0 26px; }
.jp-shipping-note {
	font-family: var(--jp-font-ui);
	font-size: 14px;
	font-weight: 600;
	color: var(--jp-berry);
	text-transform: uppercase;
	letter-spacing: .3px;
	border-top: 1px solid #e3e3e3;
	padding-top: 14px;
}
.single-product .product_meta { font-family: var(--jp-font-ui); font-size: 13px; color: #777; }
.single-product .woocommerce-tabs { clear: both; padding-top: 20px; }
.single-product .woocommerce-tabs ul.tabs { border: 0; }
.single-product .woocommerce-tabs ul.tabs li a { font-family: var(--jp-font-ui); font-weight: 600; color: var(--jp-ink); }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--jp-indigo); }
.single-product .woocommerce-tabs .panel h2:first-of-type { display: none; }
.storefront-product-pagination a { background: #fff; }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner { font-family: var(--jp-font-ui); font-size: 15px; }
.woocommerce-message { background: var(--jp-green); }
.woocommerce-info { background: var(--jp-indigo); }
.woocommerce-error { background: var(--jp-crimson); }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: #fff; }

/* ---------- Cart / checkout / account ---------- */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content { background: #fafafa; }
.wc-block-cart, .wc-block-checkout { font-family: var(--jp-font-ui); }
.wc-block-components-product-name { font-family: Georgia, serif; font-weight: 700; color: var(--jp-ink) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid #e5e5e5; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid #e5e5e5; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block; padding: 12px 6px; font-family: var(--jp-font-ui); color: var(--jp-ink); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { color: var(--jp-indigo); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before { display: none; }

.woocommerce form.login,
.woocommerce form.register {
	background: #fff;
	border: 0;
	border-top: 6px solid var(--jp-orange);
	box-shadow: 0 4px 18px rgba(0,0,0,.08);
	padding: 30px;
	border-radius: 0;
}
.woocommerce-account #customer_login h2 { font-size: 36px; color: var(--jp-indigo); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { background: #f7f7f7; border: 0; border-bottom: 1px solid #999; box-shadow: none; padding: 10px 12px; }

@media (max-width: 980px) {
	.jp-shop ul.products,
	.related ul.products,
	.upsells ul.products { grid-template-columns: repeat(2, 1fr); }
	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .summary { width: 100% !important; float: none; margin-right: 0 !important; }
}

@media (max-width: 480px) {
	.jp-shop ul.products { gap: 26px 14px; }
	.jp-shop ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
	.jp-shop__head h1 { font-size: 28px; }
	.jp-shop__head h1 span { font-size: 30px; }
	.jp-shop__head p { font-size: 16px; }
}

.single-product div.product .woocommerce-product-gallery__image img { width: 100%; }

.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-button__link.add_to_cart_button { background: var(--jp-indigo) !important; color: #fff !important; border-radius: 0; font-family: var(--jp-font-ui); }
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--jp-navy) !important; }
.wc-block-grid__product-title { font-family: Georgia, serif; font-weight: 700; color: var(--jp-ink); }
