/* Avraam's Floors · θέμα χωρίς page builder.
   Αποστάσεις/μεγέθη όπως το παλιό site (Astra + Elementor, Οκτώβριος 2026). */

:root {
	--brown: #927359;
	--sand: #dab092;
	--paper: #f6f8f5;
	--dark: rgba(0, 0, 0, .89);
	--fh: Merriweather, serif;
	--fb: Inter, sans-serif;
	--wrap: 1140px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: rgba(82, 104, 64, .75); font: 400 17px/1.7 var(--fb); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--fh); font-weight: 700; line-height: 1.3; }
p { margin: 0 0 .75em; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 1000; background: #fff; color: #000; padding: 10px 16px; left: 8px; top: 8px; }
:focus-visible { outline: 2px solid var(--brown); outline-offset: 2px; }

.btn { display: inline-block; padding: 17px 40px; border: 0; border-radius: 4px; background: var(--brown); color: #fff; font: 400 14px/1 var(--fb); text-align: center; cursor: pointer; transition: background .3s; }
.btn:hover, .btn:focus { background: #7a5e48; color: #fff; }
.btn--lg { font-size: 16px; }

/* ---------- Header ---------- */
.site-header { position: relative; z-index: 3; display: flex; align-items: stretch; gap: 10px; padding: 10px; background: var(--dark); }
.site-header__logo { width: 30%; display: flex; align-items: center; justify-content: flex-end; }
.site-header__logo img { width: 200px; height: 60px; object-fit: contain; }
.site-header__nav { flex: 1; display: flex; align-items: center; justify-content: center; }
.site-header__end { width: 22.9%; }
.menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.menu > li { display: flex; align-items: center; margin: 0 5px; }
.menu > li:not(:last-child)::after { content: ""; height: 19.6px; border-left: 2px solid var(--brown); margin-left: 5px; margin-right: -5px; }
.menu a { position: relative; display: block; padding: 18px 31px; font: 500 18px/20px var(--fb); text-transform: uppercase; color: #fff; }
.menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--brown); opacity: 0; transition: opacity .3s; }
.menu a:hover::after, .menu a:focus::after, .menu .current-menu-item > a::after { opacity: 1; }
.menu-toggle { display: none; }

/* ---------- Αρχική: hero ---------- */
.hero { position: relative; display: flex; align-items: center; justify-content: center; min-height: 1440px; padding-top: 50px; background: #000 var(--bg-lg, var(--bg)) bottom center / cover no-repeat; }
.hero::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .66); }
.hero__inner { position: relative; width: var(--wrap); max-width: 100%; padding: 10px; text-align: center; }
.hero__title { margin: 0 0 -40px; font: 700 80px/1.4 var(--fh); letter-spacing: -3px; color: #fff; }
.hero__line { width: 72%; height: 2px; margin: 35px auto 15px; background: var(--sand); }
.hero__subtitle { margin: -20px 0 0; font: 700 60px/1.4 var(--fh); letter-spacing: -3px; color: #fff; }
.hero__text { margin: 0; padding-top: 0; font: 400 20px/24px var(--fb); color: var(--sand); }
.hero .btn { margin-top: 30px; }

/* ---------- Υπηρεσίες ---------- */
.services { padding: 80px 0; }
.services__title { width: var(--wrap); max-width: 100%; margin: 0 auto; padding: 0 10px; font: 700 40px/1.3 var(--fh); letter-spacing: -2px; color: #000; text-align: center; }
.services__line { width: 336px; max-width: 30%; height: 3px; margin: 20px auto 0; background: var(--brown); }
.services__grid { display: grid; grid-template-columns: repeat(3, 1fr); width: calc(var(--wrap) - 20px); max-width: 100%; margin: 20px auto 0; padding-top: 25px; }
.svc { padding: 15px; }
.svc img { width: 100%; aspect-ratio: 343 / 229; object-fit: cover; border-radius: 2px; margin-bottom: 20px; }
.svc__title { margin-bottom: 9px; padding: 6px 10px 0; font: 700 20px/26px var(--fh); color: #000; }
.svc__text { margin: 0; padding: 0 10px; color: #000; }

/* ---------- Λωρίδες φωτογραφιών ---------- */
.band { min-height: 200px; background: center / cover no-repeat; }
.band--pattern { min-height: 240px; background-color: var(--paper); background-position: bottom center; }
.band:not(.band--pattern):not(.band--last) { background-repeat: repeat; }

/* ---------- Σχετικά ---------- */
.about { display: flex; align-items: center; width: var(--wrap); max-width: 100%; margin: 0 auto; padding: 50px 0; }
.about__text { width: 60%; padding: 10px 250px 10px 25px; }
.about__kicker { margin: 0 0 20px; font: 400 12px/2.4 var(--fb); color: #000; }
.about__title { margin: -10px 0 20px; font: 400 40px/44px Forum, serif; letter-spacing: -2px; color: #000; }
.about__body { padding: 20px 0; font-size: 16px; line-height: 26px; color: #000; }
.about__body p { margin: 0; }
.about__media { width: 40%; padding: 26px; display: flex; justify-content: center; }
.about__media img { height: 400px; width: auto; border-radius: 2px; }

/* ---------- Ερωτήσεις ---------- */
.faq { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 480px; padding: 10px; text-align: center; background: #fff; }
.faq__title { margin-top: -10px; font: 700 40px/44px var(--fh); letter-spacing: -2px; color: #000; }
.faq__text { width: 1120px; max-width: 100%; margin: 25px 0 45px; padding: 0 336px; font-size: 17px; line-height: 32px; color: #000; }

/* ---------- Πάνω μέρος εσωτερικών σελίδων ---------- */
.phero { position: relative; display: flex; align-items: center; justify-content: center; min-height: 400px; background: #000 var(--bg-lg, var(--bg)) bottom center / cover no-repeat; }
.phero::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .1); }
.phero__title { position: relative; padding: 0 10px 30px; font: 700 76px/1.4 var(--fh); letter-spacing: -3px; color: #fff; text-align: center; }
.phero--contact { min-height: 420px; }

/* ---------- Έργα (Modula) ---------- */
.works { width: calc(var(--wrap) + 20px); max-width: 100%; margin: 0 auto; padding: 10px; }

/* ---------- Επικοινωνία ---------- */
.contact { display: flex; width: var(--wrap); max-width: 100%; margin: 0 auto; padding: 120px 0; }
.contact__info { width: 50%; padding: 0 50px; }
.contact__form { width: 50%; padding: 0 50px 0 0; }
.contact__title { margin-bottom: 20px; padding-bottom: 15px; font: 400 40px/48px Forum, serif; letter-spacing: -2px; color: #000; }
.cbox { padding-bottom: 15px; margin-bottom: 20px; }
.cbox__label { margin-bottom: 5px; font: 700 14px/18px var(--fh); color: #000; }
.cbox__value { margin: 0; font-size: 18px; line-height: 30px; color: #000; }
.cbox__value a { color: inherit; }
.contact .social { gap: 12px; justify-content: flex-start; }
.contact .social a { width: 46px; height: 46px; border-radius: 50%; }
.contact .social svg { width: 22px; height: 22px; }
.contact-band { min-height: 141px; padding: 70px 50px; background: var(--paper); }
.cform { display: flex; flex-direction: column; gap: 10px; }
.cform__field label { display: block; font-size: 17px; line-height: 28.9px; color: #000; }
.cform input, .cform textarea { width: 100%; min-height: 46px; padding: 11.25px; border: 1px solid #69727d; border-radius: 2px; background: #fff; font: 400 15px/21px var(--fb); color: #1f2124; }
.cform textarea { min-height: 96px; padding: 5px 14px; border-radius: 3px; resize: vertical; }
.cform input:focus, .cform textarea:focus { outline: 0; border-color: var(--brown); box-shadow: 0 0 0 1px var(--brown); }
.cform .is-invalid { border-color: #d63638; }
.cform__button { width: 100%; }
.cform__msg { font-size: 15px; color: #000; }
.cform__msg:empty { display: none; }
.cform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Social ---------- */
.social { list-style: none; display: flex; justify-content: center; margin: 0; padding: 0; }
.social a { display: flex; align-items: center; justify-content: center; background: var(--brown); color: #fff; transition: background .3s, color .3s; }
.social svg { fill: currentColor; }

/* ---------- Footer ---------- */
.site-footer__top { display: flex; justify-content: center; gap: 10px; padding: 70px 0; background: var(--dark); }
.site-footer__social { width: calc(var(--wrap) * .49); margin-right: 80px; padding: 10px; display: flex; align-items: center; justify-content: center; }
.site-footer__social .social { gap: 20px; padding-top: 20px; }
.site-footer__social .social a { width: 50.6px; height: 50.6px; border-radius: 10%; }
.site-footer__social .social a:hover { background: #fff; color: #001c38; }
.site-footer__social .social svg { width: 23px; height: 23px; }
.site-footer__contact { width: calc(var(--wrap) * .49); padding: 10px; display: flex; align-items: center; justify-content: flex-start; gap: 20px; }
.site-footer__title { font: 500 20px/26px var(--fh); color: var(--brown); text-align: center; }
.phones { list-style: none; margin: 0; padding: 0; }
.phones li + li { margin-top: 22px; }
.phones a { display: flex; align-items: center; gap: 5px; font-size: 17px; line-height: 28.9px; color: #fff; }
.phones svg { width: 18px; height: 18px; fill: var(--brown); }
.site-footer__bottom { display: flex; justify-content: center; align-items: center; gap: 20px; min-height: 57px; padding: 10px; background: var(--brown); border-top: 1px solid rgba(255, 255, 255, .19); }
.site-footer__bottom span { font: 300 12px/1.3 var(--fh); color: #000; }
.site-footer__bottom a { font: 300 14px/1 var(--fb); color: #fff; }

/* ---------- Απλές σελίδες ---------- */
.doc { max-width: 900px; margin: 0 auto; padding: 80px 20px; color: #000; }
.doc__title { font: 700 40px/1.3 var(--fh); margin-bottom: 30px; }

/* ================= Tablet (≤1024) ================= */
@media (max-width: 1024px) {
	.site-header { padding: 10px; }
	.site-header__logo { width: 50%; justify-content: flex-start; }
	.site-header__end { display: none; }
	.site-header__nav { justify-content: flex-end; }
	.menu-toggle { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; padding: 0; border: 0; background: none; color: var(--brown); cursor: pointer; }
	.menu-toggle svg { width: 64px; height: 64px; fill: currentColor; }
	.menu-toggle .i-close { display: none; }
	.menu-toggle[aria-expanded="true"] .i-open { display: none; }
	.menu-toggle[aria-expanded="true"] .i-close { display: block; }
	.site-header__nav .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; background: var(--dark); }
	.site-header__nav .menu.is-open { display: flex; }
	.site-header__nav .menu > li { margin: 0; }
	.site-header__nav .menu > li::after { display: none; }
	.site-header__nav .menu a { padding: 18px 38px; }
	.site-header__nav .menu a::after { display: none; }
	.site-header__nav .menu a:hover, .site-header__nav .menu a:focus { background: var(--brown); }
	.site-header__nav .menu .current-menu-item > a { background: #bc6c2c; }
	.hero { min-height: 1000px; padding: 70px 0 10px; }
	.hero__title { font-size: 95px; letter-spacing: -2px; margin-top: -45px; }
	.hero__line { width: 100%; margin-top: -25px; }
	.hero__subtitle { font-size: 72px; letter-spacing: -2px; margin-top: -45px; }
	.hero__text { font-size: 18px; }
	.btn, .btn--lg { font-size: 16px; padding: 16px 32px; }
	.services__title { font-size: 38px; }
	.services__grid { padding-top: 20px; }
	.svc__text { font-size: 16px; }
	.band--pattern { min-height: 270px; }
	.about { padding: 70px 25px; }
	.about__text { width: 50%; padding: 10px 35px 10px 0; }
	.about__title { font-size: 35px; line-height: 40px; }
	.about__body { padding: 15px 0; }
	.about__media { width: 50%; padding: 0; }
	.faq { min-height: 370px; padding: 40px 10px; }
	.faq__title { font-size: 35px; line-height: 40px; }
	.faq__text { margin: 0 0 25px; padding: 0 20%; width: 100%; }
	.phero, .phero--contact { min-height: 330px; }
	.phero__title { padding-bottom: 0; }
	.contact { padding: 50px 15px; }
	.contact__info { width: 45%; padding: 20px 28px 0; }
	.contact__form { width: 55%; padding: 20px 28px 0; }
	.contact__title { font-size: 32px; }
	.cbox__label { font-size: 13px; margin-bottom: 10px; }
	.cbox__value { font-size: 17px; }
	.contact-band { padding: 60px 30px; }
	.site-footer__top { padding: 50px 20px; }
	.site-footer__social { width: 24%; margin-right: 15%; }
	.site-footer__social .social svg { width: 21px; height: 21px; }
	.site-footer__contact { width: 51.6%; padding: 0; }
	.site-footer__bottom { padding: 10px 20px; }
}

/* ================= Κινητό (≤767) ================= */
@media (max-width: 767px) {
	.site-header__logo { width: 50%; justify-content: center; }
	.site-header__logo img { width: 150px; height: 50px; }
	.site-header__nav { width: 46%; flex: none; justify-content: center; }
	.menu-toggle, .menu-toggle svg { width: 35px; height: 35px; }
	.menu-toggle { width: 52.5px; height: 52.5px; }
	.site-header__nav .menu a { padding: 36px 38px; }
	.hero { min-height: 673px; padding: 64px 0 0; background-position: center center; }
	.hero__inner { text-align: left; }
	.hero__title { margin: 0; font-size: 38px; letter-spacing: -2px; }
	.hero__line { width: 80%; margin: 5px 0 0; }
	.hero__subtitle { margin: 35px 0 0; padding: 0 0 20px; font-size: 30px; letter-spacing: 0; }
	.hero__text { margin-top: -5px; font-size: 20px; }
	.hero .btn { margin-top: 20px; }
	.btn, .btn--lg { font-size: 14px; padding: 15px 28px; }
	.services { padding: 60px 0; }
	.services__title { font-size: 34px; }
	.services__line { width: 20%; }
	.services__grid { grid-template-columns: 1fr; padding: 0 10px; }
	.svc { padding: 30px 15px 40px; }
	.band--pattern { min-height: 128px; }
	.band { min-height: 100px; }
	.about { flex-direction: column; padding: 50px 25px; }
	.about__text { width: 100%; padding: 10px 0; }
	.about__media { display: none; }
	.faq { min-height: 330px; padding: 32px 10px; }
	.faq__text { padding: 0 10%; font-size: 15px; }
	.contact .social { justify-content: center; }
	.phero__title { font-size: 54px; }
	.contact { flex-direction: column-reverse; padding: 40px 20px 70px; }
	.contact__info, .contact__form { width: 100%; padding: 0; text-align: center; }
	.contact__info { padding-top: 40px; }
	.contact__title { font-size: 36px; }
	.cbox__label { margin-bottom: 8px; }
	.contact .social { margin-top: 15px; }
	.contact .social svg { width: 20px; height: 20px; }
	.cform { text-align: left; }
	.contact-band { padding: 50px 0 60px; min-height: 111px; }
	.site-footer__top { flex-wrap: wrap; justify-content: center; align-items: center; gap: 0; padding: 35px 20px; }
	.site-footer__social { width: 48%; margin: 0; padding: 0; min-height: 67px; }
	.site-footer__social .social { gap: 40px; padding-top: 0; }
	.site-footer__social .social a { width: 37.2px; height: 37.2px; }
	.site-footer__social .social svg { width: 30px; height: 30px; }
	.site-footer__contact { width: 100%; flex-direction: column; justify-content: center; gap: 10px; padding: 10px 0 0; }
	.site-footer__title { font-size: 22px; }
	.phones li + li { margin-top: 0; }
	.site-footer__bottom { flex-wrap: wrap; gap: 20px; padding: 30px 20px 20px; text-align: center; }
	.site-footer__bottom a { line-height: 19px; }
}
