/**
 * COSSELIE — σελίδα προϊόντος (mobile first).
 */

/* Τίτλος + τιμή */
.csl-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 6px;
}
.csl-head__title {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: inherit;
	line-height: 1.15;
}
.csl-head__model {
	font-family: var(--csl-font-display);
	font-weight: 700;
	font-size: clamp(24px, 6.5vw, 34px);
	color: var(--csl-black);
}
.csl-head__sub {
	font-size: 14px;
	font-weight: 500;
	color: var(--csl-ink-2);
	letter-spacing: 0;
}
.csl-head__price {
	flex-shrink: 0;
	text-align: right;
	font-family: var(--csl-font-display);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}
.csl-head__price del { display: block; font-size: 14px; }

.csl-rating {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	font-size: 13px;
	color: var(--csl-black);
	text-decoration: none;
	margin-bottom: 8px;
}
.csl-rating__count { color: var(--csl-muted); text-decoration: underline; }

/* 1+1 (ξεχωριστό όνομα από τις κάρτες «Προωθήσεις καταλόγου» .csl-promo) */
.csl-offer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	margin: 4px 0 14px;
	border-radius: var(--csl-radius);
	background: var(--csl-offer-bg, var(--csl-orange));
	color: var(--csl-offer-fg, var(--csl-black));
	text-decoration: none;
}
.csl-offer:hover { color: var(--csl-offer-fg, var(--csl-black)); filter: brightness(1.04); }
.csl-offer__text { display: flex; flex-direction: column; }
.csl-offer__label { font-family: var(--csl-font-display); font-weight: 800; font-size: 14px; }
.csl-offer__desc { font-size: 12px; font-weight: 500; }

/* Χρώματα μοντέλου */
.csl-swatches { margin: 0 0 12px; }
.csl-swatches__label { margin: 0 0 8px; font-size: 13px; }
.csl-swatches__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.csl-swatch {
	display: block;
	width: 58px;
	height: 50px;
	padding: 2px;
	box-sizing: border-box;
	border: 1px solid var(--csl-line);
	border-radius: var(--csl-radius);
	background: var(--csl-white);
	overflow: hidden;
}
.csl-swatch img { width: 100%; height: 100%; object-fit: cover; border-radius: 9px; display: block; }
.csl-swatch.is-current { border: 2px solid var(--csl-black); }
.csl-swatch.is-oos { opacity: 0.45; position: relative; }
.csl-swatch.is-oos::after {
	content: "";
	position: absolute;
	inset: 50% 4px auto;
	height: 1.5px;
	background: var(--csl-black);
	transform: rotate(-30deg);
}

/* Μέγεθος σκελετού */
.csl-fit {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 13px;
}
/* Αριστερά: το μέγεθος (κάρτα όπως πριν) · δεξιά: «Θα μου κάνουν;» ως κουμπί στο lime του brand — η μεγαλύτερη
 * απορία όποιου αγοράζει γυαλιά online, οπότε πρέπει να φαίνεται αμέσως. */
.csl-fit__info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 4px;
	margin: 0;
	padding: 8px 12px;
	line-height: 1.35;
	border: 1px solid var(--csl-line);
	border-radius: var(--csl-radius);
	background: var(--csl-white);
}
.csl-fit__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 8px 16px;
	border-radius: var(--csl-radius);
	background: var(--csl-lime, #E2FF00);
	color: var(--csl-black) !important;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
	transition: background-color .15s ease, transform .15s ease;
}
.csl-fit__cta svg { display: block; flex: 0 0 auto; }
.csl-fit__cta:hover { background: var(--csl-green, #9DFF00); }
.csl-fit__cta:active { transform: scale(.98); }
.csl-fit__cta:focus-visible { outline: 2px solid var(--csl-black); outline-offset: 2px; }
@media (max-width: 380px) {
	.csl-fit__cta { padding: 10px 12px; }
	.csl-fit__cta svg { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.csl-fit__cta { transition: none; }
}

/* Κουμπί καλαθιού: πλήρες πλάτος, 54 px */
.entry-summary form.cart { margin-bottom: 10px; }
.entry-summary .single_add_to_cart_button {
	min-height: 54px;
	font-size: 16px;
	background: var(--csl-black);
	color: var(--csl-white);
}
/* Χωρίς μετρητή: μόνο το κουμπί, σε όλο το πλάτος */
.entry-summary form.cart .quantity:has(input[type="hidden"]) { display: none !important; }
.entry-summary form.cart:not(.variations_form) { display: flex; }
.entry-summary form.cart .ct-cart-actions { display: flex; flex: 1 1 100%; width: 100%; gap: 8px; }
.entry-summary form.cart .single_add_to_cart_button { flex: 1 1 auto; width: 100%; justify-content: center; text-align: center; }

/* Εξωτερικό προϊόν: ίδιο κουμπί, ανοίγει σε νέα καρτέλα */
.entry-summary .csl-ext { margin-bottom: 10px; }
.entry-summary .csl-ext__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	text-decoration: none;
}
.entry-summary .csl-ext__btn:hover { color: var(--csl-white); }
.csl-ext__note { margin: 8px 0 0; font-size: 12px; text-align: center; color: var(--csl-muted); }

/* Χαμηλό απόθεμα */
.csl-low-stock { margin: 0 0 10px; font-size: 13px; font-weight: 600; color: var(--csl-red); }

/* Χρόνος αποστολής */
.csl-delivery {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--csl-black);
}
.csl-delivery__dot {
	width: 8px;
	height: 8px;
	margin-top: 6px;
	border-radius: 4px;
	background: var(--csl-ok);
	flex-shrink: 0;
}

/* Εγγυήσεις */
.csl-trust {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.csl-trust li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	font-size: 11px;
	line-height: 1.3;
	color: var(--csl-black);
}

/* Τμήματα κάτω από τη σύνοψη: ενότητες στη σειρά αντί για καρτέλες */
.woocommerce-tabs .tabs,
.woocommerce-tabs .wc-tabs { display: none !important; }
.woocommerce-tabs .woocommerce-Tabs-panel {
	display: block !important;
	margin: 0;
	padding: 28px 0 0;
	border: 0;
}
.woocommerce-Tabs-panel > h2:first-child,
.csl-section-title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 12px;
}

.csl-lead { margin: 0 0 12px; font-size: 14px; color: var(--csl-ink-2); }

.csl-pack {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
}
.csl-pack li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: var(--csl-radius);
	background: var(--csl-white);
	border: 1px solid var(--csl-line);
	font-size: 13px;
	color: var(--csl-black);
}

.csl-measure {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
	padding: 14px;
	border-radius: var(--csl-radius-l);
	background: var(--csl-white);
	border: 1px solid var(--csl-line);
}
.csl-measure > div {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--csl-sand);
}
.csl-measure dt { font-size: 12px; color: var(--csl-muted); }
.csl-measure dd { margin: 0; font-size: 13px; font-weight: 600; color: var(--csl-black); }
.csl-note { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: var(--csl-ink-2); }

/* Χαρακτηριστικά (πίνακας WooCommerce) */
.woocommerce-product-attributes { border: 0; }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--csl-line);
	font-size: 13px;
	background: transparent;
}
.woocommerce-product-attributes th { color: var(--csl-muted); font-weight: 400; text-align: left; width: 45%; }
.woocommerce-product-attributes td { color: var(--csl-black); font-weight: 600; text-align: right; }
.woocommerce-product-attributes td p { margin: 0; }

/* Συχνές ερωτήσεις */
.csl-faq details { border-bottom: 1px solid var(--csl-line); padding: 12px 0; }
.csl-faq summary { font-size: 14px; font-weight: 600; color: var(--csl-black); cursor: pointer; min-height: 24px; }
.csl-faq p { margin: 8px 0 0; font-size: 13px; line-height: 1.55; color: var(--csl-ink-2); }

/* Κολλητή μπάρα (μόνο κινητό) */
.csl-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--csl-white);
	border-top: 1px solid var(--csl-line);
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
	transform: translateY(110%);
	transition: transform 0.2s ease;
}
.csl-sticky[hidden] { display: none; }
.csl-sticky.is-visible { transform: translateY(0); }
.csl-sticky__img { width: 46px; height: 40px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.csl-sticky__info { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 13px; }
.csl-sticky__name { font-weight: 600; color: var(--csl-black); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.csl-sticky__row { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.csl-sticky__price .price, .csl-sticky__price { font-size: 13px; }
.csl-sticky__price del { opacity: 0.55; font-weight: 400; }
.csl-sticky__price ins { text-decoration: none; font-weight: 600; }
/* Τονισμός (lime) μόνο εδώ: σημείο ενδιαφέροντος, με μαύρο κείμενο όπως ορίζει η ταυτότητα. */
.csl-sticky__save { padding: 2px 7px; border-radius: 6px; background: var(--csl-lime); color: var(--csl-black); font-size: 12px; font-weight: 700; line-height: 1.35; white-space: nowrap; }
.csl-sticky__save[hidden] { display: none; }
.csl-sticky .csl-badge.csl-sticky__lbl { position: static; flex: none; padding: 3px 7px; font-size: 12px; line-height: 1.2; }
.csl-sticky .csl-sticky__lbl .csl-badge__icon { width: auto; }
/* Με «Κερδίζεις …» (πακέτα) η διαγραμμένη τιμή περισσεύει· με «−20%» (έκπτωση) μένει δίπλα. */
.csl-sticky__row:has(.csl-sticky__save.is-amount:not([hidden])) .csl-sticky__price del,
.csl-sticky__row:has(.csl-sticky__save.is-amount:not([hidden])) .csl-sticky__price .screen-reader-text { display: none; }
.csl-sticky__btn {
	min-height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--csl-radius);
	background: var(--csl-black);
	color: var(--csl-white);
	font-size: 14px;
	font-weight: 600;
}
/* Desktop: κάρτα κάτω από τη δεξιά στήλη (ίδιο πλάτος), όταν το κύριο κουμπί δεν φαίνεται —
 * π.χ. όταν ένα ανοιχτό accordion κάνει τη στήλη ψηλότερη από την οθόνη. */
@media (min-width: 1000px) {
	.csl-sticky {
		left: var(--csl-bar-l, auto);
		right: auto;
		bottom: 16px;
		width: var(--csl-bar-w, 420px);
		padding: 10px 10px 10px 12px;
		border: 1px solid var(--csl-line);
		border-radius: var(--csl-radius-l);
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
		transform: translateY(calc(100% + 24px));
	}
	.csl-sticky.is-visible { transform: translateY(0); }
	.csl-sticky__btn { min-height: 46px; padding: 0 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.csl-sticky { transition: none; }
}

/* -------- Κινητό: τιμή και κουμπί μέσα στην πρώτη οθόνη -------- */
@media (max-width: 689px) {
	.single-product { --theme-content-vertical-spacing: 12px; }
	.single-product .woocommerce-product-gallery { margin-bottom: 12px; }

	.woocommerce-product-gallery .flexy-pills { display: none !important; }
	.woocommerce-product-gallery .flexy-item .ct-media-container {
		aspect-ratio: 1 / 1 !important;
		border-radius: var(--csl-radius-l);
		overflow: hidden;
		background: var(--csl-sand);
	}
	.woocommerce-product-gallery .flexy-item .ct-media-container img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	.single-product div.product .entry-summary { margin-top: 14px; }
}

/* Φωτογραφίες συσκευασίας */
.csl-pack-photos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 12px;
}
.csl-pack-photos img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--csl-radius);
	background: var(--csl-white);
}
@media (max-width: 689px) {
	.csl-pack-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ======================================================================
 * 0.3.0 — Gallery, accordions, σύνοψη που «κολλάει»
 * ==================================================================== */

/* ---------- Gallery ---------- */
.csl-gallery { position: relative; min-width: 0; --csl-gallery-ratio: 1 / 1; }
.csl-gallery__track {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}
.csl-gallery__item {
	position: relative;
	margin: 0;
	aspect-ratio: var(--csl-gallery-ratio);
	border-radius: var(--csl-radius-l);
	overflow: hidden;
	background: var(--csl-white);
}
.csl-gallery__link { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.csl-gallery__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.csl-gallery__dots { display: none; }

@media (min-width: 1000px) {
	.csl-gallery__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 690px) {
	.csl-gallery[data-count="1"] .csl-gallery__track { grid-template-columns: minmax(0, 1fr); }
}

/* Κινητό: swipe με κουκκίδες, χωρίς βελάκια */
@media (max-width: 689px) {
	.csl-gallery__track {
		display: flex;
		gap: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		border-radius: var(--csl-radius-l);
	}
	.csl-gallery__track::-webkit-scrollbar { display: none; }
	.csl-gallery__item { flex: 0 0 100%; scroll-snap-align: start; border-radius: 0; }
	.csl-gallery__dots {
		display: flex;
		justify-content: center;
		gap: 6px;
		padding: 10px 0 2px;
	}
	.csl-gallery__dot {
		width: 6px;
		height: 6px;
		border-radius: 3px;
		background: rgba(0, 0, 0, 0.2);
		cursor: pointer;
		transition: width 0.2s ease, background 0.2s ease;
	}
	.csl-gallery__dot.is-active { width: 18px; background: var(--csl-black); }
}

/* ---------- Διάταξη ----------
 * Tablet (690–999): φωτογραφίες σε 2 στήλες, σύνοψη από κάτω (όπως το Blocksy).
 * Desktop (≥1000): φωτογραφίες αριστερά, σύνοψη δεξιά που «κολλάει» μέχρι να τελειώσουν.
 * Το Blocksy ενεργοποιεί το flex μόνο όταν βλέπει τη δική του gallery, οπότε το ορίζουμε εμείς. */
@media (min-width: 690px) and (max-width: 999px) {
	.csl-gallery__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-product .product-entry-wrapper > .entry-summary { margin-top: 24px; }
}
@media (min-width: 1000px) {
	.single-product .product-entry-wrapper:has(.csl-gallery) {
		display: flex;
		align-items: flex-start;
		gap: clamp(32px, 3vw, 64px);
	}
	/* Πλήρες πλάτος οθόνης: η στήλη πληροφοριών σταθερή, οι φωτογραφίες παίρνουν όλο τον υπόλοιπο χώρο. */
	.single-product .product-entry-wrapper.is-width-constrained:has(.csl-gallery) {
		width: auto;
		max-width: none;
		/* Αριστερά όσο το κενό πάνω από τις φωτογραφίες· δεξιά όπως ήταν. */
		margin-left: var(--csl-pdp-edge, 24px);
		margin-right: clamp(24px, 3vw, 56px);
	}
	.single-product .product-entry-wrapper > .csl-gallery {
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
	}
	.single-product .product-entry-wrapper > .entry-summary {
		flex: 0 0 clamp(400px, 30vw, 520px);
		min-width: 0;
		width: auto;
		max-width: none;
		margin: 0;
		align-self: flex-start;
		position: sticky;
		top: var(--csl-sticky-top, 140px);
	}
	/* Με JS: η στήλη πιάνει όλο το ύψος και «κολλάει» το εσωτερικό box (βλ. product.js). */
	.single-product .product-entry-wrapper > .entry-summary.csl-sticky-host {
		align-self: stretch;
		position: relative;
		top: auto;
	}
	.csl-sticky-track { position: relative; }
	.csl-sticky-track > .csl-sticky-box {
		position: sticky;
		top: var(--csl-sticky-top, 140px);
	}
	/* Δύο στήλες: αριστερά φωτογραφίες → social → σχετικά, δεξιά αγορά → κριτικές (τα μετακινεί το product.js). */
	.csl-left { flex: 1 1 0; min-width: 0; }
	.csl-left > .csl-gallery { width: 100%; max-width: none; }
	.csl-left > .csl-below__main { margin-top: 56px; }
	.csl-sticky-box > .csl-below__side { margin: 56px 0 0; }
	.csl-below:empty { display: none; }
}

/* ---------- Accordions ---------- */
.csl-details { margin: 8px 0 0; border-top: 1px solid var(--csl-line); }
.csl-acc { border-bottom: 1px solid var(--csl-line); }
.csl-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	list-style: none;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	color: var(--csl-black);
}
.csl-acc__head::-webkit-details-marker { display: none; }
.csl-acc__head > .csl-icon--chevron { flex-shrink: 0; transform: rotate(90deg); transition: transform 0.2s ease; }
.csl-acc[open] > .csl-acc__head > .csl-icon--chevron { transform: rotate(-90deg); }
.csl-acc__title { display: inline-flex; align-items: center; gap: 10px; }
.csl-acc__icon { flex-shrink: 0; color: var(--csl-ink-2); }
.csl-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.55; color: var(--csl-ink-2); }
.csl-acc__body > :last-child { margin-bottom: 0; }
/* «Περιγραφή & χαρακτηριστικά»: φράση → ιστορία → χαρακτηριστικά σε ομάδες → κωδικός */
.csl-about__lead {
	margin: 2px 0 10px;
	font-size: 17px;
	line-height: 1.35;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--csl-black);
	text-wrap: balance;
}
.csl-about__text { margin: 0 0 18px; }
.csl-about__text p { margin: 0 0 10px; font-size: 14px; line-height: 1.65; color: var(--csl-ink-2); }
.csl-about__text > :last-child { margin-bottom: 0; }
.csl-about__text ul { margin: 0 0 10px; padding-left: 18px; }
.csl-specs {
	display: grid;
	gap: 14px;
	padding: 16px 18px;
	background: var(--csl-white);
	border: 1px solid var(--csl-line);
	border-radius: var(--csl-radius);
}
.csl-specs__group + .csl-specs__group { padding-top: 14px; border-top: 1px solid var(--csl-line); }
.csl-specs__title {
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: var(--csl-muted);
}
.csl-specs__list { margin: 0; display: grid; gap: 7px; }
.csl-specs__row { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; font-size: 13.5px; line-height: 1.4; }
.csl-specs__row dt { color: var(--csl-muted); font-weight: 400; }
.csl-specs__row dd { margin: 0; color: var(--csl-black); font-weight: 500; }
.csl-specs__tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.csl-specs__tags li {
	margin: 0;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--csl-sand);
	font-size: 12.5px;
	line-height: 1.3;
	font-weight: 500;
	color: var(--csl-black);
}
.csl-specs__sku { margin: 12px 0 0; font-size: 12px; color: var(--csl-muted); }
.csl-specs__sku .csl-sku__code { margin-left: 4px; color: var(--csl-ink-2); font-weight: 600; }

.csl-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.csl-checklist li { display: flex; gap: 8px; align-items: flex-start; }
.csl-checklist .csl-icon { flex-shrink: 0; margin-top: 3px; color: var(--csl-ok); }
.csl-policy-links { margin: 12px 0 0; font-size: 13px; }
.csl-policy-links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- Πλήρης προβολή ---------- */
.csl-lightbox {
	width: 100vw;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--csl-white);
}
.csl-lightbox::backdrop { background: rgba(0, 0, 0, 0.6); }
.csl-lightbox__track {
	display: flex;
	height: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.csl-lightbox__track::-webkit-scrollbar { display: none; }
.csl-lightbox__track figure {
	flex: 0 0 100%;
	display: grid;
	place-items: center;
	margin: 0;
	scroll-snap-align: start;
	cursor: zoom-out;
}
.csl-lightbox__track img { max-width: 100%; max-height: 100dvh; object-fit: contain; }
.csl-lightbox__close {
	position: fixed;
	top: 16px;
	right: 16px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--csl-black);
	color: var(--csl-white);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
@media (max-width: 689px) {
	.single-product .product-entry-wrapper > .csl-gallery { width: 100%; max-width: 100%; }
}

/* Zoom μέσα στη φωτογραφία (desktop με ποντίκι) */
@media (hover: hover) and (pointer: fine) and (min-width: 1000px) {
	.csl-gallery:not([style*="--csl-zoom"]) { --csl-zoom: 2.2; }
	.csl-gallery[data-zoom="0"] .csl-gallery__link { cursor: zoom-in; }
	.csl-gallery[data-zoom="0"][data-lightbox="0"] .csl-gallery__link { cursor: default; }
	.csl-gallery__img { transition: transform 0.25s ease; }
	.csl-gallery__link.is-zoomed { cursor: zoom-out; }
	.csl-gallery__link.is-zoomed .csl-gallery__img { transform: scale(var(--csl-zoom)); transition: transform 0.25s ease, transform-origin 0.05s linear; }
}
@media (prefers-reduced-motion: reduce) {
	.csl-gallery__img { transition: none !important; }
}

/* ---------- Μετρήσεις & εφαρμογή: σκίτσο + εργαλεία ---------- */
.csl-fitfig {
	display: block;
	width: 100%;
	height: auto;
	margin: 4px 0 14px;
	padding: 14px 10px 8px;
	box-sizing: border-box;
	border-radius: var(--csl-radius-l);
	background: var(--csl-white);
	border: 1px solid var(--csl-line);
	overflow: visible;
	font-family: var(--csl-font);
}
.csl-fitfig .rim { fill: none; stroke: #161616; stroke-linejoin: round; stroke-linecap: round; }
.csl-fitfig .shade { fill: var(--csl-sand); }
.csl-fitfig .wire { fill: none; stroke: #1c1c1c; stroke-width: 1.3; stroke-linecap: round; }
.csl-fitfig .temple { fill: none; stroke: #1c1c1c; stroke-linecap: round; }
.csl-fitfig .dim { fill: none; stroke: #7d7d7d; stroke-width: 0.35; }
.csl-fitfig .ext { fill: none; stroke: #b9b6b0; stroke-width: 0.3; stroke-dasharray: 1.2 1; }
.csl-fitfig .arrow { fill: #7d7d7d; }
.csl-fitfig text { font-size: 7px; fill: #111; font-variant-numeric: tabular-nums; }
.csl-fitfig .v { font-weight: 600; }
.csl-fitfig .u { font-size: 5.2px; fill: #555; }
.csl-fitfig .n { font-size: 5px; fill: #737373; letter-spacing: 0.3px; font-weight: 500; }

.csl-scale { margin: 0 0 14px; }
.csl-scale__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3px;
}
.csl-scale__seg {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8px 4px 7px;
	border-radius: 8px;
	background: var(--csl-sand);
	font-size: 12px;
	line-height: 1.25;
	color: var(--csl-muted);
}
.csl-scale__seg strong { color: var(--csl-black); font-weight: 600; }
.csl-scale__seg small { font-size: 11px; }
.csl-scale__seg.is-on { background: var(--csl-black); color: rgba(255, 255, 255, 0.75); }
.csl-scale__seg.is-on strong { color: var(--csl-white); }
.csl-scale__mark {
	position: absolute;
	top: -7px;
	left: var(--pos);
	width: 0;
	height: 0;
	transform: translateX(-6px);
	border: 6px solid transparent;
	border-top-color: var(--csl-orange);
	border-bottom: 0;
}
.csl-scale__note { margin: 8px 0 0; font-size: 13px; color: var(--csl-ink-2); }

.csl-arm {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 0 0 12px;
	padding: 12px;
	border-radius: var(--csl-radius);
	background: var(--csl-peach);
}
.csl-arm__strip {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--csl-black);
	color: var(--csl-white);
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 13px;
	letter-spacing: 0.04em;
}
.csl-arm__strip i { width: 9px; height: 9px; border: 1.5px solid currentColor; border-radius: 1px; }
.csl-arm__strip span:last-child:not(:nth-child(3)) { margin-left: 4px; }
.csl-arm p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--csl-black); }
@media (max-width: 420px) {
	.csl-arm { flex-direction: column; align-items: flex-start; }
}
.csl-fit-tip { margin: 0 0 8px; font-size: 13px; color: var(--csl-ink-2); }
.csl-fit-tip--ok { display: flex; gap: 6px; align-items: center; margin: 0; color: var(--csl-black); font-weight: 500; }

/* ---------- Σχήμα προσώπου ---------- */
.csl-faces { margin: 0 0 14px; }
.csl-faces__title { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--csl-black); }
.csl-faces__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
}
.csl-face {
	display: flex;
	align-items: center;
	gap: 5px;
	min-height: 44px;
	padding: 6px 7px;
	border-radius: 10px;
	border: 1px solid var(--csl-line);
	background: var(--csl-white);
	font-size: 12px;
	line-height: 1.2;
	color: var(--csl-muted);
}
.csl-face span { flex: 1; min-width: 0; hyphens: auto; -webkit-hyphens: auto; letter-spacing: -0.01em; }
.csl-face__icon { flex-shrink: 0; width: 17px; height: 21px; fill: none; stroke: #b5b1aa; stroke-width: 1.8; }
.csl-face small { font-size: 12px; }
.csl-face.is-ok { color: var(--csl-black); }
.csl-face.is-ok .csl-face__icon { stroke: var(--csl-black); }
.csl-face.is-ok small { color: var(--csl-ok); font-weight: 700; }
.csl-face.is-mine { border-color: var(--csl-black); box-shadow: inset 0 0 0 1px var(--csl-black); }
@media (max-width: 380px) {
	.csl-faces__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.csl-faces__result {
	margin: 10px 0 0;
	padding: 10px 12px;
	border-radius: var(--csl-radius);
	background: var(--csl-sand);
	font-size: 13px;
	line-height: 1.45;
	color: var(--csl-black);
}
.csl-faces__result.is-ok { background: var(--csl-lime-soft); }
.csl-faces__result a { font-weight: 600; color: var(--csl-black); }
.csl-faces__start {
	display: block;
	width: 100%;
	min-height: 44px;
	margin: 10px 0 0;
	padding: 10px 12px;
	border: 1px dashed var(--csl-black);
	border-radius: var(--csl-radius);
	background: transparent;
	color: var(--csl-black);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.csl-finder { margin: 10px 0 0; padding: 12px; border-radius: var(--csl-radius); background: var(--csl-white); border: 1px solid var(--csl-line); }
.csl-finder__tip { margin: 0 0 10px; font-size: 12px; color: var(--csl-muted); }
.csl-finder__step { margin: 0; padding: 0; border: 0; display: grid; gap: 6px; }
.csl-finder__step[hidden] { display: none; }
.csl-finder__step legend { margin: 0 0 8px; padding: 0; font-size: 14px; font-weight: 600; color: var(--csl-black); }
.csl-finder__step legend span { margin-right: 4px; color: var(--csl-muted); font-weight: 500; }
.csl-finder__step button {
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--csl-line);
	border-radius: 10px;
	background: var(--csl-paper);
	color: var(--csl-black);
	font-size: 14px;
	text-align: left;
	cursor: pointer;
}
.csl-finder__step button:hover { border-color: var(--csl-black); }
.csl-fit__face { font-size: 12px; color: var(--csl-muted); }
.csl-fit__face.is-ok { color: var(--csl-ok); font-weight: 600; }

/* ---------- Κριτικές ---------- */
.csl-reviews { max-width: 960px; }
.csl-reviews__top {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px 28px;
	align-items: center;
	margin: 0 0 22px;
	padding: 18px;
	border-radius: var(--csl-radius-l);
	background: var(--csl-white);
	border: 1px solid var(--csl-line);
}
.csl-reviews__score { text-align: center; }
.csl-reviews__avg { display: block; font-family: var(--csl-font-display); font-size: 44px; line-height: 1; color: var(--csl-black); }
.csl-reviews__score .csl-stars { display: block; margin: 6px 0 4px; font-size: 18px; color: var(--csl-black); letter-spacing: 1px; }
.csl-reviews__score p { margin: 0; font-size: 13px; color: var(--csl-ink-2); }
.csl-reviews__ver { display: inline-flex; gap: 4px; align-items: center; margin-top: 6px !important; color: var(--csl-ok) !important; font-weight: 600; }
.csl-reviews__dist { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.csl-reviews__dist li { display: grid; grid-template-columns: 34px 1fr 32px; gap: 8px; align-items: center; font-size: 12px; color: var(--csl-muted); }
.csl-reviews__dist i { position: relative; height: 7px; border-radius: 4px; background: var(--csl-sand); overflow: hidden; }
.csl-reviews__dist i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--csl-black); border-radius: 4px; }
.csl-reviews__store { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: center; padding-top: 14px; border-top: 1px solid var(--csl-line); font-size: 13px; }
.csl-reviews__store p { margin: 0; color: var(--csl-ink-2); }
.csl-reviews__store a { color: inherit; text-decoration: underline; }
.csl-reviews__store .csl-stars { color: var(--csl-black); }
.csl-reviews__store-title { width: 100%; font-weight: 600; color: var(--csl-black) !important; }
.csl-reviews__empty { grid-column: 1 / -1; margin: 0; font-size: 14px; }
@media (max-width: 560px) {
	.csl-reviews__top { grid-template-columns: 1fr; }
}

.csl-reviews__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.csl-reviews__list > li.is-later:not(.is-shown) { display: none; }
.csl-review { padding: 14px 16px; border-radius: var(--csl-radius); background: var(--csl-white); border: 1px solid var(--csl-line); }
.csl-review__head { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.csl-review__name { color: var(--csl-black); }
.csl-review__head time { color: var(--csl-muted); font-size: 12px; }
.csl-review__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; margin: 4px 0 6px; font-size: 12px; color: var(--csl-muted); }
.csl-review__meta .csl-stars { color: var(--csl-black); font-size: 13px; letter-spacing: 1px; }
.csl-review__ver { display: inline-flex; gap: 3px; align-items: center; color: var(--csl-ok); font-weight: 600; }
.csl-review__text { font-size: 14px; line-height: 1.55; color: var(--csl-ink-2); }
/* 4 γραμμές, μετά «Περισσότερα» (assets/js/product.js) */
.csl-review__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
}
.csl-review__text.is-open { display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; }
.csl-review__toggle {
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--csl-black);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
.csl-reviews__more {
	margin: 12px 0 0;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--csl-black);
	border-radius: var(--csl-radius);
	background: transparent;
	color: var(--csl-black);
	font-weight: 600;
	cursor: pointer;
}
.csl-reviews__silent { margin: 10px 0 0; font-size: 13px; color: var(--csl-muted); }
.csl-reviews__write { margin: 18px 0 0; border-top: 1px solid var(--csl-line); }
.csl-reviews__write > summary { display: inline-flex; min-height: 48px; align-items: center; cursor: pointer; font-weight: 600; color: var(--csl-black); list-style: none; }
.csl-reviews__write > summary::-webkit-details-marker { display: none; }
.csl-reviews__write > summary::after { content: "+"; margin-left: 8px; font-size: 18px; }
.csl-reviews__write[open] > summary::after { content: "–"; }
.csl-review-form { display: grid; gap: 10px; max-width: 560px; }
.csl-review-form p { margin: 0; }
.csl-review-form label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; }
.csl-review-form input[type="text"],
.csl-review-form input[type="email"],
.csl-review-form textarea,
.csl-review-form select { width: 100%; }

/* ---------- Plugin «Shoppable Reels»: στα χρώματα και τις αποστάσεις της COSSELIE ---------- */
.srl-reels,
.srl-viewer {
	--srl-radius: var(--csl-radius-l);
	--srl-radius-s: var(--csl-radius);
	--srl-ink: var(--csl-black);
	--srl-surface: var(--csl-white);
	--srl-muted: var(--csl-muted);
	--srl-line: var(--csl-line);
	--srl-placeholder: var(--csl-sand);
}
.srl-reels { --srl-gutter: 16px; margin: 28px 0 8px; }
.srl-reels__title {
	font-family: var(--csl-font);
	font-size: 18px;
	font-weight: 700;
}
.srl-reels__head { margin-bottom: 12px; }
@media (min-width: 690px) {
	.srl-reels { --srl-gutter: 0px; }
}

/* ======================================================================
 * 0.11.0 — Πάνω μέρος χωρίς breadcrumbs, κατηγορία πάνω από τον τίτλο,
 *          δύο στήλες κάτω από το προϊόν (videos | κριτικές)
 * ==================================================================== */
.single-product .hero-section,
.single-product .entry-summary .ct-breadcrumbs { display: none; }
@media (min-width: 690px) {
	.single-product { --theme-content-vertical-spacing: 24px; --csl-pdp-edge: var(--theme-content-vertical-spacing); }
}

.csl-head__cat {
	display: table; /* δική του σειρά, πλάτος όσο το κείμενο */
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.3;
	color: var(--csl-muted);
	text-decoration: none;
}
.csl-head__cat:hover { color: var(--csl-black); text-decoration: underline; text-underline-offset: 2px; }

/* Κάτω από το προϊόν. Το is-width-constrained (Blocksy) δίνει το ίδιο πλάτος με τη σύνοψη στο κινητό/tablet. */
.csl-below { margin-top: 28px; }
.csl-below__main:empty,
.csl-below__side:empty,
.csl-left:empty { display: none; }
.csl-below__main .srl-reels { margin: 0 0 28px; }
.csl-below__side .woocommerce-tabs { margin: 0; }
.single-product .csl-below__side .woocommerce-tabs .woocommerce-Tabs-panel { margin-top: 0; padding-top: 0 !important; }
.csl-below__side .csl-reviews { margin-top: 0; }
.csl-below__side .csl-reviews { max-width: none; }

/* Η σειρά των videos στο κινητό φτάνει ως τις άκρες της οθόνης, ο τίτλος μένει στοιχισμένος. */
.csl-below__main .srl-reels { --srl-gutter: calc((100vw - var(--theme-container-edge-spacing, 90vw)) / 2); }
@media (min-width: 690px) {
	.csl-below__main .srl-reels { --srl-gutter: 0px; }
}

@media (min-width: 1000px) {
	/* Ίδιες άκρες, κενό και πλάτος δεξιάς στήλης με φωτογραφίες + σύνοψη. */
	.single-product .csl-below.is-width-constrained {
		display: flex;
		align-items: flex-start;
		gap: clamp(32px, 3vw, 64px);
		width: auto;
		max-width: none;
		margin: 56px clamp(24px, 3vw, 56px) 0 var(--csl-pdp-edge, 24px);
	}
	.csl-below__main { flex: 1 1 0; min-width: 0; }
	.csl-below__side { flex: 0 0 clamp(400px, 30vw, 520px); min-width: 0; }
	.csl-below__main:empty + .csl-below__side { flex: 1 1 auto; max-width: 960px; }
	.csl-below__main .srl-reels { margin: 0; }
	.csl-below__side .csl-reviews__top { grid-template-columns: auto minmax(0, 1fr); padding: 16px; gap: 14px 20px; }
}
.csl-reviews__more { width: 100%; }
.srl-reels__all { border-radius: var(--csl-radius); }
.srl-reels__foot { margin-top: 16px; }
@media (min-width: 690px) {
	.srl-reels[data-layout="grid"] .srl-reels__all { width: 100%; }
}

/* Πλαίσιο «φεύγει σήμερα» + εγγυήσεις: το απαλό lime της ταυτότητας (το πράσινο = αποστολή/ΟΚ,
 * όπως η μπάρα του header· το πορτοκαλί μένει για προσφορές). */
.csl-assure {
	margin: 0 0 18px;
	padding: 12px 14px 14px;
	border-radius: var(--csl-radius-l);
	background: var(--csl-lime-soft);
	border: 1px solid rgba(0, 0, 0, 0.06);
}
.csl-assure .csl-delivery {
	margin: 0 0 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 14px;
}
.csl-assure .csl-delivery__dot { margin-top: 6px; box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.15); }
.csl-assure .csl-trust { margin: 0; }

/* Σχετικά στην αριστερή στήλη (desktop), στοιχισμένα με τα videos */
.csl-below__more { margin-top: 40px; }
.csl-below__more > section,
.csl-below__more .related,
.csl-below__more .up-sells { width: auto; max-width: none; margin: 0 0 24px; padding: 0; }
.csl-below__more .ct-module-title,
.csl-below__more h2 { margin: 0 0 12px; font-size: 18px; font-weight: 700; }
/* Κινητό/tablet: videos → κριτικές → σχετικά (πρώτα η απόδειξη, μετά οι εναλλακτικές) */
@media (max-width: 999px) {
	.csl-below { display: flex; flex-direction: column; }
	.csl-below__main { display: contents; }
	.csl-below__main .srl-reels { order: 1; }
	.csl-below__side { order: 2; }
	.csl-below__more { order: 3; margin-top: 32px; }
}

/* Χωρίς social videos: τα σχετικά ξεκινούν στο ίδιο ύψος με τις κριτικές */
.csl-below__more:first-child { margin-top: 0; }

/* Desktop: τα accordions εμφανίζονται στη δεξιά στήλη κάτω από το προϊόν (τα μετακινεί το product.js),
 * ώστε η στήλη που «κολλάει» να χωρά στην οθόνη. Κρυφά στη σύνοψη μέχρι να μετακινηθούν: κανένα «πήδημα». */

/* Ο τίτλος των videos στο ίδιο ύψος με το «Κριτικές» (τα βελάκια δεν ψηλώνουν τη γραμμή) */
.csl-below__main .srl-reels__head { align-items: center; }
.csl-below__main .srl-reels__arrows { margin-top: -6px; margin-bottom: -6px; }

/* Κωδικός προϊόντος: διακριτικά, δεξιά στη γραμμή του χρώματος */
.csl-swatches__label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 4px; }
.csl-sku__code { font-variant-numeric: tabular-nums; letter-spacing: 0.02em; user-select: all; }

/* Desktop: το άδειο κάτω section (τα περιεχόμενά του μετακινούνται στις δύο στήλες) δεν αφήνει κενό */
.single-product .csl-below.is-width-constrained:empty { display: none; }

/* «Στη συσκευασία»: 4 κάρτες, φωτογραφία + τίτλος από κάτω */
.csl-pack-items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}
.csl-pack-item { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.csl-pack-item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--csl-radius);
	background: var(--csl-white);
}
.csl-pack-item__label {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 8px;
	border: 1px solid var(--csl-line);
	border-radius: var(--csl-radius);
	background: var(--csl-white);
	font-size: 12.5px;
	line-height: 1.3;
	text-align: center;
	color: var(--csl-black);
}
@media (max-width: 689px) {
	.csl-pack-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.csl-pack-item__label { font-size: 13px; }
}

/* Κινητό: οι φωτογραφίες από άκρη σε άκρη, κολλητά κάτω από το header (μεγαλύτερη, καθαρότερη εικόνα) */
@media (max-width: 689px) {
	.single-product .site-main > .ct-container-full { padding-top: 0; }
	.single-product .product-entry-wrapper > .csl-gallery {
		width: auto;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
	.single-product .csl-gallery__track,
	.single-product .csl-gallery__item { border-radius: 0; }
}

/* Φόρμα κριτικής: χωρίς βαθμολογία στην υποβολή */
.comment-form-rating .stars.is-missing { outline: 2px solid var(--csl-red); outline-offset: 4px; border-radius: 6px; }
.csl-faq__all { margin: 12px 0 0; font-size: 13px; font-weight: 600; }
.csl-faq__all a { color: var(--csl-black); text-decoration: underline; text-underline-offset: 3px; }

/* Δώρο creator (COSSELIE Core → Creators): μία γραμμή κάτω από το «Προσθήκη στο καλάθι». */
.entry-summary .csl-gift__note { margin: 10px 0 12px; padding: 10px 12px; border-radius: var(--csl-radius-s, 10px); background: var(--csl-lime-soft, #f9ffcb); font-size: 13.5px; line-height: 1.45; color: var(--csl-black, #000); }
