/* Προσφορά V2 — CSS των πρωτοτύπων (design/web/raw/v2m-raw.html = Γενικό + ειδικό Μεσιτικού), scoped .v2. Πηγή: GPT-6-Astra, 10/09/2026. */
.v2{--bg:#111519;--panel:#191f25;--deep:#14191e;--ink:#f4f1ea;--muted:#b0b7bd;--line:#353d45;--orange:#f05c35;--accent:#ffac92;--brand:#4e5561;--green:#b3dfc5;--serif:"Noto Serif",Georgia,serif;--sans:"Noto Sans",Arial,sans-serif;background:var(--bg);color:var(--ink);font:400 15px/1.8 var(--sans);-webkit-font-smoothing:antialiased;position:relative;isolation:isolate;margin:0}
.v2 *,.v2 *::before,.v2 *::after{box-sizing:border-box}
.v2 [hidden]{display:none!important}
.v2 ::selection{background:var(--orange);color:#111519}
.v2 :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.v2 a{color:inherit;text-decoration:none}
.v2 button,.v2 input,.v2 textarea{font:inherit}
.v2 button,.v2 a,.v2 input,.v2 textarea{-webkit-tap-highlight-color:transparent}
.v2 button,.v2 summary{cursor:pointer}
.v2 button:disabled{cursor:not-allowed;opacity:.45}
.v2 img{display:block;width:100%;object-fit:cover}
.v2 h1,.v2 h2,.v2 h3,.v2 h4,.v2 p,.v2 figure{margin:0}
.v2 h1,.v2 h2,.v2 h3,.v2 h4{line-height:1.25}
.v2 h1,.v2 h2{font-weight:500;letter-spacing:-.045em}
.v2 p+p{margin-top:16px}
.v2 .wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.v2 .muted,.v2 small{color:var(--muted)}
.v2 .num{font-variant-numeric:tabular-nums}
.v2 .kicker{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.v2 .kicker::before{content:"";width:25px;height:2px;background:var(--orange);flex:none}
.v2 .topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px;border-bottom:1px solid var(--line)}
.v2 .brand{width:110px;flex:none}
.v2 .brand img{height:40px;object-fit:contain;object-position:left}
.v2 .topbar nav{display:flex;gap:28px;font-size:12px}
.v2 .topbar a:hover,.v2 .contact a:hover,.v2 .assigned a:not(.button):hover{color:var(--accent)}
.v2 .edition{font-size:10px;letter-spacing:.1em;color:var(--muted)}
.v2 .actions{position:sticky;top:0;z-index:20;background:#14191ef5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.v2 .action-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:13px}
.v2 .action-context{display:flex;align-items:center;gap:18px;font-size:12px}
.v2 .action-context strong{font-size:21px;font-weight:500}
.v2 .action-buttons,.v2 .decision-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.v2 .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:11px 20px;border:1px solid var(--orange);border-radius:0;background:var(--orange);color:#111519;font-size:12px;font-weight:800;transition:background .18s}
.v2 .button:not(:disabled):hover{background:#ff805f}
.v2 .button.secondary{background:transparent;border-color:#67717b;color:var(--ink);font-weight:500}
.v2 .button.quiet{background:transparent;border-color:transparent;color:var(--muted);font-weight:400}
.v2 .button.secondary:hover,.v2 .button.quiet:hover{background:#303840;color:var(--ink)}
.v2 .hero{position:relative;isolation:isolate;background:#20282d}
.v2 .hero-image{position:absolute;inset:0;z-index:-2;height:100%;object-position:center}
.v2 .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111519f5,#111519b8 58%,#11151970),linear-gradient(0deg,var(--bg),transparent 70%)}
.v2 .hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr);gap:64px;align-items:start;padding-block:65px 48px}
.v2 .hero-copy{padding-top:25px}
.v2 .hero .kicker{letter-spacing:.06em;text-transform:none;font-size:12px}
.v2 .hero h1{font-size:clamp(30px,3.5vw,47px);margin:21px 0;max-width:660px}
.v2 .hero h1 em{font-family:var(--serif);font-weight:400;color:#ffc6b5}
.v2 .hero-intro{color:#cdd2d6;max-width:560px;font-size:14px}
.v2 .value-card{padding:27px;background:#191f25ed;border:1px solid #59616a;border-top:3px solid var(--orange)}
.v2 .status{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid #7b6348;background:#34291e;color:#f2cf9e;font-size:10px}
.v2 .status::before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}
.v2 .value-label{margin-top:19px;font-size:12px;color:var(--muted)}
.v2 .original{display:block;font-size:17px;color:var(--muted);margin-top:12px}
.v2 .original small{font-size:10px}
.v2 .hero-total{font-size:clamp(42px,4vw,58px);letter-spacing:-.055em;font-weight:500;line-height:1.25;margin-top:3px}
.v2 .hero-total small{font-size:20px;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.v2 .value-card .tax-caption{font-size:12px;color:var(--muted);margin-top:5px}
.v2 .saving{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--accent)}
.v2 .saving small{font-size:10px}
.v2 .discount-reason{font-size:10px;color:var(--muted);margin-top:8px!important}
.v2 .placeholder{display:inline-block;max-width:100%;padding:4px 8px;border:1px dashed #8d8176;background:#a58a6710;color:var(--muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere;vertical-align:baseline}
.v2 .discount-reason .placeholder{display:block;margin-top:5px}
.v2 .annual-line{font-size:11px;color:var(--muted);margin-top:15px!important;padding-top:13px;border-top:1px solid var(--line)}
.v2 .valid-until{font-size:12px;font-weight:600;color:var(--ink);margin-top:12px!important}
.v2 .assigned{margin-top:18px;padding:20px;border:1px solid var(--line);background:#191f25d9}
.v2 .assigned-title{font-size:11px;color:var(--muted);margin-bottom:14px!important}
.v2 .assigned-person{display:flex;align-items:center;gap:15px}
.v2 .assigned-photo{width:62px;height:62px;flex:none;border-radius:50%;background:#343d45;border:1px solid #67717b;font-size:9px;object-fit:cover;object-position:50% 0}
.v2 .assigned h3{font-size:16px;font-weight:600}
.v2 .assigned-role{font-size:11px;color:var(--muted);margin-top:4px!important}
.v2 .assigned-quote{font-size:12px;color:var(--muted);margin-top:14px!important}
.v2 .assigned-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;font-size:12px}
.v2 .sample-number{display:block;font-size:9px;color:var(--muted);margin-top:7px}
.v2 .meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-block:0;padding:0 0 30px;gap:25px}
.v2 .meta div{border-top:1px solid #56606a;padding-top:17px}
.v2 .meta dt{font-size:10px;color:var(--muted);margin-bottom:5px}
.v2 .meta dd{margin:0;font-size:13px}
.v2 .section{padding-block:72px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.v2 .section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}
.v2 .section-heading h2{font-size:clamp(29px,3.2vw,43px);margin-top:17px}
.v2 .section-heading>p{max-width:350px;font-size:13px;color:var(--muted)}
.v2 .product{padding-block:65px;border-top:1px solid var(--line)}
.v2 .product:last-child{padding-bottom:0}
.v2 .product-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px;align-items:center}
.v2 .product:nth-child(even) .product-photo{order:-1}
.v2 .product h3{font-size:clamp(28px,3vw,39px);font-weight:500;letter-spacing:-.035em;margin:20px 0 15px}
.v2 .tagline{font-family:var(--serif);font-style:italic;font-size:19px;color:#e8c4b9;line-height:1.65}
.v2 .audience{font-size:12px;color:var(--muted);margin-top:13px!important}
.v2 .audience strong{color:var(--ink);font-weight:500}
.v2 .product-intro{margin-top:23px;color:var(--muted);font-size:13px}
.v2 .product-photo{position:relative;background:linear-gradient(135deg,#38434b,#20292f);border:1px solid var(--line);aspect-ratio:4/3}
.v2 .product-photo img{height:100%;position:absolute;inset:0}
.v2 .product-photo::after{content:"";position:absolute;bottom:-1px;left:-1px;width:55px;height:3px;background:var(--orange)}
.v2 .product-price{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:26px;padding-top:19px;border-top:1px solid var(--line)}
.v2 .product-price strong{font-size:30px;font-weight:500;letter-spacing:-.04em}
.v2 .product-price strong small,.v2 .product-price strong span{font-size:13px;letter-spacing:0}
.v2 .product-price>small{font-size:10px}
.v2 .product-details{margin-top:38px}
.v2 .includes-label{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.v2 .include-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin-top:20px}
.v2 .include-group h4{font-size:14px;font-weight:500}
.v2 .checklist{list-style:none;padding:0;margin:13px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.v2 .include-group .checklist{grid-template-columns:1fr;margin-top:8px}
.v2 .checklist li{position:relative;padding:10px 0 10px 22px;font-size:12px;border-bottom:1px solid var(--line);break-inside:avoid}
.v2 .checklist li::before{content:"";position:absolute;left:0;top:18px;width:6px;height:6px;border:1px solid var(--orange)}
.v2 details{border-block:1px solid var(--line);margin-top:24px}
.v2 summary{padding:16px 0;font-size:12px;color:var(--accent)}
.v2 details[open]>summary{border-bottom:1px solid var(--line)}
.v2 details>.checklist{margin-bottom:18px}
.v2 .scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;margin-top:28px}
.v2 .scope-grid h4{font-size:12px;font-weight:600}
.v2 .subtle-list{padding-left:17px;margin:10px 0 0;color:var(--muted);font-size:12px}
.v2 .subtle-list li{padding-block:3px}
.v2 .deliverable{margin-top:23px;padding-top:17px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.v2 .deliverable strong{color:var(--ink);font-weight:500}
.v2 .goal{margin-top:25px;padding:16px 20px;border-left:2px solid var(--orange);background:var(--panel);font-size:12px;color:var(--muted)}
.v2 .goal strong{display:block;color:var(--ink);margin-bottom:5px}
.v2 .product-note{margin-top:19px;color:var(--muted);font-size:11px;max-width:870px}
.v2 .investment{padding:42px;background:linear-gradient(125deg,#252c33,var(--deep) 70%);border:1px solid #59616a;border-top:3px solid var(--orange)}
.v2 .investment h2{font-size:clamp(30px,3vw,41px);margin-top:16px}
.v2 .table-scroll{overflow-x:auto;max-width:100%;margin-top:30px}
.v2 .pricing-table{width:100%;min-width:690px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.v2 .pricing-table caption{text-align:left;color:var(--muted);font-size:10px;margin-bottom:12px}
.v2 .pricing-table th,.v2 .pricing-table td{padding:18px 12px;text-align:right;border-bottom:1px solid #424b54;vertical-align:top}
.v2 .pricing-table th{font-size:10px;color:var(--muted);font-weight:500}
.v2 .pricing-table th:first-child,.v2 .pricing-table td:first-child{text-align:left;padding-left:0;width:48%}
.v2 .pricing-table th:last-child,.v2 .pricing-table td:last-child{padding-right:0;white-space:nowrap}
.v2 .pricing-table td small{display:block;font-size:10px}
.v2 .pricing-table .discount td{color:var(--accent)}
.v2 .optional-label,.v2 .terms-check{display:flex;align-items:start;gap:10px;cursor:pointer}
.v2 input[type=checkbox]{accent-color:var(--orange);width:18px;height:18px;flex:none;margin:2px 0 0}
.v2 .optional-row{background:#4e556112}
.v2 .optional-row.selected{background:#f05c3510}
.v2 .pricing-bottom{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:30px}
.v2 .renewal{font-size:12px;color:var(--muted)}
.v2 .renewal strong{display:block;font-size:23px;color:var(--ink);font-weight:500;margin-bottom:7px}
.v2 .renewal strong small{font-size:13px}
.v2 .totals{margin:0}
.v2 .totals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;font-size:13px}
.v2 .totals dt,.v2 .totals dd{margin:0}
.v2 .totals .grand{border-top:1px solid #66717c;margin-top:12px;padding-top:17px;align-items:center}
.v2 .totals .grand dt{font-size:10px;font-weight:800;letter-spacing:.06em}
.v2 .totals .grand dd{font-size:42px;color:var(--accent);letter-spacing:-.05em;line-height:1.2}
.v2 .words{margin-top:18px;font-size:11px;color:var(--muted)}
.v2 .content-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}
.v2 .content-layout>header h2{font-size:32px;margin-top:17px}
.v2 .richtext{min-width:0;color:#c9cfd4;font-size:14px;overflow-wrap:anywhere}
.v2 .richtext h2{font-size:29px;color:var(--ink);margin:38px 0 18px}
.v2 .richtext h3{font-size:19px;color:var(--ink);font-weight:500;margin:29px 0 14px}
.v2 .richtext>:first-child{margin-top:0}
.v2 .richtext p{margin-bottom:17px}
.v2 .richtext strong{color:var(--ink);font-weight:600}
.v2 .richtext ul,.v2 .richtext ol{padding-left:24px;margin:18px 0}
.v2 .richtext li{padding:7px 0 7px 6px}
.v2 .richtext li::marker{color:var(--accent)}
.v2 .richtext ol li{border-bottom:1px solid var(--line);padding-block:15px}
.v2 .richtext ol strong{display:block;margin-bottom:5px}
.v2 .richtext a,.v2 .terms-check a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.v2 .richtext table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin-block:22px;font-size:12px}
.v2 .richtext th,.v2 .richtext td{padding:12px;border:1px solid var(--line);text-align:left}
.v2 .richtext th{background:var(--panel);color:var(--ink)}
.v2 .next-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;list-style:none;counter-reset:steps;margin:0}
.v2 .next-steps li{counter-increment:steps;border-top:1px solid #59616a;padding-top:18px}
.v2 .next-steps li::before{content:"0" counter(steps);display:block;color:var(--accent);font-size:13px;margin-bottom:15px}
.v2 .next-steps h3{font-size:17px;font-weight:500}
.v2 .next-steps p{font-size:12px;color:var(--muted);margin-top:10px}
.v2 .delivery-terms{margin-top:30px;padding:20px;background:var(--panel);font-size:12px}
.v2 [data-v2-terms-summary] p+p{margin-top:8px}
.v2 a[data-v2-terms-link]{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.v2 .faq details{margin-top:0;border-top:0}
.v2 .faq details:first-of-type{border-top:1px solid var(--line)}
.v2 .faq summary{font-size:15px;color:var(--ink);padding-block:20px}
.v2 .faq details>p{font-size:13px;color:var(--muted);padding:18px 0 22px}
.v2 .collaboration-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.v2 .collaboration-grid h2{font-size:29px;margin:15px 0 25px}
.v2 .files{padding:0;margin:0;list-style:none}
.v2 .file{display:flex;align-items:center;gap:15px;padding:18px 0;border-block:1px solid var(--line)}
.v2 .file+.file{border-top:0}
.v2 .file-icon{display:grid;place-items:center;flex:none;width:39px;height:47px;border:1px solid #66717a;font-size:9px;color:var(--accent)}
.v2 .file strong{display:block;font-size:12px;font-weight:500}
.v2 .file small{display:block;font-size:10px}
.v2 .demo-note{font-size:10px;color:var(--muted);margin-top:15px}
.v2 .comments{list-style:none;padding:0;margin:0 0 25px}
.v2 .comment{padding:20px;background:var(--panel);border:1px solid var(--line);margin-bottom:13px}
.v2 .comment.client{background:transparent;margin-left:25px}
.v2 .comment header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px;font-size:11px}
.v2 .comment header strong{font-weight:600}
.v2 .comment time{color:var(--muted);font-size:9px}
.v2 .comment p{font-size:12px;color:#c9cfd4}
.v2 label.field{display:block;font-size:12px}
.v2 textarea,.v2 input:not([type=checkbox]){display:block;width:100%;min-width:0;margin-top:7px;padding:12px 14px;background:var(--deep);border:1px solid #69737e;border-radius:0;color:var(--ink)}
.v2 textarea{resize:vertical;min-height:115px}
.v2 textarea::placeholder,.v2 input::placeholder{color:#9ea8b2}
.v2 .comment-form .button{margin-top:12px}
.v2 .closing{background:#1e252b;border-bottom:1px solid var(--line);padding-block:60px}
.v2 .closing-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
.v2 .closing h2{font-size:clamp(31px,3.4vw,43px);margin:18px 0}
.v2 .closing h2 em{font-family:var(--serif);font-weight:400;color:#e8c4b9}
.v2 .closing p{font-size:13px;color:var(--muted)}
.v2 .closing .assigned{margin-top:0}
.v2 .closing .assigned-title,.v2 .closing .assigned-role{font-size:11px}
.v2 .contact{border-left:1px solid #59616a;padding-left:20px;display:flex;flex-direction:column;align-items:start;gap:6px;margin-top:24px}
.v2 .contact a:first-child{font-size:23px;letter-spacing:-.025em}
.v2 .contact a{font-size:14px}
.v2 .decision{margin-top:28px;padding-top:23px;border-top:1px solid #59616a}
.v2 .terms-check{font-size:12px;margin-bottom:15px;line-height:1.8;min-height:44px;align-items:center}
.v2 .terms-placeholder{margin-bottom:17px}
.v2 .footer{display:flex;justify-content:space-between;gap:25px;padding-block:28px;color:var(--muted);font-size:10px}
.v2 .states{padding-block:45px 60px}
.v2 .states>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.v2 .states h2{font-size:17px;letter-spacing:0}
.v2 .states>header p{font-size:10px;color:var(--muted)}
.v2 .state-strip{padding:22px 25px;border:1px solid var(--line);margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.v2 .state-strip h3{font-size:15px;font-weight:600;margin-bottom:6px}
.v2 .state-strip p{font-size:11px}
.v2 .state-strip.accepted{background:#192b24;border-color:#426a55;color:var(--green)}
.v2 .state-strip.rejected{background:#2b2021;border-color:#70464a;color:#e4b1b3}
.v2 .state-strip.expired{background:#28251f;border-color:#706144;color:#e2cfac}
.v2 .signature-image{width:145px;height:50px;background:white;object-fit:contain}
.v2 .state-code{font-size:10px;white-space:nowrap}
.v2 .modal{position:fixed;inset:0;z-index:100;background:#080c10d9;display:grid;place-items:center;padding:20px;overflow-y:auto;overscroll-behavior:contain}
.v2 .modal-panel{width:min(550px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;background:var(--panel);border:1px solid #626d76;border-top:3px solid var(--orange);padding:30px;box-shadow:0 30px 90px #0007}
.v2 .modal-header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:15px}
.v2 .modal-header h2{font-size:28px;margin-top:12px}
.v2 .close{width:40px;height:40px;flex:none;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:24px;line-height:1}
.v2 .modal-description{font-size:12px;color:var(--muted);margin-bottom:23px}
.v2 .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.v2 .signature-label{display:block;font-size:12px;margin-top:18px}
.v2 canvas{display:block;width:100%;height:140px;background:#f7f5ef;border:1px solid #a6adb1;margin-top:8px}
.v2 .modal-total{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px;font-size:13px}
.v2 .modal .terms-check{margin-top:20px}
.v2 .modal-submit{width:100%;margin-top:5px}
.v2 .modal-panel{padding-bottom:0}
.v2 .modal-footer{position:sticky;bottom:0;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin:18px -30px 0;padding:14px 30px 20px;background:var(--panel);border-top:1px solid var(--line)}
.v2 .modal-footer .modal-submit{flex:1 1 auto;width:auto;margin-top:0}
.v2 .modal-footer .prototype-feedback{flex-basis:100%}
.v2 .modal-footer .terms-check{flex-basis:100%;margin:0}
.v2 .prototype-feedback{font-size:11px;color:var(--accent);margin-top:10px}
.v2 .prototype-feedback:empty{margin:0}
.v2 .skip-link{position:absolute;top:8px;left:18px;z-index:110;transform:translateY(-160%);background:var(--ink);color:var(--bg);padding:10px 15px}
.v2 .skip-link:focus{transform:translateY(0)}

/* Μεσιτικό: αποκλειστικά στυλ της ειδικής ενότητας. */
.v2 .realestate-preview{min-width:0}
.v2 .preview-area{padding:34px;background:radial-gradient(ellipse at 85% 15%,#353b3d 0,transparent 55%),#1c2328;border:1px solid #42494e;min-width:0}
.v2 .preview-label{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px;color:#c8cdd0;font-size:11px}
.v2 .preview-label span:first-child{letter-spacing:.12em;text-transform:uppercase}
.v2 .browser{overflow:hidden;border:1px solid #5d646a;border-radius:10px;background:var(--deep);box-shadow:0 30px 65px #080b0e66;min-width:0}
.v2 .browser-chrome{display:flex;align-items:center;gap:7px;padding:12px 17px;background:#30373c;border-bottom:1px solid #4b5359}
.v2 .dot{width:7px;height:7px;border-radius:50%;background:#81898e;flex:none}
.v2 .address{margin:auto;text-align:center;width:55%;min-width:0;padding:3px 12px;background:#232a30;color:#c0c6ca;border-radius:4px;font-size:9px;overflow-wrap:anywhere}
.v2 .desktop-site{padding:24px 30px 30px}
.v2 .site-nav{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:17px;font-size:9px}
.v2 .site-brand{font-size:12px;font-weight:700;letter-spacing:.08em}
.v2 .site-brand span{display:block;font-size:8px;color:var(--muted);letter-spacing:.15em;font-weight:400}
.v2 .site-menu{display:flex;gap:20px;color:var(--muted)}
.v2 .site-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:30px 0 24px}
.v2 .site-intro h3{font-family:var(--serif);font-size:32px;font-weight:400;max-width:460px;line-height:1.3}
.v2 .site-intro p{color:var(--muted);font-size:10px;max-width:210px}
.v2 .mock-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 0 20px;border-top:1px solid var(--line);font-size:10px}
.v2 .filter-pill{padding:7px 14px;background:#253139;border:1px solid #47545c;border-radius:0;color:#dae0e3;font-size:10px}
.v2 .filter-pill.active{background:var(--orange);color:var(--bg);border-color:var(--orange)}
.v2 .mock-filter-note{margin-left:auto;color:var(--muted);font-size:9px}
.v2 .property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v2 .property-card{background:var(--panel);border:1px solid var(--line);min-width:0}
.v2 .property-image{position:relative;height:165px}
.v2 .property-image img,.v2 .phone-main-image img{height:100%}
.v2 .property-image .tag{position:absolute;left:10px;top:10px;padding:3px 8px;background:#172127e8;color:#fff;font-size:9px}
.v2 .property-info{padding:15px}
.v2 .property-info .location{font-size:9px;color:var(--muted)}
.v2 .property-info h4{font-size:13px;margin:5px 0 10px;font-weight:500}
.v2 .property-info .facts{font-size:9px;color:#c1c9cd;border-top:1px solid var(--line);padding-top:9px}
.v2 .property-info .price{font-size:20px;margin-top:8px;font-weight:500}
.v2 .property-info .price small{font-size:10px}
.v2 .detail-showcase{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:center;margin-top:54px;padding:0 35px}
.v2 .detail-copy{min-width:0}
.v2 .detail-copy h3{font-size:30px;font-weight:500;margin:18px 0}
.v2 .detail-copy>p{color:var(--muted);max-width:460px}
.v2 .feature-lines{list-style:none;padding:0;margin:25px 0 0}
.v2 .feature-lines li{display:flex;gap:15px;padding:13px 0;border-top:1px solid var(--line);font-size:13px;color:#d5d8da}
.v2 .feature-lines span{color:var(--accent);font-size:11px;font-variant-numeric:tabular-nums}
.v2 .phone{width:286px;max-width:100%;min-width:0;justify-self:center;background:#080c0f;padding:9px;border:1px solid #646b71;border-radius:36px;box-shadow:18px 22px 50px #0005}
.v2 .phone-screen{position:relative;border-radius:27px;overflow:hidden;background:var(--panel)}
.v2 .phone-status{height:29px;display:flex;justify-content:space-between;align-items:center;padding:0 19px;color:#e5e7e7;font-size:8px;background:var(--panel)}
.v2 .phone-island{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:72px;height:15px;border-radius:15px;background:#080c0f}
.v2 .phone-nav{padding:9px 15px;display:flex;justify-content:space-between;font-size:9px;border-bottom:1px solid var(--line)}
.v2 .phone-main-image{height:145px;position:relative}
.v2 .gallery-count{position:absolute;right:10px;bottom:9px;background:#111b22dc;padding:2px 7px;font-size:8px;color:#f4f1ea}
.v2 .thumbnails{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:5px;padding:5px 9px 0;height:54px}
.v2 .thumbnail-button{display:block;min-width:0;min-height:0;height:100%;padding:0;border:1px solid var(--line);border-radius:0;background:var(--deep);overflow:hidden}
.v2 .thumbnail-button img{height:100%;min-height:0}
.v2 .phone-content{padding:13px 15px 18px}
.v2 .phone-content .eyebrow{color:var(--accent);font-size:8px}
.v2 .phone-content h4{font-family:var(--serif);font-size:19px;line-height:1.4;margin-top:4px;font-weight:400}
.v2 .phone-price{font-size:24px;font-weight:500;margin:7px 0}
.v2 .phone-facts{display:flex;justify-content:space-between;gap:5px;padding:8px 0;border-block:1px solid var(--line);font-size:9px}
.v2 .phone-description{font-size:9px;color:var(--muted);margin:10px 0}
.v2 .mini-map{height:80px;position:relative;overflow:hidden;border:1px solid #50616a;background:#293c40}
.v2 .mini-map svg{display:block;width:100%;max-width:100%;height:100%}
.v2 .map-caption{position:absolute;left:6px;bottom:4px;color:#e0e7e5;font-size:7px;background:#203034e6;padding:1px 4px}
.v2 .interest-form{margin-top:12px}
.v2 .interest-form fieldset{border:0;padding:0;margin:0;min-width:0}
.v2 .interest-form legend{font-size:12px;font-weight:600;margin-bottom:7px}
.v2 .interest-form label{display:block;font-size:8px;color:#d1dadc;margin-bottom:5px}
.v2 .interest-form input{display:block;width:100%;margin-top:3px;padding:6px 8px;background:var(--deep);border:1px solid #57666e;border-radius:0;color:#e1e6e8;font-size:9px;opacity:1;-webkit-text-fill-color:#e1e6e8}
.v2 .demo-submit{display:block;padding:7px;background:var(--orange);color:var(--bg);text-align:center;font-size:9px;font-weight:700;margin-top:8px}
.v2 .interest-form .demo-note{font-size:8px;color:var(--muted);margin-top:6px;text-align:center}
.v2 .preview-footnote{margin-top:24px;font-size:11px;color:var(--muted);max-width:820px}

@media(min-width:1450px){.v2 .hero-grid{padding-block:80px 55px}}
@media(max-width:1000px){
.v2 .wrap{width:calc(100% - 48px)}
.v2 .hero-grid{gap:30px}
.v2 .hero h1{font-size:38px}
.v2 .product-top{gap:35px}
.v2 .content-layout,.v2 .collaboration-grid{gap:40px}
.v2 .investment{padding:30px}
.v2 .pricing-bottom{gap:30px}
.v2 .action-context .action-ref{display:none}
.v2 .preview-area{padding:22px}
.v2 .desktop-site{padding:20px}
.v2 .property-image{height:135px}
.v2 .detail-showcase{padding:0;gap:35px}
}
@media(max-width:700px){
.v2{padding-bottom:calc(125px + env(safe-area-inset-bottom,0px))}
.v2 .wrap{width:calc(100% - 36px)}
.v2 .topbar{min-height:68px;gap:14px}
.v2 .brand{width:84px}
.v2 .topbar nav{gap:14px;font-size:10px}
.v2 .edition,.v2 .topbar .secondary-nav{display:none}
.v2 .actions{position:fixed;top:auto;bottom:0;left:0;right:0;border-top:1px solid #69737e;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}
.v2 .action-inner{display:block;padding-block:8px 10px}
.v2 .action-context{justify-content:space-between;margin-bottom:6px;font-size:10px}
.v2 .action-context .action-ref{display:block}
.v2 .action-context strong{font-size:18px}
.v2 .action-buttons{display:grid;grid-template-columns:1fr 1.1fr auto;gap:6px}
.v2 .action-buttons .button{padding:9px 8px;font-size:10px;gap:5px}
.v2 .hero-grid{grid-template-columns:1fr;gap:22px;padding-block:27px 30px}
.v2 .hero-copy{padding-top:0}
.v2 .hero .kicker{font-size:11px;letter-spacing:0;gap:8px}
.v2 .hero .kicker::before{width:16px}
.v2 .hero h1{font-size:30px;margin:15px 0;max-width:440px}
.v2 .hero-intro{font-size:12px;line-height:1.7}
.v2 .value-card{padding:20px}
.v2 .hero-total{font-size:46px}
.v2 .hero-total small{font-size:19px}
.v2 .value-label{margin-top:13px}
.v2 .original{margin-top:8px}
.v2 .saving{margin-top:12px;padding-top:11px}
.v2 .assigned{padding:17px;margin-top:15px}
.v2 .meta{grid-template-columns:1fr 1fr;gap:20px;padding-bottom:28px}
.v2 .section{padding-block:48px;scroll-margin-top:20px}
.v2 .section-heading{display:block;margin-bottom:28px}
.v2 .section-heading>p{margin-top:18px}
.v2 .product{padding-block:38px}
.v2 .product-top{grid-template-columns:1fr;gap:24px}
.v2 .product:nth-child(even) .product-photo{order:0}
.v2 .product-photo{aspect-ratio:16/7;max-height:190px}
.v2 .product h3{font-size:29px}
.v2 .tagline{font-size:17px}
.v2 .product-details{margin-top:26px}
.v2 .include-groups,.v2 .scope-grid{grid-template-columns:1fr;gap:22px}
.v2 .checklist{grid-template-columns:1fr}
.v2 .investment{padding:25px 18px}
.v2 .pricing-bottom{grid-template-columns:1fr;gap:28px}
.v2 .totals .grand dd{font-size:38px}
.v2 .content-layout,.v2 .collaboration-grid,.v2 .closing-grid{grid-template-columns:1fr;gap:35px}
.v2 .collaboration-grid{gap:45px}
.v2 .richtext{font-size:13px}
.v2 .next-steps{grid-template-columns:1fr;gap:23px}
.v2 .next-steps li{padding-left:42px;position:relative}
.v2 .next-steps li::before{position:absolute;left:0;top:17px}
.v2 .closing{padding-block:45px}
.v2 .footer{flex-direction:column;gap:8px}
.v2 .states>header{display:block}
.v2 .states>header p{margin-top:8px}
.v2 .state-strip{align-items:start;flex-direction:column;gap:16px;padding:20px}
.v2 .state-strip p{overflow-wrap:anywhere}
.v2 .modal{padding:16px}
.v2 .modal-panel{padding:23px 18px 0;max-height:calc(100dvh - 32px)}
.v2 .modal-footer{margin-inline:-18px;padding:12px 18px 16px}
.v2 .form-grid{grid-template-columns:1fr}
.v2 .preview-area{padding:13px}
.v2 .preview-label{align-items:flex-start;gap:12px;font-size:9px;line-height:1.5;margin:6px 0 15px}
.v2 .preview-label span{max-width:55%}
.v2 .browser-chrome{padding:10px}
.v2 .address{width:65%;font-size:8px}
.v2 .desktop-site{padding:16px 12px}
.v2 .site-nav{gap:10px;flex-wrap:wrap}
.v2 .site-menu{gap:8px;font-size:8px}
.v2 .site-brand{font-size:9px}
.v2 .site-brand span{font-size:7px}
.v2 .site-intro{display:block;padding-block:22px}
.v2 .site-intro h3{font-size:25px}
.v2 .site-intro p{margin-top:12px;font-size:10px;max-width:none}
.v2 .mock-filters{gap:6px}
.v2 .filter-pill{padding:6px 9px}
.v2 .mock-filter-note{width:100%;margin:3px 0 0}
.v2 .property-grid{grid-template-columns:minmax(0,1fr);gap:12px}
.v2 .property-image{height:175px}
.v2 .property-info{padding:13px}
.v2 .property-info h4{font-size:15px}
.v2 .property-info .location,.v2 .property-info .facts{font-size:11px}
.v2 .detail-showcase{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:36px}
.v2 .detail-copy h3{font-size:27px}
.v2 .detail-copy>p{font-size:14px}
.v2 .phone{width:286px}
.v2 .preview-footnote{font-size:10px}
}
@media screen and (max-width:560px){
.v2 .table-scroll{overflow-x:visible}
.v2 .pricing-table,.v2 .pricing-table tbody,.v2 .pricing-table caption{display:block;min-width:0}
.v2 .pricing-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.v2 .pricing-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:17px 12px;margin-bottom:12px;border:1px solid #424b54;background:var(--panel)}
.v2 .pricing-table td{padding:0;border:0;text-align:left;font-size:11px;color:var(--muted);min-width:0}
.v2 .pricing-table td:first-child{grid-column:1/-1;width:auto;margin-bottom:6px;font-size:12px;color:var(--ink)}
.v2 .pricing-table td:not(:first-child)::before{content:attr(data-label);display:block;font-size:9px;font-weight:400;color:var(--muted)}
.v2 .pricing-table td:last-child{text-align:left;font-size:15px;font-weight:600;color:var(--ink);white-space:normal}
.v2 .pricing-table .discount td{color:var(--accent)}
.v2 .pricing-table .optional-row.selected{border-color:var(--orange);background:#f05c3510}
}
@media(prefers-reduced-motion:reduce){
.v2 *,.v2 *::before,.v2 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
.v2{--bg:#fff;--panel:#f5f5f3;--deep:#fff;--ink:#182028;--muted:#525b63;--line:#ccd0d3;--accent:#9b381f;background:#fff;color:var(--ink);font-size:10pt;padding:0}
.v2 *{box-shadow:none!important;text-shadow:none!important}
.v2 .wrap{width:100%;max-width:184mm}
.v2 .actions,.v2 .modal,.v2 .discussion,.v2 .states,.v2 .topbar nav,.v2 .edition,.v2 .prototype-feedback,.v2 .skip-link,.v2 .decision-buttons,.v2 .terms-check,.v2 .assigned .button{display:none!important}
.v2 .topbar{min-height:55px}
.v2 .brand img{filter:brightness(0)}
.v2 .hero,.v2 .closing,.v2 .investment,.v2 .value-card,.v2 .assigned{background:#fff;color:var(--ink)}
.v2 .hero-image,.v2 .hero::before{display:none}
.v2 .hero-grid{grid-template-columns:1.2fr 1fr;padding-block:25px;gap:25px}
.v2 .hero-copy{padding-top:0}
.v2 .hero h1{font-size:25pt}
.v2 .hero h1 em,.v2 .tagline{color:#85432f}
.v2 .hero-intro,.v2 .closing p,.v2 .richtext,.v2 .comment p{color:var(--muted)}
.v2 .hero-total{font-size:30pt}
.v2 .hero-total small{font-size:12pt}
.v2 .value-card,.v2 .assigned{padding:15px}
.v2 .assigned-photo{width:45px;height:45px}
.v2 .meta{grid-template-columns:repeat(4,1fr)}
.v2 .section{padding-block:27px}
.v2 .section-heading h2{font-size:24pt}
.v2 .product{padding-block:27px}
.v2 .product-top{grid-template-columns:1.2fr 1fr;gap:25px}
.v2 .product h3{font-size:22pt}
.v2 .product-photo{max-height:60mm}
.v2 .product-intro,.v2 .checklist li{font-size:9pt}
.v2 .product-price{margin-top:15px}
.v2 .product-details{margin-top:20px}
.v2 .include-groups{display:none}
.v2 .checklist{grid-template-columns:1fr 1fr;column-gap:25px}
.v2 .checklist li{padding-block:7px}
.v2 .checklist li::before{top:14px}
.v2 .product-note{font-size:8pt}
.v2 .investment{padding:22px}
.v2 .table-scroll{overflow:visible}
.v2 .pricing-table{display:table;min-width:0;font-size:9pt}
.v2 .pricing-table th,.v2 .pricing-table td{padding:12px 7px}
.v2 .pricing-bottom{grid-template-columns:1fr 1fr;gap:30px}
.v2 .content-layout{grid-template-columns:.6fr 1.4fr;gap:30px}
.v2 .richtext{font-size:10pt}
.v2 .richtext table{display:table;overflow:visible;width:100%}
.v2 .collaboration-grid{display:block}
.v2 .next-steps{grid-template-columns:repeat(3,1fr);gap:18px}
.v2 .placeholder{background:#fff;color:#525b63;border-color:#817267}
.v2 .closing{padding-block:25px}
.v2 .closing-grid{grid-template-columns:1.2fr 1fr;gap:30px}
.v2 .closing h2{font-size:24pt}
.v2 .contact a:first-child{font-size:15pt}
.v2 .footer{padding-block:20px}
.v2 .product-top,.v2 .goal,.v2 .pricing-bottom,.v2 .file,.v2 tr,.v2 .richtext li,.v2 .assigned,.v2 .next-steps li{break-inside:avoid}
.v2 h2,.v2 h3,.v2 h4,.v2 .includes-label,.v2 summary{break-after:avoid}
.v2 .status{background:#fff;color:#695125}
.v2 details>summary{color:var(--ink)}
.v2 details::details-content{content-visibility:visible;height:auto}
.v2 .preview-area{background:#fff;padding:18px}
.v2 .preview-label{color:var(--muted)}
.v2 .desktop-site{padding:16px}
.v2 .site-intro h3{font-size:23px}
.v2 .property-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2 .property-image{height:100px}
.v2 .property-info .facts,.v2 .feature-lines li,.v2 .interest-form label{color:var(--muted)}
.v2 .detail-showcase{grid-template-columns:minmax(0,1fr) 260px;gap:30px;margin-top:25px;padding:0}
.v2 .phone{width:245px}
.v2 .phone-main-image{height:110px}
.v2 .phone-content{padding:10px}
.v2 .phone-status{color:var(--ink)}
.v2 .filter-pill.active,.v2 .demo-submit{color:#111519}
.v2 .interest-form input{color:var(--ink);-webkit-text-fill-color:var(--ink)}
.v2 .browser,.v2 .phone,.v2 .property-card{break-inside:avoid}
}

/* ---- Παραγωγή (module mece_proposals): ό,τι δεν υπήρχε στο πρωτότυπο ---- */
html,body.v2-body{margin:0;background:#111519}
.v2 .hide{display:none!important}
.v2 .states{padding-block:30px 0}
.v2 .states .state-strip:first-child{margin-top:0}
.v2 .decision .state-strip{margin-top:0}
.v2 .action-buttons .status{align-self:center}
.v2 .assigned-links .num{font-size:12px}
.v2 .signature-tools{display:flex;gap:8px;margin-top:6px}
.v2 .signature-tools .button{min-height:32px;padding:4px 10px;font-size:11px}
.v2 .e-sign-legal-text{margin-top:14px;font-size:11px}
.v2 .richtext img{max-width:100%;height:auto;display:inline-block;width:auto}
.v2 .comment p a{color:var(--accent);text-decoration:underline}
.v2 .file a{color:inherit}
.v2 .comment-form{margin-top:10px}
@media(max-width:700px){.v2 .action-buttons>.status{justify-content:center}}
@media print{.v2 .hide{display:none!important}}

/* ===== 1.1.0 ΖΩΝΕΣ (#77540) — ΜΟΝΟ διάταξη. Κανένα νέο οπτικό λεξιλόγιο: κάθε νέα ζώνη = υπάρχον μοτίβο της V2 (Astra)
   z00 ταυτότητα = .meta · z02 = .kicker + .hero-intro · z06 = .section-heading + .checklist · z09 = .next-steps
   z11 = .scope-grid × .value-card + .status + .totals · z12 = .faq details · z13 = .decision/.terms-check/.collaboration-grid
   υπεγράφη / προεπισκόπηση = .state-strip ===== */
.v2 .z-identity{padding-top:24px}
.v2 .z-our{margin-top:26px}
.v2 .z-our .kicker{margin-bottom:12px}
.v2 .z-our .hero-intro p+p,.v2 .z-our .hero-intro ul{margin-top:10px}
.v2 .parties{margin-top:0}
.v2 .parties .value-card h3{margin:16px 0 8px}
.v2 .parties .totals dd{text-align:right;overflow-wrap:anywhere}
.v2 .preview-banner{padding-block:14px 0}
.v2 .preview-banner .subtle-list{margin-top:8px}

/* ===== 1.6.0 ΖΩΝΗ 15 «Καταχώριση μητρώου» — ΚΑΝΕΝΑ νέο οπτικό λεξιλόγιο: η ζώνη χτίζεται με ΤΑ ΙΔΙΑ μοτίβα
   με τη ζώνη 11 (.section + .section-heading + .scope-grid.parties × .value-card + .status + .tax-caption +
   .totals + .button.secondary + .demo-note), ώστε να κάθεται δίπλα της χωρίς να φαίνεται ξένο σώμα.
   ΜΟΝΟ ο μεγάλος αριθμός μητρώου δεν έχει αντίστοιχο στη V2 (το .totals .grand dd ζει μόνο μέσα σε γραμμή
   συνόλου) — γι' αυτό υπάρχει η .registry-am και τίποτε άλλο. ===== */
.v2 .registry-am{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-top:19px!important;padding-top:14px;border-top:1px solid var(--line)}
.v2 .registry-am strong{font-size:42px;font-weight:500;letter-spacing:-.05em;line-height:1.2;color:var(--accent);font-variant-numeric:tabular-nums}
.v2 .registry-am span{font-size:12px;color:var(--muted)}
.v2 [data-registry="facts"] .button{margin-top:19px}
@media(max-width:700px){.v2 .registry-am strong{font-size:38px}}

/* ===== 1.6.2 — κάτω μπάρα κινητού: τίποτα εκτός οθόνης, καμία λέξη κομμένη (360/390 px).
   (α) «τιμή + ΦΠΑ» = ΜΙΑ ομάδα που δεν σπάει· αν δεν χωρά δίπλα στον αριθμό προσφοράς, κατεβαίνει ολόκληρη.
   (β) οι στήλες των κουμπιών μπορούν να στενέψουν (minmax(0,…)) — χωρίς αυτό ένα μακρύ κείμενο κουμπιού μεγαλώνει το
       grid πέρα από την οθόνη. Το «Κλήση» είναι πλέον σταθερό και σύντομο (όνομα μόνο σε aria-label/title). */
.v2 .action-context>span:last-child{white-space:nowrap}
@media(max-width:700px){
.v2 .action-context{flex-wrap:wrap;gap:0 12px}
.v2 .action-buttons{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto}
.v2 .action-buttons>*{min-width:0}
}

/* ===================================================================== 1.5.0 — ΣΕΛΙΔΑ ΠΛΗΡΩΜΗΣ
   ΚΕΛΥΦΟΣ ΕΦΑΡΜΟΓΗΣ (mobile-first). Ύψος: vh ΠΡΩΤΑ ως εφεδρικό, dvh/svh ΜΕΤΑ — σε παλιά Safari
   το dvh αγνοείται και μένει το vh (αν έμπαινε ανάποδα, θα έσπαγε).
   Το κύριο κουμπί ζει στο sticky footer: δεν χρειάζεται ΠΟΤΕ σκρολ. */
/* 🔴 Το `body` δεν έπαιρνε ΠΟΤΕ γραμματοσειρά/χρώμα: υπολογιζόταν "Times New Roman" μαύρο πάνω σε
   #111519 (αντίθεση 1,06:1) — ό,τι έμπαινε έξω από το .pay-app ήταν αόρατο. Ρητό, μία φορά. */
.pay-body{margin:0;background:#111519;color:#f4f1ea;font-family:"Noto Sans",Arial,sans-serif;font-size:16px;line-height:1.6}
.v2.pay-app{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;min-height:100dvh}
/* Κεφαλίδα/σώμα/υποσέλιδο ΣΤΟ ΙΔΙΟ πλάτος και κεντραρισμένα: στα 1280 το κουμπί πληρωμής ήταν 755px
   μακριά από το σημείο που διάβαζε ο χρήστης (στήλη 620px στη μέση, μπάρα σε όλο το πλάτος). */
.v2 .pay-head{position:sticky;top:0;z-index:30;
  padding-top:env(safe-area-inset-top);background:#14191e;border-bottom:1px solid var(--line)}
.v2 .pay-head-in{display:flex;align-items:center;gap:14px;width:min(620px,100%);margin-inline:auto;
  padding:10px 16px;min-height:52px}
.v2 .pay-back{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-left:-10px;font-size:20px;color:var(--ink)}
.v2 .pay-logo{width:64px;height:22px;object-fit:contain;object-position:left}
.v2 .pay-ref{margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}
.v2 .pay-main{flex:1 1 auto;width:min(620px,100%);margin-inline:auto;padding:22px 16px 26px}
.v2 .pay-main>*+*{margin-top:16px}
/* Η γραμμή επιλογής και το σώμα της είναι ΕΝΑ κουτί: το γενικό κενό μεταξύ παιδιών τα έσπαγε στα δύο. */
.v2 .pay-main>.m-body{margin-top:0}

.v2 .pay-q{font-size:clamp(24px,6vw,30px);font-weight:600;letter-spacing:-.035em;margin:0}
/* Υπηρεσία και ποσό ΜΑΖΙ, στην κορυφή: ο πελάτης επιβεβαιώνει τι πληρώνει πριν διαλέξει πώς. */
.v2 .pay-what{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;
  margin-top:10px!important;font-size:15px;color:var(--muted)}
.v2 .pay-what-t{flex:1 1 60%;min-width:0}
.v2 .pay-what-a{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.v2 .pay-state h1{font-size:clamp(22px,5.4vw,28px);font-weight:600;letter-spacing:-.03em;margin-bottom:14px}
.v2 .pay-state p{font-size:15px;color:#c9cfd4}
.v2 .pay-state.is-done h1{color:var(--green)}
.v2 .pay-sum{margin-top:16px!important;font-size:26px;font-weight:600;letter-spacing:-.03em;color:var(--accent)}

/* Ανάλυση ποσού — πίσω από ένα κλικ, ώστε το ίδιο νούμερο να μη λέγεται τρεις φορές */
.v2 .pay-break{border-block:1px solid var(--line);margin-top:14px}
.v2 .pay-break summary{display:flex;align-items:center;min-height:48px;font-size:14px;color:var(--accent);cursor:pointer}
.v2 .pay-break dl{margin:0 0 16px}
.v2 .pay-break div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;font-size:14px}
.v2 .pay-break dt{color:var(--muted);margin:0}
.v2 .pay-break dd{margin:0;text-align:right;white-space:nowrap}
.v2 .pay-break .grand dt,.v2 .pay-break .grand dd{color:var(--ink);font-weight:600;border-top:1px solid var(--line);padding-top:10px}

/* 🔴 1.5.1 — ΚΑΙ ΟΙ 4 ΤΡΟΠΟΙ ΟΡΑΤΟΙ ΤΑΥΤΟΧΡΟΝΑ, ΙΣΟΤΙΜΕΣ ΚΑΡΤΕΣ ≥64px.
   Πριν: ορατή έμενε ΜΟΝΟ η επιλεγμένη και οι άλλες κρύβονταν σε «Άλλος τρόπος πληρωμής» — η κατάθεση,
   ο βασικός τρόπος για 300€+ στην Ελλάδα, ήταν display:none (μετρημένο: κλικ έληξε σε 30s).
   Κανένα γκριζάρισμα, καμία ομαδοποίηση με τίτλους: η επιλεγμένη κάρτα απλώς ανοίγει inline. */
/* 🔴 Ο κανόνας ΠΡΕΠΕΙ να περιέχει το `input`: το `.v2 input:not([type=checkbox])` (γραμμή 187) δίνει
   `width:100%` και έχει ΜΕΓΑΛΥΤΕΡΗ ειδικότητα από ένα σκέτο `.v2 .doc-radio` — τα κρυμμένα radio
   έπαιρναν πλάτος οθόνης και, όσα δεν ξεκινούσαν στο x=0, έβγαζαν ΟΡΙΖΟΝΤΙΑ ΚΥΛΙΣΗ (μετρημένο:
   scrollWidth 1625 στα 1280). `left:0` ως δεύτερη ασφάλεια. */
.v2 input.m-radio,.v2 input.doc-radio{position:absolute;left:0;width:1px;height:1px;min-width:0;margin:-1px;
  padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.v2 .m-card{margin-top:12px;border:1px solid var(--line);background:#181e23}
.v2 .pay-main>.m-card+.m-card{margin-top:10px}
.v2 #m-card:checked~.pay-main [data-pay-card=card],.v2 #m-iris:checked~.pay-main [data-pay-card=iris],
.v2 #m-bank:checked~.pay-main [data-pay-card=bank],.v2 #m-cash:checked~.pay-main [data-pay-card=cash]{
  border-color:var(--orange);background:#20282e}
.v2 .m-row{display:flex;align-items:center;gap:14px;min-height:64px;padding:13px 16px;cursor:pointer}
.v2 .m-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.v2 .m-title{font-size:15px;font-weight:600;line-height:1.35}
.v2 .m-when{font-size:13px;color:var(--muted);line-height:1.35}
.v2 .m-tick{flex:none;width:22px;height:22px;border:1px solid #67717b;border-radius:50%}
.v2 #m-card:checked~.pay-main [data-pay-card=card] .m-tick,.v2 #m-iris:checked~.pay-main [data-pay-card=iris] .m-tick,
.v2 #m-bank:checked~.pay-main [data-pay-card=bank] .m-tick,.v2 #m-cash:checked~.pay-main [data-pay-card=cash] .m-tick{
  border-color:var(--orange);background:var(--orange);box-shadow:inset 0 0 0 4px #191f25}
.v2 .m-body{display:none;padding:0 16px 16px}
.v2 .m-hint{font-size:14px;color:var(--muted);margin-top:10px!important}
.v2 .m-trust{display:flex;align-items:flex-start;gap:8px;margin-top:12px!important;padding:10px 12px;
  background:#151b20;border-left:2px solid var(--green);font-size:13px;line-height:1.5;color:#c9cfd4}
.v2 .m-lock{flex:none;font-size:14px;line-height:1.4}
.v2 .m-form{margin-top:12px}
.v2 #m-card:checked~.pay-main .m-body-card,.v2 #m-iris:checked~.pay-main .m-body-iris,
.v2 #m-bank:checked~.pay-main .m-body-bank,.v2 #m-cash:checked~.pay-main .m-body-cash{display:block}
/* Το radio είναι κρυμμένο και ΔΕΝ γειτονεύει με την κάρτα του (ζει πριν το <header>): το περίγραμμα
   εστίασης πάει στην ΑΝΤΙΣΤΟΙΧΗ κάρτα, αλλιώς η πλοήγηση με πληκτρολόγιο γίνεται στα τυφλά. */
.v2 #m-card:focus-visible~.pay-main [data-pay-card=card],.v2 #m-iris:focus-visible~.pay-main [data-pay-card=iris],
.v2 #m-bank:focus-visible~.pay-main [data-pay-card=bank],.v2 #m-cash:focus-visible~.pay-main [data-pay-card=cash]{
  outline:3px solid var(--accent);outline-offset:3px}

/* Το footer δείχνει ΜΟΝΟ το κουμπί του επιλεγμένου τρόπου (το form= το δένει με τη φόρμα του). */
.v2 .pay-bar-cta>.button{display:none}
.v2 .pay-bar-cta>.button:not(.cta-card):not(.cta-iris):not(.cta-bank):not(.cta-cash){display:inline-flex}
.v2 #m-card:checked~.pay-bar .cta-card,.v2 #m-iris:checked~.pay-bar .cta-iris,
.v2 #m-bank:checked~.pay-bar .cta-bank,.v2 #m-cash:checked~.pay-bar .cta-cash{display:inline-flex}

/* 🔴 1.5.1 — Τραπεζικά στοιχεία: ΕΝΑ κουμπί «Αντιγραφή IBAN» ανά τράπεζα και IBAN σε ΜΙΑ γραμμή.
   Πριν: 4 ισοβαρή κουμπιά αντιγραφής και IBAN σπασμένο στα δύο — εγγυημένες λάθος μεταφορές.
   Το μέγεθος του IBAN κλιμακώνεται με το πλάτος ώστε οι 33 χαρακτήρες να ΜΗΝ σπάνε ποτέ. */
.v2 .acc{margin-top:14px}
.v2 .acc-bank-box+.acc-bank-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.v2 .acc-bank{margin:0 0 10px!important;font-size:15px;font-weight:600}
.v2 .acc-l{display:block;font-size:13px;color:var(--muted)}
.v2 .acc-iban{margin:2px 0 0!important;font-size:min(4.1vw,18px);font-weight:600;line-height:1.4;
  font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
.v2 .acc-copy{display:block;width:100%;min-height:48px;margin-top:10px;padding:12px 14px;
  border:1px solid #67717b;background:transparent;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer}
.v2 .acc-copy:hover{border-color:var(--orange)}
.v2 .acc-f{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-top:1px solid var(--line)}
.v2 .acc-f:first-of-type{margin-top:12px}
.v2 .acc-v{font-size:15px;line-height:1.45;text-align:right;overflow-wrap:anywhere}
.v2 .acc-more{border-top:1px solid var(--line);margin-top:14px}
.v2 .acc-more summary{min-height:48px;display:flex;align-items:center;font-size:14px;color:var(--accent);cursor:pointer}

/* Συγκατάθεση, παραστατικό, βοήθεια, υποσέλιδο */
.v2 .pay-consent{display:flex;align-items:flex-start;gap:12px;margin-top:14px;font-size:14px;color:#c9cfd4;cursor:pointer}
.v2 .pay-consent span{line-height:1.6}
/* 🔴 1.5.1 — Παραστατικό ως segmented control. Πριν ήταν σύνδεσμος 141×19px («Χρειάζομαι τιμολόγιο»)·
   κάτω από το όριο των 44px, με αποτέλεσμα λάθος παραστατικά. Δουλεύει ΧΩΡΙΣ JS (radio + :checked). */
.v2 .pay-doc{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.v2 .pay-doc-q{font-size:14px;color:var(--muted)}
.v2 .seg{display:flex;gap:8px;margin-top:10px}
.v2 .seg-b{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 10px;
  border:1px solid var(--line);background:#181e23;font-size:15px;font-weight:600;text-align:center;cursor:pointer}
.v2 #doc-receipt:checked~.seg [data-pay-doc=receipt],.v2 #doc-invoice:checked~.seg [data-pay-doc=invoice]{
  border-color:var(--orange);background:#20282e;color:var(--ink)}
.v2 #doc-receipt:focus-visible~.seg [data-pay-doc=receipt],.v2 #doc-invoice:focus-visible~.seg [data-pay-doc=invoice]{
  outline:3px solid var(--accent);outline-offset:3px}
.v2 .pay-doc-hint{margin-top:10px!important;font-size:13px;color:var(--muted)}
.v2 #doc-invoice:checked~.pay-doc-hint{display:none}
.v2 .pay-doc a,.v2 .pay-help a,.v2 .pay-foot-note a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.v2 .pay-invoice-fields{display:none;margin-top:14px}
.v2 #doc-invoice:checked~.pay-invoice-fields{display:block}
.v2 .pay-invoice-fields .field+.field{margin-top:12px}
/* Το κουμπί αποθήκευσης δείχνει ΜΟΝΟ όταν υπάρχει κάτι να αποθηκευτεί: όταν ζητείται τιμολόγιο, ή όταν
   ο πελάτης γυρίζει σε απόδειξη ενώ είχε αποθηκευμένο τιμολόγιο. Αλλιώς είναι μια ενέργεια που περισσεύει. */
.v2 .seg-save{display:none;margin-top:14px}
.v2 #doc-invoice:checked~.seg-save{display:inline-flex}
.v2 .pay-doc[data-saved=invoice] #doc-receipt:checked~.seg-save{display:inline-flex}
/* 1.6.9 — τιμολόγιο με ΜΟΝΟ ΑΦΜ: κουμπιά μέσα στο μπλοκ τιμολογίου, κάρτα επιβεβαίωσης, χειροκίνητη συμπλήρωση */
.v2 .pay-invoice-fields .seg-save{display:inline-flex}
.v2 #doc-invoice:checked~.pay-receipt-save{display:none}
.v2 .pay-afm-card{margin-top:14px;padding:12px 14px;border-left:2px solid var(--orange);background:var(--panel)}
.v2 .pay-afm-card.is-warn{border-left-color:#e0a84a}
.v2 .pay-afm-card dl{margin:8px 0 0}
.v2 .pay-afm-card dl>div{display:flex;gap:10px;padding:4px 0;font-size:14px}
.v2 .pay-afm-card dt{min-width:132px;opacity:.75}
.v2 .pay-afm-card dd{margin:0;font-weight:600}
.v2 .pay-afm-warn{margin-top:10px;font-size:14px;color:#f2d3a6}
.v2 .pay-afm-manual{margin-top:14px}
.v2 .pay-afm-manual summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px}
.v2 .pay-afm-manual .field+.field{margin-top:12px}
.v2 .pay-flash.is-warn{border-left-color:#e0a84a;color:#f2d3a6}
/* «Τι ακολουθεί» — τρία βήματα και ΠΡΟΣΩΠΟ· γεμίζει με ουσία το κενό που έδειχνε «η σελίδα χάλασε». */
.v2 .pay-steps{margin-top:22px!important;padding:16px;border:1px solid var(--line);background:#151b20}
.v2 .pay-steps h2{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--muted);margin:0 0 10px}
.v2 .pay-steps ol{margin:0;padding-left:22px;font-size:14px;line-height:1.65;color:#c9cfd4}
.v2 .pay-steps li+li{margin-top:6px}
.v2 .pay-steps strong{color:var(--ink);font-weight:600}
.v2 .pay-help{margin-top:22px!important;font-size:14px;color:var(--muted)}
/* Στόχοι αφής ≥44px και στους «μικρούς» συνδέσμους (όροι, τηλέφωνο): μετρημένα 113×35 και 80×37. */
.v2 .pay-help a,.v2 .pay-foot-note a{display:inline-flex;align-items:center;min-height:44px}
.v2 .pay-foot-note{font-size:13px;color:var(--muted)}
/* Η υποσημείωση της Viva μόνο όταν είναι επιλεγμένη κάρτα ή IRIS. */
.v2 .only-online{display:none}
.v2 #m-card:checked~.pay-main .only-online,.v2 #m-iris:checked~.pay-main .only-online{display:inline}
.v2 .pay-empty{font-size:15px;color:var(--muted)}
.v2 .pay-flash{padding:12px 14px;border-left:2px solid var(--orange);background:var(--panel);font-size:14px}
.v2 .pay-flash.is-error{border-left-color:#e0674a;color:#f2b7a6}

/* Sticky footer: το σύνολο αριστερά, το κουμπί δεξιά — πάντα στην οθόνη */
.v2 .pay-bar{position:sticky;bottom:0;z-index:30;
  padding-bottom:env(safe-area-inset-bottom);background:#14191e;border-top:1px solid var(--line)}
.v2 .pay-bar-in{display:flex;align-items:center;gap:14px;width:min(620px,100%);margin-inline:auto;
  padding:10px 16px;min-height:64px}
.v2 .pay-bar-sum{display:flex;flex-direction:column;line-height:1.25}
.v2 .pay-bar-sum span{font-size:13px;color:var(--muted)}
.v2 .pay-bar-sum strong{font-size:19px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.v2 .pay-bar-cta{margin-left:auto}
.v2 .pay-bar .button{min-height:48px;padding:12px 18px;text-align:center}
.v2.pay-app .button{font-size:14px}
.v2.pay-app label.field{font-size:14px}
.v2.pay-app small{font-size:13px}
@media(max-width:420px){
.v2 .pay-bar-in{gap:10px;padding-inline:14px}
.v2 .pay-bar .button{padding:12px 14px;font-size:13px}
.v2 .pay-main,.v2 .pay-head-in{padding-inline:14px}
}
@media print{.v2 .pay-bar,.v2 .pay-head,.v2 .m-form,.v2 .acc-copy,.v2 .pay-doc{display:none!important}}

/* 1.5.0 — sticky μπάρα «επόμενο βήμα» στη ΣΕΛΙΔΑ ΠΡΟΣΦΟΡΑΣ (η πληρωμή δεν κρύβεται πια στο τέλος) */
.v2 .pay-next{position:sticky;bottom:0;z-index:25;background:#14191e;border-top:1px solid var(--orange)}
.v2 .pay-next.is-paid{border-top-color:#4d7a5f}
.v2 .pay-next-in{display:flex;align-items:center;gap:14px;padding:10px 0;padding-bottom:calc(10px + env(safe-area-inset-bottom));min-height:62px;font-size:13px;color:var(--muted)}
.v2 .pay-next-t strong{color:var(--green);font-weight:600;margin-right:6px}
.v2 .pay-next .button{margin-left:auto;min-height:48px;white-space:nowrap}
@media(max-width:420px){.v2 .pay-next-in{gap:10px;font-size:12px}.v2 .pay-next .button{padding:12px 14px;font-size:13px}}
@media print{.v2 .pay-next{display:none!important}}

/* 🔴 Το `.v2` κρατά padding-bottom 125px στο κινητό για τη ΔΙΚΗ ΤΟΥ σταθερή μπάρα ενεργειών (γραμμή 322).
   Το κέλυφος της πληρωμής δεν έχει τέτοια μπάρα — το padding πρόσθετε 125px κενό κάτω από το footer. */
.v2.pay-app{padding-bottom:0}
/* Στη σελίδα προσφοράς, όσο δείχνει η μπάρα «επόμενο βήμα», η παλιά σταθερή μπάρα ενεργειών του κινητού
   δεν ανταγωνίζεται: ΕΝΑ κύριο κουμπί στην οθόνη. Χωρίς :has() (παλιά Safari) μένουν και οι δύο, στοιβαγμένες. */
@media(max-width:700px){
.v2.has-pay-bar .actions{position:static;background:transparent;backdrop-filter:none}
.v2.has-pay-bar{padding-bottom:0}
}

/* 1.6.8 — μετά την πληρωμή → φόρμα TAXISnet: «Επόμενο βήμα» στη σελίδα πληρωμής */
.v2 .pay-state .pay-next-step{font-weight:600;margin-top:18px}

/* 1.7.0 — ΣΕΛΙΔΑ ΑΠΟΔΟΧΗΣ: ίδιο κέλυφος με τη σελίδα πληρωμής (.pay-app). Εδώ ΜΟΝΟ ό,τι είναι δικό της. */
.v2 .pay-back-accept{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.v2 .accept-kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--green)}
.v2 .accept-tick{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#192b24;border:1px solid #426a55;font-size:12px}
.v2 .pay-main>.accept-title{margin-top:8px}
.v2 .accept-title{font-size:clamp(22px,5.6vw,28px);font-weight:600;letter-spacing:-.03em;line-height:1.3;overflow-wrap:anywhere}
.v2 .accept-sum{margin:18px 0 0;border-top:1px solid var(--line)}
.v2 .accept-sum>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.v2 .accept-sum dt{flex:none;margin:0;font-size:14px;color:var(--muted)}
.v2 .accept-sum dd{margin:0;min-width:0;text-align:right;font-size:15px;overflow-wrap:anywhere}
.v2 .accept-sum .accept-amount{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.v2 .accept-sum a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.v2 .accept-doc{display:flex;flex-wrap:wrap;gap:10px}
.v2 .accept-doc>.button,.v2 .accept-doc .accept-pdf-form{flex:1 1 180px}
.v2 .accept-doc .accept-pdf-form .button{width:100%}
.v2 .accept-doc .button{min-height:48px;font-size:14px}
.v2 .accept-state{margin-top:22px!important;padding-top:18px;border-top:1px solid var(--line)}
.v2 .accept-state h2{font-size:clamp(19px,4.6vw,22px);font-weight:600;letter-spacing:-.02em;margin-bottom:8px}
.v2 .accept-state.is-done h2{color:var(--green)}
.v2 .accept-sum+.pay-break{border-top:0;margin-top:0!important}
