/* ==========================================================================
   Line Cash — Σύνδεση / Εγγραφή / Πληρωμή
   Ίδια χρώματα, γραμματοσειρά και «γραμμές» με την αρχική σελίδα (index.html)
   ========================================================================== */

:root{
  --night:#0A1633; --night-2:#12224A; --ink:#101A33; --muted:#5A6583; --line:#DCE3F2; --paper:#FFFFFF; --bg:#F6F8FD;
  --mint:#10B981; --blue:#1D4ED8; --sky:#0EA5E9; --amber:#FFB020; --rose:#F0506E;
  --t-mint:#E8F8F1; --t-blue:#E7F5FD; --t-rose:#FDECEF;
  --field:#FFFFFF; --soft:#F9FBFE;
  --sans:"Commissioner", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --radius:20px;
  box-sizing:border-box;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --ink:#E8ECF7; --muted:#A5AFCB; --line:#26345C; --paper:#0F1C3D; --bg:#0B1532;
  --t-mint:#0D2B2C; --t-blue:#0D2440; --t-rose:#3A1626; --field:#0B1532; --soft:#0D1A3A; } }
:root[data-theme="dark"]{
  --ink:#E8ECF7; --muted:#A5AFCB; --line:#26345C; --paper:#0F1C3D; --bg:#0B1532;
  --t-mint:#0D2B2C; --t-blue:#0D2440; --t-rose:#3A1626; --field:#0B1532; --soft:#0D1A3A; }

*,*::before,*::after{ box-sizing:inherit; }
html{ min-height:100%; }
body{
  margin:0; min-height:100vh; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; font-feature-settings:"tnum" 1;
}
a{ color:inherit; }
button, input, select{ font:inherit; }
button, a{ -webkit-tap-highlight-color:transparent; }
:focus-visible{ outline:3px solid var(--amber); outline-offset:3px; border-radius:6px; }

/* ---------- Λογότυπο (ίδιο με την αρχική) ---------- */
.logo{ display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
  font-weight:800; font-size:21px; letter-spacing:-.02em; text-decoration:none; color:#fff; }
.logo svg{ width:34px; height:22px; flex:none; }

/* ---------- Σκούρα ζώνη κορυφής (όπως το hero) ---------- */
.lc-band{
  position:relative; color:#fff; overflow:hidden;
  background:
    radial-gradient(700px 380px at 8% 0%, rgba(29,78,216,.40), transparent 60%),
    radial-gradient(620px 360px at 95% 10%, rgba(14,165,233,.38), transparent 62%),
    radial-gradient(700px 360px at 55% 130%, rgba(16,185,129,.30), transparent 60%),
    var(--night);
  padding:env(safe-area-inset-top,0px) 0 118px;
}
.site-top{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:76px; }
.site-top-actions{ display:flex; align-items:center; gap:14px; }
.site-top-actions .hint{ color:#9FB3DA; font-size:15px; }
.site-top-actions a.plain{ color:#fff; font-weight:700; text-decoration:none; font-size:15.5px; }
.site-top-actions a.plain:hover{ color:#7FE0C0; }

/* ---------- Σελίδα ---------- */
.page{ width:min(1200px, calc(100% - 48px)); margin:0 auto; }
.page-body{ position:relative; margin-top:-86px; padding-bottom:calc(40px + env(safe-area-inset-bottom,0px)); }

.topbar{ padding:22px 0 0; max-width:880px; margin:0 auto; }
.topbar > *{ max-width:760px; }
.topbar h1{ margin:6px 0 10px; font-size:clamp(32px, 4.6vw, 52px); line-height:1.03; letter-spacing:-.035em; font-weight:900; }
.topbar p{ margin:0; color:#C9D3F0; font-size:18px; max-width:56ch; }
.eyebrow{ display:inline-block; font-size:15px; font-weight:700; letter-spacing:.01em; color:#7FE0C0; }

/* ---------- Κάρτες ---------- */
.card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 30px 70px -38px rgba(16,26,51,.45); padding:32px;
}
.card-heading{ display:flex; align-items:flex-start; gap:16px; margin-bottom:26px; }
.card-heading h2{ margin:0 0 4px; font-size:26px; line-height:1.15; letter-spacing:-.02em; font-weight:800; }
.card-heading p{ margin:0; color:var(--muted); font-size:16px; }
.number{
  display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border-radius:14px;
  background:linear-gradient(135deg, var(--blue), var(--sky) 60%, var(--mint));
  color:#fff; font-size:17px; font-weight:900;
}

/* ---------- Διάταξη ---------- */
.auth-layout{ display:block; max-width:880px; margin:0 auto; }
.registration-area{ min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }

/* ---------- Πρόοδος: οι στάσεις της «γραμμής» ---------- */
.wizard-progress{
  display:flex; align-items:center; padding:18px 22px; border-radius:var(--radius);
  background:var(--paper); border:1px solid var(--line); box-shadow:0 20px 50px -34px rgba(16,26,51,.5);
}
.progress-step{ display:flex; align-items:center; gap:10px; color:var(--muted); min-width:0; flex:0 1 auto; }
.progress-step strong{ white-space:nowrap; }
.progress-step > span{
  display:grid; place-items:center; width:34px; height:34px; border-radius:50%; flex:none;
  background:var(--paper); border:4px solid var(--line); color:var(--muted); font-size:13px; font-weight:800;
}
.progress-step strong{ display:block; font-size:15px; color:inherit; font-weight:700; }
.progress-step small{ display:block; font-size:13px; line-height:1.3; color:var(--muted); max-width:16ch; }
.progress-step.active{ color:var(--ink); }
.progress-step.active > span{ background:var(--night); border-color:var(--sky); color:#fff; box-shadow:0 0 0 5px rgba(14,165,233,.16); }
.progress-step.complete{ color:var(--ink); }
.progress-step.complete > span{ background:var(--mint); border-color:var(--mint); color:transparent; position:relative; }
.progress-step.complete > span::after{
  content:""; position:absolute; left:9px; top:4px; width:7px; height:12px;
  border:solid #fff; border-width:0 3px 3px 0; transform:rotate(45deg);
}
.progress-line{ flex:1; height:6px; min-width:20px; margin:0 12px; border-radius:6px; background:var(--line); }
.progress-line.complete{ background:linear-gradient(90deg, var(--mint), var(--sky)); }

/* ---------- Φόρμες ---------- */
form{ margin:0; }
label{ display:block; margin-bottom:18px; color:var(--ink); font-size:15px; font-weight:600; }
input, select{
  display:block; width:100%; margin-top:7px; padding:13px 14px;
  border:1.5px solid var(--line); border-radius:12px; background:var(--field); color:var(--ink);
  font-size:16px; font-weight:400; outline:none; transition:border-color .15s ease, box-shadow .15s ease;
}
input[type="radio"], input[type="checkbox"]{ display:inline-block; width:auto; margin:0; accent-color:var(--blue); }
input::placeholder{ color:#98A2BD; }
input:focus, select:focus{ border-color:var(--sky); box-shadow:0 0 0 4px rgba(14,165,233,.18); }
input:invalid:not(:placeholder-shown):not(:focus){ border-color:var(--rose); }
.field-help{ display:block; margin-top:6px; color:var(--muted); font-size:13.5px; font-weight:400; }
p.field-help{ margin:0 0 14px; }
.two-col{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 16px; }
.section-label{
  display:flex; align-items:center; gap:12px; margin:28px 0 14px;
  color:var(--ink); font-size:17px; font-weight:800; letter-spacing:-.01em;
}
.section-label::after{ content:""; flex:1; height:1px; background:var(--line); }
form > .section-label:first-of-type{ margin-top:0; }

.password-wrap{ position:relative; }
.password-wrap input{ padding-right:96px; }
.password-toggle{
  position:absolute; top:50%; right:8px; transform:translateY(-50%); margin-top:3px;
  padding:7px 10px; border:0; border-radius:8px; background:transparent;
  color:var(--blue); cursor:pointer; font-size:14px; font-weight:700;
}
.password-toggle:hover{ background:var(--t-blue); }

/* ---------- Κουμπιά (ίδια λογική με .btn της αρχικής) ---------- */
.button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px;
  padding:13px 22px; border:0; border-radius:12px; text-decoration:none; cursor:pointer;
  font-size:16px; font-weight:700; transition:filter .12s ease, background .12s ease, box-shadow .12s ease;
}
.button-primary{ background:var(--amber); color:#1A1400; }
.button-primary:hover{ filter:brightness(1.06); }
.button-secondary{ background:var(--paper); color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--line); }
.button-secondary:hover{ box-shadow:inset 0 0 0 1.5px var(--sky); }
.button-danger{ background:var(--paper); color:var(--rose); box-shadow:inset 0 0 0 1.5px var(--rose); }
.button-dark{ background:var(--night); color:#fff; }
.lc-band .button-secondary, .button-ghost{ background:transparent; color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.4); }
.lc-band .button-secondary:hover, .button-ghost:hover{ box-shadow:inset 0 0 0 2px #fff; }
.site-top .button{ min-height:0; padding:10px 18px; font-size:15px; white-space:nowrap; }
.button.full{ width:100%; }

.form-footer{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:28px; flex-wrap:wrap; }
.step-description{ color:var(--muted); font-size:14px; font-weight:600; }
.bottom-step{ margin-top:18px; }

/* ---------- Μηνύματα ---------- */
.alert{ margin-bottom:18px; padding:15px 18px 15px 20px; border-radius:14px; font-size:15px; font-weight:500;
  border-left:5px solid; }
.alert-error{ background:var(--t-rose); border-color:var(--rose); color:var(--ink); }
.alert-success{ background:var(--t-mint); border-color:var(--mint); color:var(--ink); }
.page-body > .alert{ box-shadow:0 20px 50px -34px rgba(16,26,51,.5); max-width:880px; margin-left:auto; margin-right:auto; }

/* ---------- Καταστήματα ---------- */
.store-list{ display:grid; gap:10px; }
.store-item{ display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line);
  border-left:5px solid var(--mint); border-radius:14px; background:var(--soft); }
.store-item:nth-child(3n+2){ border-left-color:var(--sky); }
.store-item:nth-child(3n+3){ border-left-color:var(--blue); }
.store-icon{ display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:12px; background:var(--t-blue); font-size:18px; }
.store-details{ flex:1; min-width:0; }
.store-details strong{ display:block; font-size:16px; }
.store-details code, .store-header code{ display:inline-block; margin-top:2px; color:var(--muted); font-size:13.5px;
  font-family:var(--sans); font-weight:600; letter-spacing:.06em; }
.store-meta{ color:var(--muted); font-size:13.5px; }
.icon-button{ display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:10px;
  background:transparent; cursor:pointer; font-size:22px; line-height:1; color:var(--muted); }
.icon-button.danger:hover{ background:var(--t-rose); color:var(--rose); }
.add-store-form{ padding:20px; border:1.5px dashed var(--line); border-radius:16px; background:var(--soft); }
.divider{ height:1px; margin:28px 0; background:var(--line); }

.empty-state{ display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:150px;
  padding:26px; border:1.5px dashed var(--line); border-radius:16px; text-align:center; }
.empty-icon{ display:grid; place-items:center; width:48px; height:48px; margin-bottom:10px; border-radius:14px; background:var(--t-blue); font-size:22px; }
.empty-state strong{ font-size:16px; }
.empty-state p{ margin:4px 0 0; color:var(--muted); font-size:14.5px; }

/* ---------- Χρήστες ανά κατάστημα ---------- */
.store-users-section{ margin-bottom:22px; padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--soft); }
.store-header{ display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.store-header h3{ margin:0; font-size:18px; letter-spacing:-.01em; }
.user-list{ display:grid; gap:8px; margin-top:14px; }
.user-item{ display:flex; align-items:center; gap:12px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.avatar{ display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px;
  background:var(--night); color:#fff; font-size:13px; font-weight:800; }
.user-details{ flex:1; min-width:0; }
.user-details strong{ display:block; font-size:15px; }
.user-details span{ display:block; overflow:hidden; margin-top:1px; color:var(--muted); font-size:13.5px; text-overflow:ellipsis; white-space:nowrap; }
.role-badge{ display:inline-flex; align-items:center; padding:4px 10px; border-radius:20px; font-size:13px; font-weight:700; }
.role-admin{ background:var(--t-blue); color:var(--blue); }
.role-manager{ background:#FFF4DC; color:#8A5A00; }
.role-employee{ background:var(--t-mint); color:#0E7C5B; }
.add-user-form{ margin-top:16px; padding-top:16px; border-top:1.5px dashed var(--line); }
.add-user-title{ margin-bottom:14px; font-size:16px; font-weight:800; }

/* ---------- Σύνοψη (όπως το «Όλα μαζί» της αρχικής) ---------- */
.wizard-summary{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:24px;
  padding:20px 22px; border-radius:18px; background:var(--night); color:#fff; }
.wizard-summary > div{ padding-right:12px; border-right:1px solid rgba(255,255,255,.14); min-width:0; }
.wizard-summary > div:last-child{ border-right:0; }
.wizard-summary span{ display:block; margin-bottom:2px; color:#9FB3DA; font-size:14px; }
.wizard-summary strong{ display:block; overflow:hidden; font-size:24px; font-weight:900; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap; }

/* ---------- Πληρωμή (βήμα 4) ---------- */
.demo-plans{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-top:14px; }
.demo-plan{ display:flex; align-items:center; gap:12px; margin:0; padding:18px; border:1.5px solid var(--line);
  border-radius:16px; cursor:pointer; background:var(--paper); transition:border-color .15s, box-shadow .15s; }
.demo-plan:hover{ border-color:var(--sky); }
.demo-plan:has(input:checked){ border-color:var(--sky); box-shadow:0 0 0 4px rgba(14,165,233,.16); background:var(--t-blue); }
.demo-plan span{ display:flex; flex-direction:column; gap:2px; }
.demo-plan strong{ font-size:17px; }
.demo-plan small{ color:var(--muted); font-size:14px; font-weight:500; }
.payment-summary{ display:flex; flex-direction:column; gap:12px; }
.payment-row{ display:flex; justify-content:space-between; align-items:center; gap:20px; }
.payment-row span{ color:var(--muted); }
.payment-total{ margin-top:4px; padding:18px 20px; border-radius:16px; background:var(--night); color:#fff; }
.payment-total span{ color:#9FB3DA; }
.payment-total strong{ font-size:26px; font-weight:900; color:#5BE3B8; }

/* ---------- Υποσέλιδο ---------- */
.lc-footer{ margin-top:40px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:14.5px;
  display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.lc-footer .logo{ color:var(--ink); font-size:17px; }
.lc-footer a{ font-weight:700; text-decoration:none; }
.lc-footer nav{ display:flex; gap:18px; }

/* ==========================================================================
   ΣΥΝΔΕΣΗ: δύο μισά, αριστερά η «γραμμή», δεξιά η φόρμα
   ========================================================================== */
.login-shell{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); min-height:100vh; }
.login-aside{
  position:relative; overflow:hidden; color:#fff; display:flex; flex-direction:column; justify-content:space-between;
  padding:calc(28px + env(safe-area-inset-top,0px)) 56px calc(40px + env(safe-area-inset-bottom,0px));
  background:
    radial-gradient(700px 460px at 10% 5%, rgba(29,78,216,.42), transparent 60%),
    radial-gradient(600px 420px at 100% 30%, rgba(14,165,233,.38), transparent 62%),
    radial-gradient(700px 460px at 40% 115%, rgba(16,185,129,.34), transparent 60%),
    var(--night);
}
.login-aside h1{ margin:0 0 16px; font-size:clamp(38px, 4.6vw, 64px); line-height:1; letter-spacing:-.04em; font-weight:900; max-width:12ch; }
.login-aside .lede{ margin:0; color:#C9D3F0; font-size:19px; max-width:40ch; }

.mini-metro{ position:relative; margin:42px 0 0; padding:0; list-style:none; display:grid; gap:14px; max-width:420px; }
.mini-metro::before{ content:""; position:absolute; left:13px; top:16px; bottom:16px; width:6px; border-radius:6px;
  background:linear-gradient(180deg, var(--mint), var(--sky) 50%, #3B82F6); transform-origin:top; animation:lc-draw 1.1s cubic-bezier(.3,.7,.2,1) .15s both; }
@keyframes lc-draw{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
.mini-metro li{ position:relative; display:flex; align-items:center; gap:16px; }
.mini-metro i{ flex:none; width:32px; height:32px; border-radius:50%; background:var(--night); border:6px solid var(--c, var(--mint)); box-shadow:0 0 0 5px rgba(10,22,51,.9); }
.mini-metro div{ flex:1; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); }
.mini-metro b{ display:block; font-size:16px; }
.mini-metro span{ color:#9FB3DA; font-size:14px; }
@media (prefers-reduced-motion: reduce){ .mini-metro::before{ animation:none; } }
.login-aside .aside-foot{ color:#9FB3DA; font-size:14px; margin-top:32px; }

.login-main{ display:flex; flex-direction:column; padding:calc(22px + env(safe-area-inset-top,0px)) 48px calc(32px + env(safe-area-inset-bottom,0px)); }
.login-top{ display:flex; justify-content:flex-end; align-items:center; gap:16px; min-height:40px; }
.login-top .logo{ display:none; color:var(--ink); }
.back-link{ color:var(--muted); text-decoration:none; font-weight:600; font-size:15px; }
.back-link:hover{ color:var(--ink); }
.login-card{ width:100%; max-width:440px; margin:auto; padding:28px 0; }
.login-card h2{ margin:6px 0 8px; font-size:40px; line-height:1.05; letter-spacing:-.03em; font-weight:900; }
.login-card .sub{ margin:0 0 28px; color:var(--muted); font-size:17px; }
.login-card .eyebrow{ color:#0E7C5B; }
.login-card .button{ margin-top:6px; }
.auth-footer{ margin-top:24px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:15.5px; text-align:center; }
.auth-footer a{ color:var(--blue); font-weight:700; text-decoration:none; }
.auth-footer a:hover{ text-decoration:underline; }

/* ==========================================================================
   ΚΙΝΗΤΟ / TABLET
   ========================================================================== */
@media (max-width: 960px){
  .login-shell{ grid-template-columns:1fr; }
  .login-aside{ padding:calc(22px + env(safe-area-inset-top,0px)) 24px 30px; }
  .login-aside .aside-body{ margin-top:28px; }
  .login-aside h1{ font-size:36px; }
  .login-aside .lede{ font-size:17px; }
  .mini-metro, .login-aside .aside-foot{ display:none; }
  .login-main{ padding:0 24px calc(32px + env(safe-area-inset-bottom,0px)); }
  .login-top{ display:none; }
  .login-card{ margin:0 auto; padding-top:30px; }
}
@media (max-width: 720px){
  .page{ width:calc(100% - 32px); }
  .site-top{ height:66px; }
  .site-top-actions .hint{ display:none; }
  .lc-band{ padding-bottom:100px; }
  .topbar p{ font-size:16.5px; }
  .card{ padding:22px 18px; }
  .card-heading h2{ font-size:22px; }
  .wizard-progress{ padding:14px; overflow-x:auto; }
  .progress-step small{ display:none; }
  .progress-step strong{ font-size:13.5px; }
  .progress-line{ margin:0 8px; min-width:14px; }
  .two-col{ grid-template-columns:1fr; }
  .form-footer{ flex-direction:column-reverse; align-items:stretch; }
  .form-footer > .button, .form-footer > form, .form-footer > form .button{ width:100%; }
  .store-item, .user-item{ flex-wrap:wrap; }
  .store-meta{ order:4; width:100%; padding-left:54px; }
  .user-details{ min-width:calc(100% - 60px); }
  .role-badge{ margin-left:48px; }
  .wizard-summary{ grid-template-columns:1fr; }
  .wizard-summary > div{ padding:0 0 10px; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .wizard-summary > div:last-child{ padding-bottom:0; border-bottom:0; }
  .demo-plans{ grid-template-columns:1fr; }
  .login-card h2{ font-size:34px; }
}
@media (max-width: 520px){
  .site-top-actions .plain:not(:last-child){ display:none; }
}
@media (max-width: 440px){
  .progress-step{ flex-direction:column; gap:4px; }
  .progress-line{ margin:0 4px 20px; }
  .logo{ font-size:19px; }
  .site-top .button{ padding:9px 12px; font-size:14px; }
}

/* ==========================================================================
   25/9: Όροι Χρήσης / Πολιτική Απορρήτου και αποδοχή τους στην εγγραφή
   ========================================================================== */
.legal{ max-width:880px; margin:0 auto; }
.legal-doc{ line-height:1.65; font-size:16px; }
.legal-doc h2{ font-size:20px; font-weight:800; letter-spacing:-.01em; margin:30px 0 10px; scroll-margin-top:20px; }
.legal-doc p, .legal-doc li{ color:var(--ink); }
.legal-doc ul{ padding-left:22px; margin:8px 0 12px; }
.legal-doc li{ margin:6px 0; }
.legal-doc a{ color:var(--blue); font-weight:700; }
.legal-meta{ margin:0 0 16px; color:var(--muted); font-size:14px; font-weight:600; }
.legal-toc{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:6px 18px; padding:16px 18px;
  background:var(--soft); border:1px solid var(--line); border-radius:14px; }
.legal-toc a{ font-size:14.5px; text-decoration:none; }
.legal-toc a:hover{ text-decoration:underline; }
.legal-note{ padding:12px 16px; border-radius:12px; background:var(--t-blue); border-left:4px solid var(--sky); }
.legal-table{ width:100%; border-collapse:collapse; margin:10px 0 14px; font-size:15px; }
.legal-table th, .legal-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
.legal-table th{ background:var(--soft); font-weight:800; }
@media (max-width:640px){ .legal-doc{ font-size:15.5px; } .legal-table{ font-size:14px; } }

.consent{ display:flex !important; flex-direction:row !important; align-items:flex-start; gap:12px; margin-top:22px; padding:14px 16px;
  border:1.5px solid var(--line); border-radius:14px; background:var(--soft); font-weight:500; font-size:15px; line-height:1.5; cursor:pointer; }
.consent input[type="checkbox"]{ width:20px !important; height:20px; min-height:0 !important; margin:2px 0 0; padding:0; flex:0 0 auto;
  accent-color:var(--blue); cursor:pointer; }
.consent a{ color:var(--blue); font-weight:700; }
.consent:has(input:focus-visible){ border-color:var(--sky); }
.consent.consent-error{ border-color:var(--rose); background:var(--t-rose); }
.lc-footer nav{ flex-wrap:wrap; }

/* 25/9: ανάλυση ποσού — ΦΠΑ που δεν χρεώνεται (από €200) εμφανίζεται διαγραμμένος */
.payment-row small{ display:block; font-size:13px; font-weight:600; }
.vat-note{ color:var(--mint); }
.vat-note[hidden]{ display:none; }
.total-note{ color:var(--muted); }
.vat-waived{ text-decoration:line-through; text-decoration-thickness:2px; text-decoration-color:var(--rose); color:var(--muted); }
.payment-saving{ margin-top:12px; padding:10px 14px; border-radius:12px; background:var(--t-mint); color:var(--ink); font-size:14.5px; }
.payment-saving[hidden]{ display:none; }
.payment-row strong span{ color:inherit; }
.payment-total .total-note{ color:#9FB3DA; }
