/* ==========================================================
   CX Checkout v0.22.0 — σελίδα καλαθιού (και βάση για αγαπημένα και checkout)
   Όλοι οι κανόνες είναι κάτω από .cxc, με δικό τους reset,
   ώστε η εμφάνιση να μην αλλάζει από θέμα σε θέμα.
   Οι μεταβλητές παρακάτω είναι οι προεπιλογές. Οι τιμές από
   Admin → CX Checkout → Εμφάνιση τις αντικαθιστούν μέσω <style>,
   οπότε αυτό το αρχείο δεν χρειάζεται ποτέ αλλαγή.
   ========================================================== */

.cxc {
  --cxc-bg: #ffffff;
  --cxc-text: #151514;
  --cxc-soft: #45443f;
  --cxc-muted: #6b6862;
  --cxc-line: #e6e4df;
  --cxc-field: #ffffff;
  --cxc-input: #cfccc5;
  --cxc-panel: #f6f5f2;
  --cxc-thumb: #f1efeb;
  --cxc-primary: #151514;
  --cxc-primary-text: #ffffff;
  /* Hover κύριου κουμπιού (v0.10): προεπιλογή = κύριο χρώμα με opacity 0.9 */
  --cxc-primary-hover: var(--cxc-primary);
  --cxc-hover-opacity: 0.9;
  /* Χρώμα επιλογής (v0.12.5): ένδειξη επιλεγμένου/ενεργού (radio, κάρτες, βήματα, διακόπτες,
     μπάρες προόδου, εστίαση). Προεπιλογή = το κύριο κουμπί, όπως πριν. */
  --cxc-accent: var(--cxc-primary);
  --cxc-accent-text: var(--cxc-primary-text);
  --cxc-error: #b42318;
  --cxc-warning: #8a5300;
  --cxc-error-bg: #fef3f2;
  --cxc-success: #1d6b40;
  --cxc-success-bg: #edf7f0;
  --cxc-radius: 16px;
  --cxc-radius-md: 12px;
  --cxc-radius-sm: 10px;
  --cxc-btn-h: 46px;
  --cxc-icon-wishlist: 17px;
  --cxc-icon-remove: 17px;
  /* Κλίμακα μεγεθών από Admin → Τυπογραφία / Πεδία (0.85 στο κινητό) */
  --cxc-scale: 1;

  position: relative;
  margin: 0 0 32px;
  padding: 32px;
  background: var(--cxc-bg);
  color: var(--cxc-text);
  border-radius: var(--cxc-radius);
  font-size: 15px;
  line-height: 1.45;
  text-align: left;
}

/* ── Προεπισκόπηση από το admin (v0.10) ─────────────────── */
.cxc-preview-note { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 10px 14px; border: 1px dashed #8a5300; border-radius: 10px; background: #fff8e6; color: #5b3a00; font-size: 14px; line-height: 1.4; }
.cxc-preview-dot { width: 9px; height: 9px; border-radius: 50%; background: #d97706; box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.2); flex-shrink: 0; }

/* ── Reset ─────────────────────────────────────────────── */
.cxc,
.cxc *,
.cxc *::before,
.cxc *::after { box-sizing: border-box; }
.cxc [hidden] { display: none !important; }
/* :where() κρατά το reset σε χαμηλή εξειδίκευση, ώστε να υπερισχύουν οι κλάσεις .cxc-* */
.cxc :where(h1, h2, h3, h4, p, ul, li, form) { margin: 0; padding: 0; }
.cxc :where(h1, h2, h3, h4) { font-family: inherit; color: inherit; font-weight: 600; text-transform: none; letter-spacing: normal; line-height: 1.2; }
.cxc :where(ul) { list-style: none; }
.cxc li::before, .cxc li::after { content: none; }
.cxc :where(a, a:hover, a:focus) { color: inherit; text-decoration: none; }
.cxc :where(img) { display: block; max-width: 100%; height: auto; border: 0; }
.cxc s { text-decoration: line-through; }
.cxc button,
.cxc input {
  margin: 0;
  font: inherit;
  color: inherit;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  text-shadow: none;
}
.cxc button {
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  line-height: inherit;
  cursor: pointer;
}
.cxc button:disabled { cursor: not-allowed; }
.cxc :focus-visible { outline: 2px solid var(--cxc-accent); outline-offset: 2px; }

.cxc-i { display: block; flex-shrink: 0; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.cxc-i--sm { width: 17px; height: 17px; }
.cxc-i--xs { width: 14px; height: 14px; }
.cxc-i--filled { fill: currentColor; stroke: none; }
/* Εικονίδια ενεργειών: το μέγεθος ορίζεται ανά εικονίδιο στις ρυθμίσεις */
.cxc-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cxc-icon--wishlist { width: var(--cxc-icon-wishlist); height: var(--cxc-icon-wishlist); }
.cxc-icon--remove { width: var(--cxc-icon-remove); height: var(--cxc-icon-remove); }
.cxc-icon svg, .cxc-icon img, .cxc-icon .cxc-i { width: 100%; height: 100%; }
.cxc-icon img { object-fit: contain; }
.cxc-icon i { font-size: inherit; line-height: 1; }
.cxc-icon--wishlist i { font-size: var(--cxc-icon-wishlist); }
.cxc-icon--remove i { font-size: var(--cxc-icon-remove); }
/* v0.31: Γενικά → Εικονίδια — στυλ γραμμής του ίδιου σχήματος, εικόνα/κλάση αντί για svg,
   και εικονίδια δύο καταστάσεων (αγαπημένα, καλάθι): το περίβλημα .cxc-ico δεν αλλάζει τη
   διάταξη (display: contents), το data-on δείχνει αν το προϊόν είναι ήδη μέσα. */
svg.cxc-i.cxc-i--thin { stroke-width: 1.25; }
svg.cxc-i.cxc-i--bold { stroke-width: 2.4; }
svg.cxc-i.cxc-i--filled { fill: currentColor; stroke: none; }
.cxc-i.cxc-i--img { fill: none; stroke: none; object-fit: contain; }
.cxc-i.cxc-i--font { display: inline-flex; align-items: center; justify-content: center; font-size: 1em; line-height: 1; fill: none; stroke: none; }
.cxc-ico { display: contents; }
.cxc-ico[data-on="1"] .cxc-ico-fill { fill: currentColor; }
.cxc-ico[data-on="1"] .cxc-ico-empty, .cxc-ico:not([data-on="1"]) .cxc-ico-full { display: none !important; }
.cxc-muted { color: var(--cxc-muted); }

/* ── Κεφαλίδα ──────────────────────────────────────────── */
.cxc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.cxc .cxc-title { font-size: 30px; letter-spacing: -0.01em; }
.cxc-title-count { font-size: 17px; font-weight: 400; color: var(--cxc-muted); }
.cxc-back { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; white-space: nowrap; }
.cxc-back:hover span { text-decoration: underline; }

/* ── Μηνύματα ──────────────────────────────────────────── */
.cxc-notice { margin-bottom: 16px; padding: 12px 16px; border-radius: var(--cxc-radius-sm); font-size: 14px; }
.cxc-notice--success { background: var(--cxc-success-bg); color: var(--cxc-success); }
.cxc-notice--error { background: var(--cxc-error-bg); color: var(--cxc-error); }

/* ── Κενό καλάθι ───────────────────────────────────────── */
.cxc-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 72px 24px; border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius); text-align: center; }
.cxc-empty-icon { width: 48px; height: 48px; stroke-width: 1.25; color: var(--cxc-muted); }
.cxc .cxc-empty-title { font-size: 22px; }
.cxc-empty-text { color: var(--cxc-muted); }
.cxc-empty .cxc-btn { margin-top: 8px; }

/* ── Διάταξη ───────────────────────────────────────────── */
.cxc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: start; }
.cxc-main { min-width: 0; }

/* ── Μπάρα δωρεάν μεταφορικών ──────────────────────────── */
.cxc-shipbar { display: flex; flex-direction: column; gap: 10px; margin-bottom: 8px; padding: 14px 18px; background: var(--cxc-panel); border-radius: var(--cxc-radius-md); }
.cxc-shipbar-text { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.cxc-shipbar-track { height: 6px; overflow: hidden; background: var(--cxc-line); border-radius: 3px; }
.cxc-shipbar-track span { display: block; height: 100%; background: var(--cxc-accent); border-radius: 3px; transition: width 0.3s ease; }
.cxc-shipbar.is-done .cxc-shipbar-text { font-weight: 600; }

/* ── Γραμμές προϊόντων ─────────────────────────────────── */
.cxc-item { display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--cxc-line); transition: opacity 0.2s ease; }
.cxc-item.is-busy { opacity: 0.5; pointer-events: none; }
.cxc-thumb { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--cxc-thumb-w, 120px); height: var(--cxc-thumb-w, 120px); overflow: hidden; background: var(--cxc-thumb); border-radius: var(--cxc-radius-md); }
.cxc-thumb img { width: 100%; height: 100%; object-fit: contain; }
.cxc-info { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; min-width: 0; }
.cxc-info-top { display: flex; justify-content: space-between; gap: 24px; }
.cxc-name { font-size: 16px; font-weight: 600; line-height: 1.35; }
a.cxc-name:hover { text-decoration: underline; }
.cxc-price { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; text-align: right; }
.cxc-price-now { font-size: 16px; font-weight: 600; white-space: nowrap; }
.cxc-price-old { font-size: 13px; color: var(--cxc-muted); white-space: nowrap; }
.cxc-meta, .cxc-sub { display: flex; flex-wrap: wrap; column-gap: 0; font-size: 14px; color: var(--cxc-soft); }
.cxc-sub { font-size: 13px; color: var(--cxc-muted); }
.cxc-meta span + span::before,
.cxc-sub span + span::before { content: "·"; margin: 0 6px; }
.cxc-quote { font-size: 14px; font-style: italic; color: var(--cxc-muted); }
.cxc-status { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 13px; color: var(--cxc-soft); }
.cxc-status--error { color: var(--cxc-error); font-weight: 500; }
.cxc-status--in { color: var(--cxc-success); }
.cxc-status--delay { color: var(--cxc-warning); font-weight: 500; }
.cxc-status--preorder { color: var(--cxc-accent, var(--cxc-primary)); font-weight: 500; }
.cxc-status--out { color: var(--cxc-error); font-weight: 500; }
.cxc-item.has-error .cxc-qty { border-color: var(--cxc-error); }

.cxc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 12px; }
.cxc-action { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--cxc-soft); }
.cxc-action:hover { color: var(--cxc-text); }
.cxc-action:hover span { text-decoration: underline; }

/* ── v0.21: «Καθαρή» γραμμή (data-cxc-row="clean"): διαγραφή = εικονίδιο πάνω δεξιά, τιμή κάτω δεξιά ── */
.cxc[data-cxc-row="clean"] .cxc-item { position: relative; }
.cxc[data-cxc-row="clean"] .cxc-info { justify-content: space-between; }
.cxc[data-cxc-row="clean"] .cxc-info-top { padding-right: 44px; }
.cxc .cxc-item-x { position: absolute; top: 18px; right: -8px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--cxc-soft); border-radius: var(--cxc-radius-sm); }
.cxc .cxc-item-x:hover { color: var(--cxc-text); background: var(--cxc-panel); }
.cxc[data-cxc-row="clean"] .cxc-actions { justify-content: flex-start; margin-top: auto; padding-top: 12px; }
.cxc[data-cxc-row="clean"] .cxc-actions .cxc-price { align-items: flex-end; margin-left: auto; }
.cxc[data-cxc-row="clean"] .cxc-actions .cxc-price-now { font-size: 18px; }
.cxc[data-cxc-row="clean"] .cxc-meta span + span::before { margin: 0 10px; }

/* ── Ποσότητα ──────────────────────────────────────────── */
.cxc-qty { display: inline-flex; align-items: center; height: calc(var(--cxc-btn-h) - 4px); overflow: hidden; background: var(--cxc-field); border: 1px solid var(--cxc-input); border-radius: var(--cxc-radius-sm); }
.cxc .cxc-qty-btn { display: flex; align-items: center; justify-content: center; width: 40px; height: 100%; color: var(--cxc-text); }
.cxc .cxc-qty-btn:disabled { color: var(--cxc-muted); opacity: 0.45; }
.cxc .cxc-qty-input {
  width: 40px;
  height: 100%;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}
.cxc .cxc-qty-input::-webkit-outer-spin-button,
.cxc .cxc-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── Δωροκάρτα ─────────────────────────────────────────── */
.cxc-giftcard { display: flex; flex-direction: column; justify-content: space-between; width: 96px; height: 60px; padding: 8px 9px; background: var(--cxc-primary); color: var(--cxc-primary-text); border-radius: 8px; }
.cxc-giftcard-label { font-size: 8px; font-weight: 600; letter-spacing: 0.08em; }
.cxc-giftcard-amount { align-self: flex-end; font-size: 13px; font-weight: 700; white-space: nowrap; }
.cxc-thumb--voucher img { object-fit: cover; }

/* v0.45.3: η δωροκάρτα ως μικρογραφία (καλάθι, σύνοψη checkout) — όπως στη σελίδα δωροκάρτας: το σχέδιο (η εικόνα
   όπως είναι, π.χ. PNG με διαφάνεια, χωρίς φόντο πίσω της — ή χρώμα και μοτίβο), το λογότυπο πάνω αριστερά και το
   ποσό κάτω δεξιά, με τους ίδιους κανόνες («Τι γράφεται πάνω στην εικόνα», «Λογότυπο πάνω στην κάρτα»). */
.cxc-gcthumb { flex-shrink: 0; width: var(--cxc-thumb-w, 120px); }
.cxc-gc {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 1.586 / 1;
  padding: 8% 9%;
  overflow: hidden;
  background-color: var(--cxc-gc-bg, var(--cxc-primary));
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--cxc-gc-fg, var(--cxc-primary-text));
  border-radius: var(--cxc-radius-sm);
  line-height: 1.1;
  text-align: left;
  container-type: inline-size;
}
.cxc-gc--image { background-color: transparent; }
.cxc-gc--image.cxc-gc--on-dark:not(.cxc-gc--ov-none)::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 58%); pointer-events: none; }
.cxc-gc--image.cxc-gc--on-dark.cxc-gc--ov-full::after { background: linear-gradient(to bottom, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0) 32%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5)); }
.cxc-gc--image.cxc-gc--on-dark { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); }
.cxc-gc-pat { position: absolute; inset: 0; z-index: -1; display: block; width: 100%; height: 100%; pointer-events: none; }
.cxc-gc-amount { flex-shrink: 0; font-size: 13px; font-size: max(9px, 14cqw); font-weight: 700; line-height: 0.9; letter-spacing: -0.02em; white-space: nowrap; }
/* Λογότυπο: μέγεθος αναλογικό (cqw) — σε παλιούς browsers χωρίς cqw δεν εμφανίζεται */
.cxc-gc-top { display: none; }
@supports (width: 1cqw) {
  .cxc-gc-top { position: absolute; top: 0; left: 0; right: 0; display: flex; padding: 8% 9% 0; pointer-events: none; }
}
.cxc-gc-logo { max-width: 58%; overflow: hidden; font-size: max(6px, calc(var(--cxc-gc-logo-h, calc(16 * 0.63cqw)) * 0.41)); font-weight: 700; letter-spacing: 0.04em; white-space: nowrap; text-overflow: ellipsis; }
.cxc-gc-logo img { display: block; width: auto; max-width: 100%; height: max(10px, var(--cxc-gc-logo-h, calc(16 * 0.63cqw))); max-height: none; object-fit: contain; object-position: left center; }
.cxc-gc--logo-mono .cxc-gc-logo--img { position: relative; }
.cxc-gc--logo-mono .cxc-gc-logo--img img { visibility: hidden; }
.cxc-gc--logo-mono .cxc-gc-logo--img::after { content: ""; position: absolute; inset: 0; background-color: currentColor; -webkit-mask: var(--cxc-gc-logo-src) left center / contain no-repeat; mask: var(--cxc-gc-logo-src) left center / contain no-repeat; }
@supports not ((mask: url('')) or (-webkit-mask: url(''))) {
  .cxc-gc--logo-mono .cxc-gc-logo--img img { visibility: visible; }
  .cxc-gc--logo-mono .cxc-gc-logo--img::after { content: none; }
  .cxc-gc--logo-mono.cxc-gc--on-dark .cxc-gc-logo img { filter: brightness(0) invert(1); }
  .cxc-gc--logo-mono.cxc-gc--on-light .cxc-gc-logo img { filter: brightness(0); }
}
.cxc-gc--ov-amount .cxc-gc-top,
.cxc-gc--ov-none .cxc-gc-top,
.cxc-gc--ov-none .cxc-gc-amount { visibility: hidden; }

/* ── Σύνοψη ────────────────────────────────────────────── */
.cxc-summary { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; padding: 26px; background: var(--cxc-panel); border-radius: var(--cxc-radius); }
.cxc .cxc-summary-title { font-size: 19px; }
.cxc-rows { display: flex; flex-direction: column; gap: 10px; }
.cxc-row { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; }
.cxc-row span:last-child { white-space: nowrap; text-align: right; }
.cxc-row--soft { font-size: 14px; color: var(--cxc-soft); }
.cxc-divider { height: 1px; background: var(--cxc-line); }

.cxc-codes { display: flex; flex-direction: column; gap: 12px; }
.cxc .cxc-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: 15px; font-weight: 500; text-align: left; }
.cxc-toggle-label { display: flex; align-items: center; gap: 10px; }
.cxc-chevron { transition: transform 0.2s ease; }
.cxc-toggle[aria-expanded="true"] .cxc-chevron { transform: rotate(180deg); }
.cxc-panel { display: flex; gap: 8px; }
.cxc-panel--stack { flex-direction: column; }
.cxc-panel-row { display: flex; gap: 8px; }
.cxc .cxc-input {
  flex-grow: 1;
  min-width: 0;
  width: 100%;
  height: var(--cxc-btn-h);
  padding: 0 14px;
  background: var(--cxc-field);
  color: var(--cxc-text);
  border: 1px solid var(--cxc-input);
  border-radius: var(--cxc-radius-sm);
  font-size: 15px;
}
.cxc .cxc-input:focus { border-color: var(--cxc-accent); outline: none; box-shadow: 0 0 0 1px var(--cxc-accent); }
.cxc-help { font-size: 13px; color: var(--cxc-muted); }
.cxc-help--error { color: var(--cxc-error); }

.cxc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cxc-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 6px 5px 12px; background: var(--cxc-field); border: 1px solid var(--cxc-line); border-radius: 999px; font-size: 13px; }
.cxc .cxc-chip-x { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; color: var(--cxc-muted); }
.cxc .cxc-chip-x:hover { background: var(--cxc-panel); color: var(--cxc-text); }
/* v0.32: σημείωση κάτω από τους κωδικούς («εφάπαξ — το υπόλοιπο δεν επιστρέφεται») */
.cxc .cxc-codes-note { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: var(--cxc-muted); }

.cxc-grand { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.cxc-grand-label { font-size: 18px; font-weight: 600; }
.cxc-grand-label small { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--cxc-muted); }
.cxc-grand-value { font-size: 26px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; }

.cxc-trust { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--cxc-soft); }
.cxc-trust li { display: flex; align-items: center; gap: 8px; }

/* ── Κουμπιά ───────────────────────────────────────────── */
.cxc .cxc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: var(--cxc-btn-h);
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: var(--cxc-radius-sm);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}
.cxc .cxc-btn--primary,
.cxc .cxc-btn--primary:focus { background: var(--cxc-primary); border-color: var(--cxc-primary); color: var(--cxc-primary-text); }
.cxc .cxc-btn--primary:hover { background: var(--cxc-primary-hover); border-color: var(--cxc-primary-hover); color: var(--cxc-primary-text); opacity: var(--cxc-hover-opacity); }
.cxc .cxc-btn--outline { background: var(--cxc-field); border-color: var(--cxc-primary); color: var(--cxc-primary); }
.cxc .cxc-btn--outline:hover { background: var(--cxc-panel); }
.cxc .cxc-btn--block { display: flex; width: 100%; }
.cxc .cxc-btn--lg { height: calc(var(--cxc-btn-h) + 10px); font-size: 16px; }
.cxc .cxc-btn:disabled { opacity: 0.45; }
.cxc .cxc-btn.is-busy { opacity: 0.6; pointer-events: none; }

/* ── Προτεινόμενα ──────────────────────────────────────── */
.cxc-suggest { margin-top: 64px; }
.cxc .cxc-section-title { margin-bottom: 20px; font-size: 22px; }
.cxc-suggest-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.cxc-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cxc-card-media { display: block; overflow: hidden; background: var(--cxc-thumb); border-radius: var(--cxc-radius-md); aspect-ratio: 1 / 1; }
.cxc-card-media img { width: 100%; height: 100%; object-fit: contain; }
.cxc-card-name { margin-top: 4px; font-size: 14px; font-weight: 500; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cxc-card-name:hover { text-decoration: underline; }
.cxc-card-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px; }
.cxc-card .cxc-btn { margin-top: auto; }

/* ── Χωρίς πλαίσιο (ρύθμιση «Πλαίσιο γύρω από τη σελίδα»: Όχι) ── */
.cxc--plain { padding: 0; background: transparent; border-radius: 0; }

/* ── Σταθερή μπάρα κινητού ─────────────────────────────── */
.cxc-sticky { display: none; }

/* ── Φόρτωση ───────────────────────────────────────────── */
.cxc.is-busy .cxc-summary { opacity: 0.7; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 991px) {
  .cxc-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .cxc-summary { position: static; }
  .cxc-suggest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .cxc { --cxc-scale: 0.85; padding: 16px; border-radius: var(--cxc-radius-md); }
  .cxc-head { flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 16px; }
  .cxc .cxc-title { font-size: 24px; }
  .cxc-title-count { font-size: 15px; }

  .cxc-item { gap: 12px; padding: 16px 0; }
  .cxc-thumb { width: min(var(--cxc-thumb-w, 120px), 96px); height: min(var(--cxc-thumb-w, 120px), 96px); border-radius: var(--cxc-radius-sm); }
  .cxc .cxc-item-x { top: 10px; right: -6px; width: 36px; height: 36px; }
  .cxc[data-cxc-row="clean"] .cxc-info-top { padding-right: 32px; }
  .cxc[data-cxc-row="clean"] .cxc-actions .cxc-price-now { font-size: 16px; }
  .cxc-info-top { gap: 12px; }
  .cxc-name { font-size: 15px; }
  .cxc-price-now { font-size: 15px; }
  .cxc-actions { gap: 4px 12px; margin-top: 8px; }
  .cxc-qty { height: calc(var(--cxc-btn-h) - 8px); }
  .cxc .cxc-qty-btn { width: 36px; }
  .cxc .cxc-qty-input { width: 34px; }
  .cxc .cxc-action { position: relative; width: 38px; height: 38px; justify-content: center; }
  /* v0.56.3: μόνο η λέξη («Αφαίρεση», «Αγαπημένα») κρύβεται — όχι το περίβλημα του εικονιδίου (span.cxc-icon, v0.31) */
  .cxc-action > span:not([class]) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .cxc-item--voucher .cxc-action { width: auto; }
  .cxc-item--voucher .cxc-action > span:not([class]) { position: static; width: auto; height: auto; clip: auto; }
  .cxc-giftcard { width: 72px; height: 46px; padding: 6px 7px; }
  .cxc-gcthumb { width: min(var(--cxc-thumb-w, 120px), 96px); }
  .cxc-giftcard-label { font-size: 6px; }
  .cxc-giftcard-amount { font-size: 11px; }

  .cxc-summary { padding: 18px; border-radius: var(--cxc-radius-md); }
  .cxc-suggest { margin-top: 40px; }
  .cxc .cxc-section-title { font-size: 19px; }
  .cxc-suggest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

  .cxc--plain { padding: 0; border-radius: 0; }
  .cxc--sticky { padding-bottom: 104px; }
  .cxc--sticky .cxc-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 900;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    background: var(--cxc-bg);
    border-top: 1px solid var(--cxc-line);
    box-shadow: 0 -4px 16px rgba(21, 21, 20, 0.06);
  }
  .cxc-sticky-total { display: flex; flex-direction: column; line-height: 1.2; }
  .cxc-sticky-total span { font-size: 12px; color: var(--cxc-muted); }
  .cxc-sticky-total strong { font-size: 18px; font-weight: 700; white-space: nowrap; }
  .cxc-sticky .cxc-btn { flex-grow: 1; height: calc(var(--cxc-btn-h) + 4px); }
}
