/* ==========================================================
   CX Checkout v0.22.0 — λογαριασμός πελάτη
   Βασίζεται στο cx_checkout.css (μεταβλητές, reset, κουμπιά,
   κουτιά εισαγωγής, μηνύματα), που φορτώνεται πριν από αυτό.
   Τα χρώματα έρχονται από Admin → Εμφάνιση και ανά στοιχείο
   από Admin → Πεδία.
   ========================================================== */

.cxc--account { padding: 0; background: transparent; }
.cxa { display: flex; flex-direction: column; gap: 24px; }

/* ── Επισκόπηση ────────────────────────────────────────── */
.cxa-head { display: flex; flex-direction: column; gap: 6px; }
.cxc .cxa-welcome { font-size: 30px; letter-spacing: -0.01em; }
.cxa-intro { font-size: 15px; color: var(--cxc-muted); }

.cxa-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cxa-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 18px;
  background: var(--cxc-field);
  border: 1px solid var(--cxc-line);
  border-radius: var(--cxc-radius-md);
  transition: border-color 0.15s ease;
}
.cxa-stat:hover { border-color: var(--cxc-input); }
.cxa-stat-number { font-size: 26px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.15; }
.cxa-stat-label { font-size: 13px; color: var(--cxc-muted); }

.cxa-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cxa-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 24px 18px 22px;
  background: var(--cxc-field);
  border: 1px solid var(--cxc-line);
  border-radius: var(--cxc-radius);
  text-align: center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cxa-tile:hover { border-color: var(--cxc-input); box-shadow: 0 6px 20px rgba(21, 21, 20, 0.06); }
.cxa-tile-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 6px;
  background: var(--cxc-panel);
  color: var(--cxc-text);
  border-radius: 50%;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.cxa-tile:hover .cxa-tile-icon { background: var(--cxc-accent); color: var(--cxc-accent-text); }
.cxa-tile-icon .cxc-i { width: 24px; height: 24px; stroke-width: 1.6; }
.cxa-tile-title { font-size: 16px; font-weight: 600; }
.cxa-tile-desc { font-size: 13px; color: var(--cxc-muted); line-height: 1.4; }

.cxa-recent { display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; background: var(--cxc-field); border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius); }
.cxa-recent-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.cxc .cxa-recent-title { font-size: 19px; }
.cxc .cxa-recent-all { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--cxc-soft); white-space: nowrap; }
.cxc .cxa-recent-all:hover { color: var(--cxc-text); }
.cxc .cxa-recent-all:hover span { text-decoration: underline; }
.cxa-recent-all .cxc-i { width: 15px; height: 15px; }
.cxa-orders { display: flex; flex-direction: column; }
.cxa-order-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px 20px; padding: 14px 0; border-top: 1px solid var(--cxc-line); }
.cxa-order-row:first-child { border-top: 0; }
.cxa-order-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cxa-order-id { font-size: 15px; font-weight: 600; }
.cxa-order-date { font-size: 13px; color: var(--cxc-muted); }
.cxa-order-status { display: inline-flex; align-items: center; padding: 4px 11px; background: var(--cxc-panel); border-radius: 999px; font-size: 13px; white-space: nowrap; }
.cxa-order-total { font-size: 15px; font-weight: 700; white-space: nowrap; }
.cxc .cxa-order-view { height: 38px; padding: 0 14px; font-size: 14px; }
.cxa-recent-empty { padding: 10px 0 4px; font-size: 15px; color: var(--cxc-soft); }
.cxa-recent-empty a { color: var(--cxc-text); font-weight: 600; text-decoration: underline; }
.cxa-recent-empty a:hover { text-decoration: none; }

/* ── Κέλυφος εσωτερικών σελίδων ────────────────────────── */
.cxa-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; align-items: start; }
.cxa-layout--single { grid-template-columns: minmax(0, 1fr); }
.cxa-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cxa-main .cxc-notice { margin-bottom: 0; }

.cxa-menu { display: flex; flex-direction: column; gap: 4px; padding: 10px; background: var(--cxc-field); border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius); }
.cxa-me { display: flex; align-items: center; gap: 12px; padding: 8px 10px 14px; margin-bottom: 4px; border-bottom: 1px solid var(--cxc-line); }
.cxa-avatar { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; background: var(--cxc-panel); color: var(--cxc-text); border-radius: 50%; font-size: 16px; font-weight: 700; }
.cxa-me-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cxa-me-name { font-size: 14px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.cxa-me-email { font-size: 12px; color: var(--cxc-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxa-menu-list { display: flex; flex-direction: column; gap: 2px; }
.cxc .cxa-menu-link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--cxc-radius-sm); font-size: 14px; color: var(--cxc-text); transition: background-color 0.15s ease, color 0.15s ease; }
.cxc .cxa-menu-link:hover { background: var(--cxc-panel); }
.cxc .cxa-menu-link.is-active { background: var(--cxc-accent); color: var(--cxc-accent-text); font-weight: 600; }
.cxa-menu-link .cxc-i { width: 17px; height: 17px; stroke-width: 1.75; }
.cxa-menu-more { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--cxc-line); }
.cxa-menu-more-title { display: block; padding: 4px 12px 6px; font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cxc-muted); }
.cxa-menu-foot { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--cxc-line); }
.cxc .cxa-menu-link--logout { color: var(--cxc-muted); }
.cxc .cxa-menu-link--logout:hover { color: var(--cxc-text); }

.cxa-tabs-wrap, .cxa-tabs-hint { display: none; }
.cxc .cxa-back { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-size: 14px; font-weight: 500; color: var(--cxc-soft); }
.cxc .cxa-back:hover { color: var(--cxc-text); }
.cxc .cxa-back:hover span { text-decoration: underline; }
.cxa-back .cxc-i { width: 16px; height: 16px; }
.cxa-back--m { display: none !important; }

.cxa-card { display: flex; flex-direction: column; gap: 22px; padding: 26px 28px 28px; background: var(--cxc-field); border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius); }
.cxa-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--cxc-line); }
.cxa-card-head-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cxc .cxa-title { font-size: 24px; letter-spacing: -0.01em; }
.cxa-card-intro { font-size: 14px; color: var(--cxc-muted); }
.cxc .cxa-addr-add { flex-shrink: 0; height: 40px; padding: 0 16px; font-size: 14px; }
.cxa-addr-add .cxc-i { width: 16px; height: 16px; }

/* ── Φόρμες ────────────────────────────────────────────── */
.cxa-form { display: flex; flex-direction: column; gap: 18px; }
.cxa-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cxa-row2--zip { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.cxa-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cxa-label { font-size: 14px; font-weight: 500; }
.cxa-optional { font-weight: 400; color: var(--cxc-muted); }
.cxa-help { font-size: 13px; color: var(--cxc-muted); }
.cxa-error { margin: 0; font-size: 13px; font-weight: 500; color: var(--cxc-error); }
.cxa .is-invalid .cxc-input { border-color: var(--cxc-error); box-shadow: 0 0 0 1px var(--cxc-error); }
.cxa .cxc-input { height: calc(var(--cxc-btn-h) + 4px); }
.cxa .cxa-textarea { height: auto; min-height: 96px; padding: 12px 14px; font: inherit; font-size: 15px; line-height: 1.45; color: var(--cxc-text); resize: vertical; }
.cxa .cxa-select {
  padding-right: 40px;
  background: var(--cxc-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6862' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color-scheme: light;
  cursor: pointer;
}
.cxa .cxa-select:disabled { color: var(--cxc-muted); cursor: not-allowed; }
.cxa-input-wrap { position: relative; }
.cxa-input-wrap .cxc-input { padding-right: 48px; }
.cxc .cxa-eye { position: absolute; top: 50%; right: 6px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; transform: translateY(-50%); color: var(--cxc-muted); border-radius: var(--cxc-radius-sm); }
.cxc .cxa-eye:hover { color: var(--cxc-text); background: var(--cxc-panel); }
.cxa-eye .cxc-i { width: 19px; height: 19px; }
.cxa-checks { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.cxa-check { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.45; cursor: pointer; }
.cxa-check input { flex-shrink: 0; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--cxc-accent); }
.cxa-custom { display: flex; flex-direction: column; gap: 18px; }
.cxa-upload { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.cxc .cxa-upload .cxc-btn { height: 40px; font-size: 14px; }
.cxa-upload-name { font-size: 14px; color: var(--cxc-soft); }
.cxa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; padding-top: 6px; }
.cxc .cxa-save { min-width: 180px; padding: 0 26px; }
.cxc .cxa-cancel { font-size: 15px; font-weight: 500; color: var(--cxc-soft); text-decoration: underline; }
.cxc .cxa-cancel:hover { color: var(--cxc-text); text-decoration: none; }

/* Διακόπτης (newsletter) */
.cxa-switch { position: relative; display: flex; align-items: flex-start; gap: 16px; cursor: pointer; }
.cxa-switch-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cxa-switch-ui { position: relative; flex-shrink: 0; width: 46px; height: 27px; margin-top: 1px; background: var(--cxc-input); border-radius: 14px; transition: background-color 0.15s ease; }
.cxa-switch-ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 21px; height: 21px; background: #ffffff; border-radius: 50%; transition: left 0.15s ease; }
.cxa-switch-input:checked + .cxa-switch-ui { background: var(--cxc-accent); }
.cxa-switch-input:checked + .cxa-switch-ui::after { left: 22px; }
.cxa-switch-input:focus-visible + .cxa-switch-ui { outline: 2px solid var(--cxc-accent); outline-offset: 2px; }
.cxa-switch-text { display: flex; flex-direction: column; gap: 3px; }
.cxa-switch-label { font-size: 16px; font-weight: 600; }
.cxa-switch-help { font-size: 14px; color: var(--cxc-muted); line-height: 1.45; }

/* ── Διευθύνσεις ───────────────────────────────────────── */
.cxa-addrs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cxa-addr { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius-md); transition: border-color 0.15s ease; }
.cxa-addr:hover { border-color: var(--cxc-input); }
.cxa-addr.is-default { border-color: var(--cxc-accent); box-shadow: inset 0 0 0 1px var(--cxc-accent); }
.cxa-addr-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cxa-addr-name { font-size: 15px; font-weight: 600; }
.cxa-addr-badge { display: inline-flex; align-items: center; flex-shrink: 0; padding: 3px 9px; background: var(--cxc-accent); color: var(--cxc-accent-text); border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.cxa-addr-text { flex-grow: 1; font-size: 14px; line-height: 1.55; color: var(--cxc-soft); }
.cxa-addr-actions { display: flex; gap: 18px; margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--cxc-line); font-size: 14px; font-weight: 500; }
.cxc .cxa-addr-edit { color: var(--cxc-text); }
.cxc .cxa-addr-delete { color: var(--cxc-muted); }
.cxc .cxa-addr-edit:hover, .cxc .cxa-addr-delete:hover { text-decoration: underline; }
.cxc .cxa-addr-delete:hover { color: var(--cxc-error); }
.cxa .cxc-empty { padding: 56px 24px; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 1199px) {
  .cxa-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
  .cxa-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cxa-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cxa-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .cxa-menu { display: none; }
  /* v0.34.2: η λωρίδα καρτελών είναι το μενού του κινητού — παίρνει φόντο/χρώμα από το πεδίο «Μενού λογαριασμού»·
     οι καρτέλες είναι διάφανες με ημιδιαφανές περίγραμμα και κληρονομούν το χρώμα κειμένου της λωρίδας */
  .cxa-tabs-wrap { position: relative; display: block; margin-bottom: 4px; }
  .cxa-tabs { display: flex; gap: 8px; padding: 6px 8px; border-radius: 12px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-padding: 0 8px; }
  .cxa-tabs::-webkit-scrollbar { display: none; }
  .cxc .cxa-tab { display: inline-flex; align-items: center; flex: 0 0 auto; height: 38px; padding: 0 15px; background: transparent; border: 1px solid rgba(128, 128, 128, 0.45); border-radius: 999px; font-size: 13px; font-weight: 500; color: inherit; white-space: nowrap; }
  .cxc .cxa-tab:hover { border-color: currentColor; }
  .cxc .cxa-tab.is-active { background: var(--cxc-accent); border-color: var(--cxc-accent); color: var(--cxc-accent-text); font-weight: 600; }
  .cxa-tabs-more { position: absolute; top: 0; right: 0; bottom: 0; display: none; align-items: center; padding: 0 8px 0 28px; pointer-events: none; background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.35) 55%); border-radius: 0 12px 12px 0; }
  .cxa-tabs-more .cxc-i, .cxa-tabs-more svg { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: rgba(0, 0, 0, 0.45); color: #fff; stroke-width: 2.2; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
  .cxa-tabs-wrap.is-scrollable .cxa-tabs-more { display: flex; }
  .cxa-tabs-wrap.is-end .cxa-tabs-more { display: none; }
  .cxa-tabs-hint { display: none; margin: 0 0 12px; font-size: 12px; color: var(--cxc-muted); }
  .cxa-tabs-wrap.is-scrollable + .cxa-tabs-hint { display: block; }
  .cxa-back--m { display: inline-flex !important; }
  .cxa-back--d { display: none !important; }
  .cxa-addrs { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .cxa { gap: 18px; }
  .cxc .cxa-welcome { font-size: 24px; }
  .cxa-stats { gap: 10px; }
  .cxa-stat { padding: 12px 14px; }
  .cxa-stat-number { font-size: 22px; }
  .cxa-tiles { gap: 10px; }
  .cxa-tile { padding: 18px 12px 16px; border-radius: var(--cxc-radius-md); }
  .cxa-tile-icon { width: 44px; height: 44px; }
  .cxa-tile-icon .cxc-i { width: 21px; height: 21px; }
  .cxa-tile-title { font-size: 15px; }
  .cxa-tile-desc { font-size: 12px; }
  .cxa-recent { padding: 16px; border-radius: var(--cxc-radius-md); }
  .cxa-order-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .cxa-order-status { grid-row: 2; justify-self: start; }
  .cxa-order-total { grid-column: 2; grid-row: 1; }
  .cxc .cxa-order-view { grid-column: 2; grid-row: 2; justify-self: end; height: 36px; padding: 0 12px; font-size: 13px; }
  .cxa-card { padding: 18px 16px 20px; border-radius: var(--cxc-radius-md); }
  .cxa-card-head { flex-direction: column; padding-bottom: 14px; }
  .cxc .cxa-title { font-size: 21px; }
  .cxa-row2, .cxa-row2--zip { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .cxa-actions { flex-direction: column; align-items: stretch; }
  .cxc .cxa-save { width: 100%; }
  .cxc .cxa-cancel { text-align: center; }
  .cxa-addr { padding: 16px; }
}

/* ══════════════════════════════════════════════════════════
   v0.17 — παραγγελίες, σελίδα παραγγελίας, επιστροφές, πόντοι
   ══════════════════════════════════════════════════════════ */

/* ── Λίστες ────────────────────────────────────────────── */
.cxa-list-count { margin: -8px 0 -6px; font-size: 13px; color: var(--cxc-muted); }
.cxa-card .cxa-orders .cxa-order-row:first-child { padding-top: 0; }
.cxa-card .cxa-orders .cxa-order-row:last-child { padding-bottom: 4px; }
.cxa-card-head-extra { flex-shrink: 0; }
.cxa .cxa-od-status { font-size: 14px; padding: 6px 14px; }

/* Σελιδοποίηση */
.cxa-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; padding-top: 6px; border-top: 1px solid var(--cxc-line); }
.cxa-pager-text { font-size: 13px; color: var(--cxc-muted); }
.cxa-pager-links { display: flex; align-items: center; gap: 6px; }
.cxc .cxa-pager-link { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius-sm); font-size: 14px; font-weight: 500; color: var(--cxc-text); transition: background-color 0.15s ease, border-color 0.15s ease; }
.cxc a.cxa-pager-link:hover { border-color: var(--cxc-input); background: var(--cxc-panel); }
.cxc .cxa-pager-link.is-active { background: var(--cxc-accent); border-color: var(--cxc-accent); color: var(--cxc-accent-text); font-weight: 600; }
.cxc .cxa-pager-link.is-disabled { color: var(--cxc-muted); opacity: 0.45; }
.cxa-pager-gap { padding: 0 2px; color: var(--cxc-muted); }

/* ── Ενότητες σελίδας παραγγελίας ─────────────────────── */
.cxc .cxa-od-section-title { margin: 0 0 14px; font-size: 17px; font-weight: 600; }

/* Ιστορικό (timeline) */
.cxa-timeline { display: flex; flex-direction: column; }
.cxa-tl { display: flex; flex-direction: column; }
.cxa-tl-item { position: relative; display: flex; gap: 16px; padding: 0 0 18px 0; }
.cxa-tl-item::before { content: ""; position: absolute; top: 18px; bottom: -4px; left: 7px; width: 2px; background: var(--cxc-line); }
.cxa-tl-item:last-child { padding-bottom: 4px; }
.cxa-tl-item:last-child::before { display: none; }
.cxa-tl-dot { position: relative; z-index: 1; flex-shrink: 0; width: 16px; height: 16px; margin-top: 2px; background: var(--cxc-field); border: 2px solid var(--cxc-input); border-radius: 50%; }
.cxa-tl-item.is-current .cxa-tl-dot { background: var(--cxc-accent); border-color: var(--cxc-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--cxc-accent) 18%, transparent); }
.cxa-tl-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cxa-tl-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cxa-tl-status { font-size: 15px; font-weight: 500; color: var(--cxc-soft); }
.cxa-tl-item.is-current .cxa-tl-status { font-weight: 700; color: var(--cxc-text); }
.cxa-tl-date { font-size: 13px; color: var(--cxc-muted); }
.cxa-tl-comment { padding: 10px 14px; background: var(--cxc-panel); border-radius: var(--cxc-radius-sm); font-size: 14px; line-height: 1.5; color: var(--cxc-soft); }
.cxa-tl-empty { font-size: 14px; color: var(--cxc-muted); }

/* Προϊόντα παραγγελίας */
.cxa-ops { display: flex; flex-direction: column; }
.cxa-op { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid var(--cxc-line); }
.cxa-op:first-child { border-top: 0; padding-top: 0; }
.cxa-op-thumb { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 72px; height: 72px; overflow: hidden; background: var(--cxc-thumb); border-radius: var(--cxc-radius-sm); }
.cxa-op-thumb img { width: 100%; height: 100%; object-fit: contain; }
.cxa-op-info { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; min-width: 0; }
.cxa-op-name { font-size: 15px; font-weight: 600; line-height: 1.35; }
a.cxa-op-name:hover { text-decoration: underline; }
.cxa-op-meta { display: flex; flex-wrap: wrap; column-gap: 0; font-size: 13px; color: var(--cxc-muted); }
.cxa-op-meta span + span::before { content: "·"; margin: 0 6px; }
.cxa-op-actions { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 6px; }
.cxc .cxa-op-reorder, .cxc .cxa-op-return { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; font-size: 13px; font-weight: 500; color: var(--cxc-soft); }
.cxc .cxa-op-reorder:hover, .cxc .cxa-op-return:hover { color: var(--cxc-text); }
.cxc .cxa-op-reorder:hover span, .cxc .cxa-op-return:hover span { text-decoration: underline; }
.cxa-op-actions .cxc-i { width: 15px; height: 15px; }
.cxa-op-prices { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; gap: 2px; text-align: right; }
.cxa-op-total { font-size: 15px; font-weight: 700; white-space: nowrap; }
.cxa-op-price { font-size: 13px; color: var(--cxc-muted); white-space: nowrap; }

.cxa-od-vouchers { margin-top: 18px; }
.cxa-od-voucher { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-top: 1px solid var(--cxc-line); font-size: 14px; }

.cxa-od-totals { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; margin-left: auto; width: 100%; max-width: 360px; padding: 16px 18px; background: var(--cxc-panel); border-radius: var(--cxc-radius-md); }
.cxa-od-total-row { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--cxc-soft); }
.cxa-od-total-row > span:last-child { white-space: nowrap; color: var(--cxc-text); }
.cxa-od-grand { margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--cxc-line); font-size: 15px; font-weight: 600; color: var(--cxc-text); }
.cxa-od-grand strong { font-size: 20px; font-weight: 700; white-space: nowrap; }

.cxa-od-boxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cxa-od-box { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius-md); }
.cxa-od-comment { grid-column: 1 / -1; }
.cxc .cxa-od-box-title { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.cxa-od-box-title .cxc-i { width: 17px; height: 17px; color: var(--cxc-muted); }
.cxa-od-box-text { font-size: 14px; line-height: 1.55; color: var(--cxc-soft); }
.cxa-od-box-method { font-size: 13px; color: var(--cxc-muted); }
.cxa-od-box-method strong { font-weight: 600; color: var(--cxc-text); }

.cxa-actions--links { padding-top: 0; }
.cxc .cxa-od-back, .cxc .cxa-rt-back { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--cxc-soft); }
.cxc .cxa-od-back:hover, .cxc .cxa-rt-back:hover { color: var(--cxc-text); }
.cxc .cxa-od-back:hover span, .cxc .cxa-rt-back:hover span { text-decoration: underline; }
.cxa-od-back .cxc-i, .cxa-rt-back .cxc-i { width: 16px; height: 16px; }

/* ── Επιστροφές ────────────────────────────────────────── */
.cxa-returns .cxa-order-row { grid-template-columns: minmax(0, 1fr) auto auto; }
.cxa-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; }
.cxa-dl-row { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cxa-dl-row--full { grid-column: 1 / -1; }
.cxa-dl-dt { font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cxc-muted); }
.cxa-dl-dd { margin: 0; font-size: 15px; line-height: 1.5; }
.cxa-muted { color: var(--cxc-muted); }
.cxc .cxa-form-section-title { margin: 6px 0 -6px; font-size: 16px; font-weight: 600; }
.cxa-form .cxa-form-section-title:first-child { margin-top: 0; }
.cxa-captcha .form-group { margin: 0; }

/* ── Πόντοι ────────────────────────────────────────────── */
.cxa-rw-total { display: flex; align-items: center; gap: 18px; padding: 20px 22px; background: var(--cxc-panel); border-radius: var(--cxc-radius-md); }
.cxa-rw-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 56px; height: 56px; background: var(--cxc-accent); color: var(--cxc-accent-text); border-radius: 50%; }
.cxa-rw-icon .cxc-i { width: 26px; height: 26px; }
.cxa-rw-total-text { display: flex; flex-direction: column; gap: 2px; }
.cxa-rw-number { font-size: 32px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.1; }
.cxa-rw-label { font-size: 14px; color: var(--cxc-muted); }
.cxa-rw-rows { display: flex; flex-direction: column; }
.cxa-rw-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--cxc-line); }
.cxa-rw-row:first-child { border-top: 0; padding-top: 0; }
.cxa-rw-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cxa-rw-desc { font-size: 15px; font-weight: 500; }
.cxa-rw-desc a:hover { text-decoration: underline; }
.cxa-rw-date { font-size: 13px; color: var(--cxc-muted); }
.cxa-rw-points { flex-shrink: 0; padding: 4px 12px; border-radius: 999px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.cxa-rw-points.is-plus { background: var(--cxc-success-bg); color: var(--cxc-success); }
.cxa-rw-points.is-minus { background: var(--cxc-panel); color: var(--cxc-soft); }
.cxa-rw-empty { font-size: 15px; color: var(--cxc-soft); }

/* ── Responsive (φάση Β) ───────────────────────────────── */
@media (max-width: 767px) {
  .cxa-card-head-extra { align-self: flex-start; }
  .cxa-pager { flex-direction: column; align-items: stretch; }
  .cxa-pager-links { justify-content: center; }
  .cxa-returns .cxa-order-row { grid-template-columns: minmax(0, 1fr) auto; }
  .cxa-returns .cxa-order-status { grid-row: 2; }
  /* Προϊόν παραγγελίας: εικόνα | όνομα+στοιχεία | ποσά, και οι ενέργειες σε δική τους γραμμή */
  .cxa-op { display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; gap: 2px 12px; }
  .cxa-op-thumb { grid-row: 1 / 3; width: 60px; height: 60px; }
  .cxa-op-info { display: contents; }
  .cxa-op-name { grid-column: 2; grid-row: 1; }
  .cxa-op-meta { grid-column: 2; grid-row: 2; flex-direction: column; gap: 1px; }
  .cxa-op-meta span + span::before { content: none; margin: 0; }
  .cxa-op-actions { grid-column: 1 / 4; grid-row: 3; gap: 4px 16px; margin-top: 6px; }
  .cxa-op-prices { grid-column: 3; grid-row: 1 / 3; }
  .cxa-op-prices { align-items: flex-end; }
  .cxa-od-totals { max-width: none; }
  .cxa-od-boxes { grid-template-columns: minmax(0, 1fr); }
  .cxa-dl { grid-template-columns: minmax(0, 1fr); }
  .cxa-rw-total { padding: 16px; }
  .cxa-rw-number { font-size: 28px; }
}

/* ══════════════════════════════════════════════════════════
   v0.18 — σύνδεση, εγγραφή, ξέχασα τον κωδικό, νέος κωδικός,
   αποσύνδεση, «ο λογαριασμός δημιουργήθηκε» (χωρίς κέλυφος)
   ══════════════════════════════════════════════════════════ */
.cxa-auth { display: flex; flex-direction: column; gap: 16px; width: 100%; max-width: 960px; margin: 0 auto; }
.cxa-auth--single { max-width: 520px; }
.cxa-auth--register { max-width: 760px; }
.cxa-auth .cxc-notice { margin-bottom: 0; }
.cxa-auth-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.cxa-auth--single .cxa-auth-grid { grid-template-columns: minmax(0, 1fr); }
.cxa-auth-card { display: flex; flex-direction: column; gap: 12px; padding: 34px 36px 36px; background: var(--cxc-field); border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius); }
.cxa-auth-card--new { background: var(--cxc-panel); }
.cxa-auth-card--center { align-items: center; text-align: center; }
.cxa-auth-icon { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-bottom: 6px; background: var(--cxc-panel); color: var(--cxc-text); border-radius: 50%; }
.cxa-auth-card--new .cxa-auth-icon { background: var(--cxc-field); }
.cxa-auth-icon .cxc-i { width: 25px; height: 25px; stroke-width: 1.6; }
.cxa-auth-icon--done { width: 68px; height: 68px; background: var(--cxc-success-bg); color: var(--cxc-success); }
.cxa-auth-icon--done .cxc-i { width: 34px; height: 34px; stroke-width: 1.8; }
.cxc .cxa-auth-title { font-size: 26px; letter-spacing: -0.01em; }
.cxa-auth-intro, .cxa-auth-text { font-size: 15px; line-height: 1.5; color: var(--cxc-muted); }
.cxa-auth-intro a, .cxa-auth-text a { color: var(--cxc-text); font-weight: 600; text-decoration: underline; }
.cxa-auth-intro a:hover, .cxa-auth-text a:hover { text-decoration: none; }
.cxa-auth-text p { margin: 0 0 10px; }
.cxa-auth-text p:last-child { margin-bottom: 0; }
.cxa-auth-card .cxa-form { margin-top: 10px; }
.cxa-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cxc .cxa-auth-forgot { font-size: 13px; font-weight: 500; color: var(--cxc-soft); text-decoration: underline; white-space: nowrap; }
.cxc .cxa-auth-forgot:hover { color: var(--cxc-text); text-decoration: none; }
.cxc .cxa-auth-submit { width: 100%; margin-top: 6px; }
.cxa-auth-benefits { display: flex; flex-direction: column; gap: 10px; margin: 6px 0 10px; padding: 0; list-style: none; }
.cxa-auth-benefits li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.45; }
.cxa-auth-benefits .cxc-i { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; color: var(--cxc-success); stroke-width: 2.2; }
.cxc .cxa-auth-register { width: 100%; margin-top: auto; }
.cxa-auth-foot { display: flex; justify-content: center; padding-top: 4px; }
.cxa-auth-actions { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 100%; max-width: 320px; margin-top: 10px; }
.cxc .cxa-auth-back { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--cxc-soft); }
.cxc .cxa-auth-back:hover { color: var(--cxc-text); }
.cxc .cxa-auth-back:hover span { text-decoration: underline; }
.cxa-auth-back .cxc-i { width: 16px; height: 16px; }

/* Εγγραφή */
.cxa-auth--register .cxa-form-section-title { margin-top: 12px; }
.cxa-auth--register .cxa-form .cxa-form-section-title:first-child { margin-top: 0; }
.cxa-checks--column { flex-direction: column; gap: 12px; padding-top: 4px; }
.cxa-check-text a { color: var(--cxc-text); font-weight: 600; text-decoration: underline; }
.cxa-check-text a:hover { text-decoration: none; }
.cxa-custom-field[hidden] { display: none !important; }
.cxa-custom-field.is-required .cxa-optional { display: none; }

@media (max-width: 991px) {
  .cxa-auth-grid { grid-template-columns: minmax(0, 1fr); }
  .cxa-auth { max-width: 560px; }
}

@media (max-width: 767px) {
  .cxa-auth-card { gap: 10px; padding: 24px 18px 26px; border-radius: var(--cxc-radius-md); }
  .cxa-auth-icon { width: 48px; height: 48px; }
  .cxa-auth-icon .cxc-i { width: 22px; height: 22px; }
  .cxc .cxa-auth-title { font-size: 22px; }
  .cxa-auth-intro, .cxa-auth-text { font-size: 14px; }
  .cxa-auth-actions { max-width: none; }
}

/* ══════════════════════════════════════════════════════════
   v0.19 — λήψεις, συναλλαγές, επαναλαμβανόμενες πληρωμές,
   συνεργάτης, σύνδεσμοι παραπομπής
   ══════════════════════════════════════════════════════════ */

/* ── Λήψεις ────────────────────────────────────────────── */
.cxa-downloads { display: flex; flex-direction: column; }
.cxa-file { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-top: 1px solid var(--cxc-line); }
.cxa-file:first-child { border-top: 0; padding-top: 0; }
.cxa-file:last-child { padding-bottom: 4px; }
.cxa-file-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 46px; height: 46px; background: var(--cxc-panel); color: var(--cxc-text); border-radius: var(--cxc-radius-sm); }
.cxa-file-icon .cxc-i { width: 22px; height: 22px; stroke-width: 1.6; }
.cxa-file-main { display: flex; flex-direction: column; gap: 2px; flex-grow: 1; min-width: 0; }
.cxa-file-name { font-size: 15px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.cxa-file-meta { font-size: 13px; color: var(--cxc-muted); }
.cxc .cxa-file-button { flex-shrink: 0; height: 38px; padding: 0 14px; font-size: 14px; }
.cxa-file-button .cxc-i { width: 16px; height: 16px; }

/* ── Συναλλαγές ────────────────────────────────────────── */
.cxa-tr-empty { font-size: 15px; color: var(--cxc-soft); }

/* ── Επαναλαμβανόμενες πληρωμές ────────────────────────── */
.cxa-recurrings .cxa-order-row { grid-template-columns: minmax(0, 1fr) auto auto; }
.cxa-rc-transactions .cxa-rw-points { background: var(--cxc-panel); color: var(--cxc-text); }
.cxa-rc-actions { padding: 16px 18px; border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius-md); }
.cxa-rc-actions .btn, .cxa-rc-actions button { font: inherit; }
.cxc .cxa-rc-back { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--cxc-soft); }
.cxc .cxa-rc-back:hover { color: var(--cxc-text); }
.cxc .cxa-rc-back:hover span { text-decoration: underline; }
.cxa-rc-back .cxc-i { width: 16px; height: 16px; }

/* ── Συνεργάτης ────────────────────────────────────────── */
.cxc .cxa-af-tracking { flex-shrink: 0; height: 40px; padding: 0 16px; font-size: 14px; }
.cxa-af-tracking .cxc-i { width: 16px; height: 16px; }
.cxa-af-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cxa-af-option { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 14px; border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius-md); font-size: 15px; font-weight: 500; cursor: pointer; transition: border-color 0.15s ease, background-color 0.15s ease; }
.cxa-af-option:hover { border-color: var(--cxc-input); }
.cxa-af-option.is-checked { border-color: var(--cxc-accent); box-shadow: inset 0 0 0 1px var(--cxc-accent); }
.cxa-af-option input { flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: var(--cxc-accent); }
.cxa-af-fields { display: flex; flex-direction: column; gap: 18px; }
.cxa-af-fields[hidden] { display: none !important; }

/* ── Σύνδεσμοι παραπομπής ──────────────────────────────── */
.cxa-tracking { gap: 22px; }
.cxa-tk-code, .cxa-tk-generator { display: flex; flex-direction: column; gap: 18px; }
.cxa-tk-generator { padding-top: 22px; border-top: 1px solid var(--cxc-line); }
.cxa-tk-copy-wrap { display: flex; gap: 10px; }
.cxa-tk-copy-wrap .cxc-input { flex-grow: 1; min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; }
.cxc .cxa-tk-copy { flex-shrink: 0; height: calc(var(--cxc-btn-h) + 4px); padding: 0 16px; font-size: 14px; }
.cxa-tk-copy .cxc-i { width: 16px; height: 16px; }
.cxc .cxa-tk-copy.is-copied { border-color: var(--cxc-success); color: var(--cxc-success); }
.cxa-tk-search { position: relative; }
.cxa-tk-results { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 5; margin: 0; padding: 6px; list-style: none; background: var(--cxc-field); border: 1px solid var(--cxc-line); border-radius: var(--cxc-radius-md); box-shadow: 0 10px 30px rgba(21, 21, 20, 0.12); }
.cxa-tk-results[hidden] { display: none; }
.cxc .cxa-tk-item { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: var(--cxc-radius-sm); background: transparent; color: var(--cxc-text); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.cxc .cxa-tk-item:hover { background: var(--cxc-panel); }
.cxa-tk-none { padding: 10px 12px; font-size: 14px; color: var(--cxc-muted); }
.cxc .cxa-tk-back { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--cxc-soft); }
.cxc .cxa-tk-back:hover { color: var(--cxc-text); }
.cxc .cxa-tk-back:hover span { text-decoration: underline; }
.cxa-tk-back .cxc-i { width: 16px; height: 16px; }

@media (max-width: 767px) {
  .cxa-file { flex-wrap: wrap; gap: 10px 12px; }
  .cxa-file-icon { width: 40px; height: 40px; }
  .cxc .cxa-file-button { width: 100%; justify-content: center; }
  .cxa-recurrings .cxa-order-row { grid-template-columns: minmax(0, 1fr) auto; }
  .cxa-recurrings .cxa-order-status { grid-row: 2; }
  .cxa-af-options { grid-template-columns: minmax(0, 1fr); }
  .cxa-tk-copy-wrap { flex-direction: column; }
  .cxc .cxa-tk-copy { width: 100%; }
}

/* ── v0.20: κλειδωμένη ταυτότητα (SSO) στα «Στοιχεία μου» ── */
.cxa-field.is-locked .cxc-input { color: var(--cxc-muted); background: var(--cxc-panel); cursor: default; }
.cxa-field.is-locked .cxc-input:focus { box-shadow: none; border-color: var(--cxc-line); }
.cxa-lock { position: absolute; top: 50%; right: 14px; display: flex; transform: translateY(-50%); color: var(--cxc-muted); pointer-events: none; }
.cxa-lock .cxc-i { width: 16px; height: 16px; }
.cxa-identity-note { margin-top: -6px; }

/* v0.38.0: extras γραμμής παραγγελίας από πακέτα (π.χ. εικόνες προσωποποίησης) */
.cxa-op-extras { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cxa-op-extras img { max-width: 72px; max-height: 72px; border: 1px solid var(--cxc-line, #e5e7eb); border-radius: 6px; background: #fff; }
