/**
 * Hello Elementor Child - StefMed Product Page v1.0.3
 * Matches the Elementor template design exactly.
 */

/* ──────────────────────────────────────────────
   CSS CUSTOM PROPERTIES
   ────────────────────────────────────────────── */
:root {
	--hec-primary: #1B3A5C;
	--hec-primary-hover: #152e4a;
	--hec-text: #1a1a2e;
	--hec-text-secondary: #4a5568;
	--hec-text-muted: #718096;
	--hec-border: #e2e8f0;
	--hec-border-light: #edf2f7;
	--hec-bg-card: #ffffff;
	--hec-bg-description: #eef3f7;
	--hec-shadow-card: 0 7px 30px -10px rgba(150, 170, 180, 0.3);
	--hec-radius: 8px;
	--hec-radius-lg: 12px;
	--hec-transition: 0.25s ease;
	--hec-max-width: min(100% - 2rem, 73em);
}

/* ──────────────────────────────────────────────
   PAGE WRAPPER
   ────────────────────────────────────────────── */
.hec-single-product-wrapper {
	padding-bottom: 48px;
}

.hec-single-product-wrapper .woocommerce {
	max-width: var(--hec-max-width);
	margin: 0 auto;
	padding: 0 16px;
}

/* ──────────────────────────────────────────────
   BREADCRUMB BANNER
   Pattern background, full width
   ────────────────────────────────────────────── */
.hec-breadcrumbs-wrapper,
nav.woocommerce-breadcrumb,
.hec-breadcrumbs {
	font-size: 16px;
	color: var(--hec-text-muted);
	margin: 12vh 0 0 0;
	padding: 0;
}

/* The banner is created via the single-product.php wrapper */
.hec-single-product-wrapper .hec-breadcrumb-banner {
	background-color: #f0f2f5;
	background-image: url('https://new.stefmed.eu/wp-content/uploads/2023/11/pattern.png');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 24px 0;
	/*margin-bottom: 32px;
	border-bottom: 3px solid var(--hec-primary);*/
	box-shadow: 0px 7px 30px -10px rgba(150, 170, 180, 0.3);
	min-height: 10vh;
}

.hec-single-product-wrapper .hec-breadcrumb-banner .hec-breadcrumb-inner {
	max-width: var(--hec-max-width);
	margin: 0 auto;
	padding: 0 16px;
}

.hec-single-product-wrapper .hec-breadcrumb-banner a {
	color: var(--hec-text-secondary);
	text-decoration: none;
}

.hec-single-product-wrapper .hec-breadcrumb-banner a:hover {
	color: var(--hec-primary);
}

/* WooCommerce breadcrumb when rendered inside the wrapper */
.hec-product .hec-breadcrumbs-wrapper {
	margin-bottom: 0;
}

.hec-product .hec-breadcrumbs-wrapper .woocommerce-breadcrumb,
.hec-product .hec-breadcrumbs .hec-breadcrumbs-inner {
	color: var(--hec-text-muted);
	font-size: 12px;
	margin: 0;
	padding: 0;
}

.hec-product .hec-breadcrumbs-wrapper .woocommerce-breadcrumb a,
.hec-product .hec-breadcrumbs a {
	color: var(--hec-text-secondary);
	text-decoration: none;
}

.hec-product .hec-breadcrumbs-wrapper .woocommerce-breadcrumb a:hover,
.hec-product .hec-breadcrumbs a:hover {
	color: var(--hec-primary);
}

/* ──────────────────────────────────────────────
   UNIFIED PRODUCT CARD
   White card with shadow containing everything
   ────────────────────────────────────────────── */
.hec-product-card {
	background: var(--hec-bg-card);
	border-radius: var(--hec-radius-lg);
	box-shadow: var(--hec-shadow-card);
	overflow: hidden;
	border: 1px solid var(--hec-border-light);
	margin-bottom: 48px;
}

/* ──────────────────────────────────────────────
   TOP SECTION: TWO COLUMNS
   Details LEFT | Gallery RIGHT
   ────────────────────────────────────────────── */
.hec-product-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: start;
}

/* LEFT COLUMN: Details */
.hec-product-details-col {
	order: 1;
	padding: 36px 40px 32px;
}

/* RIGHT COLUMN: Gallery */
.hec-product-gallery-col {
	order: 2;
	padding: 20px 20px 20px 0;
}

/* ──────────────────────────────────────────────
   PRODUCT TITLE
   ────────────────────────────────────────────── */
.hec-product .product_title {
	font-size: 26px;
	font-weight: 700;
	color: var(--hec-text);
	line-height: 1.3;
	margin: 0 0 10px;
}

/* ──────────────────────────────────────────────
   VAT BADGE
   ────────────────────────────────────────────── */
.hec-vat-badge {
	margin-bottom: 10px;
}

.hec-vat-badge span {
	display: inline-block;
	background: var(--hec-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 4px 14px;
	border-radius: 20px;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

/* ──────────────────────────────────────────────
   PRICE
   ────────────────────────────────────────────── */
.hec-product .summary .price {
	font-weight: 300;
	color: var(--hec-primary) !important;
	margin-bottom: 8px;
	line-height: 1.2;
}
 
.hec-product .summary .price del {
	color: var(--hec-text-muted);
	font-size: 18px;
	font-weight: 400;
	margin-right: 8px;
}
 
.hec-product .summary .price ins {
	text-decoration: none;
	color: #c0392b;
}

/* ──────────────────────────────────────────────
   STOCK + SKU ROW
   ────────────────────────────────────────────── */
.hec-stock-sku-row {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 13px;
	color: var(--hec-text-secondary);
	margin-bottom: 20px;
}

.hec-stock.in-stock {
	color: #38a169;
}

.hec-stock.out-of-stock {
	color: #e53e3e;
	font-weight: 600;
}

.hec-sku {
	color: var(--hec-text-muted);
}

/* ──────────────────────────────────────────────
   ADD TO CART FORM
   Stacked: quantity → button → PayPal
   ────────────────────────────────────────────── */
.hec-product form.cart {
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 320px;
}

.hec-product form.cart .quantity {
	width: 100%;
	margin-bottom: 8px;
	margin-right: 0;
	display: block;
}

.hec-product form.cart .quantity .qty {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--hec-border);
	border-radius: var(--hec-radius);
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	color: var(--hec-text);
	box-sizing: border-box;
	transition: border-color var(--hec-transition);
}

.hec-product form.cart .quantity .qty:focus {
	border-color: var(--hec-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(27, 58, 92, 0.1);
}

/* ΠΡΟΣΘΗΚΗ ΣΤΟ ΚΑΛΑΘΙ button */
.hec-product .single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 24px;
	background: var(--hec-primary);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	border: none;
	border-radius: var(--hec-radius);
	cursor: pointer;
	transition: all var(--hec-transition);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1;
	min-height: 48px;
	box-sizing: border-box;
}

.hec-product .single_add_to_cart_button::before {
	content: '🛒';
	font-size: 15px;
}

.hec-product .single_add_to_cart_button:hover {
	background: var(--hec-primary-hover);
	box-shadow: 0 4px 12px rgba(27, 58, 92, 0.3);
}

.hec-product .single_add_to_cart_button.disabled,
.hec-product .single_add_to_cart_button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Out of stock */
.hec-product p.stock.out-of-stock {
	color: #e53e3e;
	font-weight: 600;
	font-size: 15px;
	padding: 12px 20px;
	background: #fff5f5;
	border-radius: var(--hec-radius);
	text-align: center;
	max-width: 320px;
}

/* Variation dropdowns */
.hec-product .variations {
	width: 100%;
	margin-bottom: 8px;
	border-collapse: collapse;
}

.hec-product .variations td,
.hec-product .variations th {
	padding: 6px 0;
	border: none;
}

.hec-product .variations .label label {
	font-weight: 600;
	font-size: 14px;
	color: var(--hec-text);
}

.hec-product .variations select {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--hec-border);
	border-radius: var(--hec-radius);
	font-size: 14px;
	color: var(--hec-text);
	background: #fff;
}

/* PayPal / payment buttons */
.hec-product .summary .ppc-button-wrapper,
.hec-product .summary .ppcp-messages,
.hec-product .summary iframe[name*="paypal"],
.hec-product .summary .wc-gateway-paypal-button {
	max-width: 320px;
	margin-top: 0;
}

/* ──────────────────────────────────────────────
   GALLERY
   ────────────────────────────────────────────── */
.hec-product-gallery-col .woocommerce-product-gallery {
	margin-bottom: 0;
}

.hec-product-gallery-col .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--hec-radius);
}

/* Thumbnails */
.hec-product-gallery-col .flex-control-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	padding: 0;
	list-style: none;
}

.hec-product-gallery-col .flex-control-thumbs li {
	flex: 0 0 calc(25% - 6px);
	border-radius: 6px;
	overflow: hidden;
	border: 2px solid transparent;
	transition: border-color var(--hec-transition);
	cursor: pointer;
}

.hec-product-gallery-col .flex-control-thumbs li:hover {
	border-color: var(--hec-primary);
}

.hec-product-gallery-col .flex-control-thumbs li img {
	width: 100%;
	height: auto;
	display: block;
	opacity: 0.7;
	transition: opacity var(--hec-transition);
}

.hec-product-gallery-col .flex-control-thumbs li:hover img,
.hec-product-gallery-col .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

/* Zoom icon */
.hec-product-gallery-col .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 10;
	background: rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Sale badge */
.hec-product .onsale {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 10;
	background: #e53e3e;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 20px;
	line-height: 1.4;
	min-width: auto;
	min-height: auto;
}

/* ──────────────────────────────────────────────
   DESCRIPTION AREA
   Full width below both columns, light blue-gray bg
   ────────────────────────────────────────────── */
.hec-product-description-area {
	background: var(--hec-bg-description);
	padding: 40px 48px 44px;
	border-top: 1px solid var(--hec-border);
}

/* Section title: "Περιγραφή Προϊόντος"  */
.hec-section-title {
	font-size: 24px;
	font-weight: 700;
	/*color: var(--hec-text);*/
	color: var(--e-global-color-primary);
	text-align: center;
	margin: 0 0 14px;

}

/* Divider line */
.hec-section-divider {
	width: 50px;
	height: 2px;
	background: var(--hec-primary);
	margin: 0 auto 28px;
	border-radius: 1px;
}

/* Description content */
.hec-description-content {
	font-size: 16px;
	line-height: 1.85;
	color: var(--hec-text-secondary);
	max-width: 800px;
	margin: 0 auto;
}

.hec-description-content p {
	margin-bottom: 12px;
}

.hec-description-content p:last-child {
	margin-bottom: 0;
}

.hec-description-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--hec-radius);
	margin: 12px 0;
}

.hec-description-content a {
	color: var(--hec-primary);
	text-decoration: none;
	font-weight: 500;
}

.hec-description-content a:hover {
	text-decoration: underline;
}

/* ──────────────────────────────────────────────
   CHARACTERISTICS SECTION
   ────────────────────────────────────────────── */
.hec-characteristics-section {
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* "Χαρακτηριστικά:"  */
.hec-section-subtitle {
	font-size: 24px;
	font-weight: 700;
	color: var(--e-global-color-primary);;
	text-align: center;
	margin: 0 0 14px;

}

.hec-characteristics-content {
	font-size: 16px;
	line-height: 1.85;
	color: var(--hec-text-secondary);
	max-width: 800px;
	margin: 0 auto;
}

.hec-characteristics-content p {
	margin-bottom: 10px;
}

.hec-characteristics-content strong {
	color: var(--hec-text);
}

/* ──────────────────────────────────────────────
   RELATED PRODUCTS
   3 columns, centered text, card style, uniform heights
   ────────────────────────────────────────────── */
.hec-product-bottom {
	margin-bottom: 0;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.hec-related-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--e-global-color-primary);
	text-align: center;
	margin: 0 0 28px;
}

/* Hide WC default heading */
.hec-product .related.products > h2,
.hec-product .upsells.products > h2 {
	display: none;
}

.hec-product .related.products ul.products,
.hec-product .upsells.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Kill WooCommerce legacy clearfix — breaks CSS Grid */
.hec-product .related.products ul.products::before,
.hec-product .related.products ul.products::after,
.hec-product .upsells.products ul.products::before,
.hec-product .upsells.products ul.products::after {
	content: none !important;
	display: none !important;
}

.hec-product .related.products ul.products li.product,
.hec-product .upsells.products ul.products li.product {
	background: var(--hec-bg-card);
	border: 1px solid var(--hec-border);
	border-radius: var(--hec-radius-lg);
	overflow: hidden;
	transition: all var(--hec-transition);
	padding: 0;
	margin: 0;
	width: auto !important;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.hec-product .related.products ul.products li.product:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

/* Image area: fixed height, centered, white bg */
.hec-product .related.products ul.products li.product > a {
	display: block;
	overflow: hidden;
	background: #fff;
	border-bottom: 1px solid var(--hec-border-light);
	min-height:414px;
}

.hec-product .related.products ul.products li.product a img {
	width: 100%;
	height: 200px;
	object-fit: contain;
	display: block;
	padding: 16px;
	box-sizing: border-box;
	background: #fff;
}

/* VAT badge on loop products */
.hec-loop-vat-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 5;
	background: var(--hec-primary);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 14px;
	letter-spacing: 0.02em;
}

.hec-product .related.products ul.products li.product .woocommerce-loop-product__title {
	padding: 16px 16px 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--hec-text);
	line-height: 1.5;
	flex-grow: 1;
}

.hec-product .related.products ul.products li.product .price {
	padding: 4px 16px 8px;
	font-size: 18px;
	font-weight: 300;
	color: var(--hec-text);
}

.hec-product .related.products ul.products li.product .price del {
	font-size: 14px;
	color: var(--hec-text-muted);
	font-weight: 400;
}

.hec-product .related.products ul.products li.product .price ins {
	text-decoration: none;
	font-weight: 300;
}

/* Hide add-to-cart on related (matching original design) */
.hec-product .related.products ul.products li.product .button {
	display: none;
}

/* Out of stock label on related */
.hec-product .related.products ul.products li.product p.stock.out-of-stock {
	font-size: 13px;

	padding: 0 16px 16px;
	margin: 0;
	background: none;
	border: none;
	color: var(--hec-text-muted);
	max-width: none;
}

/* Sale badge ("ΠΡΟΣΦΟΡΑ") on related products */
.hec-product .related.products ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	right: 12px;
	left: auto;
	z-index: 6;
	background: #e53e3e;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 14px;
	line-height: 1.4;
	min-width: auto;
	min-height: auto;
}

/* ──────────────────────────────────────────────
   NOTICES
   ────────────────────────────────────────────── */
.hec-product .woocommerce-message,
.hec-product .woocommerce-info {
	background: #ebf8ff;
	border-left: 4px solid var(--hec-primary);
	color: var(--hec-text);
	padding: 14px 20px;
	border-radius: 0 var(--hec-radius) var(--hec-radius) 0;
	margin-bottom: 20px;
	font-size: 14px;
}

.hec-product .woocommerce-error {
	background: #fff5f5;
	border-left: 4px solid #e53e3e;
}

/* ──────────────────────────────────────────────
   RESPONSIVE
   ────────────────────────────────────────────── */
@media (max-width: 768px) {
	.hec-product-top {
		grid-template-columns: 1fr;
	}
	.hec-product-gallery-col {
		order: 1;
		padding: 16px;
	}
	.hec-product-details-col {
		order: 2;
		padding: 24px 20px;
	}
	.hec-product .product_title {
		font-size: 22px;
	}
	.hec-product .summary .price {
		font-size: 24px;
	}
	.hec-product form.cart {
		max-width: 100%;
	}
	.hec-product .summary .ppc-button-wrapper,
	.hec-product .summary .ppcp-messages,
	.hec-product .summary iframe[name*="paypal"],
	.hec-product .summary .wc-gateway-paypal-button {
		max-width: 100%;
	}
	.hec-product-description-area {
		padding: 28px 20px 32px;
	}
	.hec-related-title {
		font-size: 20px;
	}
	.hec-product .related.products ul.products,
	.hec-product .upsells.products ul.products {
		grid-template-columns: 1fr !important;
		gap: 16px;
	}
}

@media (max-width: 480px) {
	.hec-product-details-col {
		padding: 20px 16px;
	}
	.hec-product-description-area {
		padding: 24px 16px 28px;
	}
}
/* ──────────────────────────────────────────────
   PRINT
   ────────────────────────────────────────────── */
@media print {
	.hec-product form.cart,
	.hec-product-bottom {
		display: none;
	}
}

/* ──────────────────────────────────────────────
   WOOCOMMERCE DEFAULT OVERRIDES (!important needed)
   ────────────────────────────────────────────── */
.hec-product .summary .price {
	font-size: 30px !important;
	color: var(--hec-primary) !important;
}

.hec-product .single_add_to_cart_button,
.hec-product .single_add_to_cart_button.button.alt {
	background: var(--hec-primary) !important;
	color: #fff !important;
	border-radius: var(--hec-radius) !important;
}

.hec-product .single_add_to_cart_button:hover,
.hec-product .single_add_to_cart_button.button.alt:hover {
	background: var(--hec-primary-hover) !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    margin: 0 !important;
}

.hec-product .single_add_to_cart_button::before {
    content: '';
    font-size: 15px;
}

.hec-stock.in-stock {
    display:none !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
    display:none!important;
}

/* ──────────────────────────────────────────────
   VARIATIONS: Stack label above dropdown
   ────────────────────────────────────────────── */
.hec-product .variations tr {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 12px;
}

.hec-product .variations td.label,
.hec-product .variations td.value {
	display: block;
	width: 100%;
	padding: 0;
}

.hec-product .variations td.label label {
	font-weight: 600;
	font-size: 14px;
}

.hec-product .variations td.value select {
	width: 100%;
}

.hec-product .variations .reset_variations {
	display: block;
	margin-top: 4px;
	text-align: right;
}


.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
	margin: 0 auto;
	text-align:center;
}

.woocommerce div.product form.cart .reset_variations {
    /* visibility: hidden; */
    /* font-size: .83em; */
    display: none;
}

.woocommerce div.product form.cart .variations select {
    max-width: 70%;
    min-width: 40% !important;
		padding-left:4px
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #958e09;
    font-size: 2.0em !important;
}

.hec-breadcrumbs-inner {
    border-bottom: 6px solid var(--e-global-color-primary);
    padding-bottom: 10px;
}

.button.wc-forward
{
    background-color:#07798c !important;
    color: #ffffff !important;
}

/* ──────────────────────────────────────────────
   WooCommerce notices: remove focus outline
   ────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	outline: none !important;
	box-shadow: none !important;
}

.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
	outline: none !important;
	box-shadow: none !important;
}

/* ──────────────────────────────────────────────
   Contact CTA button above related products
   ────────────────────────────────────────────── */
.hec-contact-cta {
	text-align: center;
	margin: 0 0 40px;
}

.hec-contact-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 36px;
	background: var(--hec-primary);
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	border-radius: var(--hec-radius);
	text-decoration: none;
	transition: all var(--hec-transition);
	letter-spacing: 0.02em;
}

.hec-contact-button:hover {
	background: var(--hec-primary-hover);
	box-shadow: 0 4px 12px rgba(27, 58, 92, 0.3);
	transform: translateY(-1px);
}