/* ==========================================================================
   Single product page styles. Loaded only when is_product(). Targets
   WooCommerce's standard markup - Blocksy does not replace this DOM
   structure, it only customizes what renders inside .summary via hooks.
   ========================================================================== */

.product-entry-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--elc-space-5, 3rem);
	align-items: start;
	max-width: var(--elc-container, 1180px);
	margin-inline: auto;
	padding-inline: var(--elc-space-3, 1.5rem);
	padding-block: var(--elc-space-5, 3rem);
}

@media (max-width: 900px) {
	.product-entry-wrapper {
		grid-template-columns: 1fr;
		gap: var(--elc-space-3, 1.5rem);
	}
}

/* Gallery: reserve space so the default WooCommerce placeholder image never
   causes layout shift, and keep it visually aligned with our design system
   until real photos are uploaded. */
.woocommerce-product-gallery {
	position: sticky;
	top: 5rem;
}
@media (max-width: 900px) {
	.woocommerce-product-gallery {
		position: static;
	}
}
.woocommerce-product-gallery img {
	border-radius: var(--elc-radius-l, 16px);
	border: 1px solid var(--elc-border, #ddd8cd);
	width: 100%;
	height: auto;
}

/* Buy box (.summary) */
.summary.entry-summary {
	display: flex;
	flex-direction: column;
	gap: var(--elc-space-2, 1rem);
}
.summary .product_title {
	font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);
	line-height: 1.15;
	margin: 0;
	color: var(--elc-text, #1e2422);
}
.summary > .price {
	font-size: var(--elc-font-size-xl, 1.375rem);
	font-weight: 800;
	color: var(--elc-text, #1e2422);
	margin: 0;
}
.summary .woocommerce-product-details__short-description p {
	color: var(--elc-text-muted, #5b665f);
	font-size: var(--elc-font-size-lg, 1.125rem);
	line-height: 1.6;
	margin: 0;
}

.elefantlas-product-block {
	padding-block: 0.25rem;
}
.elefantlas-product-block__title {
	font-size: var(--elc-font-size-base, 1rem);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--elc-text-muted, #5b665f);
	margin: 0 0 0.6rem;
}
.elefantlas-product-block__note {
	margin: 0.6rem 0 0;
	font-size: var(--elc-font-size-sm, 0.9375rem);
	color: var(--elc-text-muted, #5b665f);
}

.ct-product-divider {
	display: block;
	border: none;
	border-top: 1px solid var(--elc-border, #ddd8cd);
	margin-block: 0.5rem;
}

/* Add-to-cart form */
.ct-product-add-to-cart form.cart {
	display: flex;
	align-items: center;
	gap: var(--elc-space-2, 1rem);
	flex-wrap: wrap;
}
.ct-product-add-to-cart .quantity {
	display: flex;
	align-items: center;
}
.ct-product-add-to-cart .quantity .input-text {
	width: 4.5rem;
	min-height: 48px;
	text-align: center;
	border: 1px solid var(--elc-border, #ddd8cd);
	border-radius: var(--elc-radius-s, 6px);
	font-size: var(--elc-font-size-base, 1rem);
}
.single_add_to_cart_button {
	background: var(--elc-accent, #2c5f4a) !important;
	color: #ffffff !important;
	border: none !important;
	font-weight: 700 !important;
	min-height: 48px !important;
	padding: 0 1.75rem !important;
	border-radius: var(--elc-radius-m, 10px) !important;
}
.single_add_to_cart_button:hover {
	background: var(--elc-accent-hover, #204636) !important;
}

.product_meta {
	font-size: var(--elc-font-size-sm, 0.9375rem);
	color: var(--elc-text-muted, #5b665f);
}
.product_meta > span {
	display: block;
	margin-bottom: 0.35rem;
}

/* Tabs (description / additional info / reviews) - keep native WooCommerce
   behaviour, just align typography with the rest of the page. */
.woocommerce-tabs {
	max-width: var(--elc-container, 1180px);
	margin-inline: auto;
	padding-inline: var(--elc-space-3, 1.5rem);
}

/* ==========================================================================
   Sticky mobile add-to-cart bar (see inc/product-page.php + assets/js/product.js)
   ========================================================================== */
.elefantlas-sticky-cta {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 50;
	background: var(--elc-surface, #fff);
	border-top: 1px solid var(--elc-border, #ddd8cd);
	box-shadow: 0 -4px 16px rgba(30, 36, 34, 0.08);
	padding: 0.75rem var(--elc-space-3, 1.5rem);
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: var(--elc-space-2, 1rem);
	padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}
.elefantlas-sticky-cta.is-visible {
	display: flex;
}
.elefantlas-sticky-cta__price {
	font-weight: 800;
	font-size: var(--elc-font-size-lg, 1.125rem);
}
.elefantlas-sticky-cta__button {
	background: var(--elc-accent, #2c5f4a);
	color: #fff;
	border: none;
	font-weight: 700;
	min-height: 48px;
	padding: 0 1.75rem;
	border-radius: var(--elc-radius-m, 10px);
	cursor: pointer;
}
.elefantlas-sticky-cta__button:hover {
	background: var(--elc-accent-hover, #204636);
}
@media (min-width: 900px) {
	.elefantlas-sticky-cta {
		display: none !important;
	}
}
