/* ===================================================================
 * EGEA — Single Product page styling
 * Lucrează peste markup-ul nativ WooCommerce + tema indsro.
 * =================================================================== */

/* --- Scară unificată de heading-uri pe pagina de produs -----------
   Scădere clară (32 → 22 → 17 → 15), aceeași greutate (600),
   aceeași culoare, același tracking. Toate au tratament vizual coerent. */
.single-product h1,
.single-product .product_title,
.single-product .entry-title {
	font-size: 32px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	color: #161616 !important;
	margin: 0 0 16px !important;
}
.single-product h2,
.single-product .related.products > h2,
.single-product .upsells.products > h2,
.single-product .cross-sells.products > h2,
.single-product .woocommerce-Reviews-title,
.woocommerce-Tabs-panel h2 {
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.005em !important;
	color: #161616 !important;
	margin: 32px 0 18px !important;
}
.single-product h3,
.single-product .comment-reply-title,
.woocommerce-Tabs-panel h3 {
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	color: #161616 !important;
	margin: 22px 0 10px !important;
}
.single-product h4,
.woocommerce-Tabs-panel h4 {
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: #161616 !important;
	margin: 18px 0 8px !important;
}
/* Excepție: h2 din butoanele de tab rămâne inline cu font-ul butonului.
   Specificitate crescută (h2.egea-tab-heading + context) ca să bată
   regula generală `.single-product h2` care e mai sus în cascadă. */
.single-product h2.egea-tab-heading,
.woocommerce div.product .woocommerce-tabs ul.tabs li a h2.egea-tab-heading,
.woocommerce div.product .woocommerce-tabs ul.tabs li a .egea-tab-heading {
	display: inline !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- Galerie + featured image ----------------------------------
   Constrângerile sunt la nivel de SLIDE (.woocommerce-product-gallery__image),
   ca FlexSlider-ul de wrapper să rămână funcțional. Aspect 1:1 (pătrat) se
   potrivește bine atât pentru produse portrait (schele) cât și landscape. */
.single-product div.product .woocommerce-product-gallery { position: relative; }
.single-product .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1;
	background: #fafafa;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	margin-bottom: 0;
}
/* <a> fill complet, ca să dea coordonate ferme pentru img */
.single-product .woocommerce-product-gallery__image > a {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* Img fill complet container, cu object-fit: contain
   → produsul nu e tăiat, e centrat și consistent dimensionat. */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image > a img,
.single-product .woocommerce-product-gallery__image > img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block !important;
}
/* Toggle pentru zoom (lupa în colțul dreapta-sus) */
.single-product .woocommerce-product-gallery__trigger { z-index: 5; }
/* Distanță clară între featured și rândul de thumbs */
.single-product .woocommerce-product-gallery__wrapper { margin-bottom: 24px; }
.single-product .flex-control-thumbs {
	display: flex; flex-wrap: wrap; gap: 10px;
	margin-top: 14px; padding: 0; list-style: none;
}
.single-product .flex-control-thumbs li { width: 72px; margin: 0; }
.single-product .flex-control-thumbs img {
	border-radius: 8px; opacity: .55; cursor: pointer;
	transition: opacity .2s ease, transform .2s ease;
}
.single-product .flex-control-thumbs img:hover,
.single-product .flex-control-thumbs img.flex-active { opacity: 1; transform: translateY(-2px); }

/* --- h2 din butoanele de tab: păstrăm aspectul vizual identic.
   Conținutul vizibil rămâne textul cu fontul curent al butonului,
   doar semantica HTML se schimbă (SEO/a11y). -------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs li a .egea-tab-heading,
.egea-tab-heading {
	display: inline;
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

/* --- Taburi (woocommerce-tabs): butoane pătrate ----------------
   Tema indsro le randează ca pill (border-radius: 30px). Păstrăm
   stilul de buton al temei, doar forțăm colțuri drepte ca în restul
   template-ului (referință .fti-btn-pr-1). Selectorul replică
   specificitatea temei părinte ca să nu fie suprascris. */
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
}

/* --- Spacing pentru text în taburi (heading-urile sunt în scara unificată) - */
.woocommerce-Tabs-panel p { margin: 0 0 12px; }
.woocommerce-Tabs-panel ul,
.woocommerce-Tabs-panel ol { margin: 0 0 14px 22px; }
.woocommerce-Tabs-panel li { margin-bottom: 4px; }

/* --- Form recenzii: scoatem capitalize + border-radius mare ---
   Tema părinte aplică `text-transform: capitalize` pe input/textarea
   din .woocommerce-Reviews, ceea ce capitalizează prima literă a
   fiecărui cuvânt PE MĂSURĂ CE SCRIE userul. Anulăm. */
.woocommerce-Reviews input,
.woocommerce-Reviews textarea,
.single-product .comment-form input[type="text"],
.single-product .comment-form input[type="email"],
.single-product .comment-form input[type="url"],
.single-product .comment-form textarea {
	text-transform: none !important;
	border-radius: 0 !important;
}

/* --- Tabel specificații tehnice (nativ Woo + .egea-spec-table) - */
.egea-spec-table,
.woocommerce-product-attributes,
table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	/* table-layout: auto = coloana eticheta se dimensionează automat
	   după cel mai lung label (cu nowrap), restul merge la valoare. */
}
.egea-spec-table th, .egea-spec-table td,
.woocommerce-product-attributes th, .woocommerce-product-attributes td,
table.shop_attributes th, table.shop_attributes td {
	text-align: left;
	padding: 12px 16px;
	border-bottom: 1px solid #eee;
	vertical-align: top;
	font-style: normal;        /* anulează italic-ul default Woo */
}
.egea-spec-table th,
.woocommerce-product-attributes th,
table.shop_attributes th {
	font-weight: 500;
	color: #444;
	white-space: nowrap;
	padding-right: 32px;        /* spațiu garantat între label și valoare */
}
.egea-spec-table tr:nth-child(odd),
.woocommerce-product-attributes tr:nth-child(odd),
table.shop_attributes tr:nth-child(odd) { background: #fafafa; }
.egea-spec-table tr:last-child th,
.egea-spec-table tr:last-child td,
.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td { border-bottom: 0; }

/* Pe mobil foarte mic: layout vertical (etichetă pe un rând, valoarea pe rândul următor). */
@media (max-width: 480px) {
	.woocommerce-product-attributes th,
	.woocommerce-product-attributes td,
	table.shop_attributes th,
	table.shop_attributes td,
	.egea-spec-table th,
	.egea-spec-table td {
		display: block;
		width: 100%;
		white-space: normal;
		padding-right: 16px;
	}
	.woocommerce-product-attributes th,
	table.shop_attributes th,
	.egea-spec-table th { padding-bottom: 4px; border-bottom: 0; }
	.woocommerce-product-attributes td,
	table.shop_attributes td,
	.egea-spec-table td { padding-top: 0; }
}

/* --- Butoane: aliniere cu stilul „pătrat" din restul template-ului
       (referință: .fti-btn-pr-1 — fără border-radius). ------------ */
.single-product .single_add_to_cart_button,
.single-product button.button,
.single-product input.button,
.single-product a.button,
.single-product .product--btn .button,
.related.products .button,
.related.products .product--btn .button {
	border-radius: 0 !important;
}

/* Titlurile secțiunilor „Produse similare", „Upsells", „Cross-sells"
   sunt acoperite de scara unificată de heading-uri (h2) de mai sus.
   Adăugăm doar spațierea specifică contextului (mai multă margine sus). */
.single-product .related.products > h2,
.single-product .upsells.products > h2,
.single-product .cross-sells.products > h2 {
	margin-top: 48px !important;
}

/* --- Galeria thumbnails: grid 4 coloane uniform ------------------- */
.single-product .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	margin-top: 24px !important;
	padding: 0;
	list-style: none;
	float: none !important;
	width: 100% !important;
}
.single-product .flex-control-thumbs li {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	list-style: none;
}
.single-product .flex-control-thumbs li img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
	opacity: .55;
	cursor: pointer;
	transition: opacity .2s ease, transform .2s ease;
}
.single-product .flex-control-thumbs li img:hover,
.single-product .flex-control-thumbs li img.flex-active { opacity: 1; transform: translateY(-2px); }

/* --- Bullets în descrierea scurtă din hero ----------------------- */
.single-product .woocommerce-product-details__short-description {
	margin-bottom: 20px;
	color: #4a4a4a;
	line-height: 1.6;
}
.single-product .woocommerce-product-details__short-description p { margin: 0 0 12px; }
.single-product .woocommerce-product-details__short-description ul {
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
}
.single-product .woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 8px;
	line-height: 1.5;
}
.single-product .woocommerce-product-details__short-description li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 8px;
	height: 8px;
	background: #d6452b;
	border-radius: 0;
	transform: rotate(45deg);
}

/* --- Meta hero (SKU, Categorii, Etichete, Brand): bara compactă -- */
.single-product .product_meta {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #eee;
	font-size: 14px;
	line-height: 1.6;
}
.single-product .product_meta > span,
.single-product .product_meta > .posted_in,
.single-product .product_meta > .sku_wrapper,
.single-product .product_meta > .tagged_as,
.single-product .product_meta > .product_brand {
	display: block;
	margin-bottom: 6px;
	color: #666;
}
.single-product .product_meta > span:last-child { margin-bottom: 0; }
.single-product .product_meta strong,
.single-product .product_meta .sku {
	color: #161616;
	font-weight: 600;
}
.single-product .product_meta a {
	color: #4a4a4a;
	text-decoration: none;
	border-bottom: 1px dotted transparent;
	transition: border-color .15s ease, color .15s ease;
}
.single-product .product_meta a:hover {
	color: #d6452b;
	border-bottom-color: #d6452b;
}

/* --- Produse similare: carduri egale (înălțime + lățime) -------- */
.related.products ul.products,
.upsells.products ul.products,
.cross-sells.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	float: none;
	width: 100%;
}
.related.products ul.products::before,
.related.products ul.products::after,
.upsells.products ul.products::before,
.upsells.products ul.products::after,
.cross-sells.products ul.products::before,
.cross-sells.products ul.products::after { content: none; display: none; }

.related.products ul.products li.product,
.upsells.products ul.products li.product,
.cross-sells.products ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	display: flex;
	flex-direction: column;
}
/* Anulează clasele de coloană bootstrap din content-product.php. */
.related.products ul.products > [class*="col-"],
.upsells.products ul.products > [class*="col-"],
.cross-sells.products ul.products > [class*="col-"] {
	max-width: 100%;
	flex: 1 1 100%;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.related.products ul.products > [class*="col-"] > .product,
.upsells.products ul.products > [class*="col-"] > .product,
.cross-sells.products ul.products > [class*="col-"] > .product {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

/* Imaginea: aspect-ratio fix → cardurile au aceeași zonă vizuală. */
.related.products .product--img,
.upsells.products .product--img,
.cross-sells.products .product--img {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f5f5f5;
}
.related.products .product--img > a,
.upsells.products .product--img > a,
.cross-sells.products .product--img > a {
	display: block;
	width: 100%;
	height: 100%;
}
.related.products .product--img img,
.related.products .product--img a img,
.upsells.products .product--img img,
.upsells.products .product--img a img,
.cross-sells.products .product--img img,
.cross-sells.products .product--img a img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	object-position: center;
	display: block;
}

.related.products .product--holder,
.upsells.products .product--holder,
.cross-sells.products .product--holder {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 16px 4px 0;
}
.related.products .product--title,
.upsells.products .product--title,
.cross-sells.products .product--title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.8em;
	line-height: 1.4;
	margin: 0 0 8px;
	font-size: 16px;
}
.related.products .product--price,
.upsells.products .product--price,
.cross-sells.products .product--price {
	margin-top: auto;
	font-weight: 600;
}

/* Responsive: 2 coloane pe mobil/tablet */
@media (max-width: 991px) {
	.related.products ul.products,
	.upsells.products ul.products,
	.cross-sells.products ul.products { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 480px) {
	.related.products ul.products,
	.upsells.products ul.products,
	.cross-sells.products ul.products { grid-template-columns: 1fr; }
	.single-product .flex-control-thumbs { grid-template-columns: repeat(3, 1fr) !important; }
}
