/* Single Product Page Styles */
/* .product-template-default .cspt-title-bar-wrapper{
	display: none;
} */

.cspt-header-overlay{
	box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.2);
    background: #fff;
}

.elelevi-product-header-image-left{
	position: absolute;
    left: -34.938vw;
    top: -51.017vh;
    width: 30.5vw;
}

.elelevi-product-header-image-right{
	position: absolute;
    right: -28vw;
    top: -18vw;
    width: 30.5vw;
}

.elelevi-product-header-image-bottom{
	position: absolute;
    bottom: 0;
    right: -37vw;
    transform: rotate(74deg);
    height: 28vw;
}

.elelevi-single-product {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 20px;
}

/* Product Header */
.elelevi-product-header {
	display: flex;
	gap: 40px;
	margin-bottom: 60px;
}

.elelevi-product-image-wrapper {
	flex: 1;
	min-width: 0;
	background: transparent;
    display: flex;
    justify-content: center;
    align-items: flex-start;
	background-image: url("/wp-content/uploads/2025/11/Ellipse-1-1.png");
	background-size: contain;
	background-repeat: no-repeat;
}

.elelevi-product-image-wrapper img {
	width: 100%;
	max-width: 211px;
	height: auto;
	border-radius: 12px;
	object-fit: contain;
	margin-top: 13%;
    margin-left: -4%;
}

.elelevi-product-details {
	flex: 1;
	min-width: 0;
}

.elelevi-product-title {
	font-size: 45px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #000;
}

.elelevi-product-description {
	font-size: 16px;
	line-height: 1.6;
	color: #666;
	margin-bottom: 30px;
}

.elelevi-product-price-wrapper {
	margin-bottom: 30px;
	display: flex;
    align-items: center;
    gap: 16px;
}

.elelevi-product-price .woocommerce-Price-amount {
	font-family: Quicksand, sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: #237f52;
	margin-bottom: 8px;
}

.elelevi-product-price-note {
	font-size: 16px;
	color: #666;
}

/* Quantity and Add to Cart */
.elelevi-product-actions {
	margin-bottom: 30px;
}

.elelevi-add-to-cart-form{
	display: flex;
    align-items: center;
}

.elelevi-quantity-wrapper {
	display: flex;
	align-items: center;
	gap: 0;
	border: 1px solid #237f52;
	border-radius: 32px;
	padding: 14px 26px;
	overflow: hidden;
	width: fit-content;
	margin-right: 16px;
}

.elelevi-quantity-btn {
	width: 41px;
    height: 32px;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font-size: 24px;
    font-weight: 600;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.elelevi-quantity-input {
	width: 60px;
	height: 32px;
	border: none;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	color: #000;
	background: #fff;
	-moz-appearance: textfield;
}

.elelevi-quantity-input::-webkit-outer-spin-button,
.elelevi-quantity-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.elelevi-product-header .elelevi-product-actions .elelevi-add-to-cart-button {
	width: 100%;
	height: 62px;
	font-family: Quicksand, sans-serif!important;
	border-radius: 32px!important;
	padding: 14px 40px!important;
	background-color: #237f52;
	color: #fff;
	border: none;
	font-size: 16px!important;
	font-weight: 600!important;
	cursor: pointer;
	text-transform: uppercase;
	transition: background-color 0.2s;
}

.elelevi-add-to-cart-button:hover {
	background-color: #45a049;
}

/* Delivery Info */
.elelevi-delivery-info {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 40px;
	font-size: 16px;
	color: #666;
}

.elelevi-delivery-info svg {
	flex-shrink: 0;
}

/* Additional Info Blocks */
.elelevi-additional-info-blocks {
	display: flex;
	gap: 0;
	margin-bottom: 40px;
	flex-wrap: wrap;
}

.elelevi-additional-info-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: calc(100% / 3);
	border: 1px solid #237f52;
	padding: 12px 16px;
}

.elelevi-additional-info-icon {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

.elelevi-additional-info-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.elelevi-additional-info-content {
	flex: 1;
}

.elelevi-additional-info-title {
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	color: #000;
}

.elelevi-additional-info-subtitle {
	font-size: 10px;
	color: #666;
	text-align: center;
}

/* Technical Data Accordion */
.elelevi-technical-data-accordion {
	border-bottom: 1px solid #e0e0e0;
	overflow: hidden;
}

.elelevi-accordion-toggle {
	width: 100%;
	padding: 10px;
	background: #fff;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: Quicksand, sans-serif!important;
	text-align: left;
	font-size: 18px;
	font-weight: 700;
	color: #000;
	transition: background-color 0.2s;
}

.elelevi-accordion-title {
	flex: 1;
}

.elelevi-accordion-icon {
	font-size: 24px;
	font-weight: 300;
	color: #666;
	transition: transform 0.3s;
}

.elelevi-technical-data-accordion.active .elelevi-accordion-icon {
	transform: rotate(45deg);
}

.elelevi-accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	padding: 0 20px;
}

.elelevi-technical-data-accordion.active .elelevi-accordion-content {
	max-height: 2000px;
	padding: 20px;
}

.elelevi-product-details-inner{
	padding: 40px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 4px 4px 30px 0 rgba(35, 127, 82, 0.25);
	margin-bottom: 24px;
}

/* Product Configurator */
.elelevi-product-configurator {
	background: #fff;
	border-radius: 12px;
	padding: 40px;
	margin-bottom: 60px;
	box-shadow: 4px 4px 30px 0 rgba(35, 127, 82, 0.25);
}

.elelevi-configurator-title {
	font-family: Quicksand, sans-serif!important;
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 40px;
	color: #000;
}

.elelevi-configurator-section {
	margin-bottom: 40px;
}

.elelevi-section-title {
	font-family: Quicksand, sans-serif!important;
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #000;
}

/* Variations */
.elelevi-variations-wrapper {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.elelevi-variation-option {
	width: 80px;
	height: 80px;
	border: 2px solid #e0e0e0;
	border-radius: 50%;
	overflow: hidden;
	cursor: pointer;
	transition: all 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.elelevi-variation-option:hover {
	border-color: #237f52;
}

.elelevi-variation-option.selected {
	border-color: #237f52;
}

.elelevi-variation-option.selected::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	background: #237f52;
	border-radius: 50%;
	bottom: 4px;
	right: 4px;
}

.elelevi-variation-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Accessories */
.elelevi-accessories-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.elelevi-accessory-item {
	display: flex;
	align-items: center;
}

.elelevi-accessory-checkbox {
	display: none;
}

.elelevi-accessory-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	padding: 12px 16px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	width: 100%;
	transition: all 0.2s;
	position: relative;
}

.elelevi-accessory-name {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 600;
	color: #000;
}

.elelevi-accessory-more-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #237f52;
	transition: all 0.2s;
	flex-shrink: 0;
	text-decoration: none;
}

.elelevi-accessory-more-info-icon:hover {
	color: #1a6340;
	transform: scale(1.1);
	text-decoration: none;
}

.elelevi-accessory-more-info-icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.elelevi-accessory-label::before {
	content: '';
	width: 20px;
	height: 20px;
	border-radius: 4px;
	border: 2px solid #e0e0e0;
	background: #fff;
	flex-shrink: 0;
	order: -1;
	margin-right: 8px;
	transition: all 0.2s;
}

.elelevi-accessory-label:hover {
	border-color: #237f52;
	background: #f9f9f9;
}

.elelevi-accessory-label:hover::before {
	border-color: #237f52;
}

.elelevi-accessory-checkbox:checked + .elelevi-accessory-label {
	border-color: #237f52;
	background: #f0f8f0;
}

.elelevi-accessory-checkbox:checked + .elelevi-accessory-label::before {
	border-color: #237f52;
	background: #237f52;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 6l3 3 5-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 12px;
}

.elelevi-accessory-image {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
}

.elelevi-accessory-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
}

.elelevi-accessory-info {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.elelevi-accessory-checkbox:checked + .elelevi-accessory-label .elelevi-accessory-name {
	color: #237f52;
}

.elelevi-accessory-price {
	font-size: 16px;
	color: #000;
	font-weight: 600;
}

.elelevi-accessory-checkbox:checked + .elelevi-accessory-label .elelevi-accessory-price {
	color: #237f52;
}

/* Installation Service */
.elelevi-installation-options {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.elelevi-installation-option {
	display: flex;
	align-items: center;
}

.elelevi-installation-radio {
	display: none;
}

.elelevi-installation-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	padding: 12px 16px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	width: 100%;
	transition: all 0.2s;
	position: relative;
}

.elelevi-installation-label::before {
	content: '';
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid #e0e0e0;
	background: #fff;
	flex-shrink: 0;
	transition: all 0.2s;
}

.elelevi-installation-label:hover {
	border-color: #237f52;
	background: #f9f9f9;
}

.elelevi-installation-label:hover::before {
	border-color: #237f52;
}

.elelevi-installation-radio:checked + .elelevi-installation-label {
	border-color: #237f52;
	background: #f0f8f0;
}

.elelevi-installation-radio:checked + .elelevi-installation-label::before {
	border-color: #237f52;
	background: #237f52;
	border-width: 4px;
	box-shadow: 0 0 0 2px #237f52;
}

.elelevi-installation-name {
	font-size: 16px;
	font-weight: 600;
	color: #000;
}

.elelevi-installation-radio:checked + .elelevi-installation-label .elelevi-installation-name {
	color: #237f52;
}

.elelevi-installation-price {
	font-size: 16px;
	color: #000;
	font-weight: 600;
}

.elelevi-installation-radio:checked + .elelevi-installation-label .elelevi-installation-price {
	color: #237f52;
}

.elelevi-installation-note {
	font-size: 14px;
	color: #666;
	font-style: italic;
}

/* Configurator Total */
.elelevi-configurator-total {
	border-top: 2px solid #e0e0e0;
	padding-top: 30px;
	margin-top: 30px;
	display: flex;
    justify-content: space-between;
    align-items: center;
}

.elelevi-configurator-price-wrapper {
	display: flex;
    gap: 16px;
    align-items: center;
}

.elelevi-configurator-price .woocommerce-Price-amount {
	font-family: Quicksand, sans-serif!important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 32px;
	font-weight: 700;
	color: #237f52;
}

.elelevi-configurator-price-label {
	color: #000;
}

.elelevi-configurator-price-value {
	color: #237f52;
}

.elelevi-configurator-price-note {
	font-size: 14px;
	color: #666;
	text-align: right;
}

.elelevi-configurator-add-to-cart{
    height: 62px;
    font-family: Quicksand, sans-serif !important;
    border-radius: 32px !important;
    padding: 14px 40px !important;
    background-color: #237f52;
    color: #fff;
    border: none;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.2s;
}

/* Product Tabs */
.elelevi-product-tabs {
	margin-bottom: 60px;
}

.elelevi-tabs-nav {
	display: flex;
	gap: 0;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 30px;
}

.elelevi-tab-button {
	padding: 16px 24px;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	cursor: pointer;
	font-family: Quicksand, sans-serif!important;
	font-size: 16px;
	font-weight: 600;
	color: #666;
	transition: all 0.2s;
}

.elelevi-tab-button:hover {
	color: #000;
}

.elelevi-tab-button.active {
	color: #237f52;
	border-bottom-color: #237f52;
}

.elelevi-tabs-content {
	position: relative;
}

.elelevi-tab-panel {
	display: none;
	font-size: 16px;
	line-height: 1.6;
	color: #666;
}

.elelevi-tab-panel.active {
	display: block;
}

/* Recommended Products */
.elelevi-recommended-products {
	margin-bottom: 60px;
}

.elelevi-recommended-title {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 40px;
	color: #000;
}

.elelevi-recommended-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 30px;
}

.elelevi-recommended-item {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.2s, box-shadow 0.2s;
}

.elelevi-recommended-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.elelevi-recommended-image {
	width: 100%;
	height: 200px;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.elelevi-recommended-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.elelevi-recommended-info {
	padding: 20px;
}

.elelevi-recommended-name {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: #000;
}

.elelevi-recommended-name a {
	color: inherit;
	text-decoration: none;
}

.elelevi-recommended-description {
	font-size: 14px;
	color: #666;
	margin-bottom: 12px;
}

.elelevi-recommended-price {
	font-size: 20px;
	font-weight: 700;
	color: #000;
	margin-bottom: 16px;
}

.elelevi-recommended-button {
	width: 100%;
	padding: 12px;
	background-color: #237f52;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	display: block;
	transition: background-color 0.2s;
}

.elelevi-recommended-button:hover {
	background-color: #45a049;
}

/* Responsive */
@media (max-width: 968px) {
	.elelevi-product-header {
		flex-direction: column;
	}
	
	.elelevi-additional-info-blocks {
		flex-direction: column;
	}
	
	.elelevi-additional-info-item {
		min-width: 100%;
	}
	
	.elelevi-product-configurator {
		padding: 20px;
	}
	
	.elelevi-recommended-grid {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 20px;
	}
	
	.elelevi-tabs-nav {
		flex-wrap: wrap;
	}
	
	.elelevi-tab-button {
		flex: 1;
		min-width: 120px;
	}
}

