/* O2pro buy box.
   Χρώματα/γραμματοσειρές κληρονομούνται από το Elementor kit (global colors & typography),
   ώστε το block να ακολουθεί πάντα το theme. Τα fallbacks είναι τα χρώματα της μάρκας. */
.o2p {
	--o2p-accent: var(--e-global-color-accent, #e8a33d);
	--o2p-ink: var(--e-global-color-primary, #1d1b19);
	--o2p-text: var(--e-global-color-text, #55504a);
	--o2p-panel: var(--e-global-color-b7903d8, #f2efea);
	--o2p-white: #fff;
	--o2p-line: #dfdcd6;
	--o2p-muted: #8a847c;
	--o2p-good: #2f8a50;
	--o2p-font: var(--e-global-typography-primary-font-family, "Inter Tight"), sans-serif;
	--o2p-radius: 12px;
	--o2p-ease: cubic-bezier(0.22, 1, 0.36, 1);
	font-family: var(--o2p-font);
	color: var(--o2p-ink);
}
.o2p, .o2p *, .o2p *::before, .o2p *::after { box-sizing: border-box; }

/* ---------- Πακέτα ---------- */
.o2p-bundles { margin-bottom: 1rem; }
.o2p-bundles__title { font-weight: 700; font-size: .9rem; margin: 0 0 .7rem; color: var(--o2p-ink); }
.o2p-bundles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }

.o2p .o2p-bundle {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: center;
	text-align: center;
	gap: .1rem;
	width: 100%;
	min-width: 0;
	padding: 1rem .5rem .7rem;
	border: 1.5px solid var(--o2p-line) !important;
	border-radius: var(--o2p-radius);
	background: var(--o2p-white);
	color: var(--o2p-ink);
	font-family: inherit;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.3;
	cursor: pointer;
	box-shadow: none;
	transition: border-color .2s var(--o2p-ease), background-color .2s var(--o2p-ease), box-shadow .2s var(--o2p-ease);
}
.o2p .o2p-bundle:hover { border-color: var(--o2p-text) !important; }
.o2p .o2p-bundle.is-selected {
	border-color: var(--o2p-ink) !important;
	background: color-mix(in srgb, var(--o2p-accent) 14%, #fff);
	box-shadow: 0 0 0 1px var(--o2p-ink);
}
.o2p .o2p-bundle.is-oos { opacity: .45; cursor: not-allowed; }
.o2p-bundle__name { font-weight: 700; font-size: 1rem; }
.o2p-bundle__pcs { font-size: .76rem; color: var(--o2p-muted); }
.o2p-bundle__price { font-weight: 800; font-size: 1.1rem; letter-spacing: -0.02em; margin-top: .25rem; }
.o2p-bundle__price .woocommerce-Price-amount { color: inherit; font: inherit; }
.o2p-bundle__unit { font-size: .74rem; color: var(--o2p-muted); }
.o2p-bundle__unit .woocommerce-Price-amount { color: inherit; font: inherit; }
.o2p-bundle__unit b { color: var(--o2p-good); }
.o2p-bundle__oos { font-size: .7rem; font-weight: 700; color: #b3261e; }
.o2p-bundle__tag {
	position: absolute; top: -9px; left: 50%; transform: translateX(-50%); white-space: nowrap;
	font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
	padding: .2rem .5rem; border-radius: 6px; background: var(--o2p-accent); color: var(--o2p-ink);
}
.o2p-bundle__tag--dark { background: var(--o2p-ink); color: #fff; }

/* ---------- Τιμή + κέρδος ---------- */
.o2p-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem .6rem; margin: 0 0 .8rem; }
.o2p-price__amount, .o2p-price__now .woocommerce-Price-amount {
	font-size: 1.9rem; font-weight: 800; letter-spacing: -0.03em; color: var(--o2p-ink);
}
.o2p-price__save {
	font-size: .78rem; font-weight: 800; color: var(--o2p-good);
	background: color-mix(in srgb, var(--o2p-good) 12%, #fff); padding: .22rem .5rem; border-radius: 6px;
}
.o2p-price__vs { font-size: .74rem; color: var(--o2p-muted); flex-basis: 100%; }

/* ---------- Φόρμα (ποσότητα + κουμπί) ---------- */
.o2p-form .variations,
.o2p-form .woo-variation-swatches,
.o2p-form table.variations,
.o2p-form .woocommerce-variation-price,
.o2p-form .reset_variations { display: none !important; }
.o2p-form .single_variation_wrap { margin-top: 0 !important; }
.o2p-form .woocommerce-variation-add-to-cart {
	display: flex !important; flex-wrap: wrap !important; align-items: center; gap: .6rem;
}
.o2p-form .quantity { flex: 0 0 auto; margin: 0 !important; }
.o2p-form .single_add_to_cart_button { flex: 1 1 220px; margin: 0 !important; }

/* ---------- Αποστολή ---------- */
.o2p-ship { margin-top: .9rem; padding: .85rem 1rem; border-radius: var(--o2p-radius); background: var(--o2p-panel); display: grid; gap: .7rem; }
.o2p-ship__cutoff { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin: 0; font-size: .88rem; color: var(--o2p-text); }
.o2p-ship__cutoff strong { color: var(--o2p-ink); font-variant-numeric: tabular-nums; }
.o2p-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--o2p-good); box-shadow: 0 0 0 0 rgba(47, 138, 80, .6); animation: o2p-pulse 2s infinite; }
@keyframes o2p-pulse { 70% { box-shadow: 0 0 0 8px rgba(47, 138, 80, 0); } 100% { box-shadow: 0 0 0 0 rgba(47, 138, 80, 0); } }
.o2p-ship__free p { margin: 0 0 .4rem; font-size: .86rem; color: var(--o2p-text); }
.o2p-ship__free strong { color: var(--o2p-ink); }
.o2p-progress { height: 7px; border-radius: 99px; background: var(--o2p-line); overflow: hidden; }
.o2p-progress span { display: block; height: 100%; width: 0; background: var(--o2p-accent); border-radius: inherit; transition: width .6s var(--o2p-ease); }
.o2p-ship__free.is-free .o2p-progress span { background: var(--o2p-good); }

/* ---------- Sticky add to cart ---------- */
.o2p-sticky {
	position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 998;
	width: min(640px, calc(100% - 24px));
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	padding: .55rem .55rem .55rem .75rem; border-radius: 16px;
	background: var(--o2p-ink); color: #fff;
	box-shadow: 0 18px 38px -14px rgba(0, 0, 0, .5);
	transform: translate(-50%, 160%); transition: transform .45s var(--o2p-ease);
}
.o2p-sticky.is-visible { transform: translate(-50%, 0); }
.o2p-sticky__info { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.o2p-sticky__thumb { width: 42px; height: 42px; border-radius: 9px; overflow: hidden; flex: none; background: #fff; }
.o2p-sticky__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.o2p-sticky__text { min-width: 0; }
.o2p-sticky__text strong { display: block; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #fff; }
.o2p-sticky__text span { font-size: .85rem; font-weight: 800; color: var(--o2p-accent); }
.o2p .o2p-sticky__btn {
	flex: none; border: 0 !important; outline: 0;
	padding: .8rem 1.3rem; border-radius: 10px;
	background: var(--o2p-accent); color: var(--o2p-ink);
	font-family: inherit; font-weight: 800; font-size: .95rem; line-height: 1.2; cursor: pointer;
	box-shadow: none; text-transform: none; letter-spacing: normal;
	transition: filter .2s var(--o2p-ease);
}
.o2p .o2p-sticky__btn:hover { filter: brightness(.94); }

/* ---------- Πίνακας σύγκρισης (μπαίνει σε Elementor HTML widget) ---------- */
.o2p-compare-wrap { overflow-x: auto; background: var(--o2p-ink, #1d1b19); border-radius: 18px; padding: 1rem; }
.o2p-compare { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .95rem; color: #fff; }
.o2p-compare th, .o2p-compare td { padding: .9rem 1.1rem; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, .1); background: transparent !important; }
.o2p-compare th { font-size: .85rem; font-weight: 600; color: rgba(255, 255, 255, .7); }
.o2p-compare td:first-child, .o2p-compare th:first-child { text-align: left; font-weight: 600; }
.o2p-compare .o2p-us { background: rgba(232, 163, 61, .12) !important; }
.o2p-compare th.o2p-us { background: var(--o2p-accent, #e8a33d) !important; color: #1d1b19; font-size: 1.05rem; font-weight: 800; border-radius: 10px 10px 0 0; }
.o2p-compare tr:last-child .o2p-us { border-radius: 0 0 10px 10px; }
.o2p-compare .o2p-yes { color: var(--o2p-accent, #e8a33d); font-weight: 700; }
.o2p-compare .o2p-no { color: #e08b7f; }

/* ---------- Κινητό ---------- */
@media (max-width: 420px) {
	.o2p-bundle { padding-inline: .3rem; }
	.o2p-bundle__name { font-size: .9rem; }
	.o2p-bundle__price { font-size: 1rem; }
	.o2p-bundle__tag { font-size: .55rem; padding-inline: .35rem; }
	.o2p-price__amount, .o2p-price__now .woocommerce-Price-amount { font-size: 1.6rem; }
}

@media (prefers-reduced-motion: reduce) {
	.o2p *, .o2p *::before, .o2p *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Το κουμπί add to cart μέσα στο block: ίδιο στυλ με το παλιό Elementor widget. */
.o2p-form .single_add_to_cart_button,
.o2p-form .cart button.button {
	background-color: var(--o2p-accent) !important;
	color: var(--e-global-color-cddca6f, #fff) !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 20px !important;
	font-family: inherit;
	font-weight: 900;
	letter-spacing: -0.5px;
	transition: all .2s;
}
.o2p-form .single_add_to_cart_button:hover,
.o2p-form .cart button.button:hover {
	background-color: var(--e-global-color-secondary, #1d1b19) !important;
}
.o2p-form .quantity .qty {
	border: 1px solid #b5b5b5; border-radius: 8px; padding: 10px; min-height: 58px; text-align: center;
}

/* ---------- Γραμμή "Χαμηλότερη τιμή 30 ημερών" ---------- */
.o2p-price__omnibus { flex-basis: 100%; font-size: .7rem; color: var(--o2p-muted); }

/* ---------- Ποσότητα με − / + ---------- */
.o2p-form .o2p-qty {
	display: flex !important; align-items: stretch; overflow: hidden;
	border: 1px solid #b5b5b5; border-radius: 8px; background: #fff;
}
.o2p-form .o2p-qty .qty {
	border: 0 !important; border-radius: 0 !important; width: 48px; padding: 10px 0 !important;
	text-align: center; font-weight: 700; -moz-appearance: textfield; box-shadow: none;
}
.o2p-form .o2p-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.o2p .o2p-qty__btn {
	width: 40px; border: 0 !important; background: transparent; color: var(--o2p-ink);
	font-size: 1.15rem; line-height: 1; cursor: pointer; padding: 0;
	transition: background-color .15s var(--o2p-ease), color .15s var(--o2p-ease);
}
.o2p .o2p-qty__btn:hover { background: var(--o2p-accent); color: #fff; }
.o2p .o2p-qty__btn:active { transform: scale(.94); }

/* ---------- Mini κριτικές στο buy box ---------- */
.o2p-mini { margin-top: .9rem; border: 1px solid var(--o2p-line); border-radius: var(--o2p-radius); background: #fff; overflow: hidden; }
.o2p-mini__viewport { overflow: hidden; }
.o2p-mini__track { display: flex; transition: transform .55s var(--o2p-ease); }
.o2p-mini__card { flex: 0 0 100%; margin: 0; padding: .95rem 1.1rem .5rem; display: grid; grid-template-columns: 38px 1fr; gap: .15rem .75rem; }
.o2p-mini__avatar { grid-row: span 2; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff; background: var(--o2p-ink); }
.o2p-mini__top { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; font-size: .8rem; }
.o2p-mini__top strong { font-size: .86rem; white-space: nowrap; color: var(--o2p-ink); }
.o2p-mini__top em { font-style: normal; color: var(--o2p-good); font-weight: 700; font-size: .72rem; }
.o2p-mini__card p { margin: .1rem 0 0; font-size: .9rem; line-height: 1.45; color: var(--o2p-text); }
.o2p-mini__ctrl { display: flex; align-items: center; justify-content: space-between; padding: 0 .6rem .5rem; }
.o2p .o2p-mini__ctrl > button {
	width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--o2p-panel);
	color: var(--o2p-ink); font-size: 1rem; line-height: 1; cursor: pointer;
	transition: background-color .2s var(--o2p-ease), color .2s var(--o2p-ease);
}
.o2p .o2p-mini__ctrl > button:hover { background: var(--o2p-accent); color: #fff; }
.o2p-mini__dots { display: flex; gap: 5px; }
.o2p .o2p-mini__dots button {
	width: 6px; height: 6px; padding: 0; border: 0; border-radius: 3px; background: var(--o2p-line); cursor: pointer;
	transition: width .3s var(--o2p-ease), background-color .3s var(--o2p-ease);
}
.o2p .o2p-mini__dots button:hover { background: var(--o2p-muted); }
.o2p .o2p-mini__dots button.is-active { width: 18px; background: var(--o2p-ink); }
@media (max-width: 480px) { .o2p-mini__top em span { display: none; } }

/* ---------- Αστέρια ---------- */
.o2p-stars {
	--size: 14px; --pct: calc(var(--r) / 5 * 100%);
	width: calc(var(--size) * 5); height: var(--size); display: inline-block; flex: none;
	background: linear-gradient(90deg, var(--o2p-accent) var(--pct), var(--o2p-line) var(--pct));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 7 7.5.6-5.7 4.9 1.8 7.4L12 18l-6.6 3.9 1.8-7.4L1.5 9.6 9 9z'/%3E%3C/svg%3E") repeat-x left / var(--size) var(--size);
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 7 7.5.6-5.7 4.9 1.8 7.4L12 18l-6.6 3.9 1.8-7.4L1.5 9.6 9 9z'/%3E%3C/svg%3E") repeat-x left / var(--size) var(--size);
}

/* ---------- Σφραγίδα εγγύησης ---------- */
.o2p-seal svg { width: 110px; height: 110px; animation: o2p-spin 30s linear infinite; }
.o2p-seal circle { fill: var(--o2p-accent); }
.o2p-seal text { fill: #1d1b19; font-family: var(--o2p-font); font-size: 10.5px; font-weight: 800; letter-spacing: 1.5px; }
.o2p-seal .o2p-seal__num { font-size: 34px; font-weight: 900; letter-spacing: -1px; }
@keyframes o2p-spin { to { transform: rotate(360deg); } }

/* ---------- Hover / focus σε όλα τα διαδραστικά ---------- */
.o2p .o2p-bundle:focus-visible,
.o2p .o2p-qty__btn:focus-visible,
.o2p .o2p-sticky__btn:focus-visible,
.o2p .o2p-mini__ctrl > button:focus-visible,
.o2p .o2p-mini__dots button:focus-visible {
	outline: 2px solid var(--o2p-accent); outline-offset: 2px;
}
.o2p .o2p-bundle { transform: translateY(0); }
.o2p .o2p-bundle:hover:not(.is-oos):not(.is-selected) { transform: translateY(-2px); box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .45); }
.o2p .o2p-bundle:active:not(.is-oos) { transform: translateY(0) scale(.99); }
.o2p-form .single_add_to_cart_button:active { transform: scale(.99); }
.o2p-sticky__btn:active { transform: scale(.97); }

/* Η σφραγίδα να κρατάει τη θέση της μέσα σε Elementor flex container. */
.o2p-seal { width: 110px; flex: 0 0 110px; }
.elementor-widget-shortcode:has(.o2p-seal) { flex: 0 0 auto !important; width: auto !important; }
.elementor-widget-shortcode .o2p-seal svg { display: block; }
/* Τα CTA κουμπιά σε μία γραμμή. */
.o2p-cta-nowrap .elementor-button-text { white-space: nowrap; }

/* ===== Διορθώσεις: hover/focus στις κάρτες πακέτων ===== */
/* Χωρίς "πήδημα" στο hover: αλλάζει μόνο το περίγραμμα και το φόντο. */
.o2p .o2p-bundle,
.o2p .o2p-bundle:hover,
.o2p .o2p-bundle:active { transform: none !important; box-shadow: none; }
.o2p .o2p-bundle:hover:not(.is-oos):not(.is-selected) {
	border-color: var(--o2p-ink) !important;
	background: #fcfbfa;
}
.o2p .o2p-bundle.is-selected,
.o2p .o2p-bundle.is-selected:hover {
	border-color: var(--o2p-ink) !important;
	background: color-mix(in srgb, var(--o2p-accent) 14%, #fff);
	box-shadow: 0 0 0 1px var(--o2p-ink);
}
.o2p .o2p-bundle:active:not(.is-oos) { background: color-mix(in srgb, var(--o2p-accent) 20%, #fff); }
/* Focus ring μόνο με πληκτρολόγιο, ποτέ μετά από κλικ. */
.o2p .o2p-bundle:focus { outline: none !important; }
.o2p .o2p-bundle:focus-visible { outline: 2px solid var(--o2p-accent) !important; outline-offset: 2px; }

/* ===== Διορθώσεις: βελάκια στις κριτικές ===== */
.o2p .o2p-mini__ctrl > button {
	width: 30px; height: 30px; padding: 0;
	display: grid; place-items: center;
	border: 1px solid var(--o2p-line) !important;
	border-radius: 50%;
	background: #fff !important;
	color: var(--o2p-ink);
	font-size: 15px; font-weight: 700; line-height: 1;
	box-shadow: none !important;
	transition: border-color .18s var(--o2p-ease), background-color .18s var(--o2p-ease), color .18s var(--o2p-ease);
}
.o2p .o2p-mini__ctrl > button:hover {
	border-color: var(--o2p-accent) !important;
	background: var(--o2p-accent) !important;
	color: #fff;
}
.o2p .o2p-mini__ctrl > button:focus { outline: none; }
.o2p .o2p-mini__ctrl > button:focus-visible { outline: 2px solid var(--o2p-accent); outline-offset: 2px; }
.o2p .o2p-mini__ctrl > button:active { background: var(--o2p-ink) !important; border-color: var(--o2p-ink) !important; color: #fff; }

/* ===== Διόρθωση: το theme έκανε άσπρα τα γράμματα της επιλεγμένης κάρτας ===== */
.o2p .o2p-bundle,
.o2p .o2p-bundle:hover,
.o2p .o2p-bundle:focus,
.o2p .o2p-bundle:active,
.o2p .o2p-bundle.is-selected,
.o2p .o2p-bundle.is-selected:hover,
.o2p .o2p-bundle.is-selected:focus { color: var(--o2p-ink) !important; }
.o2p .o2p-bundle .o2p-bundle__name,
.o2p .o2p-bundle .o2p-bundle__price,
.o2p .o2p-bundle .o2p-bundle__price .woocommerce-Price-amount,
.o2p .o2p-bundle .o2p-bundle__price .woocommerce-Price-currencySymbol { color: var(--o2p-ink) !important; }
.o2p .o2p-bundle .o2p-bundle__pcs,
.o2p .o2p-bundle .o2p-bundle__unit,
.o2p .o2p-bundle .o2p-bundle__unit .woocommerce-Price-amount { color: var(--o2p-muted) !important; }
.o2p .o2p-bundle .o2p-bundle__unit b { color: var(--o2p-good) !important; }
.o2p .o2p-bundle__tag { color: var(--o2p-ink) !important; }
.o2p .o2p-bundle__tag--dark { color: #fff !important; }

/* ===== Διόρθωση: το "+" έμενε πορτοκαλί μετά το κλικ ===== */
.o2p .o2p-qty__btn,
.o2p .o2p-qty__btn:focus,
.o2p .o2p-qty__btn:active {
	background: transparent !important;
	color: var(--o2p-ink) !important;
	box-shadow: none !important;
}
.o2p .o2p-qty__btn:hover { background: var(--o2p-accent) !important; color: #fff !important; }
.o2p .o2p-qty__btn:focus-visible { outline: 2px solid var(--o2p-accent); outline-offset: -2px; }

/* ===== Κινητό: γραμμή rating + pill να μην κόβεται ===== */
@media (max-width: 767px) {
	.e-con:has(> .elementor-widget.o2p-rating-stars) { flex-wrap: wrap !important; row-gap: 8px !important; }
	.o2p-eof-pill { width: auto !important; max-width: 100% !important; }
	.o2p-eof-pill .elementor-button { white-space: nowrap; }
}

/* ===== Κινητό: sticky bar σε όλο το πλάτος, χωρίς να κόβεται το κουμπί ===== */
@media (max-width: 600px) {
	.o2p-sticky {
		left: 0; right: 0; bottom: 0; width: 100%;
		transform: translateY(160%);
		border-radius: 14px 14px 0 0;
		padding: .5rem .6rem calc(.5rem + env(safe-area-inset-bottom, 0px));
		gap: .5rem;
	}
	.o2p-sticky.is-visible { transform: translateY(0); }
	.o2p-sticky__info { flex: 1 1 auto; overflow: hidden; }
	.o2p .o2p-sticky__btn { flex: 0 0 auto; padding: .75rem 1rem; font-size: .9rem; }
	body { padding-bottom: 70px; }
}

/* Επιλεγμένη κάρτα: σταθερή απόχρωση (χωρίς color-mix που δεν έδινε σωστό αποτέλεσμα). */
.o2p .o2p-bundle.is-selected,
.o2p .o2p-bundle.is-selected:hover,
.o2p .o2p-bundle.is-selected:focus {
	background: rgba(242, 153, 34, .13) !important;
	border-color: var(--o2p-ink) !important;
	box-shadow: 0 0 0 1px var(--o2p-ink);
}
.o2p .o2p-bundle:active:not(.is-oos) { background: rgba(242, 153, 34, .2) !important; }

/* Το chat bubble να ανεβαίνει όταν φαίνεται το sticky, για να μην κρύβει το κουμπί. */
@media (max-width: 600px) {
	#o2pro-chat-root { transition: transform .35s var(--o2p-ease); }
	body:has(.o2p-sticky.is-visible) #o2pro-chat-root { transform: translateY(-62px); }
}

/* ===== Countdown αποστολής: βάρος 500 και ελαφρώς αρνητικό letter-spacing ===== */
.o2p-ship,
.o2p-ship__cutoff,
.o2p-ship__free p {
	font-weight: 500;
	letter-spacing: -0.02em;
}
.o2p-ship__cutoff strong,
.o2p-ship__free strong { font-weight: 500; letter-spacing: -0.02em; }

/* ===== Ποσότητα: το hover να ακολουθεί τις γωνίες του πλαισίου ===== */
.o2p-form .o2p-qty { overflow: hidden; border-radius: 8px; }
.o2p .o2p-qty__btn { border-radius: 0 !important; }
.o2p .o2p-qty__btn[data-o2p-qty="-1"] { border-radius: 7px 0 0 7px !important; }
.o2p .o2p-qty__btn[data-o2p-qty="1"] { border-radius: 0 7px 7px 0 !important; }

/* ===== Floating cart: λευκό περίγραμμα + αποστάσεις στο κινητό ===== */
.o2p-sticky { border: 1px solid rgba(255, 255, 255, .85); }
@media (max-width: 600px) {
	.o2p-sticky {
		left: 12px; right: 12px; width: auto;
		bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		border-radius: 16px;
		padding: .55rem .6rem;
		transform: translateY(180%);
	}
	.o2p-sticky.is-visible { transform: translateY(0); }
	body.o2p-has-sticky { padding-bottom: 84px; }
}

/* ===== Ενότητα κριτικών (δικό μας σύστημα, δεδομένα Google) ===== */
.o2p-reviews__summary {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
	padding-bottom: 1.4rem; margin-bottom: 1.6rem; border-bottom: 1px solid var(--o2p-line);
}
.o2p-reviews__score { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.o2p-reviews__score strong { font-size: 2.6rem; font-weight: 800; letter-spacing: -0.04em; line-height: 1; }
.o2p-reviews__score small { color: var(--o2p-muted); font-size: .9rem; }
.o2p-stars--lg { --size: 22px; }
.o2p-reviews__link {
	font-weight: 700; font-size: .9rem; color: var(--o2p-ink); text-decoration: none;
	border-bottom: 2px solid var(--o2p-accent); padding-bottom: 2px; transition: color .2s var(--o2p-ease);
}
.o2p-reviews__link:hover { color: var(--o2p-accent-ink, #9a6410); }

.o2p-reviews__grid { columns: 3 290px; column-gap: 16px; }
.o2p-review {
	break-inside: avoid; margin: 0 0 16px; padding: 1.2rem 1.3rem;
	background: #fff; border: 1px solid var(--o2p-line); border-radius: var(--o2p-radius);
}
.o2p-review.is-hidden { display: none; }
.o2p-review__top { display: grid; grid-template-columns: 38px 1fr auto; gap: .7rem; align-items: center; }
.o2p-review__avatar {
	width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
	background: var(--o2p-ink); color: #fff; font-weight: 800;
}
.o2p-review__top strong { display: block; font-size: .95rem; color: var(--o2p-ink); }
.o2p-review__meta { font-size: .76rem; color: var(--o2p-muted); }
.o2p-review p { margin: .8rem 0 0; font-size: .93rem; line-height: 1.55; color: var(--o2p-text); }
.o2p-reviews__more { text-align: center; margin-top: .5rem; }
.o2p .o2p-reviews__btn {
	border: 1.5px solid var(--o2p-ink); background: transparent; color: var(--o2p-ink);
	border-radius: 10px; padding: .85rem 1.6rem; font-family: inherit; font-weight: 800; cursor: pointer;
	transition: background-color .2s var(--o2p-ease), color .2s var(--o2p-ease);
}
.o2p .o2p-reviews__btn:hover { background: var(--o2p-ink); color: #fff; }
.o2p-mini__src { font-style: normal; font-size: .72rem; font-weight: 700; color: var(--o2p-muted); }
@media (max-width: 640px) { .o2p-reviews__grid { columns: 1; } }

/* Κινητό: αστέρια + βαθμολογία στην ίδια γραμμή, ΕΟΦ pill από κάτω, με αέρα. */
@media (max-width: 767px) {
	.e-con:has(> .elementor-widget.o2p-rating-stars) { align-items: center !important; column-gap: 10px !important; row-gap: 10px !important; }
	.elementor-element.o2p-rating-stars { order: 1 !important; }
	.elementor-element.o2p-rating-text { order: 2 !important; }
	.elementor-element.o2p-eof-pill { order: 3 !important; flex-basis: 100% !important; }
}
