/* Mobile proportions. Desktop and the brand ornaments retain their original layout. */
.nav__preferences { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:4px 2px 12px; border-bottom:1px solid var(--line); }
.nav__preference { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border:1px solid var(--line); border-radius:12px; background:var(--bg); font-size:.78rem; color:var(--ink-2); }
.nav__preference .language-toggle, .nav__preference .site-theme { min-width:44px; min-height:44px; height:44px; padding:6px; background:var(--bg-elev); }
.nav__preference .site-theme__label { display:none; }
@media(max-width:899px) {
  .nav__cta > .language-toggle, .nav__cta > .site-theme { display:none; }
  .nav__inner { gap:12px; }
  .nav__cta { gap:8px; }
  .nav__burger, .nav__bell { width:44px; height:44px; flex:none; }
}
@media(max-width:639px) {
  :root { --gutter:20px; }
  body { font-size:16px; line-height:1.6; }   /* 16px: αναγνώσιμο κείμενο στο κινητό */
  h1 { font-size:clamp(1.65rem,7.2vw,2rem); line-height:1.16; text-wrap:balance; }
  h2 { font-size:clamp(1.35rem,5.8vw,1.65rem); line-height:1.25; text-wrap:balance; }
  h3 { font-size:1.12rem; line-height:1.35; }
  .lead { font-size:.95rem; line-height:1.65; }
  .eyebrow { font-size:.75rem; letter-spacing:.11em; }
  .section { padding:40px 0; }
  .section--tight { padding:26px 0; }
  .hero { padding:32px 0; }
  .grid, .split, .stack, .wiz-layout, .thread-layout { gap:16px; }
  .grid > *, .split > *, .row > *, .inline-fields > *, .wiz-layout > *, .acct > * { min-width:0; }
  .card, .wiz-card { padding:20px 18px; border-radius:18px; }
  .panel { padding:16px; }
  .card .card { padding:16px; }
  .btn { min-height:44px; max-width:100%; padding:10px 16px; font-size:.86rem; line-height:1.35; white-space:normal; text-align:center; overflow-wrap:break-word; }
  .btn--lg { font-size:.94rem; padding:12px 18px; }
  .btn--sm { min-height:40px; font-size:.8rem; padding:8px 12px; }
  .row { gap:8px; }
  .input, .select, .textarea { min-width:0; max-width:100%; font-size:16px; }
  .label { font-size:.87rem; }
  .hint { font-size:.77rem; line-height:1.5; }
  .field { margin-bottom:18px; }
  .seg { max-width:100%; }
  .seg__opt { min-width:0; min-height:42px; padding:9px 12px; font-size:.82rem; white-space:normal; line-height:1.3; text-align:center; }
  .chip { max-width:100%; white-space:normal; font-size:.79rem; line-height:1.4; }
  label.chip, button.chip { min-height:40px; display:inline-flex; align-items:center; }
  .badge { max-width:100%; white-space:normal; line-height:1.4; }
  .stat { padding:16px 12px; text-align:center; }
  .stat__num { font-size:1.75rem; line-height:1.2; }
  .stat__label { font-size:.78rem; line-height:1.45; }
  .table-wrap, .prev { max-width:100%; overscroll-behavior-x:contain; }
  .alert { padding:14px; font-size:.85rem; }
  .modal { padding:22px 18px; max-height:90dvh; overflow-y:auto; }
  .modal__actions { justify-content:center; gap:8px; }
  .modal__actions .btn { flex:1 1 120px; }
  .brand-logo--nav { width:118px; max-width:none; height:48px; }
  .nav__cta > .btn--primary { display:none; }
  .nav__drawer { left:12px; right:12px; max-width:none; padding:12px; }
  .nav__drawer a { min-height:44px; }
  .nav__drawer-cta { grid-template-columns:1fr 1fr; }
  .nav__drawer-cta > :only-child { grid-column:1/-1; }
  .nav__drawer-cta .btn { padding:10px; }
  /* Centre introductions and actions, keep reading text and form labels left aligned. */
  main > .container > .mb-3:first-child, main > .container > .mb-4:first-child,
  main.container > .section--tight:first-child, .wiz-head, .radar-hero, .legal-hero,
  .section-head, .auth > h1, .auth > .lead { text-align:center; }
  .wiz-head { padding:28px 0 18px; }
  .wiz-head h1, .wiz-head .lead, .radar-hero h1, .radar-hero .lead, .section-head { margin-left:auto; margin-right:auto; }
  .eyebrow { justify-content:center; }
  .wiz-nav { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:10px; margin-top:22px; padding-top:16px; }
  .wiz-nav .btn { width:100%; min-width:0; }
  .wiz-nav > :only-child { grid-column:1/-1; }
  .wiz__meta, .step-meta { align-items:center; gap:8px; }
  .wiz__meta .small, .step-meta .muted { font-size:.75rem; text-align:right; }
  .wizard-steps { margin-bottom:20px; }
  #stepTitle, .step-panel h2 { font-size:1.3rem; }
  .gp__search { min-width:0; }
  .gp__pulse { font-size:.78rem; line-height:1.5; }
  .gp__map, .map { height:250px; }
  .ph-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ph__tools { gap:3px; padding:5px; }
  .ph__tools button { min-width:0; height:40px; }
  .ph__tools svg { width:15px; height:15px; }
  .auth { max-width:420px; }
  .auth .card { padding:22px 18px; }
  .pw-row .input { min-width:0; }
  .btn--magic { font-size:.83rem; padding:12px 14px; }
  .acct__nav { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
  .acct__nav a { display:flex; justify-content:center; align-items:center; min-height:44px; padding:8px 10px; font-size:.8rem; text-align:center; border:1px solid var(--line); border-radius:12px; }
  .plan-row { justify-content:center; text-align:center; }
  .kv2 { grid-template-columns:1fr; gap:3px; font-size:.88rem; }
  .kv2 dd { margin-bottom:10px; overflow-wrap:anywhere; }
  .sectors { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .sector { justify-content:center; padding:10px; font-size:.83rem; }
  .sector__add { grid-column:1/-1; margin:0; justify-self:center; }
  .role-card__head, .sub-h { flex-wrap:wrap; }
  .todo__item .btn { margin-left:0; width:100%; }
  .lst-row { padding:14px; gap:10px; }
  .listing-delete.btn { margin:0 4px; }
  .owner-bar__actions, .share-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .owner-bar__actions .btn, .share-links .btn { width:100%; }
  .owner-bar__actions > :only-child { grid-column:1/-1; }
  .card-head h1 { font-size:1.7rem; }
  .share-row { flex-wrap:wrap; }
  .share-row .input { flex-basis:100%; }
  .share-row .btn { flex:1; }
  .dcard__budget { font-size:1.15rem; }
  .dcard__head { gap:8px; }
  .filters__row { gap:10px; }
  .sort { margin-left:0; width:100%; }
  .heat { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .heat__t { text-align:center; }
  .heat__a { white-space:normal; line-height:1.35; }
  .hbar { grid-template-columns:minmax(70px,100px) minmax(0,1fr) auto; gap:8px; }
  .hbar__val { min-width:2.5em; }
  .plan { text-align:center; gap:12px; }
  .plan .tick-list { text-align:left; }
  .plan__tag { align-self:center; }
  .plan__who { font-size:.75rem; }
  .plan__price { font-size:2rem; }
  .plan__cur { position:static; align-self:center; }
  .bothways { align-items:center; text-align:center; }
  .bothways > div:last-child { text-align:justify; }
  .inv { padding:20px 14px; }
  .inv__parties { grid-template-columns:1fr; }
  .inv th, .inv td { padding:9px 4px; font-size:.78rem; overflow-wrap:anywhere; }
  .legal-toc { justify-content:center; }
  .legal-toc a { min-height:40px; }
  .section--legal { padding:30px 0; }
  .law-quote { font-size:1rem; }
  .pkg-list li { flex-wrap:wrap; }
  .msgs { max-height:55dvh; }
  .bubble { max-width:92%; overflow-wrap:anywhere; }
  .composer .row .btn { flex:1 1 120px; }
  .notif { min-width:0; }
  .target__meta { flex-wrap:wrap; }
  /* Landing: smaller type and centred rhythm, with original gold lines and artwork. */
  .lp-hero { padding:24px 0 36px; }
  .lp-hero__grid { gap:26px; }
  .lp-hero__grid > :first-child, .lp-head--left { text-align:center; }
  .lp-where { justify-content:center; font-size:.75rem; }
  .lp-role { max-width:360px; margin:0 auto 20px; }
  .lp-role button { min-height:42px; font-size:.82rem; padding:9px; }
  .lp-h1 { font-size:clamp(1.9rem,8.5vw,2.35rem); line-height:1.08; text-wrap:balance; }
  .lp-sub, .lp-lead { font-size:.94rem; line-height:1.65; margin-left:auto; margin-right:auto; }
  .lp-hook { margin-top:20px; text-align:center; }
  .lp-hook__cell { padding:14px 10px; }
  .lp-hook__n { font-size:1.45rem; }
  .lp-hook__l { font-size:.75rem; }
  .lp-hook__cta { font-size:.76rem; padding:11px 14px; }
  .smart { text-align:left; }
  .lp-ticks { justify-content:center; font-size:.75rem; gap:8px 12px; }
  .lp-sec { padding:40px 0; }
  .lp-head, .lp-head--left { margin:0 auto 24px; }
  .lp-kicker { font-size:.75rem; margin-bottom:10px; }
  .lp-switch { margin:16px auto; }
  .lp-list { text-align:left; }
  .lp-step { padding:14px; gap:4px 10px; }
  .lp-step__t { font-size:.94rem; }
  .lp-step__d { font-size:.81rem; }
  .lp-price { padding:22px 18px; text-align:center; }
  .lp-price ul { text-align:left; }
  .lp-door__t { font-size:1.3rem; }
  .lp-door__d { font-size:.79rem; }
  .lp-door { text-align:center; }
  .footer__top { padding-top:28px; }
  .footer__help { display:grid; justify-items:stretch; gap:8px; }
  .footer__hbtn { min-height:44px; justify-content:center; }
  .footer__bottom { padding-bottom:32px; }
  .cookiebar__btns .btn { white-space:normal; }

  body[data-page="login"], body[data-page="register"] { overflow-x:hidden; }
  body[data-page="login"] .auth-shell, body[data-page="register"] .auth-shell { display:block; width:100%; max-width:100vw; padding:18px 12px 42px; }
  body[data-page="login"] .auth, body[data-page="register"] .auth { width:100%; max-width:330px; min-width:0; margin-left:auto; margin-right:auto; }
  body[data-page="login"] .auth-card, body[data-page="register"] .auth-card { width:100%; max-width:100%; box-sizing:border-box; padding:16px 12px; }
  body[data-page="login"] .auth-brand, body[data-page="register"] .auth-brand,
  body[data-page="login"] .auth-title, body[data-page="register"] .auth-title,
  body[data-page="login"] .auth-lead, body[data-page="register"] .auth-lead { min-width:0; max-width:100%; }
  body[data-page="login"] .auth-title, body[data-page="register"] .auth-title { font-size:clamp(1.02rem,4.8vw,1.16rem); letter-spacing:.02em; line-height:1.12; text-wrap:balance; overflow-wrap:normal; }
  body[data-page="login"] .auth-lead, body[data-page="register"] .auth-lead { font-size:.84rem; }

  body[data-page="login"] .auth .seg__opt, body[data-page="register"] .auth .seg__opt { min-height:38px; padding:8px 9px; }
  body[data-page="login"] .auth .input, body[data-page="register"] .auth .input { min-height:40px; }
  body[data-page="login"] .auth .btn--magic #magicLbl, body[data-page="register"] .auth .btn--magic #magicLbl { font-size:.75rem; letter-spacing:.045em; }
  .cookiebar--consent { max-width:calc(100vw - 24px); }
  .cookiebar__btns { display:grid; grid-template-columns:1fr 1fr; width:100%; min-width:0; gap:8px; }
  .cookiebar__btns .btn { min-width:0; width:100%; padding-left:8px; padding-right:8px; font-size:.78rem; }
  .hbtn { width:42px; height:42px; border-radius:14px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); }
  .pddial { bottom:calc(62px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:359px) {
  :root { --gutter:16px; }
  .brand-logo--nav { width:100px; }
  .nav__cta { gap:5px; }
  .nav__cta > .btn--primary { font-size:.75rem; padding:8px 10px; }
  .nav__preferences { gap:6px; }
  .nav__preference { padding:7px; font-size:.75rem; }
  .card { padding:18px 15px; }
  .ph-grid { grid-template-columns:1fr; }
}
.nav__support { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:10px; margin-top:8px; border-top:1px solid var(--line); }
.nav__support button { min-height:44px; padding:8px; border:0; background:none; color:var(--ink-2); font:500 .76rem/1.4 var(--font-body); cursor:pointer; border-radius:10px; }
.nav__support button:hover { background:var(--bg-sunk); }
.nav__drawer .btn--primary { color:var(--on-brand); }
@media(max-width:639px) {
  .dash-hero { text-align:center; }
  .quick { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .quick a { min-height:44px; justify-content:center; font-size:.78rem; padding:10px; }
  .quick > :last-child:nth-child(odd) { grid-column:1/-1; justify-self:center; padding-inline:20px; }
  .auth .brand-logo--card { width:138px; height:59px; margin-bottom:12px; }
  .lp-sec h2 { font-size:1.65rem; }
  .smart__examples .chip { font-size:.75rem; min-height:38px; }
  .smart__go { width:44px; height:44px; }
}
@media(max-width:639px) {
  main > header, .dash-head { text-align:center; }
  main > header .lead { margin-inline:auto; }
  .dash-head .row, .owner-bar > .row, .controls__actions { justify-content:center; }
  .wiz-card .seg { display:flex; }
  .wiz-card .seg__opt { flex:1; }
  .opt-card__title, .opt-card__desc { display:block; }
  .check { display:flex; align-items:flex-start; gap:9px; position:relative; padding-left:0; font-size:.85rem; line-height:1.55; text-align:left; }
  .check > input { position:static; flex:0 0 auto; width:17px; height:17px; margin:3px 0 0; }
  .check > span { min-width:0; }
  .auth .check { padding:9px 10px; border-radius:14px; line-height:1.45; }
  #featureChips, #fFeatures, #horizonChips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #featureChips .chip, #fFeatures .chip, #horizonChips .chip { justify-content:center; text-align:center; margin:0; min-height:44px; padding:8px; border-radius:13px; }
  .totop { display:none; }

  .footer__bottom-in { align-items:center !important; justify-content:center; text-align:center; }
  .footer__legal { justify-content:center; text-align:center; }
  .footer__meta { width:100%; text-align:center !important; }
  .footer__meta p { margin-inline:auto; }
  :root[data-theme="dark"] .btn--gold, :root[data-theme="dark"] .btn--gold:hover { color:var(--on-gold); }
}
@media(max-width:639px) {
  .doc__head { padding-top:28px; text-align:left; }
  .doc__meta { justify-content:flex-start; }
  .doc .toc { grid-template-columns:1fr; margin:18px 0 26px; padding:18px 18px 10px; }
  .doc .toc a { min-height:44px; align-items:center; padding:9px 2px; font-size:.86rem; }
  .doc h2 { font-size:1.2rem; margin-top:36px; padding-top:24px; }
  .doc-provider { padding:16px 14px 14px 18px; }
  .doc > .alert--info { padding:16px 14px 16px 18px; }
  .flow__arrow { transform:rotate(90deg); }
  body[data-page="account"] #main > .row:first-child { flex-direction:column; text-align:center; gap:12px !important; }
  body[data-page="notifications"] .card > .row:first-child, body[data-page="notifications"] .filters { justify-content:center; }
  body[data-page="notifications"] #countLine { flex-basis:100%; text-align:center; }
  body[data-page="metrics"] .hero, body[data-page="thread"] #main > .section--tight { text-align:center; }
  .hero h1 { font-size:1.9rem; }
  .listing-head .price { font-size:2rem; }
  .listing-head .row { justify-content:center; }
  .card-head h1 { text-align:center; }
  .spec { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 10px; }
  .spec__row--wide { grid-column:1/-1; }
  .spec__row { min-width:0; }
  .spec__key { font-size:.75rem; }
}
@media(max-width:639px) {
  .drop { display:block; width:100%; padding:22px 14px; }
  body[data-page="import"] .drop strong { display:block; }
  .inv__head { display:grid; justify-items:center; text-align:center; }
  .inv__head > div { text-align:center !important; }
  .inv__head img { margin:0 auto 10px !important; }
  body[data-page="thread"] #main > h1, body[data-page="thread"] #main > .lead { text-align:center; }
  body[data-page="thread"] #main > .row { justify-content:center; text-align:center; }
  main:has(> .zt-crumb) > h1, main:has(> .zt-crumb) > .lead, .zt-crumb { text-align:center; }
  .zt-cta { justify-content:center; }
  .zt-cta .btn { flex:1 1 100%; }
  .zt-grid { grid-template-columns:minmax(0,1fr); }
  .zt-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:639px) {
  .filters { min-width:0; }
  .filters__row > * { min-width:0; max-width:100%; }
  .filters .inline-fields { grid-template-columns:minmax(0,1fr); }
  .sort .select { display:block !important; width:100% !important; margin:6px 0 0 !important; }
  body[data-page="import"] .kv { grid-template-columns:1fr; gap:4px; }
  body[data-page="import"] .kv dd { margin:0 0 12px; min-width:0; overflow-wrap:anywhere; }
  .lp-prices { grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:minmax(0,1fr); overflow:visible; margin:0; padding:0; gap:24px; }
  .lp-price__amt { font-size:2rem; }
  .lp-price__you { left:50%; transform:translate(-50%,4px); white-space:nowrap; }
  .lp-price.is-you .lp-price__you { transform:translateX(-50%); }
  :root[data-theme="dark"] .lp-price__you { color:var(--on-gold); }
}
/* tablet: πιο άνετα περιθώρια (το desktop μένει ως έχει) */
@media(min-width:640px) and (max-width:1199px) {
  :root { --gutter:28px; }
}
/* Premium (build 78): ενέργειες σε ομοιόμορφο πλέγμα, κεφαλίδα καταχώρισης στο κέντρο, πιο σφιχτές κάρτες */
@media(max-width:639px) {
  .act { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .act > .btn { width:100%; }
  .act:not(.act--grid) > .btn:only-child, .act:not(.act--grid) > .btn:last-child:nth-child(odd), .act > .act__wide { grid-column:1/-1; }
  .act--grid { max-width:none; }
  .act > .act__push { margin-left:0; }
  .pv { padding:14px 0 4px; gap:18px; text-align:center; }
  .pv__media { border-radius:20px; }
  .pv__tags, .pv__facts, .pv__info .chips { justify-content:center; }
  .pv__facts span { font-size:.8rem; padding:5px 11px; }
  .pv-set { padding:16px; }
  .kpis { gap:10px; }
  .kpis > .stat { min-height:0; padding:14px 10px; }
  .kpis .stat__num { font-size:1.65rem; }
  .insight { padding:14px 16px; font-size:.9rem; }
  .card-h h3 { font-size:1.05rem; }
  .card.pcard { padding:0; }
  .pcard__body { padding:16px 16px 14px; gap:10px; }
  .pcard__foot { padding:12px 16px 16px; }
  .pcard__spec { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pcard__title { font-size:1.08rem; }
  .rep { grid-template-columns:minmax(0,1fr); padding:12px 14px; }
  .rep > .avatar { display:none; }
  .rep__meta { gap:5px; }
  .rep__meta .badge { font-size:.72rem; padding:2px 9px; }
  .today__i { gap:10px; padding:10px 10px 10px 12px; }
  .today__i .btn { flex:none; min-width:104px; white-space:nowrap; padding-inline:12px; }
}
