/* Όσα χρειάζονται οι σελίδες που δεν υπάρχουν στη μακέτα v1b. Ίδια tokens με το base.css. */
/* Αντίθεση 4,5:1 στα δύο κείμενα που στη μακέτα έβγαιναν 3,6:1 (WCAG 1.4.3, έλεγχος 06/11). */
html[data-theme="light"] .contact-row dt{color:#5F5B5A}
.site-footer .credits{color:#5F5B5A;opacity:1}
.gw-credit{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#5F5B5A}
.gw-credit img{display:block}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--white);color:var(--black);padding:12px 18px}
.skip-link:focus{left:12px;top:12px}
main.inner{padding-top:var(--header-h,96px)}
.page-hero{padding:calc(var(--section-pad)*.55) 0}
.page-hero .h-section{margin-bottom:12px}
.page-hero + section{padding-top:calc(var(--section-pad)*.6)}
.prop-hero .h-section{text-transform:none}
.page-hero-cta{margin-top:26px}
.split-cta{margin-top:28px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--fs-meta);margin-bottom:16px}
.crumbs a{color:var(--blue-dark)}
.prop-price{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--blue-dark)}
.prop-main{padding-top:calc(var(--section-pad)*.6)}
.prop-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:48px;align-items:start}
.prop-side{position:sticky;top:calc(var(--header-h,96px) + 20px);background:var(--gray-soft);border-radius:var(--radius-media);padding:28px}
.prop-h{font-family:var(--font-display);font-size:clamp(22px,2.2vw,28px);font-weight:var(--h-weight);color:var(--black);margin:0 0 16px}
.prop-side .prop-h{font-size:20px}
.prop-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(35,31,32,.14)}
.prop-facts>div:last-child{border-bottom:none}
.prop-facts dt{font-size:var(--fs-body-sm);color:rgba(35,31,32,.78)}
.prop-facts dd{font-weight:700;text-align:right;color:var(--black);margin:0}
.prop-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:40px}
.prop-gallery a{display:block;overflow:hidden;border-radius:calc(var(--radius-media)*.5);aspect-ratio:4/3}
.prop-gallery a:first-child{grid-column:1/-1;aspect-ratio:16/9}
.prop-gallery.single a:first-child{aspect-ratio:auto}
.prop-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.prop-gallery.single img{height:auto}
.prop-gallery a:hover img{transform:scale(1.03)}
.prop-gallery a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.prop-body{font-size:var(--fs-lead);line-height:1.72;color:var(--black)}
.prop-contact{grid-template-columns:minmax(0,760px);justify-content:center}
.legal{max-width:860px}
.legal p{margin-bottom:16px;line-height:1.72}
.legal h2{font-family:var(--font-display);font-size:22px;font-weight:var(--h-weight);color:var(--black);margin:30px 0 10px}
.legal h2:first-child{margin-top:0}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.req-form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;letter-spacing:0;font-size:15px;line-height:1.5}
.req-form .consent input{width:auto;flex:none;margin-top:4px}
.req-form .consent a{color:var(--blue-dark);text-decoration:underline}
.req-form .is-invalid input,.req-form .is-invalid select,.req-form .is-invalid textarea,.req-form input[aria-invalid="true"]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.req-form .consent.is-invalid{color:#B3261E}
.form-msg{font-weight:700;padding:12px 14px;border-radius:10px}
.form-msg.ok{background:#E7EEDC;color:#2E3A12}
.form-msg.err{background:#FBE9E7;color:#8C1D18}
.form-msg[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(20,18,18,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lightbox button{position:absolute;background:rgba(255,255,255,.14);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.lightbox button:hover,.lightbox button:focus-visible{background:rgba(255,255,255,.3)}
.lb-close{top:14px;right:14px}
.lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.lb-next{right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:900px){
  .utilbar{display:none} /* στη μακέτα τη γέμιζε μόνο η ένδειξη Draft */
  .prop-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .prop-side{position:static}
  .prop-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lightbox{padding:64px 12px}
}
