/* PDP custom styles */

/* Title */
.page-title-wrapper.product .page-title {
	font-size: 40px !important;
	line-height: 1.2;
	font-weight: 800;
	color: #111;
	margin: 6px 0 10px;
}
/* Ensure descendant span doesn't override size */
.page-title-wrapper.product .page-title .base { font-size: 30px !important; }

/* Meta row (SKU + Manufacturer + EAN above price) */
.meta-row {
	color: #6b7280;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 6px;
	white-space: nowrap !important;
	overflow-x: auto;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	min-width: 100%;
	width: max-content;
}
.meta-row .meta-item { 
	margin-right: 8px; 
	display: inline-block;
	white-space: nowrap;
	flex-shrink: 0;
	min-width: fit-content;
}
.meta-row .divider { 
	color: #d1d5db; 
	margin: 0 6px; 
	display: inline-block;
	flex-shrink: 0;
}
/* Emphasize values (SKU, Manufacturer code, EAN) in theme red */
.meta-row .meta-item b { color: #b11e22; }

/* Ensure parent containers don't constrain the meta row */
.product-info-main .meta-row,
.detail-info-product-view .meta-row,
.product.col.info .meta-row {
	min-width: 0;
	width: 100%;
	max-width: none;
}

/* Allow meta row to expand beyond container if needed */
.product-info-main,
.detail-info-product-view,
.product.col.info {
	overflow-x: visible;
}

/* Center the tabs */
.product-tabs-nav { display: flex; justify-content: center; gap: 10px; background: #f3f4f6; border-radius: 8px 8px 0 0; padding: 8px 10px; }
.tab-button { background: transparent; border: 0; padding: 12px 18px; font-weight: 700; color: #6b7280; border-bottom: 3px solid transparent; border-radius: 6px 6px 0 0; cursor: pointer; font-size: 16px; }
.tab-button:hover { color: #111; }
.tab-button.active { color: #111; border-bottom-color: #B11D22; background: #fff; }

/* Tabs wrapper & content */
.product.info.detailed { margin-top: 24px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(17,24,39,0.06); }
.product.info.detailed .product-tabs-nav { border-bottom: 1px solid #e5e7eb; }
.product.info.detailed .product-tabs-content { border: 0; padding: 18px; }

/* Gallery spacing */
.product.media .fotorama__stage { margin-bottom: 8px !important; }
.product.media .fotorama__nav--thumbs { margin-top: 0 !important; }
.product.media .fotorama__thumb-border { border-color: #16a34a; }
.product.media { margin-bottom: 10px; }

/* Price block */
.custom-price-container { margin: 30px 0 !important;  }
.custom-price-container .price-main-row .current-price { font-size: 35px; font-weight: 800; color: #111; }
.custom-price-container .price-main-row .vat-info { text-transform: uppercase; letter-spacing: .02em; color: #6b7280; }
.custom-price-container .price-savings-row { margin-top: 4px; }
.custom-price-container .price-savings-row .was-price { color: #9ca3af; text-decoration: line-through; font-size: 14px; }
.custom-price-container .price-savings-row .save-amount { color: #e11900; font-weight: 800; }

/* Add to cart button */
.product-info-main .box-tocart .action.tocart,
.product-info-main .actions .action.primary,
.product-info-main .action.tocart { background-color: #0A7F3E; border-color: #0A7F3E; color: #fff; font-weight: 600; padding-top: 10px; padding-bottom: 10px; font-size: 24px; border-radius: 9999px; width: 100%; letter-spacing: .02em; display: block; height: auto !important; line-height: 1.3 !important; border: 0; text-transform: none; }
.product-info-main .action.tocart:hover { background-color: #086F35; border-color: #086F35; }

/* Reset container wrappers to avoid outlined boxes */
.product-info-main .box-tocart,
.product-info-main .box-tocart .fieldset,
.product-info-main .box-tocart .actions { background: transparent; border: 0; padding: 0; box-shadow: none; }

/* Flex row for quantity + button, and soft card background like reference */
.product-info-main .attr-info { 
    background: #EEF6EF; 
    border-radius: 16px; 
    padding: 20px; 
    width: 100% !important;
    box-sizing: border-box !important;
}
.product-info-main .attr-info::after { content: ""; display: table; clear: both; }
.product-info-main .box-tocart { 
	display: flex; 
	flex-direction: column; 
	align-items: stretch; 
	gap: 12px; 
	background: transparent; 
	padding: 0; 
	float: none; 
	width: 100%; 
	margin-top: 10px; 
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.product-info-main .box-tocart .actions { 
	width: 100%; 
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.product-info-main .box-tocart .actions .action.tocart { 
	width: 100%; 
	margin: 0; 
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.product-info-main .box-tocart .field.qty { 
	margin: 0; 
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.product-info-main .box-tocart .field.qty .label {
	margin-left: 0 !important;
	padding-left: 0 !important;
}
.product-info-main .box-tocart .field.qty .control {
	margin-left: 0 !important;
	padding-left: 0 !important;
}
.product-info-main .box-tocart .field.qty .control input.qty { height: 56px; border-radius: 10px; font-size: 18px; }
.product-info-main .box-tocart .actions { flex: 1; }
.product-info-main .box-tocart .actions .action.tocart { width: 100%; }

/* Shipping text inside the CTA card */
.product-info-main .attr-info .custom-shipping-message { margin: 6px 0 10px; color: #0A7F3E; font-weight: 700; text-align: center; }
.product-info-main .attr-info .custom-shipping-message + .custom-shipping-message p { font-weight: 400 !important; color: #374151; text-align: center;}

/* Row under Add to Cart: wishlist left, stock right */
.product-info-main { position: relative; }
.product-info-main::after { content: ""; display: table; clear: both; }
.product-info-main .product-social-links { float: left; margin-top: 12px; display: none; align-items: center; gap: 8px; font-weight: 800; color: #4b5563; }
.product-info-main .product-social-links .action.towishlist { background: transparent; border: 0; color: #4b5563; padding: 0; }
.product-info-main .product-social-links .action.tocompare { display: none !important; }
.product-info-main .stock,
.product-info-main .availability { float: right; margin-top: 12px; font-weight: 800; color: #16a34a; text-transform: uppercase; }

/* Small feature rows */
.product-info-main .attr-info,
.product-info-main .product-social-links { margin-top: 10px;  }

/* Description/Overview paragraph spacing */
.product-info-main .product.attribute.overview,
.product-info-main .overview { font-size: 15px; line-height: 1.7; color: #111; }

/* Availability label */
.product-info-main .stock.available,
.product-info-main .stock,
.product-info-main .availability { color: #16a34a; font-weight: 700; font-size: 13px; }

/* Card around right-side block */
.detail-info-product-view.product-info-main,
.product.col.info .product-info-main { 
	border: 1px solid #e5e7eb; 
	border-radius: 10px; 
	background: #fff; 
	padding: 18px; 
	box-shadow: 0 1px 0 rgba(17, 24, 39, 0.02);
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 auto !important;
}

/* Increase width of the specific product info box to 120% */
.detail-info.detail-info-product-view.product-info.product-info-main {
	width: 120% !important;
	max-width: none !important;
	min-width: 450px !important;
	padding: 20px !important;
}

/* Responsive adjustments for the 120% width */
@media (max-width: 1200px) {
	.detail-info.detail-info-product-view.product-info.product-info-main {
		width: 110% !important;
	}
}

@media (max-width: 992px) {
	.detail-info.detail-info-product-view.product-info.product-info-main {
		width: 100% !important;
	}
}

@media (max-width: 768px) {
	.detail-info.detail-info-product-view.product-info.product-info-main {
		width: 100% !important;
		min-width: 300px !important;
		padding: 15px !important;
	}
}

/* Remove Bootstrap column constraints to allow natural expansion */
@media (min-width: 992px) {
	.product.col.info {
		flex: 1 1 auto !important;
		max-width: none !important;
	}
	.product.media {
		flex: 1 1 auto !important;
		max-width: none !important;
	}
}

/* Ensure all content inside product info uses full width */
.product-info-main .page-title,
.product-info-main .product.attribute.overview,
.product-info-main .meta-row,
.product-info-main .custom-price-container,
.product-info-main .custom-shipping-message,
.product-info-main .box-tocart {
	width: 100% !important;
	max-width: none !important;
}

/* Expand the overall product view container */
.view-product > .row {
	max-width: none !important;
	width: 100% !important;
}

/* Give more space to the product information section */
.product.col.info {
	padding-left: 20px !important;
	flex: 1 1 auto !important;
	max-width: none !important;
	overflow: visible !important;
}

/* Ensure the product info box expands to use available space */
.product-info-main {
	min-width: 0 !important;
	width: 100% !important;
}

/* Subtle width increase for product info section only */

/* Specification table – fuller and smoother */
.product.info.detailed .data.table,
.product.info.detailed table.data,
.product.info.detailed table.additional-attributes { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #e5e7eb; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,0.04); }
.product.info.detailed .data.table th,
.product.info.detailed table.data th { background: #f7f7f8; font-weight: 800; color: #111; padding: 14px 18px; font-size: 15px; }
.product.info.detailed .data.table td,
.product.info.detailed table.data td { padding: 14px 18px; color: #111; border-top: 1px solid #eef0f3; font-size: 15px; }
.product.info.detailed .data.table tr:nth-child(even) td { background: #fcfcfd; }
.product.info.detailed .data.table tr:hover td { background: #f5f7fb; }
.product.info.detailed .data.table th:first-child,
.product.info.detailed .data.table td:first-child { width: 36%; color: #6b7280; }

/* Specifications table polish */
.product.info.detailed table.additional-attributes th,
.product.info.detailed table.additional-attributes td { vertical-align: top; }
.product.info.detailed table.additional-attributes th { vertical-align: top; }
.product.info.detailed table.additional-attributes td:first-child,
.product.info.detailed table.additional-attributes th:first-child { background: #f9fafb; color: #111; font-weight: 800; display: block !important;}
.product.info.detailed table.additional-attributes tr:nth-child(even) td:first-child { background: #f6f7f9; }
.product.info.detailed table.additional-attributes tr:hover td { background: #fff; }
.product.info.detailed table.additional-attributes tr:hover td:first-child { background: #f3f4f6; box-shadow: inset 3px 0 0 #B11D22; }


/* Specifications table: full-width zebra rows (grey/white) */
.product.info.detailed table.additional-attributes tr:nth-child(odd) { background: #ffffff; }
.product.info.detailed table.additional-attributes tr:nth-child(even) { background: #f6f7f9; }
/* Make cells transparent so the row background spans full width */
.product.info.detailed table.additional-attributes td,
.product.info.detailed table.additional-attributes th { background: transparent !important; }

/* Desktop look: flat table with subtle separators and stronger labels */
.product.info.detailed table.additional-attributes { border-left: 0; border-right: 0; border-top: 1px solid #e9ecef; border-bottom: 1px solid #e9ecef; border-radius: 0; box-shadow: none; }
.product.info.detailed table.additional-attributes tr { border-bottom: 1px solid #e9ecef; }
.product.info.detailed table.additional-attributes tr:last-child { border-bottom: 0; }
.product.info.detailed table.additional-attributes th,
.product.info.detailed table.additional-attributes td { padding: 18px 24px; }
.product.info.detailed table.additional-attributes td:first-child,
.product.info.detailed table.additional-attributes th:first-child { width: 35%; font-weight: 800; color: #111; }
/* Ensure left column text stands out */
.product.info.detailed table.additional-attributes td:first-child { font-weight: 800; color: #111; }

/* Hide any legacy sku/stock container */
.product-info-stock-sku { display: none !important; }

/* Title spacing requested */
.product-page h1,
.page-title-wrapper.product .page-title { font-style: normal; padding: 8px 0 0 0; }

/* Equal-height PDP columns (media vs info) on desktop */
@media (min-width: 992px) {
	.view-product > .row { display: flex; align-items: stretch; }
	.view-product > .row > .col-md-6 { display: flex; }
	/* Ensure direct children fill their column */
	.view-product > .row > .col-md-6 > * { display: flex; flex-direction: column; width: 100%; }
	/* Make media and info blocks stretch - slightly favor product info */
	.product.media { flex: 0 0 48%; display: flex; flex-direction: column; }
	.product.col.info .product-info-main { flex: 0 0 52%; display: flex; flex-direction: column; }
	/* Let fotorama keep its native sizing to avoid stage collapse */
	.product.media .fotorama__wrap { flex: 0 0 auto; display: block; min-height: auto; }
	.product.media .fotorama__stage { height: auto; min-height: 320px; }
	.product.media .fotorama__nav--thumbs { margin-top: 10px; }
}

@media (max-width: 768px) {
	.page-title-wrapper.product .page-title { font-size: 28px; }
	.page-title-wrapper.product .page-title .base { font-size: 28px; }
	.custom-price-container .price-main-row .current-price { font-size: 32px; }
	.product.info.detailed .data.table th:first-child,
	.product.info.detailed .data.table td:first-child { width: 42%; }
	.tab-button { padding: 10px 12px; }

	/* Mobile Add to Cart button */
	.product-info-main .action.tocart { padding: 16px 20px; font-size: 18px; width: 100%; display: block; box-sizing: border-box; }
	.product-info-main .box-tocart { flex-direction: column; gap: 12px; width: 100%; box-sizing: border-box; }
	.product-info-main .box-tocart .field.qty { display: block; }
	.product-info-main .box-tocart .actions { width: 100%; box-sizing: border-box; }
	.product-info-main .attr-info { padding: 20px; box-sizing: border-box; width: 100% !important; }

	/* Mobile-friendly Specifications table: stack rows as cards */
	.product.info.detailed table.additional-attributes,
	.product.info.detailed table.data { border: 0; box-shadow: none; }
	.product.info.detailed table.additional-attributes thead { display: none; }
	.product.info.detailed table.additional-attributes tr { display: block; margin-bottom: 10px; border: 1px solid #eef0f3; border-radius: 8px; overflow: hidden; background: #fff; }
	.product.info.detailed table.additional-attributes th,
	.product.info.detailed table.additional-attributes td { display: block; width: 100%; padding: 12px 14px; border: 0; box-sizing: border-box; }
	.product.info.detailed table.additional-attributes th:first-child,
	.product.info.detailed table.additional-attributes td:first-child { width: 100%; background: #f9fafb; color: #111; font-weight: 800; border-bottom: 1px solid #eef0f3; }
	.product.info.detailed table.additional-attributes tr:hover td:first-child { box-shadow: inset 3px 0 0 #B11D22; }
}

.product-info-main .product.attribute.overview {
    margin: 15px 0px 10px 0px !important;
  }

  .product-view div [itemprop="description"] {
    margin-bottom: 3px !important;
  }
